From 75d16a23d059439c7478f8d3f6372c29072ba84e Mon Sep 17 00:00:00 2001
From: xiaojiao <xiaojiao@kaokeziliao.com>
Date: 星期三, 06 五月 2026 16:27:14 +0800
Subject: [PATCH] 完善任务执行步骤

---
 项目代码/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs |   67 ++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 27 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 18fee23..d30348a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -175,7 +175,7 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+                var task = BaseDal.QueryFirst(x => x.TaskId == taskNum);
                 if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
                 return UpdateTaskStatusToNext(task);
             }
@@ -197,26 +197,38 @@
             try
             {
                 int oldState = task.TaskState;
-                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
+
+                #region 鑲栦郊宸蹭慨鏀�
+                //if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
+                //{
+                //    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskAGVCarryStatusEnum>();
+
+                //    task.TaskState = nextStatus;
+
+                //    if (task.TaskState == (int)TaskAGVCarryStatusEnum.AGV_COMPLETED)
+                //    {
+
+                //        BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
+                //    }
+                //}
+                //else
+                //{
+                //    throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskId}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
+                //}
+                #endregion 鑲栦郊宸蹭慨鏀�
+                int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskAGVCarryStatusEnum>();
+
+                task.TaskState = nextStatus;
+
+                if (task.TaskState == (int)TaskAGVCarryStatusEnum.AGV_COMPLETED)
                 {
-                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskAGVCarryStatusEnum>();
-
-                    task.TaskState = nextStatus;
-
-                    if (task.TaskState == (int)TaskAGVCarryStatusEnum.AGV_CarryFinish)
-                    {
-
-                        BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
-                    }
-                }
-                else
-                {
-                    throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
+                    //BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
+                    TaskCompleted(task.TaskId);
                 }
 
                 if (task.TaskState <= 0)
                 {
-                    return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
+                    return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskId}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
                 }
 
                 task.ModifyDate = DateTime.Now;
@@ -228,17 +240,17 @@
                 #region 鏇存柊浠诲姟鐘舵��
 
                 // 鑾峰彇WMSip鍦板潃
-                var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
-                var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
-                var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.UpdateTaskStatus)?.ConfigValue;
-                if (wmsBase == null || updateTask == null)
-                {
-                    throw new InvalidOperationException("WMS IP 鏈厤缃�");
-                }
-                var wmsIpAddress = wmsBase + updateTask;
+                //var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+                //var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+                //var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.UpdateTaskStatus)?.ConfigValue;
+                //if (wmsBase == null || updateTask == null)
+                //{
+                //    throw new InvalidOperationException("WMS IP 鏈厤缃�");
+                //}
+                //var wmsIpAddress = wmsBase + updateTask;
 
-                var result = HttpHelper.PostAsync(wmsIpAddress, new { TaskNum = task.TaskNum, TaskState = task.TaskState }.ToJsonString()).Result;
-                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+                //var result = HttpHelper.PostAsync(wmsIpAddress, new { TaskNum = task.TaskNum, TaskState = task.TaskState }.ToJsonString()).Result;
+                //content = JsonConvert.DeserializeObject<WebResponseContent>(result);
 
                 #endregion 鏇存柊浠诲姟鐘舵��
 
@@ -302,7 +314,7 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+                var task = BaseDal.QueryFirst(x => x.TaskId == taskNum);
                 if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
 
                 int oldState = task.TaskState;
@@ -466,6 +478,7 @@
                     }
                     //浠诲姟瀹屾垚閫昏緫
                     _unitOfWorkManage.BeginTran();
+                    task.TaskState = (int)TaskAGVCarryStatusEnum.AGV_COMPLETED;
                     // 鎶婂綋鍓嶄换鍔℃煡鍑烘潵 鐒跺悗姣忎竴涓瓧娈佃祴鍊肩粰鍘嗗彶浠诲姟 鐒跺悗鍒犻櫎褰撳墠浠诲姟 娣诲姞涓�鏉″巻鍙蹭换鍔� // 鐒跺悗鎶婅繖涓换鍔$殑缁堢偣鐨勫搴旂珯鍙扮殑鐘舵�佽缃负鍚敤
                     Dt_Task_Hty dt_Task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                     dt_Task_Hty.TaskNum = task.TaskId;

--
Gitblit v1.9.3