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("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("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); } /// /// 成品出库任务请求 /// /// 1 月台区
/// 2 入库区
/// 3 织布区
/// 4 淋膜区
/// 5 暂存区
/// 6 印刷区
/// 7 冲切区
/// 8 原料区
/// 9 纸袋区
/// 10 布袋区
/// 11 纸杯区
/// 12 雾化区
/// ///
/// [HttpPost, HttpGet, Route("RequestCPWMSTaskOut"), AllowAnonymous] public WebResponseContent RequestCPWMSTaskOut(string materialCode,int Count, int targetId) { return Service.RequestCPWMSTaskOut(materialCode, Count, targetId); } /// /// 原料出库任务 /// /// 物料代码 /// 物料幅宽 /// [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); } } }