From e41fb4bea3afa879caaf6c9f316f01bacf262545 Mon Sep 17 00:00:00 2001
From: kingno <30263@KINGNO>
Date: 星期一, 23 六月 2025 20:03:12 +0800
Subject: [PATCH] S2和S4结果联动.S2抛条码NG,其余NG到S4抛料

---
 src/Bro.M141.Process/M141Process_Mysql.cs      |   26 +++++++++++++
 src/Bro.M141.Process/M141Config.cs             |    4 --
 src/Bro.M141.Process/M141Process_ImageCheck.cs |   49 ++++++++++--------------
 3 files changed, 47 insertions(+), 32 deletions(-)

diff --git a/src/Bro.M141.Process/M141Config.cs b/src/Bro.M141.Process/M141Config.cs
index f121104..7f46444 100644
--- a/src/Bro.M141.Process/M141Config.cs
+++ b/src/Bro.M141.Process/M141Config.cs
@@ -963,10 +963,6 @@
         [Editor(typeof(FoldDialogEditor), typeof(UITypeEditor))]
         public string ImageFolder { get; set; }
 
-        [Category("鍚姩閰嶇疆")]
-        [Description("true锛氬惎鍔ㄧ绾挎祴璇� false锛氬仠姝㈢绾挎祴璇�")]
-        [DisplayName("娴嬭瘯寮�鍏�")]
-        public bool IsStart { get; set; } = true;
 
 
         [Category("妫�娴嬪姛鑳�")]
diff --git a/src/Bro.M141.Process/M141Process_ImageCheck.cs b/src/Bro.M141.Process/M141Process_ImageCheck.cs
index b61d5c4..f8d90da 100644
--- a/src/Bro.M141.Process/M141Process_ImageCheck.cs
+++ b/src/Bro.M141.Process/M141Process_ImageCheck.cs
@@ -2,6 +2,7 @@
 using Bro.Common.Helper;
 using Bro.Common.Interface;
 using Bro.Common.Model;
+using Bro.DataBase.Model;
 using Bro.M135.Common;
 using Bro.M135.DBManager;
 using HalconDotNet;
@@ -441,7 +442,7 @@
 
             return msg;
         }
-        
+
 
 
 
@@ -481,26 +482,18 @@
             } while (true);
 
 
-            var Defaultclass = M141Config.DefectClassCollection.FirstOrDefault(u => u.IsDefault);
-            productList.ForEach(p =>
-            {
-                if (Defaultclass == null)
-                {
-                    if (string.IsNullOrEmpty(p.Result))
-                    {
-                        p.Result = "NG";
-                    }
-                }
-                else
-                {
-                    if (string.IsNullOrEmpty(p.Result))
-                    {
-                        p.Result = Defaultclass.ClassName;
-                    }
-                }
+            var Defaultclass = M141Config.DefectClassCollection.FirstOrDefault(u => u.ClassName == productList[0].Result);
 
-                Plc1.WriteSingleAddress(1526, p.Result.ToUpper().Contains("NG") ? 2 : 1, out _);
-            });
+            if (M141Config.StationCode == "S4" && productList[0].Result == "OK")
+            {
+                ////mysqlhelper.GetS2Result(productList[0].SEQUENCE);
+                Plc1.WriteSingleAddress(1526, mysqlhelper.GetS2Result(productList[0].SEQUENCE) ? 1 : 2, out _);
+            }
+            else
+            {
+                Plc1.WriteSingleAddress(1526, Defaultclass?.ClassValue ?? 2, out _);
+            }
+
             Plc1.WriteSingleAddress(1516, 1, out _);
 
             return msg;
@@ -527,7 +520,7 @@
             return new ResponseMessage();
         }
 
-        private async void OfflineDemoAsync(string imageFolder,bool isok,int saveimagetime)
+        private async void OfflineDemoAsync(string imageFolder, bool isok, int saveimagetime)
         {
             await Task.Run(() =>
             {
@@ -544,7 +537,7 @@
                     {
                         continue;
                     }
-                    if (imageFile.EndsWith("OK")& isok == false)
+                    if (imageFile.EndsWith("OK") & isok == false)
                     {
                         continue;
                     }
@@ -552,7 +545,7 @@
                     {
                         continue;
                     }
-                    var nameDatas = imageFile.Split(new char[] { '_'}, StringSplitOptions.RemoveEmptyEntries).ToList();
+                    var nameDatas = imageFile.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                     if (nameDatas.Count != 5)
                     {
                         LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"鏂囦欢{imageFile}鍛藉悕涓嶇鍚堣鑼冿紝涓嶆墽琛岀绾挎祴璇�");
@@ -562,8 +555,8 @@
                     var sn = nameDatas[0];
                     var imageSeq = nameDatas[2][^1].ToString();
                     var measureBind = M141Config.MeasureBindCollection.FirstOrDefault(u => u.ImageSaveSeq == imageSeq);
-                    
-                if (measureBind == null || !measureBind.IsFixed)
+
+                    if (measureBind == null || !measureBind.IsFixed)
                     {
                         LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"绂荤嚎娴嬭瘯锛屽伐浣峽(measureBind == null ? "鏈尮閰�" : $"{measureBind.WorkPosition}鏈紑鍚�")}");
                         continue;
@@ -579,11 +572,11 @@
                     Thread.Sleep(saveimagetime);
                     imgSet.HImage?.Dispose();
                     imgSet.HImage = null;
-                    
+
                 }
             });
         }
-    
+
 
 
         [ProcessMethod("printer", "printer", "鎵撳嵃鏈烘墦鍗�", InvokeType.TestInvoke)]
@@ -722,7 +715,7 @@
 
             UpdateDefectAsync(defects);
             var defectClass = GetDefectClassFromDefectList(defects);
-            UpdateResult(DateTime.Now, p.SN, defectClass.ClassName, "",p.ImagePaths);
+            UpdateResult(DateTime.Now, p.SN, defectClass.ClassName, "", p.ImagePaths);
 
             //浜у搧搴忓彿+1
             //Interlocked.Increment(ref _productIndex);
diff --git a/src/Bro.M141.Process/M141Process_Mysql.cs b/src/Bro.M141.Process/M141Process_Mysql.cs
index 865db24..59cd94f 100644
--- a/src/Bro.M141.Process/M141Process_Mysql.cs
+++ b/src/Bro.M141.Process/M141Process_Mysql.cs
@@ -360,6 +360,32 @@
             return null;
         }
 
+        public bool GetS2Result(string plcnum)
+        {
+            try
+            {
+                string mysqlstr = $"select data from forall where plcnum='{plcnum}' && device='S2' order by id desc limit 1";
+                string str = selectmysql(mysqlstr, connStrAll);
+                if (string.IsNullOrEmpty(str))
+                {
+                    return false;
+                }
+                else
+                {
+                    ProductModel p = null;
+                    p = JsonConvert.DeserializeObject<ProductModel>(str, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All });
+                   
+                    return p.Result=="OK";
+                }
+            }
+            catch (Exception e)
+            {
+                CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴揻orlocal鑾峰彇瀵硅薄寮傚父 {e.ToString()}");
+            }
+            return false;
+        }
+
+
         public string Getbasketcode(string plcnum, out string sn)
         {
             sn = "Noread";

--
Gitblit v1.8.0