using Autofac;
|
using Rhea.Common;
|
using SqlSugar;
|
using Sundial;
|
using System;
|
using System.Collections.Generic;
|
using System.Drawing.Drawing2D;
|
using System.Linq;
|
using System.Text;
|
using System.Threading;
|
using System.Threading.Tasks;
|
using Tiger.IBusiness;
|
using Tiger.Model;
|
using Tiger.Model.Entitys.WMS.DTOS;
|
using Tiger.Model.Minsun;
|
|
namespace Tiger.Business.WMS
|
{
|
/// <summary>
|
/// 领料单定时过账
|
/// </summary>
|
public class ProdMaterialReqToErpJob : TigerJobBase, ITigerJob
|
{
|
public string Id { get; set; } = Guid.NewGuid().ToString("N");
|
public string Tag { get; set; } = "Receipt Header To Erp Interface Job";
|
public string Name { get; set; } = "Receipt Header To Erp Interface Job";
|
/// <summary>
|
/// 执行任务
|
/// </summary>
|
/// <param name="context"></param>
|
/// <param name="stoppingToken"></param>
|
/// <returns></returns>
|
public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
|
{
|
try
|
{
|
Logger.Scheduler.Info(context.Trigger.ConvertToMonitor());
|
List<BIZ_ERP_PROD_OUT> prodoutList = Biz.Db.Queryable<BIZ_ERP_PROD_OUT>().Where(x => x.HANDLED > 0 && x.HANDLED < 6 && SqlFunc.IsNullOrEmpty(x.ERP_BILL_CODE)).ToList();
|
if (prodoutList.Count > 0)
|
{
|
foreach (var item in prodoutList)
|
{
|
Logger.Scheduler.Info($"领料单[{item.BILLCODE}]定时过账开始。");
|
MReqPostParam mRegPostParam = new()
|
{
|
BillCode = item.BILLCODE,
|
CompanyId = item.AUTH_ORG
|
};
|
DI.Resolve<IiWMS>().MaterialReqToErpNew(mRegPostParam);
|
}
|
}
|
}
|
catch (System.Exception ex)
|
{
|
Logger.Scheduler.Fatal(ex, "领料单过账异常");
|
}
|
await Task.CompletedTask;
|
}
|
}
|
|
}
|