From f197ac114061e075e72b9fe15d350c4485c9b260 Mon Sep 17 00:00:00 2001
From: xiazhengtongxue <133085197+xiazhengtongxue@users.noreply.github.com>
Date: 星期一, 30 三月 2026 16:58:08 +0800
Subject: [PATCH] feat(AGV): 新增极卷库AGV接口

---
 Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs |  154 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 149 insertions(+), 5 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 8df930c..17d2a3f 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;
@@ -79,12 +80,89 @@
         }
 
         /// <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>
+        /// 淇敼浠诲姟鐘舵�侊紙鏍规嵁浠诲姟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.Id, taskDto.NewStatus);
+        }
+
+        /// <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>
         /// 鍫嗗灈鏈哄彇鏀捐揣瀹屾垚鍚庣墿娴侀�氱煡鍖栨垚鍒嗗鏌滃畬鎴愪俊鍙�
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
         [HttpGet, HttpPost, Route("InOrOutCompleted"), AllowAnonymous]
-        public async Task<WebResponseContent?> InOrOutCompletedAsync([FromBody] InputDto input)
+        public async Task<WebResponseContent?> InOrOutCompletedAsync([FromBody] GradingMachineInputDto input)
         {
             return await Service.InOrOutCompletedAsync(input);
         }
@@ -95,7 +173,7 @@
         /// <param name="input"></param>
         /// <returns></returns>
         [HttpGet, HttpPost, Route("SendLocationStatus"), AllowAnonymous]
-        public async Task<WebResponseContent?> SendLocationStatusAsync([FromBody] InputDto input)
+        public async Task<WebResponseContent?> SendLocationStatusAsync([FromBody] GradingMachineInputDto input)
         {
             return await Service.SendLocationStatusAsync(input);
         }
@@ -106,7 +184,7 @@
         /// <param name="input"></param>
         /// <returns></returns>
         [HttpGet, HttpPost, Route("RequestOutbound"), AllowAnonymous]
-        public async Task<WebResponseContent?> RequestOutboundAsync([FromBody] InputDto input)
+        public async Task<WebResponseContent?> RequestOutboundAsync([FromBody] GradingMachineInputDto input)
         {
             return await Service.RequestOutboundAsync(input);
         }
@@ -117,9 +195,75 @@
         /// <param name="input"></param>
         /// <returns></returns>
         [HttpGet, HttpPost, Route("GetPalletCodeCell"), AllowAnonymous]
-        public async Task<WebResponseContent?> GetPalletCodeCellAsync([FromBody] InputDto input)
+        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="wCSTask">璇锋眰鍙傛暟</param>
+        ///// <returns></returns>
+        //[HttpPost, Route("TaskCompleted"), AllowAnonymous]
+        //public async Task<WebResponseContent?> TaskCompleted([FromBody] WCSTaskDTO wCSTask)
+        //{
+        //    return await Service.TaskCompleted(wCSTask);
+        //}
+        /// <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 鏋佸嵎搴撲换鍔℃ā鍧�
     }
 }

--
Gitblit v1.9.3