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