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
{
///
/// 定时删除数据
///
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)
{
}
public override void DataCaptureStart()
{
while (true)
{
try
{
try
{
LogTextHelper.BatchDeleteLog();
Log4NetHelper.WriteInfoLog(logType, $"定时删除日志数据成功:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"定时删除日志数据异常:", ex);
}
try
{
ClearDataHandler.Delete_WorkPieceInfoLog(7);
ClearDataHandler.Delete_WorkPieceLog(7);
Log4NetHelper.WriteInfoLog(logType, $"定时删除表数据成功:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"定时删除表数据成功:", ex);
}
//处理OP60的数据
try
{
LogTextHelper.BatchDeleteLog(@"Q:\Measuring_Data_df_Copy", 20);
Log4NetHelper.WriteInfoLog(logType, $"处理OP60的数据(Q:\\Measuring_Data_df_Copy)-定时删除数据成功:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP60的数据(Q:\\Measuring_Data_df_Copy)-定时删除数据异常:", ex);
}
try
{
LogTextHelper.BatchDeleteLog(@"Q:\Measuring_Data_dfq", 20);
Log4NetHelper.WriteInfoLog(logType, $"处理OP60的数据(Q:\\Measuring_Data_dfq)-定时删除数据");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP60的数据(Q:\\Measuring_Data_dfq)-定时删除数据异常:", ex);
}
//处理OP80的数据
try
{
LogTextHelper.BatchDeleteLog(@"X:\CA4GC20TD_COPY", 20);
Log4NetHelper.WriteInfoLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_COPY)-定时删除数据:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_COPY)-定时删除数据异常:", ex);
}
try
{
LogTextHelper.BatchDeleteLog(@"X:\CA4GC20TD_Error", 60);
Log4NetHelper.WriteInfoLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_Error)-定时删除数据:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_Error)-定时删除数据异常:", ex);
}
try
{
LogTextHelper.BatchDeleteLog(@"X:\CA4GC20TD_NoNum", 60);
Log4NetHelper.WriteInfoLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_NoNum)-定时删除数据");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP80的数据(X:\\CA4GC20TD_NoNum)-定时删除数据异常:", ex);
}
//处理OP30的数据
try
{
LogTextHelper.BatchDeleteLog(@"U:\NutrunnerData\FO\SEQ_24", 20);
Log4NetHelper.WriteInfoLog(logType, $"处理OP30的数据(U:\\NutrunnerData\\FO\\SEQ_24)-定时删除数据:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP30的数据(U:\\NutrunnerData\\FO\\SEQ_24)-定时删除数据异常:", ex);
}
try
{
LogTextHelper.BatchDeleteLog(@"U:\NutrunnerData\FO\SEQ_04", 20);
Log4NetHelper.WriteInfoLog(logType, $"处理OP30的数据(U:\\NutrunnerData\\FO\\SEQ_04)-定时删除数据:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP30的数据(U:\\NutrunnerData\\FO\\SEQ_04)-定时删除数据异常:", ex);
}
try
{
LogTextHelper.BatchDeleteLog(@"Z:\kistler_crack", 20);
Log4NetHelper.WriteInfoLog(logType, $"处理OP30的数据(Z:\\kistler_crack)-定时删除数据:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP30的数据(Z:\\kistler_crack)-定时删除数据异常:", ex);
}
try
{
//处理OP20的数据
LogTextHelper.BatchDeleteLog(@"W:\", 20);
Log4NetHelper.WriteInfoLog(logType, $"处理OP20的数据-定时删除数据:");
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"处理OP20的数据-定时删除数据异常:", ex);
}
Thread.Sleep(8 * 60 * 60 * 1000);//每天8小时一次
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(logType, $"定时删除数据异常:", ex);
}
finally
{
}
}
}
}
}