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; } 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); } } }