using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using WIDESEA_Common.CommonEnum; using WIDESEA_Core; using WIDESEA_Core.BaseController; using WIDESEA_DTO.Stock; using WIDESEA_DTO.Task; using WIDESEA_ITaskInfoService; using WIDESEA_Model.Models; namespace WIDESEA_WMSServer.Controllers.TaskInfo { /// /// 任务 /// [Route("api/Task")] [ApiController] public class TaskController : ApiBaseController { public TaskController(ITaskService service) : base(service) { } /// /// WCS申请入库任务(不分配货位) /// /// /// /// [HttpPost, HttpGet, Route("DeviceRequestInboundTaskSimple"), AllowAnonymous] public WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode) { return Service.DeviceRequestInboundTaskSimple(stationCode, palletCode); } /// /// 入库任务申请分配货位 /// /// 任务号 /// 巷道号 /// [HttpPost, HttpGet, Route("AssignInboundTaskLocation"), AllowAnonymous] public WebResponseContent AssignInboundTaskLocation(int taskNum, string roadwayNo) { return Service.AssignInboundTaskLocation(taskNum, roadwayNo); } /// /// /// /// /// /// /// [HttpPost, HttpGet, Route("AssignInboundTaskLocationByHeight"), AllowAnonymous] public WebResponseContent AssignInboundTaskLocationByHeight(int taskNum, string roadwayNo, int heightType) { return Service.AssignInboundTaskLocationByHeight(taskNum, roadwayNo, heightType); } /// /// 成品余料退库入仓 /// /// /// /// [HttpPost, HttpGet, Route("BackProductTask"), AllowAnonymous] public WebResponseContent BackProductTask(string barCode, string startPoint) { return Service.BackProductTask(barCode, startPoint); } /// /// 成品空框回库 /// /// /// /// [HttpPost, HttpGet, Route("EmptyBackTask"), AllowAnonymous] public WebResponseContent EmptyBackTask(string barCode, string startPoint) { return Service.EmptyBackTask(barCode, startPoint); } /// /// 判断是否需要移库 /// /// 任务号 /// /// [HttpPost, HttpGet, Route("IsRelocation"), AllowAnonymous] public WebResponseContent IsRelocation(int taskNum, string locationCode) { return Service.IsRelocation(taskNum, locationCode); } /// /// 任务完成 /// /// 任务号 /// [HttpPost, HttpGet, Route("TaskCompleted"), AllowAnonymous] public async Task TaskCompleted(int taskNum) { return await Service.TaskCompleted(taskNum); } /// /// 单个任务推送至WCS /// /// 任务号 /// /// [HttpPost, HttpGet, Route("PushTasksToWCSSingle"), AllowAnonymous] public WebResponseContent PushTasksToWCSSingle(int taskNum, string agvDescription = "") { return Service.PushTasksToWCSSingle(taskNum, agvDescription); } /// /// 选择库存生成出库任务 /// /// /// [HttpPost, Route("Outbound"), AllowAnonymous] public WebResponseContent Outbound(int id) { return Service.Outbound(id); } /// /// 分配巷道(带任务号及高度) /// /// /// /// /// [HttpPost, Route("AssignRoadwayByHeight"), AllowAnonymous] public WebResponseContent AssignRoadwayByHeight([FromBody] List roadwayNos, int taskNum, int heightType = 0) { return Service.AssignRoadwayByHeight(roadwayNos, taskNum, heightType); } /// /// 分配巷道(带任务号) /// /// /// /// [HttpPost, Route("AssignRoadway"), AllowAnonymous] public WebResponseContent AssignRoadway(int taskNum, [FromBody] List roadwayNos,int heightType) { return Service.AssignRoadway(taskNum, roadwayNos, heightType); } /// /// 分配巷道 /// /// /// [HttpPost, Route("SingleAssignRoadway"), AllowAnonymous] public WebResponseContent SingleAssignRoadway([FromBody] List roadwayNos) { return Service.SingleAssignRoadway(roadwayNos); } /// /// 修改任务状态 /// /// /// [HttpPost, Route("UpdateTaskInfo"), AllowAnonymous] public WebResponseContent UpdateTaskInfo([FromBody] WCSTaskDTO task) { return Service.UpdateTaskInfo(task); } /// /// 原料入库任务请求 /// /// 起点 /// 托盘 /// [HttpPost,HttpGet, Route("RequestYLWMSTaskSimple"), AllowAnonymous] public WebResponseContent RequestYLWMSTaskSimple(string stationCode, string palletCode) { return Service.RequestYLWMSTaskSimple(stationCode,palletCode); } } }