From 6abc355aeb4e6f7960c11795dbbcc26396b0c888 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期五, 16 五月 2025 17:20:45 +0800
Subject: [PATCH] 博实物料下发同步接口开发,满箱入库、出库逻辑测试与优化

---
 Dtos/Request/MoboxRequest.cs |  327 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 264 insertions(+), 63 deletions(-)

diff --git a/Dtos/Request/MoboxRequest.cs b/Dtos/Request/MoboxRequest.cs
index 0e87376..5f240a5 100644
--- a/Dtos/Request/MoboxRequest.cs
+++ b/Dtos/Request/MoboxRequest.cs
@@ -1,8 +1,4 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+锘縰sing System.ComponentModel.DataAnnotations;
 
 using Newtonsoft.Json;
 
@@ -11,38 +7,70 @@
 
         #region PDA 鏁版嵁
         /// <summary>
-        /// 鎴愬搧鑳跺ソ杩愮涓嬬嚎淇℃伅
+        /// 濂借繍绠�婊℃墭涓嬬嚎鍏ュ簱(PDA)鏁版嵁绫�         /// </summary>
-        public class GoodpackOfflineInfo : StartCntInfo {
-            public string CgId { get; set; }
+        public class GoodpackOfflineInfo {
+            /// <summary>
+            /// 鐗╂枡缂栫爜
+            /// </summary>
+            [JsonProperty("s_item_code")]
+            public string ItemCode { get; set; }
+            ///// <summary>
+            ///// 鐗╂枡鍚嶇О
+            ///// </summary>
+            //[JsonProperty("item_name")]
+            //public string ItemName { get; set; }
+            /// <summary>
+            /// 鎵规鍙�+            /// </summary>
+            [JsonProperty("s_batch")]
+            public string BatchNo { get; set; }
+            /// <summary>
+            /// 鐗╂枡瑙勬牸
+            /// </summary>
+            [JsonProperty("s_spec")]
+            public string Spec { get; set; }
+            /// <summary>
+            /// 鏁伴噺
+            /// </summary>
+            [JsonProperty("n_num")]
+            public int Qty { get; set; }
+            /// <summary>
+            /// 璧风偣璐т綅淇℃伅
+            /// </summary>
+            [JsonProperty("s_start_loc")]
+            public string StartLoc { get; set; }
         }
-
         /// <summary>
-        /// API锛氱┖鎵�绌虹缁戝畾鏁版嵁绫�+        /// 绌烘墭/绌虹鍏ュ簱缁戝畾(PDA)鏁版嵁绫�         /// </summary>
         public class EmptyBindInfo {
             /// <summary>
             /// 瀹瑰櫒缂栫爜
             /// </summary>
+            
+            [JsonProperty("s_cntr_code")]
             public string CntrCode { get; set; }
-
             /// <summary>
             /// 瀹瑰櫒绫诲瀷
             /// </summary>
+            
+            [JsonProperty("s_cntr_type")] 
             public string CntrType { get; set; }
-
-            /// <summary>
-            /// 鎵樼洏鏁伴噺锛堜粎褰撳鍣ㄧ被鍨嬩负鎵樼洏鏃朵娇鐢級
-            /// </summary>
-            [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
-            public int PalletCount { get; set; }
-
+            ///// <summary>
+            ///// 鎵樼洏鏁伴噺锛堜粎褰撳鍣ㄧ被鍨嬩负鎵樼洏鏃朵娇鐢級
+            ///// </summary>
+            //[JsonProperty("pallet_count", NullValueHandling = NullValueHandling.Ignore)]
+            //public int PalletCount { get; set; }
             /// <summary>
             /// 璐т綅缂栫爜
             /// </summary>
+            [JsonProperty("s_loc_code")]
             public string LocCode { get; set; }
         }
-
+        /// <summary>
+        /// 绌烘墭缁戝畾
+        /// </summary>
         public class EmptyBindPalletInfo {
             /// <summary>
             /// 瀹瑰櫒缂栫爜
@@ -59,7 +87,9 @@
             /// </summary>
             public string LocCode { get; set; }
         }
-
+        /// <summary>
+        /// 绌虹缁戝畾
+        /// </summary>
         public class EmptyBindGoodpackInfo {
             /// <summary>
             /// 瀹瑰櫒缂栫爜
@@ -71,77 +101,248 @@
             /// </summary>
             public string LocCode { get; set; }
         }
-
+        /// <summary>
+        /// 绌烘墭/绌虹鍏ュ簱(PDA)鏁版嵁绫�+        /// </summary>
         public class EmptyInboundInfo {
             /// <summary>
-            /// 璐т綅缂栫爜
+            /// 瀹瑰櫒缂栫爜
             /// </summary>
-            public string LocCode { get; set; }
+            [JsonProperty("cntr_code")]
+            public string CntrCode { get; set; }
+            /// <summary>
+            /// 瀹瑰櫒绫诲瀷
+            /// </summary>
+            [JsonProperty("cntr_type")]
+            public string CntrType { get; set; }
+            /// <summary>
+            /// 缁堢偣搴撳尯缂栫爜
+            /// </summary>
+            [JsonProperty("end_area")]
+            public string EndArea { get; set; }
+            /// <summary>
+            /// 璧风偣璐т綅
+            /// </summary>
+            [JsonProperty("start_loc")]
+            public string StartLoc { get; set; }
         }
 
         public class EmptyInboundDetailInfo : StartCntInfo { }
 
-        public class EmptyOnlineInfo {
-            public string CgId { get; set; }
-            public string PatchNo { get; set; }
-            public string EndLoc { get; set; }
-        }
+        //public class EmptyOnlineInfo {
+        //    public string ItemCode { get; set; }
+        //    public string ItemName { get; set; }
+        //    public string PatchNo { get; set; }
+        //    public string EndLoc { get; set; }
+        //}
 
         public class EmptyOnlinePalletInfo {
+            /// <summary>
+            /// 鐗╂枡缂栫爜
+            /// </summary>
+            
+            [JsonProperty("item_code")]
+            public string ItemCode { get; set; }
+            ///// <summary>
+            ///// 鐗╂枡鍚嶇О
+            ///// </summary>
+            //
+            //[JsonProperty("item_name")]
+            //public string ItemName { get; set; }
+            /// <summary>
+            /// 鎵规鍙�+            /// </summary>
+            
+            [JsonProperty("batch_no")]
+            public string BatchNo { get; set; }
+            /// <summary>
+            /// 鐗╂枡瑙勬牸
+            /// </summary>
+            [JsonProperty("spe")]
+            public string Spe { get; set; }
+            /// <summary>
+            /// 瀹瑰櫒缂栫爜
+            /// </summary>
+            [JsonProperty("cnt_id")]
             public string CntId { get; set; }
-            public string EndLoc { get; set; }
+            // 瀹瑰櫒绫诲瀷 = 鎵樼洏
         }
 
-        public class EmptyOnlineGoodpackInfo : StartCntEndInfo { }
+        public class EmptyOnlineGoodpackInfo {
+            // 瀹瑰櫒绫诲瀷 = 濂借繍绠�+            /// <summary>
+            /// 瀹瑰櫒缂栫爜
+            /// </summary>
+            [JsonProperty("cnt_id")]
+            public string CntId { get; set; }
+        }
+
+        /// <summary>
+        /// 鎶芥-鍒涘缓鎶芥鍗�WMS)鏁版嵁绫�+        /// </summary>
+        public class CreateCheckOrderInfo {
+            /// <summary>
+            /// 鐗╂枡缂栫爜
+            /// </summary>
+            
+            [JsonProperty("item_code")]
+            public string ItemCode { get; set; }
+            ///// <summary>
+            ///// 鐗╂枡鍚嶇О
+            ///// </summary>
+            //
+            //[JsonProperty("item_name")]
+            //public string ItemName { get; set; }
+            /// <summary>
+            /// 鐗╂枡瑙勬牸
+            /// </summary>
+            [JsonProperty("spe")]
+            public string Spe { get; set; }
+            /// <summary>
+            /// 鎵规鍙�+            /// </summary>
+            
+            [JsonProperty("batch_no")]
+            public string BatchNo { get; set; }
+            /// <summary>
+            /// 闇�嚭搴撴暟閲�+            /// </summary>
+            [JsonProperty("qty")]
+            public int Qty { get; set; }
+            /// <summary>
+            /// 瀹瑰櫒绫诲瀷
+            /// </summary>
+            
+            [JsonProperty("cntr_type")]
+            public string CntrType { get; set; }
+            /// <summary>
+            /// 鍑哄簱缁堢偣璐у尯
+            /// </summary>
+            
+            [JsonProperty("end_area")]
+            public string EndArea { get; set; }
+        }
+        /// <summary>
+        /// 鎶芥-鍚堟牸鍥炲簱(PDA) 鏁版嵁绫�+        /// </summary>
+        public class QualifiedBackInfo {
+            /// <summary>
+            /// 鐗╂枡缂栫爜
+            /// </summary>
+            [JsonProperty("item_code")]
+            public string ItemCode { get; set; }
+            /// <summary>
+            /// 瀹瑰櫒缂栫爜
+            /// </summary>
+            [JsonProperty("cntr_code")]
+            public string CntrCode { get; set; }
+        }
+
+        public class UnqualifiedShiftInfo : QualifiedBackInfo {
+            /// <summary>
+            /// 涓嶅悎鏍肩Щ搴撶粓鐐瑰簱鍖�+            /// </summary>
+            [JsonProperty("end_area")]
+            public string EndArea { get; set; }
+        }
+
+        public class CheckShiftInfo : UnqualifiedShiftInfo {
+            public bool Qualified { get; set; }
+        }
+
         #endregion
 
         #region WMS 鏁版嵁
         /// <summary>
-        /// 鎴愬搧鑳舵墭鐩樺嚭搴撲俊鎭�+        /// 鎴愬搧鑳跺嚭搴�PDA)
         /// </summary>
         public class FinishedOutboundInfo {
             /// <summary>
-            /// 鍑哄簱鍗�+            /// 鐗╂枡缂栫爜
             /// </summary>
-            public string No { get; set; }
-
-            public bool Forced { get; set; }
-            public List<FinishedOutboundDetailInfo> OutboundDetails { get; set; }
+            [JsonProperty("item_code")]
+            public string ItemCode { get; set; }
+            ///// <summary>
+            ///// 鐗╂枡鍚嶇О
+            ///// </summary>
+            //[JsonProperty("item_name")]
+            //public string ItemName { get; set; }
+            /// <summary>
+            /// 鐗╂枡瑙勬牸
+            /// </summary>
+            [JsonProperty("spe")]
+            public string Spe { get; set; }
+            /// <summary>
+            /// 鎵规鍙�+            /// </summary>
+            [JsonProperty("batch_no")]
+            public string BatchNo { get; set; }
+            /// <summary>
+            /// 闇�嚭搴撴暟閲�+            /// </summary>
+            [JsonProperty("qty")]
+            public int Qty { get; set; }
+            /// <summary>
+            /// 瀹瑰櫒绫诲瀷
+            /// </summary>
+            [JsonProperty("cntr_type")]
+            public string CntrType { get; set; }
+            /// <summary>
+            /// 鍑哄簱缁堢偣璐у尯
+            /// </summary>
+            [JsonProperty("end_area")]
+            public string EndArea { get; set; }
+            /// <summary>
+            /// 鏄惁寮哄埗鍑哄簱
+            /// </summary>
+            [JsonProperty("force_out")]
+            public bool ForcedOut { get; set; }
+        }
+        /// <summary>
+        /// 绉诲簱-鍒涘缓绉诲簱浠诲姟鏁版嵁绫�+        /// </summary>
+        public class CreateShiftOrderInfo {
+            /// <summary>
+            /// 鐗╂枡缂栫爜
+            /// </summary>
+            
+            [JsonProperty("item_code")]
+            public string ItemCode { get; set; }
+            ///// <summary>
+            ///// 鐗╂枡鍚嶇О
+            ///// </summary>
+            //
+            //[JsonProperty("item_name")]
+            //public string ItemName { get; set; }
+            /// <summary>
+            /// 鎵规鍙�+            /// </summary>
+            
+            [JsonProperty("batch_no")]
+            public string BatchNo { get; set; }
+            /// <summary>
+            /// 绉诲簱缁堢偣璐у尯
+            /// </summary>
+            
+            [JsonProperty("end_area")]
+            public string EndArea { get; set; }
         }
 
-        public class FinishedOutboundDetailInfo {
-            public string CgCode { get; set; }
-            public string CgName { get; set; }
-            public string PatchNo { get; set; }
-            public string CntrType { get; set; }
-            public int Qty { get; set; }
-
-            public string EndArea { get; set; }
-            //public bool Forced { get; set; }
+        /// <summary>
+        /// 浣欐枡灏剧鍥炲簱(PDA)鏁版嵁绫�+        /// </summary>
+        public class RestBackInfo {
+            /// <summary>
+            /// 璧风偣璐т綅
+            /// </summary>
+            [JsonProperty("start_loc")]
+            public string StartLoc { get; set; }
         }
         #endregion
 
         //------------------------------------------------------------------------------
 
         #region 妯℃澘鏁版嵁
-        /// <summary>
-        /// 妯℃澘鎶借薄鏁版嵁绫伙細璧风偣璐т綅銆佸鍣ㄥ彿銆佺粓鐐硅揣浣�-        /// </summary>
-        public abstract class StartCntEndInfo {
-            /// <summary>
-            /// 璧风偣璐т綅
-            /// </summary>
-            public string StartLoc { get; set; }
-            /// <summary>
-            /// 瀹瑰櫒鍙�-            /// </summary>
-            public string CntId { get; set; }
-            /// <summary>
-            /// 缁堢偣璐т綅
-            /// </summary>
-            public string EndLoc { get; set; }
-        }
-
         /// <summary>
         /// 妯℃澘鎶借薄鏁版嵁绫伙細璧风偣璐т綅銆佸鍣ㄥ彿
         /// </summary>

--
Gitblit v1.9.1