From f640a3ab00189bb0f55a7bfb65f309f80803e88b Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期六, 18 四月 2026 14:25:25 +0800
Subject: [PATCH] 优化成品移库任务,添加WMS任务号加流水号确保WMS任务号唯一

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs |   55 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 29 insertions(+), 26 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
index 0901fed..26b8683 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
@@ -102,36 +102,39 @@
                                 //鍏ユ彁鍗囨満
                                 if (task.TaskType == TaskTypeEnum.RK3F.ObjToInt() && task.TaskState == (int)TaskStatusEnum.CheckPalletCodeFinish)
                                 {
-                                    var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
-                                    if (device == null) task.ExceptionMessage = "鏈壘鍒版彁鍗囨満淇℃伅";
-                                    else
+                                    if (task.CurrentAddress == task.TargetAddress)
                                     {
-                                        bool Work = false;
-                                        try
+                                        var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
+                                        if (device == null) task.ExceptionMessage = "鏈壘鍒版彁鍗囨満淇℃伅";
+                                        else
                                         {
-                                            if (device.IsConnected)
+                                            bool Work = false;
+                                            try
                                             {
-                                                int i = 0;
-                                                while (!Work && i <= 3)
+                                                if (device.IsConnected)
                                                 {
-                                                    i++;
-                                                    Work = device.SetValue(HoistEnum.Inboundboxon, 1, task.TargetAddress);
-                                                    Thread.Sleep(500);
+                                                    int i = 0;
+                                                    while (!Work && i <= 3)
+                                                    {
+                                                        i++;
+                                                        Work = device.SetValue(HoistEnum.Inboundboxon, 1, task.CurrentAddress);
+                                                        Thread.Sleep(500);
+                                                    }
+                                                }
+                                                if (!Work)
+                                                {
+                                                    task.ExceptionMessage = $"銆恵task.CurrentAddress}銆戝啓鍏�3妤煎叆搴撶鏀惧埌浣嶅け璐�";
+                                                    task.Remark = $"{device.DeviceCode}_Inboundboxon_{1}_{task.CurrentAddress}";
                                                 }
                                             }
-                                            if (!Work)
+                                            catch (Exception ex)
                                             {
-                                                task.ExceptionMessage = $"銆恵task.TargetAddress}銆戝啓鍏�3妤煎叆搴撶鏀惧埌浣嶅け璐�";
-                                                task.Remark = $"{device.DeviceCode}_Inboundboxon_{1}_{task.TargetAddress}";
+                                                task.ExceptionMessage = $"銆恵task.CurrentAddress}銆戝啓鍏�3妤煎叆搴撶鏀惧埌浣嶅け璐ワ紒{ex.Message}";
+                                                task.Remark = $"{device.DeviceCode}_Inboundboxon_{1}_{task.CurrentAddress}";
                                             }
                                         }
-                                        catch (Exception ex)
-                                        {
-                                            task.ExceptionMessage = $"銆恵task.TargetAddress}銆戝啓鍏�3妤煎叆搴撶鏀惧埌浣嶅け璐ワ紒{ex.Message}";
-                                            task.Remark = $"{device.DeviceCode}_Inboundboxon_{1}_{task.TargetAddress}";
-                                        }
+                                        BaseDal.UpdateData(task);
                                     }
-                                    BaseDal.UpdateData(task);
                                 }
 
                                 //3 鍑烘彁鍗囨満 涔嬪墠鏄疉GV_ToExecute
@@ -162,7 +165,7 @@
                                         }
                                         catch (Exception ex)
                                         {
-                                            task.ExceptionMessage = $"銆恵task.SourceAddress}銆戝啓鍏�3妤煎嚭搴撶鏀惧埌浣嶅け璐�";
+                                            task.ExceptionMessage = $"銆恵task.SourceAddress}銆戝啓鍏�3妤煎嚭搴撶鏀惧埌浣嶅け璐ex.Message}";
                                             task.Remark = $"{device.DeviceCode}_Outboundboxon_{1}_{task.SourceAddress}"; throw;
                                         }
 
@@ -198,7 +201,7 @@
                                         catch (Exception ex)
                                         {
 
-                                            task.ExceptionMessage = $"銆恵task.TargetAddress}銆戝啓鍏�4妤肩┖绠辨斁鍒颁綅澶辫触";
+                                            task.ExceptionMessage = $"銆恵task.TargetAddress}銆戝啓鍏�4妤肩┖绠辨斁鍒颁綅澶辫触{ex.Message}";
                                             task.Remark = $"{device.DeviceCode}_Emptyboxplacedinposition_{1}_{task.TargetAddress}";
                                         }
 
@@ -234,7 +237,7 @@
                                         catch (Exception ex)
                                         {
 
-                                            task.ExceptionMessage = $"銆恵task.SourceAddress}銆戝啓鍏�4妤煎嚭搴撳彇绠卞畬鎴愬け璐�";
+                                            task.ExceptionMessage = $"銆恵task.SourceAddress}銆戝啓鍏�4妤煎嚭搴撳彇绠卞畬鎴愬け璐ex.Message}";
                                             task.Remark = $"{device.DeviceCode}_Outboundboxretrievalcompleted_{1}_{task.SourceAddress}";
                                         }
 
@@ -271,7 +274,7 @@
                                         catch (Exception ex)
                                         {
 
-                                            task.ExceptionMessage = $"銆恵Address}銆戝叧闂姹傝繘鍏ュけ璐ワ紒";
+                                            task.ExceptionMessage = $"銆恵Address}銆戝叧闂姹傝繘鍏ュけ璐ワ紒{ex.Message}";
                                             task.Remark = $"{device.DeviceCode}_RequestToEnter_{false}_{Address}";
                                         }
 
@@ -315,7 +318,7 @@
                                     catch (Exception ex)
                                     {
 
-                                        task.ExceptionMessage = $"銆怲SJR3F銆�3妤艰鐮佽Е鍙戝け璐ワ紒";
+                                        task.ExceptionMessage = $"銆怲SJR3F銆�3妤艰鐮佽Е鍙戝け璐ワ紒{ex.Message}";
                                         task.Remark = $"{device.DeviceCode}_Codereadingtriggered_{1}_TSJR3F";
                                     }
 
@@ -375,7 +378,7 @@
                     var task = BaseDal.QueryFirst(x => x.PalletCode == Rgv.content.podID);
                     if (task == null) throw new Exception($"鏈壘鍒颁换鍔�,浠诲姟缂栧彿銆恵Rgv.content.taskID}銆�");
                     //绉诲簱
-                    if (task.TaskType == TaskTypeEnum.CPMoveInventory.ObjToInt() && string.IsNullOrEmpty(task.WMSTaskNum))
+                    if (task.TaskType == TaskTypeEnum.CPMoveInventory.ObjToInt() && task.Creater == "WCS")
                     {
                         if (Rgv.messageType == 72)
                         {

--
Gitblit v1.9.3