From 7f699a115d555d68c6b9fb658ee7db1a3e47c841 Mon Sep 17 00:00:00 2001
From: kingno <30263@KINGNO>
Date: 星期二, 17 六月 2025 13:04:32 +0800
Subject: [PATCH] Revert "双击圆点出图"

---
 src/Bro.M141.Process/M141Process_Mysql.cs |   60 ++++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 48 insertions(+), 12 deletions(-)

diff --git a/src/Bro.M141.Process/M141Process_Mysql.cs b/src/Bro.M141.Process/M141Process_Mysql.cs
index 17af1a5..00d7bee 100644
--- a/src/Bro.M141.Process/M141Process_Mysql.cs
+++ b/src/Bro.M141.Process/M141Process_Mysql.cs
@@ -145,7 +145,6 @@
         {
             try
             {
-                Thread.Sleep(200);
                 if (pro.Details != null)
                 {
                     foreach (var item in pro.Details)
@@ -153,7 +152,9 @@
                         if (item != null)
                         {
                             var defects = item.ResultList.GetDefectDescList();
-                            item.DefectList.AddRange(defects);
+                            var ngSpecCodes = item.SpecList.Where(u => u.MeasureResult != true).Select(u => u.Code);
+                            defects.AddRange(ngSpecCodes);
+                            item.DefectList.AddRange(defects.Distinct());
                         }
                     }
                 }
@@ -168,7 +169,7 @@
 
                 //CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"{jsondata}");
 
-                string mysqlstr = $"update forlocal set data='{jsondata}' where plcnum='{pro.SEQUENCE}'";
+                string mysqlstr = $"update forlocal set data='{jsondata}',pid='{pro.PID}' where plcnum='{pro.SEQUENCE}'";
 
                 if (Operatoremysql(mysqlstr, connStrLocal))
                 {
@@ -195,23 +196,58 @@
                     //string destr = "delete from forall where id not in (select id from (select id from forall order BY id desc limit 1000) as subquery)";
                     //Operatoremysql(destr, connStrAll);
 
-                    string str1 = "select id from forall  order by id desc limit 1";
-                    string index = selectmysql(str1, connStrAll);
-                    if (!string.IsNullOrEmpty(index))
+                    if (pro.Details != null)
                     {
-                        string str2 = $"delete from forall where id < ({index}-1000)";
-                        Operatoremysql(str2, connStrAll);
+                        foreach (var item in pro.Details)
+                        {
+                            if (item != null)
+                            {
+                                var defects = item.ResultList.GetDefectDescList();
+                                var ngSpecCodes = item.SpecList.Where(u => u.MeasureResult != true).Select(u => u.Code);
+                                defects.AddRange(ngSpecCodes);
+                                item.DefectList.AddRange(defects.Distinct());
+                                item.DefectList = item.DefectList.Distinct().ToList();
+                            }
+                        }
                     }
 
-                    string mysqlstr = $"insert into forall (basketcode,device,plcnum,sn,data,time) values('{pro.BasketCode}','{devicestr}','{pro.SEQUENCE}','{pro.SN}','{JsonConvert.SerializeObject(pro, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All })}','{DateTime.Now.ToString("yyyyMMddHHmmss")}')";
+                    string strtem = "select * from forall  where plcnum='" + pro.SEQUENCE + "' and device='" + devicestr + "' ";
 
-                    if (Operatoremysql(mysqlstr, connStrAll))
+                    var temdb = selectdt(strtem, connStrAll);
+                    if (temdb != null && temdb.Rows.Count > 0)
                     {
-                        CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"鏁版嵁搴揻orall鎻掑叆鏁版嵁鎴愬姛");
+                        string mysqlstr = $"update forall set data='" + JsonConvert.SerializeObject(pro, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All }) + "' where plcnum='" + pro.SEQUENCE + "' and device='" + devicestr + "' ";
+
+                        if (Operatoremysql(mysqlstr, connStrAll))
+                        {
+                            CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"鏁版嵁搴揻orall鏇存柊鏁版嵁鎴愬姛");
+                        }
+                        else
+                        {
+                            CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"鏁版嵁搴揻orall鏇存柊鏁版嵁寮傚父  {mysqlstr}");
+                        }
                     }
                     else
                     {
-                        CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"鏁版嵁搴揻orall鎻掑叆鏁版嵁寮傚け璐�  {mysqlstr}");
+                        string str1 = "select id from forall  order by id desc limit 1";
+                        string index = selectmysql(str1, connStrAll);
+
+                        if (!string.IsNullOrEmpty(index))
+                        {
+                            string str2 = $"delete from forall where id < ({index}-1000)";
+                            Operatoremysql(str2, connStrAll);
+                        }
+
+                        string mysqlstr = $"insert into forall (basketcode,device,plcnum,sn,data,time) values('{pro.BasketCode}','{devicestr}','{pro.SEQUENCE}','{pro.SN}','{JsonConvert.SerializeObject(pro, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All })}','{DateTime.Now.ToString("yyyyMMddHHmmss")}')";
+
+                        if (Operatoremysql(mysqlstr, connStrAll))
+                        {
+                            CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"鏁版嵁搴揻orall鎻掑叆鏁版嵁鎴愬姛");
+                        }
+                        else
+                        {
+                            CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"鏁版嵁搴揻orall鎻掑叆鏁版嵁寮傚け璐�  {mysqlstr}");
+                        }
                     }
 
                 }

--
Gitblit v1.8.0