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
|
{
|
/// <summary>
|
/// 任务
|
/// </summary>
|
[Route("api/Task")]
|
[ApiController]
|
public class TaskController : ApiBaseController<ITaskService, Dt_Task>
|
{
|
public TaskController(ITaskService service) : base(service)
|
{
|
}
|
|
/// <summary>
|
/// WCS申请入库任务(不分配货位)
|
/// </summary>
|
/// <param name="stationCode"></param>
|
/// <param name="palletCode"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("DeviceRequestInboundTaskSimple"), AllowAnonymous]
|
public WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode)
|
{
|
return Service.DeviceRequestInboundTaskSimple(stationCode, palletCode);
|
}
|
|
/// <summary>
|
/// 入库任务申请分配货位
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <param name="roadwayNo">巷道号</param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("AssignInboundTaskLocation"), AllowAnonymous]
|
public WebResponseContent AssignInboundTaskLocation(int taskNum, string roadwayNo)
|
{
|
return Service.AssignInboundTaskLocation(taskNum, roadwayNo);
|
}
|
|
/// <summary>
|
/// 成品空框回库
|
/// </summary>
|
/// <param name="barCode"></param>
|
/// <param name="startPoint"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("EmptyBackTask"), AllowAnonymous]
|
public WebResponseContent EmptyBackTask(string barCode, string startPoint)
|
{
|
return Service.EmptyBackTask(barCode, startPoint);
|
}
|
|
/// <summary>
|
/// 辅料/成品临时入库
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("InboundFLTask"), AllowAnonymous]
|
public WebResponseContent InboundFLOrCPTask(string barCode, string startPoint, string matCode, int matCount)
|
{
|
return Service.InboundFLOrCPTask(barCode, startPoint, matCode, matCount);
|
}
|
|
/// <summary>
|
/// 判断是否需要移库
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <param name="locationCode"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("IsRelocation"), AllowAnonymous]
|
public WebResponseContent IsRelocation(int taskNum, string locationCode)
|
{
|
return Service.IsRelocation(taskNum, locationCode);
|
}
|
|
/// <summary>
|
/// 任务完成
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("TaskCompleted"), AllowAnonymous]
|
public async Task<WebResponseContent> TaskCompleted(int taskNum)
|
{
|
return await Service.TaskCompleted(taskNum);
|
}
|
|
/// <summary>
|
/// 单个任务推送至WCS
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <param name="agvDescription"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("PushTasksToWCSSingle"), AllowAnonymous]
|
public WebResponseContent PushTasksToWCSSingle(int taskNum, string agvDescription = "")
|
{
|
return Service.PushTasksToWCSSingle(taskNum, agvDescription);
|
}
|
|
/// <summary>
|
/// 选择库存生成出库任务
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
[HttpPost, Route("Outbound"), AllowAnonymous]
|
public WebResponseContent Outbound(int id)
|
{
|
return Service.Outbound(id);
|
}
|
|
/// <summary>
|
/// 修改任务状态
|
/// </summary>
|
/// <param name="task"></param>
|
/// <returns></returns>
|
[HttpPost, Route("UpdateTaskInfo"), AllowAnonymous]
|
public WebResponseContent UpdateTaskInfo([FromBody] WCSTaskDTO task)
|
{
|
return Service.UpdateTaskInfo(task);
|
}
|
|
/// <summary>
|
/// 原料入库任务请求
|
/// </summary>
|
/// <param name="stationCode">起点</param>
|
/// <param name="palletCode">托盘</param>
|
/// <returns></returns>
|
[HttpPost,HttpGet, Route("RequestYLWMSTaskSimple"), AllowAnonymous]
|
public WebResponseContent RequestYLWMSTaskSimple(string stationCode, string palletCode)
|
{
|
return Service.RequestYLWMSTaskSimple(stationCode,palletCode);
|
}
|
|
/// <summary>
|
/// 原料入库申请(平台/老厂区)
|
/// </summary>
|
/// <param name="palletCode">条码</param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("YLPurchaseBoxing"), AllowAnonymous]
|
public WebResponseContent YLPurchaseBoxing(string palletCode)
|
{
|
return Service.YLPurchaseBoxing(palletCode);
|
}
|
|
/// <summary>
|
/// 分配原料入库巷道
|
/// </summary>
|
/// <param name="palletCode"></param>
|
/// <returns></returns>
|
[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);
|
}
|
|
/// <summary>
|
/// 成品出库任务请求
|
/// <param name="targetId">
|
/// 1 月台区<br/>
|
/// 2 入库区<br/>
|
/// 3 织布区<br/>
|
/// 4 淋膜区<br/>
|
/// 5 暂存区<br/>
|
/// 6 印刷区<br/>
|
/// 7 冲切区<br/>
|
/// 8 原料区<br/>
|
/// 9 纸袋区<br/>
|
/// 10 布袋区<br/>
|
/// 11 纸杯区<br/>
|
/// 12 雾化区<br/>
|
/// </param>
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("RequestCPWMSTaskOut"), AllowAnonymous]
|
public WebResponseContent RequestCPWMSTaskOut(string materialCode,int Count, int targetId)
|
{
|
return Service.RequestCPWMSTaskOut(materialCode, Count, targetId);
|
}
|
|
/// <summary>
|
/// 原料出库任务
|
/// </summary>
|
/// <param name="materielCode">物料代码</param>
|
/// <param name="materielWide">物料幅宽</param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("RequestYLWMSTaskOut"), AllowAnonymous]
|
public WebResponseContent RequestYLWMSTaskOut(string materielCode,int materielWide, int count,string address="")
|
{
|
return Service.RequestYLWMSTaskOut(materielCode, materielWide, count, address);
|
}
|
|
/// <summary>
|
/// 原料移库任务
|
/// </summary>
|
/// <param name="startAddress"></param>
|
/// <param name="endAddress"></param>
|
/// <param name="roadWay"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("Relocation"), AllowAnonymous]
|
public WebResponseContent IsRelocation(string startAddress, string endAddress, string roadWay)
|
{
|
return Service.IsRelocation(startAddress, endAddress, roadWay);
|
}
|
/// <summary>
|
/// 原料巷道间移库任务
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("RelocationRoadWay"), AllowAnonymous]
|
public WebResponseContent RelocationRoadWay(string roadWay,int Count)
|
{
|
return Service.RelocationRoadWay(roadWay, Count);
|
}
|
|
/// <summary>
|
/// 分配成品巷道
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("AssignCPRoadwayNo"), AllowAnonymous]
|
public string AssignCPRoadwayNo()
|
{
|
return Service.AssignCPRoadwayNo();
|
}
|
|
/// <summary>
|
/// 印刷余料退料任务
|
/// </summary>
|
/// <param name="saveModel"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("PrintBackInbound"), AllowAnonymous]
|
public WebResponseContent PrintBackInbound([FromBody]SaveModel saveModel)
|
{
|
return Service.PrintBackInbound(saveModel);
|
}
|
|
/// <summary>
|
/// 印刷下料任务
|
/// </summary>
|
/// <param name="saveModel"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("PrintInbound"), AllowAnonymous]
|
public WebResponseContent PrintInbound([FromBody] SaveModel saveModel)
|
{
|
return Service.PrintInbound(saveModel);
|
}
|
|
/// <summary>
|
/// 创建原纸生产排程出库任务
|
/// </summary>
|
[HttpPost, HttpGet, Route("CreateBSTOutboundTasks"), AllowAnonymous]
|
public WebResponseContent CreateBSTOutboundTasks([FromBody] int[] keys)
|
{
|
return Service.CreateBSTOutboundTasks(keys);
|
}
|
}
|
}
|