From 6abc355aeb4e6f7960c11795dbbcc26396b0c888 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期五, 16 五月 2025 17:20:45 +0800 Subject: [PATCH] 博实物料下发同步接口开发,满箱入库、出库逻辑测试与优化 --- Controllers/MoboxController.cs | 233 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 153 insertions(+), 80 deletions(-) diff --git a/Controllers/MoboxController.cs b/Controllers/MoboxController.cs index 1af0231..e50687c 100644 --- a/Controllers/MoboxController.cs +++ b/Controllers/MoboxController.cs @@ -9,7 +9,6 @@ using static HH.WCS.Mobox3.DSZSH.Dtos.Request.MoboxRequest; using static HH.WCS.Mobox3.DSZSH.Dtos.Response.MoboxResponse; -using static HH.WCS.Mobox3.DSZSH.Helpers.ResultHelper; namespace HH.WCS.Mobox3.DSZSH.Controllers { /// <summary> @@ -25,123 +24,197 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - [Route("GoodpackOffline")] + [Route("goodpack-offline")] public SimpleResult GoodpackOffline(GoodpackOfflineInfo model) { LogHelper.InfoApi("濂借繍绠�婊℃墭涓嬬嚎鍏ュ簱(PDA)", model); return MoboxService.GoodpackOffline(model); } - /// <summary> - /// 绌烘墭/绌虹缁戝畾 - /// </summary> - /// <param name="model"></param> - /// <returns></returns> - public SimpleResult EmptyBind(EmptyBindInfo model) { - LogHelper.InfoApi("绌烘墭/绌虹缁戝畾", 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}'"); - } - } + // 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); - var db = DbHelper.GetDbClient(); - var locCntrRel = db.Queryable<TN_Loc_Container>() - .Where(lc => lc.S_LOC_CODE == model.LocCode).First(); - - if (locCntrRel == null) { - return BuildSimpleResult(-1, $"涓嶅瓨鍦ㄥ凡缁戝畾瀹瑰櫒鐨勮揣浣嶅彿锛�{model.LocCode}'"); + if (model.CntrType == "鎵樼洏") { + return MoboxService.EmptyInboundPallet(model); } - - if (locCntrRel.S_CNTR_TYPE == "鎵樼洏") { - - return MoboxService.EmptyInboundPallet(new EmptyInboundDetailInfo { - StartLoc = locCntrRel.S_LOC_CODE, - CntId = locCntrRel.S_CNTR_TYPE - }); - } - else if (locCntrRel.S_CNTR_TYPE == "濂借繍绠�) { - - return MoboxService.EmptyInboundGoodpack(new EmptyInboundDetailInfo { - StartLoc = locCntrRel.S_LOC_CODE, - CntId = locCntrRel.S_CNTR_TYPE - }); + else if (model.CntrType == "濂借繍绠�) { + return MoboxService.EmptyInboundGoodpack(model); } else { - return BuildSimpleResult(-2, $"涓嶅悎娉曠殑瀹瑰櫒绫诲瀷锛�{locCntrRel.S_CNTR_CODE}'"); + 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_CG_ID == model.CgId) - .First(); + ///// <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 == "鎵樼洏") { + // 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.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}'"); - } - } + // return MoboxService.EmptyOnlineGoodpack(new EmptyOnlineGoodpackInfo { + // CntId = locCntrRel.S_CNTR_CODE, + // EndLoc = model.EndLoc + // }); + // } + // else { + // return BuildSimpleResult(-1, $"涓嶅悎娉曠殑瀹瑰櫒绫诲瀷锛�{locCntrRel.S_CNTR_CODE}'"); + // } + //} /// <summary> - /// 鍒涘缓鎶芥鍗曪紙鍙兘鐢盤DA/WMS鑷瀹屾垚锛�+ /// 鎵樼洏-绌烘墭涓婄嚎(PDA) /// </summary> /// <param name="model"></param> /// <returns></returns> - public SimpleResult CreateCheckOrder(CreateCheckOrderInfo model) { - return MoboxService.CreateCheckOrder(model); + [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) + /// 鎶芥-鍒涘缓鎶芥鍗�WMS) /// </summary> /// <param name="model"></param> /// <returns></returns> - public SimpleResult FinishedOutbound(FinishedOutboundInfo model) { - LogHelper.InfoApi("鎴愬搧鑳跺嚭搴�WMS)", model); - if (model.Forced) { - return MoboxService.FinishedOutboundForce(model); - } - return MoboxService.FinishedOutbound(model); + [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 } -- Gitblit v1.9.1