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("ContainerRequest"), AllowAnonymous] public WMSReturn ContainerRequest([FromBody] WMSContainerFlow wMSContainerFlow) { WebResponseContent content = _taskService.ContainerRequest(wMSContainerFlow); return WMSReturnMethod.ReturnWMS(content); } /// /// 平库货位上下架容器 /// /// /// [HttpPost, Route("UpOrDownContainer"), AllowAnonymous] public WMSReturn UpOrDownContainer([FromBody] WMSUpOrDownContainerDTO wMSUpOrDown) { WebResponseContent content = _taskService.UpOrDownContainer(wMSUpOrDown); 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("IQCResult"), AllowAnonymous] public WMSReturn IQCResult([FromBody] IQCResultDTO iQC) { WebResponseContent content = _taskService.IQCResult(iQC); return WMSReturnMethod.ReturnWMS(content); } /// /// 修改库位分区 /// /// /// [HttpPost, Route("UpdateArea"), AllowAnonymous] public WMSReturn UpdateArea([FromBody] WMSUpdateLocationArea wMSUpdateLocationArea) { WebResponseContent content = _taskService.ModifyWMSLayoutZone(wMSUpdateLocationArea); return WMSReturnMethod.ReturnWMS(content); } /// /// 修改任务优先级 /// /// /// [HttpPost, Route("UpdateTaskGrade"), AllowAnonymous] public WMSReturn UpdateTaskGrade([FromBody] WMSUpdateTaskPriority updateTaskPriority) { WebResponseContent content = _taskService.UpdateWMSTaskPriority(updateTaskPriority); return WMSReturnMethod.ReturnWMS(content); } /// /// 区域库位信息查询 /// /// 区域号 /// [HttpGet, HttpPost, Route("QueryStation"), AllowAnonymous] public WMSReturn QueryStation([FromBody] WMSGetLocationInfo getLocationInfo) { WebResponseContent content = _taskService.LocationInquiry(getLocationInfo); return WMSReturnMethod.ReturnWMS(content); } /// /// 更新不同仓库的库位状态,禁用启用 /// /// /// [HttpGet, HttpPost, Route("UpLocationStatus"), AllowAnonymous] public WMSReturn UpLocationStatus([FromBody]UpLocationStatusDTO upLocationStatusDTO) { WebResponseContent content = _taskService.UpLocationStatus(upLocationStatusDTO); return WMSReturnMethod.ReturnWMS(content); } } }