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 | 105 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 65 insertions(+), 40 deletions(-) diff --git a/src/Bro.M141.Process/M141Process_Mysql.cs b/src/Bro.M141.Process/M141Process_Mysql.cs index 632a3be..00d7bee 100644 --- a/src/Bro.M141.Process/M141Process_Mysql.cs +++ b/src/Bro.M141.Process/M141Process_Mysql.cs @@ -12,6 +12,7 @@ using System.Text; using System.Threading.Tasks; using Windows.Globalization.PhoneNumberFormatting; +using Windows.Media.Ocr; using static Org.BouncyCastle.Math.EC.ECCurve; using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView; @@ -22,7 +23,6 @@ string connStrAll = "server=localhost;port=3306;user id=root;password=123456;database=BroDB;charset=utf8"; string connStrLocal = "server=localhost;port=3306;user id=root;password=123456;database=BroDB;charset=utf8"; - #region 鍩虹鎿嶄綔 @@ -145,33 +145,19 @@ { try { - if (pro.Details!=null) + if (pro.Details != null) { foreach (var item in pro.Details) { - if (item.ResultList!=null) + if (item != null) { - item.ResultList.ForEach(u => - { - if (u.NetResults != null) - { - u.NetResults.ForEach(x => - { - if (x.DetectDetails != null) - { - var distinctItems = x.DetectDetails.GroupBy(i => new { i.ClassName, i.FinalResult }) // 鏍规嵁Id鍜孨ame鍘婚噸 - .Select(g => g.First()) // 閫夋嫨姣忎釜缁勭殑绗竴涓厓绱� - .ToList(); - x.DetectDetails = distinctItems; - } - }); - } - }); + 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()); } } } - - JsonSerializerSettings settings = new JsonSerializerSettings { @@ -183,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)) { @@ -206,29 +192,62 @@ { try { - //淇濈暀鏁版嵁搴撴渶鏂扮殑1000鏉℃暟鎹� //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 strtem = "select * from forall where plcnum='" + pro.SEQUENCE + "' and device='" + devicestr + "' "; - 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)) + 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}"); + } } } @@ -263,20 +282,26 @@ return null; } - public string Getbasketcode(string plcnum) + public string Getbasketcode(string plcnum, out string sn) { + sn = "Noread"; try { - string mysqlstr = $"select basketcode from forall where plcnum='{plcnum}' && device='S2' order by id desc limit 1"; - string str = selectmysql(mysqlstr, connStrAll); - if (!string.IsNullOrEmpty(str)) + string mysqlstr = $"select basketcode,sn from forall where plcnum='{plcnum}' && device='S2' order by id desc limit 1"; + var dt = selectdt(mysqlstr, connStrAll); + if (dt == null || dt.Rows.Count == 0) { - return str; + return "Noread"; + } + else + { + sn = dt.Rows[0][1].ToString(); + return dt.Rows[0][0].ToString(); } } catch (Exception e) { - //CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴揻orlocal鑾峰彇寮傚父 {e.ToString()}"); + } return "NoRead"; } @@ -286,7 +311,7 @@ { try { - string mysqlstr = $"select data from forall where plcnum='{plcnum}'"; + string mysqlstr = $"select data from forall where plcnum='{plcnum}' order by device"; var dt = selectdt(mysqlstr, connStrAll); if (dt == null) { -- Gitblit v1.8.0