From 00b6105b34870f6f5a33551534d0088f3f741906 Mon Sep 17 00:00:00 2001
From: 海波 张 <2956280567@qq.com>
Date: 星期一, 07 七月 2025 17:33:53 +0800
Subject: [PATCH] 退库修改

---
 process/TaskProcess.cs |   73 +++++++++++++++++++++++-------------
 1 files changed, 47 insertions(+), 26 deletions(-)

diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index 5f2c653..e88f347 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -174,6 +174,7 @@
                         NDCApi.ChangeOrderParam(mst.S_CODE, 1, startSite);
                         NDCApi.ChangeOrderParam(mst.S_CODE, 2, endSite);
                         NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0");
+                        Thread.Sleep(1000);
                         NDCApi.ChangeOrderParam(mst.S_CODE, 6, "2");
                     }
                 }
@@ -203,13 +204,16 @@
         /// <param name="state"></param>
         internal static void OperateStatus(WMSTask mst, int state)
         {
-            if (state == 4)
+            if (state == 4)//鍙栬揣瀹屾垚
             {
                 CacheBitUpdate(mst, true);
             }
             if (state == 6)//鍗歌揣瀹屾垚
             {
-                CacheBitUpdate(mst, false);
+                //閫�簱浠诲姟涓嶇粦瀹�+                if (!LocationHelper.GetErroArea(mst.S_END_AREA)) {
+                    CacheBitUpdate(mst, false);
+                }  
             }
             if (state == 7)
             {
@@ -261,7 +265,9 @@
                             //鏀逛竴娈典换鍔$粓鐐�                             task.S_END_LOC = end.S_CODE;
                             task.S_END_AREA = end.S_AREA_CODE;
-                            db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA }).ExecuteCommand();
+                            task.S_END_AREA_NAME = end.S_AREA_Name;
+
+                            db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA ,it.S_END_AREA_NAME}).ExecuteCommand();
                             kt.Status = "Y";
                             db.Updateable(kt).UpdateColumns(it => new { it.Status }).ExecuteCommand();
                             db.CommitTran();
@@ -269,6 +275,7 @@
                             LogHelper.Info($"浠诲姟{task.S_CODE}鏀归亾鎴愬姛锛屾敼鍙傛暟2涓簕site},鍙傛暟6涓�锛�涓�", "鏀归亾瀹夊叏浜や簰");
                             NDCApi.ChangeOrderParam(task.S_CODE, 2, site);
                             NDCApi.ChangeOrderParam(task.S_CODE, 4, "0");
+                            Thread.Sleep(1000);
                             NDCApi.ChangeOrderParam(task.S_CODE, 6, "2");
                             return;
                         }
@@ -397,11 +404,6 @@
                         db.Updateable(wcsTask).UpdateColumns(it => new { it.S_END_LOC }).ExecuteCommand();
                         db.CommitTran();
 
-                        
-
-                       
-
-
                         LocationHelper.LockLoc(connection.S_CODE, "鍏ュ簱閿�, 1);
                         var endLoc1 = LocationHelper.GetLocOne(task.S_END_LOC);
                         endLoc1.N_LOCK_STATE = 0;
@@ -411,19 +413,24 @@
                         //鏀逛竴娈典换鍔$粓鐐�                         task.S_END_LOC = connection.S_CODE;
                         task.S_END_AREA = connection.S_AREA_CODE;
-                        db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA }).ExecuteCommand();
+
+                        task.S_END_AREA_NAME = connection.S_AREA_Name;
+                        db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA,it.S_END_AREA_NAME }).ExecuteCommand();
 
 
                         //鏀逛簩娈典换鍔¤捣鐐�                         wcsTask.S_START_LOC = connection.S_CODE;
                         wcsTask.S_START_AREA = connection.S_AREA_CODE;
-                        db.Updateable(wcsTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA }).ExecuteCommand();
+
+                        wcsTask.S_START_AREA_NAME = connection.S_AREA_Name;
+                        db.Updateable(wcsTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA,it.S_START_AREA_NAME}).ExecuteCommand();
                         db.CommitTran();
 
                         var site = LocationHelper.GetAgvSiteZc(connection.S_CODE);
                         LogHelper.Info($"浠诲姟{task.S_CODE}鏀归亾鎴愬姛锛屾敼鍙傛暟2涓簕site},鍙傛暟6涓�,4涓�024", "鏀归亾瀹夊叏浜や簰");
                         NDCApi.ChangeOrderParam(task.S_CODE, 2, site);
                         NDCApi.ChangeOrderParam(task.S_CODE, 4, "1024");
+                        Thread.Sleep(1000);
                         NDCApi.ChangeOrderParam(task.S_CODE, 6, "2");
 
                         //} else if (workFlow.FLOWNAME.Contains("鍑哄簱")) {
@@ -441,6 +448,7 @@
                     else {
                         LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鎺ラ┏浣峽task.S_END_LOC}鍙敤,褰撳墠搴撳尯{wcsTask.S_END_AREA}褰撳墠宸烽亾{loc1.N_ROADWAY}鍙敤锛屼笉闇�鏀归亾锛岀洿鎺ヤ慨鏀瑰弬鏁�涓�锛�涓�024", "鏀归亾瀹夊叏浜や簰");
                         NDCApi.ChangeOrderParam(task.S_CODE, 4, "1024");
+                        Thread.Sleep(1000);
                         NDCApi.ChangeOrderParam(task.S_CODE, 6, "2");
                     }
                 }
@@ -738,14 +746,14 @@
                     var TrayLocation = db.Queryable<LocCntrRel>().Where(e => e.S_CNTR_CODE == model.TOOLS_NO).ToList();
                     if (TrayLocation.Count() > 0)
                     {
-                        LogHelper.Info("鏌ヨ鍒拌宸ヨ宸茬粡缁戝畾浜嗚揣浣嶄俊鎭�, "鐗╂枡缁戝畾瑙g粦");
-                        throw new Exception("鏌ヨ鍒拌宸ヨ宸茬粡缁戝畾浜嗚揣浣嶄俊鎭�);
+                        LogHelper.Info("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡璐т綅淇℃伅", "鐗╂枡缁戝畾瑙g粦");
+                        throw new Exception("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡璐т綅淇℃伅");
                     }
                     var TrayItems = db.Queryable<CntrItemRel>().Where(e => e.S_CNTR_CODE == model.TOOLS_NO).ToList();
                     if (TrayItems.Count() > 0)
                     {
-                        LogHelper.Info("鏌ヨ鍒拌宸ヨ宸茬粡缁戝畾浜嗙墿鏂欎俊鎭�, "鐗╂枡缁戝畾瑙g粦");
-                        throw new Exception("鏌ヨ鍒拌宸ヨ宸茬粡缁戝畾浜嗙墿鏂欎俊鎭�);
+                        LogHelper.Info("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡鐗╂枡淇℃伅", "鐗╂枡缁戝畾瑙g粦");
+                        throw new Exception("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡鐗╂枡淇℃伅");
                     }
                     var Locations = db.Queryable<Location>().Where(e => e.S_CODE == model.LOCATION_CODE)?.First();
                     if (Locations == null)
@@ -937,6 +945,9 @@
                             ContainerHelper.delCntr(task.S_CNTR_CODE);
                             ContainerHelper.delCntrItem(task.S_CNTR_CODE);
                         }
+                        else {
+                           WcsTask.WcsCancellTask(wcsTask);
+                        }
                         
                        
                         TaskHelper.Fail(wcsTask);
@@ -970,6 +981,9 @@
                         {
                             ContainerHelper.delCntr(task.S_CNTR_CODE);
                             ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                        }
+                        else {
+                            WcsTask.WcsCancellTask(wcsTask);
                         }
                         TaskHelper.Fail(wcsTask);
                         TaskProcess.OperateStatus(wcsTask, 7);
@@ -1479,6 +1493,14 @@
                             {
                                 //婊℃墭鍏�                                 balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
+
+                                if (TOOLSTYPE == "25" || TOOLSTYPE == "35") {
+                                    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
+                                    balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO);
+                                }
+
+                                
+
                             }
                             else if (workFlow.FLOWCODE == "3")
                             {
@@ -1506,12 +1528,6 @@
                                             break;
                                         }
                                     }
-                                    if (connection == "")
-                                    {
-                                        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
-                                        throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅");
-                                    }
-
                                     if (end!=null)
                                     {
                                         LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒扮粓鐐箋end.S_CODE}", "Mes浠诲姟涓嬪彂");
@@ -1519,11 +1535,16 @@
                                     }
                                 }
                             }
+                            if (connection == "")
+                            {
+                                LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
+                                throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅");
+                            }
                         }
                         else
                         {
-                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂");
-                            throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�);
+                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�, "Mes浠诲姟涓嬪彂");
+                            throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�);
                         }
 
                        
@@ -1580,7 +1601,7 @@
                         var EXPIRED_TIME = model.EXPIRED_TIME.ToString();
                         if (EXPIRED_TIME == "0001/1/1 0:00:00")
                         {
-                            rel.expireTime = model.SHELF_LIFE_TIME.AddHours(model.EXPIRED_REP);
+                            rel.expireTime = model.PRODUCE_TIME.AddHours(model.EXPIRED_REP);
                             LogHelper.Info($"澶辨晥鏃堕棿涓�001/1/1 0:00:00锛屼慨鏀逛负锛歿rel.expireTime}", "Mes浠诲姟涓嬪彂");
                         }
                         else
@@ -1591,7 +1612,7 @@
                         var SHELF_LIFE_TIME = model.SHELF_LIFE_TIME.ToString();
                         if (SHELF_LIFE_TIME == "0001/1/1 0:00:00")
                         {
-                            rel.takeEffectTime = model.SHELF_LIFE_TIME.AddHours(-model.SHELF_REP);
+                            rel.takeEffectTime = model.PRODUCE_TIME.AddHours(-model.SHELF_REP);
                             LogHelper.Info($"鐢熸晥鏃堕棿涓�001/1/1 0:00:00锛屼慨鏀逛负锛歿rel.takeEffectTime}", "Mes浠诲姟涓嬪彂");
                         }
                         else
@@ -1763,7 +1784,7 @@
 
 
 
-                    if (workFlow.FLOWCODE == "9")
+                    if (workFlow.FLOWCODE == "9" || workFlow.FLOWCODE == "4")
                     {
                         if (TOOLSTYPE == "85" || TOOLSTYPE == "95")
                         {
@@ -1773,7 +1794,7 @@
                         else
                         {
                             //鏍规嵁鍒跺搧缂栧彿瀵绘壘绔嬪簱鍖哄搴旂墿鏂欐墭鐩�-                            start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY);
+                            start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY,workFlow.CONNECTION);
                             if (start == null)
                             {
                                 strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA);

--
Gitblit v1.9.1