From 007782bf44e49b4e3d5166ef361ac9fd03cad9c2 Mon Sep 17 00:00:00 2001
From: kingno <30263@KINGNO>
Date: 星期二, 17 六月 2025 13:07:43 +0800
Subject: [PATCH] 合并

---
 src/Bro.M141.Process/M141Process.cs |   33 +++++++++++++++++----------------
 1 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/src/Bro.M141.Process/M141Process.cs b/src/Bro.M141.Process/M141Process.cs
index 2fad3d8..a68780c 100644
--- a/src/Bro.M141.Process/M141Process.cs
+++ b/src/Bro.M141.Process/M141Process.cs
@@ -38,31 +38,26 @@
 
         public M141Process(string productCode) : base(productCode) { }
         #endregion
+
         TaskFactory _taskFactory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.LongRunning);
+
         public event Action<string, P_PRODUCT_DETAIL, string> OnSinglePostionDetectResultUpdate;
+
         protected M141Config M141Config => Config as M141Config;
 
         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()
         {
             base.InitialProcessMethods();
-
 
             if (ThHeartPlc == null)
             {
@@ -89,7 +84,6 @@
         bool devicestate = false;
         PLCBase Plc2;
         public Thread ThHeartPlc;
-
 
 
         public override void Open()
@@ -128,9 +122,13 @@
 
         }
 
+
         public void Heartplc()
         {
             Thread.Sleep(1000);
+
+            //Open();
+
             string _statisticFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Statistic.json");
             if (File.Exists(_statisticFilePath))
             {
@@ -421,8 +419,6 @@
         Dictionary<string, List<string>> _positionSpecHeads = new Dictionary<string, List<string>>();
 
 
-
-
         volatile int uploadId = 0;
 
 
@@ -516,8 +512,8 @@
                         //    dicpid[tem] = pidList[i];
                         //}
 
-
-                        List<DetectResult> detectResults = ML?.RunMLDetectionSync(imgSet, pidList, measureBind.DetectionId);
+                        //var c=products[0].ImagePaths;
+                        List<DetectResult> detectResults = ML?.RunMLDetectionSync(imgSet, pidList, measureBind.DetectionId,false,null,null,"", products[0].ImagePaths);
                         List<DetectResult> ngResults = new List<DetectResult>();
 
 
@@ -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