服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
5 天以前 beca28ecb3a730ffb33c21e0c55c729774725faf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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;
        }
    }
 
}