From 9429653e8def2729014b45c7c75ec76e9aa6685b Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 12 六月 2025 17:13:48 +0800
Subject: [PATCH] 优化堆垛机交互逻辑

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
index 8c780fe..e780012 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
@@ -293,6 +293,8 @@
             {
                 return new { code = 404, message = "鏈壘鍒拌浠诲姟!" };
             }
+            if (task.TaskStatus == ((AGVTaskStatusEnum)Enum.Parse(typeof(AGVTaskStatusEnum), model.Task_status)).ObjToInt())
+                return new { code = 200, message = "鎴愬姛" };
             switch ((AGVTaskStatusEnum)Enum.Parse(typeof(AGVTaskStatusEnum), model.Task_status))
             {
                 case AGVTaskStatusEnum.Create:
@@ -338,17 +340,25 @@
                         return new { code = 200, message = "鎴愬姛" };
                     }
                 case AGVTaskStatusEnum.Cancel:
+                case AGVTaskStatusEnum.Terminate:
+                case AGVTaskStatusEnum.Error:
                     {
+                        if (task.TaskStatus < AGVTaskStatusEnum.DoneFetch.ObjToInt())
+                        {
+                            Dt_CachePoint startCachePoint = _basicService.CachePointService.Repository.QueryFirst(x => x.PointCode == task.SourceAddress);
+                            startCachePoint.PointStatus = LocationStatusEnum.InStock.ObjToInt();
+                            _basicService.CachePointService.Repository.UpdateData(startCachePoint);
+                        }
                         task.TaskStatus = AGVTaskStatusEnum.Cancel.ObjToInt();
                         BaseDal.DeleteAndMoveIntoHty(task, OperateType.鑷姩鍒犻櫎);
                         return new { code = 200, message = "鎴愬姛" };
                     }
-                case AGVTaskStatusEnum.Terminate:
-                    task.TaskStatus = AGVTaskStatusEnum.Terminate.ObjToInt();
-                    break;
-                case AGVTaskStatusEnum.Error:
-                    task.TaskStatus = AGVTaskStatusEnum.Error.ObjToInt();
-                    break;
+                //case AGVTaskStatusEnum.Terminate:
+                //    task.TaskStatus = AGVTaskStatusEnum.Terminate.ObjToInt();
+                //    break;
+                //case AGVTaskStatusEnum.Error:
+                //    task.TaskStatus = AGVTaskStatusEnum.Error.ObjToInt();
+                //    break;
                 default:
                     return new { code = 404, message = "鏈畾涔変换鍔$被鍨�!" };
             }

--
Gitblit v1.9.3