From 4b483d9d06bead231b88ca212fd799196668a057 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 28 四月 2026 22:58:27 +0800
Subject: [PATCH] fix(任务服务): 修复出库任务选择逻辑和货位分配问题

---
 Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs |  113 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 107 insertions(+), 6 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 30de01d..49c4f4a 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
@@ -1,7 +1,5 @@
 锘縰sing Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
-using WIDESEA_Common.CommonEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseController;
 using WIDESEA_DTO.GradingMachine;
@@ -28,7 +26,7 @@
         /// </summary>
         /// <param name="taskDto"></param>
         /// <returns></returns>
-        [HttpGet, HttpPost, Route("CreateTaskInbound"),AllowAnonymous]
+        [HttpGet, HttpPost, Route("CreateTaskInbound"), AllowAnonymous]
         public async Task<WebResponseContent?> CreateTaskInboundAsync([FromBody] CreateTaskDto taskDto)
         {
             return await Service.CreateTaskInboundAsync(taskDto);
@@ -43,6 +41,39 @@
         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>
+        /// 鎵嬪姩涓嬪彂浠诲姟鍒癢CS
+        /// </summary>
+        /// <param name="dtos">涓嬪彂浠诲姟鍙傛暟鍒楄〃</param>
+        /// <returns>鎵归噺涓嬪彂缁撴灉</returns>
+        [HttpGet, HttpPost, Route("DispatchTasksToWCS"), AllowAnonymous]
+        public async Task<WebResponseContent?> DispatchTasksToWCSAsync([FromBody] List<DispatchTaskDto> dtos)
+        {
+            return await Service.DispatchTasksToWCSAsync(dtos);
+        }
+
+        /// <summary>
+        /// 缁勭洏/鎷嗙洏鎿嶄綔骞跺垱寤哄叆搴撲换鍔�
+        /// </summary>
+        /// <param name="dto">缁勭洏/鎷嗙洏鎿嶄綔鍙傛暟</param>
+        /// <returns>鎿嶄綔缁撴灉</returns>
+        [HttpGet, HttpPost, Route("PalletOperation"), AllowAnonymous]
+        public async Task<WebResponseContent?> PalletOperationAsync([FromBody] PalletOperationTaskDto dto)
+        {
+            return await Service.PalletOperationAndCreateTaskAsync(dto);
         }
 
         /// <summary>
@@ -101,7 +132,7 @@
         }
 
         /// <summary>
-        /// 鍒涘缓绌烘墭鐩樺嚭搴撲换鍔�
+        /// 鍒涘缓绌烘墭鐩樺叆搴撲换鍔�
         /// </summary>
         /// <param name="taskDto"></param>
         /// <returns></returns>
@@ -112,6 +143,17 @@
         }
 
         /// <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>
@@ -119,7 +161,7 @@
         [HttpGet, HttpPost, Route("UpdateTaskByStatus"), AllowAnonymous]
         public async Task<WebResponseContent?> UpdateTaskByStatusAsync([FromBody] UpdateTaskDto taskDto)
         {
-            return await Service.UpdateTaskByStatusAsync(taskDto.Id, taskDto.NewStatus);
+            return await Service.UpdateTaskByStatusAsync(taskDto);
         }
 
         /// <summary>
@@ -198,5 +240,64 @@
         {
             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