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
{
///
/// 领料单定时过账
///
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";
///
/// 执行任务
///
///
///
///
public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
{
try
{
Logger.Scheduler.Info(context.Trigger.ConvertToMonitor());
List prodoutList = Biz.Db.Queryable().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().MaterialReqToErpNew(mRegPostParam);
}
}
}
catch (System.Exception ex)
{
Logger.Scheduler.Fatal(ex, "领料单过账异常");
}
await Task.CompletedTask;
}
}
}