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>
|
///// 将WMS任务推送至WCS
|
///// </summary>
|
///// <returns></returns>
|
//[HttpPost, HttpGet, Route("PushTasksToWCS"), AllowAnonymous]
|
//public WebResponseContent PushTasksToWCS()
|
//{
|
// return Service.PushTasksToWCS();
|
//}
|
|
/// <summary>
|
/// 申请入库任务
|
/// </summary>
|
/// <param name="saveModel"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("RequestInboundTask"), AllowAnonymous]
|
public WebResponseContent RequestInboundTask([FromBody] SaveModel saveModel)
|
{
|
return Service.RequestInboundTask(saveModel);
|
}
|
/// <summary>
|
/// 查询质检数量
|
/// </summary>
|
[HttpPost, HttpGet, Route("InQualityConfirm"), AllowAnonymous]
|
public WebResponseContent InQualityConfirm(string palletCode)
|
{
|
return Service.InQualityConfirm(palletCode);
|
}
|
/// <summary>
|
/// 空箱入库
|
/// </summary>
|
/// <param name="barcode">托盘号</param>
|
/// <param name="address">地址</param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("InEmpty"), AllowAnonymous]
|
public WebResponseContent InEmpty(string barcode, string address, int WarehouseId)
|
{
|
return Service.InEmpty(barcode, address, WarehouseId);
|
}
|
|
/// <summary>
|
/// 空箱出库
|
/// </summary>
|
/// <param name="qty">数量</param>
|
/// <param name="address">地址</param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("OutEmpty"), AllowAnonymous]
|
public WebResponseContent OutEmpty(int qty, string address, int WarehouseId, string barcode)
|
{
|
return Service.OutEmpty(qty, address, WarehouseId, barcode);
|
}
|
|
/// <summary>
|
/// WCS申请入库任务(分配货位)
|
/// </summary>
|
/// <param name="stationCode"></param>
|
/// <param name="roadwayNo"></param>
|
/// <param name="palletCode"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("DeviceRequestInboundTask"), AllowAnonymous]
|
public WebResponseContent DeviceRequestInboundTask(string stationCode, string roadwayNo, string palletCode,string materielBoxCode = "")
|
{
|
return Service.DeviceRequestInboundTask(stationCode, roadwayNo, palletCode, materielBoxCode);
|
}
|
|
/// <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="stationCode"></param>
|
/// <param name="palletCode"></param>
|
/// <param name="roadwayNos"></param>
|
/// <param name="heightType"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("DeviceRequestInboundTaskByRoadways"), AllowAnonymous]
|
public WebResponseContent DeviceRequestInboundTaskByRoadways(string stationCode, string palletCode, int heightType, [FromBody] List<string> roadwayNos)
|
{
|
return Service.DeviceRequestInboundTaskByRoadways(stationCode, palletCode, roadwayNos, heightType);
|
}
|
|
/// <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="taskNum"></param>
|
/// <param name="roadwayNo"></param>
|
/// <param name="heightType"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("AssignInboundTaskLocationByHeight"), AllowAnonymous]
|
public WebResponseContent AssignInboundTaskLocationByHeight(int taskNum, string roadwayNo, int heightType)
|
{
|
return Service.AssignInboundTaskLocationByHeight(taskNum, roadwayNo, heightType);
|
}
|
[HttpPost, HttpGet, Route("RequestZHInboundTask"), AllowAnonymous]
|
public WebResponseContent RequestZHInboundTask(string agvTaskCode, string palletCode, string palletType, string materialLot)
|
{
|
return Service.RequestZHInboundTask(agvTaskCode,palletCode,palletType,materialLot);
|
}
|
/// <summary>
|
/// 入库任务完成
|
/// </summary>
|
/// <param name="taskNum"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("InboundTaskCompleted"), AllowAnonymous]
|
public WebResponseContent InboundTaskCompleted(int taskNum)
|
{
|
return Service.InboundTaskCompleted(taskNum);
|
}
|
|
/// <summary>
|
/// 生成出库任务
|
/// </summary>
|
/// <param name="orderDetailId"></param>
|
/// <param name="stockSelectViews"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("GenerateOutboundTask"), AllowAnonymous]
|
public WebResponseContent GenerateOutboundTask(int orderDetailId, [FromBody] List<StockSelectViewDTO> stockSelectViews)
|
{
|
return Service.GenerateOutboundTask(orderDetailId, stockSelectViews);
|
}
|
|
/// <summary>
|
/// 平库直接出库
|
/// </summary>
|
/// <param name="orderDetailId"></param>
|
/// <param name="stockSelectViews"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("GeneratePKOutboundTask"), AllowAnonymous]
|
public WebResponseContent GeneratePKOutboundTask(int orderDetailId, [FromBody] List<StockSelectViewDTO> stockSelectViews)
|
{
|
return Service.GeneratePKOutboundTask(orderDetailId, stockSelectViews);
|
}
|
|
/// <summary>
|
/// 生成出库任务
|
/// </summary>
|
/// <param name="keys"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("GenerateOutboundTasks"), AllowAnonymous]
|
public WebResponseContent GenerateOutboundTasks([FromBody] int[] keys)
|
{
|
return Service.GenerateOutboundTasks(keys);
|
}
|
/// <summary>
|
/// 生成成品出库任务
|
/// </summary>
|
/// <param name="ProOutNo">出库订单号</param>
|
/// <param name="StationCode">站台地址</param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("OutProductTask"), AllowAnonymous]
|
public async Task<WebResponseContent> OutProductTask([FromBody] int[] keys, string StationCode, int Grade)
|
{
|
return await Service.OutProductTask(keys, StationCode, Grade);
|
}
|
/// <summary>
|
/// 成品余料退库入仓
|
/// </summary>
|
/// <param name="barCode"></param>
|
/// <param name="startPoint"></param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("BackProductTask"), AllowAnonymous]
|
public WebResponseContent BackProductTask(string barCode, string startPoint)
|
{
|
return Service.BackProductTask(barCode, startPoint);
|
}
|
/// <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>
|
[HttpPost, HttpGet, Route("OutProRworkTask"), AllowAnonymous]
|
public async Task<WebResponseContent> OutProRworkTask([FromBody] int[] keys, string StationCode, int Grade)
|
{
|
return await Service.OutProductTask(keys, StationCode, Grade);
|
}
|
///// <summary>
|
///// 生成MESPP仓大卷出库任务
|
///// </summary>
|
///// <param name="keys"></param>
|
///// <returns></returns>
|
//[HttpPost, HttpGet, Route("MESPPGenerateOutboundTasks"), AllowAnonymous]
|
//public WebResponseContent MESPPGenerateOutboundTasks([FromBody] int[] keys)
|
//{
|
// return Service.MESPPGenerateOutboundTasks(keys);
|
//}
|
/// <summary>
|
/// 出库任务完成
|
/// </summary>
|
/// <param name="taskNum">任务号</param>
|
/// <returns></returns>
|
[HttpPost, HttpGet, Route("OutboundTaskCompleted"), AllowAnonymous]
|
public WebResponseContent OutboundTaskCompleted(int taskNum)
|
{
|
return Service.OutboundTaskCompleted(taskNum);
|
}
|
|
/// <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 = "", string agvtaskNum = "")
|
{
|
return Service.PushTasksToWCSSingle(taskNum, agvDescription, agvtaskNum);
|
}
|
/// <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="roadwayNos"></param>
|
/// <param name="taskNum"></param>
|
/// <param name="heightType"></param>
|
/// <returns></returns>
|
[HttpPost, Route("AssignRoadwayByHeight"), AllowAnonymous]
|
public WebResponseContent AssignRoadwayByHeight([FromBody] List<string> roadwayNos, int taskNum, int heightType = 0)
|
{
|
return Service.AssignRoadwayByHeight(roadwayNos, taskNum, heightType);
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="roadwayNos"></param>
|
/// <param name="palletCode"></param>
|
/// <param name="heightType"></param>
|
/// <returns></returns>
|
[HttpPost, Route("AssignRoadwayByHeightAndCode"), AllowAnonymous]
|
public WebResponseContent AssignRoadwayByHeightAndCode([FromBody] List<string> roadwayNos, string palletCode, int heightType = 0)
|
{
|
return Service.AssignRoadwayByHeightAndCode(roadwayNos, palletCode, heightType);
|
}
|
|
/// <summary>
|
/// 分配巷道(带任务号)
|
/// </summary>
|
/// <param name="taskNum"></param>
|
/// <param name="roadwayNos"></param>
|
/// <returns></returns>
|
[HttpPost, Route("AssignRoadway"), AllowAnonymous]
|
public WebResponseContent AssignRoadway(int taskNum, [FromBody] List<string> roadwayNos,int heightType)
|
{
|
return Service.AssignRoadway(taskNum, roadwayNos, heightType);
|
}
|
|
/// <summary>
|
/// 分配巷道
|
/// </summary>
|
/// <param name="roadwayNos"></param>
|
/// <returns></returns>
|
[HttpPost, Route("SingleAssignRoadway"), AllowAnonymous]
|
public WebResponseContent SingleAssignRoadway([FromBody] List<string> roadwayNos)
|
{
|
return Service.SingleAssignRoadway(roadwayNos);
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="orderId"></param>
|
/// <returns></returns>
|
[HttpPost, Route("HandSubstrateOut")]
|
public WebResponseContent HandSubstrateOut(int orderId)
|
{
|
return Service.HandSubstrateOut(orderId);
|
}
|
|
/// <summary>
|
/// 修改任务状态
|
/// </summary>
|
/// <param name="task"></param>
|
/// <returns></returns>
|
[HttpPost, Route("UpdateTaskInfo"), AllowAnonymous]
|
public WebResponseContent UpdateTaskInfo([FromBody] WCSTaskDTO task)
|
{
|
return Service.UpdateTaskInfo(task);
|
}
|
|
/// <summary>
|
/// PP仓AGV搬运任务
|
/// </summary>
|
/// <param name="task"></param>
|
/// <returns></returns>
|
[HttpPost, Route("AGVTasks"), AllowAnonymous]
|
public WebResponseContent AGVTasks([FromBody] SaveModel saveModel)
|
{
|
return Service.AGVTasks(saveModel);
|
}
|
/// <summary>
|
/// 成品指定出库
|
/// </summary>
|
/// <param name="task"></param>
|
/// <returns></returns>
|
[HttpPost, Route("OutProductSelect"), AllowAnonymous]
|
public WebResponseContent OutProductSelect(int orderDetailId,[FromBody] List<ProStockViewDTO> proStockViews)
|
{
|
return Service.OutProductSelect(orderDetailId, proStockViews);
|
}
|
/// <summary>
|
/// 阻焊批次物料查询
|
/// </summary>
|
[HttpPost, Route("GetZHMesMaterialLot"), AllowAnonymous]
|
public WebResponseContent GetZHMesMaterialLot(string materialLot)
|
{
|
return Service.GetZHMesMaterialLot(materialLot);
|
}
|
/// <summary>
|
/// 选定库存生成盘点单出库
|
/// </summary>
|
[HttpPost, Route("TakeOutbound"), AllowAnonymous]
|
public WebResponseContent TakeOutbound([FromBody] List<StockViewDTO> stockViews)
|
{
|
return Service.TakeOutbound(stockViews);
|
}
|
}
|
}
|