using System.Web.Http;
|
|
using HH.WCS.Mobox3.DSZSH.Consts;
|
using HH.WCS.Mobox3.DSZSH.Helpers;
|
using HH.WCS.Mobox3.DSZSH.Models;
|
using HH.WCS.Mobox3.DSZSH.Services;
|
|
using Newtonsoft.Json;
|
|
using static HH.WCS.Mobox3.DSZSH.Dtos.Request.MoboxRequest;
|
using static HH.WCS.Mobox3.DSZSH.Dtos.Response.MoboxResponse;
|
|
namespace HH.WCS.Mobox3.DSZSH.Controllers {
|
/// <summary>
|
/// Mobox3 调用,脚本中调用(包括 PDA 的接口)
|
/// </summary>
|
[RoutePrefix("api")]
|
public class MoboxController : ApiController {
|
|
#region PDA 接口
|
/// <summary>
|
/// 好运箱-满托下线入库(PDA)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("goodpack-offline")]
|
public SimpleResult GoodpackOffline(GoodpackOfflineInfo model) {
|
LogHelper.InfoApi("好运箱-满托下线入库(PDA)", model);
|
return MoboxService.GoodpackOffline(model);
|
}
|
|
///// <summary>
|
///// 空托/空箱入库绑定(PDA)
|
///// </summary>
|
///// <param name="model"></param>
|
///// <returns></returns>
|
//public SimpleResult EmptyBind(EmptyBindInfo model) {
|
// LogHelper.InfoApi("空托/空箱绑定", model);
|
|
// if (model.CntrType == "托盘") {
|
// //LogHelper.Info($"触发API:空托绑定 " + JsonConvert.SerializeObject(model), "API");
|
// return MoboxService.EmptyBindPallet(model);
|
// }
|
// else if (model.CntrType == "好运箱") {
|
// //LogHelper.Info($"触发API:空箱绑定 " + JsonConvert.SerializeObject(model), "API");
|
// return MoboxService.EmptyBindGoodpack(model);
|
// }
|
// else {
|
// return BuildSimpleResult(-1, $"不合法的容器类型:'{model.CntrType}'");
|
// }
|
//}
|
|
/// <summary>
|
/// 空托/空箱入库(PDA)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("empty-inbound")]
|
public SimpleResult EmptyInbound(EmptyInboundInfo model) {
|
LogHelper.InfoApi("空托/空箱入库", model);
|
|
if (model.CntrType == "托盘") {
|
return MoboxService.EmptyInboundPallet(model);
|
}
|
else if (model.CntrType == "好运箱") {
|
return MoboxService.EmptyInboundGoodpack(model);
|
}
|
else {
|
return BuildSimpleResult(-1, $"容器类型 '{model.CntrType}' 不合法:应为 '托盘' 或 '好运箱'");
|
}
|
}
|
|
///// <summary>
|
///// 空托/空箱上线(PDA)
|
///// </summary>
|
///// <returns>
|
///// 人工使用PDA扫码,根据物料类型判断上线空托/空箱
|
///// </returns>
|
//public SimpleResult EmptyOnline(EmptyOnlineInfo model) {
|
// var db = DbHelper.GetDbClient();
|
// var locCntrRel = db.Queryable<TN_Loc_Container>()
|
// .LeftJoin<TN_CG_Detail>((lc, cd) => lc.S_CNTR_CODE == cd.S_CNTR_CODE)
|
// .Where((lc, cd) => cd.S_ITEM_CODE == model.ItemCode)
|
// .First();
|
|
// if (locCntrRel.S_CNTR_TYPE == "托盘") {
|
|
// return MoboxService.EmptyOnlinePallet(new EmptyOnlinePalletInfo {
|
// CntId = locCntrRel.S_CNTR_CODE,
|
// EndLoc = model.EndLoc
|
// });
|
// }
|
// else if (locCntrRel.S_CNTR_TYPE == "好运箱") {
|
|
// return MoboxService.EmptyOnlineGoodpack(new EmptyOnlineGoodpackInfo {
|
// CntId = locCntrRel.S_CNTR_CODE,
|
// EndLoc = model.EndLoc
|
// });
|
// }
|
// else {
|
// return BuildSimpleResult(-1, $"不合法的容器类型:'{locCntrRel.S_CNTR_CODE}'");
|
// }
|
//}
|
|
/// <summary>
|
/// 托盘-空托上线(PDA)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("empty-online-pallet")]
|
public SimpleResult EmptyOnlinePallet(EmptyOnlinePalletInfo model) {
|
return MoboxService.EmptyOnlinePallet(model);
|
}
|
|
/// <summary>
|
/// 好运箱-空箱上线(PDA)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("empty-online-goodpack")]
|
public SimpleResult EmptyOnlineGoodpack(EmptyOnlineGoodpackInfo model) {
|
return MoboxService.EmptyOnlineGoodpack(model);
|
}
|
|
///// <summary>
|
///// 合格回库/不合格移库
|
///// </summary>
|
///// <param name="model"></param>
|
///// <returns></returns>
|
//[HttpPost]
|
//[Route("CheckShift")]
|
//public SimpleResult CheckShift(CheckShiftInfo model) {
|
// LogHelper.InfoApi("合格回库/不合格移库", model);
|
|
// if (model.Qualified) {
|
// return MoboxService.QualifiedBack(model);
|
// }
|
// else {
|
// return MoboxService.UnqualifiedShift(model);
|
// }
|
//}
|
|
/// <summary>
|
/// 合格回库(PDA)
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("qualified-back")]
|
public SimpleResult QualifiedBack(QualifiedBackInfo model) {
|
return MoboxService.QualifiedBack(model);
|
}
|
|
/// <summary>
|
/// 不合格移库(PDA)
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("unqualified-shift")]
|
public SimpleResult UnqualifiedShift(UnqualifiedShiftInfo model) {
|
return MoboxService.UnqualifiedShift(model);
|
}
|
|
/// <summary>
|
/// 余料尾箱回库(PDA)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("rest-back")]
|
public SimpleResult RestBack(RestBackInfo model) {
|
return MoboxService.RestBack(model);
|
}
|
|
/// <summary>
|
/// 成品胶出库(PDA)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("finished-outbound")]
|
public SimpleResult FinishedOutbound(FinishedOutboundInfo model) {
|
LogHelper.InfoApi("成品胶出库(PDA)", model);
|
|
if (model.ForcedOut) {
|
return MoboxService.FinishedOutboundForce(model);
|
}
|
else {
|
return MoboxService.FinishedOutbound(model);
|
}
|
}
|
#endregion
|
|
#region Mobox 接口
|
/// <summary>
|
/// 抽检-创建抽检单(WMS)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("create-check-order")]
|
public SimpleResult CreateCheckOrder(CreateCheckOrderInfo model) {
|
return MoboxService.CreateCheckOrder(model);
|
}
|
|
/// <summary>
|
/// 移库-创建移库任务(WMS)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("shift-storage")]
|
public SimpleResult CreateShiftOrder(CreateShiftOrderInfo model) {
|
return MoboxService.CreateShiftOrder(model);
|
}
|
#endregion
|
}
|
}
|