huangxiaoqiang
2025-11-29 f9e8a2d52fe52fb2389892a46c12d4d262ee9aaf
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs
@@ -1,4 +1,5 @@
using WIDESEA_DTO;
using Org.BouncyCastle.Asn1.Mozilla;
using WIDESEA_DTO;
namespace WIDESEA_WMSServer.Controllers.Task;
@@ -23,34 +24,50 @@
    /// </summary>
    /// <param name="saveModel">任务号</param>
    /// <returns>成功或失败</returns>
    [HttpGet, Route("CompleteTaskAsync"), AllowAnonymous]
    //[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流
    [HttpGet,HttpPost, Route("CompleteTaskAsync"), AllowAnonymous]
    public async Task<WebResponseContent> CompleteTaskAsync(int taskNum)
    {
        return await Service.CompleteAsync(taskNum);
    }
    /// <summary>
    /// ä»»åŠ¡å–æ¶ˆ
    /// </summary>
    /// <param name="taskNum"></param>
    /// <returns></returns>
    [HttpPost, HttpGet,Route("TaskCancel"), AllowAnonymous]
    public WebResponseContent TaskCancel(int taskNum)
    {
        return Service.TaskCancel(taskNum);
    }
    /// <summary>
    /// èŽ·å–ä»»åŠ¡ä¿¡æ¯
    /// </summary>
    /// <returns></returns>
    [HttpPost, HttpGet, 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, HttpGet, 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>
    /// æ›´æ–°è´§ä½ä»»åŠ¡çŠ¶æ€åˆ°ä¸‹ä¸€ä¸ªèŠ‚ç‚¹
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("RequestLocationAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流
    public async Task<WebResponseContent> RequestLocationAsync([FromBody] RequestTaskDto input)
    [HttpPost, HttpGet, AllowAnonymous, Route("RequestRelocationTaskAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
    public Task<WebResponseContent> RequestRelocationTaskAsync(string SourceAddress, string TargetAddress)
    {
        return await Service.RequestLocationAsync(input);
        return Service.RequestRelocationTaskAsync(SourceAddress, TargetAddress);
    }
    /// <summary>
@@ -58,11 +75,37 @@
    /// </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, HttpGet, 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, HttpGet, AllowAnonymous, Route("OutBoundTaskAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 2 })]
    public Task<WebResponseContent> OutBoundTaskAsync(string palletCode, string remark, int doubleTray)
    {
        return Service.OutBoundTaskAsync(palletCode, remark, doubleTray);
    }
    [HttpPost, HttpGet, AllowAnonymous, Route("OtherOutBoundTaskAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 2 })]
    public Task<WebResponseContent> OtherOutBoundTaskAsync([FromBody] List<DtStockInfoDetail> details)
    {
        return Service.OtherOutBoundTaskAsync(details);
    }
    [HttpPost, HttpGet, AllowAnonymous, Route("HandAllocateOutBoundTaskAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 2 })]
    public Task<WebResponseContent> HandAllocateOutBoundTaskAsync([FromBody] List<DtStockInfoDetail> details)
    {
        return Service.HandAllocateOutBoundTaskAsync(details);
    }
    /// <summary>
@@ -71,7 +114,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 +131,42 @@
        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")]
    public async Task<WebResponseContent> AGVIsNeedRelocationAsync([FromBody] RequestTaskDto taskDto)
    {
        return await Service.AGVIsNeedRelocationAsync(taskDto);
    }
    [HttpPost, AllowAnonymous, Route("UpdateStartLocationInfo")]
    public async Task<WebResponseContent> UpdateStartLocationInfo([FromBody]Dt_Task task)
    {
        return await Service.UpdateStartLocationInfo(task);
    }
    [HttpPost,HttpGet, AllowAnonymous, Route("RequestLocation")]
    public Task<WebResponseContent> RequestLocation(string palletCode)
    {
        return Service.RequestLocation(palletCode);
    }
}