From af42a9904d1d3939da7fa0a00c3a7a2ced78258e Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期三, 21 五月 2025 17:26:18 +0800
Subject: [PATCH] 佳通问题优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs |   80 ++++++++++++++++++----------------------
 1 files changed, 36 insertions(+), 44 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
index 41b5e36..13161c9 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
@@ -62,60 +62,48 @@
                 }
                 string Start = ""; //鍙栬揣鐐�                 string End = "";
-                string areacode = "";
                 string note = ""; //绔嬪簱涓嬪彂浠诲姟闇�閫氱煡mes鎺ュ彛鐗╂枡鍒颁綅锛岀敤澶囨敞鑷姩杩涜鍖哄垎
                                   //鏍规嵁鐗╂枡鑾峰彇瀵瑰簲搴撳尯
-                #region 鏍规嵁鐗╂枡纭鍑哄簱鏉ユ簮
-                var iteminfo = db.Queryable<TN_Material>().Where(a => a.S_ITEM_CODE.Trim() == ItemCode).First();
-                if (iteminfo != null)
-                {
-                    //LogHelper.Info($"Createtask==>鐗╂枡鏁版嵁:{JsonConvert.SerializeObject(iteminfo)}");
-                    areacode = iteminfo.S_WH_CODE;
-                }
-
-                if (string.IsNullOrEmpty(areacode))
-                {
-                    LogHelper.Info($"Createtask==>鏍规嵁鐗╂枡缂栫爜:{ItemCode}鏈兘鎵惧埌鐗╂枡鏉ユ簮锛岄渶鍚屾鐗╂枡鏁版嵁");
-                    result.code = "1";
-                    result.msg = $"鏍规嵁鐗╂枡缂栫爜:{ItemCode}鏈兘鎵惧埌鐗╂枡鏉ユ簮锛岄渶鍚屾鐗╂枡鏁版嵁";
-                    AddErrorInfo("瀵绘壘鍑哄簱鍖哄け璐�, result.msg);
-                    return result;
-                }
-                //var task = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == taskData.taskNum).First();
-                //if (task != null)
+                #region 鏍规嵁浠诲姟鏉ユ簮瀛楁鍒ゆ柇搴撳尯鏉ユ簮鏉ユ簮
+                //var iteminfo = db.Queryable<TN_Material>().Where(a => a.S_ITEM_CODE.Trim() == ItemCode).First();
+                //if (iteminfo != null)
                 //{
-                //    LogHelper.Info($"Createtask==> 浠诲姟鍙穥taskData.taskNum},璇ヤ换鍔″凡缁忓瓨鍦紝涓嶅厑璁稿垱寤轰换鍔�);
+                //    //LogHelper.Info($"Createtask==>鐗╂枡鏁版嵁:{JsonConvert.SerializeObject(iteminfo)}");
+                //    areacode = iteminfo.S_WH_CODE;
+                //}
+
+                //if (string.IsNullOrEmpty(areacode))
+                //{
+                //    LogHelper.Info($"Createtask==>鏍规嵁鐗╂枡缂栫爜:{ItemCode}鏈兘鎵惧埌鐗╂枡鏉ユ簮锛岄渶鍚屾鐗╂枡鏁版嵁");
                 //    result.code = "1";
-                //    result.msg = $"浠诲姟鍙穥taskData.taskNum},璇ヤ换鍔″凡缁忓瓨鍦紝涓嶅厑璁稿垱寤轰换鍔�;
+                //    result.msg = $"鏍规嵁鐗╂枡缂栫爜:{ItemCode}鏈兘鎵惧埌鐗╂枡鏉ユ簮锛岄渶鍚屾鐗╂枡鏁版嵁";
+                //    AddErrorInfo("瀵绘壘鍑哄簱鍖哄け璐�, result.msg);
                 //    return result;
                 //}
-                int n_type = 0;  //浠诲姟鏉ユ簮 1.閽笣绔嬪簱  2.鑳剁墖搴� 3.棰勫搴�,4.鍘熸潗鏂欏簱,閫氳繃鐗╂枡纭浠诲姟鏉ユ簮
+              
+                int n_type = 0;  //浠诲姟鏉ユ簮 1.瀵嗙偧绔嬪簱  3.棰勫搴�,4.鍘熸潗鏂欏簱
                 string Source = "";
-                switch (areacode)
+                switch (taskData.source)
                 {
                     case "ML":
                         n_type = 1;
                         Source = "瀵嗙偧";
                         break;
-                    case "JP":
-                        n_type = 2;
-                        Source = "浜曟澗";
-                        break;
                     case "YBK":
                         n_type = 3;
                         Source = "棰勫搴�;
                         break;
-                    case "wmwhse1":
+                    case "YCL":
                         n_type = 4;
                         Source = "鍘熸潗鏂�;
                         break;
                 }
-                LogHelper.Info($"Createtask==>浠诲姟绫诲瀷:{n_type}");
+                Console.WriteLine($"Createtask==>浠诲姟鏉ユ簮:{n_type}");
                 if (n_type == 0)
                 {
                     result.code = "1";
-                    result.msg = $"鐗╂枡搴撳尯:{areacode}灞炰簬鏈畾涔夊簱鍖猴紝璇锋鏌ョ墿鏂欒〃閲嶆柊瀹氫箟鐗╂枡搴撳尯";
-                    AddErrorInfo("鐗╂枡搴撳尯鏈畾涔�, result.msg);
+                    result.msg = $"浠诲姟鏉ユ簮:{taskData.source}灞炰簬鏈畾涔夊簱鍖猴紝璇锋鏌ョ墿鏂欐潵婧愭槸鍚﹀睘浜庣害瀹氬瓧娈�;
+                    AddErrorInfo("浠诲姟鏉ユ簮鏈畾涔�, result.msg);
                     return result;
                 }
 
@@ -2027,8 +2015,6 @@
 
         }
 
-
-
         /// <summary>
         /// 璐т綅淇℃伅涓婁紶
         /// </summary>
@@ -2294,7 +2280,9 @@
 
             #endregion
             var loc = LocationHelper.GetLocByItemCode(areacode, itemcode, level);
+            LogHelper.Info($"airlift=>鏍规嵁搴撳尯缂栫爜:{areacode}锛岀墿鏂欑紪鐮�{itemcode},鐗╂枡绛夌骇璁$畻鍑烘湁鎵樼洏璐т綅{JsonConvert.SerializeObject(loc)}");
             result = FindStartcolByLoclist(loc);
+            LogHelper.Info($"airlift=>鍙敤璐т綅涓猴細{JsonConvert.SerializeObject(result)}");
             return result;
         }
 
@@ -2318,6 +2306,7 @@
             }
             return result;
         }
+
         /// <summary>
         /// 绔嬪簱浠诲姟涓嬪彂鍒涘缓鎵樼洏鐗╂枡缁戝畾鍏崇郴
         /// </summary>
@@ -2330,11 +2319,12 @@
             }
             else
             {
-                return ContainerHelper.CreateCntrItem(taskData.pickStation, partData.rfid, partData.partNumber, partData.partDesc, partData.partType, taskData.carrierType, partData.lotNumber, partData.weight, partData.unit,
-                    taskData.tyreType, taskData.supplier, taskData.receiveLot, taskData.subpool, partData.productionTime, partData.maturityTime, taskData.grade);
+                return ContainerHelper.CreateCntrItem(taskData.pickStation, partData.rfid, partData.partNumber, partData.partDesc, partData.partType, taskData.carrierType, partData.lotNumber, taskData.wmsLot, partData.weight, partData.unit,
+                    taskData.tyreType, taskData.supplier, taskData.receiveLot, taskData.subpool, partData.productionTime, partData.maturityTime, taskData.level);
             }
 
         }
+        private static object _lockLocation = new object();
         /// <summary>
         /// 鏍规嵁鎵樼洏缂栫爜锛屾満鍙扮紪鐮侊紝宸ヨ绫诲瀷璁$畻鏈哄彴绾胯竟鍖哄煙
         /// </summary>
@@ -2350,17 +2340,19 @@
 
             //  var location = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == cntrcode).First();
 
-
-            var loc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == jtcode.Trim() && a.S_NOTE == cntrType && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0).First();
-            if (loc != null)
+            lock (_lockLocation)
             {
-                End = loc;
-            }
-            else
-            {
-                LogHelper.Info($"Computeloc==銆嬫牴鎹満鍙板垎缁勶細{jtcode},宸ヨ绫诲瀷锛歿cntrType} 鏈壘鍒扮┖璐т綅鏁版嵁锛岃妫�煡璐т綅琛�);
-            }
+                var loc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == jtcode.Trim() && a.S_NOTE == cntrType && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0).First();
+                if (loc != null)
+                {
+                    End = loc;
+                }
+                else
+                {
+                    LogHelper.Info($"Computeloc==銆嬫牴鎹満鍙板垎缁勶細{jtcode},宸ヨ绫诲瀷锛歿cntrType} 鏈壘鍒扮┖璐т綅鏁版嵁锛岃妫�煡璐т綅琛�);
+                }
 
+            }
             return End;
         }
 

--
Gitblit v1.9.1