From 59f836bf0eb00b7707c74fe8edb8fa7662c871ab Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期二, 27 五月 2025 17:22:42 +0800
Subject: [PATCH] 合肥佳通优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs |   41 +++++++++++++++++++++++++++++++----------
 1 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs
index 4f6d9a9..4c08b0a 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs
@@ -37,7 +37,7 @@
                 //鍒濆鍖朙ocationExt鍔犲叆鍒伴泦鍚堢紦瀛�                 LocationExts = new Dictionary<string, LocationExt>();
                 var exts = GetAllLocExtList();
-             //   LogHelper.Info($"鑾峰彇璐т綅鎵╁睍琛ㄤ俊鎭細{JsonConvert.SerializeObject(exts)}");
+                //   LogHelper.Info($"鑾峰彇璐т綅鎵╁睍琛ㄤ俊鎭細{JsonConvert.SerializeObject(exts)}");
                 if (exts.Count > 0)
                 {
                     exts.ForEach(a =>
@@ -204,13 +204,23 @@
         {
             List<Location> locs;
             var db = new SqlHelper<object>().GetInstance();
-
             var queryable = db.Queryable<Location>()
-                    .LeftJoin<LocCntrRel>((a, b) => a.S_CODE == b.S_LOC_CODE)
-                    .LeftJoin<CntrItemDetail>((a, b, c) => b.S_CNTR_CODE == c.S_CNTR_CODE)
-                    .Where((a, b, c) => a.N_CURRENT_NUM > 0 && a.N_LOCK_STATE == 0 && a.S_AREA_CODE == areaCode && c.S_ITEM_CODE == ItemCode);
+      .LeftJoin<LocCntrRel>((a, b) => a.S_CODE == b.S_LOC_CODE)
+      .LeftJoin<CntrItemDetail>((a, b, c) => b.S_CNTR_CODE == c.S_CNTR_CODE)
+      .Where((a, b, c) => a.N_CURRENT_NUM > 0 && a.N_LOCK_STATE == 0 && a.S_AREA_CODE == areaCode );
+            //鍏綅鐮佸尮閰嶅墠鍏綅锛屽叾浠栫殑鍏ㄩ儴閰嶇疆
+            if (ItemCode.Count() == 6)
+            {
+                queryable = queryable.Where((a, b, c) => c.S_ITEM_CODE.StartsWith(ItemCode));
+          
+            }
+            else
+            {
+                queryable = queryable.Where((a, b, c) => c.S_ITEM_CODE == ItemCode);
+            }
 
-           // LogHelper.Info($"GetLocByItemCode=>鏍规嵁搴撳尯缂栫爜:{areaCode}锛岀墿鏂欑紪鐮�{ItemCode},鐗╂枡浼樺厛绾э紝鐗╂枡绛夌骇璁$畻鍑烘湁鎵樼洏璐т綅{JsonConvert.SerializeObject(queryable.ToList())}");
+
+            // LogHelper.Info($"GetLocByItemCode=>鏍规嵁搴撳尯缂栫爜:{areaCode}锛岀墿鏂欑紪鐮�{ItemCode},鐗╂枡浼樺厛绾э紝鐗╂枡绛夌骇璁$畻鍑烘湁鎵樼洏璐т綅{JsonConvert.SerializeObject(queryable.ToList())}");
             //鍒ゆ柇闇�笉闇�鐗╂枡绛夌骇鏌ユ壘锛屽苟浼樺厛鍑哄簱浣欐枡
             if (string.IsNullOrEmpty(lev))
             {
@@ -220,7 +230,7 @@
             {
                 locs = queryable.Where((a, b, c) => c.LEV == lev && c.S_BS_TYPE == "浣欐枡").ToList();
             }
-           // LogHelper.Info($"GetLocByItemCode=>鏌ユ壘浣欐枡,{JsonConvert.SerializeObject(locs)}");
+            // LogHelper.Info($"GetLocByItemCode=>鏌ユ壘浣欐枡,{JsonConvert.SerializeObject(locs)}");
 
             //娌℃湁浣欐枡鍒欏鎵惧叏閮ㄧ墿鏂�             if (locs.Count == 0)
@@ -228,7 +238,18 @@
                 queryable = db.Queryable<Location>()
                     .LeftJoin<LocCntrRel>((a, b) => a.S_CODE == b.S_LOC_CODE)
                     .LeftJoin<CntrItemDetail>((a, b, c) => b.S_CNTR_CODE == c.S_CNTR_CODE)
-                    .Where((a, b, c) => a.N_CURRENT_NUM > 0 && a.N_LOCK_STATE == 0 && a.S_AREA_CODE == areaCode && c.S_ITEM_CODE == ItemCode);
+                    .Where((a, b, c) => a.N_CURRENT_NUM > 0 && a.N_LOCK_STATE == 0 && a.S_AREA_CODE == areaCode);
+                //鍏綅鐮佸尮閰嶅墠鍏綅锛屽叾浠栫殑鍏ㄩ儴閰嶇疆
+                if (ItemCode.Count() == 6)
+                {
+                    queryable = queryable.Where((a, b, c) => c.S_ITEM_CODE.StartsWith(ItemCode));
+
+                }
+                else
+                {
+                    queryable = queryable.Where((a, b, c) => c.S_ITEM_CODE == ItemCode);
+                }
+                //鍒ゆ柇绛夌骇
                 if (string.IsNullOrEmpty(lev))
                 {
                     locs = queryable.ToList();
@@ -237,7 +258,7 @@
                 {
                     locs = queryable.Where((a, b, c) => c.LEV == lev).ToList();
                 }
-               // LogHelper.Info($"GetLocByItemCode=>鏃犱綑鏂�鏌ユ壘鍏ㄩ儴{JsonConvert.SerializeObject(locs)}");
+                // LogHelper.Info($"GetLocByItemCode=>鏃犱綑鏂�鏌ユ壘鍏ㄩ儴{JsonConvert.SerializeObject(locs)}");
             }
 
             return locs;
@@ -546,7 +567,7 @@
                 var lcrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == loc).ToList();
                 location.S_LOCK_STATE = "鏃�;
                 location.N_LOCK_STATE = 0;
-                db.Updateable(location).UpdateColumns(it => new {  it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand();
+                db.Updateable(location).UpdateColumns(it => new { it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand();
                 db.CommitTran();
                 res = true;
             }

--
Gitblit v1.9.1