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/WMS_ITEM_POOL.cs | 180 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 91 insertions(+), 89 deletions(-) diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs index 57d9b87..72c1180 100644 --- a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs +++ b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs @@ -7,235 +7,237 @@ namespace Tiger.Model { /// <summary> - /// 实体:备料库存池 + /// 瀹炰綋锛氬鏂欏簱瀛樻睜 /// </summary> [Description("Primary:ID")] - [DisplayName("备料库存池")] + [DisplayName("澶囨枡搴撳瓨姹�")] [Serializable] [SugarTable("WMS_ITEM_POOL")] public class WMS_ITEM_POOL : DbEntityNoGhostWithAuth { - #region 构造函数 + #region 鏋勯�犲嚱鏁� /// <summary> - /// 实体:备料库存池 + /// 瀹炰綋锛氬鏂欏簱瀛樻睜 /// </summary> public WMS_ITEM_POOL() {} #endregion - #region 公共属性 + #region 鍏叡灞炴�� /// <summary> - /// 事务ID + /// 浜嬪姟ID /// </summary> - [DisplayName("事务ID")] + [DisplayName("浜嬪姟ID")] public string TRANS_ID { get; set; } /// <summary> - /// 业务单据编码 + /// 涓氬姟鍗曟嵁缂栫爜 /// </summary> - [DisplayName("业务单据编码")] + [DisplayName("涓氬姟鍗曟嵁缂栫爜")] public string TRANS_CODE { get; set; } /// <summary> - /// 业务单据号码 + /// 涓氬姟鍗曟嵁鍙风爜 /// </summary> - [DisplayName("业务单据号码")] + [DisplayName("涓氬姟鍗曟嵁鍙风爜")] public string TRANS_NO { get; set; } /// <summary> - /// 业务单据行号 + /// 涓氬姟鍗曟嵁琛屽彿 /// </summary> - [DisplayName("业务单据行号")] + [DisplayName("涓氬姟鍗曟嵁琛屽彿")] public string TRANS_LINE { 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> - /// 备料策略(位标志枚举)(1FIFO先进先出|2FSFO/尾数优先) + /// 澶囨枡绛栫暐锛堜綅鏍囧織鏋氫妇锛�(0None涓嶅惎鐢▅1FIFO鍏堣繘鍏堝嚭|2FSFO/灏炬暟浼樺厛) /// </summary> - [DisplayName("备料策略(位标志枚举)(1FIFO先进先出|2FSFO/尾数优先)")] + [DisplayName("澶囨枡绛栫暐锛堜綅鏍囧織鏋氫妇锛�(0None涓嶅惎鐢▅1FIFO鍏堣繘鍏堝嚭|2FSFO/灏炬暟浼樺厛)")] public int STRATEGY { get; set; } /// <summary> - /// 发料方式(0Supply正常发料|1First首套发料) + /// 鍙戞枡鏂瑰紡(0Supply姝e父鍙戞枡|1First棣栧鍙戞枡) /// </summary> - [DisplayName("发料方式(0Supply正常发料|1First首套发料)")] + [DisplayName("鍙戞枡鏂瑰紡(0Supply姝e父鍙戞枡|1First棣栧鍙戞枡)")] public int DLVY_MODE { get; set; } /// <summary> - /// 是否被锁定(Y/N),锁定则不允许其他事务分配当前物料 + /// 鏄惁琚攣瀹�(Y/N)锛岄攣瀹氬垯涓嶅厑璁稿叾浠栦簨鍔″垎閰嶅綋鍓嶇墿鏂� /// </summary> - [DisplayName("是否被锁定(Y/N),锁定则不允许其他事务分配当前物料")] + [DisplayName("鏄惁琚攣瀹�(Y/N)锛岄攣瀹氬垯涓嶅厑璁稿叾浠栦簨鍔″垎閰嶅綋鍓嶇墿鏂�")] public string IS_LOCKED { get; set; } /// <summary> - /// 物料编码 + /// 鐗╂枡缂栫爜 /// </summary> - [DisplayName("物料编码")] + [DisplayName("鐗╂枡缂栫爜")] public string ITEM_CODE { get; set; } /// <summary> - /// 物料条码 + /// 鐗╂枡鏉$爜 /// </summary> - [DisplayName("物料条码")] + [DisplayName("鐗╂枡鏉$爜")] public string SN { get; set; } /// <summary> - /// 物料数量 + /// 鐗╂枡鏁伴噺 /// </summary> - [DisplayName("物料数量")] + [DisplayName("鐗╂枡鏁伴噺")] public double QTY { get; set; } /// <summary> - /// 已分配数量 + /// 宸插垎閰嶆暟閲� /// </summary> - [DisplayName("已分配数量")] + [DisplayName("宸插垎閰嶆暟閲�")] public double ALLOC_QTY { get; set; } /// <summary> - /// 生产日期 + /// 鐢熶骇鏃ユ湡 /// </summary> - [DisplayName("生产日期")] + [DisplayName("鐢熶骇鏃ユ湡")] public DateTime PROD_DATE { get; set; } = DateTime.MinValue; /// <summary> - /// 仓库ID + /// 浠撳簱ID /// </summary> - [DisplayName("仓库ID")] + [DisplayName("浠撳簱ID")] public string WH_ID { get; set; } /// <summary> - /// 储区ID + /// 鍌ㄥ尯ID /// </summary> - [DisplayName("储区ID")] + [DisplayName("鍌ㄥ尯ID")] public string REGION_ID { get; set; } /// <summary> - /// 货架/料车ID + /// 璐ф灦/鏂欒溅ID /// </summary> - [DisplayName("货架/料车ID")] + [DisplayName("璐ф灦/鏂欒溅ID")] public string SHELF_ID { get; set; } /// <summary> - /// 储位ID + /// 鍌ㄤ綅ID /// </summary> - [DisplayName("储位ID")] + [DisplayName("鍌ㄤ綅ID")] public string LOCATION_ID { get; set; } /// <summary> - /// 是否首套料(Y/N) + /// 鏄惁棣栧鏂�(Y/N) /// </summary> - [DisplayName("是否首套料(Y/N)")] + [DisplayName("鏄惁棣栧鏂�(Y/N)")] public string IS_FIRST { get; set; } /// <summary> - /// 分配状态(0AllAllocated全部分配|1PartialAllocate部分分配) + /// 鍒嗛厤鐘舵��(0AllAllocated鍏ㄩ儴鍒嗛厤|1PartialAllocate閮ㄥ垎鍒嗛厤) /// </summary> - [DisplayName("分配状态(0AllAllocated全部分配|1PartialAllocate部分分配)")] + [DisplayName("鍒嗛厤鐘舵��(0AllAllocated鍏ㄩ儴鍒嗛厤|1PartialAllocate閮ㄥ垎鍒嗛厤)")] public int ALLOC_MODE { get; set; } /// <summary> - /// 状态(0WaitPick待捡料|1Picking捡料中|2WaitSend待发料|3Sended已发料|4Close已关闭|5Cancel作废) + /// 鐘舵��(0WaitPick寰呮崱鏂檤1Picking鎹℃枡涓瓅2WaitSend寰呭彂鏂檤3Sended宸插彂鏂檤4Close宸插叧闂瓅5Cancel浣滃簾) /// </summary> - [DisplayName("状态(0WaitPick待捡料|1Picking捡料中|2WaitSend待发料|3Sended已发料|4Close已关闭|5Cancel作废)")] + [DisplayName("鐘舵��(0WaitPick寰呮崱鏂檤1Picking鎹℃枡涓瓅2WaitSend寰呭彂鏂檤3Sended宸插彂鏂檤4Close宸插叧闂瓅5Cancel浣滃簾)")] public int STATUS { get; set; } /// <summary> - /// 加工段 + /// 鍔犲伐娈� /// </summary> - [DisplayName("加工段")] + [DisplayName("鍔犲伐娈�")] public string SEGMENT { get; set; } /// <summary> - /// 目标产线编码 + /// 鐩爣浜х嚎缂栫爜 /// </summary> - [DisplayName("目标产线编码")] + [DisplayName("鐩爣浜х嚎缂栫爜")] public string LINE_CODE { get; set; } /// <summary> - /// 备注 + /// 澶囨敞 /// </summary> - [DisplayName("备注")] + [DisplayName("澶囨敞")] public string REMARK { get; set; } #endregion - #region 虚拟属性 - /*例子 + #region 铏氭嫙灞炴�� + /*渚嬪瓙 [SugarColumn(IsIgnore = true)] public string FieldName { get; set; } */ #endregion - #region 外键属性 - /*例子 - //一对一外键导航 - [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是WMS_ITEM_POOL类里面的外键ID字段 - public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null - //一对多外键导航 - [Navigate(NavigateType.OneToMany, nameof(ClassA.WMS_ITEM_POOLId))]//ClassA表中的WMS_ITEM_POOLId - public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null - //多对多外键导航 - [Navigate(typeof(MappingClass), nameof(MappingClass.WMS_ITEM_POOLId), nameof(MappingClass.ClassAId))]//注意顺序 - public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null + #region 澶栭敭灞炴�� + /*渚嬪瓙 + //涓�瀵逛竴澶栭敭瀵艰埅 + [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疻MS_ITEM_POOL绫婚噷闈㈢殑澶栭敭ID瀛楁 + public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + //涓�瀵瑰澶栭敭瀵艰埅 + [Navigate(NavigateType.OneToMany, nameof(ClassA.WMS_ITEM_POOLId))]//ClassA琛ㄤ腑鐨刉MS_ITEM_POOLId + public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + //澶氬澶氬閿鑸� + [Navigate(typeof(MappingClass), nameof(MappingClass.WMS_ITEM_POOLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭 + public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull */ #endregion - #region 枚举变量 - /*例子 + #region 鏋氫妇鍙橀噺 + /*渚嬪瓙 public enum FieldNames { - [Description("枚举描述0")] + [Description("鏋氫妇鎻忚堪0")] Enum0, - [Description("枚举描述1")] + [Description("鏋氫妇鎻忚堪1")] Enum1, } */ /// <summary> - /// 枚举:备料策略(位标志枚举)(1FIFO先进先出|2FSFO/尾数优先) + /// 鏋氫妇锛氬鏂欑瓥鐣ワ紙浣嶆爣蹇楁灇涓撅級(0None涓嶅惎鐢▅1FIFO鍏堣繘鍏堝嚭|2FSFO/灏炬暟浼樺厛) /// </summary> public enum STRATEGYs { - [Description("先进先出")] + [Description("涓嶅惎鐢�")] + None = 0, + [Description("鍏堣繘鍏堝嚭")] FIFO = 1, - [Description("尾数优先")] + [Description("灏炬暟浼樺厛")] FSFO = 2, } /// <summary> - /// 枚举:发料方式(0Supply正常发料|1First首套发料) + /// 鏋氫妇锛氬彂鏂欐柟寮�(0Supply姝e父鍙戞枡|1First棣栧鍙戞枡) /// </summary> public enum DLVY_MODEs { - [Description("正常发料")] + [Description("姝e父鍙戞枡")] Supply = 0, - [Description("首套发料")] + [Description("棣栧鍙戞枡")] First = 1, } /// <summary> - /// 枚举:分配状态(0AllAllocated全部分配|1PartialAllocate部分分配) + /// 鏋氫妇锛氬垎閰嶇姸鎬�(0AllAllocated鍏ㄩ儴鍒嗛厤|1PartialAllocate閮ㄥ垎鍒嗛厤) /// </summary> public enum ALLOC_MODEs { - [Description("全部分配")] + [Description("鍏ㄩ儴鍒嗛厤")] AllAllocated = 0, - [Description("部分分配")] + [Description("閮ㄥ垎鍒嗛厤")] PartialAllocate = 1, } /// <summary> - /// 枚举:状态(0WaitPick待捡料|1Picking捡料中|2WaitSend待发料|3Sended已发料|4Close已关闭|5Cancel作废) + /// 鏋氫妇锛氱姸鎬�(0WaitPick寰呮崱鏂檤1Picking鎹℃枡涓瓅2WaitSend寰呭彂鏂檤3Sended宸插彂鏂檤4Close宸插叧闂瓅5Cancel浣滃簾) /// </summary> public enum STATUSs { - [Description("待捡料")] + [Description("寰呮崱鏂�")] WaitPick = 0, - [Description("捡料中")] + [Description("鎹℃枡涓�")] Picking = 1, - [Description("待发料")] + [Description("寰呭彂鏂�")] WaitSend = 2, - [Description("已发料")] + [Description("宸插彂鏂�")] Sended = 3, - [Description("已关闭")] + [Description("宸插叧闂�")] Close = 4, - [Description("作废")] + [Description("浣滃簾")] Cancel = 5, } #endregion - #region 公共方法 + #region 鍏叡鏂规硶 #endregion -- Gitblit v1.9.3