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 { /// /// Mobox3 调用,脚本中调用(包括 PDA 的接口) /// [RoutePrefix("api")] public class MoboxController : ApiController { #region PDA 接口 /// /// 好运箱-满托下线入库(PDA) /// /// /// [HttpPost] [Route("goodpack-offline")] public SimpleResult GoodpackOffline(GoodpackOfflineInfo model) { LogHelper.InfoApi("好运箱-满托下线入库(PDA)", model); return MoboxService.GoodpackOffline(model); } ///// ///// 空托/空箱入库绑定(PDA) ///// ///// ///// //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}'"); // } //} /// /// 空托/空箱入库(PDA) /// /// /// [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}' 不合法:应为 '托盘' 或 '好运箱'"); } } ///// ///// 空托/空箱上线(PDA) ///// ///// ///// 人工使用PDA扫码,根据物料类型判断上线空托/空箱 ///// //public SimpleResult EmptyOnline(EmptyOnlineInfo model) { // var db = DbHelper.GetDbClient(); // var locCntrRel = db.Queryable() // .LeftJoin((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}'"); // } //} /// /// 托盘-空托上线(PDA) /// /// /// [HttpPost] [Route("empty-online-pallet")] public SimpleResult EmptyOnlinePallet(EmptyOnlinePalletInfo model) { return MoboxService.EmptyOnlinePallet(model); } /// /// 好运箱-空箱上线(PDA) /// /// /// [HttpPost] [Route("empty-online-goodpack")] public SimpleResult EmptyOnlineGoodpack(EmptyOnlineGoodpackInfo model) { return MoboxService.EmptyOnlineGoodpack(model); } ///// ///// 合格回库/不合格移库 ///// ///// ///// //[HttpPost] //[Route("CheckShift")] //public SimpleResult CheckShift(CheckShiftInfo model) { // LogHelper.InfoApi("合格回库/不合格移库", model); // if (model.Qualified) { // return MoboxService.QualifiedBack(model); // } // else { // return MoboxService.UnqualifiedShift(model); // } //} /// /// 合格回库(PDA) /// /// [HttpPost] [Route("qualified-back")] public SimpleResult QualifiedBack(QualifiedBackInfo model) { return MoboxService.QualifiedBack(model); } /// /// 不合格移库(PDA) /// /// [HttpPost] [Route("unqualified-shift")] public SimpleResult UnqualifiedShift(UnqualifiedShiftInfo model) { return MoboxService.UnqualifiedShift(model); } /// /// 余料尾箱回库(PDA) /// /// /// [HttpPost] [Route("rest-back")] public SimpleResult RestBack(RestBackInfo model) { return MoboxService.RestBack(model); } /// /// 成品胶出库(PDA) /// /// /// [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 接口 /// /// 抽检-创建抽检单(WMS) /// /// /// [HttpPost] [Route("create-check-order")] public SimpleResult CreateCheckOrder(CreateCheckOrderInfo model) { return MoboxService.CreateCheckOrder(model); } /// /// 移库-创建移库任务(WMS) /// /// /// [HttpPost] [Route("shift-storage")] public SimpleResult CreateShiftOrder(CreateShiftOrderInfo model) { return MoboxService.CreateShiftOrder(model); } #endregion } }