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.Outbound; 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); } /// /// 向WMS申请出库AGV终点 /// /// 任务号 /// [HttpPost, HttpGet, Route("AssignOutTargetAddress"), AllowAnonymous] public WebResponseContent AssignOutTargetAddress(int taskNum) { return Service.AssignOutTargetAddress(taskNum); } /// /// 成品空框回库 /// /// /// /// [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, int oneCount) { return Service.InboundFLOrCPTask(barCode, startPoint, matCode, matCount,oneCount); } /// /// 判断是否需要移库 /// /// 任务号 /// /// //[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("OldYLOutbound"), AllowAnonymous] public WebResponseContent Outbound([FromBody] List ids) { return Service.Outbound(ids); } /// /// 修改任务状态 /// /// /// [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,decimal weight=0,decimal thickness = 0, decimal wide = 0) { return Service.YLPurchaseBoxing(palletCode,weight,thickness,wide); } /// /// 原料采购绑定RFID /// /// 纸卷条码 /// [HttpPost, HttpGet, Route("PurchaseBoxing"), AllowAnonymous] public WebResponseContent PurchaseBoxing(string palletCode) { return Service.PurchaseBoxing(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); } /// /// 成品出库任务请求 /// ///一楼月台码头 = 1, ///一楼无纺织布 = 2, ///一楼无纺淋膜 = 3, ///一楼无纺缓存 = 4, ///一楼纸张淋膜 = 5, ///一楼印刷 = 6, ///一楼分切 = 7, ///一楼模切 = 8, ///一楼冲切 = 9, ///一楼原料 = 10, ///一楼成品 = 11, ///二楼原料 = 12, ///二楼成品 = 13, ///二楼无纺布袋 = 14, ///二楼纸袋 = 15, ///二楼纸杯 = 16, ///二楼雾化 = 17 /// /// /// [HttpPost, HttpGet, Route("RequestCPWMSTaskOut"), AllowAnonymous] public WebResponseContent RequestCPWMSTaskOut(string materialCode,int outCount, string targetId) { return Service.RequestCPWMSTaskOut(materialCode, outCount, targetId); } /// /// 原料出库任务 /// /// [HttpPost, HttpGet, Route("RequestYLWMSTaskOut"), AllowAnonymous] public WebResponseContent RequestYLWMSTaskOut([FromBody] YLWMSTaskOutDTO yLWMSTaskOutDTO) { return Service.RequestYLWMSTaskOut(yLWMSTaskOutDTO); } /// /// 原料移库任务 /// /// [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); } } }