From 050fdd3ef7d0e17143093ee355941bd6437b5486 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期三, 13 十一月 2024 12:00:43 +0800 Subject: [PATCH] 优化生产记录状态,使用完工标记作为产品完工的判断,不使用状态 从工单中解绑正在生产的条码时,同步更新工单池中同一工单的工单条码状态 --- Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs | 136 ++++++++++++++++++++++++++++++++------------ 1 files changed, 98 insertions(+), 38 deletions(-) diff --git a/Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs b/Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs index 74df14f..ff829f4 100644 --- a/Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs +++ b/Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs @@ -29,15 +29,20 @@ [DisplayName("杩囩珯鏉$爜")] public string SN { get; set; } /// <summary> - /// 鐘舵��(0Init鍒濆鍖東1Input宸叉姇鍏2OK鑹搧杩囩珯|3NG涓嶈壇杩囩珯|4Repair缁翠慨涓瓅5Finished宸插畬宸6Scrap宸叉姤搴焲7InStorage宸插叆搴搢8Reject宸叉嫆鏀秥9Shipped宸插嚭璐�) + /// 鐘舵��(0Init鍒濆鍖東10Input宸叉姇鍏20OK鑹搧杩囩珯|30NG涓嶈壇杩囩珯|40Repair缁翠慨涓瓅50Output宸蹭骇鍑簗51WaitStorage寰呭叆搴搢52WaitShipment寰呭嚭璐60InStorage宸插叆搴搢61Reject宸叉嫆鏀秥80Shipped宸插嚭璐90Scrap宸叉姤搴焲91Offline寮傚父涓嬬嚎) /// </summary> - [DisplayName("鐘舵��(0Init鍒濆鍖東1Input宸叉姇鍏2OK鑹搧杩囩珯|3NG涓嶈壇杩囩珯|4Repair缁翠慨涓瓅5Finished宸插畬宸6Scrap宸叉姤搴焲7InStorage宸插叆搴搢8Reject宸叉嫆鏀秥9Shipped宸插嚭璐�)")] + [DisplayName("鐘舵��(0Init鍒濆鍖東10Input宸叉姇鍏20OK鑹搧杩囩珯|30NG涓嶈壇杩囩珯|40Repair缁翠慨涓瓅50Output宸蹭骇鍑簗51WaitStorage寰呭叆搴搢52WaitShipment寰呭嚭璐60InStorage宸插叆搴搢61Reject宸叉嫆鏀秥80Shipped宸插嚭璐90Scrap宸叉姤搴焲91Offline寮傚父涓嬬嚎))")] public int STATUS { get; set; } /// <summary> /// 鐗╂枡缂栫爜 /// </summary> [DisplayName("鐗╂枡缂栫爜")] public string ITEM_CODE { get; set; } + /// <summary> + /// 鏁伴噺 + /// </summary> + [DisplayName("鏁伴噺")] + public double QTY { get; set; } = 1; /// <summary> /// 宸ュ崟鍙� /// </summary> @@ -49,25 +54,20 @@ [DisplayName("宸ュ崟鎵规鍙�")] public string BATCH_NO { get; set; } /// <summary> - /// 鍔犲伐娈� + /// 宸ヨ壓璺嚎缂栫爜 /// </summary> - [DisplayName("鍔犲伐娈�")] - public string SEGMENT { get; set; } - /// <summary> - /// 宸ヨ壓璺嚎ID - /// </summary> - [DisplayName("宸ヨ壓璺嚎ID")] - public string ROT_ID { get; set; } + [DisplayName("宸ヨ壓璺嚎缂栫爜")] + public string ROT_CODE { get; set; } /// <summary> /// 宸ヨ壓璺嚎鑺傜偣ID /// </summary> [DisplayName("宸ヨ壓璺嚎鑺傜偣ID")] public string NODE_ID { get; set; } /// <summary> - /// 宸ュ簭缂栫爜 + /// 宸ヨ壓璺嚎鑺傜偣鍚嶇О /// </summary> - [DisplayName("宸ュ簭缂栫爜")] - public string OPER_CODE { get; set; } + [DisplayName("宸ヨ壓璺嚎鑺傜偣鍚嶇О")] + public string NODE_NAME { get; set; } /// <summary> /// 宸ュ巶缂栫爜 /// </summary> @@ -89,6 +89,16 @@ [DisplayName("宀椾綅缂栫爜")] public string POST_CODE { get; set; } /// <summary> + /// 宸ュ簭缂栫爜 + /// </summary> + [DisplayName("宸ュ簭缂栫爜")] + public string OPER_CODE { get; set; } + /// <summary> + /// 鍔犲伐娈� + /// </summary> + [DisplayName("鍔犲伐娈�")] + public string SEGMENT { get; set; } + /// <summary> /// 閿佸畾鏍囪 /// </summary> [DisplayName("閿佸畾鏍囪")] @@ -99,20 +109,50 @@ [DisplayName("杩斿伐鏍囪")] public string REWORK_FLAG { get; set; } /// <summary> + /// 瑙g粦鏍囪(鍥犲紓甯镐笅绾垮鑷村綋鍓嶈褰曚粠宸ュ崟鐢熶骇鏁版嵁涓Щ闄わ紝涓嶅弬涓庡伐鑹烘祦绋嬭绠楀拰鏁版嵁缁熻) + /// </summary> + [DisplayName("瑙g粦鏍囪(鍥犲紓甯镐笅绾垮鑷村綋鍓嶈褰曚粠宸ュ崟鐢熶骇鏁版嵁涓Щ闄わ紝涓嶅弬涓庡伐鑹烘祦绋嬭绠楀拰鏁版嵁缁熻)")] + public string UNBIND_FLAG { get; set; } + /// <summary> /// 鏄惁瀹屽伐 /// </summary> [DisplayName("鏄惁瀹屽伐")] public string FINISHED_FLAG { get; set; } + /// <summary> + /// 鏄惁涓嶈壇 + /// </summary> + [DisplayName("鏄惁涓嶈壇")] + public string DFT_FLAG { get; set; } + /// <summary> + /// 涓嶈壇璁℃暟 + /// </summary> + [DisplayName("涓嶈壇璁℃暟")] + public int DFT_COUNT { get; set; } + /// <summary> + /// 涓嶈壇浠g爜缂栫爜 + /// </summary> + [DisplayName("涓嶈壇浠g爜缂栫爜")] + public string DFT_CODE { get; set; } + /// <summary> + /// 缁翠慨鍥炴祦宸ュ簭鍚嶇О(涓虹┖鍒欎笉鎸囧畾鍥炴祦宸ュ簭) + /// </summary> + [DisplayName("缁翠慨鍥炴祦宸ュ簭鍚嶇О(涓虹┖鍒欎笉鎸囧畾鍥炴祦宸ュ簭)")] + public string REFLOW_NODE { get; set; } + /// <summary> + /// 鍘傚唴娴佽浆鏉$爜 + /// </summary> + [DisplayName("鍘傚唴娴佽浆鏉$爜")] + public string FLOW_SN { get; set; } /// <summary> /// 鎵樼洏/杞藉叿鏉$爜 /// </summary> [DisplayName("鎵樼洏/杞藉叿鏉$爜")] public string TRAY_SN { get; set; } /// <summary> - /// 瀹瑰櫒/鍐呭寘瑁呮潯鐮� + /// 鍐呭寘瑁呮潯鐮� /// </summary> - [DisplayName("瀹瑰櫒/鍐呭寘瑁呮潯鐮�")] - public string CONTAINER_SN { get; set; } + [DisplayName("鍐呭寘瑁呮潯鐮�")] + public string INNER_SN { get; set; } /// <summary> /// 澶栫鏉$爜 /// </summary> @@ -204,16 +244,30 @@ #region 澶栭敭灞炴�� /*渚嬪瓙 - //涓�瀵逛竴澶栭敭瀵艰埅 - [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疢ES_WIP_DATA绫婚噷闈㈢殑澶栭敭ID瀛楁 - public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull - //涓�瀵瑰澶栭敭瀵艰埅 - [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_DATAId))]//ClassA琛ㄤ腑鐨凪ES_WIP_DATAId - public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull - //澶氬澶氬閿鑸� - [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_DATAId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭 - public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull - */ + //涓�瀵逛竴澶栭敭瀵艰埅 + [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疢ES_WIP_DATA绫婚噷闈㈢殑澶栭敭ID瀛楁 + public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + //涓�瀵瑰澶栭敭瀵艰埅 + [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_DATAId))]//ClassA琛ㄤ腑鐨凪ES_WIP_DATAId + public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + //澶氬澶氬閿鑸� + [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_DATAId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭 + public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + */ + //[Navigate(NavigateType.OneToOne, nameof(ITEM_CODE), nameof(BAS_ITEM.ITEM_CODE), "GHOST_ROW = 0")]//涓�瀵逛竴 ClassAId鏄疢ES_WIP_DATA绫婚噷闈㈢殑澶栭敭ID瀛楁 + //public BAS_ITEM ItemInfo { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + [Navigate(NavigateType.OneToMany, nameof(BAS_ITEM.ITEM_CODE), nameof(ITEM_CODE), "GHOST_ROW = 0")]//涓�瀵逛竴 ClassAId鏄疢ES_WIP_DATA绫婚噷闈㈢殑澶栭敭ID瀛楁 + public List<BAS_ITEM> _ItemInfos { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + [SugarColumn(IsIgnore = true)] + public BAS_ITEM ItemInfo => _ItemInfos?.FirstOrDefault(q => q.AUTH_ORG == AUTH_ORG); + [Navigate(NavigateType.OneToMany, nameof(MES_WIP_HIS.WIP_ID), nameof(ID), "GHOST_ROW = 0")]//ClassA琛ㄤ腑鐨凪ES_WIP_DATAId + public List<MES_WIP_HIS> _History { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + [SugarColumn(IsIgnore = true)] + public List<MES_WIP_HIS> History => _History?.Any(q => q.UNBIND_FLAG == "Y") == true ? (_History = _History?.Where(q => q.UNBIND_FLAG != "Y").ToList()) : (_History ?? new List<MES_WIP_HIS>()); + [Navigate(NavigateType.OneToMany, nameof(MES_WIP_DFT.WIP_ID), nameof(ID), "GHOST_ROW = 0")]//ClassA琛ㄤ腑鐨凪ES_WIP_DATAId + public List<MES_WIP_DFT> _Defects { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + [SugarColumn(IsIgnore = true)] + public List<MES_WIP_DFT> Defects => _Defects ?? new List<MES_WIP_DFT>(); #endregion #region 鏋氫妇鍙橀噺 @@ -228,30 +282,36 @@ */ /// <summary> - /// 鏋氫妇锛氱姸鎬�(0Init鍒濆鍖東1Input宸叉姇鍏2OK鑹搧杩囩珯|3NG涓嶈壇杩囩珯|4Repair缁翠慨涓瓅5Finished宸插畬宸6Scrap宸叉姤搴焲7InStorage宸插叆搴搢8Reject宸叉嫆鏀秥9Shipped宸插嚭璐�) + /// 鏋氫妇锛氱姸鎬�(0Init鍒濆鍖東10Input宸叉姇鍏20OK鑹搧杩囩珯|30NG涓嶈壇杩囩珯|40Repair缁翠慨涓瓅50Output宸蹭骇鍑簗51WaitStorage寰呭叆搴搢52WaitShipment寰呭嚭璐60InStorage宸插叆搴搢61Reject宸叉嫆鏀秥80Shipped宸插嚭璐90Scrap宸叉姤搴焲91Offline寮傚父涓嬬嚎) /// </summary> public enum STATUSs { [Description("鍒濆鍖�")] Init = 0, [Description("宸叉姇鍏�")] - Input = 1, + Input = 10, [Description("鑹搧杩囩珯")] - OK = 2, + OK = 20, [Description("涓嶈壇杩囩珯")] - NG = 3, + NG = 30, [Description("缁翠慨涓�")] - Repair = 4, - [Description("宸插畬宸�")] - Finished = 5, - [Description("宸叉姤搴�")] - Scrap = 6, + Repair = 40, + [Description("宸蹭骇鍑�")] + Output = 50, + [Description("寰呭叆搴�")] + WaitStorage = 51, + [Description("寰呭嚭璐�")] + WaitShipment = 52, [Description("宸插叆搴�")] - InStorage = 7, + InStorage = 60, [Description("宸叉嫆鏀�")] - Reject = 8, + Reject = 61, [Description("宸插嚭璐�")] - Shipped = 9, + Shipped = 80, + [Description("宸叉姤搴�")] + Scrap = 90, + [Description("寮傚父涓嬬嚎")] + Offline = 91, } /// <summary> -- Gitblit v1.9.3