From 83dbcd7c0d6afcbbd1f20dc1e7371be89ee28f0b Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期四, 10 十月 2024 17:12:34 +0800
Subject: [PATCH] 优化工序逻辑

---
 Tiger.Business.MES/Transaction/CollectNode.cs |    6 +++---
 Tiger.Model.Net/Entitys/MES/MES_OPERATION.cs  |    8 +++++---
 Tiger.Business.MES/Transaction/PackingNode.cs |   14 ++++++++------
 Tiger.Business.MES/Transaction/TestNode.cs    |    8 ++++----
 4 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/Tiger.Business.MES/Transaction/CollectNode.cs b/Tiger.Business.MES/Transaction/CollectNode.cs
index a6d1db0..58d7be1 100644
--- a/Tiger.Business.MES/Transaction/CollectNode.cs
+++ b/Tiger.Business.MES/Transaction/CollectNode.cs
@@ -308,7 +308,7 @@
                     }
 
                     //鏇存柊宸ュ崟鏉$爜鏄庣粏淇℃伅
-                    var woSNs = CurBatch.WoSNs.Where(q => wipSNs.Any(w => q.SN == w.SN)).ToList();
+                    var woSNs = CurBatch.WoSNs.Where(q => wipSNs.Any(w => q.WIP_ID == w.ID)).ToList();
                     foreach (var woSN in woSNs)
                     {
                         woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
@@ -342,7 +342,7 @@
                         //濡傛灉鏄姇鍏ョ珯
                         if (curNodeSetting.IS_INPUT == "Y")
                         {
-                            var woSN = woSNs.First(q => q.SN == wipSN.SN);
+                            var woSN = woSNs.First(q => q.WIP_ID == wipSN.ID);
                             woSN.STATUS = BIZ_MES_WO_SN.STATUSs.Inputed.GetValue();
                             wipSN.STATUS = MES_WIP_DATA.STATUSs.Input.GetValue();
                             wipSN.INLINE_DATE = DateTime.Now;
@@ -350,7 +350,7 @@
                         //濡傛灉鏄骇鍑虹珯
                         if (curNodeSetting.IS_OUTPUT == "Y")
                         {
-                            var woSN = woSNs.First(q => q.SN == wipSN.SN);
+                            var woSN = woSNs.First(q => q.WIP_ID == wipSN.ID);
                             woSN.STATUS = BIZ_MES_WO_SN.STATUSs.Finished.GetValue();
                             wipSN.STATUS = MES_WIP_DATA.STATUSs.Finished.GetValue();
                             wipSN.OUTLINE_DATE = DateTime.Now;
diff --git a/Tiger.Business.MES/Transaction/PackingNode.cs b/Tiger.Business.MES/Transaction/PackingNode.cs
index e5e5baf..f179fb0 100644
--- a/Tiger.Business.MES/Transaction/PackingNode.cs
+++ b/Tiger.Business.MES/Transaction/PackingNode.cs
@@ -62,7 +62,6 @@
                 //NodeSubmit锛氫骇鍝佽繃绔欙紝姝e父浜у搧杩囩珯閫昏緫
                 else
                 {
-                    NodeCmd = "NodeSubmit";
                     //宸ユ鍒楄〃涓虹┖鎴栬�呭伐搴忚妭鐐瑰伐姝ユ湁鏈畬鎴愭椂锛屼紭鍏堝畬鎴愬伐搴忚妭鐐瑰伐姝�
                     if (Steps.IsNullOrEmpty() || !IsFinishNodeSteps)
                     {
@@ -330,10 +329,13 @@
                         return canGotoNext;
                     }
 
+                    //璁剧疆褰撳墠鎸囦护涓烘甯镐骇鍝佽繃绔�
+                    NodeCmd = "NodeSubmit";
+
                     //缁戝畾鏉$爜鍒板伐鍗�
                     foreach (var wipSN in wipSNs)
                     {
-                        if (!CurBatch.WoSNs.Any(q => q.SN == wipSN.SN))
+                        if (!CurBatch.WoSNs.Any(q => q.WIP_ID == wipSN.ID))
                         {
                             CurBatch.WoSNs.Add(new()
                             {
@@ -348,7 +350,7 @@
                     }
 
                     //鏇存柊宸ュ崟鏉$爜鏄庣粏淇℃伅
-                    var woSNs = CurBatch.WoSNs.Where(q => wipSNs.Any(w => q.SN == w.SN)).ToList();
+                    var woSNs = CurBatch.WoSNs.Where(q => wipSNs.Any(w => q.WIP_ID == w.ID)).ToList();
                     foreach (var woSN in woSNs)
                     {
                         woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
@@ -382,7 +384,7 @@
                         //濡傛灉鏄姇鍏ョ珯
                         if (curNodeSetting.IS_INPUT == "Y")
                         {
-                            var woSN = woSNs.First(q => q.SN == wipSN.SN);
+                            var woSN = woSNs.First(q => q.WIP_ID == wipSN.ID);
                             woSN.STATUS = BIZ_MES_WO_SN.STATUSs.Inputed.GetValue();
                             wipSN.STATUS = MES_WIP_DATA.STATUSs.Input.GetValue();
                             wipSN.INLINE_DATE = DateTime.Now;
@@ -390,7 +392,7 @@
                         //濡傛灉鏄骇鍑虹珯
                         if (curNodeSetting.IS_OUTPUT == "Y")
                         {
-                            var woSN = woSNs.First(q => q.SN == wipSN.SN);
+                            var woSN = woSNs.First(q => q.WIP_ID == wipSN.ID);
                             woSN.STATUS = BIZ_MES_WO_SN.STATUSs.Finished.GetValue();
                             wipSN.STATUS = MES_WIP_DATA.STATUSs.Finished.GetValue();
                             wipSN.OUTLINE_DATE = DateTime.Now;
@@ -622,7 +624,7 @@
             try
             {
                 //PkgSubmit锛氭墜鍔ㄧ粨鏉熷寘瑁咃紝淇濆瓨鏆傚瓨鐨勫寘瑁呮暟鎹�
-                if (NodeCmd.IsNullOrEmpty("PkgSubmit") == "PkgSubmit")
+                if (NodeCmd.IsNullOrEmpty("PkgSubmit") == "PkgSubmit" || CurWipSNs.IsNullOrEmpty())
                 {
                     if (Context.ContainsKey("CurPackage"))
                     {
diff --git a/Tiger.Business.MES/Transaction/TestNode.cs b/Tiger.Business.MES/Transaction/TestNode.cs
index 249004b..5480ea9 100644
--- a/Tiger.Business.MES/Transaction/TestNode.cs
+++ b/Tiger.Business.MES/Transaction/TestNode.cs
@@ -293,7 +293,7 @@
                     //缁戝畾鏉$爜鍒板伐鍗�
                     foreach (var wipSN in wipSNs)
                     {
-                        if (!CurBatch.WoSNs.Any(q => q.SN == wipSN.SN))
+                        if (!CurBatch.WoSNs.Any(q => q.WIP_ID == wipSN.ID))
                         {
                             CurBatch.WoSNs.Add(new()
                             {
@@ -308,7 +308,7 @@
                     }
 
                     //鏇存柊宸ュ崟鏉$爜鏄庣粏淇℃伅
-                    var woSNs = CurBatch.WoSNs.Where(q => wipSNs.Any(w => q.SN == w.SN)).ToList();
+                    var woSNs = CurBatch.WoSNs.Where(q => wipSNs.Any(w => q.WIP_ID == w.ID)).ToList();
                     foreach (var woSN in woSNs)
                     {
                         woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG;
@@ -342,7 +342,7 @@
                         //濡傛灉鏄姇鍏ョ珯
                         if (curNodeSetting.IS_INPUT == "Y")
                         {
-                            var woSN = woSNs.First(q => q.SN == wipSN.SN);
+                            var woSN = woSNs.First(q => q.WIP_ID == wipSN.ID);
                             woSN.STATUS = BIZ_MES_WO_SN.STATUSs.Inputed.GetValue();
                             wipSN.STATUS = MES_WIP_DATA.STATUSs.Input.GetValue();
                             wipSN.INLINE_DATE = DateTime.Now;
@@ -350,7 +350,7 @@
                         //濡傛灉鏄骇鍑虹珯
                         if (curNodeSetting.IS_OUTPUT == "Y")
                         {
-                            var woSN = woSNs.First(q => q.SN == wipSN.SN);
+                            var woSN = woSNs.First(q => q.WIP_ID == wipSN.ID);
                             woSN.STATUS = BIZ_MES_WO_SN.STATUSs.Finished.GetValue();
                             wipSN.STATUS = MES_WIP_DATA.STATUSs.Finished.GetValue();
                             wipSN.OUTLINE_DATE = DateTime.Now;
diff --git a/Tiger.Model.Net/Entitys/MES/MES_OPERATION.cs b/Tiger.Model.Net/Entitys/MES/MES_OPERATION.cs
index 02762b9..7c5575a 100644
--- a/Tiger.Model.Net/Entitys/MES/MES_OPERATION.cs
+++ b/Tiger.Model.Net/Entitys/MES/MES_OPERATION.cs
@@ -39,9 +39,9 @@
         [DisplayName("宸ュ簭绠�绉�")]
         public string SHORT_NAME { get; set; }
         /// <summary>
-        /// 宸ュ簭绫诲瀷(0Collect閲囬泦宸ュ簭|1Assembly缁勮宸ュ簭|2Test娴嬭瘯宸ュ簭|3Packing鍖呰宸ュ簭|4Repair缁翠慨宸ュ簭)
+        /// 宸ュ簭绫诲瀷(-1FlowMark娴佺▼鏍囪|0Collect閲囬泦宸ュ簭|1Assembly缁勮宸ュ簭|2Test娴嬭瘯宸ュ簭|3Packing鍖呰宸ュ簭|4Repair缁翠慨宸ュ簭)
         /// </summary>
-        [DisplayName("宸ュ簭绫诲瀷(0Collect閲囬泦宸ュ簭|1Assembly缁勮宸ュ簭|2Test娴嬭瘯宸ュ簭|3Packing鍖呰宸ュ簭|4Repair缁翠慨宸ュ簭)")]
+        [DisplayName("宸ュ簭绫诲瀷(-1FlowMark娴佺▼鏍囪|0Collect閲囬泦宸ュ簭|1Assembly缁勮宸ュ簭|2Test娴嬭瘯宸ュ簭|3Packing鍖呰宸ュ簭|4Repair缁翠慨宸ュ簭)")]
         public int OPER_TYPE { get; set; }
         /// <summary>
         /// 宸ュ簭绫诲悕(FullName锛屽寘鎷懡鍚嶇┖闂�)
@@ -118,10 +118,12 @@
 		*/
 
         /// <summary>
-        /// 鏋氫妇锛氬伐搴忕被鍨�(0Collect閲囬泦宸ュ簭|1Assembly缁勮宸ュ簭|2Test娴嬭瘯宸ュ簭|3Packing鍖呰宸ュ簭|4Repair缁翠慨宸ュ簭)
+        /// 鏋氫妇锛氬伐搴忕被鍨�(-1FlowMark娴佺▼鏍囪|0Collect閲囬泦宸ュ簭|1Assembly缁勮宸ュ簭|2Test娴嬭瘯宸ュ簭|3Packing鍖呰宸ュ簭|4Repair缁翠慨宸ュ簭)
         /// </summary>
         public enum OPER_TYPEs
         {
+            [Description("娴佺▼鏍囪")]
+            FlowMark = -1,
             [Description("閲囬泦宸ュ簭")]
             Collect = 0,
             [Description("缁勮宸ュ簭")]

--
Gitblit v1.9.3