蓄电池监控管理平台数据库初始化程序
Administrator
2022-12-12 363d230ac94cd14f6f5b0bdf2265738addc92c50
V1.47 edit at date 2022-12-06
1.新增电操开关表'db_ram_db.tb_fbs9100_setparam'表新增FBO-4830NT设备参数字段
`OnlineTestFlag` int(11) NOT NULL DEFAULT '0' COMMENT '测试类型:0:离线
1:在线',
`BattGroupCount` int(11) NOT NULL DEFAULT '1' COMMENT '电池组组数',
`SOCLow` float NOT NULL DEFAULT '0' COMMENT '电池soc[剩余容量]下限(%)',
`SOCHigh` float NOT NULL DEFAULT '0' COMMENT '电池soc[剩余容量]上限(%)',
`CellDiffVolHigh` float NOT NULL DEFAULT '0' COMMENT '压差上限(mV)',
2.新增告警详情表'db_alarm.tb_alarm_detail'--告警详情
CREATE TABLE `tb_alarm_detail` (
`id` bigint(19) NOT NULL AUTO_INCREMENT,
`alm_id` varchar(15) DEFAULT NULL COMMENT '告警id',
`alm_reason` text COMMENT '告警原因',
`alm_advice` varchar(255) DEFAULT NULL COMMENT '告警建议',
`alm_type` int(5) NOT NULL DEFAULT '0' COMMENT '告警来源:0电源,1设备,2电池',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4
COMMENT='告警详情';

3.新增告警详情表'db_alarm.tb_alarm_relation'--告警对应关系
CREATE TABLE `tb_alarm_detail` (
`id` bigint(19) NOT NULL AUTO_INCREMENT,
`alm_id` varchar(15) DEFAULT NULL COMMENT '告警id',
`alm_name` varchar(15) DEFAULT NULL COMMENT '告警名称',
`alm_type` int(5) NOT NULL DEFAULT '0' COMMENT '告警来源:0电源,1设备,2电池',
`alm_point` varchar(15) DEFAULT '' COMMENT '告警点',
`highorlow` int(5) DEFAULT '0' COMMENT '高低告警0默认1低2高',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4
COMMENT='告警对应关系';

4.新增电池信息表'db_battinf.tb_battinf'新增字段
`cellShowType` int(11) NOT NULL DEFAULT '0' COMMENT '电池类型[0:铅酸 1:锂电]'
5个文件已修改
107 ■■■■■ 已修改文件
BattMonitor_DB_Builder/bin/com/version_inf/version_inf.txt 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/database_util/DB_Alarm.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/Sql_Mysql.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/version_inf/version_inf.txt
@@ -712,7 +712,7 @@
          `SOCLow` float NOT NULL DEFAULT '0' COMMENT '电池soc[剩余容量]下限(%)',
          `SOCHigh` float NOT NULL DEFAULT '0' COMMENT '电池soc[剩余容量]上限(%)',
          `CellDiffVolHigh` float NOT NULL DEFAULT '0' COMMENT '压差上限(mV)', 
    2.新增告警详情表'db_alarm.tb_alarm_detail'-告警详情
    2.新增告警详情表'db_alarm.tb_alarm_detail'--告警详情
        CREATE TABLE `tb_alarm_detail` (
          `id` bigint(19) NOT NULL AUTO_INCREMENT,
          `alm_id` varchar(15) DEFAULT NULL COMMENT '告警id',
@@ -721,6 +721,20 @@
          `alm_type` int(5) NOT NULL DEFAULT '0' COMMENT '告警来源:0电源,1设备,2电池',
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='告警详情';
    3.新增告警详情表'db_alarm.tb_alarm_relation'--告警对应关系
        CREATE TABLE `tb_alarm_detail` (
          `id` bigint(19) NOT NULL AUTO_INCREMENT,
          `alm_id` varchar(15) DEFAULT NULL COMMENT '告警id',
          `alm_name` varchar(15) DEFAULT NULL COMMENT '告警名称',
          `alm_type` int(5) NOT NULL DEFAULT '0' COMMENT '告警来源:0电源,1设备,2电池',
          `alm_point` varchar(15) DEFAULT '' COMMENT '告警点',
          `highorlow` int(5) DEFAULT '0' COMMENT '高低告警0默认1低2高',
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4 COMMENT='告警对应关系';
    4.新增电池信息表'db_battinf.tb_battinf'新增字段
        `cellShowType` int(11) NOT NULL DEFAULT '0' COMMENT '电池类型[0:铅酸 1:锂电]'
BattMonitor_DB_Builder/src/com/database_util/DB_Alarm.java
@@ -29,6 +29,8 @@
        
        createTb_Alarm_Detail_Table(pool, recreate);                //创建告警详情
        
        createTb_Alarm_Relation_Table(pool, recreate);                //创建告警对应关系
        System.out.println(" db_alarm init end at " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
    }
    
@@ -355,8 +357,8 @@
    }
    /**
     * 
     * @Title: createTb_Alarm_Message
     * @Description: 告警短信
     * @Title: createTb_Alarm_Detail_Table
     * @Description: 告警详情
     * @param pool
     * @param recreate
     * @author author
@@ -370,14 +372,68 @@
                "  `alm_reason` text COMMENT '告警原因'," + 
                "  `alm_advice` varchar(255) DEFAULT NULL COMMENT '告警建议'," + 
                "  `alm_type` int(5) NOT NULL DEFAULT '0' COMMENT '告警来源:0电源,1设备,2电池'," + 
                "  `highorlow` int(5) DEFAULT '0' COMMENT '高低告警0默认1低2高'," +
                "  PRIMARY KEY (`id`)" + 
                ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='告警详情';";
                ") ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='告警详情';";
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        ResultSet res = null;
        try {
            if(true == recreate) {            
                sql.sqlMysqlExecute(sql_str01);
            }
            sql.sqlMysqlExecute(sql_str02);
            //添加指定的highorlow列
            res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_alarm'"
                    + " AND table_name='tb_alarm_detail'"
                    + " AND column_name='highorlow'");
            if(false == res.next()) {
                sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.Tb_Alarm_Detail_Table
                                + " ADD COLUMN `highorlow` int(5) DEFAULT '0' COMMENT '高低告警0默认1低2高';");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            if(null != res) {
                try {
                    res.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            sql.close_con();
        }
    }
    /**
     *
     * @Title: createTb_Alarm_Relation_Table
     * @Description:告警对应关系
     * @param pool
     * @param recreate
     * @author author
     * @date 2021年9月6日
     */
    public static void createTb_Alarm_Relation_Table(MysqlConnPool pool, boolean recreate) {
        String sql_str01 = " DROP TABLE IF EXISTS "+Sql_Mysql.Tb_Alarm_Relation_Table;
        String sql_str02 = "CREATE TABLE  IF NOT EXISTS " + Sql_Mysql.Tb_Alarm_Relation_Table + " (" +
                "  `id` bigint(19) NOT NULL AUTO_INCREMENT," +
                "  `alm_id` varchar(15) DEFAULT NULL COMMENT '告警id'," +
                "  `alm_name` varchar(15) DEFAULT NULL COMMENT '告警名称'," +
                "  `alm_type` int(5) NOT NULL DEFAULT '0' COMMENT '告警来源:0电源,1设备,2电池'," +
                "  `alm_ponit` varchar(15) DEFAULT '' COMMENT '告警点'," +
                "  `highorlow` int(5) DEFAULT '0' COMMENT '高低告警0默认1低2高'," +
                "  PRIMARY KEY (`id`)" +
                ") ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COMMENT='告警对应关系';";
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        ResultSet res = null;
        try {
            if(true == recreate) {
                sql.sqlMysqlExecute(sql_str01);
            }
            sql.sqlMysqlExecute(sql_str02);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java
@@ -784,6 +784,7 @@
                "  `PackCount` int DEFAULT '1' COMMENT '锂电池包数量'," +
                "  `dev_num` varchar(255) NOT NULL DEFAULT '0' COMMENT '设备编号[a059用于标识设备]'," +
                "  `mId` bigint(20) DEFAULT '0' COMMENT '二维码信息标识位'," +
                "  `cellShowType` int(11) NOT NULL DEFAULT '0' COMMENT '电池类型[0:铅酸 1:锂电]'," +
                "  PRIMARY KEY (`num`)," +
                "  UNIQUE KEY `index_battgroup_id` (`BattGroupId`) USING BTREE," +
                "  KEY `index_station_id` (`StationId`)," +
@@ -1140,6 +1141,17 @@
                sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.BattInf_Table 
                        + " ADD COLUMN `mId` bigint(20) DEFAULT '0' COMMENT '二维码信息标识位';");
            }
            res = null;
            //添加cellShowType  ----   电池类型[0:铅酸 1:锂电]
            res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_battinf'"
                    + " AND table_name='tb_battinf'"
                    + " AND column_name='cellShowType'");
            if(false == res.next()) {
                sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.BattInf_Table
                        + " ADD COLUMN `cellShowType` int(11) NOT NULL DEFAULT '0' COMMENT '电池类型[0:铅酸 1:锂电]';");
            }
            //设置column 去掉默认NOT NULL
            {
                ArrayList<String> sql_strs = new ArrayList<String>();
BattMonitor_DB_Builder/src/com/sql/Sql_Mysql.java
@@ -260,6 +260,7 @@
    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`";
    
    
    /***************************** db_app_sys 数据库  ***************************************/
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt
@@ -712,7 +712,7 @@
          `SOCLow` float NOT NULL DEFAULT '0' COMMENT '电池soc[剩余容量]下限(%)',
          `SOCHigh` float NOT NULL DEFAULT '0' COMMENT '电池soc[剩余容量]上限(%)',
          `CellDiffVolHigh` float NOT NULL DEFAULT '0' COMMENT '压差上限(mV)', 
    2.新增告警详情表'db_alarm.tb_alarm_detail'-告警详情
    2.新增告警详情表'db_alarm.tb_alarm_detail'--告警详情
        CREATE TABLE `tb_alarm_detail` (
          `id` bigint(19) NOT NULL AUTO_INCREMENT,
          `alm_id` varchar(15) DEFAULT NULL COMMENT '告警id',
@@ -721,6 +721,20 @@
          `alm_type` int(5) NOT NULL DEFAULT '0' COMMENT '告警来源:0电源,1设备,2电池',
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='告警详情';
    3.新增告警详情表'db_alarm.tb_alarm_relation'--告警对应关系
        CREATE TABLE `tb_alarm_detail` (
          `id` bigint(19) NOT NULL AUTO_INCREMENT,
          `alm_id` varchar(15) DEFAULT NULL COMMENT '告警id',
          `alm_name` varchar(15) DEFAULT NULL COMMENT '告警名称',
          `alm_type` int(5) NOT NULL DEFAULT '0' COMMENT '告警来源:0电源,1设备,2电池',
          `alm_point` varchar(15) DEFAULT '' COMMENT '告警点',
          `highorlow` int(5) DEFAULT '0' COMMENT '高低告警0默认1低2高',
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4 COMMENT='告警对应关系';
    4.新增电池信息表'db_battinf.tb_battinf'新增字段
        `cellShowType` int(11) NOT NULL DEFAULT '0' COMMENT '电池类型[0:铅酸 1:锂电]'