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; } } }