1
schangxiang@126.com
2024-09-10 c34f8f93417c5a0125f9c55ba3d347411995ac13
1
已修改14个文件
905 ■■■■■ 文件已修改
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/SystemValue.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_03.cs 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_04.cs 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1002.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1003.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1004.cs 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/ClearDataHandler.cs 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/MonitorHelper.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/SystemBussinessHelper.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - 复制用.config 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config 476 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Test/UnitTest1.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 ã€Editby shaocx,2024-09-05】
        public static string value_OP1002 = "FALSE";//注意:默认是FALSE ã€Editby shaocx,2024-09-05】
        /// <summary>
        /// OP10工序推出标记值
        /// </summary>
        public static string value_OP1003 = string.Empty;//注意:默认是FALSE ã€Editby shaocx,2024-09-05】
        public static string value_OP1003 = "FALSE";//注意:默认是FALSE ã€Editby shaocx,2024-09-05】
        /// <summary>
        /// OP10工序SPC推出标记值
        /// </summary>
        public static string value_OP1004 = string.Empty;
        public static string value_OP1004 = "FALSE";//注意:默认是FALSE ã€Editby shaocx,2024-09-05】
        /// <summary>
        /// OP10工序完成标记值
        /// </summary>
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs
@@ -107,7 +107,7 @@
                    //plcService.Close();
                    //plcService.OpenService();
                }
                string value_01 = "";//注意:默认是FALSE ã€Editby shaocx,2024-09-05】
                string value_01 = "FALSE";//注意:默认是FALSE ã€Editby shaocx,2024-09-05】
                while (true)
                {
                    threadStatusMonitor.ErrorMsg = "";
@@ -178,11 +178,15 @@
                                //监控上线
                                MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                            }
                            //if (wplog != null)
                            //{
                            //    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
                            //    if (isRight)
                            //    {
                            else
                            {
                                value_01 = value.ToString();
                            }
                            if (wplog != null)
                            {
                                var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
                                if (isRight)
                                {
                            #region å¤„理业务
                            if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
@@ -206,8 +210,8 @@
                            value_01 = value.ToString();
                            #endregion
                            //    }
                            //}
                                }
                            }
                        }
                        threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
                        if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
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表以及插入WorkPieceLog表和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
                             //业务代码
                                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,10 +148,35 @@
                                        Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}工序监控NOOK标记 è¯»å–工件码动态赋值【{WorkingProcedure ?? "空字符串"}】异常{wplog.Id}", setex);
                                    }
                                }
                                if (_dataCaptureConfig.WorkingProcedure.Equals("OP20")
                                    //||_dataCaptureConfig.WorkingProcedure.Equals("OP60")
                                    )
                                {//op20会同时推出多件,所以特殊处理
                                //监控上线
                                if (!_dataCaptureConfig.WorkingProcedure.Equals("OP20"))
                                {
                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                                }
                                else
                                {
                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDA);
                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDB);
                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDC);
                                }
                            }
                            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
                                     //业务代码
                                        threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                                        //op20会同时推出多件,所以特殊处理
                                    wplog.WorkPieceID = wplog.WorkPieceIDA;
                                    wplog.Remarks = "NOOK推出工件A";
                                    WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
@@ -164,12 +189,27 @@
                                    //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
                                         //业务代码
                                            threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                                    //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表
                                    WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                }
                                threadStatusMonitor.Threadstatue = 1;
@@ -178,8 +218,13 @@
                            }
                            value_03 = value.ToString();
                                        #endregion
                                    }
                        }
                            }
                        }
                        threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
                        if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
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
                             //业务代码
                                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,10 +148,40 @@
                                        Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}工序监控spc标记 è¯»å–工件码动态赋值【{WorkingProcedure ?? "空字符串"}】异常{wplog.Id}", setex);
                                    }
                                }
                                if (_dataCaptureConfig.WorkingProcedure.Equals("OP20") || _dataCaptureConfig.WorkingProcedure.Equals("OP60")
                             )
                                {
                                    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"))
                                    {
                                        MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDD);
                                    }
                                }
                                else
                                {
                                    //监控上线
                                    MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                                }
                            }
                            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
                                     //业务代码
                                        threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                                        //op20,op50,op60 ä¼šåŒæ—¶æŽ¨å‡ºå¤šä»¶ï¼Œæ‰€ä»¥ç‰¹æ®Šå¤„理
                                    wplog.WorkPieceID = wplog.WorkPieceIDA;
                                    wplog.Remarks = "SPC推出工件A";
                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
@@ -168,26 +197,38 @@
                                        wplog.Remarks = "SPC推出工件D";
                                        WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    }
                                }
                                else
                                {
                                    //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表
                                    WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                }
                                threadStatusMonitor.Threadstatue = 1;
                                //判断是否跳序,上一工序质量是否合格
                                //反馈给PLC,写入
                            }
                            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
                                         //业务代码
                                            threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                                            //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表
                                            WorkPieceSPCPushOffManager.WorkPieceSPCPushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                            threadStatusMonitor.Threadstatue = 1;
                                        }
                                        value_04 = value.ToString();
                                        #endregion
                                    }
                                }
                            }
                        }
                        threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1002.cs
@@ -144,11 +144,15 @@
                                //监控上线
                                MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                            }
                            //if (wplog != null)
                            //{
                            //    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
                            //    if (isRight)
                            //    {
                            else
                            {
                                SystemValue.value_OP1002 = value.ToString();
                            }
                            if (wplog != null)
                            {
                                var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
                                if (isRight)
                                {
                            #region ä¸šåŠ¡å¤„ç†
                            if (SystemValue.value_OP1002.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
@@ -182,8 +186,8 @@
                            SystemValue.value_OP1002 = value.ToString();
                            #endregion
                            //    }
                            //}
                                }
                            }
                        }
                        SystemValue.lbl_Alert_OP1002 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP1003.cs
@@ -139,11 +139,15 @@
                                //监控上线
                                MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                            }
                            //if (wplog != null)
                            //{
                            //    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
                            //    if (isRight)
                            //    {
                            else
                            {
                                SystemValue.value_OP1003 = value.ToString();
                            }
                            if (wplog != null)
                            {
                                var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
                                if (isRight)
                                {
                            #region ä¸šåŠ¡å¤„ç†
                            if (SystemValue.value_OP1003.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
@@ -177,8 +181,8 @@
                            SystemValue.value_OP1003 = value.ToString();
                            #endregion
                            //    }
                            //}
                                }
                            }
                        }
                        SystemValue.lbl_Alert_OP1003 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
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
                             //业务代码  1.取推出标记,2取推出原因(1:nok,2和3:spc,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,6 +121,29 @@
                                        Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}工序监控读码标记 è¯»å–工件码动态赋值【{WorkingProcedure ?? "空字符串"}】异常{wplog.Id}", setex);
                                    }
                                }
                                //监控上线
                                MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                            }
                            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
                                     //业务代码  1.取推出标记,2取推出原因(1:nok,2和3:spc,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}]异常");
@@ -151,7 +174,9 @@
                            }
                            SystemValue.value_OP1004 = value.ToString();
                                    #endregion
                                }
                            }
                        }
                        SystemValue.lbl_Alert_OP1004 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
                        if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
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);
            }
        }
    }
}
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);
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
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - ¸´ÖÆÓÃ.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>
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"/>
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs
@@ -1874,10 +1874,10 @@
                    switch (config.DataCapturePointCode)
                    {
                        //测试调试
                        case "OP1002":
                            DataCaptureHandler_OP1002.Instance._dataCaptureConfig = config;
                            _dataCaptureHandler.Add(DataCaptureHandler_OP1002.Instance);
                            break;
                        //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);
@@ -1903,21 +1903,21 @@
                            //    break;
                            //#region 01 äºŒç»´ç è¯»å–
                            //case "OP3001":
                        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;
                            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;
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)
                {