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_IBasicInfoService;
using WIDESEAWCS_ITaskInfoService;
namespace WIDESEAWCS_Server.Controllers.WMS
{
[Route("api/[controller]")]
[ApiController]
public class WMSController : ControllerBase
{
private readonly ITaskService _taskService;
private readonly IStationMangerService _stationMangerService;
public WMSController(ITaskService taskService, IStationMangerService stationMangerService)
{
_taskService = taskService;
_stationMangerService = stationMangerService;
}
///
/// WMS下发任务
///
///
///
[HttpPost, Route("ReceiveTask"), AllowAnonymous]
public WMSReturn ReceiveWMSTask([FromBody] List taskDTOs)
{
WebResponseContent content = _taskService.ReceiveWMSTask(taskDTOs);
return WMSReturnMethod.ReturnWMS(content);
}
///
/// 取消任务
///
///
///
[HttpPost, Route("CancelWMSTask"), AllowAnonymous]
public WMSReturn CancelWMSTask([FromBody] WMSCancelTask wMSCancelTask)
{
WebResponseContent content = _taskService.CancelWMSTask(wMSCancelTask);
return WMSReturnMethod.ReturnWMS(content);
}
///
/// 修改任务优先级
///
///
///
[HttpPost, Route("UpdateWMSTaskPriority"), AllowAnonymous]
public WMSReturn UpdateWMSTaskPriority([FromBody] WMSUpdateTaskPriority updateTaskPriority)
{
WebResponseContent content = _taskService.UpdateWMSTaskPriority(updateTaskPriority);
return WMSReturnMethod.ReturnWMS(content);
}
///
/// 修改库位分区
///
///
///
[HttpPost, Route("ModifyWMSLayoutZone"), AllowAnonymous]
public WMSReturn ModifyWMSLayoutZone([FromBody] WMSUpdateLocationArea wMSUpdateLocationArea)
{
WebResponseContent content = _taskService.ModifyWMSLayoutZone(wMSUpdateLocationArea);
return WMSReturnMethod.ReturnWMS(content);
}
///
/// 区域库位信息查询
///
/// 区域号
///
[HttpPost, Route("LocationInquiry"), AllowAnonymous]
public WMSReturn LocationInquiry(string AreaCode)
{
WebResponseContent content = _taskService.LocationInquiry(AreaCode);
return WMSReturnMethod.ReturnWMS(content);
}
}
}