package com.power.datasave; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.Date; import com.power.mysql.MysqlConnPool; import com.power.data.PowerData_RT; import com.power.data.PowerData_RT_Array; public class PowerRealDataSave_Thread extends Thread{ public MysqlConnPool m_ConnPool; public PowerData_RT_Array m_AL_Data; Logger logger = null; public static int MinRecordTimeLong = 60; //ÿ´Î¼Ç¼µÄ×î¶Ìʱ¼ä¼ä¸ô--60S public static int MaxRecordTimeLong = 366*3; //×î´ó¼Ç¼ÀúÊ·Êý¾Ýʱ¼ä--3Äê public PowerRealDataSave_Thread(MysqlConnPool pool,PowerData_RT_Array data) { logger = LogManager.getLogger(this.getClass()); m_ConnPool = pool; m_AL_Data = data; } public void run() { logger.info("PowerRealDataSave_Thread: Started ..."); Date lastTime = new Date(); //Ïß³ÌÆô¶¯Ç°ÐÝÃß60Ãë for(int i =0; i<60; i++) { try { sleep(1000); } catch (InterruptedException e) { logger.error(e.toString(), e); } } logger.info("PowerRealDataSave_Thread: Start Record......"); Date nowTime = null; while(true) { /**************** mxpopstar add @ 20200817 ***************/ try { sleep(500); } catch (InterruptedException e1) { // TODO Auto-generated catch block logger.error(e1.toString(), e1); } /**********************************************************/ nowTime = new Date(); long timelong =(nowTime.getTime()-lastTime.getTime())/1000; try { /**************** lijun add @ 20200906 ***************/ //»ñȡָ¶¨ÌìÊý֮ǰµÄʱ¼ä Date critical = PowerDataSave_SQL.getDateBefore(nowTime, MaxRecordTimeLong); //ɾ³ýÐÞ¸Äʱ¼ä³¬Ê±µÄÊý¾Ý±í PowerDataSave_SQL.deleteHistoryData(m_ConnPool, critical); /**********************************************************/ if(timelong < MinRecordTimeLong) { continue; } boolean isRecorded = false; for(int i=0; i60) { //ͨÐų¬Ê±µÄÉ豸²»ÔڼǼµçÔ´ÀúʷʵʱÊý¾Ý continue; } //¼Ç¼µ±Ç°µç³Ø×éµÄÀúʷʵʱ¼Ç¼ PowerDataSave_SQL.RecordPowerRealData(m_ConnPool, rtdata); //记录电池组的放电记录 sleep(50); } if(isRecorded) { lastTime = nowTime; } /**************** mxpopstar edit @ 20200817 ***************/ /*sleep(500);*/ //this statement is big bug, because line 59 use "continue" statement; /**************** mxpopstar edit @ 20200817 ***************/ } catch (Exception e) { logger.error(e.toString(), e); } } } }