From 77771c41aa9f7f1f242c79b95fc2a8c82bd7c6c8 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期三, 01 一月 2025 15:59:31 +0800 Subject: [PATCH] 增加更新条码数量行为 --- Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 200 insertions(+), 20 deletions(-) diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs index 5437c96..0d32bf9 100644 --- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs +++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs @@ -38,9 +38,17 @@ /// </summary> public string SN { get; set; } /// <summary> + /// 鏁伴噺 + /// </summary> + public string Qty { get; set; } + /// <summary> /// 褰撳墠鎿嶄綔鎻愪氦鐨勪笉鑹唬鐮侊紝娌℃湁鍒欑暀绌� /// </summary> public string DFT_CODE { get; set; } + /// <summary> + /// 褰撳墠鎿嶄綔鐨勮涓虹殑鍙橀噺瀛楀吀锛屽鏋滄槸涓嶆槸琛屼负锛屽惁鍒欑暀绌� + /// </summary> + public Dictionary<string, string> ActionDic { get; set; } = new Dictionary<string, string>(); /// <summary> /// 褰撳墠鎿嶄綔闇�瑕佹彁浜ょ殑鏁版嵁 /// </summary> @@ -54,6 +62,42 @@ /// </summary> public bool IsFinished { get; set; } = false; /// <summary> + /// 褰撳墠鎿嶄綔鐨勮妭鐐瑰悕绉� + /// </summary> + public string NodeName { get; set; } + /// <summary> + /// 褰撳墠鎿嶄綔鐨勮涓哄悕绉帮紝濡傛灉鏄笉鏄涓猴紝鍚﹀垯鐣欑┖ + /// </summary> + public string ActionName { get; set; } + /// <summary> + /// 褰撳墠鎿嶄綔鐨勮涓虹殑绫诲悕锛屽鏋滄槸涓嶆槸琛屼负锛屽惁鍒欑暀绌� + /// </summary> + public string ActionType { get; set; } + /// <summary> + /// 褰撳墠鎿嶄綔鐨勮涓虹殑鍙橀噺瀛楀吀锛屽鏋滄槸涓嶆槸琛屼负锛屽惁鍒欑暀绌� + /// </summary> + public Dictionary<string, string> ActionDic { get; set; } + /// <summary> + /// 涓嬩竴涓搷浣滅殑宸ユID + /// </summary> + public string NextStepID { get; set; } + /// <summary> + /// 鐭秷鎭� + /// </summary> + public ShortMessage ShortMsg { get; set; } + /// <summary> + /// Mqtt娑堟伅 + /// </summary> + public MQTT.Message MqttMsg { get; set; } + /// <summary> + /// 褰撳墠鎿嶄綔杩斿洖鐨勬暟鎹� + /// </summary> + public object Data { get; set; } + /// <summary> + /// 宸ュ簭淇℃伅 + /// </summary> + public OperInfo OperInfo { get; set; } + /// <summary> /// 褰撳墠鎿嶄綔鐨勫伐鍗曞璞� /// </summary> public BIZ_MES_WO CurWO { get; set; } @@ -61,23 +105,6 @@ /// 褰撳墠鎿嶄綔鐨勫伐鍗曟壒娆″璞� /// </summary> public BIZ_MES_WO_BATCH CurBatch { get; set; } - /// <summary> - /// 褰撳墠鎿嶄綔鐨勮妭鐐瑰悕绉� - /// </summary> - public string CurNode { get; set; } - /// <summary> - /// 濡傛灉褰撳墠鑺傜偣涓哄伐搴忚涓鸿妭鐐癸紝鍒欒涓哄畾涔夌紪鐮侊紝鍚﹀垯鐣欑┖ - /// </summary> - public string StepActCode { get; set; } - /// <summary> - /// 涓嬩竴涓搷浣滅殑宸ユID - /// </summary> - public string NextStepID { get; set; } - /// <summary> - /// 褰撳墠鎿嶄綔杩斿洖鐨勬暟鎹� - /// </summary> - public object Data { get; set; } - } public class DefectOutput @@ -95,7 +122,8 @@ /// 鍖呰琛屼负褰撳墠鎵ц鐨勬搷浣滀唬鐮侊紝鍖呮嫭锛�<br/> /// Scan锛氭壂鐮侊紝鎵弿褰撳墠鍖呰灞傜骇鐨勬潯鐮�<br/> /// Print锛氭墦鍗帮紝鎵撳嵃褰撳墠鍖呰灞傜骇鐨勬爣绛�<br/> - /// Complete锛氬畬鎴愶紝瀹屾垚鍏ㄩ儴鍖呰鍚庣粨鏉熻涓�<br/> + /// Complete锛氬畬鎴愶紝瀹屾垚鍏ㄩ儴鍖呰<br/> + /// Weighing锛氱О閲嶏紝瀹屾垚鍖呰鍚庡鏁翠釜鍖呰鎴愮О閲�<br/> /// </summary> public string ExecCode { get; set; } /// <summary> @@ -110,6 +138,10 @@ /// 褰撳墠鎿嶄綔鐨勫寘瑁呭眰绾х殑鏍囩鏉$爜 /// </summary> public string PkgSN { get; set; } + /// <summary> + /// 褰撳墠鎿嶄綔鐨勫寘瑁呭眰绾х殑閲嶉噺淇℃伅 + /// </summary> + public WeightInfo WeightInfo { get; set; } } public class PackingActionOutput @@ -120,12 +152,17 @@ /// Scan锛氭壂鐮侊紝鎵弿褰撳墠鍖呰灞傜骇鐨勬潯鐮�<br/> /// Print锛氭墦鍗帮紝鎵撳嵃褰撳墠鍖呰灞傜骇鐨勬爣绛�<br/> /// Complete锛氬畬鎴愶紝宸蹭繚瀛樺寘瑁呮暟鎹�<br/> + /// Weighing锛氱О閲嶏紝瀹屾垚鍖呰鍚庡鏁翠釜鍖呰鎴愮О閲�<br/> /// </summary> public string ExecCode { get; set; } /// <summary> /// 褰撳墠鎿嶄綔鐨勫寘瑁呭眰绾� /// </summary> public int PkgLevel { get; set; } + /// <summary> + /// 鏄惁闇�瑕� + /// </summary> + public bool RealPrint { get; set; } = true; /// <summary> /// 褰撳墠闇�瑕佹墦鍗扮殑鍖呰灞傜骇鐨勬爣绛句俊鎭� /// </summary> @@ -137,10 +174,19 @@ /// </summary> public class WipPkg { + public string WorkBatch { get; set; } public string RULE_CODE { get; set; } public string RULE_NAME { get; set; } + public string PROD_CODE { get; set; } + public MES_CUST_SN CustSN { get; set; } public WipPkgItem Item { get; set; } - public bool IsFinished { get; set; } = false; + public bool NeedWeighing { get; set; } = false; + public bool IsWeighed { get; set; } = false; + public WeightInfo WeightInfo { get; set; } = new WeightInfo(); + public bool IsFinished => Item.IsFinished; + public bool IsReachedEndNode { get; set; } = false; + public string InStoreActID { get; set; } + public BAS_LABEL_TEMP InStoreLabel { get; set; } } /// <summary> @@ -154,9 +200,143 @@ public int PKG_LEVEL { get; set; } public int PKG_QTY { get; set; } public string LABEL_CODE { get; set; } + public string SN { get; set; } public MES_WIP_PKG Package { get; set; } public bool IsFinished { get; set; } = false; + public bool PkgComplete => PKG_LEVEL == 1 || Items.Count(q => q.IsFinished) == PKG_QTY; public List<WipPkgItem> Items { get; set; } = new List<WipPkgItem>(); - + public Dictionary<string, string> WipSNs { get; set; } = new Dictionary<string, string>(); + public double TotalQty => Items.Any() ? Items.Sum(q => q.TotalQty) : Package?.QTY ?? 0; + + public List<MES_WIP_PKG> GetMinPackageList() + { + var list = new List<MES_WIP_PKG>(); + if (Items.Any()) + { + foreach (var item in Items) + { + item.Package.PARENT_SN = Package?.SN; + list.AddRange(item.GetMinPackageList()); + } + } + else + { + if (Package != null) + { + list.Add(Package); + } + } + return list; + } + + public List<KeyValuePair<string, string>> GetWipSnList() + { + var list = new List<KeyValuePair<string, string>>(); + if (Items.Any()) + { + foreach (var item in Items) + { + list.AddRange(item.GetWipSnList()); + } + } + else + { + list.AddRange(WipSNs.ToList()); + } + return list; + } } + + /// <summary> + /// 涓婃枡璁剧疆 + /// </summary> + public class AssemblySetting + { + public string ITEM_CODE { get; set; } + public string RULE_CODE { get; set; } + /// <summary> + /// 鏄惁鎵规鐗╂枡 + /// </summary> + public bool IsBatchItem { get; set; } + /// <summary> + /// 涓婃枡鏁伴噺 + /// </summary> + public int QTY { get; set; } + } + + /// <summary> + /// 涓婃枡淇℃伅 + /// </summary> + public class AssemblyInfo + { + public MES_WIP_DATA Product { get; set; } + public bool IsFinished => !Items.Any(q => !q.IsFinished); + public List<AssemblyItem> Items { get; set; } = new List<AssemblyItem>(); + } + + /// <summary> + /// 涓婃枡淇℃伅鏄庣粏 + /// </summary> + public class AssemblyItem + { + public BAS_ITEM ItemInfo { get; set; } + public string RuleCode { get; set; } + public int LoadQty { get; set; } + /// <summary> + /// 鏄惁鎵规鐗╂枡 + /// </summary> + public bool IsBatchItem { get; set; } + public List<BAS_ITEM> SubItems { get; set; } = new List<BAS_ITEM>(); + public List<MES_WIP_ASSY> Records { get; set; } = new List<MES_WIP_ASSY>(); + public bool IsFinished { get; set; } = false; + } + + /// <summary> + /// 绉伴噸淇℃伅 + /// </summary> + public class WeightInfo + { + public double Weight { get; set; } + public string Unit { get; set; } + } + + /// <summary> + /// 宸ュ簭淇℃伅 + /// </summary> + public class OperInfo + { + public string NextNode { get; set; } = " 鈥� "; + public string CurNode { get; set; } = " 鈥� "; + public bool IsReachedEndNode { get; set; } = false; + public int InputQty { get; set; } = 0; + public List<WorkStepInfo> StepsInfo { get; set; } = new List<WorkStepInfo>(); + } + + /// <summary> + /// 宸ユ淇℃伅 + /// </summary> + public class WorkStepInfo + { + public string ID { get; set; } + public string Name { get; set; } + public int Sequence { get; set; } + public string NodeID { get; set; } + public string NodeType { get; set; } + public MES_WO_NODE Node { get; set; } + public MES_WO_OPER OperSetting { get; set; } + public MES_WO_NODE_ACT NodeAct { get; set; } + public MES_WO_ACTION ActSetting { get; set; } + public string Status { get; set; } + public string Message { get; set; } + } + + /// <summary> + /// 鍑鸿揣淇℃伅 + /// </summary> + public class ShipingInfo + { + public bool IsPrintCustomerLabel { get; set; } + public int ShipQty { get; set; } + } + } -- Gitblit v1.9.3