From 9ce6687843bd5079b7a87925df0bc7e3ddf2d36a Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期三, 01 四月 2026 11:53:38 +0800
Subject: [PATCH] 最新

---
 项目代码/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |  144 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 138 insertions(+), 6 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 09db673..62ec742 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"
@@ -16,6 +16,7 @@
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
 using AutoMapper;
+using HslCommunication;
 using Microsoft.AspNetCore.Mvc.RazorPages;
 using NetTaste;
 using Newtonsoft.Json;
@@ -49,6 +50,7 @@
 using WIDESEAWCS_ISystemServices;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob.Models;
 using WIDESEAWCS_QuartzJob.Service;
@@ -92,6 +94,12 @@
             _Dt_roadwayinfoService = dt_RoadwayinfoService;
         }
 
+        //鏍规嵁浠诲姟鍙凤紝鏌ヨ浠诲姟
+        public Dt_Task? CurrtaskInfo(int taskNum)
+        {
+            return BaseDal.QueryData().Where(x => x.TaskNum == taskNum).FirstOrDefault();
+        }
+
         /// <summary>
         /// 浠诲姟瀹屾垚
         /// </summary>
@@ -112,7 +120,9 @@
 
                     string Result = WMSTaskStatusEnum.outsuccess.GetDescription();
                     //鍚屾缁欎笂娓稿弽棣堜换鍔″畬鎴�
-                    CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, "invmd", "");
+                    Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
+
+                    CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
                     if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
 
                     task.ModifyDate = DateTime.Now;
@@ -121,11 +131,28 @@
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍑哄簱瀹屾垚");
 
                 }
-                else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
+                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", "");
+                    Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
+                    CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
+                    if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
+
+                    task.ModifyDate = DateTime.Now;
+                    task.Modifier = "System";
+                    BaseDal.DeleteData(task);
+                    _task_HtyService.AddTaskHty(task);
+                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍏ュ簱瀹屾垚");
+                }
+                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();
+                    Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
+                    CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
 
                     if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
 
@@ -221,10 +248,10 @@
                 task.ModifyDate = DateTime.Now;
                 task.Modifier = "System";
                 BaseDal.UpdateData(task);
-
+                Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
                 //鍙嶉鑷充笂娓�
-                CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, "invmd", "");
-
+                CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
+                Console.WriteLine(command.ToJsonString());
                 _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"浜哄伐鎵嬪姩灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戣烦杞埌銆恵task.TaskState}銆�" : $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�");
 
                 content = WebResponseContent.Instance.OK();
@@ -437,5 +464,110 @@
             return BaseDal.QueryData(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskInStatusEnum.InNew || x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
         }
 
+        public Dt_Task CutStackerCraneTask(string deviceNo)
+        {
+            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