蓄电池监控管理平台数据库初始化程序
V2.24 edit at date 2022-05-10
1.禁用数据库表删除功能,避免重新删除功能
2.修复插入BTS停电机房信息时错误bug
3.修改`db_user`.`tb_user_log`中的'uOprateMsg'字段格式为
`uOprateMsg` text NOT NULL,
5个文件已修改
138 ■■■■■ 已修改文件
BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/database_util/DB_db_user.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/dev/fbs9100/FBS9100_Task_Thread_SQL.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java
@@ -54,6 +54,7 @@
                "  `station_city` varchar(255) NOT NULL DEFAULT '' COMMENT '市'," + 
                "  `station_county` varchar(255) NOT NULL DEFAULT '' COMMENT '区县'," + 
                "  `station_name` varchar(255) NOT NULL DEFAULT '' COMMENT '机房名称'," + 
                "  `station_name_ex` varchar(255) NOT NULL DEFAULT '' COMMENT '拼接带设备编号的机房名称'," +
                "  `dev_name` varchar(255) NOT NULL DEFAULT '' COMMENT '设备名称'," + 
                "  `batt_name` varchar(255) NOT NULL DEFAULT '' COMMENT '电池组名称'," + 
                "  `mon_count` int(11) NOT NULL DEFAULT '0' COMMENT '单体个数'," + 
@@ -66,14 +67,33 @@
                "  PRIMARY KEY (`num`)" + 
                ") ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;";
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        ResultSet res = null;
        try {
            if(true == recreate) {            
                sql.sqlMysqlExecute(sql_str01);
            }
            sql.sqlMysqlExecute(sql_str02);
            //添加station_name_ex
            res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_battinf'"
                    + " AND table_name='tb_a059_station_inf'"
                    + " AND column_name='station_name_ex'");
            if(false == res.next()) {
                sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.A059_Station_Inf_TABLE
                                + " ADD COLUMN `station_name_ex` varchar(255) NOT NULL DEFAULT '' COMMENT '拼接带设备编号的机房名称';");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            if(null != res) {
                try {
                    res.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            sql.close_con();
        }
    }
@@ -1005,6 +1025,16 @@
                        + " ADD COLUMN `sort_id`  float DEFAULT '1' COMMENT '';");
            }
            
            //添加dev_num
            res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_battinf'"
                    + " AND table_name='tb_battinf'"
                    + " AND column_name='dev_num'");
            if(false == res.next()) {
                sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.BattInf_Table
                        + " ADD COLUMN `dev_num` varchar(255) NOT NULL DEFAULT '' COMMENT '设备编号[a059用于标识设备]';");
            }
            //设置column 去掉默认NOT NULL
            {
BattMonitor_DB_Builder/src/com/database_util/DB_db_user.java
@@ -678,7 +678,7 @@
        ResultSet res = null;
        try {
            if(recreate) {
                sql.sqlMysqlExecute(sql_str_del);
                //sql.sqlMysqlExecute(sql_str_del);
            }
            sql.sqlMysqlExecute(sql_str);
            //添加上一次重启时间字段
@@ -686,6 +686,57 @@
            if(res.next()) {
                int count = res.getInt("sum_count");
                if(count<10) {
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battinf_report_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battgroup_report_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battmant_report_query_permit',0);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battlarm_report_query_permit',0);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','monomer_report_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batttest_data_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batttest_data_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','task_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','task_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','task_check_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','task_recheck_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','usr_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','usr_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','permit_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','permit_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','server_param_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','server_param_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','analog_loader_op_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_test_op_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battcfg_query_permit',0);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battcfg_add_permit',0);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battcfg_modify_permit',0);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battcfg_del_permit',0);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_alm_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_alm_confirm_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_alm_clear_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_alm_delete_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_alm_param_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_alm_param_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','dev_alm_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','dev_alm_confirm_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','dev_alm_clear_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','dev_alm_delete_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battfault_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battfault_add_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battfault_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battfault_delete_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','battmaint_confirm_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','usrtaskcheck_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','usrtaskcheck_add_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','usrtaskcheck_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','usrtaskcheck_delete_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','usrtaskcheck_confirm_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','taskchange_query_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','taskchange_add_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','taskchange_delete_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','taskchange_shenpi_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_map_edit_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + "(permit_group_id,permit_group_name,permit_item_name,permit_item_value) VALUES(100001,'管理员组','batt_map_delete_permit',1);");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + " VALUES ('1736', '100002', '超级管理员组', 'battinf_report_query_permit', '1');");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + " VALUES ('1737', '100002', '超级管理员组', 'battgroup_report_query_permit', '1');");
                    sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.User_Permitgroup_Table + " VALUES ('1738', '100002', '超级管理员组', 'battmant_report_query_permit', '1');");
@@ -1483,13 +1534,24 @@
                    + " AND column_name='operation_detail'");
            if(false == res.next()) {
                sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.User_Log_Table 
                                + " ADD COLUMN `operation_detail` int(5) NOT NULL DEFAULT '1'");
                                + " ADD COLUMN `operation_detail` text COMMENT '操作的具体数据';");
            }else{
                //修改当前字段的类型
                sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.User_Log_Table 
                        + " CHANGE `operation_detail` `operation_detail` text COMMENT '操作的具体数据';");
            }
            
            //修改uOprateMsg格式为text
            res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_user'"
                    + " AND table_name='tb_user_log'"
                    + " AND column_name='uOprateMsg'");
            if(res.next()) {
                //修改当前字段的类型为text
                sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.User_Log_Table
                        + " CHANGE `uOprateMsg` `uOprateMsg` text NOT NULL;");
            }
            
            //添加read_flag
            res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
BattMonitor_DB_Builder/src/com/dev/fbs9100/FBS9100_Task_Thread_SQL.java
@@ -2,6 +2,8 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.net.ssl.HandshakeCompletedEvent;
@@ -765,21 +767,34 @@
        try {
            rs= sql.sqlMysqlQuery(sql_str1);
            //System.out.println(sql_str1);
            boolean hasInsertStation = false;;
            Map<Integer, String> station = new HashMap<>();
            while(rs.next()) {
                int dev_id = rs.getInt("FBSDeviceId");
                String dev_id = rs.getString("FBSDeviceId");
                int stationid = rs.getInt("StationId");
                if( !hasInsertStation ) {
                    sql_str2 = sql_str2 + "(" + dev_id + "," + stationid + ")";
                    hasInsertStation = true;
                }else {
                    sql_str2 = sql_str2 + ",(" + dev_id + "," + stationid + ")";
                if(stationid > 0 && null != dev_id) {
                    String fbs_dev_id = station.get(stationid);
                    if(null == fbs_dev_id) {
                        station.put(stationid, dev_id);
                    }
                }                
            }
            if(hasInsertStation) {
            boolean hasInsertStation = false;
            if(!station.isEmpty()) {
                for(Map.Entry<Integer, String> entry : station.entrySet()){
                    Integer mapKey = entry.getKey();
                    String mapValue = entry.getValue();
                    if( !hasInsertStation ) {
                        sql_str2 = sql_str2 + "(" + mapValue + "," + mapKey + ")";
                        hasInsertStation = true;
                    }else {
                        sql_str2 = sql_str2 + ",(" + mapValue + "," + mapKey + ")";
                    }
                }
                //System.out.println(sql_str2);
                sql.sqlMysqlExecute(sql_str2);
            }
            station.clear();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt
@@ -445,4 +445,10 @@
    2.配置信息表'db_app_sys'.'tb_app_sys'表中新增字段   --------- 用于标识充放电一体机是否重新加载电池组信息 [
        AppServer_Reinit_BattGroupData_A059_EN` tinyint(1) NOT NULL DEFAULT '0'
    ]
V2.24 edit at date 2022-05-10
    1.禁用数据库表删除功能,避免重新删除功能
    2.修复插入BTS停电机房信息时错误bug
    3.修改`db_user`.`tb_user_log`中的'uOprateMsg'字段格式为
        `uOprateMsg` text NOT NULL,
    
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java
@@ -28,7 +28,7 @@
    /**************************************************************************/
    /**************************************************************************/
    public final static boolean app_debug = false;
    public final static float m_VersionNum = (float) 2.23;
    public final static float m_VersionNum = (float) 2.24;
    public final static String m_Version = "Welcome To Use BTS DB BUILDER V" + m_VersionNum + " RC_20180908";
    /**************************************************************************/
    /**************************************************************************/
@@ -71,7 +71,8 @@
            sql_ck.close_con();
        }
        /*********************************************************************************/
        boolean recreate_tb = m_AppConfig.getMysqlDB_RecreateEn();
        //boolean recreate_tb = m_AppConfig.getMysqlDB_RecreateEn();
        boolean recreate_tb = false;
        
        //初始化数据库  db_battinf
        DB_battinf.init(GB_MysqlConnPool, recreate_tb);