using Autofac.Core;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_DTO.WMS;
using WIDESEAWCS_ITaskInfoService;
namespace WIDESEAWCS_Server.Controllers.WMS
{
[Route("api/[controller]")]
[ApiController]
public class WMSController : ControllerBase
{
private readonly ITaskService _taskService;
public WMSController(ITaskService taskService)
{
_taskService = taskService;
}
public WMSReturn ReturnWMS(WebResponseContent content, int successCode = 0, int failCode = 404)
{
return new WMSReturn
{
code = content.Status ? successCode : failCode,
msg = content.Message ?? (content.Status ? "操作成功" : "操作失败"),
data = content.Status ? content.Data : null
};
}
///
/// WMS下发任务
///
///
///
[HttpPost, Route("ReceiveTask"), AllowAnonymous]
public WMSReturn ReceiveWMSTask([FromBody] List taskDTOs)
{
WebResponseContent content = _taskService.ReceiveWMSTask(taskDTOs);
return ReturnWMS(content);
}
///
/// 取消任务
///
///
///
[HttpPost, Route("CancelWMSTask"), AllowAnonymous]
public WMSReturn CancelWMSTask([FromBody] WMSCancelTask wMSCancelTask)
{
WebResponseContent content = _taskService.CancelWMSTask(wMSCancelTask);
return ReturnWMS(content);
}
///
/// 修改任务优先级
///
///
///
[HttpPost, Route("UpdateWMSTaskPriority"), AllowAnonymous]
public WMSReturn UpdateWMSTaskPriority([FromBody] WMSUpdateTaskPriority updateTaskPriority)
{
WebResponseContent content = _taskService.UpdateWMSTaskPriority(updateTaskPriority);
return ReturnWMS(content);
}
///
/// 修改库位分区
///
///
///
[HttpPost, Route("ModifyWMSLayoutZone"), AllowAnonymous]
public WMSReturn ModifyWMSLayoutZone([FromBody] WMSUpdateLocationArea wMSUpdateLocationArea)
{
WebResponseContent content = _taskService.ModifyWMSLayoutZone(wMSUpdateLocationArea);
return ReturnWMS(content);
}
///
/// 区域库位信息查询
///
/// 区域号
///
[HttpPost, Route("LocationInquiry"), AllowAnonymous]
public WMSReturn LocationInquiry(string AreaCode)
{
WebResponseContent content = _taskService.LocationInquiry(AreaCode);
return ReturnWMS(content);
}
}
}