From 4fe3fff3b52219cb5ec7a3aa906b07cc6f96dedc Mon Sep 17 00:00:00 2001 From: DELL <1525436766@qq.com> Date: 星期四, 24 十月 2024 11:17:32 +0800 Subject: [PATCH] 新增电源告警-协转与电源通信故障 --- IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerRealDataSave_Thread.java | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-) diff --git a/IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerRealDataSave_Thread.java b/IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerRealDataSave_Thread.java index 4d8f779..7ba71b1 100644 --- a/IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerRealDataSave_Thread.java +++ b/IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerRealDataSave_Thread.java @@ -6,6 +6,7 @@ import java.util.Date; import com.power.mysql.MysqlConnPool; +import com.base.Com; import com.power.data.PowerData_RT; import com.power.data.PowerData_RT_Array; @@ -16,7 +17,8 @@ Logger logger = null; public static int MinRecordTimeLong = 60; //每次记录的最短时间间隔--60S - public static int MaxRecordTimeLong = 366*3; //最大记录历史数据时间--3年 +// public static int MaxRecordTimeLong = 366*3; //最大记录历史数据时间--3年 + public static int MaxRecordTimeLong = 366; //最大记录历史数据时间--1年 public PowerRealDataSave_Thread(MysqlConnPool pool,PowerData_RT_Array data) { @@ -30,7 +32,7 @@ public void run() { logger.info("PowerRealDataSave_Thread: Started ..."); - + Date lastdelTime = new Date(0); Date lastTime = new Date(); //线程启动前休眠60秒 for(int i =0; i<60; i++) { @@ -54,12 +56,21 @@ /**********************************************************/ nowTime = new Date(); long timelong =(nowTime.getTime()-lastTime.getTime())/1000; + long deltimelong = (nowTime.getTime()-lastdelTime.getTime())/1000; try { /**************** lijun add @ 20200906 ***************/ - //获取指定天数之前的时间 - Date critical = PowerDataSave_SQL.getDateBefore(nowTime, MaxRecordTimeLong); //删除修改时间超时的数据表 - PowerDataSave_SQL.deleteHistoryData(m_ConnPool, critical); + if(deltimelong > 60*60*24) { + + //获取指定天数之前的时间 + Date critical = PowerDataSave_SQL.getDateBefore(nowTime, MaxRecordTimeLong); + logger.info("开始循环删除"+Com.get_DTF(critical, Com.DTF_YMDhms)+"之前创建的电源历史实时数据库表"); + //删除修改时间超时的数据表 + PowerDataSave_SQL.deleteHistoryData(m_ConnPool, critical); + + lastdelTime = nowTime; + } + /**********************************************************/ if(timelong < MinRecordTimeLong) { continue; -- Gitblit v1.9.1