1
yangpeixing
2025-12-04 63e1ee997a5318e628b992f969bdac2fec6dbf14
ÏîÄ¿´úÂë/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;
@@ -11,15 +12,11 @@
{
    private readonly IHttpContextAccessor _httpContextAccessor;
    private readonly IDt_TaskService _taskService;
    private readonly ILocationInfoService _locationService;
    public TaskController(IDt_TaskService taskService,
        IHttpContextAccessor httpContextAccessor,
        ILocationInfoService locationService) : base(taskService)
    public TaskController(IDt_TaskService service,
        IHttpContextAccessor httpContextAccessor) : base(service)
    {
        _httpContextAccessor = httpContextAccessor;
        _taskService = taskService;
        _locationService = locationService;
    }
    /// <summary>
@@ -27,46 +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 _taskService.CompleteAsync(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);
        return await Service.CompleteAsync(taskNum);
    }
    /// <summary>
    /// è¯·æ±‚任务货位
    /// ä»»åŠ¡å–æ¶ˆ
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <param name="taskNum"></param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("RequestLocationTaskAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流
    public async Task<WebResponseContent> UpdateExistingTask([FromBody] RequestTaskDto input)
    [HttpPost, HttpGet,Route("TaskCancel"), AllowAnonymous]
    public WebResponseContent TaskCancel(int taskNum)
    {
        return await Service.UpdateExistingTask(input);
        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("RequestTrayInTaskAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流
    public async Task<WebResponseContent> RequestTrayInTaskAsync([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.RequestTrayInTaskAsync(input);
        return await Service.RequestInboundTaskAsync(input);
    }
    [HttpPost, HttpGet, AllowAnonymous, Route("RequestRelocationTaskAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
    public Task<WebResponseContent> RequestRelocationTaskAsync(string SourceAddress, string TargetAddress)
    {
        return Service.RequestRelocationTaskAsync(SourceAddress, TargetAddress);
    }
    /// <summary>
@@ -74,11 +75,37 @@
    /// </summary>
    /// <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)
    [HttpPost, HttpGet, AllowAnonymous, Route("RequestOutboundTaskAsync")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
    public async Task<Dt_Task> RequestOutboundTaskAsync([FromBody] RequestTaskDto taskDto)
    {
        return await Service.RequestTrayOutTaskAsync(request.Position, request.Tag, request.AreaCdoe, request.AreaCdoes, request.ProductionLine);
        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>
@@ -86,11 +113,69 @@
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("UpdateTaskStatus")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流
    [HttpPost,HttpGet,Route("UpdateTaskStatus") ,AllowAnonymous]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
    public async Task<WebResponseContent> UpdateTaskStatus([FromBody] UpdateStatusDto input)
    {
        return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState);
    }
    /// <summary>
    /// è¯·æ±‚跨楼层任务2
    /// </summary>
    /// <param name="taskDto"></param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("AcrossFloorTaskAsync")]
    public async Task<WebResponseContent> AcrossFloorTaskAsync([FromBody] RequestAcrossFloorTaskDto taskDto)
    {
        return await Service.AcrossFloorTaskAsync(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")]
    [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
    public async Task<DtLocationInfo> GetAGVEmptyCacheLocation(int AreaId,DtLocationInfo location)
    {
        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);
    }
    /// <summary>
    /// åˆå§‹åŒ–提升机
    /// </summary>
    [HttpGet, HttpPost, AllowAnonymous, Route("elevator")]
    public Task<WebResponseContent> InitializationElevator()
    {
         return Service.InitializationElevator();
    }
}