From 0c2124ab83fcc330e9620f02fbf02dedf8980526 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 17 三月 2026 16:56:43 +0800
Subject: [PATCH] 优化海康AGV三楼四楼任务

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs |   36 +++++++++++++++++++++++++-----------
 1 files changed, 25 insertions(+), 11 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 918d968..95ba692 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"
@@ -76,20 +76,31 @@
                     if (task == null) throw new Exception($"鏈壘鍒颁换鍔�,浠诲姟缂栧彿銆恵hIKROBOT.robotTaskCode}銆�");
                     switch (hIKROBOT.extra.values.method)
                     {
-                        case "end":
-                            TaskCompleted(task, deviceTypeEnum);
-                            break;
-                        case "outbin":
-                            TaskFromCompleted(task, deviceTypeEnum);
-                            break;
                         case "start":
                             task.TaskState = (int)TaskStatusEnum.Takeing;
                             TaskFeedback(task, 1);
                             break;
-                        default:
-                            task.TaskState = ReturnTaskStatus(hIKROBOT.extra.values.method, deviceTypeEnum);
-                            BaseDal.UpdateData(task);
+                        case "outbin":
+                            {
+                                ///鍒ゆ柇浠诲姟鏄惁璺熻澶囨湁鍏�
+                                TaskFromCompleted(task, deviceTypeEnum);
+                            }
                             break;
+                        case "into"://鐢宠杩涘叆鎻愬崌鏈�
+                            break;
+                        case "wait"://鎵爜绛夊緟
+                            break;
+                        case "end":
+                            {
+                                ///鍒ゆ柇浠诲姟鏄惁璺熻澶囨湁鍏�
+                                TaskCompleted(task, deviceTypeEnum);
+                            }
+                            break;
+                        default:
+                            throw new Exception("鏈畾涔夌殑鏂规硶鍚嶏紒");
+                            //task.TaskState = ReturnTaskStatus(hIKROBOT.extra.values.method, deviceTypeEnum);
+                            //BaseDal.UpdateData(task);
+                            //break;
                     }
                 }
                 else //鍥涘悜杞�
@@ -137,11 +148,12 @@
                                     fromStationCode = task.SourceAddress,
                                     toLocationCode = task.TargetAddress
                                 };
-                                Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSInOutBoundCompleteFeedback));
+                                Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSMoveLocationFeedback));
                                 WMSReturn agvContent = null;
-                                if (apiInfo == null) task.ExceptionMessage = "鏈壘鍒板嚭鍏ュ簱瀹屾垚鍙嶉WMS鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�";
+                                if (apiInfo == null) task.ExceptionMessage = "鏈壘鍒扮Щ搴撳畬鎴愬弽棣圵MS鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�";
                                 else
                                 {
+                                    task.TaskState = TaskStatusEnum.Finish.ObjToInt();
                                     string response = HttpHelper.Post(apiInfo.ApiAddress, wMSMoveLocationFeedback.Serialize());
                                     agvContent = response.DeserializeObject<WMSReturn>();
                                     content.OK(data: agvContent);
@@ -150,6 +162,8 @@
                                         task.ExceptionMessage = agvContent.message;
                                         content.Error(agvContent.message);
                                     }
+                                    UpdateLocationStatus(task.TargetAddress, task.PalletCode, deviceTypeEnum, LocationStatusEnum.InStock);
+                                    BaseDal.DeleteAndMoveIntoHty(task, OperateTypeEnum.鑷姩瀹屾垚);
                                 }
                             }
                             else if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.TakeFinish)

--
Gitblit v1.9.3