From 9ddec4808631025d36d3c5a816d55ef77a29d4c7 Mon Sep 17 00:00:00 2001
From: lss <2538410689@qq.com>
Date: 星期三, 16 七月 2025 17:30:30 +0800
Subject: [PATCH] 111

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 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 6238641..2e43d3e 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs
@@ -210,7 +210,7 @@
         /// <param name="lev">鐗╂枡绛夌骇</param>
         /// <param name="ItemCode">鐗╂枡缂栫爜</param>
         /// <returns></returns>
-        internal static List<Location> GetLocByItemCode(string areaCode, string ItemCode, string lev)
+        internal static List<Location> GetLocByItemCode(string areaCode, string ItemCode, string lev, string powderType)
         {
 
             List<Location> locs;
@@ -237,7 +237,7 @@
             //.Skip(targetIndex)  // 璺宠繃楂樹簬鐩爣绛夌骇鐨勭瓑绾�             //.ToList();
 
-            LogHelper.Info($"GetLocByItemCode=>鏍规嵁搴撳尯缂栫爜:{areaCode}锛岀墿鏂欑紪鐮�{ItemCode},鐗╂枡浼樺厛绾�{lev}锛岀墿鏂欑瓑绾ц绠楀嚭鏈夋墭鐩樿揣浣峽JsonConvert.SerializeObject(queryable.ToList())}");
+            LogHelper.Info($"GetLocByItemCode=>鏍规嵁搴撳尯缂栫爜:{areaCode}锛岀墿鏂欑紪鐮�{ItemCode},鐗╂枡浼樺厛绾�{lev}锛屾満鍙板瀷鍙�{powderType}锛岀墿鏂欑瓑绾ц绠楀嚭鏈夋墭鐩樿揣浣峽JsonConvert.SerializeObject(queryable.ToList())}");
             //鍒ゆ柇闇�笉闇�鐗╂枡绛夌骇鏌ユ壘锛屽苟浼樺厛鍑哄簱浣欐枡
             if (string.IsNullOrEmpty(lev))
             {
@@ -247,7 +247,14 @@
             {
                 locs = queryable.Where((a, b, c) => c.LEV == lev && c.S_BS_TYPE == "浣欐枡").ToList();
             }
-            //   LogHelper.Info($"GetLocByItemCode=>鏌ユ壘浣欐枡,{JsonConvert.SerializeObject(locs)}");
+            if (string.IsNullOrEmpty(powderType))
+            {
+                locs = queryable.Where((a, b, c) => c.S_BS_TYPE == "浣欐枡").ToList();
+            }
+            else
+            {
+                locs = queryable.Where((a, b, c) => (c.S_FLTYPE == powderType||string.IsNullOrEmpty(c.S_FLTYPE)) && c.S_BS_TYPE == "浣欐枡").ToList();
+            }
 
             //娌℃湁浣欐枡鍒欏鎵惧叏閮ㄧ墿鏂�             if (locs.Count == 0)
@@ -255,7 +262,7 @@
                 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);
+                    .Where((a, b, c) => a.N_CURRENT_NUM > 0 && a.N_LOCK_STATE == 0 && a.S_AREA_CODE == areaCode );
                 //鍏綅鐮佸尮閰嶅墠鍏綅锛屽叾浠栫殑鍏ㄩ儴閰嶇疆
                 if (ItemCode.Trim().Length == 6)
                 {
@@ -276,6 +283,14 @@
                 else
                 {
                     locs = queryable.Where((a, b, c) => c.LEV == lev).ToList();
+                }
+                if (string.IsNullOrEmpty(powderType))
+                {
+                    locs = queryable.ToList();
+                }
+                else
+                {
+                    locs = queryable.Where((a, b, c) => c.S_FLTYPE == powderType || string.IsNullOrEmpty(c.S_FLTYPE)).ToList();
                 }
                 LogHelper.Info($"GetLocByItemCode=>鏃犱綑鏂�鏌ユ壘鍏ㄩ儴{JsonConvert.SerializeObject(locs)}");
             }
@@ -717,25 +732,25 @@
         {
             var res = false;
             var db = new SqlHelper<object>().GetInstance();
-            List<string> cntrs = null;int count = 0;
+            List<string> cntrs = null; int count = 0;
             var location = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == loc).First();
             try
             {
                 db.BeginTran();
-                var lcrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == loc).ToList();            
+                var lcrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == loc).ToList();
                 if (lcrList.Count > 0)
                 {
                     cntrs = lcrList.Select(a => a.S_CNTR_CODE).ToList();
                     LogHelper.Info($"UnlockLocDeleteCntrs锛氳揣浣峽loc}锛氭煡璇㈢粦瀹氭墭鐩榹cntrs}");
                     LogHelper.Info($"UnlockLocDeleteCntrs锛氬紑濮嬪垹闄ゅ鍣細{JsonConvert.SerializeObject(cntrs)}");
                     count = db.Deleteable<LocCntrRel>().Where(it => cntrs.Contains(it.S_CNTR_CODE.Trim()) && it.S_LOC_CODE.Trim() == loc).ExecuteCommand();
-                   
+
                 }
-             
+
                 location.N_CURRENT_NUM = lcrList.Count - count;
                 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, it.N_CURRENT_NUM }).ExecuteCommand();
                 db.CommitTran();
                 res = true;
             }

--
Gitblit v1.9.1