From 82149871f30f4564d84272649352496a2ab0a38e Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 23 十月 2025 17:12:52 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs |   50 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 44 insertions(+), 6 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs"
index 2e84e57..78c4035 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs"
@@ -30,10 +30,11 @@
         private readonly ISys_ConfigService _configService;
         private readonly ILocationInfoRepository _locationRepository;
         private readonly IDt_InboundOrderRepository _inboundOrderRepository;
+        private readonly IDt_OutboundOrderRepository _outboundorderRepository;
 
         private Timer _timer;
 
-        public MyBackgroundService(ILogger<MyBackgroundService> logger, ILocationInfoRepository locationRepository, IStockInfoRepository stockInfoRepository, IDt_AreaInfoRepository areaInfoRepository, IDt_TaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService,IDt_InboundOrderRepository inboundOrderRepository)
+        public MyBackgroundService(ILogger<MyBackgroundService> logger, ILocationInfoRepository locationRepository, IStockInfoRepository stockInfoRepository, IDt_AreaInfoRepository areaInfoRepository, IDt_TaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService,IDt_InboundOrderRepository inboundOrderRepository, IDt_OutboundOrderRepository outboundorderRepository)
         {
             _logger = logger;
             _locationRepository = locationRepository;
@@ -43,6 +44,7 @@
             _stationManagerRepository = stationManagerRepository;
             _configService = configService;
             _inboundOrderRepository = inboundOrderRepository;
+            _outboundorderRepository = outboundorderRepository;
         }
 
         public Task StartAsync(CancellationToken cancellationToken)
@@ -55,8 +57,8 @@
         {
             try
             {
+                #region 鍏ュ簱鍗曟嵁鍚屾
                 List<WMS_閲囪喘鍏ユ垚鍝佸叆搴撹嚜鍔ㄦ墦鍗版竻鍗昣ST> ERPPrintChecklist =SqlSugarHelper.DBERP.Queryable<WMS_閲囪喘鍏ユ垚鍝佸叆搴撹嚜鍔ㄦ墦鍗版竻鍗昣ST>().Where(x => true).ToList();
-
                 
                 var printCheckList = _inboundOrderRepository.QueryData(x => true);
                 List<Dt_InboundOrder> inboundOrderAdd = new List<Dt_InboundOrder>();
@@ -68,7 +70,7 @@
                     {
                         Dt_InboundOrder Print = new Dt_InboundOrder()
                         {
-                            OrderNo = GetOrderPintCode(),
+                            OrderNo = GetOrderPintCode("OrderNoIn"),
                             UpperOrderNo = item.鍗曞彿,
                             DemandClassification = item.闇�姹傚垎绫�,
                             OrderType = item.鍗曟嵁绫诲瀷,
@@ -92,7 +94,7 @@
                     {
                         if (x.OrderNo == null || x.OrderNo == "")
                         {
-                            x.OrderNo = GetOrderPintCode();
+                            x.OrderNo = GetOrderPintCode("OrderNoIn");
                             x.UpperOrderNo = item.鍗曞彿;
                             x.DemandClassification = item.闇�姹傚垎绫�;
                             x.OrderType = item.鍗曟嵁绫诲瀷;
@@ -120,6 +122,42 @@
                 {
                     _inboundOrderRepository.UpdateData(inboundOrderUpdate);
                 }
+                #endregion
+
+                var OutBoundOrder = _outboundorderRepository.QueryData(x => true);
+                List<Dt_OutboundOrder> outboundOrderAdd = new List<Dt_OutboundOrder>();
+                List<Dt_OutboundOrder> outboundOrderUpdate = new List<Dt_OutboundOrder>();
+
+                #region ERP鐢熶骇棰嗘枡鍗曞悓姝�
+                List<WMS_鐢ㄥ弸宸ョ▼鍙戣揣鍗曚竴瑙堣〃_ST> ERPMaterialRequisition = SqlSugarHelper.DBERP.Queryable<WMS_鐢ㄥ弸宸ョ▼鍙戣揣鍗曚竴瑙堣〃_ST>().Where(x => true).ToList();
+                foreach (var item in ERPMaterialRequisition)
+                {
+                    var x = OutBoundOrder.Where(x => x.MaterielCode == item.瀛愪欢鏂欏彿 && x.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
+                    if(x == null)
+                    {
+                        Dt_OutboundOrder outOrder = new Dt_OutboundOrder()
+                        {
+                            OrderNo = GetOrderPintCode("OrderNoOut"),
+                            UpperOrderNo = item.鍗曞彿,
+                            MaterielCode = item.瀛愪欢鏂欏彿,
+                            MaterielName = item.瀛愪欢鍝佸悕,
+                            DemandClassification = item.闇�姹傚悕绉�,
+                            OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
+                            OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
+                            NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
+                            OrderStatus =(int)OrderStateEmun.鏈紑濮�,
+                            OrderType =(int)OrderTypeEmun.鐢熶骇棰嗘枡鍗�,
+                            CreateType =(int)OrderCreateTypeEmun.ERP鎺ㄩ��,
+                        };
+                        outboundOrderAdd.Add(outOrder);
+                    }
+                }
+
+                #endregion
+                if (outboundOrderAdd.Count > 0)
+                {
+                    _outboundorderRepository.AddData(outboundOrderAdd);
+                }
             }
             catch (Exception ex)
             {
@@ -127,10 +165,10 @@
             }
         }
 
-        public string GetOrderPintCode()
+        public string GetOrderPintCode(string printCode)
         {
             string PrintCode = "";
-            var PrintSetting = SqlSugarHelper.DbWMS.Queryable<Dt_PrintSetting>().Where(x => x.PrintCode == "OrderNo").ToList().FirstOrDefault();
+            var PrintSetting = SqlSugarHelper.DbWMS.Queryable<Dt_PrintSetting>().Where(x => x.PrintCode == printCode).ToList().FirstOrDefault();
 
             if (PrintSetting.Spare1 == DateTime.Now.ToString("yyyyMMdd"))
             {

--
Gitblit v1.9.3