using WIDESEA_DTO; namespace WIDESEA_WMSServer.Controllers.Task; /// /// 任务操作接口 /// [Route("api/[controller]")] [ApiController] public class TaskController : ApiBaseController { private readonly IHttpContextAccessor _httpContextAccessor; private readonly IDt_TaskService _taskService; public TaskController(IDt_TaskService service, IHttpContextAccessor httpContextAccessor) : base(service) { _httpContextAccessor = httpContextAccessor; } /// /// 任务完成 /// /// 任务号 /// 成功或失败 [HttpGet, Route("CompleteTaskAsync"), AllowAnonymous] //[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流 public async Task CompleteTaskAsync(int taskNum) { return await Service.CompleteAsync(taskNum); } /// /// 请求入库任务 /// /// 请求数据 /// [HttpPost, AllowAnonymous, Route("RequestTaskAsync")] [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流 public async Task RequestTaskAsync([FromBody] RequestTaskDto input) { return await Service.RequestTaskAsync(input); } /// /// 请求任务货位 /// /// 请求数据 /// [HttpPost, AllowAnonymous, Route("RequestLocationTaskAsync")] [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流 public async Task UpdateExistingTask([FromBody] RequestTaskDto input) { return await Service.UpdateExistingTask(input); } /// /// 空托盘满盘出库请求 /// /// 请求数据 /// [HttpPost, AllowAnonymous, Route("RequestOutTaskAsync")] [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流 public async Task RequestOutTaskAsync([FromBody] RequestTaskDto taskDto) { return await Service.RequestOutTaskAsync(taskDto); } /// /// 任务状态修改 /// /// 请求数据 /// [HttpPost,HttpGet,Route("UpdateTaskStatus") ,AllowAnonymous] [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5秒节流 public async Task UpdateTaskStatus([FromBody] UpdateStatusDto input) { return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState); } /// /// 请求跨楼层任务2 /// /// /// [HttpPost, AllowAnonymous, Route("AcrossFloorTaskAsync")] public async Task AcrossFloorTaskAsync([FromBody] RequestAcrossFloorTaskDto taskDto) { return await Service.AcrossFloorTaskAsync(taskDto); } /// /// 跨楼层任务请求 /// /// /// [HttpPost, AllowAnonymous, Route("RequestAcrossFloorTaskAsync")] public async Task RequestAcrossFloorTaskAsync([FromBody] RequestTaskDto taskDto) { return await Service.RequestAcrossFloorTaskAsync(taskDto); } /// /// AGV搬运任务请求 /// /// /// [HttpPost, AllowAnonymous, Route("RequestAGVCarryTaskAsync")] public Task RequestAGVCarryTaskAsync([FromBody] RequestTaskDto taskDto) { return Service.RequestAGVCarryTaskAsync(taskDto); } }