package com.dev.fbs9100;
|
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.Date;
|
|
import com.base.Com;
|
import com.battdata_rt.BattData_RT;
|
import com.sql.MysqlConnPool;
|
import com.sql.Sql_Mysql;
|
|
public class FBS9100_Task_Thread_SQL {
|
|
/**
|
* ´´½¨ tb_fbs9100_state ±í²¢ÇÒ½«É豸idºÍÉ豸ip²åÈëµ½±íÖÐ
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void createFBS9100StateTableOnRam(MysqlConnPool con_pool, ArrayList<FBS9100_StatAndParam> al_param)
|
{
|
String str1 = "DROP TABLE IF EXISTS " + Sql_Mysql.FBS9100State_Table;
|
String str2 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.FBS9100State_Table
|
+ " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
|
+ "`dev_ip` varchar(20) NOT NULL DEFAULT '127.0.0.0', "
|
+ "`dev_version` varchar(20) NOT NULL DEFAULT '0', "
|
+ "`dev_id` BIGINT NOT NULL DEFAULT 0, "
|
+ "`op_cmd` INT NOT NULL DEFAULT 0, "
|
+ "`record_datetime` varchar(20) NOT NULL DEFAULT '2015-12-02 12:10:00', "
|
+ "`dev_datetime` varchar(20) NOT NULL DEFAULT '2015-12-02 12:10:00', "
|
+ "`dev_testtype` INT NOT NULL DEFAULT 0, "
|
+ "`dev_testgroupnum` INT NOT NULL DEFAULT 0, "
|
+ "`dev_workstate` INT NOT NULL DEFAULT 0, "
|
+ "`dev_alarmstate` INT NOT NULL DEFAULT 0, "
|
+ "`dev_onlinevollow` BOOLEAN NOT NULL DEFAULT false, "
|
+ "`dev_eachgroup_battsum` INT NOT NULL DEFAULT 0, "
|
+ "`dev_captest_onlinevol` float NOT NULL DEFAULT 0, "
|
+ "`dev_captest_groupvol` float NOT NULL DEFAULT 0, "
|
+ "`dev_captest_curr` float NOT NULL DEFAULT 0, "
|
+ "`dev_captest_cap` float NOT NULL DEFAULT 0, "
|
+ "`dev_captest_timelong` INT NOT NULL DEFAULT 0, "
|
+ "`dev_restest_moncount` INT NOT NULL DEFAULT 0, "
|
+ "`dev_restest_monindex` INT NOT NULL DEFAULT 0, "
|
+ "`dev_commcount` INT NOT NULL DEFAULT 0, "
|
+ "`dev_errcommcount` INT NOT NULL DEFAULT 0, "
|
+ "`dev_rxnullerrcount` INT NOT NULL DEFAULT 0, "
|
+ " UNIQUE INDEX index_dev_id_uniq (`dev_id`), "
|
+ " PRIMARY KEY (`num`) ) "
|
+ " ENGINE=InnoDB DEFAULT CHARSET=utf8";
|
|
String str3 = "";
|
if(al_param.size() > 0) {
|
str3 = "INSERT INTO " + Sql_Mysql.FBS9100State_Table
|
+ " (dev_ip, dev_id) VALUES";
|
}
|
for(int n=0; n<al_param.size(); n++)
|
{
|
if(n > 0) {
|
str3 += ", ";
|
}
|
str3 += " ('" + al_param.get(n).dev_ipaddr + "'," + al_param.get(n).dev_id + ")";
|
}
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
sql.sqlMysqlExecute(str1);
|
sql.sqlMysqlExecute(str2);
|
if(str3.length() > 0) {
|
sql.sqlMysqlExecute(str3);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ´´½¨ tb_fbs9100s_dcdc_data ±í²¢ÇÒ½«É豸idºÍÉ豸ip²åÈëµ½±íÖÐ
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void createFBS9100S_DCDC_DataTableOnRam(MysqlConnPool con_pool, ArrayList<FBS9100_StatAndParam> al_param)
|
{
|
String str1 = "DROP TABLE IF EXISTS " + Sql_Mysql.FBS9100S_DcDcState_Table;
|
String str2 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.FBS9100S_DcDcState_Table
|
+ " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
|
+ "`dev_id` BIGINT NOT NULL DEFAULT 0, "
|
+ "`dcdc_num` BIGINT NOT NULL DEFAULT 0, "
|
+ "`dcdc_Vsys` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_Vout` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_Vbat` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_Iout` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_Ibuck` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_Tmp_Dis` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_Tmp_Chr` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_SMR_Alarm1` INT NOT NULL DEFAULT 0, "
|
+ "`dcdc_SMR_Alarm2` INT NOT NULL DEFAULT 0, "
|
+ "`dcdc_version` INT NOT NULL DEFAULT 0, "
|
+ "`dcdc_ModeSetComm` INT NOT NULL DEFAULT 0, "
|
+ "`dcdc_RunSetComm` INT NOT NULL DEFAULT 0, "
|
+ "`dcdc_BuckISet` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_DisVolSet` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_DisCurrSet` float NOT NULL DEFAULT 0, "
|
+ "`dcdc_CommTxCnt` INT NOT NULL DEFAULT 0, "
|
+ "`dcdc_CommRxCnt` INT NOT NULL DEFAULT 0, "
|
+ " UNIQUE INDEX index_dcdc_num_uniq (`dcdc_num`), "
|
+ " PRIMARY KEY (`num`) ) "
|
+ " ENGINE=MEMORY DEFAULT CHARSET=utf8";
|
|
String str3 = "";
|
if(al_param.size() > 0) {
|
str3 = "INSERT INTO " + Sql_Mysql.FBS9100S_DcDcState_Table
|
+ " (dev_id) VALUES";
|
}
|
for(int n=0; n<al_param.size(); n++)
|
{
|
if(n > 0) {
|
str3 += ", ";
|
}
|
str3 += " (" + al_param.get(n).dev_id + ")";
|
}
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
sql.sqlMysqlExecute(str1);
|
sql.sqlMysqlExecute(str2);
|
if(str3.length() > 0) {
|
sql.sqlMysqlExecute(str3);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ½«É豸idºÍÉ豸ip²åÈë»òÕ߸üе½±íÖÐ
|
* @param con_pool
|
* @param al_param
|
*/
|
/*
|
public static void insertorupdateFBS9100StateTableOnRam(MysqlConnPool con_pool, FBS9100_StatAndParam param)
|
{
|
String str1 = "";
|
String str2 = "";
|
String str3 = "";
|
if(param != null) {
|
str1 = "SELECT num,dev_id,dev_errcommcount,dev_commcount from " +Sql_Mysql.FBS9100State_Table+ " where dev_id = " + param.dev_id;
|
str2 = "INSERT INTO " + Sql_Mysql.FBS9100State_Table
|
+ " (dev_ip, dev_id) VALUES";
|
str2 += " ('" + param.dev_ipaddr + "'," + param.dev_id + ")";
|
|
str3 = "UPDATE " +Sql_Mysql.FBS9100State_Table+ " SET dev_ip = '"+param.dev_ipaddr+"' where dev_id = " + param.dev_id;
|
}
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
if(param != null){
|
ResultSet rs = sql.sqlMysqlQuery(str1);
|
if(rs.next()){
|
param.m_FBS_VCData.m_SysState.ErrCommCount = rs.getInt("dev_errcommcount");
|
param.m_FBS_VCData.m_SysState.CommCount = rs.getInt("dev_commcount");
|
sql.sqlMysqlExecute(str3);
|
}else{
|
sql.sqlMysqlExecute(str2);
|
}
|
}
|
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
*/
|
/**
|
* ´´½¨ tb_fbs9100_setparam ±í£¬²¢ÇÒ½«É豸idºÍÉ豸ip²åÈëµ½±íÖÐ
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void createFBS9100SetTestParamTableOnRam(MysqlConnPool con_pool, ArrayList<FBS9100_StatAndParam> al_param)
|
{
|
String str1 = "DROP TABLE IF EXISTS " + Sql_Mysql.FBS9100SetParam_Table;
|
String str2 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.FBS9100SetParam_Table
|
+ " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
|
+ "`dev_ip` varchar(20) NOT NULL DEFAULT '127.0.0.0', "
|
+ "`dev_id` BIGINT NOT NULL DEFAULT 0, "
|
+ "`op_cmd` INT NOT NULL DEFAULT 0, "
|
+ "`TestCmd` INT NOT NULL DEFAULT 0, "
|
+ "`HourRate` INT NOT NULL DEFAULT 0, "
|
+ "`DisCurr` FLOAT NOT NULL DEFAULT 0, "
|
+ "`DisCap` FLOAT NOT NULL DEFAULT 0, "
|
+ "`DisTime` INT NOT NULL DEFAULT 0, "
|
+ "`GroupVol_LOW` FLOAT NOT NULL DEFAULT 0, "
|
+ "`MonomerVol_LOW` FLOAT NOT NULL DEFAULT 0, "
|
+ "`MonomerLowCount` INT NOT NULL DEFAULT 0, "
|
+ "`BattGroupNum` INT NOT NULL DEFAULT 0, "
|
+ "`OnlineVolLowAction` INT NOT NULL DEFAULT 0, "
|
+ "`DCVolHighLimit` FLOAT NOT NULL DEFAULT 0, "
|
+ "`ChargeCurrSet` FLOAT NOT NULL DEFAULT 0, "
|
+ " UNIQUE INDEX index_dev_id_uniq (`dev_id`), "
|
+ " PRIMARY KEY (`num`) ) "
|
+ " ENGINE=MEMORY DEFAULT CHARSET=utf8";
|
|
String str3 = "";
|
if(al_param.size() > 0) {
|
str3 = "INSERT INTO " + Sql_Mysql.FBS9100SetParam_Table
|
+ " (dev_ip, dev_id) VALUES";
|
}
|
for(int n=0; n<al_param.size(); n++)
|
{
|
if(n > 0) {
|
str3 += ", ";
|
}
|
str3 += " ('" + al_param.get(n).dev_ipaddr + "'," + al_param.get(n).dev_id + ")";
|
}
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
sql.sqlMysqlExecute(str1);
|
sql.sqlMysqlExecute(str2);
|
if(str3.length() > 0) {
|
sql.sqlMysqlExecute(str3);
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ½«É豸idºÍÉ豸ip²åÈë»òÕ߸üе½±íÖÐ
|
* @param con_pool
|
* @param al_param
|
*/
|
/*
|
public static void insertorupdateFBS9100SetTestParamTableOnRam(MysqlConnPool con_pool, FBS9100_StatAndParam param)
|
{
|
String str1 = "";
|
String str2 = "";
|
String str3 = "";
|
if(param != null) {
|
str1 = "SELECT num,dev_id from " +Sql_Mysql.FBS9100SetParam_Table+ " where dev_id = " + param.dev_id;
|
|
str2 = "INSERT INTO " + Sql_Mysql.FBS9100SetParam_Table
|
+ " (dev_ip, dev_id) VALUES";
|
|
str2 += " ('" + param.dev_ipaddr + "'," + param.dev_id + ")";
|
|
str3 = "UPDATE " +Sql_Mysql.FBS9100SetParam_Table+ " SET dev_ip = '"+param.dev_ipaddr+"' where dev_id = " + param.dev_id;
|
}
|
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
if(param != null){
|
ResultSet rs = sql.sqlMysqlQuery(str1);
|
if(rs.next()){
|
sql.sqlMysqlExecute(str3);
|
}else{
|
sql.sqlMysqlExecute(str2);
|
}
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
*/
|
/**
|
* ´´½¨ Sql_Mysql.RamDB_CMCC_POWER_Data ±í²¢ÇÒ½«É豸id²åÈëµ½±íÖÐ
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void createFBS9100CmccPowerDataOnRam(MysqlConnPool con_pool, ArrayList<FBS9100_StatAndParam> al_param)
|
{
|
String str1 = "DROP TABLE IF EXISTS " + Sql_Mysql.RamDB_CMCC_POWER_Data;
|
String str2 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.RamDB_CMCC_POWER_Data
|
+ " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
|
+ "`dev_id` BIGINT NOT NULL DEFAULT 0, "
|
+ "`vol1` float NOT NULL DEFAULT 0, "
|
+ "`vol2` float NOT NULL DEFAULT 0, "
|
+ "`vol3` float NOT NULL DEFAULT 0, "
|
+ "`vol4` float NOT NULL DEFAULT 0, "
|
+ "`vol5` float NOT NULL DEFAULT 0, "
|
+ "`curr1` float NOT NULL DEFAULT 0, "
|
+ "`curr2` float NOT NULL DEFAULT 0, "
|
+ "`curr3` float NOT NULL DEFAULT 0, "
|
+ "`curr4` float NOT NULL DEFAULT 0, "
|
+ "`curr5` float NOT NULL DEFAULT 0, "
|
+ " UNIQUE INDEX index_dev_id_uniq (`dev_id`), "
|
+ " PRIMARY KEY (`num`) ) "
|
+ " ENGINE=InnoDB DEFAULT CHARSET=utf8";
|
|
String str3 = "";
|
if(al_param.size() > 0) {
|
str3 = "INSERT INTO " + Sql_Mysql.RamDB_CMCC_POWER_Data
|
+ " (dev_id) VALUES";
|
}
|
for(int n=0; n<al_param.size(); n++)
|
{
|
if(n > 0) {
|
str3 += ", ";
|
}
|
str3 += " (" + al_param.get(n).dev_id + ")";
|
}
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
sql.sqlMysqlExecute(str1);
|
sql.sqlMysqlExecute(str2);
|
if(str3.length() > 0) {
|
sql.sqlMysqlExecute(str3);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ½«É豸idºÍÉ豸ip²åÈë»òÕ߸üе½±íÖÐ
|
* @param con_pool
|
* @param al_param
|
*/
|
/*
|
public static void insertorupdateFBS9100CmccPowerDataTableOnRam(MysqlConnPool con_pool, FBS9100_StatAndParam param)
|
{
|
String str1 = "";
|
String str2 = "";
|
if(param != null) {
|
str1 = "SELECT num,dev_id from " +Sql_Mysql.RamDB_CMCC_POWER_Data+ " where dev_id = " + param.dev_id;
|
str2 = "INSERT INTO " + Sql_Mysql.RamDB_CMCC_POWER_Data
|
+ " (dev_id) VALUES";
|
str2 += " (" + param.dev_id + ")";
|
}
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
if(param != null) {
|
ResultSet rs = sql.sqlMysqlQuery(str1);
|
if(false == rs.next()) {
|
sql.sqlMysqlExecute(str2);
|
}
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
*/
|
/***********************************************************************************/
|
/***********************************************************************************/
|
|
/**
|
* ¸ù¾ÝÉ豸id¸üРtb_fbs9100_state ±í
|
* @param con_pool
|
* @param v_data
|
* @param dev_id
|
*/
|
public static void updateFbs9100CmccPowerDataByDev_Id(MysqlConnPool con_pool, FBS9100_CMCC_Power cmcc_data, int dev_id)
|
{
|
String sql_str_base = Sql_Mysql.RamDB_CMCC_POWER_Data
|
+ " SET "
|
+ "dev_id=" + dev_id + ", "
|
+ "vol1=" + cmcc_data.Vol[0] + ", "
|
+ "vol2=" + cmcc_data.Vol[1] + ", "
|
+ "vol3=" + cmcc_data.Vol[2] + ", "
|
+ "vol4=" + cmcc_data.Vol[3] + ", "
|
+ "vol5=" + cmcc_data.Vol[4] + ", "
|
+ "curr1=" + cmcc_data.Curr[0] + ", "
|
+ "curr2=" + cmcc_data.Curr[1] + ", "
|
+ "curr3=" + cmcc_data.Curr[2] + ", "
|
+ "curr4=" + cmcc_data.Curr[3] + ", "
|
+ "curr5=" + cmcc_data.Curr[4];
|
//+ " WHERE dev_id=" + dev_id;
|
//String sql_str_update = "UPDATE " + sql_str_base;
|
String sql_str_replace = "REPLACE INTO " + sql_str_base;
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
//System.out.println(sql_str);
|
sql.sqlMysqlExecute(sql_str_replace);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
/***********************************************************************************/
|
|
/**
|
* ¸ù¾ÝÉ豸id¸üРtb_fbs9100_state ±í
|
* @param con_pool
|
* @param v_data
|
* @param dev_id
|
*/
|
public static void updateFbs9100StateByDev_Id(MysqlConnPool con_pool, FBS9100_StatAndParam m_pm)
|
{
|
FBS9100_VCData v_data = m_pm.m_FBS_VCData;
|
int TestGroup_index = v_data.m_SysState.TestGroupNum;
|
if(TestGroup_index > 0) {
|
TestGroup_index -= 1;
|
}
|
if((TestGroup_index>=FBS9100_ComBase.BattGroupCountMax) || (TestGroup_index<0)){
|
TestGroup_index = 0;
|
}
|
|
String sql_str_base = Sql_Mysql.FBS9100State_Table
|
+ " SET "
|
+ "dev_id=" + m_pm.dev_id + ", "
|
+ "dev_ip='" + m_pm.dev_ipaddr + "', "
|
+ "dev_version='" + m_pm.m_DevVersion + "', "
|
+ "record_datetime="
|
+ "'" + Com.getDateTimeFormat(v_data.m_SysState.Record_DateTime, Com.DTF_YMDhms) + "',"
|
+ "dev_datetime='" + v_data.m_SysState.DTime.year + "-"
|
+ v_data.m_SysState.DTime.month + "-"
|
+ v_data.m_SysState.DTime.day + " "
|
+ v_data.m_SysState.DTime.hour + ":"
|
+ v_data.m_SysState.DTime.minute + ":"
|
+ v_data.m_SysState.DTime.second + "', "
|
+ "dev_testtype=" + v_data.m_SysState.TestType+ ", "
|
+ "dev_testgroupnum=" + v_data.m_SysState.TestGroupNum + ", "
|
+ "dev_workstate=" + v_data.m_SysState.WorkState + ", "
|
+ "dev_alarmstate=" + v_data.m_SysState.AlarmState + ", "
|
+ "dev_onlinevollow=" + (1==v_data.m_SysState.OnlineVolLow) + ", "
|
+ "dev_captest_onlinevol=" + v_data.onlinevol[TestGroup_index] + ", "
|
+ "dev_captest_groupvol=" + v_data.groupvol[TestGroup_index] + ", "
|
+ "dev_captest_curr=" + v_data.battcurr[TestGroup_index] + ", "
|
+ "dev_captest_cap=" + v_data.battcap[TestGroup_index] + ", "
|
+ "dev_captest_timelong=" + v_data.testTime.getSecondCount() + ", "
|
+ "dev_restest_monindex=" + v_data.m_SysState.ResBattIndex + ", "
|
+ "dev_restest_moncount=" + v_data.m_SysState.ResBattIndexMax + ", "
|
+ "dev_commcount=" + v_data.m_SysState.CommCount + ", "
|
+ "dev_errcommcount=" + v_data.m_SysState.ErrCommCount + ", "
|
+ "dev_rxnullerrcount=" + v_data.m_SysState.RxNullErrCount;
|
|
//String sql_str_update = "UPDATE " + sql_str_tb + sql_str_base + " WHERE dev_id=" + dev_id;
|
String sql_str_replace = "REPLACE INTO " + sql_str_base;
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
//System.out.println(sql_str);
|
sql.sqlMysqlExecute(sql_str_replace);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
/***********************************************************************************/
|
/**
|
* ¸ù¾ÝÉ豸id¸üРtb_fbs9100s_dcdc_data ±í
|
* @param con_pool
|
* @param v_data
|
* @param dev_id
|
*/
|
public static void updateFbs9100S_DCDC_Data_ByDev_Id(MysqlConnPool con_pool,
|
FBS9100S_NT_DCDC_Data[] dcdc_data, int dev_id)
|
{
|
for(int n=0; n<dcdc_data.length; n++) {
|
if(0 == dcdc_data[n].Version) {
|
continue;
|
}
|
|
String sql_str_base = Sql_Mysql.FBS9100S_DcDcState_Table
|
+ " SET "
|
+ "dev_id=" + dev_id + ", "
|
+ "dcdc_num=" + ((dev_id%1000000)*10 + (n+1)) + ", "
|
+ "dcdc_Vsys=" + dcdc_data[n].Vsys + ", "
|
+ "dcdc_Vout=" + dcdc_data[n].Vout + ", "
|
+ "dcdc_Vbat=" + dcdc_data[n].Vbat + ", "
|
+ "dcdc_Iout=" + dcdc_data[n].Iout + ", "
|
+ "dcdc_Ibuck=" + dcdc_data[n].Ibuck + ", "
|
+ "dcdc_Tmp_Dis=" + dcdc_data[n].Tmp_Dis + ", "
|
+ "dcdc_Tmp_Chr=" + dcdc_data[n].Tmp_Chr + ", "
|
+ "dcdc_SMR_Alarm1=" + dcdc_data[n].SMR_Alarm1 + ", "
|
+ "dcdc_SMR_Alarm2=" + dcdc_data[n].SMR_Alarm2 + ", "
|
+ "dcdc_version=" + dcdc_data[n].Version + ", "
|
+ "dcdc_ModeSetComm=" + dcdc_data[n].ModeSetComm + ", "
|
+ "dcdc_RunSetComm=" + dcdc_data[n].RunSetComm + ", "
|
+ "dcdc_BuckISet=" + dcdc_data[n].SetBuckI + ", "
|
+ "dcdc_DisVolSet=" + dcdc_data[n].SetDisVol + ", "
|
+ "dcdc_DisCurrSet=" + dcdc_data[n].SetDisCurr + ", "
|
+ "dcdc_CommTxCnt=" + dcdc_data[n].CommTxCnt + ", "
|
+ "dcdc_CommRxCnt=" + dcdc_data[n].CommRxCnt;
|
|
String sql_str_replace = "REPLACE INTO " + sql_str_base;
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
//System.out.println(sql_str);
|
sql.sqlMysqlExecute(sql_str_replace);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
}
|
/***********************************************************************************/
|
/***********************************************************************************/
|
/**
|
* ¸ù¾Ýtb_fbs9100_setparam±í¸üÐÂal_paramÊý×é
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void queryFbs9100SetParam(MysqlConnPool con_pool, ArrayList<FBS9100_StatAndParam> al_param)
|
{
|
String sql_str = "SELECT * FROM " + Sql_Mysql.FBS9100SetParam_Table;
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
ResultSet res = sql.sqlMysqlQuery(sql_str);
|
try {
|
while(res.next())
|
{
|
FBS9100_StatAndParam param = null;
|
int devid = res.getInt("dev_id");
|
|
for(int n=0; n<al_param.size(); n++) {
|
param = al_param.get(n);
|
if(devid == param.dev_id) {
|
break;
|
}
|
}
|
|
if(null != param) {
|
param.m_FBS_DiscParam.op_cmd = res.getInt("op_cmd");
|
param.m_FBS_DiscParam.BattGroupNum = res.getInt("BattGroupNum");
|
param.m_FBS_DiscParam.test_cmd = res.getInt("TestCmd");
|
param.m_FBS_DiscParam.HourRate = res.getInt("HourRate");
|
param.m_FBS_DiscParam.DisCurr = res.getFloat("DisCurr");
|
param.m_FBS_DiscParam.DisCap = res.getFloat("DisCap");
|
param.m_FBS_DiscParam.DisTime = res.getInt("DisTime");
|
param.m_FBS_DiscParam.GroupVol_LOW = res.getFloat("GroupVol_LOW");
|
param.m_FBS_DiscParam.MonomerVol_LOW = res.getFloat("MonomerVol_LOW");
|
param.m_FBS_DiscParam.MonomerLowCount = res.getInt("MonomerLowCount");
|
param.m_FBS_DiscParam.OnlineVolLowAction = res.getInt("OnlineVolLowAction");
|
param.m_FBS_DiscParam.DCVolHighLimit = res.getFloat("DCVolHighLimit");
|
param.m_FBS_DiscParam.ChargeCurrSet = res.getFloat("ChargeCurrSet");
|
}
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
|
/**
|
* ¸ù¾Ýtb_fbs9100_setparam±í¸üÐÂal_paramÊý×é
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void queryFbs9100SetParamBydev_id(MysqlConnPool con_pool, FBS9100_StatAndParam param)
|
{
|
String sql_str = "SELECT * FROM " + Sql_Mysql.FBS9100SetParam_Table + " where dev_id = " + param.dev_id;
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
ResultSet res = sql.sqlMysqlQuery(sql_str);
|
try {
|
if(res.next())
|
{
|
if(null != param) {
|
param.m_FBS_DiscParam.op_cmd = res.getInt("op_cmd");
|
param.m_FBS_DiscParam.BattGroupNum = res.getInt("BattGroupNum");
|
param.m_FBS_DiscParam.test_cmd = res.getInt("TestCmd");
|
param.m_FBS_DiscParam.HourRate = res.getInt("HourRate");
|
param.m_FBS_DiscParam.DisCurr = res.getFloat("DisCurr");
|
param.m_FBS_DiscParam.DisCap = res.getFloat("DisCap");
|
param.m_FBS_DiscParam.DisTime = res.getInt("DisTime");
|
param.m_FBS_DiscParam.GroupVol_LOW = res.getFloat("GroupVol_LOW");
|
param.m_FBS_DiscParam.MonomerVol_LOW = res.getFloat("MonomerVol_LOW");
|
param.m_FBS_DiscParam.MonomerLowCount = res.getInt("MonomerLowCount");
|
param.m_FBS_DiscParam.OnlineVolLowAction = res.getInt("OnlineVolLowAction");
|
param.m_FBS_DiscParam.DCVolHighLimit = res.getFloat("DCVolHighLimit");
|
param.m_FBS_DiscParam.ChargeCurrSet = res.getFloat("ChargeCurrSet");
|
}
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/***********************************************************************************/
|
/**
|
* ¸ù¾ÝÖ¸¶¨µÄÉ豸id Ð޸ıí tb_fbs9100_setparam ÖеÄop_cmdÖµ
|
*/
|
public static void updateFbs9100SetParamCmd(MysqlConnPool con_pool, ArrayList<FBS9100_StatAndParam> al_param)
|
{
|
for(int n=0; n<al_param.size(); n++) {
|
FBS9100_StatAndParam param = al_param.get(n);
|
if((param.op_cmd == FBS9100_ComBase.CMD_StartAck)
|
|| (param.op_cmd == FBS9100_ComBase.CMD_StopAck)
|
|| (param.op_cmd == FBS9100_ComBase.CMD_SetDischargeParmAck))
|
{
|
String sql_str_base = Sql_Mysql.FBS9100SetParam_Table + " SET "
|
+ "dev_id=" + param.dev_id + ", "
|
+ "op_cmd=" + param.op_cmd + ", "
|
+ "TestCmd=" + param.m_FBS_DiscParam.test_cmd;
|
//String sql_str_update = "UPDATE " + sql_str_base;
|
String sql_str_replace = "REPLACE INTO " + sql_str_base;
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
sql.sqlMysqlExecute(sql_str_replace);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
|
param.m_FBS_DiscParam.op_cmd = param.op_cmd;
|
param.op_cmd = FBS9100_ComBase.CMD_NULL;
|
}
|
}
|
}
|
|
|
/**
|
* ¸ù¾ÝÖ¸¶¨µÄÉ豸id Ð޸ıí tb_fbs9100_setparam ÖеÄop_cmdÖµ
|
*/
|
public static void updateFbs9100SetParamCmdBydev_id(MysqlConnPool con_pool, FBS9100_StatAndParam param)
|
{
|
if((param.op_cmd == FBS9100_ComBase.CMD_StartAck)
|
|| (param.op_cmd == FBS9100_ComBase.CMD_StopAck)
|
|| (param.op_cmd == FBS9100_ComBase.CMD_SetDischargeParmAck))
|
{
|
String sql_str_base = Sql_Mysql.FBS9100SetParam_Table + " SET "
|
+ "dev_id=" + param.dev_id + ", "
|
+ "op_cmd=" + param.op_cmd + ", "
|
+ "TestCmd=" + param.m_FBS_DiscParam.test_cmd;
|
//String sql_str_update = "UPDATE " + sql_str_base;
|
String sql_str_replace = "REPLACE INTO " + sql_str_base;
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
sql.sqlMysqlExecute(sql_str_replace);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
|
param.m_FBS_DiscParam.op_cmd = param.op_cmd;
|
param.op_cmd = FBS9100_ComBase.CMD_NULL;
|
}
|
}
|
|
/***********************************************************************************/
|
/**
|
* ¸ù¾Ý Êý×éÖеÄÖµÐÞ¸Ätb_fbs9100_setparam±íÖÐÖ¸¶¨É豸µÄÐÅÏ¢
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void updateFbs9100SetParam(MysqlConnPool con_pool, ArrayList<FBS9100_StatAndParam> al_param)
|
{
|
for(int n=0; n<al_param.size(); n++)
|
{
|
FBS9100_StatAndParam param = al_param.get(n);
|
if(param.op_cmd == FBS9100_ComBase.CMD_GetDischargeParmAck)
|
{
|
String sql_str_base = Sql_Mysql.FBS9100SetParam_Table
|
+ " SET "
|
+ "dev_id=" + param.dev_id + ", "
|
+ "op_cmd=" + FBS9100_ComBase.CMD_GetDischargeParmAck + ", "
|
+ "TestCmd=" + param.m_FBS_DiscParam.test_cmd + ", "
|
+ "HourRate=" + param.m_FBS_DiscParamFromDev.HourRate + ", "
|
+ "DisCurr=" + param.m_FBS_DiscParamFromDev.DisCurr + ", "
|
+ "DisCap=" + param.m_FBS_DiscParamFromDev.DisCap + ", "
|
+ "DisTime=" + param.m_FBS_DiscParamFromDev.DisTime + ", "
|
+ "GroupVol_LOW=" + param.m_FBS_DiscParamFromDev.GroupVol_LOW + ", "
|
+ "MonomerVol_LOW=" + param.m_FBS_DiscParamFromDev.MonomerVol_LOW + ", "
|
+ "MonomerLowCount=" + param.m_FBS_DiscParamFromDev.MonomerLowCount + ", "
|
+ "BattGroupNum=" + param.m_FBS_DiscParamFromDev.BattGroupNum + ", "
|
+ "OnlineVolLowAction=" + param.m_FBS_DiscParamFromDev.OnlineVolLowAction + ", "
|
+ "DCVolHighLimit=" + param.m_FBS_DiscParamFromDev.DCVolHighLimit + ", "
|
+ "ChargeCurrSet=" + param.m_FBS_DiscParamFromDev.ChargeCurrSet;
|
//+ " WHERE dev_id=" + param.dev_id;
|
//String sql_str_update = "UPDATE " + sql_str_base;
|
String sql_str_replace = "REPLACE INTO " + sql_str_base;
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
//System.out.println(sql_str_replace);
|
sql.sqlMysqlExecute(sql_str_replace);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
|
param.m_FBS_DiscParam.op_cmd = FBS9100_ComBase.CMD_GetDischargeParmAck;
|
param.op_cmd = FBS9100_ComBase.CMD_NULL;
|
}
|
}
|
}
|
|
/**
|
* ¸ù¾Ý Ö¸¶¨¶ÔÏóµÄÉ豸idÐÞ¸Ätb_fbs9100_setparam±íÖÐÖ¸¶¨É豸µÄÐÅÏ¢
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void updateFbs9100SetParamBydev_id(MysqlConnPool con_pool, FBS9100_StatAndParam param)
|
{
|
if(param.op_cmd == FBS9100_ComBase.CMD_GetDischargeParmAck)
|
{
|
String sql_str_base = Sql_Mysql.FBS9100SetParam_Table
|
+ " SET "
|
+ "dev_id=" + param.dev_id + ", "
|
+ "op_cmd=" + FBS9100_ComBase.CMD_GetDischargeParmAck + ", "
|
+ "TestCmd=" + param.m_FBS_DiscParam.test_cmd + ", "
|
+ "HourRate=" + param.m_FBS_DiscParamFromDev.HourRate + ", "
|
+ "DisCurr=" + param.m_FBS_DiscParamFromDev.DisCurr + ", "
|
+ "DisCap=" + param.m_FBS_DiscParamFromDev.DisCap + ", "
|
+ "DisTime=" + param.m_FBS_DiscParamFromDev.DisTime + ", "
|
+ "GroupVol_LOW=" + param.m_FBS_DiscParamFromDev.GroupVol_LOW + ", "
|
+ "MonomerVol_LOW=" + param.m_FBS_DiscParamFromDev.MonomerVol_LOW + ", "
|
+ "MonomerLowCount=" + param.m_FBS_DiscParamFromDev.MonomerLowCount + ", "
|
+ "BattGroupNum=" + param.m_FBS_DiscParamFromDev.BattGroupNum + ", "
|
+ "OnlineVolLowAction=" + param.m_FBS_DiscParamFromDev.OnlineVolLowAction + ", "
|
+ "DCVolHighLimit=" + param.m_FBS_DiscParamFromDev.DCVolHighLimit + ", "
|
+ "ChargeCurrSet=" + param.m_FBS_DiscParamFromDev.ChargeCurrSet;
|
//String sql_str_update = "UPDATE " + sql_str_base;
|
String sql_str_replace = "REPLACE INTO " + sql_str_base;
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
//System.out.println(sql_str_replace);
|
sql.sqlMysqlExecute(sql_str_replace);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
|
param.m_FBS_DiscParam.op_cmd = FBS9100_ComBase.CMD_GetDischargeParmAck;
|
param.op_cmd = FBS9100_ComBase.CMD_NULL;
|
}
|
}
|
/***********************************************************************************/
|
public static void updateBattState_RT_RamDB_Table(MysqlConnPool conn_pool, ArrayList<BattData_RT> bd_al)
|
{
|
Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
|
try
|
{
|
String sql_str = "UPDATE " + Sql_Mysql.BattRtState_Table
|
+ " SET "
|
+ " rec_datetime='" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "',";
|
|
sql_str += " batt_count = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.MonCount;
|
}
|
|
sql_str += " END, " + " online_vol = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getOnlineVol();
|
}
|
|
sql_str += " END, " + " group_vol = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getGroupVol();
|
}
|
|
sql_str += " END, " + " group_tmp = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getGroupTmp();
|
}
|
|
sql_str += " END, " + " group_curr = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getTestCurr();
|
}
|
|
sql_str += " END, " + " batt_state = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getBattState();
|
}
|
|
sql_str += " END, " + " batt_test_type = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getBattTestType();
|
}
|
|
sql_str += " END, " + " batt_test_starttime = CASE BattGroupId ";
|
Date dt = new Date();
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
dt.setTime(brt.getTestStartTime());
|
sql_str += " WHEN " + brt.BattGroupId + " THEN '" + Com.getDateTimeFormat(dt, Com.DTF_YMDhms) + "'";
|
}
|
|
sql_str += " END, " + " batt_test_recordtime = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
dt.setTime(brt.getTestRecordTime());
|
sql_str += " WHEN " + brt.BattGroupId + " THEN '" + Com.getDateTimeFormat(dt, Com.DTF_YMDhms) + "'";
|
}
|
|
sql_str += " END, " + " batt_test_tlong = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getTestTimeLong();
|
}
|
|
sql_str += " END, " + " batt_test_cap = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getTestCap();
|
}
|
|
sql_str += " END, " + " batt_real_cap = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getBattRealCap();
|
}
|
|
sql_str += " END, " + " batt_rest_cap = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getBattRestCap();
|
}
|
|
sql_str += " END, " + " batt_rest_power1_time = CASE BattGroupId ";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
sql_str += " WHEN " + brt.BattGroupId + " THEN " + brt.getBattRestTime();
|
}
|
|
sql_str += " END WHERE BattGroupId IN (";
|
for(int n=0; n<bd_al.size(); n++) {
|
BattData_RT brt = bd_al.get(n);
|
if(n > 0) {
|
sql_str += ",";
|
}
|
sql_str += brt.BattGroupId;
|
}
|
sql_str += ")";
|
System.out.println(sql_str);
|
sql.sqlMysqlExecute(sql_str);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
/************************************************************************************************/
|
/***********************************************************************************/
|
public static void insertFBSDevStatChangeInfToTable(MysqlConnPool conn_pool, int fbsdev_id, int last_stat,
|
int now_stat, int stat_change_reason)
|
{
|
Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
|
try
|
{
|
String sql_str = "INSERT INTO " + Sql_Mysql.FBSDevStateChangeInf_Table
|
+ " (dev_id,rec_time,last_stat,now_stat,state_change_reason) "
|
+ " VALUES (" +
|
+ fbsdev_id + ","
|
+ "'" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "',"
|
+ last_stat + ","
|
+ now_stat + ","
|
+ stat_change_reason + ")";
|
|
//System.out.println(sql_str);
|
sql.sqlMysqlExecute(sql_str);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
/************************************************************************************************/
|
}
|