From beca28ecb3a730ffb33c21e0c55c729774725faf Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期五, 25 四月 2025 16:51:28 +0800
Subject: [PATCH] 优化备料单发料逻辑

---
 Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_DTL.cs |  215 ++++++++++++++++++++++++++---------------------------
 1 files changed, 106 insertions(+), 109 deletions(-)

diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_DTL.cs
index 3ef8d01..d0e0643 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_DTL.cs
@@ -7,229 +7,226 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:备料单(WMS)明细
+	/// 瀹炰綋锛氬鏂欎换鍔�(WMS)鐗╂枡鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
-	[DisplayName("备料单(WMS)明细")]
+	[DisplayName("澶囨枡浠诲姟(WMS)鐗╂枡鏄庣粏")]
 	[Serializable]
 	[SugarTable("BIZ_WMS_PREP_DTL")]
 	public class BIZ_WMS_PREP_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:备料单(WMS)明细
+		/// 瀹炰綋锛氬鏂欎换鍔�(WMS)鐗╂枡鏄庣粏
 		/// </summary>
 		public BIZ_WMS_PREP_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 备料单号
+		/// 澶囨枡浠诲姟鍙�
 		/// </summary>
-		[DisplayName("备料单号")]
-		public string PREP_NO { get; set; }
+		[DisplayName("澶囨枡浠诲姟鍙�")]
+		public string ORDER_NO { get; set; }
 		/// <summary>
-		/// 备料单行号
+		/// 澶囨枡浠诲姟琛屽彿
 		/// </summary>
-		[DisplayName("备料单行号")]
-		public string PREP_LINE { get; set; }
+		[DisplayName("澶囨枡浠诲姟琛屽彿")]
+		public string ORDER_LINE { get; set; }
 		/// <summary>
-		/// 物料编码
+		/// 鐗╂枡缂栫爜
 		/// </summary>
-		[DisplayName("物料编码")]
+		[DisplayName("鐗╂枡缂栫爜")]
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 替代料,多个用","分隔
+		/// 鏇夸唬鏂欙紝澶氫釜鐢ㄢ��,鈥濆垎闅�
 		/// </summary>
-		[DisplayName("替代料,多个用","分隔")]
+		[DisplayName("鏇夸唬鏂欙紝澶氫釜鐢ㄢ��,鈥濆垎闅�")]
 		public string SUBITEM_CODE { get; set; }
 		/// <summary>
-		/// 单位用量
+		/// 鍗曚綅
 		/// </summary>
-		[DisplayName("单位用量")]
-		public double UNIT_QTY { get; set; }
+		[DisplayName("鍗曚綅")]
+		public string UNIT { get; set; }
 		/// <summary>
-		/// 生产计划损耗比例(%)
+		/// 鐢熶骇璁″垝鎹熻�楁瘮渚�(%)
 		/// </summary>
-		[DisplayName("生产计划损耗比例(%)")]
+		[DisplayName("鐢熶骇璁″垝鎹熻�楁瘮渚�(%)")]
 		public double PLAN_LOSS_RATE { get; set; }
 		/// <summary>
-		/// 生产计划损耗数量
+		/// 鐢熶骇璁″垝鎹熻�楁暟閲�
 		/// </summary>
-		[DisplayName("生产计划损耗数量")]
+		[DisplayName("鐢熶骇璁″垝鎹熻�楁暟閲�")]
 		public double PLAN_LOSS_QTY { get; set; }
 		/// <summary>
-		/// 是否计算损耗(Y/N)
+		/// 鏄惁璁$畻鎹熻��(Y/N)
 		/// </summary>
-		[DisplayName("是否计算损耗(Y/N)")]
+		[DisplayName("鏄惁璁$畻鎹熻��(Y/N)")]
 		public string IS_CALC_LOSS { get; set; }
 		/// <summary>
-		/// 是否最小包装发料(Y/N)
+		/// 鏄惁鏈�灏忓寘瑁呭彂鏂�(Y/N)
 		/// </summary>
-		[DisplayName("是否最小包装发料(Y/N)")]
+		[DisplayName("鏄惁鏈�灏忓寘瑁呭彂鏂�(Y/N)")]
 		public string IS_WHOLE { get; set; }
 		/// <summary>
-		/// 来源单据编码,多个用","分隔
+		/// 鏉ユ簮鍗曟嵁缂栫爜锛屽涓敤鈥�,鈥濆垎闅�
 		/// </summary>
-		[DisplayName("来源单据编码,多个用","分隔")]
+		[DisplayName("鏉ユ簮鍗曟嵁缂栫爜锛屽涓敤鈥�,鈥濆垎闅�")]
 		public string SOURCE_CODE { get; set; }
 		/// <summary>
-		/// 来源单号,多个用","分隔,跟编码一一对应
+		/// 鏉ユ簮鍗曞彿锛屽涓敤鈥�,鈥濆垎闅旓紝璺熺紪鐮佷竴涓�瀵瑰簲
 		/// </summary>
-		[DisplayName("来源单号,多个用","分隔,跟编码一一对应")]
+		[DisplayName("鏉ユ簮鍗曞彿锛屽涓敤鈥�,鈥濆垎闅旓紝璺熺紪鐮佷竴涓�瀵瑰簲")]
 		public string SOURCE_ORDER { get; set; }
 		/// <summary>
-		/// 来源单行号,多个用","分隔,跟编码一一对应
+		/// 鏉ユ簮鍗曡鍙凤紝澶氫釜鐢ㄢ��,鈥濆垎闅旓紝璺熺紪鐮佷竴涓�瀵瑰簲
 		/// </summary>
-		[DisplayName("来源单行号,多个用","分隔,跟编码一一对应")]
+		[DisplayName("鏉ユ簮鍗曡鍙凤紝澶氫釜鐢ㄢ��,鈥濆垎闅旓紝璺熺紪鐮佷竴涓�瀵瑰簲")]
 		public string SOURCE_LINE { get; set; }
 		/// <summary>
-		/// 状态(0UnCalc未计算|1FistrLack首套缺料|2SupplyLack补料缺料|3Enough满足需求|4NoCalc不参与备料计算|5Cancel已作废|6Finish备料完成)
+		/// 鐘舵��(0UnCalc鏈绠梶1FistrLack棣栧缂烘枡|2SupplyLack琛ユ枡缂烘枡|3Enough婊¤冻闇�姹倈4NoCalc涓嶅弬涓庡鏂欒绠梶5Cancel宸蹭綔搴焲6Finish澶囨枡瀹屾垚)
 		/// </summary>
-		[DisplayName("状态(0UnCalc未计算|1FistrLack首套缺料|2SupplyLack补料缺料|3Enough满足需求|4NoCalc不参与备料计算|5Cancel已作废|6Finish备料完成)")]
+		[DisplayName("鐘舵��(0UnCalc鏈绠梶1FistrLack棣栧缂烘枡|2SupplyLack琛ユ枡缂烘枡|3Enough婊¤冻闇�姹倈4NoCalc涓嶅弬涓庡鏂欒绠梶5Cancel宸蹭綔搴焲6Finish澶囨枡瀹屾垚)")]
 		public int STATUS { get; set; }
 		/// <summary>
-		/// 需求数量
+		/// 鍗曚綅鐢ㄩ噺
 		/// </summary>
-		[DisplayName("需求数量")]
-		public double REQ_QTY { get; set; }
+		[DisplayName("鍗曚綅鐢ㄩ噺")]
+		public double QTY_UNIT { get; set; }
 		/// <summary>
-		/// 已备料数量
+		/// 闇�姹傛暟閲�
 		/// </summary>
-		[DisplayName("已备料数量")]
-		public double PREP_QTY { get; set; }
+		[DisplayName("闇�姹傛暟閲�")]
+		public double QTY_REQ { get; set; }
 		/// <summary>
-		/// 发出数量
+		/// 宸插鏂欐暟閲�
 		/// </summary>
-		[DisplayName("发出数量")]
-		public double DLVY_QTY { get; set; }
+		[DisplayName("宸插鏂欐暟閲�")]
+		public double QTY_PREP { get; set; }
 		/// <summary>
-		/// 工厂编码
+		/// 鍙戝嚭鏁伴噺
 		/// </summary>
-		[DisplayName("工厂编码")]
+		[DisplayName("鍙戝嚭鏁伴噺")]
+		public double QTY_DLVY { get; set; }
+		/// <summary>
+		/// 宸ュ巶缂栫爜
+		/// </summary>
+		[DisplayName("宸ュ巶缂栫爜")]
 		public string FTY_CODE { get; set; }
 		/// <summary>
-		/// 车间编码
+		/// 杞﹂棿缂栫爜
 		/// </summary>
-		[DisplayName("车间编码")]
+		[DisplayName("杞﹂棿缂栫爜")]
 		public string WS_CODE { get; set; }
 		/// <summary>
-		/// 产线编码
+		/// 浜х嚎缂栫爜
 		/// </summary>
-		[DisplayName("产线编码")]
+		[DisplayName("浜х嚎缂栫爜")]
 		public string LINE_CODE { get; set; }
 		/// <summary>
-		/// 岗位编码
+		/// 宀椾綅缂栫爜
 		/// </summary>
-		[DisplayName("岗位编码")]
+		[DisplayName("宀椾綅缂栫爜")]
 		public string POST_CODE { get; set; }
 		/// <summary>
-		/// 工序编码
+		/// 宸ュ簭缂栫爜
 		/// </summary>
-		[DisplayName("工序编码")]
+		[DisplayName("宸ュ簭缂栫爜")]
 		public string OPER_CODE { get; set; }
 		/// <summary>
-		/// 加工段
+		/// 鍔犲伐娈�
 		/// </summary>
-		[DisplayName("加工段")]
+		[DisplayName("鍔犲伐娈�")]
 		public string SEGMENT { get; set; }
 		/// <summary>
-		/// 贴片机序号
+		/// 璐寸墖鏈哄簭鍙�
 		/// </summary>
-		[DisplayName("贴片机序号")]
+		[DisplayName("璐寸墖鏈哄簭鍙�")]
 		public string SMT_NO { get; set; }
 		/// <summary>
-		/// 站位号
+		/// 绔欎綅鍙�
 		/// </summary>
-		[DisplayName("站位号")]
+		[DisplayName("绔欎綅鍙�")]
 		public string STATION_NO { get; set; }
 		/// <summary>
-		/// 飞达号
+		/// 椋炶揪鍙�
 		/// </summary>
-		[DisplayName("飞达号")]
+		[DisplayName("椋炶揪鍙�")]
 		public string FEEDER_NO { get; set; }
 		/// <summary>
-		/// 料枪类型
+		/// 鏂欐灙绫诲瀷
 		/// </summary>
-		[DisplayName("料枪类型")]
+		[DisplayName("鏂欐灙绫诲瀷")]
 		public string FEEDER_TYPE { get; set; }
 		/// <summary>
-		/// 关联领料单号
+		/// 澶囨敞
 		/// </summary>
-		[DisplayName("关联领料单号")]
-		public string REQ_NO { get; set; }
-		/// <summary>
-		/// 关联领料单行号
-		/// </summary>
-		[DisplayName("关联领料单行号")]
-		public string REQ_LINE { get; set; }
-		/// <summary>
-		/// 备注
-		/// </summary>
-		[DisplayName("备注")]
+		[DisplayName("澶囨敞")]
 		public string REMARK { get; set; }
 		/// <summary>
-		/// 计算字段无需更新和显示
+		/// 璁$畻瀛楁鏃犻渶鏇存柊鍜屾樉绀�
 		/// </summary>
-		[DisplayName("计算字段无需更新和显示")]
+		[DisplayName("璁$畻瀛楁鏃犻渶鏇存柊鍜屾樉绀�")]
 		public double TEMP_QTY { get; set; }
-		#endregion
+        #endregion
 
-		#region 虚拟属性
-		/*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
-		#endregion
+        [SugarColumn(IsIgnore = true)]
+        public List<SuggestItem> Suggests { get; set; }
+        #endregion
 
-		#region 外键属性
-		/*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_WMS_PREP_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_WMS_PREP_DTLId))]//ClassA表中的BIZ_WMS_PREP_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_WMS_PREP_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+        #region 澶栭敭灞炴��
+        /*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_WMS_PREP_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_WMS_PREP_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_WMS_PREP_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_WMS_PREP_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
-		#endregion
+        #endregion
 
-		#region 枚举变量
-		/*例子
+        #region 鏋氫妇鍙橀噺
+        /*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 
-		/// <summary>
-		/// 枚举:状态(0UnCalc未计算|1FistrLack首套缺料|2SupplyLack补料缺料|3Enough满足需求|4NoCalc不参与备料计算|5Cancel已作废|6Finish备料完成)
-		/// </summary>
-		public enum STATUSs
+        /// <summary>
+        /// 鏋氫妇锛氱姸鎬�(0UnCalc鏈绠梶1FistrLack棣栧缂烘枡|2SupplyLack琛ユ枡缂烘枡|3Enough婊¤冻闇�姹倈4NoCalc涓嶅弬涓庡鏂欒绠梶5Cancel宸蹭綔搴焲6Finish澶囨枡瀹屾垚)
+        /// </summary>
+        public enum STATUSs
 		{
-			[Description("未计算")]
+			[Description("鏈绠�")]
 			UnCalc = 0,
-			[Description("首套缺料")]
+			[Description("棣栧缂烘枡")]
 			FistrLack = 1,
-			[Description("补料缺料")]
+			[Description("琛ユ枡缂烘枡")]
 			SupplyLack = 2,
-			[Description("满足需求")]
+			[Description("婊¤冻闇�姹�")]
 			Enough = 3,
-			[Description("不参与备料计算")]
+			[Description("涓嶅弬涓庡鏂欒绠�")]
 			NoCalc = 4,
-			[Description("已作废")]
+			[Description("宸蹭綔搴�")]
 			Cancel = 5,
-			[Description("备料完成")]
+			[Description("澶囨枡瀹屾垚")]
 			Finish = 6,
 		}
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 

--
Gitblit v1.9.3