From 990afb24199ef1f7a4648728ac28ed74394e459c Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期二, 31 三月 2026 12:27:50 +0800
Subject: [PATCH] 任务服务优化与接口扩展,日志与配置调整

---
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs |  210 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 203 insertions(+), 7 deletions(-)

diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
index 58cf6b7..769e109 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
@@ -1,5 +1,8 @@
-锘縰sing WIDESEA_DTO;
-using static WIDESEA_DTO.RequestTaskDto;
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_DTO;
+using WIDESEA_IStorageBasicRepository;
+using WIDESEA_IStorageTaskRepository;
+using WIDESEAWCS_QuartzJob.Models;
 
 namespace WIDESEA_WMSServer.Controllers;
 
@@ -13,14 +16,18 @@
     private readonly IHttpContextAccessor _httpContextAccessor;
     private readonly IDt_TaskService _taskService;
     private readonly ILocationInfoService _locationService;
+    private readonly ILocationInfoRepository _locationRepository;
+    private readonly IDt_TaskRepository BaseDal;
 
     public TaskController(IDt_TaskService taskService,
         IHttpContextAccessor httpContextAccessor,
-        ILocationInfoService locationService) : base(taskService)
+        ILocationInfoService locationService, ILocationInfoRepository locationInfoRepository,IDt_TaskRepository repository) : base(taskService)
     {
         _httpContextAccessor = httpContextAccessor;
         _taskService = taskService;
         _locationService = locationService;
+        _locationRepository = locationInfoRepository;
+        BaseDal = repository;
     }
 
     /// <summary>
@@ -29,6 +36,7 @@
     /// <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 _taskService.CompleteAsync(taskNum);
@@ -40,20 +48,46 @@
     /// <param name="taskNum">浠诲姟鍙�</param>
     /// <returns>浠诲姟</returns>
     [HttpGet, Route("TransferCheckAsync"), AllowAnonymous]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
     public async Task<WebResponseContent> TransferCheckAsync(int taskNum)
     {
         return new WebResponseContent().OK(data: await _locationService.TransferCheckAsync(taskNum));
     }
 
     /// <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)
     {
         return await Service.RequestTaskAsync(input);
+    }
+
+    /// <summary>
+    /// 璇锋眰浠诲姟宸烽亾
+    /// </summary>
+    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("RequestInTask")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    public async Task<WebResponseContent> RequestInTask([FromBody] RequestTaskDto input)
+    {
+        return await Service.RequestInTask(input);
+    }
+
+    /// <summary>
+    /// 璇锋眰浠诲姟璐т綅
+    /// </summary>
+    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("RequestLocationTaskAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    public async Task<WebResponseContent> UpdateExistingTask([FromBody] RequestTaskDto input)
+    {
+        return await Service.UpdateExistingTask(input);
     }
 
     /// <summary>
@@ -62,20 +96,22 @@
     /// <param name="input">璇锋眰鏁版嵁</param>
     /// <returns></returns>
     [HttpPost, AllowAnonymous, Route("RequestTrayInTaskAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
     public async Task<WebResponseContent> RequestTrayInTaskAsync([FromBody] RequestTaskDto input)
     {
         return await Service.RequestTrayInTaskAsync(input);
     }
 
     /// <summary>
-    /// 绌烘墭鐩�&婊$洏鍑哄簱璇锋眰
+    /// 绌烘墭鐩樻弧鐩樺嚭搴撹姹�
     /// </summary>
-    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <param name="request">璇锋眰鏁版嵁</param>
     /// <returns></returns>
     [HttpPost, AllowAnonymous, Route("RequestTrayOutTaskAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
     public async Task<WebResponseContent> RequestTrayOutTaskAsync([FromBody] RequestOutTaskDto request)
     {
-        return await Service.RequestTrayOutTaskAsync(request.Position, request.Tag, request.AreaCdoe, request.Roadways);
+        return await Service.RequestTrayOutTaskAsync(request.Position, request.Tag, request.AreaCdoe, request.AreaCdoes, request.ProductionLine);
     }
 
     /// <summary>
@@ -84,8 +120,168 @@
     /// <param name="input">璇锋眰鏁版嵁</param>
     /// <returns></returns>
     [HttpPost, AllowAnonymous, Route("UpdateTaskStatus")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
     public async Task<WebResponseContent> UpdateTaskStatus([FromBody] UpdateStatusDto input)
     {
         return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState);
     }
+
+    /// <summary>
+    /// 鑾峰彇楂樻俯鍙嚭搴撳簱瀛�
+    /// </summary>
+    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpGet, AllowAnonymous, Route("StockCheckingAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    public WebResponseContent StockCheckingAsync()
+    {
+        return Service.StockCheckingAsync();
+    }
+
+    /// <summary>
+    /// 鍒涘缓鎸囧畾浠诲姟
+    /// </summary>
+    /// <param name="locationCode">璐т綅鍙�</param>
+    /// <param name="palletCode">鎵樼洏鍙�</param>
+    /// <returns></returns>
+    [HttpGet, AllowAnonymous, Route("CreateAndSendOutboundTask")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    public async Task<WebResponseContent> CreateAndSendOutboundTask(string locationCode, string palletCode)
+    {
+        return await Service.CreateAndSendOutboundTask(locationCode, palletCode);
+    }
+
+    /// <summary>
+    /// 闈欑疆NG鍏ュ簱
+    /// </summary>
+    /// <param name="locationCode">璐т綅鍙�</param>
+    /// <param name="palletCode">鎵樼洏鍙�</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("RequestInBoundTaskNG")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    public async Task<WebResponseContent> RequestInBoundTaskNG([FromBody] RequestTaskDto input)
+    {
+        return await Service.CreateAndSendInboundTask(input.PalletCode, input.Position);
+    }
+
+    /// <summary>
+    /// 甯告俯琛ョ┖鎵樼洏鑷冲垎瀹�
+    /// </summary>
+    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("GetFROutTrayToCW")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 15 })] // 5绉掕妭娴�
+    public async Task<WebResponseContent> GetFROutTrayToCW([FromBody] RequestTaskDto input)
+    {
+        return await Service.GetFROutTrayToCW(input);
+    }
+
+    /// <summary>
+    /// DTS鐏鍑哄簱
+    /// </summary>
+    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("EmergencyTask")]
+    public WebResponseContent EmergencyTask([FromBody] object input)
+    {
+        return Service.EmergencyTask(input);
+    }
+
+    /// <summary>
+    /// CW3 鍑哄簱鑷冲寘瑁�
+    /// </summary>
+    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("RequestOutTaskToBZAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    public async Task<WebResponseContent> RequestOutTaskToBZAsync([FromBody] RequestTaskDto input)
+    {
+        return await Service.RequestOutTaskToBZAsync(input);
+    }
+
+    /// <summary>
+    /// 鍒嗗绌烘鍏ュ簱鏀逛负鐩存帴鍑哄簱
+    /// </summary>
+    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("SetEmptyOutbyInToOutAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    public async Task<WebResponseContent> SetEmptyOutbyInToOutAsync([FromBody] RequestTaskDto input)
+    {
+        return await Service.SetEmptyOutbyInToOutAsync(input);
+    }
+
+    /// <summary>
+    /// 鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱
+    /// </summary>
+    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("SetEmptyOutbyInToOutOneAsync")]
+    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5绉掕妭娴�
+    public async Task<WebResponseContent> SetEmptyOutbyInToOutOneAsync([FromBody] RequestTaskDto input)
+    {
+        return await Service.SetEmptyOutbyInToOutOneAsync(input);
+    }
+    [HttpPost, AllowAnonymous, Route("GetTaskInfo")]
+    public WebResponseContent GetTaskInfo()
+    {
+        return Service.GetTaskInfo();
+    }
+    [HttpPost, AllowAnonymous, Route("GetStockInfo")]
+    public WebResponseContent GetStockInfo()
+    {
+        return Service.GetStockInfo();
+    }
+
+    /// <summary>
+    /// 鑾峰彇搴撳瓨淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("GetStockQuantity")]
+    public WebResponseContent GetStockQuantity()
+    {
+        return Service.GetStockQuantity();
+    }
+    [HttpPost, AllowAnonymous, Route("Getproductionvolume")]
+    public WebResponseContent Getproductionvolume()
+    {
+        return Service.Getproductionvolume();
+    }
+    [HttpPost, AllowAnonymous, Route("Getoutput")]
+    public WebResponseContent Getoutput()
+    {
+        return Service.Getoutput();
+    }
+
+    [HttpPost, AllowAnonymous, Route("GetTimeoutgetPageData")]
+    public WebResponseContent GetTimeout()
+    {
+        return Service.GetTimeout();
+    }
+
+
+    /// <summary>
+    /// 浜ч噺缁熻
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost,AllowAnonymous,Route("GetproductionstatisticsgetPageData")]
+    public WebResponseContent Getproductionstatistics()
+    {
+        return Service.Getproductionstatistics();
+    }
+    /// <summary>
+    /// 鑾峰彇涓嶆槸绌洪棽浠ュ強鏈夎揣鐨勫叏閮ㄨ揣浣�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost, AllowAnonymous, Route("LocationStatusgetPageData")]
+    public WebResponseContent LocationStatus()
+    {
+        return Service.GetLocationStatus();
+    }
+
+    [HttpPost, AllowAnonymous, Route("GetRoadWayAsync")]
+    public async Task<string> GetRoadWayAsync(List<string> process)
+    {
+        return await Service.GetRoadWayAsync(process);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3