From f7ec7a32e8cddcb976093c826e3a0d1ed61fb335 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期日, 12 四月 2026 13:09:43 +0800
Subject: [PATCH] feat(任务服务): 扩展任务更新接口以支持地址信息

---
 Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs |  225 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 214 insertions(+), 11 deletions(-)

diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
index c0c9b7f..571d511 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
@@ -1,10 +1,11 @@
 锘縰sing Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
+using System.DirectoryServices.Protocols;
 using WIDESEA_Common.CommonEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseController;
-using WIDESEA_DTO;
+using WIDESEA_DTO.GradingMachine;
 using WIDESEA_DTO.Stock;
 using WIDESEA_DTO.Task;
 using WIDESEA_ITaskInfoService;
@@ -28,10 +29,153 @@
         /// </summary>
         /// <param name="taskDto"></param>
         /// <returns></returns>
-        [HttpPost("CreateTaskInbound"),AllowAnonymous]
+        [HttpGet, HttpPost, Route("CreateTaskInbound"), AllowAnonymous]
         public async Task<WebResponseContent?> CreateTaskInboundAsync([FromBody] CreateTaskDto taskDto)
         {
             return await Service.CreateTaskInboundAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鏍规嵁鎸囧畾鐨勪换鍔¤鎯呭紓姝ュ垱寤烘柊鐨勫嚭搴撲换鍔�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("CreateTaskOutbound"), AllowAnonymous]
+        public async Task<WebResponseContent?> CreateTaskOutboundAsync([FromBody] CreateTaskDto taskDto)
+        {
+            return await Service.CreateTaskOutboundAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鎵嬪姩鍒涘缓浠诲姟
+        /// </summary>
+        /// <param name="dto">鎵嬪姩鍒涘缓浠诲姟鍙傛暟</param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("CreateManualTask"), AllowAnonymous]
+        public async Task<WebResponseContent?> CreateManualTaskAsync([FromBody] CreateManualTaskDto dto)
+        {
+            return await Service.CreateManualTaskAsync(dto);
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍙叆搴撹揣浣�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("GetTasksLocation"), AllowAnonymous]
+        public async Task<WebResponseContent?> GetTasksLocationAsync([FromBody] CreateTaskDto taskDto)
+        {
+            return await Service.GetTasksLocationAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鍏ュ簱浠诲姟瀹屾垚锛氭坊鍔犲簱瀛橈紝淇敼璐т綅鐘舵�侊紝鍒犻櫎浠诲姟鏁版嵁锛屾坊鍔犲巻鍙蹭换鍔℃暟鎹�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("InboundFinishTask"), AllowAnonymous]
+        public async Task<WebResponseContent?> InboundFinishTaskAsync([FromBody] CreateTaskDto taskDto)
+        {
+            return await Service.InboundFinishTaskAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟瀹屾垚 锛氫慨鏀瑰簱瀛橈紝淇敼璐т綅鐘舵�侊紝鍒犻櫎浠诲姟鏁版嵁锛屾坊鍔犲巻鍙蹭换鍔℃暟鎹�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("OutboundFinishTask"), AllowAnonymous]
+        public async Task<WebResponseContent?> OutboundFinishTaskAsync([FromBody] CreateTaskDto taskDto)
+        {
+            return await Service.OutboundFinishTaskAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 绉诲簱浠诲姟瀹屾垚锛氫慨鏀瑰簱瀛樹綅缃笌鐘舵�侊紝淇敼婧�/鐩爣璐т綅鐘舵�侊紝鍒犻櫎浠诲姟鏁版嵁
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("RelocationFinishTask"), AllowAnonymous]
+        public async Task<WebResponseContent?> RelocationFinishTaskAsync([FromBody] CreateTaskDto taskDto)
+        {
+            return await Service.RelocationFinishTaskAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鍒涘缓绌烘墭鐩樺嚭搴撲换鍔�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("GetOutBoundTrayTask"), AllowAnonymous]
+        public async Task<WebResponseContent?> GetOutBoundTrayTaskAsync([FromBody] CreateTaskDto taskDto)
+        {
+            return await Service.GetOutBoundTrayTaskAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鍒涘缓绌烘墭鐩樺叆搴撲换鍔�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("CreateTaskInboundTray"), AllowAnonymous]
+        public async Task<WebResponseContent?> CreateTaskInboundTrayAsync([FromBody] CreateTaskDto taskDto)
+        {
+            return await Service.CreateTaskInboundTrayAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 绌烘墭鐩樺嚭搴撳畬鎴�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("OutboundFinishTaskTray"), AllowAnonymous]
+        public async Task<WebResponseContent?> OutboundFinishTaskTrayAsync([FromBody] CreateTaskDto taskDto)
+        {
+            return await Service.OutboundFinishTaskTrayAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 淇敼浠诲姟鐘舵�侊紙鏍规嵁浠诲姟ID淇敼涓烘寚瀹氱姸鎬侊級
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("UpdateTaskByStatus"), AllowAnonymous]
+        public async Task<WebResponseContent?> UpdateTaskByStatusAsync([FromBody] UpdateTaskDto taskDto)
+        {
+            return await Service.UpdateTaskByStatusAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鍒涘缓鏈烘鎵嬬粍鐩樹换鍔�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("CreateRobotGroupPalletTask"), AllowAnonymous]
+        public async Task<WebResponseContent?> CreateRobotGroupPalletTaskAsync([FromBody] StockDTO taskDto)
+        {
+            return await Service.CreateRobotGroupPalletTaskAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鍒涘缓鏈烘鎵嬫媶鐩樹换鍔�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("CreateRobotSplitPalletTask"), AllowAnonymous]
+        public async Task<WebResponseContent?> CreateRobotSplitPalletTaskAsync([FromBody] StockDTO taskDto)
+        {
+            return await Service.CreateRobotSplitPalletTaskAsync(taskDto);
+        }
+
+        /// <summary>
+        /// 鍒涘缓鏈烘鎵嬫崲鐩樹换鍔�
+        /// </summary>
+        /// <param name="taskDto"></param>
+        /// <returns></returns>
+        [HttpGet, HttpPost, Route("CreateRobotChangePalletTask"), AllowAnonymous]
+        public async Task<WebResponseContent?> CreateRobotChangePalletTaskAsync([FromBody] StockDTO taskDto)
+        {
+            return await Service.CreateRobotChangePalletTaskAsync(taskDto);
         }
 
         /// <summary>
@@ -39,8 +183,8 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        [HttpPost("InOrOutCompleted"), AllowAnonymous]
-        public async Task<WebResponseContent?> InOrOutCompletedAsync([FromBody] InputDto input)
+        [HttpGet, HttpPost, Route("InOrOutCompleted"), AllowAnonymous]
+        public async Task<WebResponseContent?> InOrOutCompletedAsync([FromBody] GradingMachineInputDto input)
         {
             return await Service.InOrOutCompletedAsync(input);
         }
@@ -50,8 +194,8 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        [HttpPost("SendLocationStatus"), AllowAnonymous]
-        public async Task<WebResponseContent?> SendLocationStatusAsync([FromBody] InputDto input)
+        [HttpGet, HttpPost, Route("SendLocationStatus"), AllowAnonymous]
+        public async Task<WebResponseContent?> SendLocationStatusAsync([FromBody] GradingMachineInputDto input)
         {
             return await Service.SendLocationStatusAsync(input);
         }
@@ -61,8 +205,8 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        [HttpPost("RequestOutbound"), AllowAnonymous]
-        public async Task<WebResponseContent?> RequestOutboundAsync([FromBody] InputDto input)
+        [HttpGet, HttpPost, Route("RequestOutbound"), AllowAnonymous]
+        public async Task<WebResponseContent?> RequestOutboundAsync([FromBody] GradingMachineInputDto input)
         {
             return await Service.RequestOutboundAsync(input);
         }
@@ -72,10 +216,69 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        [HttpPost("GetPalletCodeCell"), AllowAnonymous]
-        public async Task<WebResponseContent?> GetPalletCodeCellAsync([FromBody] InputDto input)
+        [HttpGet, HttpPost, Route("GetPalletCodeCell"), AllowAnonymous]
+        public async Task<WebResponseContent?> GetPalletCodeCellAsync([FromBody] GradingMachineInputDto input)
         {
             return await Service.GetPalletCodeCellAsync(input);
         }
+
+        #region 鏋佸嵎搴撲换鍔℃ā鍧�
+
+        /// <summary>
+        /// 鍑哄叆搴撶敵璇�
+        /// </summary>
+        /// <param name="applyInOutDto">璇锋眰鍙傛暟</param>
+        /// <returns></returns>
+        [HttpPost("ApplyInOut"), AllowAnonymous]
+        public async Task<AGVResponse> ApplyInOutAsync([FromBody] ApplyInOutDto applyInOutDto)
+        {
+            return await Service.ApplyInOutAsync(applyInOutDto);
+        }
+
+        /// <summary>
+        /// 鎵嬪姩鍑哄簱瀹屾垚鍙嶉缁橝GV
+        /// </summary>
+        /// <param name="outTaskCompleteDto">璇锋眰鍙傛暟</param>
+        /// <returns></returns>
+        [HttpPost, Route("OutTaskComplete"), AllowAnonymous]
+        public async Task<WebResponseContent> OutTaskComplete([FromBody] OutTaskCompleteDto outTaskCompleteDto)
+        {
+            return await Service.OutTaskComplete(outTaskCompleteDto);
+        }
+
+        /// <summary>
+        /// 杈撻�佺嚎鐢宠杩涘叆
+        /// </summary>
+        /// <param name="applyEnterDto">璇锋眰鍙傛暟</param>
+        /// <returns></returns>
+        [HttpPost("ApplyEnter"), AllowAnonymous]
+        public async Task<AGVResponse?> ApplyEnterAsync([FromBody] ApplyEnterDto applyEnterDto)
+        {
+            return await Service.ApplyEnterAsync(applyEnterDto);
+        }
+
+        /// <summary>
+        /// 鍙栨斁璐у畬鎴�
+        /// </summary>
+        /// <param name="taskCompleteDto">璇锋眰鍙傛暟</param>
+        /// <returns></returns>
+        [HttpPost("TaskComplete"), AllowAnonymous]
+        public async Task<AGVResponse?> TaskCompleteAsync([FromBody] TaskCompleteDto taskCompleteDto)
+        {
+            return await Service.TaskCompleteAsync(taskCompleteDto);
+        }
+
+        /// <summary>
+        /// 浠诲姟鍙栨秷
+        /// </summary>
+        /// <param name="taskCancelDto">璇锋眰鍙傛暟</param>
+        /// <returns></returns>
+        [HttpPost("TaskCancel"), AllowAnonymous]
+        public async Task<AGVResponse?> TaskCancelAsync([FromBody] TaskCancelDto taskCancelDto)
+        {
+            return await Service.TaskCancelAsync(taskCancelDto);
+        }
+
+        #endregion 鏋佸嵎搴撲换鍔℃ā鍧�
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3