From c09d4c6bb14496999ca15aea80a6f60665bf788a Mon Sep 17 00:00:00 2001
From: zhangchengsong <zhangchengsong@hnkhzn.com>
Date: 星期一, 23 三月 2026 18:23:05 +0800
Subject: [PATCH] 添加手动完成、手动取消任务按钮

---
 项目代码/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |  101 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 101 insertions(+), 0 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 0a6c0cb..ffc7bb3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -130,6 +130,7 @@
                 else if (task.TaskType == (int)TaskTypeEnum.Inbound && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
                 {
                     task.TaskState = (int)TaskInStatusEnum.InFinish;
+                    BaseDal.UpdateData(task);
                     string Result = WMSTaskStatusEnum.insuccess.GetDescription();
                     CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, "invmd", "");
 
@@ -144,6 +145,7 @@
                 else if (task.TaskType == (int)TaskTypeEnum.Inventorybound && task.TaskState == (int)TaskinventoryStatusEnum.SC_inventoryExecuting)
                 {
                     task.TaskState = (int)TaskinventoryStatusEnum.inventoryFinish;
+                    BaseDal.UpdateData(task);
                     string Result = WMSTaskStatusEnum.insuccess.GetDescription();
                     CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, "invmd", "");
 
@@ -462,6 +464,105 @@
             Dt_Task dt_Task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting  || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting));
             return dt_Task;
         }
+        /// <summary>
+        /// 鎵嬪姩鍙栨秷浠诲姟
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <returns></returns>
+        public WebResponseContent TaskCancel(int taskNum)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+                if (task != null)
+                {
+                    BaseDal.DeleteData(task);
+                    task.ModifyDate = DateTime.Now;
+                    task.Modifier = App.User?.UserName;
+                    task.Remark = "浜哄伐鎵嬪姩鍙栨秷";
+                    BaseDal.DeleteData(task);
+                    _task_HtyService.AddTaskHty(task);
+                    content.Status = true;
+                }
+                else
+                {
+                    WebResponseContent.Instance.Error($"鍙栨秷澶辫触,璇ヤ换鍔°�恵taskNum}銆戜笉瀛樺湪");
+                }
+                return content;
+            }
+            catch (Exception e)
+            {
+                return WebResponseContent.Instance.Error();
+            }
+        }
+        /// <summary>
+        ///鎵嬪姩瀹屾垚浠诲姟
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <returns></returns>
+        public WebResponseContent TaskHandCompleted(int taskNum)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+                if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
+
+                if (task.TaskType == (int)TaskTypeEnum.Outbound)
+                {
+                    string Result = WMSTaskStatusEnum.outsuccess.GetDescription();
+                    //鍚屾缁欎笂娓稿弽棣堜换鍔″畬鎴�
+                    //CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, "invmd", "");
+                    //if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
+
+                    task.ModifyDate = DateTime.Now;
+                    task.Modifier = App.User?.UserName;
+                    task.Remark = "浜哄伐鎵嬪姩瀹屾垚";
+                    BaseDal.DeleteData(task);
+                    _task_HtyService.AddTaskHty(task);
+                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鎵嬪姩鍑哄簱瀹屾垚");
+                }
+                else if (task.TaskType == (int)TaskTypeEnum.Inbound)
+                {
+                    string Result = WMSTaskStatusEnum.insuccess.GetDescription();
+                    //CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, "invmd", "");
+
+                    //if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
+
+                    task.ModifyDate = DateTime.Now;
+                    task.Modifier = App.User?.UserName;
+                    task.Remark = "浜哄伐鎵嬪姩瀹屾垚";
+                    BaseDal.DeleteData(task);
+                    _task_HtyService.AddTaskHty(task);
+                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鎵嬪姩鍏ュ簱瀹屾垚");
+                }
+                else if (task.TaskType == (int)TaskTypeEnum.Inventorybound)
+                {;
+                    string Result = WMSTaskStatusEnum.insuccess.GetDescription();
+                    //CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, "invmd", "");
+
+                    //if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
+
+                    task.ModifyDate = DateTime.Now;
+                    task.Modifier = App.User?.UserName;
+                    task.Remark = "浜哄伐鎵嬪姩瀹屾垚";
+                    BaseDal.DeleteData(task);
+                    _task_HtyService.AddTaskHty(task);
+                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鎵嬪姩鍏ュ簱瀹屾垚");
+                }
+                else
+                {
+                    throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
+                }
+                content.OK();
+            }
+            catch (Exception ex)
+            {
+                content.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戯紝鍘熷洜锛歿ex.Message}");
+            }
+            return content;
+        }
 
     }
 }

--
Gitblit v1.9.3