From d42ad8b01195def2a9309930e14f90ff13ad47b1 Mon Sep 17 00:00:00 2001
From: 杨前锦 <1010338399@qq.com>
Date: 星期四, 19 六月 2025 17:24:28 +0800
Subject: [PATCH] 印尼佳通出入库策略优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/Monitor.cs |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/Monitor.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/Monitor.cs
index 889f4cc..9436f87 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/Monitor.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/Monitor.cs
@@ -266,17 +266,17 @@
         public static void UpdateInventoryRegularly()
         {
             var db = new SqlHelper<object>().GetInstance();
+            var areaCodeList = Settings.areaPropertyList.Select(a => a.areaCode).ToList();
             var locations = db.Queryable<Location>()
-                .LeftJoin<LjLotOnhand>((a, b) => a.S_CODE == b.STORAGE_LOCATION)
-                .LeftJoin<LocCntrRel>((a, b, c) => a.S_CODE == c.S_LOC_CODE)
-                .Where((a, b, c) => b.PALLET_ID != c.S_CNTR_CODE)
+                .LeftJoin<LocCntrRel>((a, b) => a.S_CODE == b.S_LOC_CODE)
+                .Where((a,b) => a.N_CURRENT_NUM > 0 && b.S_CNTR_CODE != null && areaCodeList.Contains(a.S_AREA_CODE) )
                 .ToList();
 
             foreach (var loc in locations)
             {
                 var lotOnhand = db.Queryable<LjLotOnhand>().Where(a => a.STORAGE_LOCATION == loc.S_CODE).First();
                 if (lotOnhand != null) { 
-                    db.Deleteable(lotOnhand).ExecuteCommand();
+                    db.Deleteable<LjLotOnhand>().Where(a => a.ID == lotOnhand.ID).ExecuteCommand();
                 }
 
                 var locCntrRels = LocationHelper.GetLocCntr(loc.S_CODE);
@@ -289,16 +289,19 @@
                             var material = WMSHelper.GetMaterial(cntrItem.S_ITEM_CODE);
                             LjLotOnhand ljLotOnhand = new LjLotOnhand()
                             {
+                                ID = WMSHelper.GenerateStockRecordNo(),
                                 MATERIAL_CODE = cntrItem.S_ITEM_CODE,
                                 LOT_NAME = cntrItem.S_BATCH_NO,
                                 PALLET_ID = cntrItem.S_CNTR_CODE,
                                 STORAGE_LOCATION = loc.S_CODE,
                                 QC_STATUS = cntrItem.S_ITEM_STATE,
-                                UNIT = material.S_UNIT,
+                                UNIT = material == null ? "":material.S_UNIT,
                                 QTY = cntrItem.F_QTY,
-                                IN_DATE = cntrItem.T_INBOUND_TIME,
+                                IN_DATE = cntrItem.T_INBOUND_TIME.ToString("yyyy-MM-dd"),
+                                CREATION_DATE = DateTime.Now,
+                                WAREHOUSE_TYPE = "2"
                             };
-                            db.Insertable(lotOnhand).ExecuteCommand();
+                            db.Insertable(ljLotOnhand).ExecuteCommand();
                         }
                     });
                 }

--
Gitblit v1.9.1