package com.battalarm;
|
|
import java.sql.Connection;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
|
import com.base.Com;
|
import com.battalarm.BattAlarmParam.AlarmParamCell;
|
import com.battdata_rt.BattData_RT;
|
import com.battdata_rt.BattData_RT_Array;
|
import com.battdata_rt.MonVolData;
|
import com.config.AppConfig;
|
import com.sql.MysqlConnPool;
|
import com.sql.Sql_Mysql;
|
|
import main.main_FBS9100S_Alarm;
|
|
public class BattAlarm_Thread_New2 extends Thread {
|
public final static String BattAlarmParamTableName = "tb_alarm_param"; //µç³Ø¸æ¾¯²ÎÊý±í
|
public final static String BattAlarmDataTableName = "tb_battalarm_data"; //µç³Ø¸æ¾¯Êý¾Ý±í
|
public final static String DevAlarmDataTableName = "tb_dev_param"; //É豸¸æ¾¯²ÎÊý±í
|
|
public final static String BattAlarmDataHistoryTableName = "tb_battalarm_data_history"; //µç³Ø¸æ¾¯ÀúÊ·¼Ç¼±í
|
|
private AppConfig m_AppCfg = null;
|
private MysqlConnPool m_Conn_Pool;
|
private BattData_RT_Array m_AL_Data;
|
private BattAlarmParam m_AlarmParam_COE;
|
|
private Map<Integer, AppAlm_Param> appParam;
|
|
private Logger logger = null;
|
public BattAlarm_Thread_New2(AppConfig cfg, MysqlConnPool con_pool, BattData_RT_Array al_data,Map<Integer, AppAlm_Param> appParam)
|
{
|
m_AppCfg = cfg;
|
m_Conn_Pool = con_pool;
|
m_AlarmParam_COE = new BattAlarmParam();
|
m_AL_Data = al_data;
|
|
this.appParam = appParam;
|
|
logger = LogManager.getLogger(this);
|
|
//System.out.println("µç³Ø×éÊýÁ¿£º" + m_AL_Data.getItemCount());
|
|
CreateBattAlarmParamTable(m_Conn_Pool.getConn()); //´´½¨µç³Ø¸æ¾¯²ÎÊý±í
|
for(int i=0;i<m_AL_Data.getItemCount();i++){
|
//System.out.println(m_AL_Data.getItem(i).FBSDeviceId); //¸øÃ¿¸öµç³Ø×éÉèÖò»Í¬µÄ¸æ¾¯²ÎÊý
|
getBattAlarmParam(m_Conn_Pool.getConn(),m_AL_Data.getItem(i));
|
|
|
//System.err.println(m_AL_Data.getItem(i).m_BattAlarmParam.alm_BattDisChargeCurr);
|
}
|
|
//´´½¨tb_alarm_param±í (À쵀 ->ËùÓÐÉ豸ʹÓÃÏàͬµÄ¸æ¾¯²ÎÊý)
|
//getOrCreateBattAlarmParam(m_Conn_Pool.getConn());
|
|
//´´½¨tb_battalarm_data±í (µç³ØÊµÊ±¸æ¾¯±í)
|
createBattAlarmDataTable_IfNotExist(m_Conn_Pool.getConn());
|
|
//´´½¨tb_battalarm_data_history±í (µç³ØÀúÊ·¸æ¾¯±í)
|
createBattAlarmDataHistoryTable_IfNotExist(m_Conn_Pool);
|
}
|
|
|
|
/**
|
* Èç¹û²»´æÔÚÔò´´½¨µç³Ø¸æ¾¯²ÎÊý±í
|
* @param conn
|
*
|
*/
|
public void CreateBattAlarmParamTable(Connection conn){
|
Sql_Mysql sql = new Sql_Mysql(conn);
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_PARAM);
|
if(false == sql.sqlMysqlCheckIfTableExist(DevAlarmDataTableName)){
|
String sql_str = "CREATE TABLE IF NOT EXISTS `tb_dev_param` ("
|
+ " `num` int(11) NOT NULL AUTO_INCREMENT," +
|
" `dev_Id` int(11) NOT NULL DEFAULT '91000000'," +
|
" `alm_id` int(11) NOT NULL DEFAULT '119001'," +
|
" `alm_name` varchar(64) NOT NULL DEFAULT 'Batt_Alarm_Type_'," +
|
" `alm_high_coe` float NOT NULL DEFAULT '0.9'," +
|
" `alm_low_coe` float NOT NULL DEFAULT '0.5'," +
|
" `alm_high_level` int(11) NOT NULL DEFAULT '4'," +
|
" `alm_low_level` int(11) NOT NULL DEFAULT '1'," +
|
" `alm_high_en` int(11) NOT NULL DEFAULT '0'," +
|
" `alm_low_en` int(11) NOT NULL DEFAULT '0'," +
|
" `note` varchar(64) NOT NULL DEFAULT ''," +
|
" `alm_high_coe_upper` float NOT NULL DEFAULT '3.2' COMMENT 'ÉÏÉÏÏ޸澯ϵÊýÖµ'," +
|
" `alm_high_coe_upper_en` tinyint(4) NOT NULL DEFAULT '1' COMMENT 'ÉÏÉÏÏÞʹÄÜ[0-²»ÆôÓà 1-ÆôÓÃ]'," +
|
" `alm_low_coe_lower` float NOT NULL DEFAULT '0' COMMENT 'ÏÂÏÂÏ޸澯ϵÊýÖµ'," +
|
" `alm_low_coe_lower_en` tinyint(4) NOT NULL DEFAULT '1' COMMENT 'ÏÂÏÂÏÞãÐֵʹÄÜ[0-²»ÆôÓà 1-ÆôÓÃ]'," +
|
" PRIMARY KEY (`num`)," +
|
" KEY `index_alm_id` (`alm_id`)," +
|
" KEY `index_dev_id` (`dev_Id`)" +
|
") ENGINE=InnoDB DEFAULT CHARSET=utf8";
|
sql.sqlMysqlExecute(sql_str); //´´½¨Ðµĸ澯²ÎÊý±í
|
//System.out.println("´´½¨Ðµĸ澯²ÎÊý±í");
|
}
|
|
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
if(sql != null){
|
sql.close_con();
|
}
|
}
|
}
|
|
|
/**
|
* ´ÓÊý¾Ý¿âÖлñȡÿ¸öµç³Ø¸æ¾¯²ÎÊý,»òÕß½«Ð¼ÓÈëµÄÉ豸Ìí¼Ó´ïµ½²ÎÊýÊý¾Ý¿â±íÖÐ
|
* @param conn
|
* @param battdata
|
*/
|
public void getBattAlarmParam(Connection conn,BattData_RT battdata){
|
Sql_Mysql sql = new Sql_Mysql(conn);
|
String sql_str;
|
ResultSet res = null;
|
try {
|
boolean flag = false;
|
sql_str = " SELECT num,dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,note,alm_high_coe_upper,alm_high_coe_upper_en,alm_low_coe_lower,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower "
|
+ " FROM db_param.tb_dev_param "
|
+ " WHERE dev_Id = "+battdata.FBSDeviceId;
|
res = sql.sqlMysqlQuery(sql_str);
|
AlarmParamCell param;
|
int pm_id;
|
|
boolean ALM_TYPE_OnlineVol_Init = false;
|
boolean ALM_TYPE_GroupVol_Init = false;
|
boolean ALM_TYPE_BattChargeCurr_Init = false;
|
boolean ALM_TYPE_BattDisChargeCurr_Init = false;
|
boolean ALM_TYPE_MonVol_Init = false;
|
boolean ALM_TYPE_MonTmp_Init = false;
|
boolean ALM_TYPE_MonRes_Init = false;
|
boolean ALM_TYPE_ConnRes_Init = false;
|
boolean ALM_TYPE_DisChargeMonVol_Init = false;
|
boolean ALM_TYPE_MONLYVOL_Init = false;
|
boolean ALM_TYPE_MONREALCAP_Init = false;
|
while(res.next()){
|
pm_id = res.getInt("alm_id");
|
switch(pm_id)
|
{
|
case BattAlarmData.ALM_TYPE_OnlineVol_ID: {
|
ALM_TYPE_OnlineVol_Init = true;
|
param = battdata.m_BattAlarmParam.alm_OnlineVol;
|
}break;
|
case BattAlarmData.ALM_TYPE_GroupVol_ID: {
|
ALM_TYPE_GroupVol_Init = true;
|
param = battdata.m_BattAlarmParam.alm_GroupVol;
|
}break;
|
case BattAlarmData.ALM_TYPE_BattChargeCurr_ID:{
|
ALM_TYPE_BattChargeCurr_Init = true;
|
param = battdata.m_BattAlarmParam.alm_BattChargeCurr;
|
}break;
|
case BattAlarmData.ALM_TYPE_BattDisChargeCurr_ID:{
|
ALM_TYPE_BattDisChargeCurr_Init = true;
|
param = battdata.m_BattAlarmParam.alm_BattDisChargeCurr;
|
}break;
|
case BattAlarmData.ALM_TYPE_MonVol_ID:{
|
ALM_TYPE_MonVol_Init = true;
|
param = battdata.m_BattAlarmParam.alm_MonVol;
|
}break;
|
case BattAlarmData.ALM_TYPE_MonTmp_ID:{
|
ALM_TYPE_MonTmp_Init = true;
|
param = battdata.m_BattAlarmParam.alm_MonTmp;
|
}break;
|
case BattAlarmData.ALM_TYPE_MonRes_ID:{
|
ALM_TYPE_MonRes_Init = true;
|
param = battdata.m_BattAlarmParam.alm_MonRes;
|
}break;
|
case BattAlarmData.ALM_TYPE_ConnRes_ID:{
|
ALM_TYPE_ConnRes_Init = true;
|
param = battdata.m_BattAlarmParam.alm_ConnRes;
|
}break;
|
case BattAlarmData.ALM_TYPE_DisChargeMonVol_ID:{
|
ALM_TYPE_DisChargeMonVol_Init = true;
|
param = battdata.m_BattAlarmParam.alm_DischargeMonVol;
|
}break;
|
case BattAlarmData.ALM_TYPE_MONLYVOL_ID:{
|
ALM_TYPE_MONLYVOL_Init = true;
|
param = battdata.m_BattAlarmParam.alm_MonLYVol;
|
}break;
|
case BattAlarmData.ALM_TYPE_MONREALCAP_ID:{
|
ALM_TYPE_MONREALCAP_Init = true;
|
param = battdata.m_BattAlarmParam.alm_MonREALCAP;
|
}break;
|
default: param = null; break;
|
}
|
if(null != param)
|
{
|
param.alm_Id = res.getInt("alm_id");
|
param.alm_Name = res.getString("alm_name");
|
param.alm_High = res.getFloat("alm_high_coe");
|
param.alm_Low = res.getFloat("alm_low_coe");
|
param.alm_High_Level = res.getInt("alm_high_level");
|
param.alm_Low_Level = res.getInt("alm_low_level");
|
param.alm_High_EN = res.getBoolean("alm_high_en");
|
param.alm_Low_EN = res.getBoolean("alm_low_en");
|
|
param.alm_high_coe_upper = res.getFloat("alm_high_coe_upper");
|
param.alm_low_coe_lower = res.getFloat("alm_low_coe_lower");
|
param.alm_high_coe_upper_en = res.getBoolean("alm_high_coe_upper_en");
|
param.alm_low_coe_lower_en = res.getBoolean("alm_low_coe_lower_en");
|
|
param.alm_delay_time = res.getInt("alm_delay_time");
|
|
param.alm_high_level_upper = res.getInt("alm_high_level_upper");
|
param.alm_low_level_lower = res.getInt("alm_low_level_lower");
|
|
//System.err.println(param);
|
}
|
|
flag = true;
|
}
|
if(!ALM_TYPE_OnlineVol_Init) {
|
//ÉÐÎÞÔÚÏßµçѹ¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_OnlineVol_ID+",'Batt_Alarm_Type_OnlineVol', "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_High+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_OnlineVol.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_OnlineVol.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_OnlineVol.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_OnlineVol.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_OnlineVol.alm_delay_time+","+battdata.m_BattAlarmParam.alm_OnlineVol.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_OnlineVol.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_GroupVol_Init) {
|
//ÉÐÎÞ×é¶Ëµçѹ¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ " ("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_GroupVol_ID+",'Batt_Alarm_Type_GroupVol', "+battdata.m_BattAlarmParam.alm_GroupVol.alm_High+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_GroupVol.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_GroupVol.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_GroupVol.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_GroupVol.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_GroupVol.alm_delay_time+","+battdata.m_BattAlarmParam.alm_GroupVol.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_GroupVol.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_BattChargeCurr_Init) {
|
//ÉÐÎÞµç³Ø³äµçµçÁ÷¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_BattChargeCurr_ID+",'Batt_Alarm_Type_BattChargeCurr', "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_High+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_Low+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_delay_time+","+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_BattDisChargeCurr_Init) {
|
//ÉÐÎÞµç³Ø·ÅµçµçÁ÷¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_BattDisChargeCurr_ID+",'Batt_Alarm_Type_BattDisChargeCurr', "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_High+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_Low+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_delay_time+","+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_MonVol_Init) {
|
//ÉÐÎÞµ¥Ìåµçѹ¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MonVol_ID+",'Batt_Alarm_Type_MonVol', "+battdata.m_BattAlarmParam.alm_MonVol.alm_High+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_MonVol.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_MonVol.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_MonVol.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_MonVol.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_MonVol.alm_delay_time+","+battdata.m_BattAlarmParam.alm_MonVol.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_MonVol.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_MonTmp_Init) {
|
//ÉÐÎÞµ¥Ìåµçѹ¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MonTmp_ID+",'Batt_Alarm_Type_MonTmp', "+battdata.m_BattAlarmParam.alm_MonTmp.alm_High+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_MonTmp.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_MonTmp.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_MonTmp.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_MonTmp.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_MonTmp.alm_delay_time+","+battdata.m_BattAlarmParam.alm_MonTmp.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_MonTmp.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_MonRes_Init) {
|
//ÉÐÎÞµ¥ÌåÄÚ×è¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MonRes_ID+",'Batt_Alarm_Type_MonRes', "+battdata.m_BattAlarmParam.alm_MonRes.alm_High+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_MonRes.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_MonRes.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_MonRes.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_MonRes.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_MonRes.alm_delay_time+","+battdata.m_BattAlarmParam.alm_MonRes.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_MonRes.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_ConnRes_Init) {
|
//ÉÐÎÞÁ¬½ÓÌõ×迹¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_ConnRes_ID+",'Batt_Alarm_Type_ConnRes', "+battdata.m_BattAlarmParam.alm_ConnRes.alm_High+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_Low+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_ConnRes.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_ConnRes.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_ConnRes.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_ConnRes.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_ConnRes.alm_delay_time+","+battdata.m_BattAlarmParam.alm_ConnRes.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_ConnRes.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_DisChargeMonVol_Init) {
|
//ÉÐÎ޷ŵ絥Ìåµçѹ¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_DisChargeMonVol_ID+",'Batt_Alarm_Type_DisChargeMonVol', "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_High+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_delay_time+","+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_MONLYVOL_Init) {
|
//ÉÐÎÞ©Һµçѹ¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MONLYVOL_ID+",'Batt_Alarm_Type_MonLYVol', "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_High+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_MonLYVol.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_MonLYVol.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_MonLYVol.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_MonLYVol.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_MonLYVol.alm_delay_time+","+battdata.m_BattAlarmParam.alm_MonLYVol.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_MonLYVol.alm_low_level_lower+");");
|
}
|
if(!ALM_TYPE_MONREALCAP_Init) {
|
//ÉÐÎÞµ¥ÌåÔ¤¹ÀÈÝÁ¿¸æ¾¯²ÎÊý
|
sql.sqlMysqlExecute("INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en,alm_high_coe_upper,alm_low_coe_lower,alm_high_coe_upper_en,alm_low_coe_lower_en,alm_delay_time,alm_high_level_upper,alm_low_level_lower)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MONREALCAP_ID+",'Batt_Alarm_Type_MonREALCAP', "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_High+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_Low_EN+","+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_high_coe_upper+","+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_low_coe_lower+","+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_high_coe_upper_en+","+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_low_coe_lower_en+","+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_delay_time+","+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_high_level_upper+","+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_low_level_lower+");");
|
}
|
/*if(!flag){
|
sql_str = "INSERT INTO db_param.tb_dev_param "
|
+ "(dev_Id,alm_id,alm_name,alm_high_coe,alm_low_coe,alm_high_level,alm_low_level,alm_high_en,alm_low_en)"
|
+ " VALUES "
|
+ "("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_OnlineVol_ID+",'Batt_Alarm_Type_OnlineVol', "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_High+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_OnlineVol.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_GroupVol_ID+",'Batt_Alarm_Type_GroupVol', "+battdata.m_BattAlarmParam.alm_GroupVol.alm_High+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_GroupVol.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_BattChargeCurr_ID+",'Batt_Alarm_Type_BattChargeCurr', "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_High+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_Low+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_BattChargeCurr.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_BattDisChargeCurr_ID+",'Batt_Alarm_Type_BattDisChargeCurr', "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_High+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_Low+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_BattDisChargeCurr.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MonVol_ID+",'Batt_Alarm_Type_MonVol', "+battdata.m_BattAlarmParam.alm_MonVol.alm_High+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonVol.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MonTmp_ID+",'Batt_Alarm_Type_MonTmp', "+battdata.m_BattAlarmParam.alm_MonTmp.alm_High+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonTmp.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MonRes_ID+",'Batt_Alarm_Type_MonRes', "+battdata.m_BattAlarmParam.alm_MonRes.alm_High+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonRes.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_ConnRes_ID+",'Batt_Alarm_Type_ConnRes', "+battdata.m_BattAlarmParam.alm_ConnRes.alm_High+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_Low+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_ConnRes.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_DisChargeMonVol_ID+",'Batt_Alarm_Type_DisChargeMonVol', "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_High+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_DischargeMonVol.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MONLYVOL_ID+",'Batt_Alarm_Type_MonLYVol', "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_High+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonLYVol.alm_Low_EN+")"
|
+ ",("+battdata.FBSDeviceId+","+BattAlarmData.ALM_TYPE_MONREALCAP_ID+",'Batt_Alarm_Type_MonREALCAP', "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_High+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_Low+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_High_Level+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_Low_Level+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_High_EN+", "+battdata.m_BattAlarmParam.alm_MonREALCAP.alm_Low_EN+");"
|
;
|
sql.sqlMysqlExecute(sql_str);
|
}*/
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally{
|
if(null != res) {
|
try {
|
res.close();
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}
|
}
|
sql.close_con();
|
}
|
}
|
|
|
/**
|
* ´´½¨Êý¾Ý¿â±ítb_alarm_param£¬²¢ÇÒ¸ù¾Ý±íÖеÄÊý¾ÝÉèÖÃBattAlarmDataÀàÖеÄÉ豸¸æ¾¯²ÎÊý
|
* @param conn
|
*/
|
public void getOrCreateBattAlarmParam(Connection conn)
|
{
|
Sql_Mysql sql = new Sql_Mysql(conn);
|
String sql_str;
|
ResultSet res = null;
|
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_PARAM);
|
if(false == sql.sqlMysqlCheckIfTableExist(BattAlarmParamTableName))
|
{
|
System.out.println(BattAlarmParamTableName + " is not exist, create it now...");
|
ArrayList<String> al_sqlstr = new ArrayList<String>();
|
|
sql_str = "CREATE TABLE `" + BattAlarmParamTableName + "` "
|
+ "( `num` INT NOT NULL AUTO_INCREMENT, "
|
+ "`alm_id` INT NOT NULL DEFAULT 0, "
|
+ "`alm_name` VARCHAR(50) NOT NULL DEFAULT ' ', "
|
+ "`alm_high_coe` FLOAT NOT NULL DEFAULT 0, "
|
+ "`alm_low_coe` FLOAT NOT NULL DEFAULT 0, "
|
+ "`alm_high_level` INT NOT NULL DEFAULT 0, "
|
+ "`alm_low_level` INT NOT NULL DEFAULT 0, "
|
+ "`alm_high_en` BOOLEAN NOT NULL DEFAULT false, "
|
+ "`alm_low_en` BOOLEAN NOT NULL DEFAULT false, "
|
+ "PRIMARY KEY (`num`));";
|
al_sqlstr.add(sql_str);
|
|
sql_str = "INSERT INTO " + BattAlarmParamTableName
|
+ " (alm_id, "
|
+ "alm_name, "
|
+ "alm_high_coe, "
|
+ "alm_low_coe, "
|
+ "alm_high_level, "
|
+ "alm_low_level, "
|
+ "alm_high_en, "
|
+ "alm_low_en)"
|
|
+ " VALUES "
|
|
+ "(" + BattAlarmData.ALM_TYPE_OnlineVol_ID + ", 'Batt_Alarm_Type_OnlineVol', 1.2, 0.8, 2, 2, FALSE, FALSE), "
|
+ "(" + BattAlarmData.ALM_TYPE_GroupVol_ID + ", 'Batt_Alarm_Type_GroupVol', 1.2, 0.8, 2, 2, TRUE, TRUE), "
|
+ "(" + BattAlarmData.ALM_TYPE_BattChargeCurr_ID + ", 'Batt_Alarm_Type_BattChargeCurr', 3, 0, 3, 3, TRUE, FALSE), "
|
+ "(" + BattAlarmData.ALM_TYPE_BattDisChargeCurr_ID + ", 'Batt_Alarm_Type_BattDisChargeCurr', 3, 0, 3, 3, TRUE, FALSE), "
|
+ "(" + BattAlarmData.ALM_TYPE_MonVol_ID + ", 'Batt_Alarm_Type_MonVol', 1.2, 0.8, 2, 2, TRUE, TRUE), "
|
+ "(" + BattAlarmData.ALM_TYPE_MonTmp_ID + ", 'Batt_Alarm_Type_MonTmp', 1.5, 0.5, 2, 2, TRUE, TRUE), "
|
+ "(" + BattAlarmData.ALM_TYPE_MonRes_ID + ", 'Batt_Alarm_Type_MonRes', 2, 0.5, 2, 2, TRUE, TRUE), "
|
+ "(" + BattAlarmData.ALM_TYPE_ConnRes_ID + ", 'Batt_Alarm_Type_ConnRes', 2, 0.5, 2, 2, TRUE, TRUE), "
|
+ "(" + BattAlarmData.ALM_TYPE_DisChargeMonVol_ID + ", 'Batt_Alarm_Type_DisChargeMonVol', 1.2, 0.8, 2, 2, FALSE, TRUE),"
|
+ "(" + BattAlarmData.ALM_TYPE_MONLYVOL_ID + ", 'Batt_Alarm_Type_MonLYVol', 1.2, 0.7, 2, 2, TRUE, FALSE)";
|
|
al_sqlstr.add(sql_str);
|
|
for(int n=0; n<al_sqlstr.size(); n++)
|
sql.sqlMysqlExecute(al_sqlstr.get(n));
|
}
|
|
sql_str = "SELECT * FROM " + BattAlarmParamTableName;
|
res = sql.sqlMysqlQuery(sql_str);
|
int pm_id;
|
AlarmParamCell param;
|
while(res.next())
|
{
|
pm_id = res.getInt("alm_id");
|
switch(pm_id)
|
{
|
case BattAlarmData.ALM_TYPE_OnlineVol_ID: param = m_AlarmParam_COE.alm_OnlineVol; break;
|
case BattAlarmData.ALM_TYPE_GroupVol_ID: param = m_AlarmParam_COE.alm_GroupVol; break;
|
case BattAlarmData.ALM_TYPE_BattChargeCurr_ID: param = m_AlarmParam_COE.alm_BattChargeCurr; break;
|
case BattAlarmData.ALM_TYPE_BattDisChargeCurr_ID: param = m_AlarmParam_COE.alm_BattDisChargeCurr; break;
|
case BattAlarmData.ALM_TYPE_MonVol_ID: param = m_AlarmParam_COE.alm_MonVol; break;
|
case BattAlarmData.ALM_TYPE_MonTmp_ID: param = m_AlarmParam_COE.alm_MonTmp; break;
|
case BattAlarmData.ALM_TYPE_MonRes_ID: param = m_AlarmParam_COE.alm_MonRes; break;
|
case BattAlarmData.ALM_TYPE_ConnRes_ID: param = m_AlarmParam_COE.alm_ConnRes; break;
|
case BattAlarmData.ALM_TYPE_DisChargeMonVol_ID: param = m_AlarmParam_COE.alm_DischargeMonVol; break;
|
case BattAlarmData.ALM_TYPE_MONLYVOL_ID: param = m_AlarmParam_COE.alm_MonLYVol; break;
|
default: param = null; break;
|
}
|
if(null != param)
|
{
|
param.alm_High = res.getFloat("alm_high_coe");
|
param.alm_Low = res.getFloat("alm_low_coe");
|
param.alm_High_Level = res.getInt("alm_high_level");
|
param.alm_Low_Level = res.getInt("alm_low_level");
|
param.alm_High_EN = res.getBoolean("alm_high_en");
|
param.alm_Low_EN = res.getBoolean("alm_low_en");
|
}
|
}
|
}
|
catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}
|
finally
|
{
|
if(null != res) {
|
try {
|
res.close();
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}
|
}
|
sql.close_con();
|
//System.out.println("sql.close_con()");
|
}
|
/*
|
if(m_MonitorParam.SaveDataTimeInterval < 5) m_MonitorParam.SaveDataTimeInterval = 5;
|
if(m_MonitorParam.SaveDataTimeInterval > 600) m_MonitorParam.SaveDataTimeInterval = 600;
|
|
if(m_MonitorParam.MonVolChangeLevel < 0) m_MonitorParam.MonVolChangeLevel = 0;
|
if(m_MonitorParam.MonVolChangeLevel > 1) m_MonitorParam.MonVolChangeLevel = 1;
|
|
if(m_MonitorParam.TestTimeLongMinimum < 60) m_MonitorParam.TestTimeLongMinimum = 60;
|
if(m_MonitorParam.TestTimeLongMinimum > 3600) m_MonitorParam.TestTimeLongMinimum = 3600;
|
|
if(m_MonitorParam.TestDataRecordCountMax < 5000) m_MonitorParam.TestDataRecordCountMax = 5000;
|
if(m_MonitorParam.TestDataRecordCountMax > 20000) m_MonitorParam.TestDataRecordCountMax = 20000;
|
|
if(m_MonitorParam.BattTestGroupCountMax < 10) m_MonitorParam.BattTestGroupCountMax = 10;
|
if(m_MonitorParam.BattTestGroupCountMax > 50) m_MonitorParam.BattTestGroupCountMax = 50;
|
*/
|
}
|
|
/**
|
* ´´½¨tb_battalarm_dataÊý¾Ý¿â±í£¬²¢ÇÒÏò±íÖÐÌí¼ÓË÷Òý
|
* @param conn
|
*/
|
public static void createBattAlarmDataTable_IfNotExist(Connection conn)
|
{
|
Sql_Mysql sql = new Sql_Mysql(conn);
|
ResultSet res = null;
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_ALARM);
|
|
if(false == sql.sqlMysqlCheckIfTableExist(BattAlarmDataTableName))
|
{
|
sql.logger.info(BattAlarmDataTableName + " is not exist, create it now...");
|
String sql_str = "CREATE TABLE `" + BattAlarmDataTableName + "` "
|
+ "( `num` bigint(20) NOT NULL AUTO_INCREMENT," +
|
" `BattGroupId` int(11) NOT NULL DEFAULT '0'," +
|
" `MonNum` int(11) NOT NULL DEFAULT '0'," +
|
" `Record_Id` bigint(20) NOT NULL DEFAULT '0'," +
|
" `alm_id` int(11) NOT NULL DEFAULT '0'," +
|
" `alm_signal_id` int(11) NOT NULL DEFAULT '0'," +
|
" `alm_level` int(11) NOT NULL DEFAULT '0'," +
|
" `alm_start_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" `alm_end_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" `alm_value` float NOT NULL DEFAULT '0'," +
|
" `alm_is_confirmed` tinyint(1) NOT NULL DEFAULT '0'," +
|
" `alm_confirmed_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" `alm_cleared_type` int(11) NOT NULL DEFAULT '0'," +
|
" `usr_Id` int(11) NOT NULL DEFAULT '0'," +
|
" `work_flag` tinyint(4) NOT NULL DEFAULT '0'," +
|
" `msg_flag` tinyint(4) NOT NULL DEFAULT '0'," +
|
" `alm_severity` int(11) NOT NULL DEFAULT '0' COMMENT '¸æ¾¯ÖØÒªµÈ¼¶[0:ÖØÒª£»1:½ô¼±]'," +
|
" PRIMARY KEY (`num`)," +
|
" KEY `index_battgroup_id` (`BattGroupId`)," +
|
" KEY `index_Record_Id` (`Record_Id`)," +
|
" KEY `index_alm_id` (`alm_id`)," +
|
" KEY `index_alm_start_time` (`alm_start_time`)," +
|
" KEY `index_alm_cleared_type` (`alm_cleared_type`)," +
|
" KEY `index_alm_signal_id` (`alm_signal_id`)," +
|
" KEY `index_alm_level` (`alm_level`)" +
|
") ENGINE=InnoDB DEFAULT CHARSET=utf8;";
|
sql.sqlMysqlExecute(sql_str);
|
}
|
//--------------½«alm_is_cleared boolean×ֶθÄΪalm_cleared_type intÀàÐÍ 2016-05-09--------------//
|
res = sql.sqlMysqlQuery("SELECT DATA_TYPE FROM information_schema.columns"
|
+ " WHERE table_schema='db_alarm'"
|
+ " AND table_name='" + BattAlarmDataTableName + "'"
|
+ " AND column_name='alm_is_cleared'");
|
if(true == res.next()) {
|
if(false == "int".equals(res.getString("DATA_TYPE").toLowerCase())) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName
|
+ " CHANGE alm_is_cleared alm_cleared_type INT NOT NULL DEFAULT 0;");
|
}
|
}
|
|
//Ìí¼ÓÖ¸¶¨µÄwork_flagÁÐ(Åɵ¥¹ÜÀí)
|
res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
|
+ " WHERE table_schema='db_alarm'"
|
+ " AND table_name='tb_battalarm_data'"
|
+ " AND column_name='work_flag'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.Battalarm_Data_Table
|
+ " ADD COLUMN `work_flag` tinyint NOT NULL DEFAULT 0;");
|
}
|
res = null;
|
//Ìí¼ÓÖ¸¶¨µÄmsg_flagÁÐ(Åɵ¥¹ÜÀí)
|
res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
|
+ " WHERE table_schema='db_alarm'"
|
+ " AND table_name='tb_battalarm_data'"
|
+ " AND column_name='msg_flag'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.Battalarm_Data_Table
|
+ " ADD COLUMN `msg_flag` tinyint NOT NULL DEFAULT 0;");
|
}
|
res = null;
|
//Ìí¼ÓÖ¸¶¨µÄalm_severity ÁÐ(¸æ¾¯ÖØÒªµÈ¼¶)
|
res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
|
+ " WHERE table_schema='db_alarm'"
|
+ " AND table_name='tb_battalarm_data'"
|
+ " AND column_name='alm_severity'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.Battalarm_Data_Table
|
+ " ADD COLUMN `alm_severity` int(11) NOT NULL DEFAULT '0' COMMENT '¸æ¾¯ÖØÒªµÈ¼¶[0:ÖØÒª£»1:½ô¼±]';");
|
}
|
|
|
//---------------------------------------------------------------------------------------------//
|
//------------------------------------- Ìí¼ÓË÷Òý 2016-05-02 ------------------------------------//
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataTableName + " where column_name='BattGroupId'");
|
if(false == res.next())
|
{
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_battgroup_id` (`BattGroupId` ASC);");
|
//sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_alm_mon_Id` (`alm_mon_Id` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataTableName + " where column_name='Record_Id'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_Record_Id` (`Record_Id` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataTableName + " where column_name='alm_id'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_alm_id` (`alm_id` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataTableName + " where column_name='alm_start_time'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_alm_start_time` (`alm_start_time` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataTableName + " where column_name='alm_cleared_type'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_alm_cleared_type` (`alm_cleared_type` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataTableName + " where column_name='alm_signal_id'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_alm_signal_id` (`alm_signal_id` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataTableName + " where column_name='alm_level'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_alm_level` (`alm_level` ASC);");
|
}
|
//---------------------------------------------------------------------------------------------//
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
if(null != res) {
|
try {
|
res.close();
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}
|
}
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ´´½¨µç³Ø¸æ¾¯ÀúÊ·¼Ç¼±í
|
* @param m_Conn_Pool
|
*/
|
private void createBattAlarmDataHistoryTable_IfNotExist(MysqlConnPool m_Conn_Pool) {
|
Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
|
ResultSet res = null;
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_ALARM);
|
if(false == sql.sqlMysqlCheckIfTableExist(BattAlarmDataHistoryTableName))
|
{
|
sql.logger.info(BattAlarmDataHistoryTableName + " is not exist, create it now...");
|
String sql_str = "CREATE TABLE IF NOT EXISTS `tb_battalarm_data_history` ("
|
+ " `num` bigint(20) NOT NULL AUTO_INCREMENT," +
|
" `BattGroupId` int(11) NOT NULL DEFAULT '0'," +
|
" `MonNum` int(11) NOT NULL DEFAULT '0'," +
|
" `Record_Id` bigint(20) NOT NULL DEFAULT '0'," +
|
" `alm_id` int(11) NOT NULL DEFAULT '0'," +
|
" `alm_signal_id` int(11) NOT NULL DEFAULT '0'," +
|
" `alm_level` int(11) NOT NULL DEFAULT '0'," +
|
" `alm_start_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" `alm_end_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" `alm_value` float NOT NULL DEFAULT '0'," +
|
" `alm_is_confirmed` tinyint(1) NOT NULL DEFAULT '0'," +
|
" `alm_confirmed_time` datetime NOT NULL DEFAULT '1982-01-01 00:00:00'," +
|
" `alm_cleared_type` int(11) NOT NULL DEFAULT '0'," +
|
" `usr_Id` int(11) NOT NULL DEFAULT '0'," +
|
" `alm_severity` int(11) NOT NULL DEFAULT '0' COMMENT '¸æ¾¯ÖØÒªµÈ¼¶[0:ÖØÒª£»1:½ô¼±]'," +
|
" PRIMARY KEY (`num`)," +
|
" KEY `index_battgroup_id` (`BattGroupId`)," +
|
" KEY `index_Record_Id` (`Record_Id`)," +
|
" KEY `index_alm_id` (`alm_id`)," +
|
" KEY `index_alm_start_time` (`alm_start_time`)," +
|
" KEY `index_alm_cleared_type` (`alm_cleared_type`)," +
|
" KEY `index_alm_signal_id` (`alm_signal_id`)," +
|
" KEY `index_alm_level` (`alm_level`)" +
|
") ENGINE=InnoDB DEFAULT CHARSET=utf8;";
|
sql.sqlMysqlExecute(sql_str);
|
}
|
|
|
res = null;
|
//Ìí¼ÓÖ¸¶¨µÄalm_severity ÁÐ(¸æ¾¯ÖØÒªµÈ¼¶)
|
res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
|
+ " WHERE table_schema='db_alarm'"
|
+ " AND table_name='tb_battalarm_data_history'"
|
+ " AND column_name='alm_severity'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.Battalarm_Data_History_Table
|
+ " ADD COLUMN `alm_severity` int(11) NOT NULL DEFAULT '0' COMMENT '¸æ¾¯ÖØÒªµÈ¼¶[0:ÖØÒª£»1:½ô¼±]';");
|
}
|
|
//------------------------------------- Ìí¼ÓË÷Òý 2016-05-02 ------------------------------------//
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataHistoryTableName + " where column_name='BattGroupId'");
|
if(false == res.next())
|
{
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataHistoryTableName + " ADD INDEX `index_battgroup_id` (`BattGroupId` ASC);");
|
//sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataTableName + " ADD INDEX `index_alm_mon_Id` (`alm_mon_Id` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataHistoryTableName + " where column_name='Record_Id'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataHistoryTableName + " ADD INDEX `index_Record_Id` (`Record_Id` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataHistoryTableName + " where column_name='alm_id'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataHistoryTableName + " ADD INDEX `index_alm_id` (`alm_id` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataHistoryTableName + " where column_name='alm_start_time'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataHistoryTableName + " ADD INDEX `index_alm_start_time` (`alm_start_time` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataHistoryTableName + " where column_name='alm_cleared_type'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataHistoryTableName + " ADD INDEX `index_alm_cleared_type` (`alm_cleared_type` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataHistoryTableName + " where column_name='alm_signal_id'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataHistoryTableName + " ADD INDEX `index_alm_signal_id` (`alm_signal_id` ASC);");
|
}
|
res = sql.sqlMysqlQuery("show index from " + BattAlarmDataHistoryTableName + " where column_name='alm_level'");
|
if(false == res.next()) {
|
sql.sqlMysqlExecute("ALTER TABLE " + BattAlarmDataHistoryTableName + " ADD INDEX `index_alm_level` (`alm_level` ASC);");
|
}
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
if(null != res) {
|
try {
|
res.close();
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}
|
}
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ¸ù¾Ý¸æ¾¯¶ÔÏóÌí¼Óеĸ澯¼Ç¼»òÕßÈ¡Ïû¸æ¾¯¼Ç¼
|
* @param m_Conn_Pool.getConn()
|
* @param alm_data
|
*/
|
public void insertOrUpdateBattAlarmDataToTable(MysqlConnPool m_Conn_Pool, BattAlarmData alm_data)
|
{
|
Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_ALARM);
|
if(true == sql.sqlMysqlCheckIfTableExist(BattAlarmDataTableName))
|
{
|
|
//System.out.println("alm_id:"+alm_data.alm_id+"\t alm_signal_id:"+alm_data.alm_signal_id+"\t clear_type:"+alm_data.alm_cleared_type);
|
//вúÉúµÄ¸æ¾¯¼Ç¼
|
if(BattAlarmData.ALM_CLEARED_TYPE_NULL == alm_data.alm_cleared_type)
|
{
|
BattAlarmData last_alarm = searchBattLastHistory(m_Conn_Pool,alm_data);
|
if(last_alarm != null && last_alarm.alm_id == alm_data.alm_id && last_alarm.mon_num == alm_data.mon_num && last_alarm.alm_cleared_type == BattAlarmData.ALM_CLEARED_TYPE_NULL) {
|
//µ±Ç°¸æ¾¯¼Ç¼ÒѾÔÚµç³ØÊµÊ±¸æ¾¯±íÖдæÔÚ
|
if(last_alarm.alm_signal_id != alm_data.alm_signal_id ) {
|
//Èç¹û´æÔÚÏàͬÖÖÀ಻ͬÀàÐ͵ĸ澯 (¸æ¾¯Ãû³ÆÒ»ÖÂ;¸æ¾¯ÉÏÏÂÏÞ²»Í¬)
|
//System.out.println("È¡Ïû֮ǰµÄ¸æ¾¯£¬Ìí¼Óеĸ澯");
|
//System.out.println("µç³Ø×éid"+alm_data.battgroup_id+"\t¸æ¾¯Öµ:"+alm_data.alm_value);
|
last_alarm.alm_cleared_type = BattAlarmData.ALM_CLEARED_TYPE_AUTO;
|
chageRealToHistoryAlarm(m_Conn_Pool, last_alarm); //½«Ö®Ç°ÏàͬÖÖÀ಻ͬÀàÐ͵ĸ澯±ä³ÉÀúÊ·¸æ¾¯
|
|
insertNewBattRealAlarm(m_Conn_Pool, alm_data); //²åÈ뵱ǰеĸ澯
|
}else{
|
//2023 lijun ¸æ¾¯µÈ¼¶±ä»¯Ê±ÐèÒª¸üи澯µÈ¼¶
|
if(last_alarm.alm_signal_level != alm_data.alm_signal_level) {
|
//System.out.println(alm_data.battgroup_id+"¸æ¾¯µÈ¼¶Çл»last_level:"+last_alarm.alm_signal_level+"\tnow_level:"+alm_data.alm_signal_level);
|
updateBattParamAlarm(m_Conn_Pool,alm_data);
|
}
|
}
|
}else if(last_alarm != null && last_alarm.alm_cleared_type == BattAlarmData.ALM_CLEARED_TYPE_MANUAL){
|
//ÈôÊý¾Ý¿âÖÐÒÑ´æÔÚµ±Ç°ÀàÐ͵ÄÈ¡ÏûµÄ¸æ¾¯Ò²²»²åÈëÊý¾Ý¿âÖÐ
|
|
}else{
|
//System.out.println("и澯¼Ç¼"+alm_data.alm_cleared_type);
|
insertNewBattRealAlarm(m_Conn_Pool, alm_data); //²åÈëеĸ澯¼Ç¼
|
//System.out.println("Ö±½ÓÌí¼Óеĸ澯¼Ç¼"+alm_data.alm_cleared_type+"\t¸æ¾¯Öµ£º"+alm_data.alm_value+"\t record_id"+alm_data.record_id);
|
}
|
} else {
|
//¸æ¾¯ÑÓ³Ù½áÊøµÄ¸æ¾¯¼Ç¼
|
if(BattAlarmData.ALM_CLEARED_TYPE_AUTO == alm_data.alm_cleared_type) {
|
//System.out.println("Õý³£¸æ¾¯Ïûʧ");
|
chageRealToHistoryAlarm(m_Conn_Pool, alm_data); //½«ÊµÊ±¸æ¾¯±ä³ÉÀúÊ·¸æ¾¯
|
}
|
}
|
}
|
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
sql.close_con();
|
//System.out.println("sql.close_con()");
|
}
|
}
|
|
/**
|
* ¸üÐÂÔÀ´ÊµÊ±¸æ¾¯µÄµÈ¼¶
|
* @param m_Conn_Pool2
|
* @param now_alarm
|
*/
|
private void updateBattParamAlarm(MysqlConnPool m_Conn_Pool2, BattAlarmData now_alarm) {
|
String sql_str = " UPDATE db_alarm.tb_battalarm_data " +
|
" SET alm_level = " + now_alarm.alm_signal_level +
|
" WHERE BattGroupId = " + now_alarm.battgroup_id +
|
" AND MonNum = " + now_alarm.mon_num +
|
" AND alm_id = " + now_alarm.alm_id;
|
Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool2.getConn());
|
try {
|
sql.sqlMysqlExecute(sql_str);
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
|
|
public void insertNewBattRealAlarm(MysqlConnPool m_Conn_Pool, BattAlarmData alm_data) {
|
Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
|
|
String sql_str = " INSERT INTO " + BattAlarmDataTableName + " "
|
+ "(BattGroupId, "
|
+ "MonNum, "
|
+ "Record_Id, "
|
+ "alm_id, "
|
+ "alm_signal_id, "
|
+ "alm_level, "
|
+ "alm_start_time, "
|
+ "alm_end_time, "
|
+ "alm_value, "
|
+ "alm_is_confirmed, "
|
+ "alm_confirmed_time, "
|
+ "alm_cleared_type, "
|
+ "alm_severity, "
|
+ "usr_Id) "
|
+ " VALUES "
|
+ "("
|
+ alm_data.battgroup_id + ", "
|
+ alm_data.mon_num + ", "
|
+ alm_data.record_id + ", "
|
+ alm_data.alm_id + ", "
|
+ alm_data.alm_signal_id + ", "
|
+ alm_data.alm_signal_level + ", "
|
+ "'" + Com.getDateTimeFormat(alm_data.alm_start_time, Com.DTF_YMDhms) + "', "
|
+ "'" + Com.getDateTimeFormat(alm_data.alm_end_time, Com.DTF_YMDhms) + "', "
|
+ alm_data.alm_value + ", "
|
+ alm_data.alm_is_confirmed + ", "
|
+ "'" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "', "
|
+ alm_data.alm_cleared_type + ", "
|
+ alm_data.alm_severity + ", "
|
+ alm_data.usr_id
|
+ ")";
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_ALARM);
|
sql.sqlMysqlExecute(sql_str);
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ½«µ±Ç°¸æ¾¯±ä³ÉÀúÊ·¸æ¾¯
|
* @param m_Conn_Pool
|
* @param alm_data
|
*/
|
public void chageRealToHistoryAlarm(MysqlConnPool m_Conn_Pool, BattAlarmData alm_data) {
|
String sql_str = " UPDATE " + BattAlarmDataTableName
|
+ " SET "
|
+ " alm_end_time='" + Com.getDateTimeFormat(alm_data.alm_end_time, Com.DTF_YMDhms) + "', "
|
+ " alm_cleared_type=" + alm_data.alm_cleared_type
|
+ " WHERE MonNum ="+alm_data.mon_num+" AND BattGroupId ="+alm_data.battgroup_id+" AND alm_id ="+alm_data.alm_id + " AND alm_signal_id = " + alm_data.alm_signal_id;
|
Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_ALARM);
|
sql.sqlMysqlExecute(sql_str);
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* Åжϵ±Ç°¸æ¾¯Ö®Ç°ÊÇ·ñ´æÔÚµ±Ç°µç³Ø×鵱ǰÖÐÀàµÄ¸æ¾¯,´æÔÚÔòÈ¡Ïûµ±Ç°µÄʵʱ¸æ¾¯,±ä³ÉÀúÊ·¸æ¾¯
|
* @param m_Conn_Pool.getConn()
|
* @param alm_data
|
*/
|
public void checkBattAlarmData(MysqlConnPool m_Conn_Pool, BattAlarmData alm_data)
|
{
|
//²éѯʵʱ¼Ç¼±íÖÐÊÇ·ñ´æÔÚµ±Ç°ÖÖÀàµÄʵʱ¸æ¾¯¼Ç¼
|
String sql_str0 = "SELECT * FROM tb_battalarm_data "
|
+ " WHERE alm_id NOT IN(119010,119011) AND MonNum ="+alm_data.mon_num+" "
|
+ " AND BattGroupId ="+alm_data.battgroup_id+" AND alm_cleared_type != 0 "
|
+ " AND alm_id ="+alm_data.alm_id;
|
|
|
//½«µ±Ç°µÄµç³ØÊµÊ±¸æ¾¯±ä³ÉÀúÊ·¸æ¾¯
|
String sql_str1 = " UPDATE tb_battalarm_data "
|
+ " SET alm_cleared_type = 1, "
|
+ " alm_end_time='" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "' "
|
+ " WHERE alm_id NOT IN(119010,119011) AND MonNum ="+alm_data.mon_num+" AND alm_cleared_type = 1"
|
+ " AND BattGroupId ="+alm_data.battgroup_id+" AND alm_id ="+alm_data.alm_id;
|
//½«µ±Ç°µÄʵʱ¸æ¾¯¼Ç¼²åÈëµ½ÀúÊ·¸æ¾¯±íÖÐ (²»°üÀ¨ÈÝÁ¿¸æ¾¯¼Ç¼)
|
String sql_str2 = "INSERT INTO tb_battalarm_data_history"
|
+ "(BattGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_Id,alm_severity) "
|
+ "(SELECT BattGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_Id,alm_severity from tb_battalarm_data "
|
+ " WHERE alm_id NOT IN(119010,119011) AND MonNum ="+alm_data.mon_num+" AND BattGroupId ="+alm_data.battgroup_id+" "
|
+ " AND alm_cleared_type = 1 AND alm_id ="+alm_data.alm_id+ " AND alm_signal_id = " + alm_data.alm_signal_id
|
+ ")";
|
//½«ÊµÊ±¸æ¾¯±íÖеĸ澯¼Ç¼Çå¿Õ(²»°üÀ¨ÈÝÁ¿¸æ¾¯¼Ç¼)
|
String sql_str3 = "DELETE FROM tb_battalarm_data "
|
+ " WHERE alm_id NOT IN(119010,119011) AND MonNum ="+alm_data.mon_num + " "
|
+ " AND BattGroupId ="+alm_data.battgroup_id+" AND alm_cleared_type =1 "
|
+ " AND alm_id ="+alm_data.alm_id + " AND alm_signal_id = " + alm_data.alm_signal_id;
|
Sql_Mysql sql = new Sql_Mysql(m_Conn_Pool.getConn());
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_ALARM);
|
//ResultSet rs = sql.sqlMysqlQuery(sql_str0);
|
//if(rs.next()){
|
//System.out.println("¸æ¾¯ÀàÐÍ:"+alm_data.alm_id+"\tµç³Ø×éid"+alm_data.battgroup_id+"\t µ¥Ìå±àºÅ"+alm_data.mon_num);
|
//Èç¹û´æÔÚµ±Ç°µç³Ø×é,µ±Ç°ÖÖÀàµÄ¸æ¾¯¼Ç¼,¾Í½«Ö®Ç°µÄ¸æ¾¯¼Ç¼´æÈëÀúÊ·¸æ¾¯¼Ç¼,²¢É¾³ýʵʱ¸æ¾¯Öеĸ澯¼Ç¼
|
ArrayList<String> sql_strs = new ArrayList<String>();
|
//sql_strs.add(sql_str1);
|
sql_strs.add(sql_str2);
|
sql_strs.add(sql_str3);
|
sql.makeManualCommit(sql_strs);
|
//sql.sqlMysqlExecute(sql_str1);
|
//sql.sqlMysqlExecute(sql_str2);
|
//sql.sqlMysqlExecute(sql_str3);
|
|
//}
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
private void getBattRtDataFromRamDB(Connection conn, BattData_RT rt_data)
|
{
|
Sql_Mysql sql = new Sql_Mysql(conn);
|
ResultSet res = null;
|
try {
|
res = sql.sqlMysqlQuery("SELECT * FROM " + Sql_Mysql.BattRtState_Table
|
+ " WHERE BattGroupId=" + rt_data.BattGroupId);
|
if(res.next()) {
|
rt_data.TestData.onlineVol = res.getFloat("online_vol");
|
rt_data.TestData.groupVol = res.getFloat("group_vol");
|
rt_data.TestData.testCurr = res.getFloat("group_curr");
|
rt_data.TestData.battState = (byte) res.getInt("batt_state");
|
rt_data.TestData.recordTime = res.getTimestamp("rec_datetime");
|
}
|
|
res = sql.sqlMysqlQuery("SELECT * FROM " + Sql_Mysql.BattRtData_Table
|
+ " WHERE BattGroupId=" + rt_data.BattGroupId + " ORDER BY mon_num ASC");
|
while(res.next()) {
|
int batt_index = res.getInt("mon_num") - 1;
|
if((batt_index >= 0) && (batt_index < rt_data.MonCount)) {
|
MonVolData md = rt_data.al_MonVol.get(batt_index);
|
md.monVol = res.getFloat("mon_vol");
|
md.monTmp = res.getFloat("mon_tmp");
|
md.monRes = res.getFloat("mon_res");
|
md.monLYVol = res.getFloat("mon_LY_vol");
|
md.monRealCap = res.getFloat("mon_cap");
|
//md.rec_date = res.getTimestamp("rec_datetime");
|
//System.out.println(md);
|
}
|
}
|
|
res = sql.sqlMysqlQuery(" SELECT * FROM " + Sql_Mysql.FBS9100State_Table + " WHERE dev_id = " + rt_data.FBSDeviceId);
|
if(res.next()) {
|
rt_data.dev_workstate = res.getInt("dev_workstate");
|
//System.out.println("dev_workstate:"+rt_data.dev_workstate+"DDDD"+rt_data.FBSDeviceId);
|
if(rt_data.FBSDeviceId/100000 == 6186) {
|
//BTS2202É豸µÄ¹¤×÷״̬¶ÔÓ¦
|
rt_data.dev_workstate = res.getInt("dev_alarmstate");
|
}
|
|
//System.out.println(rt_data.FBSDeviceId+"É豸¹¤×÷״̬£º" + rt_data.dev_workstate);
|
}
|
|
//¼ÆËãµç³Ø×éµÄµ¥Ìåʵ¼ÊÈÝÁ¿µç³Ø×éµÄ·ÅÍêÊ£ÓàÈÝÁ¿
|
BattAlarm_Thread_SQL.queryBattLastTestData(m_Conn_Pool, rt_data);
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
if(null != res) {
|
try {
|
res.close();
|
} catch (SQLException e1) {
|
sql.logger.error(e1.toString(), e1);
|
}
|
}
|
sql.close_con();
|
}
|
}
|
|
//¸üÐÂÉ豸¸æ¾¯Ï̵߳Äʱ¼ä´Á
|
public static void updateBattAlarm_Time(MysqlConnPool conn_pool){
|
Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.WEB_Site);
|
String sql_str = "UPDATE tb_process_survey SET ProcessTime = '"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)
|
+ "' WHERE ProcessName = 'BMS_FBSDEV_ALARM_BATT' "
|
+ "AND ServerName='BMS_FBSDEV_ALARM'";
|
//System.out.println(sql_str);
|
sql.sqlMysqlExecute(sql_str);
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
|
//Çå¿ÕÏß³ÌÆô¶¯Ç°µÄʵʱ¸æ¾¯
|
public static void clearHistoryAlarm_BattNew(MysqlConnPool conn_pool){
|
ArrayList<String> sql_strs = new ArrayList<String>();
|
//½«µ±Ç°µÄµç³ØÊµÊ±¸æ¾¯±ä³ÉÀúÊ·¸æ¾¯
|
String sql_str1 = " UPDATE tb_battalarm_data "
|
+ " SET alm_cleared_type = 1, "
|
+ " alm_end_time='" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "' "
|
+ " WHERE alm_cleared_type = 0 AND alm_id NOT IN(119010,119011)";
|
sql_strs.add(sql_str1);
|
//½«µ±Ç°µÄÀúÊ·¸æ¾¯¼Ç¼²åÈëµ½ÀúÊ·¸æ¾¯±íÖÐ (²»°üÀ¨ÈÝÁ¿¸æ¾¯¼Ç¼)
|
String sql_str2 = "insert into tb_battalarm_data_history(BattGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_Id) (select BattGroupId,MonNum,Record_Id,alm_id,alm_signal_id,alm_level,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type,usr_Id from tb_battalarm_data where alm_id NOT IN(119010,119011) AND alm_cleared_type = 1)";
|
sql_strs.add(sql_str2);
|
//½«ÊµÊ±¸æ¾¯±íÖеĸ澯¼Ç¼Çå¿Õ(²»°üÀ¨ÈÝÁ¿¸æ¾¯¼Ç¼)
|
String sql_str3 = "DELETE FROM tb_battalarm_data WHERE alm_cleared_type = 1 AND alm_id NOT IN(119010,119011)";
|
sql_strs.add(sql_str3);
|
Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_ALARM);
|
sql.makeManualCommit(sql_strs);
|
//sql.sqlMysqlExecute(sql_str1);
|
//sql.sqlMysqlExecute(sql_str2);
|
//sql.sqlMysqlExecute(sql_str3);
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
//¸üÐÂÏß³Ì¼à¿ØµÄÆô¶¯Ê±¼ä
|
public static void updateBattAlarm_StartTime(MysqlConnPool conn_pool,String version){
|
Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.WEB_Site);
|
String sql_str = "UPDATE tb_process_survey "
|
+ "SET Process_starttime = '"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)+"'"
|
+ ",ProcessVersion = '"+version+"'"
|
+ " WHERE ProcessName = 'BMS_FBSDEV_ALARM_BATT' "
|
+ "AND ServerName='BMS_FBSDEV_ALARM'";
|
//System.out.println(sql_str);
|
sql.sqlMysqlExecute(sql_str);
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ²éѯµ±Ç°µç³Ø×é֮ǰÊÇ·ñ´æÔÚµ±Ç°ÖÖÀàµÄ¸æ¾¯
|
* @param alm_data
|
* @return
|
*/
|
public static BattAlarmData searchBattLastHistory(MysqlConnPool conn_pool,BattAlarmData alm_data) {
|
BattAlarmData battalarm = null;
|
String sql_str = " SELECT * FROM db_alarm.tb_battalarm_data WHERE BattGroupId = " +alm_data.battgroup_id+ " AND alm_id = " + alm_data.alm_id + " AND alm_cleared_type != 1 AND MonNum = "+alm_data.mon_num;
|
Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
|
ResultSet rs = null;
|
try {
|
rs = sql.sqlMysqlQuery(sql_str);
|
if(rs.next()){
|
battalarm = new BattAlarmData();
|
battalarm.battgroup_id = rs.getInt("BattGroupId");
|
battalarm.mon_num = rs.getInt("MonNum");
|
battalarm.record_id = rs.getLong("Record_Id");
|
battalarm.alm_id = rs.getInt("alm_id");
|
battalarm.alm_signal_id = rs.getInt("alm_signal_id");
|
battalarm.alm_signal_level = rs.getInt("alm_level");
|
battalarm.alm_start_time = rs.getTimestamp("alm_start_time");
|
battalarm.alm_end_time = rs.getTimestamp("alm_end_time");
|
battalarm.alm_value = rs.getFloat("alm_value");
|
battalarm.alm_is_confirmed = rs.getBoolean("alm_is_confirmed");
|
battalarm.alm_confirmed_Time = rs.getTimestamp("alm_confirmed_time");
|
battalarm.alm_cleared_type = rs.getInt("alm_cleared_type");
|
battalarm.usr_id = rs.getInt("usr_Id");
|
}
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}finally {
|
if(null != rs) {
|
try {
|
rs.close();
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}
|
}
|
sql.close_con();
|
}
|
|
return battalarm;
|
}
|
|
/**
|
* ²éѯʵʱ¸æ¾¯±íÖеÄËùÓбä³ÉÀúÊ·¸æ¾¯µÄ¼Ç¼
|
* @param alm_data
|
* @return
|
*/
|
public static List<BattAlarmData> searchAllHistAlarmFromReal(MysqlConnPool conn_pool) {
|
List<BattAlarmData> alarms = new ArrayList<BattAlarmData>();
|
String sql_str = " SELECT * FROM db_alarm.tb_battalarm_data WHERE alm_id NOT IN(119010,119011) AND alm_cleared_type = 1";
|
Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
|
ResultSet rs = null;
|
try {
|
rs = sql.sqlMysqlQuery(sql_str);
|
BattAlarmData battalarm;
|
if(rs.next()){
|
battalarm = new BattAlarmData();
|
battalarm.battgroup_id = rs.getInt("BattGroupId");
|
battalarm.mon_num = rs.getInt("MonNum");
|
battalarm.record_id = rs.getLong("Record_Id");
|
battalarm.alm_id = rs.getInt("alm_id");
|
battalarm.alm_signal_id = rs.getInt("alm_signal_id");
|
battalarm.alm_signal_level = rs.getInt("alm_level");
|
battalarm.alm_start_time = rs.getTimestamp("alm_start_time");
|
battalarm.alm_end_time = rs.getTimestamp("alm_end_time");
|
battalarm.alm_value = rs.getFloat("alm_value");
|
battalarm.alm_is_confirmed = rs.getBoolean("alm_is_confirmed");
|
battalarm.alm_confirmed_Time = rs.getTimestamp("alm_confirmed_time");
|
battalarm.alm_cleared_type = rs.getInt("alm_cleared_type");
|
battalarm.usr_id = rs.getInt("usr_Id");
|
alarms.add(battalarm);
|
}
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}finally {
|
if(null != rs) {
|
try {
|
rs.close();
|
} catch (SQLException e) {
|
sql.logger.error(e.toString(), e);
|
}
|
}
|
sql.close_con();
|
}
|
return alarms;
|
}
|
|
@Override
|
public void run() {
|
try {
|
updateBattAlarm_StartTime(m_Conn_Pool,"V"+main_FBS9100S_Alarm.m_VersionNum); //¸üÐÂÏß³Ì¼à¿ØÖÐµÄµç³Ø¸æ¾¯µÄÆô¶¯Ê±¼ä
|
|
logger.info(this.getName() + " - BattAlarm_Thread Delayed For "
|
+ m_AppCfg.getBattAlarmClearedDelay() + " Seconds To Start...");
|
int delay_time_count = m_AppCfg.getBattAlarmFnStartDelay();
|
|
// for(int dt=0; dt<delay_time_count; dt++)
|
// {
|
// sleep(1000);
|
// }
|
//clearHistoryAlarm_BattNew(m_Conn_Pool); //½«Ö®Ç°µÄʵʱ¸æ¾¯¼Ç¼¸ÄΪÀúÊ·¸æ¾¯¼Ç¼
|
|
logger.info(this.getName() + " - BattAlarm_Thread Started at "
|
+ Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
|
for(int n=0; n<m_AL_Data.getItemCount(); n++)
|
{
|
if(n%10 == 0){
|
|
updateBattAlarm_Time(m_Conn_Pool); //¸üÐÂµç³Ø¸æ¾¯µÄʱ¼ä´Á
|
sleep(50);
|
}
|
//ÉèÖø澯²ÎÊý
|
//m_AL_Data.getItem(n).initAlarmParam(m_AppCfg.getBattAlarmClearedDelay(), m_AlarmParam_COE);
|
int cleared_delay = m_AppCfg.getBattAlarmClearedDelay(); //³¬Ê±30È¡Ïû
|
cleared_delay = 1; //¸æ¾¯Ïûʧ³¬Ê±30S×óÓÒÈ¡Ïû
|
m_AL_Data.getItem(n).initAlarmParam(cleared_delay, m_AL_Data.getItem(n).m_BattAlarmParam);
|
|
searchLastHistoryBattAlarm(m_Conn_Pool,m_AL_Data.getItem(n)); //¼ÈëÏß³ÌÆô¶¯Ö®Ç°µÄ¸æ¾¯Êý¾Ý
|
}
|
|
while(true)
|
{
|
try
|
{
|
//System.out.println(this.getName() + " - BattAlarm_Thread Work at "
|
// + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
for(int n=0; n<m_AL_Data.getItemCount(); n++)
|
{
|
if(n%5 == 0){
|
updateBattAlarm_Time(m_Conn_Pool); //¸üÐÂµç³Ø¸æ¾¯µÄʱ¼ä´Á
|
sleep(10);
|
}
|
BattData_RT rt_data = m_AL_Data.getItem(n);
|
getBattRtDataFromRamDB(m_Conn_Pool.getConn(), rt_data);
|
ArrayList<BattAlarmData> al_alm = rt_data.makeAlarmData();
|
|
//System.err.println("µç³Ø¸æ¾¯¸öÊý:"+al_alm.size()+"=="+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
for(int cnt=0; cnt<al_alm.size(); cnt++) {
|
insertOrUpdateBattAlarmDataToTable(m_Conn_Pool, al_alm.get(cnt));
|
}
|
al_alm.clear();
|
|
//System.err.println(m_AL_Data.getItem(n).StationName);
|
}
|
List<BattAlarmData> alarms = searchAllHistAlarmFromReal(m_Conn_Pool); //²éѯµç³ØÊµÊ±¸æ¾¯±íÖÐµÄµç³ØÀúÊ·¸æ¾¯¼Ç¼
|
//System.out.println("¸æ¾¯ÏûʧÊýÄ¿"+alarms.size());
|
if(alarms.size() >0) {
|
for(int i =0 ;i<alarms.size();i++) {
|
if(i%100 == 0) {
|
updateBattAlarm_Time(m_Conn_Pool); //¸üÐÂµç³Ø¸æ¾¯µÄʱ¼ä´Á
|
}
|
BattAlarmData alm = alarms.get(i);
|
AppAlm_Param param = appParam.get(alm.alm_id);
|
|
if( (null != param) &&
|
//(alm.alm_severity == BattAlarmData.Alm_Severity_Exigency) &&
|
(param.alm_auto_clear_en == AppAlm_Param.Alm_AutoClear_Oppose)
|
) {
|
//System.err.println(alm);
|
//ÐèÒª½«¸æ¾¯²åÈë¸æ¾¯È·ÈÏ´¦Àí±í
|
BattAlarm_Thread_SQL.checkBattAlarmDataVerify(m_Conn_Pool, alm);
|
}else {
|
//ûÓÐÅäÖõĸ澯¼Ç¼£¬»òÕßµ±Ç°·Ç½ô¼±¸æ¾¯
|
checkBattAlarmData(m_Conn_Pool,alm); //ɾ³ý֮ǰµÄ¸æ¾¯¼Ç¼,²¢´æÈëÀúÊ·¸æ¾¯±íÖÐ
|
}
|
}
|
}
|
alarms.clear();
|
sleep(200);
|
} catch (InterruptedException e) {
|
logger.error(e.toString(), e);
|
}
|
}
|
} catch (Exception e1) {
|
logger.error(e1.toString(), e1);
|
}
|
}
|
|
|
/**
|
* ²éѯÆô¶¯Ç°µ±Ç°µç³Ø×éµÄʵʱ¸æ¾¯(¼Èë³ÌÐòÆô¶¯Ç°µÄ¸æ¾¯¼Ç¼)
|
* @return
|
*/
|
public static void searchLastHistoryBattAlarm(MysqlConnPool pool,BattData_RT battdata){
|
List<BattAlarmData> alarms = new ArrayList<BattAlarmData>();
|
String sql_str = " SELECT * FROM " + BattAlarmDataTableName + " "
|
+ " WHERE (alm_cleared_type = 0 OR alm_cleared_type = 2) AND alm_id NOT IN(119010,119011) AND BattGroupId= " + battdata.BattGroupId;
|
Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
ResultSet rs = null;
|
try {
|
sql.sqlMysqlUseDB(Sql_Mysql.DB_ALARM);
|
rs = sql.sqlMysqlQuery(sql_str);
|
BattAlarmData alarm = null;
|
while(rs.next()) {
|
alarm = new BattAlarmData();
|
alarm.battgroup_id = rs.getInt("BattGroupId");
|
alarm.alm_id = rs.getInt("alm_id");
|
alarm.alm_signal_id = rs.getInt("alm_signal_id");
|
alarm.alm_cleared_type = rs.getInt("alm_cleared_type");
|
alarm.mon_num = rs.getInt("monnum");
|
alarm.record_id = rs.getLong("Record_Id");
|
alarm.alm_start_time = rs.getTimestamp("alm_start_time"); //¸æ¾¯¿ªÊ¼Ê±¼ä
|
alarm.alm_severity = rs.getInt("alm_severity"); //¸æ¾¯ÖØÒªµÈ¼¶
|
//µ±Ç°¸æ¾¯µÈ¼¶
|
alarm.alm_signal_level = rs.getInt("alm_level");
|
//System.err.println("alm_signal_level:" + alarm.alm_signal_level);
|
|
|
alarms.add(alarm);
|
|
}
|
|
if(alarms.size()>0) {
|
for(int i=0;i<alarms.size();i++) {
|
alarm = alarms.get(i);
|
switch(alarm.alm_id) {
|
//ÔÚÏßµçѹ¸æ¾¯
|
case BattAlarmData.ALM_TYPE_OnlineVol_ID:{
|
battdata.TestData.onlineVol_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.TestData.onlineVol_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.TestData.onlineVol_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.TestData.onlineVol_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.TestData.onlineVol_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//×é¶Ëµçѹ
|
case BattAlarmData.ALM_TYPE_GroupVol_ID:{
|
battdata.TestData.groupVol_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.TestData.groupVol_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.TestData.groupVol_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.TestData.groupVol_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.TestData.groupVol_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//µç³Ø³äµçµçÁ÷
|
case BattAlarmData.ALM_TYPE_BattChargeCurr_ID:{
|
battdata.TestData.battCurr_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.TestData.battCurr_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.TestData.battCurr_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.TestData.battCurr_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.TestData.battCurr_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//µç³Ø·ÅµçµçÁ÷
|
case BattAlarmData.ALM_TYPE_BattDisChargeCurr_ID:{
|
battdata.TestData.battDisCurr_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.TestData.battDisCurr_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.TestData.battDisCurr_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.TestData.battDisCurr_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.TestData.battDisCurr_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//µç³Ø·Åµçµ¥Ìåµçѹ
|
case BattAlarmData.ALM_TYPE_DisChargeMonVol_ID:{
|
if(alarm.mon_num > battdata.al_MonVol.size()) {
|
continue;
|
}
|
battdata.al_MonVol.get(alarm.mon_num-1).dischargeMonVol_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.al_MonVol.get(alarm.mon_num-1).dischargeMonVol_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.al_MonVol.get(alarm.mon_num-1).dischargeMonVol_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.al_MonVol.get(alarm.mon_num-1).dischargeMonVol_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.al_MonVol.get(alarm.mon_num-1).dischargeMonVol_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//µç³Øµ¥Ìåµçѹ
|
case BattAlarmData.ALM_TYPE_MonVol_ID:{
|
if(alarm.mon_num > battdata.al_MonVol.size()) {
|
continue;
|
}
|
battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.al_MonVol.get(alarm.mon_num-1).monVol_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//µ¥ÌåζÈ
|
case BattAlarmData.ALM_TYPE_MonTmp_ID:{
|
if(alarm.mon_num > battdata.al_MonVol.size()) {
|
continue;
|
}
|
battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.al_MonVol.get(alarm.mon_num-1).monTmp_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//µ¥ÌåÄÚ×è
|
case BattAlarmData.ALM_TYPE_MonRes_ID:{
|
if(alarm.mon_num > battdata.al_MonVol.size()) {
|
continue;
|
}
|
battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.al_MonVol.get(alarm.mon_num-1).monRes_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//Á¬½ÓÌõ×迹
|
case BattAlarmData.ALM_TYPE_ConnRes_ID:{
|
if(alarm.mon_num > battdata.al_MonVol.size()) {
|
continue;
|
}
|
battdata.al_MonVol.get(alarm.mon_num-1).connRes_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.al_MonVol.get(alarm.mon_num-1).connRes_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.al_MonVol.get(alarm.mon_num-1).connRes_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.al_MonVol.get(alarm.mon_num-1).connRes_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.al_MonVol.get(alarm.mon_num-1).connRes_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//©Һµçѹ
|
case BattAlarmData.ALM_TYPE_MONLYVOL_ID:{
|
if(alarm.mon_num > battdata.al_MonVol.size()) {
|
continue;
|
}
|
battdata.al_MonVol.get(alarm.mon_num-1).monLYVol_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.al_MonVol.get(alarm.mon_num-1).monLYVol_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.al_MonVol.get(alarm.mon_num-1).monLYVol_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.al_MonVol.get(alarm.mon_num-1).monLYVol_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.al_MonVol.get(alarm.mon_num-1).monLYVol_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
//µ¥ÌåÔ¤¹ÀÈÝÁ¿
|
case BattAlarmData.ALM_TYPE_MONREALCAP_ID:{
|
if(alarm.mon_num > battdata.al_MonVol.size()) {
|
continue;
|
}
|
battdata.al_MonVol.get(alarm.mon_num-1).monRealCap_AlarmData.alm_cleared_type = alarm.alm_cleared_type;
|
battdata.al_MonVol.get(alarm.mon_num-1).monRealCap_AlarmData.alm_signal_id = alarm.alm_signal_id;
|
battdata.al_MonVol.get(alarm.mon_num-1).monRealCap_AlarmData.alm_severity = alarm.alm_severity;
|
battdata.al_MonVol.get(alarm.mon_num-1).monRealCap_AlarmData.alm_signal_level = alarm.alm_signal_level;
|
battdata.al_MonVol.get(alarm.mon_num-1).monRealCap_AlarmData.alm_start_time = alarm.alm_start_time;
|
}break;
|
}
|
}
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
} finally {
|
if(null != rs) {
|
try {
|
rs.close();
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
sql.close_con();
|
}
|
}
|
}
|