蓄电池监控管理平台数据库初始化程序
DELL
2024-12-07 1d04bea0deadc20a07599d15ee96559665ffe60a
添加乌东德数据库初始化提交
3个文件已删除
10个文件已添加
5个文件已修改
3292 ■■■■ 已修改文件
BattMonitor_DB_Builder/.classpath 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/config/AppParam$MonitorParam.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/config/AppParam.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/sql/util/Db_Alarm.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/sql/util/Db_Batt.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/sql/util/Db_Dis_Batt.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/sql/util/Db_Param.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/lib/log4j-api-2.15.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/lib/log4j-core-2.15.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/config/AppConfig.java 919 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/config/AppParam.java 458 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/MysqlConnPool.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/Sql_Mysql.java 1328 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/util/Db_Alarm.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/util/Db_Batt.java 240 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/util/Db_Dis_Batt.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/util/Db_Param.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/.classpath
@@ -21,5 +21,7 @@
    <classpathentry kind="lib" path="lib/spring-core-2.5.5.jar"/>
    <classpathentry kind="lib" path="lib/sqljdbc4.jar"/>
    <classpathentry kind="lib" path="lib/HgdbJdbc-6.2.4.jar"/>
    <classpathentry kind="lib" path="lib/log4j-api-2.15.0.jar"/>
    <classpathentry kind="lib" path="lib/log4j-core-2.15.0.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>
BattMonitor_DB_Builder/bin/com/config/AppParam$MonitorParam.class
Binary files differ
BattMonitor_DB_Builder/bin/com/config/AppParam.class
Binary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_Alarm.class
Binary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_Batt.class
Binary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_Dis_Batt.class
Binary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_Param.class
Binary files differ
BattMonitor_DB_Builder/lib/log4j-api-2.15.0.jar
Binary files differ
BattMonitor_DB_Builder/lib/log4j-core-2.15.0.jar
Binary files differ
BattMonitor_DB_Builder/src/com/config/AppConfig.java
@@ -1,7 +1,6 @@
package com.config;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@@ -15,75 +14,45 @@
import org.dom4j.io.XMLWriter;
/**
 * 创建config.xml文件并更新  config.xml 文件中的属性值
 *
 * @author 军
 *
 */
public class AppConfig {
    
    public static final int SOURCE_BATTDATA_TYPE_FBSDEV = 0;
    public static final int SOURCE_BATTDATA_TYPE_SQLSERVER = 1;
    public static final int SOURCE_BATTDATA_TYPE_C_INTERFACE = 2;
    public static final int SOURCE_BATTDATA_TYPE_SQLSERVER_AND_C_INTERFACE = 3;
    private final String ConfigFileName = "config.xml";
    
    private boolean mysqlDB_RecreateEn = false;
    private String mysqlServerIp = "127.0.0.1";
    private int sqlServerType = 1;                    //连接数据库类型  1-MySQL 2-瀚高
    private String sqlServerIp = "127.0.0.1";        //数据库IP地址
    private int sqlServerPort = 5866;                //数据库端口号
    private int sqlConnCountMax = 200;                //数据库连接池数量
    private int workThreadCountMax = 300;            //
    private boolean battTestStateReloadEn = true;    //电池测试数据重载-若程序重启前正在测试,后续是否接着记录历史数据,默认连续
    
    private int sourceBattDataType = 0;
    private int powerAcceptPort = 9000;                //电源通信端口
    //----------------------------------------------------------------//
    private int sourceSQLServerType = 0;
    private String sourceSQLServerIp = "127.0.0.1";
    private String sourceSQLServerUsrName = "sxfg001";
    private String sourceSQLServerPWD = "sxfg001";
    private int sourceSQLServerPort = 5000;
    private String cInterfaceServerIp = "127.0.0.1";
    private String cInterfaceUsrName = "cdnt";
    private String cInterfacePWD = "cdnt";
    private int cInterfaceSocketPort = 7009;
    private String fbsDeviceBaseIp = "192.168.0.1";
    private int discharge_SaveDataTimeInterval        = 10;                //放电测试数据存储间隔
    private float discharge_MonVolChangeLevel        = 0.05F;            //放电单体电压变化阈值(单体电压变化差值>0.05F即记录一笔测试数据)
    private int discharge_TestTimeLongMinimum        = 30;                //记录放电测试的最短时间
    private int discharge_TestDataRecordCountMax     = 15000;            //放电测试最大笔数
    private int discharge_BattTestGroupCountMax        = 100;                //同时记录测试的电池组数量
    //----------------------------------------------------------------//
    //----------------------------------------------------------------//
    private boolean sybSrvCurrChargeDirPos = false;
    public int charge_SaveDataTimeInterval             = 10;                //充电测试数据存储间隔
    public float charge_MonVolChangeLevel             = 0.05F;            //充电单体电压变化阈值(单体电压变化差值>0.05F即记录一笔测试数据)
    public int charge_TestTimeLongMinimum             = 30;                //记录充电测试的最短时间
    public int charge_TestDataRecordCountMax         = 15000;            //充电测试最大笔数
    public int charge_BattTestGroupCountMax         = 100;                //同时记录测试的电池组数量
    //----------------------------------------------------------------//
    
    private int mysqlConnCountMax = 300;
    private int workThreadCountMax = 300;
    private boolean battAlarmFnEn = false;
    private int battAlarmFnStartDelay = 60;
    private int battAlarmClearedDelay = 600;
    private int battAlarmDataDayCountMax = 400;
    private boolean battResStoreFnEn = false;
    private int battResStoreDelayForTestManual = 1200;
    private int battResStoreDayInterval = 7;
    private boolean battAutoStoreFnEn = false;
    private int battAutoStoreDelayForStartUp = 60;
    private int battAutoStoreMinuteInterval = 10;
    private int battAutoStoreDayCountMax = 7;
    private boolean userTaskFnEn = true;
    private boolean userTaskSmsFnEn = false;
    private String userTaskSmsDevIp = "192.168.1.60";
    private boolean idce8200ServerFnEn = false;
    private boolean mobileServerFnEn = true;
    private boolean ftpServerFnEn = true;
    private int autoSqlDbBackUpDayInterval = 30;
    private boolean bpm7100CommErrDataClearEN = true;
    private int fbsDevCommRate = 1;
    private boolean DevBTS_SeverComm_En = true;
    private boolean DevFBS9100_SeverComm_En = true;
    private boolean DevFBS9100_ClientComm_En = true;
    private boolean RealDataRecord_fn_En = false;                    //历史实时数据记录使能
    private int RealDataRecord_MinTimeLong = 60;                    //实时数据最短记录间隔(秒)
    private int RealDataRecord_MaxSaveTime = 90;                    //实时数据最短保留天数
    
    public AppConfig()
    {    /*
    {
        /*
        String path = System.getProperty("user.dir");
        if(path.contains("\\"))
            path += "\\";
@@ -99,179 +68,132 @@
        
        readConfigFromXml();
    }
    public boolean getMysqlDB_RecreateEn()
    {
        return mysqlDB_RecreateEn;
    }
    public void setMysqlDB_RecreateEn(boolean en)
    {
        mysqlDB_RecreateEn = en;
    public void copyAppParam(AppConfig config) {
        this.sqlServerIp = config.sqlServerIp;                            //数据库IP地址
        this.sqlServerPort = config.sqlServerPort;                        //数据库端口号
        this.sqlConnCountMax = config.sqlConnCountMax;                    //数据库连接池数量
        this.workThreadCountMax = config.workThreadCountMax;            //
        //----------------------------------------------------------------//
        this.discharge_SaveDataTimeInterval        = config.discharge_SaveDataTimeInterval;        //放电测试数据存储间隔
        this.discharge_MonVolChangeLevel        = config.discharge_MonVolChangeLevel;            //放电单体电压变化阈值(单体电压变化差值>0.05F即记录一笔测试数据)
        this.discharge_TestTimeLongMinimum        = config.discharge_TestTimeLongMinimum;            //记录放电测试的最短时间
        this.discharge_TestDataRecordCountMax     = config.discharge_TestDataRecordCountMax;        //放电测试最大笔数
        this.discharge_BattTestGroupCountMax     = config.discharge_BattTestGroupCountMax;        //同时记录测试的电池组数量
        //----------------------------------------------------------------//
        //----------------------------------------------------------------//
        this.charge_SaveDataTimeInterval         = config.charge_SaveDataTimeInterval;        //充电测试数据存储间隔
        this.charge_MonVolChangeLevel             = config.charge_MonVolChangeLevel;            //充电单体电压变化阈值(单体电压变化差值>0.05F即记录一笔测试数据)
        this.charge_TestTimeLongMinimum         = config.charge_TestTimeLongMinimum;        //记录充电测试的最短时间
        this.charge_TestDataRecordCountMax         = config.charge_TestDataRecordCountMax;        //充电测试最大笔数
        this.charge_BattTestGroupCountMax         = config.charge_BattTestGroupCountMax;        //同时记录测试的电池组数量
        //----------------------------------------------------------------//
        this.RealDataRecord_fn_En = config.RealDataRecord_fn_En;                            //历史实时数据记录使能
        this.RealDataRecord_MinTimeLong = config.RealDataRecord_MinTimeLong;                //实时数据最短记录间隔(秒)
        this.RealDataRecord_MaxSaveTime = config.RealDataRecord_MaxSaveTime;                //实时数据最短保留天数
    }
    
    public String getMysqlServerIp()
    {
        return mysqlServerIp;
    }
    
    public String getSourceSQLServerIp()
    {
        return sourceSQLServerIp;
    public boolean isRealDataRecord_fn_En() {
        return RealDataRecord_fn_En;
    }
    public String getSourceSQLServerUsrName()
    {
        return sourceSQLServerUsrName;
    public int getRealDataRecord_MinTimeLong() {
        return RealDataRecord_MinTimeLong;
    }
    public String getSourceSQLServerPWD()
    {
        return sourceSQLServerPWD;
    public int getRealDataRecord_MaxSaveTime() {
        return RealDataRecord_MaxSaveTime;
    }
    public int getSourceSQLServerPort()
    {
        return sourceSQLServerPort;
    public void setRealDataRecord_fn_En(boolean realDataRecord_fn_En) {
        RealDataRecord_fn_En = realDataRecord_fn_En;
    }
    public String getCInterfaceServerIp()
    {
        return cInterfaceServerIp;
    public void setRealDataRecord_MinTimeLong(int realDataRecord_MinTimeLong) {
        RealDataRecord_MinTimeLong = realDataRecord_MinTimeLong;
    }
    public String getCInterfaceUsrName()
    {
        return cInterfaceUsrName;
    public void setRealDataRecord_MaxSaveTime(int realDataRecord_MaxSaveTime) {
        RealDataRecord_MaxSaveTime = realDataRecord_MaxSaveTime;
    }
    public String getCInterfacePWD()
    {
        return cInterfacePWD;
    }
    public int getCInterfacePort()
    {
        return cInterfaceSocketPort;
    }
    public String getFbsDeviceBaseIp()
    {
        return fbsDeviceBaseIp;
    }
    public int getSourceSQLServerType()
    {
        return sourceSQLServerType;
    }
    public int getSourceBattDataType()
    {
        return sourceBattDataType;
    }
    public boolean getSybSrvCurrChargeDirPos()
    {
        return sybSrvCurrChargeDirPos;
    }
    public int getMysqlConnCountMax()
    {
        return mysqlConnCountMax;
    }
    public int getWorkThreadCountMax()
    {
    public int getWorkThreadCountMax() {
        return workThreadCountMax;
    }
    public boolean getBattAlarmFnEn()
    {
        return battAlarmFnEn;
    public int getSaveDataTimeInterval(int type) {
        int val = 0;
        switch (type) {
        case 0:
            val = this.discharge_SaveDataTimeInterval;
            break;
        case 1:
            val = this.charge_SaveDataTimeInterval;
            break;
        }
        return val;
    }
    public float getMonVolChangeLevel(int type) {
        float val = 0.0F;
        switch (type) {
        case 0:
            val = this.discharge_MonVolChangeLevel;
            break;
        case 1:
            val = this.charge_MonVolChangeLevel;
            break;
        }
        return val;
    }
    public int getTestTimeLongMinimum(int type) {
        int val = 0;
        switch (type) {
            case 0:
                val = this.discharge_TestTimeLongMinimum;
                break;
            case 1:
                val = this.charge_TestTimeLongMinimum;
                break;
        }
        return val;
    }
    public int getTestDataRecordCountMax(int type) {
        int val = 0;
        switch (type) {
        case 0:
            val = this.discharge_TestDataRecordCountMax;
            break;
        case 1:
            val = this.charge_TestDataRecordCountMax;
            break;
        }
        return val;
    }
    public int getBattTestGroupCountMax(int type) {
        int val = 0;
        switch (type) {
        case 0:
            val = this.discharge_BattTestGroupCountMax;
            break;
        case 1:
            val = this.charge_BattTestGroupCountMax;
            break;
        }
        return val;
    }
    
    public int getBattAlarmFnStartDelay()
    {
        return battAlarmFnStartDelay;
    }
    public int getBattAlarmClearedDelay()
    {
        return battAlarmClearedDelay;
    }
    public int getBattAlarmDataDayCountMax()
    {
        return battAlarmDataDayCountMax;
    }
    public boolean getBattResStoreFnEn()
    {
        return battResStoreFnEn;
    }
    public int getBattResStoreDelayForTestManual()
    {
        return battResStoreDelayForTestManual;
    }
    public int getBattResStoreDayInterval()
    {
        return battResStoreDayInterval;
    }
    public boolean getBattAutoStoreFnEn()
    {
        return battAutoStoreFnEn;
    }
    public int getBattAutoStoreDelayForStartUp()
    {
        return battAutoStoreDelayForStartUp;
    }
    public int getBattAutoStoreMinuteInterval()
    {
        return battAutoStoreMinuteInterval;
    }
    public int getBattAutoStoreDayCountMax()
    {
        return battAutoStoreDayCountMax;
    }
    public boolean getUserTaskFnEn()
    {
        return userTaskFnEn;
    }
    public boolean getUserTaskSmsFnEn()
    {
        return userTaskSmsFnEn;
    }
    public String getUserTaskSmsDevIp()
    {
        return userTaskSmsDevIp;
    }
    public boolean getIdce8200ServerFnEn()
    {
        return idce8200ServerFnEn;
    }
    public boolean getMobileServerFnEn()
    {
        return mobileServerFnEn;
    }
    public boolean getFtpServerFnEn()
    {
        return ftpServerFnEn;
    }
    public int getAutoSqlDbBackUpDayInterval() {
        return autoSqlDbBackUpDayInterval;
    }
    public boolean getBpm7100CommErrDataClearEN() {
        return bpm7100CommErrDataClearEN;
    }
    public int getFbsDevCommRate() {
        return fbsDevCommRate;
    }
    public boolean getBTS_CommEn() {
        return DevBTS_SeverComm_En;
    }
    public boolean getFbs9100_ServerCommEn() {
        return DevFBS9100_SeverComm_En;
    }
    public boolean getFbs9100_ClientCommEn() {
        return DevFBS9100_ClientComm_En;
    }
    
    public void writeConfigToXml()
    {
@@ -284,173 +206,80 @@
            Element sub_param;
            
            //-------------------------------------------------------//
            param = root.addElement("mysql_ramdb_recreate_en");
            param.addText(String.valueOf(mysqlDB_RecreateEn));
            //-------------------------------------------------------//
            param = root.addElement("mysql_server_ip");
            param.addText(mysqlServerIp);
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            root.addComment("SOURCE_BATTDATA_TYPE_FBSDEV = 0");
            root.addComment("SOURCE_BATTDATA_TYPE_SQLSERVER = 1");
            root.addComment("SOURCE_BATTDATA_TYPE_C_INTERFACE = 2");
            root.addComment("SOURCE_BATTDATA_TYPE_SQLSERVER_AND_C_INTERFACE = 3");
            param = root.addElement("source_battdata_type");
            param.addText(String.valueOf(sourceBattDataType));
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            param = root.addElement("source_sqlserver_config");
            param.addComment("SOURCE_SQLSERVER_TYPE_SYBASE_DEMO = 0");
            param.addComment("SOURCE_SQLSERVER_TYPE_SYBASE = 1");
            param.addComment("SOURCE_SQLSERVER_TYPE_MSSQLSERVER = 2");
            sub_param = param.addElement("source_sqlserver_type");
            sub_param.addText(String.valueOf(sourceSQLServerType));
            sub_param = param.addElement("source_sqlserver_ip");
            sub_param.addText(sourceSQLServerIp);
            sub_param = param.addElement("source_sqlserver_usrname");
            sub_param.addText(sourceSQLServerUsrName);
            sub_param = param.addElement("source_sqlserver_pwd");
            sub_param.addText(sourceSQLServerPWD);
            sub_param = param.addElement("source_sqlserver_port");
            sub_param.addText(String.valueOf(sourceSQLServerPort));
            //-------------------------------------------------------//
            //--------------------------------------------------------//
            param = root.addElement("c_interface_server_config");
            sub_param = param.addElement("c_interface_server_ip");
            sub_param.addText(cInterfaceServerIp);
            sub_param = param.addElement("c_interface_usrname");
            sub_param.addText(cInterfaceUsrName);
            sub_param = param.addElement("c_interface_pwd");
            sub_param.addText(cInterfacePWD);
            sub_param = param.addElement("c_interface_sokcet_port");
            sub_param.addText(String.valueOf(cInterfaceSocketPort));
            //--------------------------------------------------------//
            //--------------------------------------------------------//
            param = root.addElement("fbs_device_base_ip");
            param.addText(fbsDeviceBaseIp);
            //--------------------------------------------------------//
            param = root.addElement("syb_srv_curr_charge_dir_pos");
            param.addText(String.valueOf(sybSrvCurrChargeDirPos));
            param = root.addElement("mysql_conn_count_max");
            param.addText(String.valueOf(mysqlConnCountMax));
            param = root.addElement("work_thread_count_max");
            param = root.addElement("sql_server_type");
            param.addText(String.valueOf(sqlServerType));
            param = root.addElement("sql_server_ip");
            param.addText(sqlServerIp);
            param = root.addElement("sql_server_port");
            param.addText(String.valueOf(sqlServerPort));
            param = root.addElement("sql_conncount_max");
            param.addText(String.valueOf(sqlConnCountMax));
            param = root.addElement("workThreadCountMax");
            param.addText(String.valueOf(workThreadCountMax));
            
            //--------------------------------------------------------//
            param = root.addElement("batt_alarm_fn_config");
            param = root.addElement("battTestStateReloadEn");
            param.addText(String.valueOf(battTestStateReloadEn));
            
            sub_param = param.addElement("batt_alarm_fn_en");
            sub_param.addText(String.valueOf(battAlarmFnEn));
            sub_param = param.addElement("batt_alarm_fn_start_delay");
            sub_param.addText(String.valueOf(battAlarmFnStartDelay));
            sub_param = param.addElement("batt_alarm_cleared_delay");
            sub_param.addText(String.valueOf(battAlarmClearedDelay));
            sub_param = param.addElement("batt_alarm_data_daycount_max");
            sub_param.addText(String.valueOf(battAlarmDataDayCountMax));
            param = root.addElement("powerAcceptPort");
            param.addText(String.valueOf(powerAcceptPort));
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            param = root.addElement("discharge_test_config");            //放电测试
//            param.addComment("SOURCE_SQLSERVER_TYPE_SYBASE_DEMO = 0");  注释
//            param.addComment("SOURCE_SQLSERVER_TYPE_SYBASE = 1");             注释
//            param.addComment("SOURCE_SQLSERVER_TYPE_MSSQLSERVER = 2");  注释
            sub_param = param.addElement("discharge_SaveDataTimeInterval");
            sub_param.addText(String.valueOf(discharge_SaveDataTimeInterval));
            sub_param = param.addElement("discharge_MonVolChangeLevel");
            sub_param.addText(String.valueOf(discharge_MonVolChangeLevel));
            sub_param = param.addElement("discharge_TestTimeLongMinimum");
            sub_param.addText(String.valueOf(discharge_TestTimeLongMinimum));
            sub_param = param.addElement("discharge_TestDataRecordCountMax");
            sub_param.addText(String.valueOf(discharge_TestDataRecordCountMax));
            sub_param = param.addElement("discharge_BattTestGroupCountMax");
            sub_param.addText(String.valueOf(discharge_BattTestGroupCountMax));
            //-------------------------------------------------------//
            //--------------------------------------------------------//
            param = root.addElement("chrcharge_test_config");
            sub_param = param.addElement("charge_SaveDataTimeInterval");
            sub_param.addText(String.valueOf(charge_SaveDataTimeInterval));
            sub_param = param.addElement("charge_MonVolChangeLevel");
            sub_param.addText(String.valueOf(charge_MonVolChangeLevel));
            sub_param = param.addElement("charge_TestTimeLongMinimum");
            sub_param.addText(String.valueOf(charge_TestTimeLongMinimum));
            sub_param = param.addElement("charge_TestDataRecordCountMax");
            sub_param.addText(String.valueOf(charge_TestDataRecordCountMax));
            sub_param = param.addElement("charge_BattTestGroupCountMax");
            sub_param.addText(String.valueOf(charge_BattTestGroupCountMax));
            //--------------------------------------------------------//
            
            //--------------------------------------------------------//
            param = root.addElement("batt_res_store_fn_config");
            sub_param = param.addElement("batt_res_store_fn_en");
            sub_param.addText(String.valueOf(battResStoreFnEn));
            sub_param = param.addElement("batt_res_store_delay_for_test_manual");
            sub_param.addText(String.valueOf(battResStoreDelayForTestManual));
            sub_param = param.addElement("batt_res_store_day_interval");
            sub_param.addText(String.valueOf(battResStoreDayInterval));
            //-------------------------------------------------------//
            //--------------------------------------------------------//
            //--------------------------------------------------------//
            param = root.addElement("batt_auto_store_fn_config");
            sub_param = param.addElement("batt_auto_store_fn_en");
            sub_param.addText(String.valueOf(battAutoStoreFnEn));
            param = root.addElement("realdatarecord_fn_cofig");
            sub_param = param.addElement("realdatarecord_fn_en");
            sub_param.addText(String.valueOf(RealDataRecord_fn_En));
            
            sub_param = param.addElement("batt_auto_store_delay_for_start_up");
            sub_param.addText(String.valueOf(battAutoStoreDelayForStartUp));
            sub_param = param.addElement("realdatarecord_mintimelong");
            sub_param.addText(String.valueOf(RealDataRecord_MinTimeLong));
            
            sub_param = param.addElement("batt_auto_store_minute_interval");
            sub_param.addText(String.valueOf(battAutoStoreMinuteInterval));
            sub_param = param.addElement("batt_auto_store_day_count_max");
            sub_param.addText(String.valueOf(battAutoStoreDayCountMax));
            //--------------------------------------------------------//
            //--------------------------------------------------------//
            param = root.addElement("user_task_fn_config");
            sub_param = param.addElement("user_task_fn_en");
            sub_param.addText(String.valueOf(userTaskFnEn));
            sub_param = param.addElement("user_task_sms_fn_en");
            sub_param.addText(String.valueOf(userTaskSmsFnEn));
            sub_param = param.addElement("user_task_sms_dev_ip");
            sub_param.addText(userTaskSmsDevIp);
            //--------------------------------------------------------//
            //--------------------------------------------------------//
            param = root.addElement("idce8200_server_fn_config");
            param.addText(String.valueOf(idce8200ServerFnEn));
            param = root.addElement("mobile_server_fn_config");
            param.addText(String.valueOf(mobileServerFnEn));
            param = root.addElement("ftp_server_fn_config");
            param.addText(String.valueOf(ftpServerFnEn));
            //--------------------------------------------------------//
            //-------------------------------------------------------//
            param = root.addElement("auto_sqldb_backup_dayinterval");
            param.addText(String.valueOf(autoSqlDbBackUpDayInterval));
            //-------------------------------------------------------//
            sub_param = param.addElement("realdatarecord_maxsavetime");
            sub_param.addText(String.valueOf(RealDataRecord_MaxSaveTime));
            
            //-------------------------------------------------------//
            param = root.addElement("bpm7100_commerr_dataclear_en");
            param.addText(String.valueOf(bpm7100CommErrDataClearEN));
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            param = root.addElement("fbsdev_comm_rate");
            param.addText(String.valueOf(fbsDevCommRate));
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            param = root.addElement("dev_bts_severcomm_en");
            param.addText(String.valueOf(DevBTS_SeverComm_En));
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            param = root.addElement("devfbs9100_severcomm_en");
            param.addText(String.valueOf(DevFBS9100_SeverComm_En));
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            param = root.addElement("devfbs9100_clientcomm_en");
            param.addText(String.valueOf(DevFBS9100_ClientComm_En));
            //-------------------------------------------------------//
            //--------------------------------------------------------//
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("gbk");
            XMLWriter writer2 = new XMLWriter(new FileWriter(ConfigFileName), format);
@@ -476,213 +305,91 @@
            Element sub_node;
            
            //------------------------------------------------------------//
            node = rootnode.element("mysql_ramdb_recreate_en");
            mysqlDB_RecreateEn = Boolean.parseBoolean(node.getTextTrim());
            node = rootnode.element("sql_server_type");
            sqlServerType = Integer.parseInt(node.getTextTrim());
            //------------------------------------------------------------//
            node = rootnode.element("mysql_server_ip");
            mysqlServerIp = node.getTextTrim();
            node = rootnode.element("sql_server_ip");
            sqlServerIp = node.getTextTrim();
            //------------------------------------------------------------//
            node = rootnode.element("source_battdata_type");
            sourceBattDataType = Integer.parseInt(node.getTextTrim());
            if(sourceBattDataType < 0)
                sourceBattDataType = 0;
            if(sourceBattDataType > 3)
                sourceBattDataType = 3;
            node = rootnode.element("sql_server_port");
            sqlServerPort = Integer.parseInt(node.getTextTrim());
            //------------------------------------------------------------//
            node = rootnode.element("source_sqlserver_config");
            node = rootnode.element("sql_conncount_max");
            sqlConnCountMax = Integer.parseInt(node.getTextTrim());
            
            sub_node = node.element("source_sqlserver_type");
            sourceSQLServerType = Integer.parseInt(sub_node.getTextTrim());
            sub_node = node.element("source_sqlserver_ip");
            sourceSQLServerIp = sub_node.getTextTrim();
            sub_node = node.element("source_sqlserver_usrname");
            sourceSQLServerUsrName = sub_node.getTextTrim();
            sub_node = node.element("source_sqlserver_pwd");
            sourceSQLServerPWD = sub_node.getTextTrim();
            sub_node = node.element("source_sqlserver_port");
            sourceSQLServerPort = Integer.parseInt(sub_node.getTextTrim());
            if(sqlConnCountMax < 10)
                sqlConnCountMax = 10;
            if(sqlConnCountMax > 1000)
                sqlConnCountMax = 800;
            //------------------------------------------------------------//
            //------------------------------------------------------------//
            node = rootnode.element("c_interface_server_config");
            sub_node = node.element("c_interface_server_ip");
            cInterfaceServerIp = sub_node.getTextTrim();
            sub_node = node.element("c_interface_usrname");
            cInterfaceUsrName = sub_node.getTextTrim();
            sub_node = node.element("c_interface_pwd");
            cInterfacePWD = sub_node.getTextTrim();
            sub_node = node.element("c_interface_sokcet_port");
            cInterfaceSocketPort = Integer.parseInt(sub_node.getTextTrim());
            //------------------------------------------------------------//
            //------------------------------------------------------------//
            node = rootnode.element("fbs_device_base_ip");
            fbsDeviceBaseIp = node.getTextTrim();
            //------------------------------------------------------------//
            node = rootnode.element("syb_srv_curr_charge_dir_pos");
            sybSrvCurrChargeDirPos = Boolean.parseBoolean(node.getTextTrim());
            node = rootnode.element("mysql_conn_count_max");
            mysqlConnCountMax = Integer.parseInt(node.getTextTrim());
            if(mysqlConnCountMax < 5)
                mysqlConnCountMax = 5;
            if(mysqlConnCountMax > 400)
                mysqlConnCountMax = 400;
            node = rootnode.element("work_thread_count_max");
            node = rootnode.element("workThreadCountMax");
            workThreadCountMax = Integer.parseInt(node.getTextTrim());
            
/*            if(workThreadCountMax < 10)
            if(workThreadCountMax < 10)
                workThreadCountMax = 10;
            if(workThreadCountMax > 400)
                workThreadCountMax = 400;*/
            if(workThreadCountMax > 20000)
                workThreadCountMax = 20000;
            //------------------------------------------------------------//
            node = rootnode.element("battTestStateReloadEn");
            battTestStateReloadEn = Boolean.parseBoolean(node.getTextTrim());
            //------------------------------------------------------------//
            node = rootnode.element("powerAcceptPort");
            powerAcceptPort = Integer.parseInt(node.getTextTrim());
            
            //-------------------------------------------------------//
            node = rootnode.element("batt_alarm_fn_config");
            sub_node = node.element("batt_alarm_fn_en");
            battAlarmFnEn = Boolean.parseBoolean(sub_node.getTextTrim());
            sub_node = node.element("batt_alarm_fn_start_delay");
            battAlarmFnStartDelay = Integer.parseInt(sub_node.getTextTrim());
            if(battAlarmFnStartDelay < 0)
                battAlarmFnStartDelay = 0;
            if(battAlarmFnStartDelay > 3600)
                battAlarmFnStartDelay = 3600;
            sub_node = node.element("batt_alarm_cleared_delay");
            battAlarmClearedDelay = Integer.parseInt(sub_node.getTextTrim());
            if(battAlarmClearedDelay < 0)
                battAlarmClearedDelay = 0;
            if(battAlarmClearedDelay > 3600)
                battAlarmClearedDelay = 3600;
            sub_node = node.element("batt_alarm_data_daycount_max");
            battAlarmDataDayCountMax = Integer.parseInt(sub_node.getTextTrim());
//            if(battAlarmDataDayCountMax < 7)
//                battAlarmDataDayCountMax = 7;
//            if(battAlarmDataDayCountMax > 2048)
//                battAlarmDataDayCountMax = 2048;
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            node = rootnode.element("batt_res_store_fn_config");
            sub_node = node.element("batt_res_store_fn_en");
            battResStoreFnEn = Boolean.parseBoolean(sub_node.getTextTrim());
            sub_node = node.element("batt_res_store_delay_for_test_manual");
            battResStoreDelayForTestManual = Integer.parseInt(sub_node.getTextTrim());
            if(battResStoreDelayForTestManual < 180)
                battResStoreDelayForTestManual = 180;
            if(battResStoreDelayForTestManual > 1800)
                battResStoreDelayForTestManual = 1800;
            sub_node = node.element("batt_res_store_day_interval");
            battResStoreDayInterval = Integer.parseInt(sub_node.getTextTrim());
            if(battResStoreDayInterval < 1)
                battResStoreDayInterval = 1;
            if(battResStoreDayInterval > 360)
                battResStoreDayInterval = 360;
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            node = rootnode.element("batt_auto_store_fn_config");
            sub_node = node.element("batt_auto_store_fn_en");
            battAutoStoreFnEn = Boolean.parseBoolean(sub_node.getTextTrim());
            sub_node = node.element("batt_auto_store_delay_for_start_up");
            battAutoStoreDelayForStartUp = Integer.parseInt(sub_node.getTextTrim());
            if(battAutoStoreDelayForStartUp < 180)
                battAutoStoreDelayForStartUp = 180;
            if(battAutoStoreDelayForStartUp > 3600)
                battAutoStoreDelayForStartUp = 3600;
            sub_node = node.element("batt_auto_store_minute_interval");
            battAutoStoreMinuteInterval = Integer.parseInt(sub_node.getTextTrim());
            if(battAutoStoreMinuteInterval < 10)
                battAutoStoreMinuteInterval = 10;
            if(battAutoStoreMinuteInterval > ((60*24)*30))
                battAutoStoreMinuteInterval = ((60*24)*30);
            sub_node = node.element("batt_auto_store_day_count_max");
            battAutoStoreDayCountMax = Integer.parseInt(sub_node.getTextTrim());
            if(battAutoStoreDayCountMax < 1)
                battAutoStoreDayCountMax = 1;
            if(battAutoStoreDayCountMax > 300)
                battAutoStoreDayCountMax = 300;
            //-------------------------------------------------------//
            //--------------------------------------------------------//
            node = rootnode.element("user_task_fn_config");
            sub_node = node.element("user_task_fn_en");
            userTaskFnEn = Boolean.parseBoolean(sub_node.getTextTrim());
            sub_node = node.element("user_task_sms_fn_en");
            userTaskSmsFnEn = Boolean.parseBoolean(sub_node.getTextTrim());
            sub_node = node.element("user_task_sms_dev_ip");
            userTaskSmsDevIp = sub_node.getTextTrim();
            //--------------------------------------------------------//
            //--------------------------------------------------------//
            node = rootnode.element("idce8200_server_fn_config");
            idce8200ServerFnEn = Boolean.parseBoolean(node.getTextTrim());
            node = rootnode.element("mobile_server_fn_config");
            mobileServerFnEn = Boolean.parseBoolean(node.getTextTrim());
            node = rootnode.element("ftp_server_fn_config");
            ftpServerFnEn = Boolean.parseBoolean(node.getTextTrim());
            //--------------------------------------------------------//
            //-------------------------------------------------------//
            node = rootnode.element("auto_sqldb_backup_dayinterval");
            autoSqlDbBackUpDayInterval = Integer.parseInt(node.getTextTrim());
            if(autoSqlDbBackUpDayInterval < 7) {
                autoSqlDbBackUpDayInterval = 7;
            if(powerAcceptPort < 1000) {
                powerAcceptPort = 9000;
            }
            if(autoSqlDbBackUpDayInterval > 365) {
                autoSqlDbBackUpDayInterval = 365;
            }
            //-------------------------------------------------------//
            //------------------------------------------------------------//
            
            //-------------------------------------------------------//
            node = rootnode.element("bpm7100_commerr_dataclear_en");
            bpm7100CommErrDataClearEN = Boolean.parseBoolean(node.getTextTrim());
            //-------------------------------------------------------//
            //------------------------------------------------------------//
            node = rootnode.element("discharge_test_config");
            
            //-------------------------------------------------------//
            node = rootnode.element("fbsdev_comm_rate");
            fbsDevCommRate = Integer.parseInt(node.getTextTrim());
            //-------------------------------------------------------//
            sub_node = node.element("discharge_SaveDataTimeInterval");
            discharge_SaveDataTimeInterval = Integer.parseInt(sub_node.getTextTrim());
            
            //-------------------------------------------------------//
            node = rootnode.element("dev_bts_severcomm_en");
            DevBTS_SeverComm_En = Boolean.parseBoolean(node.getTextTrim());
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            node = rootnode.element("devfbs9100_severcomm_en");
            DevFBS9100_SeverComm_En = Boolean.parseBoolean(node.getTextTrim());
            //-------------------------------------------------------//
            //-------------------------------------------------------//
            node = rootnode.element("devfbs9100_clientcomm_en");
            DevFBS9100_ClientComm_En = Boolean.parseBoolean(node.getTextTrim());
            //-------------------------------------------------------//
            sub_node = node.element("discharge_MonVolChangeLevel");
            discharge_MonVolChangeLevel = Float.parseFloat(sub_node.getTextTrim());
            sub_node = node.element("discharge_TestTimeLongMinimum");
            discharge_TestTimeLongMinimum = Integer.parseInt(sub_node.getTextTrim());
            sub_node = node.element("discharge_TestDataRecordCountMax");
            discharge_TestDataRecordCountMax = Integer.parseInt(sub_node.getTextTrim());
            sub_node = node.element("discharge_BattTestGroupCountMax");
            discharge_BattTestGroupCountMax = Integer.parseInt(sub_node.getTextTrim());
            //------------------------------------------------------------//
            //------------------------------------------------------------//
            node = rootnode.element("chrcharge_test_config");
            sub_node = node.element("charge_SaveDataTimeInterval");
            charge_SaveDataTimeInterval = Integer.parseInt(sub_node.getTextTrim());
            sub_node = node.element("charge_MonVolChangeLevel");
            charge_MonVolChangeLevel = Float.parseFloat(sub_node.getTextTrim());
            sub_node = node.element("charge_TestTimeLongMinimum");
            charge_TestTimeLongMinimum = Integer.parseInt(sub_node.getTextTrim());
            sub_node = node.element("charge_TestDataRecordCountMax");
            charge_TestDataRecordCountMax = Integer.parseInt(sub_node.getTextTrim());
            sub_node = node.element("charge_BattTestGroupCountMax");
            charge_BattTestGroupCountMax = Integer.parseInt(sub_node.getTextTrim());
            //------------------------------------------------------------//
            node = rootnode.element("realdatarecord_fn_cofig");
            sub_node = node.element("realdatarecord_fn_en");
            RealDataRecord_fn_En = Boolean.parseBoolean(sub_node.getTextTrim());
            sub_node = node.element("realdatarecord_mintimelong");
            RealDataRecord_MinTimeLong = Integer.parseInt(sub_node.getTextTrim());
           
            sub_node = node.element("realdatarecord_maxsavetime");
            RealDataRecord_MaxSaveTime = Integer.parseInt(sub_node.getTextTrim());
            //-------------------------------------------------------//
        } catch (NullPointerException | NumberFormatException | DocumentException e) {
            res = false;
            e.printStackTrace();
@@ -691,4 +398,82 @@
                writeConfigToXml();
        }
    }
    public int getSqlServerType() {
        return sqlServerType;
    }
    public void setSqlServerType(int sqlServerType) {
        this.sqlServerType = sqlServerType;
    }
    public String getSqlServerIp() {
        return sqlServerIp;
    }
    public int getSqlServerPort() {
        return sqlServerPort;
    }
    public int getSqlConnCountMax() {
        return sqlConnCountMax;
    }
    public int getDischarge_SaveDataTimeInterval() {
        return discharge_SaveDataTimeInterval;
    }
    public float getDischarge_MonVolChangeLevel() {
        return discharge_MonVolChangeLevel;
    }
    public int getDischarge_TestTimeLongMinimum() {
        return discharge_TestTimeLongMinimum;
    }
    public int getDischarge_TestDataRecordCountMax() {
        return discharge_TestDataRecordCountMax;
    }
    public int getDischarge_BattTestGroupCountMax() {
        return discharge_BattTestGroupCountMax;
    }
    public int getCharge_SaveDataTimeInterval() {
        return charge_SaveDataTimeInterval;
    }
    public float getCharge_MonVolChangeLevel() {
        return charge_MonVolChangeLevel;
    }
    public int getCharge_TestTimeLongMinimum() {
        return charge_TestTimeLongMinimum;
    }
    public int getCharge_TestDataRecordCountMax() {
        return charge_TestDataRecordCountMax;
    }
    public int getCharge_BattTestGroupCountMax() {
        return charge_BattTestGroupCountMax;
    }
    public int getPowerAcceptPort() {
        return powerAcceptPort;
    }
    public boolean getBattTestStateReloadEn() {
        return battTestStateReloadEn;
    }
    public void setBattTestStateReloadEn(boolean battTestStateReloadEn) {
        this.battTestStateReloadEn = battTestStateReloadEn;
    }
    public void setPowerAcceptPort(int powerAcceptPort) {
        this.powerAcceptPort = powerAcceptPort;
    }
}
BattMonitor_DB_Builder/src/com/config/AppParam.java
File was deleted
BattMonitor_DB_Builder/src/com/sql/MysqlConnPool.java
@@ -1,58 +1,99 @@
package com.sql;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class MysqlConnPool {
    private ComboPooledDataSource mysql_ds = new ComboPooledDataSource();
    private int mSqlPort = 5306;
    public static final int SQL_Type_MySQL         = 1;    //mysql
    public static final int SQL_Type_HanGao     = 2;    //瀚高
    
    public MysqlConnPool(String server_ip, int port, int conncount_max)
    {
    private ComboPooledDataSource mysql_ds = new ComboPooledDataSource();
    private int mSqlPort = 3360;
    private Logger logger;
    public MysqlConnPool(String server_ip, int port, int conncount_max,int sql_type) {
        try {
            logger = LogManager.getLogger(this);
            logger.info("SqlServerType:" + getSqlServerType(sql_type));
            if(SQL_Type_HanGao == sql_type) {
                //瀚高数据库
                initHG(server_ip, port, conncount_max);
            } else {
                //默认连接MySQL
                init(server_ip,port,conncount_max);
            }
        } catch (PropertyVetoException e) {
            e.printStackTrace();
        }
    }
    public MysqlConnPool(String server_ip, int port, int conncount_max) {
        try {
            initHG(server_ip, port, conncount_max);
        } catch (PropertyVetoException e) {
            e.printStackTrace();
        }
    }
    public void init(String server_ip, int port, int conncount_max) throws PropertyVetoException
    {
        mSqlPort = port;
        mysql_ds.setDriverClass("com.mysql.jdbc.Driver");
        mysql_ds.setJdbcUrl("jdbc:mysql://" + server_ip + ":" + mSqlPort);
        mysql_ds.setUser("root");
        mysql_ds.setPassword("lmx8688139");
        //mysql_ds.setPassword("Dongli&12345678");    //清远电信数据库密码修改
        mysql_ds.setMaxPoolSize(conncount_max);
        mysql_ds.setMinPoolSize(2);
        mysql_ds.setIdleConnectionTestPeriod(60);
    public void initHG(String server_ip, int port, int conncount_max) throws PropertyVetoException {
        this.mSqlPort = port;
        this.mysql_ds.setDriverClass("com.highgo.jdbc.Driver");
        this.mysql_ds.setJdbcUrl("jdbc:highgo://" + server_ip + ":" + port + "/highgo");
        this.mysql_ds.setUser("sysdba");
        this.mysql_ds.setPassword("Lmx&8688139");
        this.mysql_ds.setMaxPoolSize(conncount_max);
        this.mysql_ds.setMinPoolSize(2);
        this.mysql_ds.setIdleConnectionTestPeriod(300);
    }
    public void init(String server_ip, int port, int conncount_max) throws PropertyVetoException {
        this.mSqlPort = port;
        this.mysql_ds.setDriverClass("com.mysql.jdbc.Driver");
        this.mysql_ds.setJdbcUrl("jdbc:mysql://" + server_ip + ":" + this.mSqlPort);
        this.mysql_ds.setUser("root");
        this.mysql_ds.setPassword("lmx8688139");
        this.mysql_ds.setMaxPoolSize(conncount_max);
        this.mysql_ds.setMinPoolSize(2);
        this.mysql_ds.setIdleConnectionTestPeriod(300);
    }
    public String getSqlServerType(int sqlServerType) {
        String sqltypestr = "MySQL";
        switch (sqlServerType) {
        case SQL_Type_MySQL:
            sqltypestr = "MySQL";
            break;
        case SQL_Type_HanGao:
            sqltypestr = "HanGao";
            break;
        default:sqltypestr = "MySQL";
            break;
        }
        return sqltypestr;
    }
    
    public void initHG(String server_ip, int port, int conncount_max) throws PropertyVetoException
    {
        mSqlPort = port;
        mysql_ds.setDriverClass("com.highgo.jdbc.Driver");
        mysql_ds.setJdbcUrl("jdbc:highgo://localhost:5866/highgo");
        mysql_ds.setUser("sysdba");
        mysql_ds.setPassword("Lmx&8688139");
        mysql_ds.setMaxPoolSize(conncount_max);
        mysql_ds.setMinPoolSize(2);
        mysql_ds.setIdleConnectionTestPeriod(60);
    }
    public Connection getConn()
    {
    public Connection getConn() {
        Connection con = null;
        try {
            con = mysql_ds.getConnection();
            con = this.mysql_ds.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }
    public int getSqlConnPort() {
        return mSqlPort;
        return this.mSqlPort;
    }
}
/*
 * Location:
 * C:\Users\LiJun\Desktop\公司各种设备资料\9600显示模块相关文件\后台程序\2018-09-07\BattFBS9600XSP.
 * jar Qualified Name: com.sql.MysqlConnPool JD-Core Version: 0.6.2
 */
BattMonitor_DB_Builder/src/com/sql/Sql_Mysql.java
@@ -14,390 +14,52 @@
 */
public class Sql_Mysql 
{
    //--------------------------------------------------------------------------------------------//
    final public static String DB_AppSys = "`db_app_sys`";
    final public static String DB_BATT_INF = "`db_battinf`";
    final public static String DB_BATT_TESTDATA = "`db_batt_testdata`";
    final public static String DB_PARAM = "`db_param`";
    final public static String DB_ALARM = "`db_alarm`";
    final public static String DB_USER = "`db_user`";
    final public static String DB_RamDB = "`db_ram_db`";
    final public static String DB_RamDB_BATT_RT = "`db_ram_batt_rt`";
    final public static String WEB_Site = "`web_site`";
    final public static String DB_BATT_HISTORY = "`db_batt_history`";
    final public static String DB_LD9_TESTDATA = "`db_ld9_testdata`";
    final public static String DB_PWRDEV_ALARM = "`db_pwrdev_alarm`";
    final public static String DB_PWRDEV_DATA_RT = "`db_pwrdev_data_rt`";
    final public static String DB_PWRDEV_INF = "`db_pwrdev_inf`";
    final public static String DB_FBO_TESTDATA = "`db_fbo_testdata`";
    final public static String DB_DEV_HISTORY = "`db_dev_history`";                                //设备历史实时数据库
    final public static String DB_DEV_TESTPARAM = "`db_dev_testparam`";                            //设备历史实时数据库
    final public static String DB_PWRDEV_DATA_HISTORY_GW = "`db_pwrdev_data_history_gw`";        //国网历史实时数据库
    final public static String DB_PWRDEV_DATA_HISTORY = "`db_pwrdev_data_history`";                //南网历史实时数据库
    final public static String DB_UPSPWRDEV_ALARM = "`db_upspwrdev_alarm`";                        //UPS告警数据库
    final public static String DB_UPSPWRDEV_DATA_HISTORY = "`db_upspwrdev_data_history`";        //UPS历史实时数据库
    final public static String DB_IED_SCOUT      = "`db_ied_scout`";                            //UPS历史实时数据库
    final public static String DB_NJ_MEASUREMENT = "`db_nj_measurement`";                        //南京首页属性信息配置表
    //--------------------------------------------------------------------------------------------//
    public final static String TB_HardDevSmsState = "tb_hard_dev_sms_state";
    //--------------------------------------------------------------------------------------------//
    public final static String TB_AppSys = "tb_app_sys";
    public final static String TB_ServerState = "tb_server_state";
    public final static String TB_BattTestDataInf = "tb_batttestdata_inf";
    public final static String TB_BattRtData = "tb_batt_rtdata";
    public final static String TB_BattRtState = "tb_batt_rtstate";
    public final static String TB_UserInf = "tb_user_inf";
    public final static String TB_UserLog = "tb_user_log";
    public final static String TB_UserBattGroup_BaoJiGroup = "tb_user_battgroup_baojigroup";
    public final static String TB_UserBattGroup_BaoJiGroup_BattGroup = "tb_user_battgroup_baojigroup_battgroup";
    public final static String TB_UserBattGroup_BaoJiGroup_Usr = "tb_user_battgroup_baojigroup_usr";
    public final static String TB_UserTaskTemplate = "tb_user_task_batt_template";
    public final static String TB_UserTask = "tb_user_task";
    public final static String TB_UserPaiXiu = "tb_user_paixiu";
    public final static String TB_UserListForTask = "tb_user_task_user_list";
    public final static String TB_UserTaskParam = "tb_user_task_param";
    public final static String TB_UserBattCkeckTask = "tb_user_task_batt_check";
    public final static String TB_UserBattTestTask = "tb_user_task_batt_test";
    public final static String TB_UserBattTaskChange = "tb_user_task_change";
    public final static String TB_UserSms = "tb_user_sms";
    public final static String TB_UserSmsFormat = "tb_user_sms_format";
    public final static String TB_UserPermitGroup = "tb_user_permitgroup";
    public final static String TB_UserPermitGroupData = "tb_user_permitgroup_data";
    public final static String TB_UserJieJiaRi = "tb_user_jiejiari";
    //--------------------------------------------------------------------------------------------//
    //--------------------------------------------------------------------------------------------//
    public final static String CInterfaceState_Table = DB_RamDB + ".`tb_cinterface_state`";
    public final static String FBS9600SetParam_Table = DB_RamDB + ".`tb_fbs9600_setparam`";
    //public final static String FBS9600Param_Table = DB_RamDB + ".`tb_fbs9600_param`";
    //public final static String FBS9600Param_Table = DB_RamDB + ".`tb_fbs9600_param`";
    //--------------------------------------------------------------------------------------------//
    //--------------------------------------------------------------------------------------------//
    public final static String AppSys_Table = DB_AppSys + ".`tb_app_sys`";
    public final static String FBSDevStateChangeInf_Table = DB_AppSys + ".`tb_fbsdev_statechange_inf`";
    public final static String BattCurrInf_Table = DB_BATT_INF + ".`tb_battcurr_inf`";
    public final static String BattMainInf_Table = DB_BATT_INF + ".`tb_batt_maint_inf`";
    public final static String BattMainProcess_Table = DB_BATT_INF + ".`tb_batt_maint_process`";
    /**********************************************************************/
    public static final String DB_ALARM     = "`db_alarm`";
    public static final String DB_BATT         = "`db_batt`";
    public static final String DB_DIS_BATT     = "db_dis_batt";
    public static final String DB_POWER_RT     = "`db_power_rt`";
    public static final String DB_REAL_BATT = "`db_real_batt`";
    public static final String DB_PARAM     = "`db_param`";
    public static final String DB_POWER_ALARM     = "`db_power_alarm`";
    
    
    public final static String BattTestDataInf_Table = DB_BATT_TESTDATA + ".`tb_batttestdata_inf`";
    public final static String BattResDataInf_Table = DB_BATT_TESTDATA + ".`tb_battresdata_inf`";
    public final static String BattResData_Table = DB_BATT_TESTDATA + ".`tb_BattResData`";
    public final static String UserInfTable = DB_USER + ".`tb_user_inf`";
    public final static String UserLogTable = DB_USER + ".`tb_user_log`";
    public final static String UserBattGroup_BaoJiGroup_Table = DB_USER + ".`tb_user_battgroup_baojigroup`";
    public final static String UserBattGroup_BaoJiGroup_BattGroupTable = DB_USER + ".`tb_user_battgroup_baojigroup_battgroup`";
    public final static String UserBattGroup_BaoJiGroup_UsrTable = DB_USER + ".`tb_user_battgroup_baojigroup_usr`";
    public final static String UserTaskTemplateTable = DB_USER + ".`tb_user_task_batt_template`";
    public final static String UserTaskTable = DB_USER + ".`tb_user_task`";
    public final static String UserPaiXiuTable = DB_USER + ".`tb_user_paixiu`";
    public final static String UserListForTaskTable = DB_USER + ".`tb_user_task_user_list`";
    public final static String UserTaskParamTable = DB_USER + ".`tb_user_task_param`";
    public final static String UserBattCheckTaskTable = DB_USER + ".`tb_user_task_batt_check`";
    public final static String UserBattTestTaskTable = DB_USER + ".`tb_user_task_batt_test`";
    public final static String UserBattTaskChangeTable = DB_USER + ".`tb_user_task_change`";
    public final static String UsrBattMaintCheck_Table = DB_USER + ".`tb_user_battmaint_check`";
    public final static String UsrBattMaintCheckProcess_Table = DB_USER + ".`tb_user_battmaint_check_process`";
    public final static String UserSmsTable = DB_USER + ".`tb_user_sms`";
    public final static String UserSmsFormatTable = DB_USER + ".`tb_user_sms_format`";
    public final static String UserPermitGroupTable = DB_USER + ".`tb_user_permitgroup`";
    public final static String UserPermitGroupDataTable = DB_USER + ".`tb_user_permitgroup_data`";
    public final static String UserJieJiaRiTable = DB_USER + ".`tb_user_jiejiari`";
    /**********************************************************************/
    public static final String Mon_Inf_Table = DB_BATT + ".mon_inf";
    public static final String Mon_Plan_Table = DB_BATT + ".mon_plan";
    public static final String Power_Inf_Table = DB_BATT + ".power_inf";
    public static final String Sinf_Pinf_Table = DB_BATT + ".sinf_pinf";
    public static final String Station_Inf_Table = DB_BATT + ".station_inf";
    
    
    public final static String BTSStationEvent_Table = DB_ALARM + ".`tb_bts_station_event`";                            //机房状态历史表
    /****************************** db_power_rt ****************************************/
    public static final String Power_Real_Rt1_Table = DB_POWER_RT + ".`tb_power_real_rt1`";
    public static final String Power_Real_Rt2_Table = DB_POWER_RT + ".`tb_power_real_rt2`";
    public static final String Power_Real_Rt3_Table = DB_POWER_RT + ".`tb_power_real_rt3`";
    
    /**************************** db_ram_db数据库 ***************************************************/
    public final static String SocketClientStateTable = DB_RamDB + ".`tb_socketclient_state`";
    public final static String ServerState_Table = DB_RamDB + ".`tb_server_state`";
    public final static String Ld9_Updatestatue_Table = DB_RamDB + ".`tb_ld9_updatestatue`";
    public final static String Ld9_State_Table = DB_RamDB + ".`tb_ld9_state`";
    public final static String Ld9_Setparam_Table = DB_RamDB + ".`tb_ld9_setparam`";
    public final static String Ld9_Concentratestate_Table = DB_RamDB + ".`tb_ld9_concentratestate`";
    public final static String Ld9_Concentrateparam_Table = DB_RamDB + ".`tb_ld9_concentrateparam`";
    public final static String HardDevSmsState_Table = DB_RamDB + ".`tb_hard_dev_sms_state`";
    public final static String FBS9600State_Table = DB_RamDB + ".`tb_fbs9600_state`";
    public final static String FBS9100_NiBian_State = DB_RamDB + ".tb_fbs9100s_nibian_state";                        //61850离线养护计划参数表
    public final static String FBS9100s_fod_state = DB_RamDB + ".tb_fbs9100s_fod_state";                            //61850除硫状态表
    public final static String FBS9100SetDLParam_Table = DB_RamDB + ".`tb_fbs9100s_fod_param`";                        //61850除硫参数表
    public final static String FBS9100S_DFUState_Table = DB_RamDB + ".`tb_fbs9100s_DFU_state`";
    public final static String FBS9100S_DcDcState_Table = DB_RamDB + ".`tb_fbs9100s_dcdc_state`";
    public final static String FBS9100SysParam_Table = DB_RamDB + ".`tb_fbs9100_sysparam`";                            //系统参数表
    public final static String FBS9100State_Table = DB_RamDB + ".`tb_fbs9100_state`";
    public final static String FBS9100SetParam_Table = DB_RamDB + ".`tb_fbs9100_setparam`";
    public final static String FBS9100_offlineyhplan = DB_RamDB + ".tb_fbs9100_offlineyhplan";                        //61850离线养护计划参数表
    public final static String FBS9100BattParam_Table = DB_RamDB + ".`tb_fbs9100_battparam`";                        //电池组参数表
    public final static String BTSStationState_Table = DB_RamDB + ".`tb_bts_station_state`";                        //机房状态表
    public final static String BTSGPRSState_Table = DB_RamDB + ".`tb_bts_gprs_state`";                                //gprs 信息表
    public final static String BMP7100State_Table = DB_RamDB + ".`tb_bpm7100_state`";
    public final static String BattRtState_Table = DB_RamDB + ".`tb_batt_rtstate`";
    public final static String BattRtData_Table = DB_RamDB + ".`tb_batt_rtdata`";
    public final static String TB_61850_JHState_Table = DB_RamDB +".tb_61850_jhstate";                                //61850均衡61850供电模块信息
    public final static String RamDB_CMCC_POWER_Data = DB_RamDB + ".`cmcc_power_data`";
    public final static String FBS9100_InsulatstateTable = DB_RamDB + ".`tb_fbs9100_insulatstate`";                    //绝缘装置
    public final static String FBS9100_CollectionstateTable = DB_RamDB + ".`tb_fbs9100_collectionstate`";            //汇集装置
    public final static String FBS9100_ChargerstateTable = DB_RamDB + ".`tb_fbs9100_chargerstate`";                    //充电机
    public final static String Tb_Lithium_DataTable = DB_RamDB + ".`tb_lithium_data`";                                //锂电池数据表
    /******************************* db_dis_batt ***************************************/
    public static final String Batt_Test_Inf_Table = DB_DIS_BATT + ".batt_test_inf";                    //蓄电池历史数据
    
    public final static String Tb_Batt_RSAlarm_Table = DB_RamDB + ".`tb_batt_rsalarm`";                                //锂电池数据表
    public final static String Tb_Batt_RTAlarm_Table = DB_RamDB + ".`tb_batt_rtalarm`";                                //锂电池数据表
    
    public final static String FBS9100s_stemnode_state_Table = DB_RamDB + ".`tb_fbs9100s_stemnode_state`";            //干节点状态表
    public final static String FBS9100s_buscouple_state_Table = DB_RamDB + ".`tb_fbs9100s_buscouple_state`";        //母联开关状态表
    public final static String Fgcd_filedownload_Table = DB_RamDB + ".`tb_fgcd_filedownload`";                        //双向DCDC工作参数
    public static final String Tb_li9130_dcdc_param = DB_RamDB + ".`tb_li9130_dcdc_param`";                            //双向DCDC内部数据
    public static final String Tb_li9130_dcdc_data = DB_RamDB + ".`tb_li9130_dcdc_data`";                            //锂电池BMS模拟量
    public static final String Tb_li9130_bms_state = DB_RamDB + ".`tb_li9130_bms_state`";                            //锂电池BMS告警量
    public static final String Tb_li9130_bms_alm = DB_RamDB + ".`tb_li9130_bms_alm`";
    public static final String Tb_li9130_setparam_plan = DB_RamDB + ".`tb_li9130_setparam_plan`";
    public static final String Tb_ess3100_sysstate = DB_RamDB + ".`tb_ess3100_sysstate`";
    public static final String Tb_ess3100_pcs_state = DB_RamDB + ".`tb_ess3100_pcs_state`";
    public static final String TB_Batt_Gtstate_Table = DB_RamDB +".`tb_batt_gtstate`";                                //山西储能设备实时信息表
    public static final String TB_Dev61851_State_Table = DB_RamDB +".`tb_dev_61851_state`";                            //远程重启装置状态信息表
    public final static String DEV60870_Inverter_State = DB_RamDB + ".tb_dev_60870_inverter_state";                    //电操开关遥信实时状态表
    public final static String DEV60870_Inverter_Info = DB_RamDB + ".tb_dev_60870_inverter_info";                    //电操开关遥测实时状态表
    public final static String FBS9140_Topology_State = DB_RamDB + ".tb_fbs9140_topology_state";                    //并联BTS拓扑状态信息
    public final static String FBS9149_SetParam = DB_RamDB + ".tb_fbs9149_setparam";                                //并联BTS9组参数表
    public final static String Check_Dialog_Table = DB_RamDB + ".tb_check_dialog";                                    //充放电一体机离线检测表
    public final static String IntelligentBusbar_State_Table = DB_RamDB + ".tb_intelligentbusbar_state";            //充放电一体机离线检测表
    public final static String Dev_6185_AlmpPram_Table = DB_RamDB + ".tb_dev_6185_almparam";                        //BTS61850告警参数表
    public final static String Dev6159_Power_Yc_Table = DB_RamDB + ".tb_dev6159_power_yc";                        //BTS61850告警参数表
    public final static String Dev6159_Power_Yx_Table = DB_RamDB + ".tb_dev6159_power_yx";                        //BTS61850告警参数表
    /******************************* db_real_batt ***************************************/
    public static final String Rt_Data_Table = DB_REAL_BATT + ".`rt_data`";                                //蓄电池单体实时
    public static final String Rt_State_Table = DB_REAL_BATT + ".`rt_state`";                            //蓄电池单体实时
    
    /**************************** db_user数据库 ***************************************************/
    public final static String User_Permitgroup_Table = DB_USER + ".`tb_user_permitgroup`";                                //权限表
    public final static String User_Permitgroup_Data_Table = DB_USER + ".`tb_user_permitgroup_data`";                    //用户权限表
    public final static String User_Task_User_List_Table = DB_USER + ".`tb_user_task_user_list`";                        //
    public final static String User_Task_Template_Table = DB_USER + ".`tb_user_task_template`";                            //
    public final static String User_Task_Param_Table = DB_USER + ".`tb_user_task_param`";                            //
    public final static String User_Task_Change_Table = DB_USER + ".`tb_user_task_change`";                            //
    public final static String User_Task_Batt_Test_Table = DB_USER + ".`tb_user_task_batt_test`";                            //
    public final static String User_Task_Batt_Template_Table = DB_USER + ".`tb_user_task_batt_template`";                            //
    public final static String User_Task_Batt_Check_Table = DB_USER + ".`tb_user_task_batt_check`";                            //
    public final static String User_Task_Table = DB_USER + ".`tb_user_task`";                            //
    public final static String User_Sms_Format_Table = DB_USER + ".`tb_user_sms_format`";                            //
    public final static String User_Sms_Table = DB_USER + ".`tb_user_sms`";                            //
    public final static String User_Paixiu_Table = DB_USER + ".`tb_user_paixiu`";                            //
    public final static String User_Log_Table = DB_USER + ".`tb_user_log`";                            //
    public final static String User_Jiejiari_Table = DB_USER + ".`tb_user_jiejiari`";                            //
    public final static String User_Face_Table = DB_USER + ".`tb_user_face`";                            //
    public final static String User_Battmaint_Check_Process_Table = DB_USER + ".`tb_user_battmaint_check_process`";                            //
    public final static String User_Battmaint_Check_Table = DB_USER + ".`tb_user_battmaint_check`";                            //
    public final static String User_Battgroup_Baojigroup_Usr_Table = DB_USER + ".`tb_user_battgroup_baojigroup_usr`";                            //
    public final static String User_Battgroup_Baojigroup_Battgroup_Table = DB_USER + ".`tb_user_battgroup_baojigroup_battgroup`";                            //
    public final static String User_Battgroup_Baojigroup_Table = DB_USER + ".`tb_user_battgroup_baojigroup`";                            //
    public final static String User_Limit_Table = DB_USER + ".`tb_user_limit`";                            //
    public static final String Tb_User_Work = DB_USER + ".`tb_user_work`";
    public static final String Tb_Work_Alarm = DB_USER + ".`tb_work_alarm`";
    /**************************** web_site数据库 ***************************************************/
    public final static String ThreadUtil_Table = WEB_Site + ".`tb_thread_util`";                        //线程帮助表
    public final static String PositiomapUsr_Table = WEB_Site + ".`tb_positiomap_usr`";                    //首页地图中心点定位表
    public final static String ChartColor_Table = WEB_Site + ".`tb_chart_color`";                        //用户实时监测页面指定柱状的颜色设置表
    public final static String UserChart_Table = WEB_Site + ".`tb_user_chart`";                            //班组管理表
    public final static String ProcessSurvey_Table = WEB_Site + ".`tb_process_survey`";                    //线程监控表
    public final static String EchartsUsr_Table = WEB_Site + ".`tb_echarts_usr`";                        //用户首页定制表
    public final static String DevstateUsr_Table = WEB_Site + ".`tb_devstate_usr`";                        //用户放电添加记录表
    public final static String CustomPage_Table = WEB_Site + ".`tb_custompage`";                        //导航数据表
    public final static String Announce_Table = WEB_Site + ".`tb_announce`";                            //公告表
    public final static String BattAttention_Table = WEB_Site + ".`tb_batt_attention`";                    //创建电池组单体关注表
    public final static String BattpowerOff_Table = WEB_Site + ".`tb_battpower_off`";                    //机房停电表
    public final static String BadbattMon_Table = WEB_Site + ".`tb_badbatt_mon`";                        //落后单体表
    public final static String BadbattMonFlag_Table = WEB_Site + ".`tb_badbatt_mon_flag`";                //落后单体控制表
    public final static String BattEndurance_Table = WEB_Site + ".`tb_batt_endurance`";                    //机房续航表
    public final static String BattParamLow_Table = WEB_Site + ".`tb_batt_param_low`";                    //电池参数表
    public final static String BattDischargeParam_Table = WEB_Site + ".`tb_battdischarge_param`";        //放电计划参数表
    public final static String BattDischargePlan_Table = WEB_Site + ".`tb_battdischarge_plan`";            //放电计划表
    public final static String Avoid_plan_Table = WEB_Site + ".`tb_avoid_plan`";                        //放电计划规避时间表
    public final static String BattMapInformation_Table = WEB_Site + ".`tb_battmap_information`";        //基站定位表
    public final static String BattDischarge_Table = WEB_Site + ".`tb_batt_discharge`";                    //基站故障表
    public final static String BattReplace_Table = WEB_Site + ".`tb_batt_replace`";                        //电池更换记录表
    public final static String Dev_Restart_Plan_Table = WEB_Site +".`tb_dev_restart_plan`";                //设备定期重启计划表
    public final static String Vip_User_Table = WEB_Site +".`tb_vip_user`";                                //超级用户表
    public final static String License_Table = WEB_Site +".`tb_license`";                                //超级用户表
    public final static String Database_Backup_Table = WEB_Site +".`tb_database_backup`";                //超级用户表
    public static final String Eletmp_Table = WEB_Site +".`tb_eletmp`";                                    //模板表
    public static final String Peak_Statistics_Table = WEB_Site +".`tb_peak_statistics`";                //消峰填谷电价统计表
    public static final String Weather_City2_Table = WEB_Site +".`tb_weather_city2`";                    //天气表
    public static final String TB_3D_STATION_Table = WEB_Site +".`tb_3d_station`";                        //3D机房表
    public static final String TB_Map_Outline_Table = WEB_Site +".`tb_map_outline`";                    //首页轮廓图表
    public static final String TB_Interface_Table = WEB_Site +".`tb_interface`";
    //三方接口配置表
    public static final String TB_Worksheet_Alarm_Table = WEB_Site +".`tb_worksheet_alarm`";            //三方接口配置表
    public static final String TB_Worksheet_Link_Table = WEB_Site +".`tb_worksheet_link`";                //三方接口配置表
    public static final String TB_Worksheet_Main_Table = WEB_Site +".`tb_worksheet_main`";                //三方接口配置表
    public static final String Tb_Alarm_Voice_Set_Table = WEB_Site +".`tb_alarm_voice_set`";                    //告警语音设置
    public static final String Tb_Battdischarge_Plan_Temp_Table = WEB_Site +".`tb_battdischarge_plan_temp`";    //放电计划临时表
    public static final String Tb_Battdischarge_Plan_Log_Table = WEB_Site +".`tb_battdischarge_plan_log`";        //放电计划日志表
    public static final String Tb_Holidays_Table = WEB_Site +".`tb_holidays`";                                    //
    public static final String Tb_Workflow_Link_Table = WEB_Site +".`tb_workflow_link`";                        //工作流节点表
    public static final String Tb_Workflow_Main_Table = WEB_Site +".`tb_workflow_main`";                        //工作流主表
    public static final String Tb_Fault_Upload_Table = WEB_Site +".`tb_fault_upload`";                            //故障隐患上传表,用于故障隐患考核
    public static final String Tb_Fbs9100_SetParam_Temp_Table = WEB_Site +".`tb_fbs9100_setparam_temp`";        //本年度二次核容放电参数考核
    public static final String Tb_Fault_Upload_Application_Table = WEB_Site +".`tb_fault_upload_application`";    //故障隐患上传表,用于故障隐患考核
    public static final String Tb_Resset_Station_Table = WEB_Site +".`tb_resset_station`";                        //机房内阻测试计划表
    public static final String Tb_Badld9_Mon_Table = WEB_Site +".`tb_badld9_mon`";                        //机房内阻测试计划表
    /***************************** db_battinf数据库  ***************************************/
    public final static String BattInf_Table = DB_BATT_INF + ".`tb_battinf`";
    public final static String DeverrorRecord_Table = DB_BATT_INF + ".`tb_deverror_record`";                        //机房问题记录表
    public final static String BattinfApply_TABLE = DB_BATT_INF + ".`tb_battinf_apply`";                            //机房安装审批表
    public final static String BattinfEx_TABLE = DB_BATT_INF + ".`tb_battinf_ex`";                                    //基站信息表
    public final static String BattinfRebuild_TABLE = DB_BATT_INF + ".`tb_battinf_rebuild`";                        //机房配组表
    public final static String BattmonTestcap_TABLE = DB_BATT_INF + ".`tb_battmon_testcap`";                        //机房标准测试曲线记录表
    public final static String Battcurr_Inf_TABLE = DB_BATT_INF + ".`tb_battcurr_inf`";
    public final static String Batt_Maint_Process_TABLE = DB_BATT_INF + ".`tb_batt_maint_process`";
    public final static String Batt_Maint_Inf_TABLE = DB_BATT_INF + ".`tb_batt_maint_inf`";
    public final static String Batt_Alm_Param_TABLE = DB_BATT_INF + ".`tb_batt_alm_param`";
    public final static String Battspare_TABLE = DB_BATT_INF + ".`tb_battspare`";
    public final static String Battscrap_TABLE = DB_BATT_INF + ".`tb_battscrap`";
    public final static String Battspare_Record_TABLE = DB_BATT_INF + ".`tb_battspare_record`";
    public final static String A059_Station_Inf_TABLE = DB_BATT_INF + ".`tb_a059_station_inf`";                        //充放电一体机配置机房
    public final static String Battinf_Guides_TABLE = DB_BATT_INF + ".`tb_battinf_guides`";                            //电池组各参数参考线
    public final static String Battmon_Standardcurve_TABLE = DB_BATT_INF + ".`tb_battmon_standardcurve`";            //标准曲线表
    public final static String Station_Inf_Table = DB_BATT_INF + ".`tb_station_inf`";                                //机房信息总表
    public final static String Battinf_Update_Record_Table = DB_BATT_INF + ".`tb_battinf_update_record`";            //电池信息更新记录表
    public final static String Batt_Compare_Table = DB_BATT_INF + ".`tb_batt_compare`";                                //天一电厂3D电池组对照关系表
    /***************************** db_alarm数据库  ***************************************/
    public final static String Devalarm_Data_Table = DB_ALARM + ".`tb_devalarm_data`";
    public final static String Devalarm_Data__History_Table = DB_ALARM + ".`tb_devalarm_data_history`";
    public final static String Bts_Station_Event_Table = DB_ALARM + ".`tb_bts_station_event`";
    public final static String Battalarm_Data_Table = DB_ALARM + ".`tb_battalarm_data`";
    public final static String Battalarm_Data_History_Table = DB_ALARM + ".`tb_battalarm_data_history`";
    public final static String Tb_Alarm_Message = DB_ALARM + ".`tb_alarm_message`";
    public final static String Tb_Alarm_Detail_Table = DB_ALARM + ".`tb_alarm_detail`";
    public final static String Tb_Alarm_Relation_Table = DB_ALARM + ".`tb_alarm_relation`";
    public final static String Tb_Alarm_Manual_Clear_Table = DB_ALARM + ".`tb_alarm_manual_clear`";
    public final static String Tb_Battalarm_Data_Verify_Table = DB_ALARM + ".`tb_battalarm_data_verify`";            //电池告警确认处理表
    public final static String Tb_Devalarm_Data_Verify_Table = DB_ALARM + ".`tb_devalarm_data_verify`";                //设备告警确认处理表
    /***************************** db_app_sys 数据库  ***************************************/
    public final static String Page_Param_Table = DB_AppSys + ".`tb_page_param`";
    public final static String Fbsdev_Statechange_Inf_Table = DB_AppSys + ".`tb_fbsdev_statechange_inf`";
    public final static String Dashboard_Module_Chart_Table = DB_AppSys + ".`tb_dashboard_module_chart`";
    public final static String Dashboard_Module_Table = DB_AppSys + ".`tb_dashboard_module`";
    public final static String Dashboard_Chart_Type_Table = DB_AppSys + ".`tb_dashboard_chart_type`";
    public final static String App_Sys_Table = DB_AppSys + ".`tb_app_sys`";
    public final static String App_Bts_Comm_Task_Table = DB_AppSys + ".`tb_app_bts_comm_task`";
    public final static String App_Bts_Battgroup_Table = DB_AppSys + ".`tb_app_bts_battgroup`";
    public final static String Menu_Table = DB_AppSys + ".`tb_menu`";
    public static final String Tb_application_Table = DB_AppSys + ".`tb_application`";                    //3.5大屏
    public static final String Tb_application_config_Table = DB_AppSys + ".`tb_application_config`";
    public static final String Tb_dashboard_chart_type_Table = DB_AppSys + ".`tb_dashboard_chart_type`";
    public static final String Tb_dashboard_module_chart_Table = DB_AppSys + ".`tb_dashboard_module`";
    public static final String Tb_dashboard_module_Table = DB_AppSys + ".`tb_dashboard_module_chart`";
    public static final String Tb_Page_Param_User_Table = DB_AppSys + ".`tb_page_param_user`";
    public static final String Tb_Page_Param2_Table = DB_AppSys + ".`tb_page_param2`";
    public static final String Tb_Menu_Approve_Table = DB_AppSys + ".`tb_menu_approve`";
    public static final String Tb_Menu_User_Table = DB_AppSys + ".`tb_menu_user`";
    /***************************** db_ld9_testdata 数据库  ***************************************/
    public final static String Ld9testdata_Inf_Table = DB_LD9_TESTDATA + ".`tb_ld9testdata_inf`";
    /***************************** db_param 数据库  ***************************************/
    public final static String Dev_Param_Table = DB_PARAM + ".`tb_dev_param`";
    public final static String App_Param_Table = DB_PARAM + ".`tb_app_param`";
    public final static String Alarm_Param_Table = DB_PARAM + ".`tb_alarm_param`";
    public final static String Dev_AlmParam_Table = DB_PARAM + ".`tb_dev_almparam`";                    //设备告警参数表
    public final static String AppAlm_Param_Table = DB_PARAM + ".`tb_appalm_param`";                    //平台告警参数表
    /***************************** db_pwrdev_alarm 数据库  ************************************/
    public final static String Pwrdev_Alarm_Table = DB_PWRDEV_ALARM + ".`tb_pwrdev_alarm`";
    public final static String Pwrdev_Alarm_History_Table = DB_PWRDEV_ALARM + ".`tb_pwrdev_alarm_history`";
    public final static String Pwrdev_Alarm_Param_Table = DB_PWRDEV_ALARM + ".`tb_pwrdev_alarm_param`";
    public final static String Pwrdev_Alarm_Config_Table = DB_PWRDEV_ALARM + ".`tb_pwrdev_alarm_config`";
    public final static String Pwrdev_Time_Adj_Alarm_Table = DB_PWRDEV_ALARM + ".`tb_pwrdev_time_adj_alarm`";
    public final static String Pwrdev_Time_Out_Alarm_Table = DB_PWRDEV_ALARM + ".`tb_pwrdev_time_out_alarm`";
    public final static String Pwrdev_Alarm_Param_ForSX_Table = DB_PWRDEV_ALARM + ".`tb_pwrdev_alarm_param_forsx`";        //山西电源告警参数表
    public final static String Pwrdev_Alarm_Verify_Table = DB_PWRDEV_ALARM + ".`tb_pwrdev_alarm_verify`";            //电源告警确认处理表
    /***************************** db_pwrdev_data_rt 数据库  ************************************/
    public final static String Pwrdev_Acdcdata_Table = DB_PWRDEV_DATA_RT + ".`tb_pwrdev_acdcdata`";
    public final static String Pwrdev_Dcdata_Table = DB_PWRDEV_DATA_RT + ".`tb_pwrdev_dcdata`";
    public final static String Pwrdev_Acdata_Table = DB_PWRDEV_DATA_RT + ".`tb_pwrdev_acdata`";
    public final static String Pwrdev_Event_Table = DB_PWRDEV_DATA_RT + ".`tb_pwrdev_event`";
    public final static String Upspower_Sinal_Table = DB_PWRDEV_DATA_RT + ".`tb_upspower_sinal`";                    //UPS遥信和告警实时状态表
    public final static String Upspower_Simulate_Table = DB_PWRDEV_DATA_RT + ".`tb_upspower_simulate`";                //UPS遥测信息实时状态表
    public final static String Pwrdev_Rt_Info_Table = DB_PWRDEV_DATA_RT + ".`tb_pwrdev_rt_info`";                //UPS遥测信息实时状态表
     /***************************** db_pwrdev_inf 数据库  ************************************/
    public final static String Pwrdev_Inf_Table = DB_PWRDEV_INF + ".`tb_pwrdev_inf`";
    public final static String Pwrapp_Sys_Table = DB_PWRDEV_INF + ".`tb_pwrapp_sys`";
    public final static String Display_Config_Table = DB_PWRDEV_INF + ".`tb_display_config`";
    public final static String Pwrapp_Stainf_Table = DB_PWRDEV_INF + ".`tb_pwrapp_stainf`";
    public final static String Pwrapp_Dcinf_Table = DB_PWRDEV_INF + ".`tb_pwrapp_dcinf`";
    public final static String Pwrapp_Acinf_Table = DB_PWRDEV_INF + ".`tb_pwrapp_acinf`";
    public final static String Pwrapp_Acdcinf_Table = DB_PWRDEV_INF + ".`tb_pwrapp_acdcinf`";
    /***************************** db_fbo_testdata 数据库  ************************************/
    public final static String Fbotestdata_Inf_Table = DB_FBO_TESTDATA + ".`tb_fbotestdata_inf`";
    /***************************** db_dev_testparam 数据库  **********************************/
    public final static String Batt_TestParam_Table = DB_DEV_TESTPARAM + ".tb_batt_testparam_";                        //设备放电参数记录表
    /***************************** db_upspwrdev_alarm 数据库  **********************************/
    public final static String UPSpwrdev_Alarm_Table = DB_UPSPWRDEV_ALARM + ".tb_upspwrdev_alarm";                    //UPS设备实时告警记录表
    public final static String UPSpwrdev_Alarm_History_Table = DB_DEV_TESTPARAM + ".tb_upspwrdev_alarm_history";    //UPS设备历史告警记录表
    /***************************** db_ied_scout 数据库  **********************************/
    public final static String Connect_Inf_Table = DB_IED_SCOUT + ".tb_connect_inf";        //ied连接信息表
    public final static String Ied_NodeState_Table = DB_IED_SCOUT + ".tb_ied_nodestate";    //ied状态信息表
    /******************************* db_param ***************************************/
    public static final String BattAlarm_Param_Table = DB_PARAM + ".battalarm_param";                    //电池告警参数
    public static final String PowerAlarm_param_Table = DB_PARAM + ".poweralarm_param";                //电源告警参数
    /***************************** db_nj_measurement 数据库  **********************************/
    public final static String Njhome_Config_Table = DB_NJ_MEASUREMENT + ".tb_njhome_config";    //首页属性信息配置表
    public final static String Njhome_Station_Table = DB_NJ_MEASUREMENT + ".tb_njhome_station";    //首页机房信息配置表
    /*******************************  db_power_alarm ***************************************/
    public static final String Power_Alarm_Table = DB_POWER_ALARM + ".`power_alarm`";                            //电源实时告警
    public static final String Power_Alarm_Cfg_Table = DB_POWER_ALARM + ".`power_alarm_cfg`";                    //电源告警配置表
    public static final String Power_Alarm_History_Table = DB_POWER_ALARM + ".`power_alarm_history`";            //电源历史告警
    public static final String Power_Alarm_History_Suit_Table = DB_POWER_ALARM + ".power_alarm_history_";        //电源历史告警分表
    
    //--------------------------------------------------------------------------------------------//
    /**********************************************************************/
    public static final String Batt_Alarm_Table = DB_ALARM + ".batt_alarm";        //电源历史告警分表
    /**********************************************************************/
    //--------------------------------------------------------------------------------------------//
    public Connection mysql_con;
    
@@ -428,779 +90,21 @@
        }
    }
    
    /**
     * 初始化创建数据库
     * @throws SQLException
     */
    public void checkAndCreateDB() throws SQLException
    {
        sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_AppSys);
        sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_BATT_INF);
        sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_BATT_TESTDATA);
        sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_PARAM);
        sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_ALARM);
        sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_USER);
        sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_RamDB);
        //sqlMysqlExecute("DROP DATABASE IF EXISTS " + DB_RamDB_BATT_RT);
        //sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_RamDB_BATT_RT);
        sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + WEB_Site);
        String table_0 = "CREATE TABLE IF NOT EXISTS " + AppSys_Table
                        + " ( `num` INT NOT NULL AUTO_INCREMENT,"
                        + "`SqlDB_Version` FLOAT NOT NULL DEFAULT '1.0',"
                        + "`SqlDB_BackUpTime` DATETIME NOT NULL DEFAULT '2000-1-1 00:00:00',"
                        + "`SqlDB_BackUpManual_EN` BOOLEAN NOT NULL DEFAULT false, "
                        + "`AppServer_Reinit_BattGroupData_EN` BOOLEAN NOT NULL DEFAULT false, "
                        + "`AppServer_Reinit_BattGroupData_LD9_EN` BOOLEAN NOT NULL DEFAULT false, "            //用于9度程序重新加载设备
                        + "`AppServer_Reinit_Config_EN` BOOLEAN NOT NULL DEFAULT false, "
                        + "`AppServer_Version` FLOAT NOT NULL DEFAULT '1.0',"
                        + "`AppClient_Version` FLOAT NOT NULL DEFAULT '1.0',"
                        + "`AppName` VARCHAR(50) NOT NULL DEFAULT '0',"
                        + " PRIMARY KEY (`num`)) "
                        + " ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_1 = "CREATE TABLE IF NOT EXISTS " + BattInf_Table
                        + " ( `num` INT NOT NULL AUTO_INCREMENT,"
                        + "`StationId` VARCHAR(20) NOT NULL DEFAULT '0',"
                        + "`StationName` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName1` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName2` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName3` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName4` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName5` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName6` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName7` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName8` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationName9` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`StationIP` VARCHAR(20) NOT NULL DEFAULT '0',"
                        + "`FBSDeviceId` BIGINT NOT NULL DEFAULT '0',"
                        + "`FBSDeviceIp` VARCHAR(50) NOT NULL DEFAULT '192.168.0.88',"
                        + "`FBSDeviceName` VARCHAR(100) NOT NULL DEFAULT '0',"
                        + "`GroupIndexInFBSDevice` INT NOT NULL DEFAULT '0',"
                        + "`BattModel` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`BattGroupId` INT NOT NULL DEFAULT '0',"
                        + "`BattGroupNum` INT NOT NULL DEFAULT '0',"
                        + "`BattGroupName` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`BattGroupName1` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`BattGroupName2` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`BattGroupName3` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`BattGroupName4` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`BattGroupName5` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`BattGroupName6` VARCHAR(100) NOT NULL DEFAULT ' ',"
                        + "`FloatVolLevel` FLOAT NOT NULL DEFAULT '1.12',"
                        + "`OfflineVolLevel` FLOAT NOT NULL DEFAULT '1.06',"
                        + "`BattFloatCurrent` FLOAT NOT NULL DEFAULT '0',"
                        + "`DeviceId` VARCHAR(20) NOT NULL DEFAULT '0',"
                        + "`DeviceName` VARCHAR(100) NOT NULL DEFAULT '0',"
                        + "`MonCount` INT NOT NULL DEFAULT '0',"
                        + "`MonCapStd` FLOAT NOT NULL DEFAULT '0',"
                        + "`MonVolStd` FLOAT NOT NULL DEFAULT '0',"
                        + "`MonResStd` FLOAT NOT NULL DEFAULT '0',"
                        + "`MonSerStd` FLOAT NOT NULL DEFAULT '0',"
                        + "`MonTmpStd` FLOAT NOT NULL DEFAULT '0',"
                        + "`MonVolLowToAvg` FLOAT NOT NULL DEFAULT '0',"
                        + "`MonNum` INT NOT NULL DEFAULT '0',"
                        + "`BattProducer` VARCHAR(45) NOT NULL DEFAULT '0',"
                        + "`BattProductDate` DATE NOT NULL DEFAULT '2006-07-06',"
                        + "`BattInUseDate` DATE NOT NULL DEFAULT '2006-07-06',"
                        + "`BattGuarantDayCount` INT NOT NULL DEFAULT '1095',"
                        + "`SignalId` VARCHAR(20) NOT NULL DEFAULT '0',"
                        + "`CInterFaceId` INT NOT NULL DEFAULT '0',"
                        + "`SignalName` VARCHAR(50) NOT NULL DEFAULT '0',"
                        + "INDEX index_station_id (`StationId`), "
                        + "INDEX index_battgroup_id (`BattGroupId`), "
                        + "INDEX index_station_name (`StationName`), "
                        + "INDEX index_battgroup_name (`BattGroupName`), "
                        + "PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_2 = "CREATE TABLE IF NOT EXISTS " + BattCurrInf_Table
                        + " ( `num` INT NOT NULL AUTO_INCREMENT,"
                        + "`StationId` VARCHAR(20) NOT NULL DEFAULT '0',"
                        + "`BattGroupId` VARCHAR(20) NOT NULL DEFAULT '0',"
                        + "`BattGroupName` VARCHAR(100) NOT NULL DEFAULT '0',"
                        + "`CurrDeviceId` VARCHAR(20) NOT NULL DEFAULT '0',"
                        + "`CurrDeviceName` VARCHAR(100) NOT NULL DEFAULT '0',"
                        + "`CurrValueId` VARCHAR(20) NOT NULL DEFAULT '0',"
                        + "`CurrValueName` VARCHAR(100) NOT NULL DEFAULT '0',"
                        + "PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_3 = "CREATE TABLE IF NOT EXISTS " + BattMainInf_Table
                        + " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`BattGroupId` INT NOT NULL DEFAULT 0, "
                        + "`usr_id` INT NOT NULL DEFAULT 0, "
                        + "`fault_type_id` INT NOT NULL DEFAULT 0, "
                        + "`fault_type` VARCHAR(50) NOT NULL DEFAULT ' ', "
                        + "`fault_level` INT NOT NULL DEFAULT 0, "
                        + "`fault_caption` VARCHAR(200) NOT NULL DEFAULT ' ', "
                        + "`fault_time` DATETIME NOT NULL DEFAULT '2005-1-1 00:00:00', "
                        + "`record_uid` INT NOT NULL DEFAULT 0, "
                        + "`record_time` DATETIME NOT NULL DEFAULT '2005-1-1 00:00:00', "
                        + "`maint_time_limit` DATETIME NOT NULL DEFAULT '2005-1-1 00:00:00', "
                        + "`maint_type_id` INT NOT NULL DEFAULT 0, "
                        + "`maint_type` VARCHAR(50) NOT NULL DEFAULT ' ', "
                        + "`maint_result` VARCHAR(100) NOT NULL DEFAULT ' ', "
                        + "`maint_done` BOOLEAN NOT NULL DEFAULT false, "
                        + "`maint_done_time` DATETIME DEFAULT '2005-1-1 00:00:00', "
                        + "`maint_close` BOOLEAN NOT NULL DEFAULT false, "
                        + "`master_id` INT NOT NULL DEFAULT 0, "
                        + "`master_audit` INT NOT NULL DEFAULT 0, "                //领导审核
                        + "`appoint_uid` INT NOT NULL DEFAULT 0, "                 //指派给谁
                        + "`copy_uids` VARCHAR(200) NOT NULL DEFAULT ' ', "        //抄送给谁
                        + "`master_check` VARCHAR(100) NOT NULL DEFAULT ' ', "
                        + "`remark` VARCHAR(200) NOT NULL DEFAULT ' ', "
                        + "INDEX index_battgroup_id (`BattGroupId`), "
                        + "INDEX index_user_id (`usr_id`), "
                        + "INDEX index_fault_type_id (`fault_type_id`), "
                        + "INDEX index_maint_type_id (`maint_type_id`), "
                        + "PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_3_1 = "CREATE TABLE IF NOT EXISTS " + BattMainProcess_Table
                        + " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`batt_maint_rec_id` BIGINT NOT NULL DEFAULT 0, "
                        + "`usr_id` INT NOT NULL DEFAULT 0, "
                        + "`work_caption` VARCHAR(200) NOT NULL DEFAULT ' ', "
                        + "`work_caption_time` DATETIME DEFAULT '2005-1-1 00:00:00', "
                        + "INDEX index_batt_maint_rec_id (`batt_maint_rec_id`), "
                        + " PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_3_2 = "CREATE TABLE IF NOT EXISTS " + UsrBattMaintCheck_Table
                        + " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`StationId` INT NOT NULL DEFAULT 0, "
                        + "`usr_id` INT NOT NULL DEFAULT 0, "
                        + "`master_id` INT NOT NULL DEFAULT 0, "
                        + "`appoint_uid` INT NOT NULL DEFAULT 0, "                 //指派给谁
                        + "`copy_uids` VARCHAR(200) NOT NULL DEFAULT ' ', "        //抄送给谁
                        + "`task_type_id` INT NOT NULL DEFAULT 0, "
                        + "`task_level` INT NOT NULL DEFAULT 0, "
                        + "`task_caption` VARCHAR(200) NOT NULL DEFAULT ' ', "
                        + "`task_time_start` DATETIME NOT NULL DEFAULT '2005-1-1 00:00:00', "
                        + "`task_time_end` DATETIME NOT NULL DEFAULT '2005-1-1 00:00:00', "
                        + "`task_process` VARCHAR(200) NOT NULL DEFAULT ' ', "
                        + "`task_done` BOOLEAN NOT NULL DEFAULT false, "
                        + "`task_done_time` DATETIME DEFAULT '2005-1-1 00:00:00', "
                        + "`origin_usr_work_mark` INT NOT NULL DEFAULT 0, "
                        + "`task_done_confirm` BOOLEAN NOT NULL DEFAULT false, "
                        + "`master_audit` INT NOT NULL DEFAULT 0, "                //领导审核
                        + "`remark` VARCHAR(200) NOT NULL DEFAULT ' ', "
                        + "INDEX index_station_id (`StationId`), "
                        + "INDEX index_user_id (`usr_id`), "
                        + "INDEX index_task_type_id (`task_type_id`), "
                        + "PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_3_2_1 = "CREATE TABLE IF NOT EXISTS " + UsrBattMaintCheckProcess_Table
                        + " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`task_rec_id` BIGINT NOT NULL DEFAULT 0, "
                        + "`usr_id` INT NOT NULL DEFAULT 0, "
                        + "`work_caption` VARCHAR(200) NOT NULL DEFAULT ' ', "
                        + "`work_caption_time` DATETIME DEFAULT '2005-1-1 00:00:00', "
                        + "INDEX index_task_rec_id (`task_rec_id`), "
                        + " PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_4 = "CREATE TABLE IF NOT EXISTS " + BattTestDataInf_Table
                        + " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`BattGroupId` INT NOT NULL DEFAULT 0, "
                        + "`test_record_count` INT NOT NULL DEFAULT 0, "
                        + "`test_record_count_ex` INT NOT NULL DEFAULT 0, "
                        + "`test_type` INT NOT NULL DEFAULT 0, "
                        + "`record_time_interval` INT NOT NULL DEFAULT 0, "
                        + "`data_new` BOOLEAN NOT NULL DEFAULT false, "
                        + "`data_available` BOOLEAN NOT NULL DEFAULT false, "
                        + "`record_num` INT NOT NULL DEFAULT 0, "
                        + "`test_starttime` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', "
                        + "`test_starttime_ex` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', "
                        + "`test_starttype` INT NOT NULL DEFAULT 0, "
                        + "`record_time` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', "
                        + "`test_timelong` INT NOT NULL DEFAULT 0, "
                        + "`test_stoptype` INT NOT NULL DEFAULT 0, "
                        + "`group_vol` FLOAT NOT NULL DEFAULT 0, "
                        + "`test_curr` FLOAT NOT NULL DEFAULT 0, "
                        + "`test_cap` FLOAT NOT NULL DEFAULT 0, "
                        + "`max_monnum` INT NOT NULL DEFAULT 0, "
                        + "`max_monvol` FLOAT NOT NULL DEFAULT 0, "
                        + "`min_monnum` INT NOT NULL DEFAULT 0, "
                        + "`min_monvol` FLOAT NOT NULL DEFAULT 0, "
                        + "`mon_num` INT NOT NULL DEFAULT 0, "
                        + "`mon_vol` FLOAT NOT NULL DEFAULT 0, "
                        + "`upload_usr_id` INT NOT NULL DEFAULT 0, "
                        + "`upload_data_ext` INT NOT NULL DEFAULT 0, "
                        + "`upload_client_type` INT NOT NULL DEFAULT 0, "
                        + "INDEX index_battgroup_id (`BattGroupId`), "
                        + "INDEX index_test_record_count (`test_record_count`), "
                        + "INDEX index_test_type (`test_type`), "
                        + "INDEX index_test_starttime (`test_starttime`), "
                        + "PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_5 = "CREATE TABLE IF NOT EXISTS " + BattResDataInf_Table
                        + " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`BattGroupId` INT NOT NULL DEFAULT 0, "
                        + "`test_record_count` INT NOT NULL DEFAULT 0, "
                        + "`test_record_count_ex` INT NOT NULL DEFAULT 0, "
                        + "`test_type` INT NOT NULL DEFAULT 0, "
                        + "`data_new` BOOLEAN NOT NULL DEFAULT false, "
                        + "`data_available` BOOLEAN NOT NULL DEFAULT false, "
                        + "`test_starttime` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', "
                        + "`test_starttime_ex` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', "
                        + "`test_devtype` INT NOT NULL DEFAULT 0, "
                        + "`record_time` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', "
                        + "`group_vol` FLOAT NOT NULL DEFAULT 0, "
                        + "`test_curr` FLOAT NOT NULL DEFAULT 0, "
                        + "`upload_usr_id` INT NOT NULL DEFAULT 0, "
                        + "`upload_client_type` INT NOT NULL DEFAULT 0, "
                        + "INDEX index_battgroup_id (`BattGroupId`), "
                        + "INDEX index_test_record_count (`test_record_count`), "
                        + "INDEX index_test_starttime (`test_starttime`), "
                        + "PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_6 = "DROP TABLE IF EXISTS " + SocketClientStateTable + "; ";
        String table_7 = "CREATE TABLE IF NOT EXISTS " + SocketClientStateTable
                        + "(`num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`uId` INT NOT NULL DEFAULT 0, "
                        + "`client_type` INT NOT NULL DEFAULT 0, "
                        + "`client_id` BIGINT NOT NULL DEFAULT 0, "
                        + "`BattGroupId` INT NOT NULL DEFAULT 0, "
                        + "`client_is_connected` BOOLEAN NOT NULL DEFAULT false, "
                        + "`client_ip` VARCHAR(64) NOT NULL DEFAULT ' ', "
                        + "`client_conn_time` DATETIME NOT NULL DEFAULT '1980-01-01', "
                        + "`client_disconn_time` DATETIME NOT NULL DEFAULT '1980-01-01', "
                        + "INDEX index_user_id (`uId`), "
                        + "INDEX index_client_type (`client_type`), "
                        + "PRIMARY KEY (`num`)) "
                        + "ENGINE=MEMORY DEFAULT CHARSET=utf8;";
        String table_8 = "CREATE TABLE IF NOT EXISTS " + FBSDevStateChangeInf_Table
                        + "(`num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`dev_id` INT NOT NULL DEFAULT 0, "
                        + "`rec_time` DATETIME NOT NULL DEFAULT '1980-01-01', "
                        + "`last_stat` INT NOT NULL DEFAULT 0, "
                        + "`now_stat` INT NOT NULL DEFAULT 0, "
                        + "`state_change_reason` INT NOT NULL DEFAULT 0, "
                        + "`dev_alarm` INT NOT NULL DEFAULT 0, "
                        + "INDEX index_dev_id (`dev_id`), "
                        + "PRIMARY KEY (`num`)) "
                        + "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        String table_9 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.BTSStationEvent_Table
                        + " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
                        + "`station_id` BIGINT NOT NULL DEFAULT 0, "
                        + "`dev_id` BIGINT NOT NULL DEFAULT 0, "
                        + "`record_datetime` varchar(20) NOT NULL DEFAULT '2015-12-02 12:10:00', "
                        + "`station_event_type` INT NOT NULL DEFAULT 0, "
                        + "`station_event_trig` INT NOT NULL DEFAULT 0, "
                        + " INDEX index_dev_id (`dev_id`), "
                        + " INDEX index_station_id (`station_id`), "
                        + " PRIMARY KEY (`num`) ) "
                        + " ENGINE=InnoDB DEFAULT CHARSET=utf8";
        //-------------------------------------------------------------------------------------//
        //-------------------------------------------------------------------------------------//
        sqlMysqlUseDB(Sql_Mysql.DB_AppSys);
        if(false == sqlMysqlCheckIfTableExist(TB_AppSys))
        {
            sqlMysqlExecute(table_0);
            sqlMysqlExecute("INSERT INTO " + Sql_Mysql.AppSys_Table
                                + " (AppName) VALUES ('蓄电池组综合管理系统')");
        }
        //-------------------------------------------------------------------------------------//
        {
            ResultSet rest = sqlMysqlQuery("SELECT AppServer_Version FROM " + Sql_Mysql.AppSys_Table);
            if(rest.next()) {
                float ser_version = rest.getFloat(1);
                if(ser_version < 1.387) {
                    sqlMysqlExecute("UPDATE " + Sql_Mysql.AppSys_Table + " SET AppServer_Version=1.388");
                    sqlMysqlExecute("USE db_batt_testdata");
                    sqlMysqlExecute("UPDATE tb_batttestdata_inf SET "
                                    + " test_starttime=date_sub(test_starttime, interval 1 month) "
                                    + " WHERE upload_usr_id>0");
                }
            }
        }
        //---------------------------------------------------------------------------------------------//
            ResultSet res0 = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_app_sys'"
                                    + " AND table_name='tb_app_sys'"
                                    + " AND column_name='SqlDB_BackUpTime'");
            if(false == res0.next()) {
                sqlMysqlExecute("ALTER TABLE " + AppSys_Table
                                + " ADD COLUMN `SqlDB_BackUpTime` DATETIME NOT NULL DEFAULT '2000-1-1 00:00:00'"
                                + " AFTER `SqlDB_Version`,"
                                + " ADD COLUMN `SqlDB_BackUpManual_EN` BOOLEAN NOT NULL DEFAULT false"
                                + " AFTER `SqlDB_BackUpTime`");
            }
            res0 = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                + " WHERE table_schema='db_app_sys'"
                                + " AND table_name='tb_app_sys'"
                                + " AND column_name='SqlDB_BackUpManual_EN'");
            if(false == res0.next()) {
                sqlMysqlExecute("ALTER TABLE " + AppSys_Table
                                + " ADD COLUMN `SqlDB_BackUpManual_EN` BOOLEAN NOT NULL DEFAULT false"
                                + " AFTER `SqlDB_BackUpTime`");
            }
            /**************************** db_app_sys 表中添加 AppServer_Reinit_BattGroupData_EN列(重新载入电池组信息) *******************************************/
            res0 = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_app_sys'"
                    + " AND table_name='tb_app_sys'"
                    + " AND column_name='AppServer_Reinit_BattGroupData_EN'");
            if(false == res0.next()) {
            sqlMysqlExecute("ALTER TABLE " + AppSys_Table
                            + " ADD COLUMN `AppServer_Reinit_BattGroupData_EN` BOOLEAN NOT NULL DEFAULT false"
                            + " AFTER `SqlDB_BackUpManual_EN`");
            }
            /**************************** db_app_sys 表中添加 AppServer_Reinit_BattGroupData_EN 列(用于主程序动态调整运行参数) *******************************************/
            res0 = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_app_sys'"
                    + " AND table_name='tb_app_sys'"
                    + " AND column_name='AppServer_Reinit_Config_EN'");
            if(false == res0.next()) {
            sqlMysqlExecute("ALTER TABLE " + AppSys_Table
                            + " ADD COLUMN `AppServer_Reinit_Config_EN` BOOLEAN NOT NULL DEFAULT false"
                            + " AFTER `AppServer_Reinit_BattGroupData_EN`");
            }
            /**************************** db_app_sys 表中添加 AppServer_Reinit_BattGroupData_LD9_EN 列(用于LD9主程序动态加载设备参数) *******************************************/
            res0 = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_app_sys'"
                    + " AND table_name='tb_app_sys'"
                    + " AND column_name='AppServer_Reinit_BattGroupData_LD9_EN'");
            if(false == res0.next()) {
            sqlMysqlExecute("ALTER TABLE " + AppSys_Table
                            + " ADD COLUMN `AppServer_Reinit_BattGroupData_LD9_EN` BOOLEAN NOT NULL DEFAULT false"
                            + " AFTER `AppServer_Reinit_BattGroupData_EN`");
            }
            /**************************** db_app_sys 表中添加 AppServer_Reinit_BattGroupData_FBO4830_EN 列(用于4830主程序动态加载设备参数) *******************************************/
            res0 = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_app_sys'"
                    + " AND table_name='tb_app_sys'"
                    + " AND column_name='AppServer_Reinit_BattGroupData_FBO4830_EN'");
            if(false == res0.next()) {
                sqlMysqlExecute("ALTER TABLE " + AppSys_Table
                        + " ADD COLUMN `AppServer_Reinit_BattGroupData_FBO4830_EN` BOOLEAN NOT NULL DEFAULT false"
                        + " AFTER `AppServer_Reinit_BattGroupData_LD9_EN`");
            }
        //---------------------------------------------------------------------------------------------//
        sqlMysqlExecute(table_1);
        sqlMysqlExecute(table_2);
        sqlMysqlExecute(table_3);
        sqlMysqlExecute(table_3_1);
        sqlMysqlExecute(table_3_2);
        sqlMysqlExecute(table_3_2_1);
        sqlMysqlExecute(table_4);
        sqlMysqlExecute(table_5);
        sqlMysqlExecute(table_6);
        sqlMysqlExecute(table_7);
        sqlMysqlExecute(table_8);
        sqlMysqlExecute(table_9);
        //---------------------------------------------------------------------------------------------//
        ResultSet res = sqlMysqlQuery("show index from " + BattInf_Table + " where column_name='BattGroupId'");
        if(false == res.next())
        {
            sqlMysqlExecute("ALTER TABLE " + BattInf_Table + " ADD INDEX `index_station_id` (`StationId` ASC);");
            sqlMysqlExecute("ALTER TABLE " + BattInf_Table + " ADD INDEX `index_battgroup_id` (`BattGroupId` ASC);");
            sqlMysqlExecute("ALTER TABLE " + BattInf_Table + " ADD INDEX `index_station_name` (`StationName` ASC);");
            sqlMysqlExecute("ALTER TABLE " + BattInf_Table + " ADD INDEX `index_battgroup_name` (`BattGroupName` ASC);");
        }
        //---------------------------------------------------------------------------------------------//
                //-------------------------------- 2017-06-06 by mxpopstar ------------------------------------//
                        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                                + " WHERE table_schema='db_battinf'"
                                                + " AND table_name='tb_battinf'"
                                                + " AND column_name='BattGuarantDayCount'");
                        if(false == res.next()) {
                            sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                            + " ADD COLUMN `BattGuarantDayCount` INT NOT NULL DEFAULT 1095 AFTER `BattInUseDate`");
                        }
                //---------------------------------------------------------------------------------------------//
                //-------------------------------- 2018-10-12 by lijun   (  binf表中添加   Load_curr->负载电流        disCurrMax -> 最大核容电流   )------------------------------------//
                        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                                + " WHERE table_schema='db_battinf'"
                                                + " AND table_name='tb_battinf'"
                                                + " AND column_name='Load_curr'");
                        if(false == res.next()) {
                            sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                            + " ADD COLUMN `Load_curr` float NOT NULL DEFAULT 15");
                        }
                        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                + " WHERE table_schema='db_battinf'"
                                + " AND table_name='tb_battinf'"
                                + " AND column_name='disCurrMax'");
                        if(false == res.next()) {
                            sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                            + " ADD COLUMN `disCurrMax` float NOT NULL DEFAULT 0");
                        }
                //-------------------------------- 2018-10-16 by lijun   (  binf表中添加   station_phone->基站手机号 )------------------------------------//
                        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                + " WHERE table_schema='db_battinf'"
                                + " AND table_name='tb_battinf'"
                                + " AND column_name='station_phone'");
                        if(false == res.next()) {
                            sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                            + " ADD COLUMN `station_phone` varchar(32) DEFAULT ''");
                        }
                //---------------------------------------------------------------------------------------------//
                //-------------------------------- 2018-10-16 by lijun   (  binf表中添加   station_install->标识机房是否已经安装 )------------------------------------//
                        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                + " WHERE table_schema='db_battinf'"
                                + " AND table_name='tb_battinf'"
                                + " AND column_name='station_install'");
                        if(false == res.next()) {
                            sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                            + " ADD COLUMN `station_install` BOOLEAN NOT NULL DEFAULT false");
                        }
                //---------------------------------------------------------------------------------------------//
                //-------------------------------- 2018-11-29 by lijun   (  binf表中添加   StationId_ex->基站站址编号   install_user-->安装人)------------------------------------//
                        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                + " WHERE table_schema='db_battinf'"
                                + " AND table_name='tb_battinf'"
                                + " AND column_name='StationId_ex'");
                        if(false == res.next()) {
                            sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                            + " ADD COLUMN `StationId_ex` varchar(20) DEFAULT '' AFTER StationId");
                        }
                        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                + " WHERE table_schema='db_battinf'"
                                + " AND table_name='tb_battinf'"
                                + " AND column_name='install_user'");
                        if(false == res.next()) {
                            sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                    + " ADD COLUMN `install_user` varchar(64) DEFAULT ''");
                        }
                //---------------------------------------------------------------------------------------------//
                //-------------------------------- 2018-12-12 by lijun   (  binf表中添加  charge_curr_max  最大充电电流)------------------------------------//
                        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                + " WHERE table_schema='db_battinf'"
                                + " AND table_name='tb_battinf'"
                                + " AND column_name='charge_curr_max'");
                        if(false == res.next()) {
                            sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                            + " ADD COLUMN `charge_curr_max` float DEFAULT '20'");
                        }
                 //---------------------------------------------------------------------------------------------//
                        //为紫晶南网平台添加指定的列
                        boolean isZijing = true;
                        if(isZijing) {
                            //添加电压等级列
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='Vol_grade'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `Vol_grade` float DEFAULT '0'");
                            }
                            //生产厂家
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='Manufacturers'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `Manufacturers` varchar(64) DEFAULT ''");
                            }
                            //是否资产级设备
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='Assetequipment'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `Assetequipment` varchar(64) DEFAULT ''");
                            }
                            //设备分类全路径
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='Deviceclasspath'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `Deviceclasspath` varchar(64) DEFAULT ''");
                            }
                            //设备运维部门
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='Deviceoperationdepartment'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `DeviceOperationDepartment` varchar(64) DEFAULT ''");
                            }
                            //产权单位
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='PropertyRightUnit'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `PropertyRightUnit` varchar(64) DEFAULT ''");
                            }
                            //产权属性
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='PropertyAttribute'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `PropertyAttribute` varchar(64) DEFAULT ''");
                            }
                            //出厂编号
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='FactoryNumber'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `FactoryNumber` varchar(64) DEFAULT ''");
                            }
                            //运维班组
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='OperationTeam'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `OperationTeam` varchar(64) DEFAULT ''");
                            }
                            //设备身份编码
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='DeviceIdentityCode'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `DeviceIdentityCode` varchar(64) DEFAULT ''");
                            }
                            //项目类型
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='ProjectType'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `ProjectType` varchar(64) DEFAULT ''");
                            }
                            //蓄电池应用类型
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='BatteryApplicationType'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `BatteryApplicationType` varchar(64) DEFAULT ''");
                            }
                            //单电池额定电压
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='SingleRatedVoltage'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `SingleRatedVoltage` float DEFAULT '0'");
                            }
                            //是否实现远程监控
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='RemoteMonitor'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `RemoteMonitor` varchar(64) DEFAULT ''");
                            }
                            //是否独立蓄电池室放置
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='BatttIndependentPlaced'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `BatttIndependentPlaced` varchar(64) DEFAULT ''");
                            }
                            //均充电压设定值
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='JunChargeVoltageValue'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `JunChargeVoltageValue` float DEFAULT '0'");
                            }
                            //公钥X
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='PublicKeyX'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `PublicKeyX` varchar(200) NOT NULL DEFAULT ''");
                            }
                            //公钥Y
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='PublicKeyY'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `PublicKeyY` varchar(200) NOT NULL DEFAULT ''");
                            }
                            //KeyID
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='KeyID'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `KeyID` varchar(200) NOT NULL DEFAULT ''");
                            }
                            //唯一索引
                            res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                    + " WHERE table_schema='db_battinf'"
                                    + " AND table_name='tb_battinf'"
                                    + " AND column_name='SerialNumber'");
                            if(false == res.next()) {
                                sqlMysqlExecute("ALTER TABLE " + BattInf_Table
                                                + " ADD COLUMN `SerialNumber` varchar(200) NOT NULL DEFAULT ''");
                            }
                        }
        //---------------------------------------------------------------------------------------------//
        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                + " WHERE table_schema='db_battinf'"
                                + " AND table_name='tb_batt_maint_inf'"
                                + " AND column_name='master_audit'");
        if(false == res.next()) {
            sqlMysqlExecute("ALTER TABLE " + BattMainInf_Table
                            + " ADD COLUMN `fault_type_id` INT NOT NULL DEFAULT 0 AFTER `usr_id`,"
                            + " ADD COLUMN `maint_type_id` INT NOT NULL DEFAULT 0 AFTER `maint_time_limit`,"
                            + " ADD COLUMN `master_audit` INT NOT NULL DEFAULT 0 AFTER `master_id`,"
                            + " ADD COLUMN `maint_close` BOOLEAN NOT NULL DEFAULT FALSE AFTER `maint_done_time`,"
                            + " ADD COLUMN `appoint_uid` INT NOT NULL DEFAULT 0 AFTER `master_audit`,"
                            + " ADD COLUMN `copy_uids` VARCHAR(200) NOT NULL DEFAULT ' ' AFTER `master_audit`");
        }
        //---------------------------------------------------------------------------------------------//
        //---------------------------------------------------------------------------------------------//
        res = sqlMysqlQuery("show index from " + BattTestDataInf_Table + " where column_name='test_starttime'");
        if(false == res.next())
        {
            sqlMysqlExecute("ALTER TABLE " + BattTestDataInf_Table + " ADD INDEX `index_test_record_count` (`test_record_count` ASC);");
            sqlMysqlExecute("ALTER TABLE " + BattTestDataInf_Table + " ADD INDEX `index_test_type` (`test_type` ASC);");
            sqlMysqlExecute("ALTER TABLE " + BattTestDataInf_Table + " ADD INDEX `index_test_starttime` (`test_starttime` ASC);");
        }
        //---------------------------------------------------------------------------------------------//
        //---------------------------------------------------------------------------------------------//
        res = sqlMysqlQuery("show index from " + BattResDataInf_Table + " where column_name='test_starttime'");
        if(false == res.next())
        {
            sqlMysqlExecute("ALTER TABLE " + BattResDataInf_Table + " ADD INDEX `index_test_record_count` (`test_record_count` ASC);");
            sqlMysqlExecute("ALTER TABLE " + BattResDataInf_Table + " ADD INDEX `index_test_type` (`test_type` ASC);");
            sqlMysqlExecute("ALTER TABLE " + BattResDataInf_Table + " ADD INDEX `index_test_starttime` (`test_starttime` ASC);");
        }
        //---------------------------------------------------------------------------------------------//
        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                        + " WHERE table_schema='db_batt_testdata'"
                                        + " AND table_name='tb_batttestdata_inf'"
                                        + " AND column_name='test_record_count_ex'");
        if(false == res.next())
        {
            sqlMysqlExecute("ALTER TABLE " + BattTestDataInf_Table
                            + " ADD COLUMN `test_record_count_ex` INT NOT NULL DEFAULT 0 AFTER `test_record_count`,"
                            + " ADD COLUMN `test_starttime_ex` DATETIME NOT NULL DEFAULT '1920-01-01 00:00:00' AFTER `test_starttime`,"
                            + " ADD COLUMN `upload_usr_id` INT NOT NULL DEFAULT 0 AFTER `mon_vol`");
        }
        //---------------------------------------------------------------------------------------------//
        //---------------------------------------------------------------------------------------------//
        res = sqlMysqlQuery("SELECT * FROM information_schema.columns"
                                                + " WHERE table_schema='db_batt_testdata'"
                                                + " AND table_name='tb_batttestdata_inf'"
                                                + " AND column_name='upload_data_ext'");
        if(false == res.next())
        {
            sqlMysqlExecute("ALTER TABLE " + BattTestDataInf_Table
                            + " ADD COLUMN `upload_data_ext` INT NOT NULL DEFAULT 0 AFTER `upload_usr_id`,"
                            + " ADD COLUMN `upload_client_type` INT NOT NULL DEFAULT 0 AFTER `upload_data_ext`");
            sqlMysqlExecute("ALTER TABLE " + BattResDataInf_Table
                            + " ADD COLUMN `upload_client_type` INT NOT NULL DEFAULT 0 AFTER `upload_usr_id`");
        }
        //---------------------------------------------------------------------------------------------//
        //----------------------------将num自增字段改为bigint类型---------------------------------------//
        res = sqlMysqlQuery("SELECT DATA_TYPE FROM information_schema.columns"
                                        + " WHERE table_schema='db_batt_testdata'"
                                        + " AND table_name='tb_batttestdata_inf'"
                                        + " AND column_name='num'");
        if(true == res.next()) {
            if(false == "bigint".equals(res.getString("DATA_TYPE").toLowerCase())) {
                sqlMysqlExecute("ALTER TABLE " + BattTestDataInf_Table + " MODIFY COLUMN num BIGINT NOT NULL AUTO_INCREMENT;");
                sqlMysqlExecute("ALTER TABLE " + BattResDataInf_Table + " MODIFY COLUMN num BIGINT NOT NULL AUTO_INCREMENT;");
            }
        }
        //---------------------------------------------------------------------------------------------//
        //-----------------------------  tb_fbsdev_statechange_inf 表中新增2个字段  ----------------------------------------------------------------//
        res = sqlMysqlQuery("SELECT DATA_TYPE FROM information_schema.columns"
                + " WHERE table_schema='db_app_sys'"
                + " AND table_name='tb_fbsdev_statechange_inf'"
                + " AND column_name='eve_type'");
        if(false == res.next()) {
            sqlMysqlExecute("ALTER TABLE " + FBSDevStateChangeInf_Table
                    + " ADD COLUMN `eve_type` int DEFAULT 0;");
        }
        res = sqlMysqlQuery("SELECT DATA_TYPE FROM information_schema.columns"
                + " WHERE table_schema='db_app_sys'"
                + " AND table_name='tb_fbsdev_statechange_inf'"
                + " AND column_name='module_num'");
        if(false == res.next()) {
            sqlMysqlExecute("ALTER TABLE " + FBSDevStateChangeInf_Table
                    + " ADD COLUMN `module_num` int DEFAULT 0;");
        }
        sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + DB_ALARM + " AUTHORIZATION sysdba");
        sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + DB_BATT + " AUTHORIZATION sysdba");
        sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + DB_DIS_BATT + " AUTHORIZATION sysdba");
        sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + DB_POWER_RT + " AUTHORIZATION sysdba");
        sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + DB_REAL_BATT + " AUTHORIZATION sysdba");
        sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + DB_PARAM + " AUTHORIZATION sysdba");
        sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + DB_POWER_ALARM + " AUTHORIZATION sysdba");
    }
    
    //使用db数据库
    public void sqlMysqlUseDB(String db) throws SQLException
@@ -1208,26 +112,6 @@
        sqlMysqlExecute("use " + db);
    }
    
    //获取电池组机房的个数
    public int getBattStationCount()
    {
        int st_count = 0;
        try {
            sqlMysqlUseDB(Sql_Mysql.DB_BATT_INF);
            String sql_str = "SELECT DISTINCT StationId FROM " + BattInf_Table;
            ResultSet res = sqlMysqlQuery(sql_str);
            while(res.next())
            {
                st_count++;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return st_count;
    }
    
    /**
     * 检查tb表是否存在
@@ -1385,125 +269,7 @@
        }
    }
    
    //根据电池组id 获取机房名称
    public String getStationName(int bg_id)
    {
        String stname = " ";
        String sql_str = "SELECT DISTINCT StationName FROM "
                            + Sql_Mysql.BattInf_Table + " WHERE BattGroupId=" + bg_id;
        ResultSet res = sqlMysqlQuery(sql_str);
        try {
            if(res.next())
            {
                stname = res.getString("StationName");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return stname;
    }
    
    //根据电池组id 获取电池组名称
    public String getBattGroupName(int bg_id)
    {
        String bgname = " ";
        String sql_str = "SELECT DISTINCT BattGroupName FROM "
                            + Sql_Mysql.BattInf_Table + " WHERE BattGroupId=" + bg_id;
        ResultSet res = sqlMysqlQuery(sql_str);
        try {
            if(res.next())
            {
                bgname = res.getString("BattGroupName");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return bgname;
    }
    //根据用户的id获取用户的名称
    public String getUsrName(int uid)
    {
        String usrname = " ";
        String sql_str = "SELECT uName FROM " + Sql_Mysql.UserInfTable + " WHERE uId=" + uid;
        ResultSet res = sqlMysqlQuery(sql_str);
        try {
            if(res.next())
            {
                usrname = res.getString("uName");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return usrname;
    }
    //根据format_type 获取format_str 的样式
    public String getTaskSmsFormatStr(String format_type)
    {
        String str = "";
        String sql_str = "SELECT DISTINCT "
                        + Sql_Mysql.UserSmsFormatTable + ".format_str"
                        + " FROM " + Sql_Mysql.UserSmsFormatTable
                        + " WHERE "
                        + Sql_Mysql.UserSmsFormatTable + ".format_type='" + format_type + "'";
        ResultSet sql_res = sqlMysqlQuery(sql_str);
        try {
            if(sql_res.next())
            {
                str = sql_res.getString("format_str");
            }
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            //e1.printStackTrace();
        }
        return str;
    }
    //根据作业id获取作业的名称
    public String getUsrTaskName(int taskid)
    {
        String taskname = " ";
        String sql_str = "SELECT task_name FROM " + Sql_Mysql.UserTaskTable + " WHERE task_id=" + taskid;
        ResultSet res = sqlMysqlQuery(sql_str);
        try {
            if(res.next()) {
                taskname = res.getString("task_name");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return taskname;
    }
    //根据作业id获取用户作业的创建时间
    public String getUsrTaskCreateTime(int taskid)
    {
        String taskcreatetime = " ";
        String sql_str = "SELECT task_create_date FROM " + Sql_Mysql.UserTaskTable + " WHERE task_id=" + taskid;
        ResultSet res = sqlMysqlQuery(sql_str);
        try {
            if(res.next())
            {
                taskcreatetime = Com.getDateTimeFormat(res.getTimestamp("task_create_date"), Com.DTF_YMDhms);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return taskcreatetime;
    }
    
    
    //获取新创建的记录的testrecordcount的值
BattMonitor_DB_Builder/src/com/sql/util/Db_Alarm.java
New file
@@ -0,0 +1,23 @@
package com.sql.util;
import java.sql.SQLException;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
public class Db_Alarm {
    public static void init(MysqlConnPool pool) {
        createDb_Alarm(pool);
    }
    public static void createDb_Alarm(MysqlConnPool pool) {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            sql.sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + Sql_Mysql.DB_ALARM + " AUTHORIZATION sysdba");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
BattMonitor_DB_Builder/src/com/sql/util/Db_Batt.java
New file
@@ -0,0 +1,240 @@
package com.sql.util;
import java.sql.SQLException;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
public class Db_Batt {
    public static void init(MysqlConnPool pool) {
        createDb_Batt(pool);
        createMon_Inf_Table(pool);
        createMon_Plan_Table(pool);
        createPower_Inf_Table(pool);
        createSinf_Pinf_Table(pool);
        createStation_Inf_Table(pool);
    }
    public static void createStation_Inf_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Station_Inf_Table + " "
                            + "(sinf_id integer NOT NULL," +
                            "    sinf_name character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '机组1'::character varying," +
                            "    stype integer NOT NULL DEFAULT 1," +
                            "     PRIMARY KEY (sinf_id)" +
                            ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER  TABLE " + Sql_Mysql.Station_Inf_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Station_Inf_Table + ".sinf_id IS '机房id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Station_Inf_Table + ".sinf_name IS '机房名称';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Station_Inf_Table + ".stype IS '机房类型';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    public static void createSinf_Pinf_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Sinf_Pinf_Table + "_auto" +
                     " INCREMENT 1" +
                     " MINVALUE 1" +
                     " MAXVALUE 9223372036854775807" +
                     " START 1" +
                     " CACHE 1;";
            //创建自增序列
            sql.sqlMysqlExecute(sql_str_auto);
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Sinf_Pinf_Table + " "
                            + "(num integer NOT NULL DEFAULT nextval('" + Sql_Mysql.Sinf_Pinf_Table + "db_batt.sinf_pinf_auto'::regclass)," +
                            "    sinf_id integer NOT NULL," +
                            "    pinf_id integer NOT NULL," +
                            "     PRIMARY KEY (num)" +
                            ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER  TABLE " + Sql_Mysql.Sinf_Pinf_Table + " OWNER TO sysdba;");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    public static void createPower_Inf_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Power_Inf_Table + "_auto" +
                     " INCREMENT 1" +
                     " MINVALUE 1" +
                     " MAXVALUE 9223372036854775807" +
                     " START 1" +
                     " CACHE 1;";
            //创建自增序列
            sql.sqlMysqlExecute(sql_str_auto);
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Power_Inf_Table + " "
                            + "(power_id integer NOT NULL DEFAULT 1," +
                            "    power_name character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '电源组1'::character varying," +
                            "    mon_num integer NOT NULL DEFAULT 1," +
                            "    acvol_high_limit double precision NOT NULL DEFAULT '200'::double precision," +
                            "    acvol_low_limit double precision NOT NULL DEFAULT '200'::double precision," +
                            "    dcoutvol_low_limit double precision NOT NULL DEFAULT '43.2'::double precision," +
                            "    power_ip character(32) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '127.0.0.1'::character varying," +
                            "    dev_type integer NOT NULL DEFAULT 1," +
                            "    binf_id integer NOT NULL DEFAULT 0," +
                            "    binf_name character varying(32) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '电源组1'::character varying," +
                            "    mon_vol integer NOT NULL DEFAULT 2," +
                            "    mon_cap integer NOT NULL DEFAULT 150," +
                            "    mon_res double precision NOT NULL DEFAULT '0.4'::double precision," +
                            "    load_curr double precision NOT NULL DEFAULT '0'::double precision," +
                            "     PRIMARY KEY (power_id)" +
                            ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER  TABLE " + Sql_Mysql.Power_Inf_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".power_id IS '电源ID';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".power_name IS '电源名称';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".mon_num IS '电池组单体个数';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".acvol_high_limit IS '交流上限阈值';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".acvol_low_limit IS '交流下限阈值';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".dcoutvol_low_limit IS '直流输出电压下限阈值';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".power_ip IS '电源IP地址';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".dev_type IS '电源类型[1-一段直流电源  2-二段直流电源  3-三段直流电源(3段直流电源无蓄电池数据)]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".binf_id IS '绑定电池组ID';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".binf_name IS '电池组名称';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".mon_vol IS '标称单体电压';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".mon_cap IS '标称容量';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".mon_res IS '标称内阻';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Power_Inf_Table + ".load_curr IS '负载电流';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    public static void createMon_Plan_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Mon_Plan_Table + "_auto" +
                     " INCREMENT 1" +
                     " MINVALUE 1" +
                     " MAXVALUE 9223372036854775807" +
                     " START 1" +
                     " CACHE 1;";
            //创建自增序列
            sql.sqlMysqlExecute(sql_str_auto);
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Mon_Plan_Table + " "
                            + "(num integer NOT NULL DEFAULT nextval('" + Sql_Mysql.Mon_Plan_Table + "_auto'::regclass)," +
                            "    mon_id character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '2011'::character varying," +
                            "    plan_type integer NOT NULL DEFAULT 0," +
                            "    plan_rate double precision NOT NULL DEFAULT 0," +
                            "    start_time timestamp without time zone NOT NULL DEFAULT '2024-01-01 00:00:00'::timestamp without time zone," +
                            "    stop_time timestamp without time zone NOT NULL DEFAULT '2024-01-01 00:00:00'::timestamp without time zone," +
                            "    create_time timestamp without time zone NOT NULL DEFAULT '2024-01-01 00:00:00'::timestamp without time zone," +
                            "    create_user_id integer NOT NULL DEFAULT 1001," +
                            "    create_user_name character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT 'hw'::character varying," +
                            "    old_row character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    old_col character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    old_addres_num character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    new_row character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    new_col character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    new_addres_num character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    plan_state integer NOT NULL DEFAULT 0," +
                            "     PRIMARY KEY (num)" +
                            ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER  TABLE " + Sql_Mysql.Mon_Plan_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".mon_id IS '单体编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".plan_type IS '计划类型:0报废,1转运,2入库,3出库';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".plan_rate IS '计划进度百分比';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".start_time IS '计划开始时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".stop_time IS '计划结束时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".create_time IS '创建时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".create_user_id IS '创建人id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".create_user_name IS '创建人名';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".old_row IS '原层';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".old_col IS '原列';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".old_addres_num IS '原库位编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".new_row IS '新层';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".new_col IS '新列';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".new_addres_num IS '新库位编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Plan_Table + ".plan_state IS '计划状态:0未开始,1进行中,2完成,3失败';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    public static void createMon_Inf_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Mon_Inf_Table + " "
                            + "( mon_id character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '2011'::character varying," +
                            "    batt_type character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '铅酸阀控蓄电池'::character varying," +
                            "    mon_vol integer NOT NULL DEFAULT 2," +
                            "    mon_model character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '理士'::character varying," +
                            "    mon_inuse_year integer NOT NULL DEFAULT 2," +
                            "    mon_cap double precision NOT NULL DEFAULT '300'::double precision," +
                            "    product_time date NOT NULL DEFAULT '2024-01-01'::date," +
                            "    mon_type character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT 'A'::character varying," +
                            "    local_row character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    local_col character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    addres_num character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1'::character varying," +
                            "    laid_up_time date NOT NULL DEFAULT '2024-01-01'::date" +
                            ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER  TABLE " + Sql_Mysql.Mon_Inf_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".mon_id IS '单体编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".batt_type IS '单体类型';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".mon_vol IS '标称电压';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".mon_model IS '单体品牌';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".mon_inuse_year IS '使用年限';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".mon_cap IS '标称容量';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".product_time IS '出场日期';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".mon_type IS '库位类型';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".local_row IS '层';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".local_col IS '列';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".addres_num IS '库位编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Mon_Inf_Table + ".laid_up_time IS '入库时间';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    public static void createDb_Batt(MysqlConnPool pool) {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            sql.sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + Sql_Mysql.DB_BATT + " AUTHORIZATION sysdba");
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
}
BattMonitor_DB_Builder/src/com/sql/util/Db_Dis_Batt.java
New file
@@ -0,0 +1,82 @@
package com.sql.util;
import java.sql.SQLException;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
public class Db_Dis_Batt {
    public static void init(MysqlConnPool pool) {
        createDb_Dis_Batt(pool);
        createBatt_Test_Inf_Table(pool);
    }
    public static void createBatt_Test_Inf_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Batt_Test_Inf_Table + "_auto" +
                     " INCREMENT 1" +
                     " MINVALUE 1" +
                     " MAXVALUE 9223372036854775807" +
                     " START 1" +
                     " CACHE 1;";
            //创建自增序列
            sql.sqlMysqlExecute(sql_str_auto);
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Batt_Test_Inf_Table + " "
                            + "(num integer NOT NULL DEFAULT nextval('" + Sql_Mysql.Batt_Test_Inf_Table + "_auto'::regclass)," +
                            "    binf_id integer NOT NULL," +
                            "    test_record_count integer NOT NULL," +
                            "    test_record_count_ex integer NOT NULL," +
                            "    record_time timestamp without time zone NOT NULL," +
                            "    test_starttime timestamp without time zone NOT NULL," +
                            "    test_type integer NOT NULL DEFAULT 0," +
                            "    record_num integer NOT NULL DEFAULT 0," +
                            "    test_starttype integer NOT NULL DEFAULT 0," +
                            "    test_timelong integer NOT NULL DEFAULT 0," +
                            "    test_stoptype integer NOT NULL DEFAULT 0," +
                            "    group_vol double precision NOT NULL DEFAULT '0'::double precision," +
                            "    test_curr double precision NOT NULL DEFAULT '0'::double precision," +
                            "    test_cap double precision NOT NULL DEFAULT '0'::double precision," +
                            "    max_monnum integer NOT NULL DEFAULT 0," +
                            "    max_monvol double precision NOT NULL DEFAULT '0'::double precision," +
                            "    min_monnum integer NOT NULL DEFAULT 0," +
                            "    min_monvol double precision NOT NULL DEFAULT '0'::double precision," +
                            "     PRIMARY KEY (num)" +
                            ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER  TABLE " + Sql_Mysql.Batt_Test_Inf_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".binf_id IS '电池组id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".test_record_count IS '第N次放电';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".record_time IS '记录时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".test_starttime IS '测试开始时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".test_type IS '测试类型';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".record_num IS '记录总数';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".test_starttype IS '测试开始类型';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".test_timelong IS '测试时长';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".test_stoptype IS '测试停止类型';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".test_curr IS '测试电流';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".test_cap IS '测试容量';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".max_monnum IS '最大单体电压编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".max_monvol IS '最大单体电压';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".min_monnum IS '最小单体电压编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Batt_Test_Inf_Table + ".min_monvol IS '最小单体电压';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    public static void createDb_Dis_Batt(MysqlConnPool pool) {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            sql.sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + Sql_Mysql.DB_DIS_BATT + " AUTHORIZATION sysdba");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
BattMonitor_DB_Builder/src/com/sql/util/Db_Param.java
New file
@@ -0,0 +1,105 @@
package com.sql.util;
import java.sql.SQLException;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
public class Db_Param {
    public static void init(MysqlConnPool pool) {
        createDb_Param(pool);
        createBattAlarm_Param_Table(pool);
        createPowerAlarm_param_Table(pool);
    }
    public static void createPowerAlarm_param_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.PowerAlarm_param_Table + "_auto" +
                     " INCREMENT 1" +
                     " MINVALUE 1" +
                     " MAXVALUE 9223372036854775807" +
                     " START 1" +
                     " CACHE 1;";
            //创建自增序列
            sql.sqlMysqlExecute(sql_str_auto);
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.PowerAlarm_param_Table + " "
                            + "(num bigint NOT NULL DEFAULT nextval('" + Sql_Mysql.PowerAlarm_param_Table + "_auto'::regclass)," +
                            "    power_id integer NOT NULL DEFAULT 1," +
                            "    alm_id integer NOT NULL DEFAULT 1," +
                            "    alm_level integer NOT NULL DEFAULT 1," +
                            "    alm_en integer NOT NULL DEFAULT 1," +
                            "     PRIMARY KEY (num)" +
                            ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER  TABLE " + Sql_Mysql.PowerAlarm_param_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.PowerAlarm_param_Table + ".alm_id IS '告警id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.PowerAlarm_param_Table + ".num IS '自增主键';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.PowerAlarm_param_Table + ".power_id IS '电源ID';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.PowerAlarm_param_Table + ".alm_id IS '电源告警ID';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.PowerAlarm_param_Table + ".alm_level IS '告警等级';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.PowerAlarm_param_Table + ".alm_en IS '告警使能[0-禁用  1-启用]';");
            sql.sqlMysqlExecute("COMMENT ON   TABLE " + Sql_Mysql.PowerAlarm_param_Table + " IS '电源告警参数表';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    public static void createBattAlarm_Param_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.BattAlarm_Param_Table + "_auto" +
                     " INCREMENT 1" +
                     " MINVALUE 1" +
                     " MAXVALUE 9223372036854775807" +
                     " START 1" +
                     " CACHE 1;";
            //创建自增序列
            sql.sqlMysqlExecute(sql_str_auto);
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.BattAlarm_Param_Table + " "
                            + "(num integer NOT NULL DEFAULT nextval('" + Sql_Mysql.BattAlarm_Param_Table + "_auto'::regclass)," +
                            "    alm_id integer NOT NULL DEFAULT 0," +
                            "    alm_name character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ' '::character varying," +
                            "    alm_high_coe double precision NOT NULL DEFAULT '0'::double precision," +
                            "    alm_low_coe double precision NOT NULL DEFAULT '0'::double precision," +
                            "    alm_high_level integer NOT NULL DEFAULT 0," +
                            "    alm_low_level integer NOT NULL DEFAULT 0," +
                            "    alm_high_en integer NOT NULL DEFAULT 0," +
                            "    alm_low_en integer NOT NULL DEFAULT 0," +
                            "     PRIMARY KEY (num)" +
                            ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER  TABLE " + Sql_Mysql.BattAlarm_Param_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattAlarm_Param_Table + ".alm_id IS '告警id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattAlarm_Param_Table + ".alm_name IS '告警名称';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattAlarm_Param_Table + ".alm_high_coe IS '上限告警阈值';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattAlarm_Param_Table + ".alm_low_coe IS '下限告警阈值';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattAlarm_Param_Table + ".alm_high_level IS '上限告警等级';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattAlarm_Param_Table + ".alm_low_level IS '下限告警等级';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattAlarm_Param_Table + ".alm_high_en IS '上限告警使能';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattAlarm_Param_Table + ".alm_low_en IS '下限告警使能';");
            sql.sqlMysqlExecute("COMMENT ON   TABLE " + Sql_Mysql.BattAlarm_Param_Table + " IS '电池告警参数表';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    public static void createDb_Param(MysqlConnPool pool) {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            sql.sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + Sql_Mysql.DB_PARAM + " AUTHORIZATION sysdba");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java
@@ -4,9 +4,12 @@
import com.base.Com;
import com.config.AppConfig;
import com.config.AppParam;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
import com.sql.util.Db_Alarm;
import com.sql.util.Db_Batt;
import com.sql.util.Db_Dis_Batt;
import com.sql.util.Db_Param;
public class main_BTS_DB_Builder {
    /**************************************************************************/
@@ -20,7 +23,6 @@
    public static int MysqlServer_Port = DEF_MysqlServerFBS_Port;
    
    private static AppConfig m_AppConfig;
    private static AppParam m_AppParam;
    
    private static MysqlConnPool GB_MysqlConnPool;
    
@@ -42,22 +44,38 @@
        m_AppConfig = new AppConfig();
        
        
        System.out.println("正在连接数据库 DBserver IP:" + m_AppConfig.getMysqlServerIp() + ", port: " + MysqlServer_Port);
        System.out.println("正在连接数据库 DBserver IP:" + m_AppConfig.getSqlServerIp() + ", port: " + m_AppConfig.getSqlServerPort());
        
        GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port, 50);
        GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getSqlServerIp(), m_AppConfig.getSqlServerPort(), 50);
        
        Sql_Mysql sql_ck = new Sql_Mysql(GB_MysqlConnPool.getConn());
        if(null != sql_ck.mysql_con) {
            System.out.println("成功连接数据库" 
                                + " DBserver IP:" + m_AppConfig.getMysqlServerIp()
                                + ", port: " + MysqlServer_Port
                                + " DBserver IP:" + m_AppConfig.getSqlServerIp()
                                + ", port: " + m_AppConfig.getSqlServerPort()
                                + " @ " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
        }else {
            System.out.println("连接数据库失败");
        }
        try {
            sql_ck.checkAndCreateDB();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            sql_ck.close_con();
        }
        
        //初始化电池告警数据库
        Db_Alarm.init(GB_MysqlConnPool);
        
        //初始化机房配置信息库
        Db_Batt.init(GB_MysqlConnPool);
        
        //初始化电池组历史数据记录库
        Db_Dis_Batt.init(GB_MysqlConnPool);
        //初始化告警参数库
        Db_Param.init(GB_MysqlConnPool);
    }