using WIDESEA_DTO; using static WIDESEA_DTO.RequestTaskDto; namespace WIDESEA_WMSServer.Controllers; /// /// 任务操作接口 /// [Route("api/[controller]")] [ApiController] public class TaskController : ApiBaseController { private readonly IHttpContextAccessor _httpContextAccessor; private readonly IDt_TaskService _taskService; private readonly ILocationInfoService _locationService; public TaskController(IDt_TaskService taskService, IHttpContextAccessor httpContextAccessor, ILocationInfoService locationService) : base(taskService) { _httpContextAccessor = httpContextAccessor; _taskService = taskService; _locationService = locationService; } /// /// 任务完成 /// /// 任务号 /// 成功或失败 [HttpGet, Route("CompleteTaskAsync"), AllowAnonymous] public async Task CompleteTaskAsync(int taskNum) { return await _taskService.CompleteAsync(taskNum); } /// /// 任务完成 /// /// 任务号 /// 成功或失败 //[HttpGet, Route("CompleteTaskByStation"), AllowAnonymous] //public async Task CompleteTaskByStation(int taskNum) //{ // return await _taskService.CompleteTaskByStation(taskNum); //} /// /// 检查是否需要进行移库 /// /// 任务号 /// 任务 [HttpPost, Route("TransferCheckAsync"), AllowAnonymous] public async Task TransferCheckAsync([FromBody] RequestTaskDto input) { return new WebResponseContent().OK(data: await _locationService.TransferCheckAsync(input)); } /// /// 请求任务巷道 /// /// 请求数据 /// [HttpPost, AllowAnonymous, Route("RequestInTask")] public async Task RequestInTask([FromBody] RequestTaskDto input) { return await Service.RequestInTask(input); } /// /// 请求任务货位 /// /// 请求数据 /// [HttpPost, AllowAnonymous, Route("RequestLocationTaskAsync")] public async Task UpdateExistingTask([FromBody] RequestTaskDto input) { return await Service.UpdateExistingTask(input); } /// /// 任务状态修改 /// /// 请求数据 /// [HttpPost, AllowAnonymous, Route("UpdateTaskStatus")] public async Task UpdateTaskStatus([FromBody] UpdateStatusDto input) { return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState); } /// /// 创建指定任务 /// /// 托盘号 /// [HttpPost, AllowAnonymous, Route("CreateAndSendOutboundTask")] public WebResponseContent CreateAndSendOutboundTask([FromBody] SaveModel saveModel) //string palletCode, string station { return Service.CreateAndSendOutboundTask(saveModel); } }