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("EmptyBackTask"), AllowAnonymous] public WebResponseContent EmptyBackTask(string barCode, string startPoint) { return Service.EmptyBackTask(barCode, startPoint); } /// /// 辅料入库 /// /// [HttpPost, HttpGet, Route("InboundFLTask"), AllowAnonymous] public WebResponseContent InboundFLOrCPTask(string barCode, string startPoint, string matCode, int matCount) { return Service.InboundFLOrCPTask(barCode, startPoint, matCode, matCount); } /// /// 判断是否需要移库 /// /// 任务号 /// /// [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); } /// /// 原料入库申请 /// /// 条码 /// [HttpPost, HttpGet, Route("YLPurchaseBoxing"), AllowAnonymous] public WebResponseContent YLPurchaseBoxing(string palletCode) { return Service.YLPurchaseBoxing(palletCode); } /// /// 分配原料入库巷道 /// /// /// [HttpPost, HttpGet, Route("AssignYLRoadwayNo"), AllowAnonymous] public WebResponseContent AssignYLRoadwayNo(string palletCode) { string roadWay= Service.AssignYLRoadwayNo(palletCode); if (string.IsNullOrEmpty(roadWay)) { return WebResponseContent.Instance.Error("未找到可分配巷道"); } return WebResponseContent.Instance.OK(data: roadWay); } /// /// 成品出库任务请求 /// /// [HttpPost, HttpGet, Route("RequestCPWMSTaskOut"), AllowAnonymous] public WebResponseContent RequestCPWMSTaskOut(int Count) { return Service.RequestCPWMSTaskOut(Count); } /// /// 无纺布出库 /// /// [HttpPost, HttpGet, Route("RequestWFBWMSTaskOut"), AllowAnonymous] public WebResponseContent RequestWFBWMSTaskOut(int Count) { return Service.RequestWFBWMSTaskOut(Count); } /// /// 原料出库任务 /// /// 物料代码 /// 物料幅宽 /// [HttpPost, HttpGet, Route("RequestYLWMSTaskOut"), AllowAnonymous] public WebResponseContent RequestYLWMSTaskOut(string materielCode,int materielWide, int count,string address="") { return Service.RequestYLWMSTaskOut(materielCode, materielWide, count, address); } /// /// 原料移库任务 /// /// /// /// /// [HttpPost, HttpGet, Route("Relocation"), AllowAnonymous] public WebResponseContent IsRelocation(string startAddress, string endAddress, string roadWay) { return Service.IsRelocation(startAddress, endAddress, roadWay); } /// /// 原料巷道间移库任务 /// /// [HttpPost, HttpGet, Route("RelocationRoadWay"), AllowAnonymous] public WebResponseContent RelocationRoadWay(string roadWay,int Count) { return Service.RelocationRoadWay(roadWay, Count); } /// /// 分配成品巷道 /// /// [HttpPost, HttpGet, Route("AssignCPRoadwayNo"), AllowAnonymous] public string AssignCPRoadwayNo() { return Service.AssignCPRoadwayNo(); } /// /// 印刷余料退料任务 /// /// /// [HttpPost, HttpGet, Route("PrintBackInbound"), AllowAnonymous] public WebResponseContent PrintBackInbound([FromBody]SaveModel saveModel) { return Service.PrintBackInbound(saveModel); } /// /// 印刷下料任务 /// /// /// [HttpPost, HttpGet, Route("PrintInbound"), AllowAnonymous] public WebResponseContent PrintInbound([FromBody] SaveModel saveModel) { return Service.PrintInbound(saveModel); } /// /// 创建原纸生产排程出库任务 /// /// /// [HttpPost, HttpGet, Route("CreateBSTOutboundTasks"), AllowAnonymous] public WebResponseContent CreateBSTOutboundTasks([FromBody] int[] keys) { return Service.CreateBSTOutboundTasks(keys); } } }