From 305e2990bb2161177e87ab7711f9dfb205762bcd Mon Sep 17 00:00:00 2001
From: kingno <30263@KINGNO>
Date: 星期一, 09 六月 2025 15:52:42 +0800
Subject: [PATCH] 优化数据传递

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

diff --git a/src/Bro.M141.Process/M141Process.cs b/src/Bro.M141.Process/M141Process.cs
index 2fad3d8..dc29ff2 100644
--- a/src/Bro.M141.Process/M141Process.cs
+++ b/src/Bro.M141.Process/M141Process.cs
@@ -45,18 +45,11 @@
         public static object _productListLock = new object();
         public List<ProductModel> ProductList = new List<ProductModel>();
         MachineLearningBase ML = null;
-        TcpListenerWrap TcpListener = null;
         Spec _errorSpec = null;
 
-        TcpListenerWrap _realTimeServer = null;
-
-        volatile int _productIndex = 0;
-
-        int _backgroundImageWidth = 2448;
+        //volatile int _productIndex = 0;
 
         M141Process_Mysql mysqlhelper = new M141Process_Mysql();
-
-
 
 
         public override void InitialProcessMethods()
@@ -131,6 +124,9 @@
         public void Heartplc()
         {
             Thread.Sleep(1000);
+
+            //Open();
+
             string _statisticFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Statistic.json");
             if (File.Exists(_statisticFilePath))
             {
@@ -768,7 +764,7 @@
                         {
                             products.ForEach(p =>
                             {
-                                var pResults = resultList.Where(u => u.PID == p.PID).ToList();
+                                var pResults = resultList.ToList();
                                 p.AddNewDetectResults(M141Config.StationCode, measureBind.WorkPosition, pResults);
                                 LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"浜у搧{p.PID}_{p.SEQUENCE}娣诲姞宸ヤ綅{measureBind.WorkPosition}妫�娴嬬粨鏋滐紝鏁伴噺{pResults.Count}");
                             });
@@ -998,6 +994,7 @@
                     {
                         p.BasketCode = mysqlhelper.Getbasketcode(p.SEQUENCE, out string sntem);
                         p.SN = sntem;
+                        p.PID = $"{sntem}_{i}";
                         if ("NoRead".Equals(p.BasketCode))
                         {
                             LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{p.PID}_{p.SEQUENCE}鑾峰彇妗嗗叿鐮佸け璐� 璧嬪�糔oread");
@@ -1032,8 +1029,9 @@
 
                     //鍒濆鍖栦骇鍝佺殑妫�娴嬫鏁�
                     var checkIndexList = M141Config.MeasureBindCollection.Where(u => u.WorkPosition == b.WorkPosition && u.ProductIndices.Contains(i)).Select(u => u.CheckIndex).OrderBy(u => u).ToList();
-                    p.InitialPositionCheckList(b.WorkPosition, checkIndexList);
+                    p.InitialPositionCheckList(b.WorkPosition, checkIndexList, M141Config.StationCode);
                     LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"浜у搧{p.PID}_{p.SEQUENCE}宸叉竻鐞唟b.WorkPosition}妫�娴嬫暟鎹�傚綋鍓嶅凡瀹屾垚宸ヤ綅{string.Join(",", p.Details.Select(u => u.PositionName))}");
+
                 });
 
                 //鍒濆鍖栧伐浣嶇殑妫�娴嬫鏁�
@@ -1197,6 +1195,8 @@
                     newp.BasketCode = p.BasketCode;
                     newp.Result = p.Result;
                     newp.SN = p.SN;
+
+                    Thread.Sleep(500);
                     var plist = mysqlhelper.GetProductList(p.SEQUENCE);
 
 
@@ -1207,6 +1207,7 @@
                             newp.Details.AddRange(item.Details);
                         }
                     }
+                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"AllDeviceProductRecord浠庢暟鎹簱鑾峰彇鍒版暟鎹畕p.SEQUENCE} plist鏁伴噺{plist.Count} Details鏁伴噺{newp.Details.Count}");
 
                     //newp.Details.AddRange(p.Details);
 

--
Gitblit v1.8.0