From 2b05362eba2f989b7857349cc9a3a1c12f8181b6 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 26 9月 2025 11:35:50 +0800
Subject: [PATCH] 222

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs |  101 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 71 insertions(+), 30 deletions(-)

diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs
index 71cdc1c..eb6ce9f 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs
@@ -85,7 +85,7 @@
                     //plcService.Close();
                     //plcService.OpenService();
                 }
-                string value_04 = "";
+                string value_04 = "FALSE";
                 while (true)
                 {
                     threadStatusMonitor.ErrorMsg = "";
@@ -111,12 +111,11 @@
                         else
                         {
                             var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
-                            if (value_04.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
-                            {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
-                             //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
-                             //涓氬姟浠g爜
-                                threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
-                                WorkPieceLogMiddle wplog = new WorkPieceLogMiddle();
+                            WorkPieceLogMiddle wplog = null;
+                            var value_bool = value.ToString().ToUpper().Equals("TRUE");
+                            if (value_bool)
+                            {
+                                wplog = new WorkPieceLogMiddle();
                                 wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                 wplog.WorkingProcedure = WorkingProcedure;
                                 wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ;
@@ -149,45 +148,87 @@
                                         Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶spc鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id}", setex);
                                     }
                                 }
-
                                 if (_dataCaptureConfig.WorkingProcedure.Equals("OP20") || _dataCaptureConfig.WorkingProcedure.Equals("OP60")
-                                    )
-                                {//op20,op50,op60 浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞�
-                                    wplog.WorkPieceID = wplog.WorkPieceIDA;
-                                    wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢A";
-                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-                                    wplog.WorkPieceID = wplog.WorkPieceIDB;
-                                    wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢B";
-                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-                                    wplog.WorkPieceID = wplog.WorkPieceIDC;
-                                    wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢C";
-                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                             )
+                                {
+                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDA);
+                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDB);
+                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDC);
                                     if (_dataCaptureConfig.WorkingProcedure.Equals("OP60"))
                                     {
-                                        wplog.WorkPieceID = wplog.WorkPieceIDD;
-                                        wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢D";
-                                        WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDD);
                                     }
                                 }
                                 else
                                 {
-                                    //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
-                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                    //鐩戞帶涓婄嚎
+                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                                 }
-                                threadStatusMonitor.Threadstatue = 1;
+                            }
+                            else
+                            {
+                                value_04 = value.ToString();
+                            }
+
+                            if (wplog != null)
+                            {
+                                if (_dataCaptureConfig.WorkingProcedure.Equals("OP20") || _dataCaptureConfig.WorkingProcedure.Equals("OP60")
+                               )
+                                {//op20,op50,op60 浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞�
+                                    if (value_04.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+                                    {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+                                     //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
+                                     //涓氬姟浠g爜
+                                        threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
+
+                                        //op20,op50,op60 浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞�
+                                        wplog.WorkPieceID = wplog.WorkPieceIDA;
+                                        wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢A";
+                                        WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        wplog.WorkPieceID = wplog.WorkPieceIDB;
+                                        wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢B";
+                                        WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        wplog.WorkPieceID = wplog.WorkPieceIDC;
+                                        wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢C";
+                                        WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        if (_dataCaptureConfig.WorkingProcedure.Equals("OP60"))
+                                        {
+                                            wplog.WorkPieceID = wplog.WorkPieceIDD;
+                                            wplog.Remarks = "SPC鎺ㄥ嚭宸ヤ欢D";
+                                            WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        }
+
+                                        threadStatusMonitor.Threadstatue = 1;
 
 
-                                //鍒ゆ柇鏄惁璺冲簭锛屼笂涓�宸ュ簭璐ㄩ噺鏄惁鍚堟牸
+                                    }
+                                    value_04 = value.ToString();
+                                }
+                                else
+                                {
+                                    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
+                                    if (isRight)
+                                    {
+                                        #region 澶勭悊涓氬姟
 
+                                        if (value_04.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+                                        {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+                                         //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
+                                         //涓氬姟浠g爜
+                                            threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
 
+                                            //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
+                                            WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
 
-                                //鍙嶉缁橮LC锛屽啓鍏�
+                                            threadStatusMonitor.Threadstatue = 1;
+                                        }
+                                        value_04 = value.ToString();
 
+                                        #endregion
+                                    }
+                                }
 
                             }
-                            value_04 = value.ToString();
-
-
                         }
                         threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
 

--
Gitblit v1.9.3