using Org.BouncyCastle.Asn1.Mozilla;
using WIDESEA_DTO;
using WIDESEA_StorageTaskServices;
namespace WIDESEA_WMSServer.Controllers.Task;
///
/// 任务操作接口
///
[Route("api/Task")]
[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, HttpPost, Route("CompleteTaskAsync"), AllowAnonymous]
public async Task CompleteTaskAsync(int taskNum)
{
return await Service.CompleteAsync(taskNum);
}
///
/// 任务取消
///
///
///
[HttpPost, HttpGet, Route("TaskCancel"), AllowAnonymous]
public WebResponseContent TaskCancel(int taskNum)
{
return Service.TaskCancel(taskNum);
}
///
/// 获取任务信息
///
///
[HttpPost, HttpGet, Route("GetTaskInfo")]
public WebResponseContent GetTaskInfo()
{
return Service.GetTaskInfo();
}
///
/// 请求入库任务
///
/// 请求数据
///
[HttpPost, HttpGet, AllowAnonymous, Route("RequestInboundTaskAsync")]
[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
public async Task RequestInboundTaskAsync([FromBody] RequestTaskDto input)
{
return await Service.RequestInboundTaskAsync(input);
}
///
/// 任务状态修改
///
/// 请求数据
///
[HttpPost, HttpGet, Route("UpdateTaskStatus"), AllowAnonymous]
[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
public async Task UpdateTaskStatus([FromBody] UpdateStatusDto input)
{
return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState);
}
[HttpPost, AllowAnonymous, Route("GetEmptyLocation")]
[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
public async Task GetEmptyLocation(string roadWay)
{
return await Service.GetEmptyLocation(roadWay);
}
}