From 48961e94a37694f14bd0ac39e2ce91bfa49eddca Mon Sep 17 00:00:00 2001
From: peizhiyong <zhiyong.pei@broconcentric.com>
Date: 星期三, 06 八月 2025 18:40:52 +0800
Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M200

---
 src/Bro.M141.Process/M141Process.cs |  126 +++++++++++++++++++++++++++++++----------
 1 files changed, 95 insertions(+), 31 deletions(-)

diff --git a/src/Bro.M141.Process/M141Process.cs b/src/Bro.M141.Process/M141Process.cs
index 8a3bd16..3fbe71a 100644
--- a/src/Bro.M141.Process/M141Process.cs
+++ b/src/Bro.M141.Process/M141Process.cs
@@ -589,7 +589,8 @@
                                 {
                                     item1.IsAbandoned = false;
                                     item1.FinalResult = ResultState.NG;
-                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"浜у搧{products[0].PID}_{products[0].SEQUENCE}宸ヤ綅{measureBind.WorkPosition}   S3S5缁勫悎妫�娴嬫鍑虹己闄�:{item1.NetName}");
+                                    //products[0].Result = M141Config.defectname;
+                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"浜у搧{products[0].PID}_{products[0].SEQUENCE}宸ヤ綅{measureBind.WorkPosition}   S3S5缁勫悎妫�娴嬫鍑虹己闄�:{item1.NetName}锛屼骇鍝佺粨鏋滀负{products[0].Result}");
                                     break;
                                 }
                             }
@@ -695,10 +696,19 @@
                                     }
 
                                     string ngImageFile = Path.Combine(folder, $"{id}.{post}");
-                                    var bitmap = imgSet.HImage.ConvertHImageToBitmap();
-                                    bitmap.Save(ngImageFile, M141Config.ImageFormatNG);
-                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG鍥剧墖宸蹭繚瀛�");
-                                    bitmap.Dispose();
+                                    //var bitmap = imgSet.HImage.ConvertHImageToBitmap();
+                                    //bitmap.Save(ngImageFile, M141Config.ImageFormatNG);
+                                    //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG鍥剧墖宸蹭繚瀛�");
+                                    //bitmap.Dispose();
+                                    try
+                                    {
+                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG鍥剧墖娴嬭瘯杞瓨{ngImageFile}");
+                                        imgSet.HImage.WriteImage(M141Config.ImageFormatOK.ToString().ToLower(), 0, ngImageFile);
+                                    }
+                                    catch (Exception)
+                                    {
+                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{id}NG鍥剧墖淇濆瓨澶辫触");
+                                    }
                                 }
                             }
                         }
@@ -731,11 +741,20 @@
                                         post = M141Config.ImageFormatOK.ToString().ToLower();
                                     }
 
-                                    string ngImageFile = Path.Combine(folder, $"{id}.{post}");
-                                    var bitmap = imgSet.HImage.ConvertHImageToBitmap();
-                                    bitmap.Save(ngImageFile, M141Config.ImageFormatOK);
-                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK鍥剧墖宸蹭繚瀛�");
-                                    bitmap.Dispose();
+                                    string ngImageFile = Path.Combine(folder, $"{id}.{post}");                                    
+                                    //var bitmap = imgSet.HImage.ConvertHImageToBitmap();
+                                    //bitmap.Save(ngImageFile, M141Config.ImageFormatOK);
+                                    //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK鍥剧墖宸蹭繚瀛�");
+                                    //bitmap.Dispose();
+                                    try
+                                    {
+                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK鍥剧墖娴嬭瘯杞瓨{ngImageFile}");
+                                        imgSet.HImage.WriteImage(M141Config.ImageFormatOK.ToString().ToLower(), 0, ngImageFile);                                      
+                                    }
+                                    catch (Exception)
+                                    {
+                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{id}OK鍥剧墖淇濆瓨澶辫触");
+                                    }
                                 }
                             }
                         }
@@ -1258,13 +1277,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 +1325,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 +1353,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 +1373,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 +1391,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 +1423,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