From c34f8f93417c5a0125f9c55ba3d347411995ac13 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 10 9月 2024 15:05:32 +0800
Subject: [PATCH] 1

---
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs             |  101 +++-
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config                                      |  476 ++++++++++++++++++++++
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_03.cs             |  105 +++-
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs                                        |    6 
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1003.cs |   80 ++-
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs                                    |    4 
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1004.cs |   91 ++-
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1002.cs |   80 ++-
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Test/UnitTest1.cs                                                         |   16 
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs                            |    4 
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - 复制用.config                                |   16 
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs                                                 |   86 ++--
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs             |   62 +-
 DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/ClearDataHandler.cs                                 |  110 +++++
 14 files changed, 982 insertions(+), 255 deletions(-)

diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs
index b42fae3..3efe2fa 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs
@@ -448,15 +448,15 @@
         /// <summary>
         /// OP10宸ュ簭娴嬭瘯瀹屾垚鏍囪鍊�
         /// </summary>
-        public static string value_OP1002 = string.Empty;//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆�
+        public static string value_OP1002 = "FALSE";//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆�
         /// <summary>
         /// OP10宸ュ簭鎺ㄥ嚭鏍囪鍊�
         /// </summary>
-        public static string value_OP1003 = string.Empty;//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆�
+        public static string value_OP1003 = "FALSE";//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆�
         /// <summary>
         /// OP10宸ュ簭SPC鎺ㄥ嚭鏍囪鍊�
         /// </summary>
-        public static string value_OP1004 = string.Empty;
+        public static string value_OP1004 = "FALSE";//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆�
         /// <summary>
         /// OP10宸ュ簭瀹屾垚鏍囪鍊�
         /// </summary>
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs
index b333b43..70f6736 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs
@@ -107,7 +107,7 @@
                     //plcService.Close();
                     //plcService.OpenService();
                 }
-                string value_01 = "";//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆�
+                string value_01 = "FALSE";//娉ㄦ剰锛氶粯璁ゆ槸FALSE 銆怑ditby shaocx,2024-09-05銆�
                 while (true)
                 {
                     threadStatusMonitor.ErrorMsg = "";
@@ -178,36 +178,40 @@
                                 //鐩戞帶涓婄嚎
                                 MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                             }
-                            //if (wplog != null)
-                            //{
-                            //    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
-                            //    if (isRight)
-                            //    {
-                            #region 澶勭悊涓氬姟
-
-                            if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
-                            {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
-                             //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
-                             //涓氬姟浠g爜
-                                threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
-
-                                //鐗规畩澶勭悊OP50 銆怑ditby shaocx,2024-08-16銆�
-                                string sideValue = GetSideForOP50(plcService, wplog);
-                                wplog.MonitoringPoint += sideValue;
-                                //wplog.CreatedUserName = wplog.MonitoringPoint;
-                                SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, wplog.MonitoringPoint, DataCapturePointCname);
-
-                                //璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴�
-                                ReadQRcodeManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback);
-
-                                threadStatusMonitor.Threadstatue = 1;
-
+                            else
+                            {
+                                value_01 = value.ToString();
                             }
-                            value_01 = value.ToString();
+                            if (wplog != null)
+                            {
+                                var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
+                                if (isRight)
+                                {
+                                    #region 澶勭悊涓氬姟
 
-                            #endregion
-                            //    }
-                            //}
+                                    if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+                                    {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+                                     //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
+                                     //涓氬姟浠g爜
+                                        threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
+
+                                        //鐗规畩澶勭悊OP50 銆怑ditby shaocx,2024-08-16銆�
+                                        string sideValue = GetSideForOP50(plcService, wplog);
+                                        wplog.MonitoringPoint += sideValue;
+                                        //wplog.CreatedUserName = wplog.MonitoringPoint;
+                                        SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, wplog.MonitoringPoint, DataCapturePointCname);
+
+                                        //璇诲彇浜岀淮鐮佸悗鏇存柊鏁版嵁搴�
+                                        ReadQRcodeManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback);
+
+                                        threadStatusMonitor.Threadstatue = 1;
+
+                                    }
+                                    value_01 = value.ToString();
+
+                                    #endregion
+                                }
+                            }
                         }
                         threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
                         if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_03.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_03.cs
index 2e89129..23f3513 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_03.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_03.cs
@@ -47,6 +47,7 @@
         {
             if (SystemValue.isStartedImitateModel)
             {
+                /*
                 var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig);
                 WorkPieceLogMiddle wplog = new WorkPieceLogMiddle();
                 wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
@@ -66,7 +67,7 @@
                 wplog.UpdatedUserName = DataCapturePointCode;
                 //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
                 WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-
+                //*/
                 return;
             }
             ThreadStatusMonitorMiddle threadStatusMonitor = new ThreadStatusMonitorMiddle();
@@ -85,7 +86,7 @@
                     //plcService.Close();
                     //plcService.OpenService();
                 }
-                string value_03 = "";
+                string value_03 = "FALSE";//榛樿
                 while (true)
                 {
                     threadStatusMonitor.ErrorMsg = "";
@@ -111,12 +112,11 @@
                         else
                         {
                             var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
-                            if (value_03.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; ;
@@ -148,37 +148,82 @@
                                         Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}宸ュ簭鐩戞帶NOOK鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id}", setex);
                                     }
                                 }
-                                if (_dataCaptureConfig.WorkingProcedure.Equals("OP20")
-                                    //||_dataCaptureConfig.WorkingProcedure.Equals("OP60")
-                                    )
-                                {//op20浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞�
-                                    wplog.WorkPieceID = wplog.WorkPieceIDA;
-                                    wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢A";
-                                    WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-                                    wplog.WorkPieceID = wplog.WorkPieceIDB;
-                                    wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢B";
-                                    WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-                                    wplog.WorkPieceID = wplog.WorkPieceIDC;
-                                    wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢C";
-                                    WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-                                    //wplog.WorkPieceID = wplog.WorkPieceIDD;
-                                    //wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢D";
-                                    //WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+
+                                //鐩戞帶涓婄嚎
+                                if (!_dataCaptureConfig.WorkingProcedure.Equals("OP20"))
+                                {
+                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                                 }
                                 else
                                 {
-                                    //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
-                                    WorkPiecePushOffManager.WorkPiecePushOff(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);
                                 }
-                                threadStatusMonitor.Threadstatue = 1;
+                            }
+                            else
+                            {
+                                value_03 = value.ToString();
+                            }
+
+                            if (wplog != null)
+                            {
+                                if (_dataCaptureConfig.WorkingProcedure.Equals("OP20"))
+                                {//鐗规畩澶勭悊OP20
+                                    if (value_03.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+                                    {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+                                     //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
+                                     //涓氬姟浠g爜
+                                        threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
+
+                                        //op20浼氬悓鏃舵帹鍑哄浠讹紝鎵�浠ョ壒娈婂鐞�
+                                        wplog.WorkPieceID = wplog.WorkPieceIDA;
+                                        wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢A";
+                                        WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        wplog.WorkPieceID = wplog.WorkPieceIDB;
+                                        wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢B";
+                                        WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        wplog.WorkPieceID = wplog.WorkPieceIDC;
+                                        wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢C";
+                                        WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        //wplog.WorkPieceID = wplog.WorkPieceIDD;
+                                        //wplog.Remarks = "NOOK鎺ㄥ嚭宸ヤ欢D";
+                                        //WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+
+                                        threadStatusMonitor.Threadstatue = 1;
+                                    }
+                                    value_03 = value.ToString();
+                                }
+                                else
+                                {
+                                    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
+                                    if (isRight)
+                                    {
+                                        #region 澶勭悊涓氬姟
+
+                                        if (value_03.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+                                        {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+                                         //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
+                                         //涓氬姟浠g爜
+                                            threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
+
+                                            //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
+                                            WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+
+                                            threadStatusMonitor.Threadstatue = 1;
 
 
 
+
+                                        }
+                                        value_03 = value.ToString();
+
+                                        #endregion
+                                    }
+
+                                }
 
                             }
-                            value_03 = value.ToString();
-
-
                         }
                         threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
 
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)}";
 
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1002.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1002.cs
index 1cbd426..68e0e8e 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1002.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1002.cs
@@ -144,46 +144,50 @@
                                 //鐩戞帶涓婄嚎
                                 MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                             }
-                            //if (wplog != null)
-                            //{
-                            //    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
-                            //    if (isRight)
-                            //    {
-                            #region 涓氬姟澶勭悊
-
-                            if (SystemValue.value_OP1002.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
-                            {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
-                             //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
-                             //涓氬姟浠g爜
-                                Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭娴嬫爣璁拌鍙杮DateTime.Now}***1****");
-
-
-                                //#region 宸ユ帶鏈鸿鍙栬川閲忎俊鎭�
-
-
-                                ////鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖
-                                //var newFiles = FileHelper.DetectNewFilesCSV("", 10, DateTimeHelper.GetDateTime(), DateTimeHelper.GetDateTime());
-                                //foreach (System.IO.FileInfo file in newFiles)
-                                //{
-                                //    var datatable = CSVHelper.ReadCSV(file.FullName);
-                                //}
-
-                                //#endregion
-                                Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭娴嬫爣璁拌鍙杮DateTime.Now}***3****");
-
-
-                                //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
-                                QualityInfoCompleteManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-                                threadStatusMonitor.Threadstatue = 1;
-
-
-
+                            else
+                            {
+                                SystemValue.value_OP1002 = value.ToString();
                             }
-                            SystemValue.value_OP1002 = value.ToString();
+                            if (wplog != null)
+                            {
+                                var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
+                                if (isRight)
+                                {
+                                    #region 涓氬姟澶勭悊
 
-                            #endregion
-                            //    }
-                            //}
+                                    if (SystemValue.value_OP1002.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+                                    {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+                                     //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
+                                     //涓氬姟浠g爜
+                                        Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭娴嬫爣璁拌鍙杮DateTime.Now}***1****");
+
+
+                                        //#region 宸ユ帶鏈鸿鍙栬川閲忎俊鎭�
+
+
+                                        ////鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖
+                                        //var newFiles = FileHelper.DetectNewFilesCSV("", 10, DateTimeHelper.GetDateTime(), DateTimeHelper.GetDateTime());
+                                        //foreach (System.IO.FileInfo file in newFiles)
+                                        //{
+                                        //    var datatable = CSVHelper.ReadCSV(file.FullName);
+                                        //}
+
+                                        //#endregion
+                                        Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭娴嬫爣璁拌鍙杮DateTime.Now}***3****");
+
+
+                                        //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
+                                        QualityInfoCompleteManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        threadStatusMonitor.Threadstatue = 1;
+
+
+
+                                    }
+                                    SystemValue.value_OP1002 = value.ToString();
+
+                                    #endregion
+                                }
+                            }
 
                         }
                         SystemValue.lbl_Alert_OP1002 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1003.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1003.cs
index 3919573..2ffc05d 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1003.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1003.cs
@@ -139,46 +139,50 @@
                                 //鐩戞帶涓婄嚎
                                 MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                             }
-                            //if (wplog != null)
-                            //{
-                            //    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
-                            //    if (isRight)
-                            //    {
-                            #region 涓氬姟澶勭悊
-
-                            if (SystemValue.value_OP1003.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
-                            {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
-                             //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
-                             //涓氬姟浠g爜
-
-                                if (wplog.WorkPieceID.Length != 22)
-                                {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯�
-                                    Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹椂寮傚父锛�");
-                                    continue;
-                                }
-
-                                //#region 宸ユ帶鏈鸿鍙栬川閲忎俊鎭�
-
-
-                                ////鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖
-                                //var newFiles = FileHelper.DetectNewFilesCSV("", 10, DateTimeHelper.GetDateTime(), DateTimeHelper.GetDateTime());
-                                //foreach (System.IO.FileInfo file in newFiles)
-                                //{
-                                //    var datatable = CSVHelper.ReadCSV(file.FullName);
-                                //}
-
-                                //#endregion
-
-
-                                //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
-                                QualityInfoCompleteManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
-                                threadStatusMonitor.Threadstatue = 1;
+                            else
+                            {
+                                SystemValue.value_OP1003 = value.ToString();
                             }
-                            SystemValue.value_OP1003 = value.ToString();
+                            if (wplog != null)
+                            {
+                                var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
+                                if (isRight)
+                                {
+                                    #region 涓氬姟澶勭悊
 
-                            #endregion
-                            //    }
-                            //}
+                                    if (SystemValue.value_OP1003.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+                                    {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+                                     //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
+                                     //涓氬姟浠g爜
+
+                                        if (wplog.WorkPieceID.Length != 22)
+                                        {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯�
+                                            Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹椂寮傚父锛�");
+                                            continue;
+                                        }
+
+                                        //#region 宸ユ帶鏈鸿鍙栬川閲忎俊鎭�
+
+
+                                        ////鎵弿鍏变韩鐩綍骞跺皢鏂扮殑鏂囦欢鎵弿杩斿洖
+                                        //var newFiles = FileHelper.DetectNewFilesCSV("", 10, DateTimeHelper.GetDateTime(), DateTimeHelper.GetDateTime());
+                                        //foreach (System.IO.FileInfo file in newFiles)
+                                        //{
+                                        //    var datatable = CSVHelper.ReadCSV(file.FullName);
+                                        //}
+
+                                        //#endregion
+
+
+                                        //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛�
+                                        QualityInfoCompleteManager.QualityInfoComplete(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
+                                        threadStatusMonitor.Threadstatue = 1;
+                                    }
+                                    SystemValue.value_OP1003 = value.ToString();
+
+                                    #endregion
+                                }
+                            }
 
                         }
                         SystemValue.lbl_Alert_OP1003 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1004.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1004.cs
index c5bb9b6..d66f6ba 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1004.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1004.cs
@@ -85,12 +85,12 @@
                         else
                         {
                             var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
-                            if (SystemValue.value_OP1004.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
-                            {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
-                             //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
-                             //涓氬姟浠g爜  1.鍙栨帹鍑烘爣璁帮紝2鍙栨帹鍑哄師鍥狅紙1锛歯ok锛�2鍜�3锛歴pc锛�4锛氱姸鎬佷笉鏄�  5:浜岀淮鐮佽瘑鍒け璐� 锛夛紝3 鍙栨帹鍑轰簩缁寸爜
-                                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;
@@ -121,37 +121,62 @@
                                         Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佸姩鎬佽祴鍊笺�恵WorkingProcedure ?? "绌哄瓧绗︿覆"}銆戝紓甯竰wplog.Id}", setex);
                                     }
                                 }
-                                if (wplog.OP10Flag != "1" && wplog.OP10Flag != "2" && wplog.OP10Flag != "3")
-                                {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯�
-                                    Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹畕wplog.WorkPieceID}鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]寮傚父");
-                                    wplog.Remarks = $"鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]寮傚父";
-                                }
-                                if (wplog.OP10Flag == "1")
-                                {
-                                    Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭1鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹畕wplog.WorkPieceID}鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]");
 
-                                    WorkPiecePushOffManager.WorkPiecePushOff(wplog, LogType.PLCOP10);
-                                    threadStatusMonitor.Threadstatue = 1;
-                                    wplog.Remarks = $"鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]   NOOK";
-                                }
-                                //else if (wplog.OP10Flag == 2 || wplog.OP10Flag == 3)
-                                else
-                                {
-                                    Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭23鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹畕wplog.WorkPieceID}鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]");
-
-                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, LogType.PLCOP10);
-                                    wplog.Remarks = $"鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]   SPC";
-                                    threadStatusMonitor.Threadstatue = 1;
-                                }
-
-
-
-
-
+                                //鐩戞帶涓婄嚎
+                                MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                             }
-                            SystemValue.value_OP1004 = value.ToString();
+                            else
+                            {
+                                SystemValue.value_OP1004 = value.ToString();
+                            }
+
+                            if (wplog != null)
+                            {
+                                var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
+                                if (isRight)
+                                {
+                                    #region 澶勭悊涓氬姟
+
+                                    if (SystemValue.value_OP1004.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
+                                    {//褰撲笂涓�鏍囪浣�0锛屽綋鍓嶈幏鍙栨爣璁颁负1鏃讹紝
+                                     //瑙﹀彂鎿嶄綔,  骞剁粰闈欐�佸彉閲忚祴鍊间负1
+                                     //涓氬姟浠g爜  1.鍙栨帹鍑烘爣璁帮紝2鍙栨帹鍑哄師鍥狅紙1锛歯ok锛�2鍜�3锛歴pc锛�4锛氱姸鎬佷笉鏄�  5:浜岀淮鐮佽瘑鍒け璐� 锛夛紝3 鍙栨帹鍑轰簩缁寸爜
+                                        threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
 
 
+                                        if (wplog.OP10Flag != "1" && wplog.OP10Flag != "2" && wplog.OP10Flag != "3")
+                                        {//鑾峰彇鍒扮殑宸ヤ欢鍙峰紓甯�
+                                            Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹畕wplog.WorkPieceID}鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]寮傚父");
+                                            wplog.Remarks = $"鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]寮傚父";
+                                        }
+                                        if (wplog.OP10Flag == "1")
+                                        {
+                                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭1鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹畕wplog.WorkPieceID}鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]");
+
+                                            WorkPiecePushOffManager.WorkPiecePushOff(wplog, LogType.PLCOP10);
+                                            threadStatusMonitor.Threadstatue = 1;
+                                            wplog.Remarks = $"鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]   NOOK";
+                                        }
+                                        //else if (wplog.OP10Flag == 2 || wplog.OP10Flag == 3)
+                                        else
+                                        {
+                                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}宸ュ簭23鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹畕wplog.WorkPieceID}鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]");
+
+                                            WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, LogType.PLCOP10);
+                                            wplog.Remarks = $"鎺ㄥ嚭鍘熷洜[{wplog.OP10Flag}]   SPC";
+                                            threadStatusMonitor.Threadstatue = 1;
+                                        }
+
+
+
+
+
+                                    }
+                                    SystemValue.value_OP1004 = value.ToString();
+
+                                    #endregion
+                                }
+                            }
                         }
                         SystemValue.lbl_Alert_OP1004 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
                         if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/ClearDataHandler.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/ClearDataHandler.cs
index ea64e1d..7e2f90e 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/ClearDataHandler.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/ClearDataHandler.cs
@@ -66,7 +66,7 @@
 
 
         /// <summary>
-        /// 绉婚櫎XX澶╁墠鐨� WorkPieceLog 鏁版嵁
+        /// 绉婚櫎XX澶╁墠鐨� AccessInterfaceLogForRequest 鏁版嵁
         /// </summary>
         /// <param name="edm"></param>
         public static void Delete_AccessInterfaceLogForRequest(int days)
@@ -92,5 +92,113 @@
         }
 
 
+
+        /// <summary>
+        /// 绉婚櫎XX澶╁墠鐨� QualityDataInfoLog 鏁版嵁
+        /// </summary>
+        /// <param name="edm"></param>
+        public static void Delete_QualityDataInfoLog(int days)
+        {
+            try
+            {
+                using (DbModel edm = new DbModel())
+                {
+                    var queryTime = DateTime.Now.AddDays(-days);
+
+                    var removeList = edm.QualityDataInfoLog.Where(x => x.CreatedTime <= queryTime).ToList();
+                    if (removeList != null && removeList.Count > 0)
+                    {
+                        edm.QualityDataInfoLog.RemoveRange(removeList);
+                    }
+                    edm.SaveChanges();
+                }
+            }
+            catch (Exception ex)
+            {
+                Log4NetHelper.WriteErrorLog(LogType.DeleteData, "绉婚櫎XX澶╁墠鐨� QualityDataInfoLog 鏁版嵁 鍑虹幇寮傚父", ex);
+            }
+        }
+
+
+        /// <summary>
+        /// 绉婚櫎XX澶╁墠鐨� sys_log_op 鏁版嵁
+        /// </summary>
+        /// <param name="edm"></param>
+        public static void Delete_sys_log_op(int days)
+        {
+            try
+            {
+                using (DbModel edm = new DbModel())
+                {
+                    var queryTime = DateTime.Now.AddDays(-days);
+
+                    var removeList = edm.sys_log_op.Where(x => x.OpTime <= queryTime).ToList();
+                    if (removeList != null && removeList.Count > 0)
+                    {
+                        edm.sys_log_op.RemoveRange(removeList);
+                    }
+                    edm.SaveChanges();
+                }
+            }
+            catch (Exception ex)
+            {
+                Log4NetHelper.WriteErrorLog(LogType.DeleteData, "绉婚櫎XX澶╁墠鐨� sys_log_op 鏁版嵁 鍑虹幇寮傚父", ex);
+            }
+        }
+
+
+        /// <summary>
+        /// 绉婚櫎XX澶╁墠鐨� sys_log_ex 鏁版嵁
+        /// </summary>
+        /// <param name="edm"></param>
+        public static void Delete_sys_log_ex(int days)
+        {
+            try
+            {
+                using (DbModel edm = new DbModel())
+                {
+                    var queryTime = DateTime.Now.AddDays(-days);
+
+                    var removeList = edm.sys_log_ex.Where(x => x.ExceptionTime <= queryTime).ToList();
+                    if (removeList != null && removeList.Count > 0)
+                    {
+                        edm.sys_log_ex.RemoveRange(removeList);
+                    }
+                    edm.SaveChanges();
+                }
+            }
+            catch (Exception ex)
+            {
+                Log4NetHelper.WriteErrorLog(LogType.DeleteData, "绉婚櫎XX澶╁墠鐨� sys_log_ex 鏁版嵁 鍑虹幇寮傚父", ex);
+            }
+        }
+
+
+        /// <summary>
+        /// 绉婚櫎XX澶╁墠鐨� EquipmentWorkingLog 鏁版嵁
+        /// </summary>
+        /// <param name="edm"></param>
+        public static void Delete_EquipmentWorkingLog(int days)
+        {
+            try
+            {
+                using (DbModel edm = new DbModel())
+                {
+                    var queryTime = DateTime.Now.AddDays(-days);
+
+                    var removeList = edm.EquipmentWorkingLog.Where(x => x.CreatedTime <= queryTime).ToList();
+                    if (removeList != null && removeList.Count > 0)
+                    {
+                        edm.EquipmentWorkingLog.RemoveRange(removeList);
+                    }
+                    edm.SaveChanges();
+                }
+            }
+            catch (Exception ex)
+            {
+                Log4NetHelper.WriteErrorLog(LogType.DeleteData, "绉婚櫎XX澶╁墠鐨� EquipmentWorkingLog 鏁版嵁 鍑虹幇寮傚父", ex);
+            }
+        }
+
     }
 }
\ No newline at end of file
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs
index 00b509a..5db4e79 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs
@@ -51,7 +51,7 @@
 
 
         /// <summary>
-        /// 鐩戞帶涓婄嚎
+        /// 鐩戞帶鐐逛綅
         /// </summary>
         /// <param name="value"></param>
         /// <returns></returns>
@@ -66,7 +66,7 @@
                     var str = "";
 
 
-                    str += $",涓婄嚎鑾峰彇浜岀淮鐮佸�� ,鍊兼槸{workPieceID}";
+                    str += $",鑾峰彇浜岀淮鐮佸�� ,鍊兼槸{workPieceID}";
                     //str += $",鏁翠綋瀵硅薄 wplog鏄瘂JsonConvert.SerializeObject(wplog)}";
 
                     Log4NetHelper.WriteInfoLog(_LogType, str);
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
index e773294..7bbbf53 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs
@@ -67,6 +67,10 @@
                     {
                         return false;
                     }
+                    if (n_workPieceID.ToUpper().IndexOf('\0') > -1)
+                    {
+                        return false;
+                    }
                     return true;
                 }
                 else
diff --git "a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - \345\244\215\345\210\266\347\224\250.config" "b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - \345\244\215\345\210\266\347\224\250.config"
index d129ba1..d632020 100644
--- "a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - \345\244\215\345\210\266\347\224\250.config"
+++ "b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - \345\244\215\345\210\266\347\224\250.config"
@@ -6,8 +6,8 @@
   </appSettings>
   <log4net>
     <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
-    <appender name="OP2002C_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="D:\\Log\\SCADALog\\OP2002C_Info\\" />
+    <appender name="OP6004_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6004_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -17,13 +17,13 @@
         <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="OP2002C_Info" />
+        <loggerToMatch value="OP6004_Info" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
-    <appender name="OP2002C_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="D:\\Log\\SCADALog\\OP2002C_Error\\" />
+    <appender name="OP6004_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6004_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -33,14 +33,14 @@
         <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="OP2002C_Error" />
+        <loggerToMatch value="OP6004_Error" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <root>
       <level value="ALL"/>
-      <appender-ref ref="OP2002C_Info"/>
-      <appender-ref ref="OP2002C_Error"/>
+      <appender-ref ref="OP6004_Info"/>
+      <appender-ref ref="OP6004_Error"/>
     </root>
   </log4net>
 </configuration>
\ No newline at end of file
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config
index c9351e4..849103d 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config
@@ -6,6 +6,38 @@
   </appSettings>
   <log4net>
     <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP1004_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP1004_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP1004_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP1004_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP1004_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP1004_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
     <appender name="OtherOnLine_Info" type="log4net.Appender.RollingFileAppender">
       <file value="D:\\Log\\SCADALog\\OtherOnLine_Info\\" />
       <appendToFile value="true" />
@@ -1035,8 +1067,452 @@
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP2003_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP2003_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP2003_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP2003_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP2003_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP2003_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP3003_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP3003_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP3003_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP3003_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP3003_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP3003_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP3503_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP3503_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP3503_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP3503_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP3503_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP3503_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP6003A_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6003A_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6003A_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP6003A_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6003A_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6003A_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP6003B_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6003B_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6003B_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP6003B_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6003B_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6003B_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP6003C_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6003C_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6003C_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP6003C_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6003C_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6003C_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP6003D_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6003D_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6003D_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP6003D_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6003D_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6003D_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP2004_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP2004_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP2004_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP2004_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP2004_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP2004_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP3004_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP3004_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP3004_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP3004_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP3004_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP3004_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP3504_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP3504_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP3504_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP3504_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP3504_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP3504_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP5004A_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP5004A_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP5004A_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP5004A_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP5004A_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP5004A_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP5004B_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP5004B_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP5004B_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP5004B_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP5004B_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP5004B_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--  鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愪俊鎭�戞棩蹇�-->
+    <appender name="OP6004_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6004_Info\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6004_Info" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
+    <!--鐩戞帶OP50鍝釜闈㈢嚎绋嬨�愰敊璇�戞棩蹇�-->
+    <appender name="OP6004_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="D:\\Log\\SCADALog\\OP6004_Error\\" />
+      <appendToFile value="true" />
+      <rollingStyle value="Date" />
+      <staticLogFileName value="false" />
+      <datePattern value="yyyy-MM-dd.LOG" />
+      <layout type="log4net.Layout.PatternLayout">
+        <!--杈撳嚭鏍煎紡-->
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="OP6004_Error" />
+      </filter>
+      <filter type="log4net.Filter.DenyAllFilter" />
+    </appender>
     <root>
       <level value="ALL"/>
+      <appender-ref ref="OP6004_Info"/>
+      <appender-ref ref="OP6004_Error"/>
+      <appender-ref ref="OP5004B_Info"/>
+      <appender-ref ref="OP5004B_Error"/>
+      <appender-ref ref="OP5004A_Info"/>
+      <appender-ref ref="OP5004A_Error"/>
+      <appender-ref ref="OP3504_Info"/>
+      <appender-ref ref="OP3504_Error"/>
+      <appender-ref ref="OP3004_Info"/>
+      <appender-ref ref="OP3004_Error"/>
+      <appender-ref ref="OP2004_Info"/>
+      <appender-ref ref="OP2004_Error"/>
+      <appender-ref ref="OP6003D_Info"/>
+      <appender-ref ref="OP6003D_Error"/>
+      <appender-ref ref="OP6003C_Info"/>
+      <appender-ref ref="OP6003C_Error"/>
+      <appender-ref ref="OP6003B_Info"/>
+      <appender-ref ref="OP6003B_Error"/>
+      <appender-ref ref="OP6003A_Info"/>
+      <appender-ref ref="OP6003A_Error"/>
+      <appender-ref ref="OP3503_Info"/>
+      <appender-ref ref="OP3503_Error"/>
+      <appender-ref ref="OP3003_Info"/>
+      <appender-ref ref="OP3003_Error"/>
+      <appender-ref ref="OP2003_Info"/>
+      <appender-ref ref="OP2003_Error"/>
+      <appender-ref ref="OP1004_Info"/>
+      <appender-ref ref="OP1004_Error"/>
       <appender-ref ref="OP2002C_Info"/>
       <appender-ref ref="OP2002C_Error"/>
       <appender-ref ref="OP2002B_Info"/>
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs
index 7fd50f2..285e60c 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs
@@ -1874,50 +1874,50 @@
                     switch (config.DataCapturePointCode)
                     {
                         //娴嬭瘯璋冭瘯
-                        case "OP1002":
-                            DataCaptureHandler_OP1002.Instance._dataCaptureConfig = config;
-                            _dataCaptureHandler.Add(DataCaptureHandler_OP1002.Instance);
-                            break;
-                            //case "OP1003":
-                            //    DataCaptureHandler_OP1003.Instance._dataCaptureConfig = config;
-                            //    _dataCaptureHandler.Add(DataCaptureHandler_OP1003.Instance);
-                            //    break;
-                            //#region 02 娴嬮噺瀹屾垚鏍囪
-                            //case "OP2002A":
-                            //case "OP2002B":
-                            //case "OP2002C":
-                            //case "OP3002CH3":
-                            //case "OP3002CH4":
-                            //case "OP3002CH5":
-                            //case "OP3002CH6":
-                            //case "OP3502A":
-                            //case "OP3502B":
-                            //case "OP6002A":
-                            //case "OP6002B":
-                            //case "OP6002C":
-                            //case "OP6002D":
-                            //case "OP3502":
-                            //    DataCaptureHandler_02 dc02 = new DataCaptureHandler_02();
-                            //    dc02._dataCaptureConfig = config;
-                            //    _dataCaptureHandler.Add(dc02);
-                            //    break;
-                            //#region 01 浜岀淮鐮佽鍙�
+                        //case "OP1002":
+                        //    DataCaptureHandler_OP1002.Instance._dataCaptureConfig = config;
+                        //    _dataCaptureHandler.Add(DataCaptureHandler_OP1002.Instance);
+                        //    break;
+                        //case "OP1003":
+                        //    DataCaptureHandler_OP1003.Instance._dataCaptureConfig = config;
+                        //    _dataCaptureHandler.Add(DataCaptureHandler_OP1003.Instance);
+                        //    break;
+                        //#region 02 娴嬮噺瀹屾垚鏍囪
+                        //case "OP2002A":
+                        //case "OP2002B":
+                        //case "OP2002C":
+                        //case "OP3002CH3":
+                        //case "OP3002CH4":
+                        //case "OP3002CH5":
+                        //case "OP3002CH6":
+                        //case "OP3502A":
+                        //case "OP3502B":
+                        //case "OP6002A":
+                        //case "OP6002B":
+                        //case "OP6002C":
+                        //case "OP6002D":
+                        //case "OP3502":
+                        //    DataCaptureHandler_02 dc02 = new DataCaptureHandler_02();
+                        //    dc02._dataCaptureConfig = config;
+                        //    _dataCaptureHandler.Add(dc02);
+                        //    break;
+                        //#region 01 浜岀淮鐮佽鍙�
 
-                            //case "OP3001":
-                            //case "OP3501":
-                            //case "OP5001A":
-                            //case "OP5001B":
-                            //case "OP6001":
-                            //case "OP7001":
-                            //case "OP8001":
-                            //    DataCaptureHandler_01 dc01 = new DataCaptureHandler_01();
-                            //    dc01._dataCaptureConfig = config;
-                            //    _dataCaptureHandler.Add(dc01);
-                            //    break;
-                            //case "OP0501":
-                            //    DataCaptureHandler_OP0501.Instance._dataCaptureConfig = config;
-                            //    _dataCaptureHandler.Add(DataCaptureHandler_OP0501.Instance);
-                            //    break;
+                        case "OP3001":
+                        //case "OP3501":
+                        //case "OP5001A":
+                        //case "OP5001B":
+                        //case "OP6001":
+                        //case "OP7001":
+                        //case "OP8001":
+                            DataCaptureHandler_01 dc01 = new DataCaptureHandler_01();
+                            dc01._dataCaptureConfig = config;
+                            _dataCaptureHandler.Add(dc01);
+                            break;
+                        case "OP0501":
+                            DataCaptureHandler_OP0501.Instance._dataCaptureConfig = config;
+                            _dataCaptureHandler.Add(DataCaptureHandler_OP0501.Instance);
+                            break;
                             #endregion
                             //case "OP7009"://娓呮礂鏈鸿幏鍙栭噰闆嗘暟鎹�
                             //    DataCaptureHandler_OP7009.Instance._dataCaptureConfig = config;
diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Test/UnitTest1.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Test/UnitTest1.cs
index 82f9363..6fece33 100644
--- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Test/UnitTest1.cs
+++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Test/UnitTest1.cs
@@ -17,6 +17,21 @@
     public class UnitTest1
     {
 
+
+        [TestMethod]
+        public void TestMethoEntityValidati2222zzz()
+        {
+            var hour = DateTime.Now.Hour;
+            if (!(hour == 1 || hour == 3 || hour == 5 || hour == 6))
+            {
+                var ss = "";
+            }
+            else
+            {
+                var dd = "";
+            }
+        }
+
         [TestMethod]
         public void TestMethoEntityValidatizzz()
         {
@@ -28,6 +43,7 @@
                     aa = db.WorkPieceLog.Where(x => x.Id == 588877956636741).FirstOrDefault();
                 }
 
+                // aa.WorkPieceID = "DZ045L2409100102791PAT";
                 var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(aa.WorkPieceID);
                 if (isRight)
                 {

--
Gitblit v1.9.3