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, string stationCode = "")
{
return Service.YLPurchaseBoxing(palletCode,weight,thickness,wide,stationCode);
}
///
/// 原料采购绑定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);
}
}
}