From dbf68d954db78f369b87e87212e1f82b5513a894 Mon Sep 17 00:00:00 2001
From: zhouquan <zhouquan@LAPTOP-J27PNMJT>
Date: 星期五, 01 八月 2025 13:52:59 +0800
Subject: [PATCH] MES功能添加强制上传成功,以及关闭NG产品上传功能合并

---
 src/Bro.M141.Process/M141Process.cs |   87 +++++++++++++++++++++++++++++++++----------
 1 files changed, 66 insertions(+), 21 deletions(-)

diff --git a/src/Bro.M141.Process/M141Process.cs b/src/Bro.M141.Process/M141Process.cs
index 8a3bd16..93b8fe0 100644
--- a/src/Bro.M141.Process/M141Process.cs
+++ b/src/Bro.M141.Process/M141Process.cs
@@ -1258,13 +1258,26 @@
                                 M141Config.numpro = 0;
                             }
 
+                            string Msgreceice = null;
+
                             if (pList[0].Result == "OK")
                             {
-                                M141Config.numpro++;
+                                M141Config.numpro++;                                
+                                Msgreceice = Task.Run(() => mqtt.MESForProduceAsync(pList[0], M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
                             }
-
-                            //mqtt.demes(productList[0], M141Config.zwoid);
-                            string Msgreceice = Task.Run(() => mqtt.MESForProduceAsync(pList[0], M141Config.numpro)).Result;
+                            else
+                            {
+                                if (M141Config.ISupNG)
+                                {
+                                    Msgreceice = Task.Run(() => mqtt.MESForProduceAsync(pList[0], M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{pList[0].PID}鍚姩NG涓婁紶");
+                                }
+                                else
+                                {
+                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{pList[0].PID}鍏抽棴NG涓婁紶");
+                                }                              
+                            }                            
+                            M141Config.mesnum2++;
                             if (Msgreceice == null)
                             {
                                 LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"浜у搧{pList[0].PID}鏁版嵁涓婁紶MES寮傚父 杩斿洖鏁版嵁涓簄ull");
@@ -1293,15 +1306,20 @@
 
 
                             int numplca = Convert.ToInt32(pList[0].SEQUENCE.Split('_')[0]);
+                            LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"plc缁欏嚭鐨勪骇鍝佸簭鍙蜂负{numplca}");
 
-                          
-                            lock (plcnumlock)
+                            lock (plcnumlock)//1-29999   
                             {
+
                                 if (PlcNumForAll == -1)
                                 {
                                     PlcNumForAll = numplca;
                                 }
+
                                 int differ = numplca - PlcNumForAll;
+
+                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"涓や釜浜у搧涓棿鐨勫樊鍊糳iffer涓簕differ}");
+
                                 if (differ > 1)
                                 {
                                     for (int i = PlcNumForAll + 1; i < numplca; i++)
@@ -1316,8 +1334,17 @@
                                             newp.Zword = plist[0].Zword;
                                             newp.Result = "NG";
                                             newp.SN = plist[0].SN;
-                                            var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.numpro)).Result;
-
+                                            if (M141Config.ISupNG)
+                                            {
+                                                var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                                M141Config.mesnum2++;
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍚姩NG涓婁紶");
+                                            }
+                                            else
+                                            {
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍏抽棴NG涓婁紶");
+                                            }
+                                            
                                         }
                                         catch
                                         {
@@ -1327,11 +1354,12 @@
                                 }
                                 else if (differ == -29998 && differ == 1 && differ == 0)
                                 {
-
-
+                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"鐢熶骇杩囩▼涓湭澶卞幓浜у搧");
                                 }
-                                else
+                                else if ( differ<0 && differ>-29998)
                                 {
+                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"PlcNumForAll涓簕PlcNumForAll}锛宯umplca涓簕numplca}");
+                                    //浜у搧浠庢柊璁℃暟鏃�
                                     for (int i = PlcNumForAll + 1; i <= 29999; i++)
                                     {
                                         try
@@ -1344,17 +1372,26 @@
                                             newp.BasketCode = plist[0].BasketCode;
                                             newp.Result = "NG";
                                             newp.SN = plist[0].SN;
-                                            var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.numpro)).Result;
-
+                                            if (M141Config.ISupNG)
+                                            {
+                                                var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                                M141Config.mesnum2++;
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍚姩NG涓婁紶");
+                                            }
+                                            else
+                                            {
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍏抽棴NG涓婁紶");
+                                            }
+                                            //var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                            //M141Config.mesnum2++;
+                                            //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"PlcNumForAll锛屽墠绔橬G鎺掓枡涓攑lc瑙﹀彂娓呴浂浜у搧{newp.PID}鏁版嵁涓婁紶,缁撴灉涓簕newp.Result}");
+                                        
                                         }
                                         catch
                                         {
 
                                         }
                                     }
-
-
-
                                     for (int i = 1; i < numplca; i++)
                                     {
                                         try
@@ -1367,18 +1404,26 @@
                                             newp.Zword = plist[0].Zword;
                                             newp.Result = "NG";
                                             newp.SN = plist[0].SN;
-                                            var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.numpro)).Result;
+                                            if (M141Config.ISupNG)
+                                            {
+                                                var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                                M141Config.mesnum2++;
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍚姩NG涓婁紶");
+                                            }
+                                            else
+                                            {
+                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{newp.PID}鍏抽棴NG涓婁紶");
+                                            }
 
+                                            //var tems = Task.Run(() => mqtt.MESForProduceAsync(newp, M141Config.mesnum2.ToString(), M141Config.numpro)).Result;
+                                            //M141Config.mesnum2++;
+                                            //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"numplca锛屽墠绔橬G鎺掓枡涓攑lc瑙﹀彂娓呴浂浜у搧{newp.PID}鏁版嵁涓婁紶,缁撴灉涓簕newp.Result}");
                                         }
                                         catch
                                         {
-
                                         }
                                     }
                                 }
-
-
-
                                 PlcNumForAll = numplca;
                             }
 

--
Gitblit v1.8.0