From 387731cab892804912e68cb91e6fb804411c4756 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 27 十月 2025 23:32:16 +0800
Subject: [PATCH] 优化与ERP出库单逻辑,增加打印程序

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs |  115 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 69 insertions(+), 46 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
index beabf62..97cca29 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
@@ -24,21 +24,42 @@
     /// <param name="saveModel">浠诲姟鍙�</param>
     /// <returns>鎴愬姛鎴栧け璐�</returns>
     [HttpGet, Route("CompleteTaskAsync"), AllowAnonymous]
-    //[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
     public async Task<WebResponseContent> CompleteTaskAsync(int taskNum)
     {
         return await Service.CompleteAsync(taskNum);
     }
+
+    /// <summary>
+    /// 浠诲姟鍙栨秷
+    /// </summary>
+    /// <param name="taskNum"></param>
+    /// <returns></returns>
+    [HttpPost, Route("TaskCancel"), AllowAnonymous]
+    public WebResponseContent TaskCancel(int taskNum)
+    {
+        return Service.TaskCancel(taskNum);
+    }
+
+    /// <summary>
+    /// 鑾峰彇浠诲姟淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost, Route("GetTaskInfo")]
+    public WebResponseContent GetTaskInfo()
+    {
+        return Service.GetTaskInfo();
+    }
+
     /// <summary>
     /// 璇锋眰鍏ュ簱浠诲姟
     /// </summary>
     /// <param name="input">璇锋眰鏁版嵁</param>
     /// <returns></returns>
-    [HttpPost, AllowAnonymous, Route("RequestTaskAsync")]
-    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
-    public async Task<WebResponseContent> RequestTaskAsync([FromBody] RequestTaskDto input)
+    [HttpPost, AllowAnonymous, Route("RequestInboundTaskAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+    public async Task<WebResponseContent> RequestInboundTaskAsync([FromBody] RequestTaskDto input)
     {
-        return await Service.RequestTaskAsync(input);
+        return await Service.RequestInboundTaskAsync(input);
     }
 
     /// <summary>
@@ -47,7 +68,7 @@
     /// <param name="input">璇锋眰鏁版嵁</param>
     /// <returns></returns>
     [HttpPost, AllowAnonymous, Route("RequestLocationAsync")]
-    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
     public async Task<WebResponseContent> RequestLocationAsync([FromBody] RequestTaskDto input)
     {
         return await Service.RequestLocationAsync(input);
@@ -58,11 +79,23 @@
     /// </summary>
     /// <param name="request">璇锋眰鏁版嵁</param>
     /// <returns></returns>
-    [HttpPost, AllowAnonymous, Route("RequestOutTaskAsync")]
-    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
-    public async Task<WebResponseContent> RequestOutTaskAsync([FromBody] RequestTaskDto taskDto)
+    [HttpPost, AllowAnonymous, Route("RequestOutboundTaskAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+    public async Task<Dt_Task> RequestOutboundTaskAsync([FromBody] RequestTaskDto taskDto)
     {
-        return await Service.RequestOutTaskAsync(taskDto);
+        return await Service.RequestOutboundTaskAsync(taskDto);
+    }
+
+    /// <summary>
+    /// 鍑哄簱鑷崇紦瀛樺尯
+    /// </summary>
+    /// <param name="request">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("OutBoundTaskAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 2 })]
+    public Task<WebResponseContent> OutBoundTaskAsync(string palletCode)
+    {
+        return Service.OutBoundTaskAsync(palletCode);
     }
 
     /// <summary>
@@ -71,7 +104,7 @@
     /// <param name="input">璇锋眰鏁版嵁</param>
     /// <returns></returns>
     [HttpPost,HttpGet,Route("UpdateTaskStatus") ,AllowAnonymous]
-    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] 
     public async Task<WebResponseContent> UpdateTaskStatus([FromBody] UpdateStatusDto input)
     {
         return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState);
@@ -88,49 +121,39 @@
         return await Service.AcrossFloorTaskAsync(taskDto);
     }
 
-    /// <summary>
-    /// 璺ㄦゼ灞備换鍔¤姹�
-    /// </summary>
-    /// <param name="taskDto"></param>
-    /// <returns></returns>
-    [HttpPost, AllowAnonymous, Route("RequestAcrossFloorTaskAsync")]
-    public async Task<WebResponseContent> RequestAcrossFloorTaskAsync([FromBody] RequestTaskDto taskDto)
-    {
-        return await Service.RequestAcrossFloorTaskAsync(taskDto);
-    }
-
-    [HttpPost, AllowAnonymous, Route("RequestPointAcrossFloorTaskAsync")]
-    public async Task<WebResponseContent> RequestPointAcrossFloorTaskAsync([FromBody] RequestTaskDto taskDto)
-    {
-        return await Service.RequestPointAcrossFloorTaskAsync(taskDto);
-    }
-
-    /// <summary>
-    /// AGV鎼繍浠诲姟璇锋眰
-    /// </summary>
-    /// <param name="taskDto"></param>
-    /// <returns></returns>
-    [HttpPost, AllowAnonymous, Route("RequestAGVCarryTaskAsync")]
-    public async Task<WebResponseContent> RequestAGVCarryTaskAsync([FromBody] RequestTaskDto taskDto)
-    {
-        return await Service.RequestAGVCarryTaskAsync(taskDto);
-    }
-
-    [HttpPost, AllowAnonymous, Route("RequestAGVCarryTaskAsync")]
-    public async Task<WebResponseContent> RequestPointAGVCarryTaskAsync([FromBody] RequestTaskDto taskDto)
-    {
-        return await Service.RequestPointAGVCarryTaskAsync(taskDto);
-    }
 
     [HttpPost, AllowAnonymous, Route("GetEmptyLocation")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
     public async Task<DtLocationInfo> GetEmptyLocation(string roadWay)
     {
         return await Service.GetEmptyLocation(roadWay);
     }
 
     [HttpPost, AllowAnonymous, Route("GetAGVEmptyCacheLocation")]
-    public async Task<DtLocationInfo> GetAGVEmptyCacheLocation(int AreaId)
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+    public async Task<DtLocationInfo> GetAGVEmptyCacheLocation(int AreaId,DtLocationInfo location)
     {
-        return await Service.GetAGVEmptyCacheLocation(AreaId);
+        return await Service.GetAGVEmptyCacheLocation(AreaId,location);
+    }
+
+    [HttpPost, AllowAnonymous, Route("StackerIsNeedRelocationAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+    public async Task<WebResponseContent> StackerIsNeedRelocationAsync([FromBody] RequestTaskDto taskDto)
+    {
+        return await Service.StackerIsNeedRelocationAsync(taskDto);
+    }
+
+    [HttpPost, AllowAnonymous, Route("AGVIsNeedRelocationAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+    public async Task<WebResponseContent> AGVIsNeedRelocationAsync([FromBody] RequestTaskDto taskDto)
+    {
+        return await Service.AGVIsNeedRelocationAsync(taskDto);
+    }
+
+    [HttpPost, AllowAnonymous, Route("SendERPTaskCompletion")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
+    public Task<WebResponseContent> ERPAllocate(string palletCode)
+    {
+        return Service.ERPAllocate(palletCode);
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3