3
schangxiang@126.com
2024-07-02 eed621673c3efec0a6e9e4c25b3e4d65200ff60e
3
已添加1个文件
已修改6个文件
224 ■■■■■ 文件已修改
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DeleteDataHandler.cs 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/LogTextHelper.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - 复制用.config 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DeleteDataHandler.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,144 @@
using iWare_SCADA_BusinessLogical.BLL;
using iWare_SCADA_BusinessLogical.Utils;
using iWare_SCADA_Model;
using iWare_SCADA_Model.MiddleModel;
using log4net;
using System;
using System.Collections.Generic;
using System.Data.Entity.Core.Common.CommandTrees;
using System.Data.Entity.Validation;
using System.Data.SqlTypes;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
using System.Windows.Forms;
namespace iWare_SCADA_BusinessLogical
{
    /// <summary>
    /// å®šæ—¶åˆ é™¤æ•°æ®
    /// </summary>
    public class DeleteDataHandler : DataCaptureHandler
    {
        public static readonly DeleteDataHandler Instance = new DeleteDataHandler();
        public static readonly LogType logType = LogType.DeleteData;
        public DeleteDataHandler()
        {
        }
        public override string WorkingProcedure
        {
            get { return _dataCaptureConfig.WorkingProcedure; }
        }
        public override string DataCapturePointCode
        {
            get { return _dataCaptureConfig.DataCapturePointCode; }
        }
        public override string DataCapturePointCname
        {
            get { return _dataCaptureConfig.DataCapturePointCname; }
        }
        public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig)
        {
        }
        public override void DataCaptureStart()
        {
            while (true)
            {
                try
                {
                    try
                    {
                        LogTextHelper.BatchDeleteLog();
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteErrorLog(logType, $"定时删除日志数据异常:", ex);
                    }
                    //处理OP60的数据
                    try
                    {
                        LogTextHelper.BatchDeleteLog(@"Q:\Measuring_Data_df_Copy", 20);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteErrorLog(logType, $"处理OP60的数据(Q:\\Measuring_Data_df_Copy)-定时删除数据异常:", ex);
                    }
                    try
                    {
                        LogTextHelper.BatchDeleteLog(@"Q:\Measuring_Data_dfq", 20);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteErrorLog(logType, $"处理OP60的数据(Q:\\Measuring_Data_dfq)-定时删除数据异常:", ex);
                    }
                    //处理OP80的数据
                    try
                    {
                        LogTextHelper.BatchDeleteLog(@"X:\CA4GC20TD_COPY", 20);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteErrorLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_COPY)-定时删除数据异常:", ex);
                    }
                    try
                    {
                        LogTextHelper.BatchDeleteLog(@"X:\CA4GC20TD_Error", 60);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteErrorLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_Error)-定时删除数据异常:", ex);
                    }
                    try
                    {
                        LogTextHelper.BatchDeleteLog(@"X:\CA4GC20TD_NoNum", 60);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteErrorLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_NoNum)-定时删除数据异常:", ex);
                    }
                    try
                    {
                        //处理OP20的数据
                        LogTextHelper.BatchDeleteLog(@"W:\", 20);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.WriteErrorLog(logType, $"处理OP20的数据-定时删除数据异常:", ex);
                    }
                    Thread.Sleep(8 * 60 * 60 * 1000);//每天8小时一次
                }
                catch (Exception ex)
                {
                    Log4NetHelper.WriteErrorLog(logType, $"定时删除数据异常:", ex);
                }
                finally
                {
                }
            }
        }
    }
}
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/LogTextHelper.cs
@@ -13,6 +13,7 @@
        /// </summary>
        public static void BatchDeleteLog()
        {
            List<string> deleteFolder = new System.Collections.Generic.List<string>();
            string folderPath = @"d:\\Log";
            FolderHelper.ListDirectory(folderPath, 0, ref deleteFolder);
@@ -24,6 +25,21 @@
        }
        /// <summary>
        /// æ‰¹æ¬¡åˆ é™¤æ—¥å¿—文件
        /// </summary>
        public static void BatchDeleteLog(string folderPath, int days)
        {
            List<string> deleteFolder = new System.Collections.Generic.List<string>();
            FolderHelper.ListDirectory(folderPath, 0, ref deleteFolder);
            foreach (var item in deleteFolder)
            {
                FileHelper.DeleteOldFiles(item, days);//删除一个月的数据
            }
        }
        /// <summary>
        /// å¾€æ—¥å¿—里追加内容
        /// </summary>
        /// <param name="folder">日志目录</param>
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/iWare_SCADA_BusinessLogical.csproj
@@ -83,6 +83,7 @@
    <Compile Include="BLL\SystemValue.cs" />
    <Compile Include="BLL\WorkPieceInfoManager.cs" />
    <Compile Include="BLL\WorkPieceLogManager.cs" />
    <Compile Include="DataCaptureHandlerV2\DeleteDataHandler.cs" />
    <Compile Include="DataCaptureHandlerV2\OP80QualityDataHandler.cs" />
    <Compile Include="DataCaptureHandlerV2\DataCaptureHandler_01.cs" />
    <Compile Include="DataCaptureHandlerV2\DataCaptureHandler_OP3002.cs" />
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - ¸´ÖÆÓÃ.config
@@ -5,9 +5,9 @@
  <appSettings>
  </appSettings>
  <log4net>
    <!--  OP80质量采集线程【信息】日志-->
    <appender name="PLCOP80_QC_Info" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\PLCOP80_QC_Info\\" />
    <!--  å®šæœŸåˆ é™¤æ•°æ®çº¿ç¨‹ã€ä¿¡æ¯ã€‘日志-->
    <appender name="DeleteData_Info" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\DeleteData_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="PLCOP80_QC_Info" />
        <loggerToMatch value="DeleteData_Info" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--OP80质量采集线程【错误】日志-->
    <appender name="PLCOP80_QC_Error" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\PLCOP80_QC_Error\\" />
    <!--定期删除数据线程【错误】日志-->
    <appender name="DeleteData_Error" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\DeleteData_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="PLCOP80_QC_Error" />
        <loggerToMatch value="DeleteData_Error" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="PLCOP80_QC_Info"/>
      <appender-ref ref="PLCOP80_QC_Error"/>
      <appender-ref ref="DeleteData_Info"/>
      <appender-ref ref="DeleteData_Error"/>
    </root>
  </log4net>
</configuration>
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config
@@ -5,6 +5,38 @@
  <appSettings>
  </appSettings>
  <log4net>
    <!--  å®šæœŸåˆ é™¤æ•°æ®çº¿ç¨‹ã€ä¿¡æ¯ã€‘日志-->
    <appender name="DeleteData_Info" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\DeleteData_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="DeleteData_Info" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--定期删除数据线程【错误】日志-->
    <appender name="DeleteData_Error" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\DeleteData_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="DeleteData_Error" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--  OP80质量采集线程【信息】日志-->
    <appender name="PLCOP80_QC_Info" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\PLCOP80_QC_Info\\" />
@@ -493,6 +525,8 @@
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="DeleteData_Info"/>
      <appender-ref ref="DeleteData_Error"/>
      <appender-ref ref="PLCOP80_QC_Info"/>
      <appender-ref ref="PLCOP80_QC_Error"/>
      <appender-ref ref="FormMain_Info"/>
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_DataCaptureV3/FormMain.cs
@@ -1533,6 +1533,11 @@
                //OP80的获取质量数据 ã€Editby shaocx,2024-06-15】
                OP80QualityDataHandler op80QualityDataHandler = new OP80QualityDataHandler();
                _dataCaptureHandler.Add(op80QualityDataHandler);
                //定期删除数据 ã€Editby shaocx,2024-06-15】
                DeleteDataHandler _deleteDataHandler = new DeleteDataHandler();
                _dataCaptureHandler.Add(_deleteDataHandler);
                #endregion
                try
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs
@@ -212,6 +212,10 @@
        #endregion
        /// <summary>
        /// å®šæ—¶åˆ é™¤æ•°æ®
        /// </summary>
        DeleteData = 500,
    }