蓄电池监控管理平台数据库初始化程序
whycrzg
2021-12-17 630f23f57e73317a962b338234b740d672f8cc10
V2.03 edit at date 2021-12-17
1:修改 `db_app_sys`.`tb_page_param`表 和`db_app_sys`.`tb_page_param2`
检测数据完整性并初始化数据
1个文件已添加
3个文件已修改
169 ■■■■ 已修改文件
BattMonitor_DB_Builder/src/com/database_util/DB_App_Sys.java 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/database_util/SqlsUtils.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/database_util/DB_App_Sys.java
@@ -2,6 +2,9 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
@@ -106,28 +109,47 @@
            }
            sql.sqlMysqlExecute(sql_str02);
            //添加在线充电列
            //修改category改为categoryId
            res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
                    + " WHERE table_schema='db_app_sys'"
                    + " AND table_name='tb_page_param2'"
                    + " AND column_name='category'");
            if(true == res.next()) {
//                System.out.println("true");
                sql.sqlMysqlExecute("ALTER TABLE `db_app_sys`.`tb_page_param2` CHANGE `category` `categoryId` int(11) DEFAULT NULL COMMENT '分类';");
            }else{
            }
            //初始化默认数据
            res = sql.sqlMysqlQuery("SELECT COUNT(*) num FROM db_app_sys.tb_page_param2;");
            if(false != res.next()) {
                int num = res.getInt("num");
                if(num>0){
//                    System.out.println(" db_app_sys.tb_page_param2 num = "+num);
                }else{
                    sql.sqlMysqlExecute("INSERT INTO db_app_sys.`tb_page_param2`(`param`, `label`, `value`, `category`) VALUES "
                            + "('account_fail_time', '账号允许连续失败次数(24小时内)', '6', '1'),"
                            + "('account_lock_time', '账号锁定时间(-1为管理员解锁)', '20', '1')");
                }
                    //根据唯一id检测默认三条数据是否存在
                    res = sql.sqlMysqlQuery("SELECT id FROM db_app_sys.tb_page_param2;");
                    List<Integer> ids= new ArrayList<Integer>();
                    while(res.next()){
                        int id = res.getInt("id");
                        ids.add(id);
                    }
//                    System.out.println("db_app_sys.tb_page_param2 ids:"+ids);
                    List<Integer> idsDefault2 = SqlsUtils.idsDefault2;
                    for (int i = 0; i < idsDefault2.size(); i++) {
                        if (!ids.contains(idsDefault2.get(i))) {
                            sql.sqlMysqlExecute(SqlsUtils.sqlstb_page_param2.get(i));
                            System.out.println("insert id = "+SqlsUtils.sqlstb_page_param2.get(i));
                        }
                    }
                //修改category改为categoryId
                res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
                        + " WHERE table_schema='db_app_sys'"
                        + " AND table_name='tb_page_param2'"
                        + " AND column_name='category'");
                if(true == res.next()) {
//                    System.out.println("true");
                    sql.sqlMysqlExecute("ALTER TABLE `db_app_sys`.`tb_page_param2` CHANGE `category` `categoryId` int(11) DEFAULT NULL COMMENT '分类';");
                }else{
                    //不存在添加
                    sql.sqlMysqlExecute("INSERT INTO `db_app_sys`.`tb_page_param2` (`id`, `param`, `label`, `value`, `categoryId`) "
                            + "VALUES ('1', 'visit_time_first', '用户登录访问控制-访问时间最早', '00:00:01', '1'),"
                            + "('2', 'visit_time_last', '用户登录访问控制-访问时间最晚', '23:59:59', '1'),"
                            + "('3', 'visit_ip', '用户登录访问控制-访问客户端ip-允许', '*', '1');");
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
@@ -344,7 +366,22 @@
            if(false != res.next()) {
                int num = res.getInt("num");
                if(num>0){
//                    System.out.println(" db_app_sys.tb_page_param num = "+num);
                    //根据唯一id检测是否需要添加默认数据
                    res = sql.sqlMysqlQuery("SELECT id FROM db_app_sys.tb_page_param;");
                    List<Integer> ids= new ArrayList<Integer>();
                    while(res.next()){
                        int id = res.getInt("id");
                        ids.add(id);
                    }
                    List<Integer> idsDefault = SqlsUtils.idsDefault;
                    for (int i = 0; i < idsDefault.size(); i++) {
                        if (!ids.contains(idsDefault.get(i))) {
                            sql.sqlMysqlExecute(SqlsUtils.sqlstb_page_param.get(i));
                            System.out.println("insert id = "+SqlsUtils.sqlstb_page_param.get(i));
                        }
                    }
//                    System.out.println("db_app_sys.tb_page_param ids:"+ids);
                }else{
                    sql.sqlMysqlExecute("INSERT INTO `db_app_sys`.`tb_page_param` (`id`, `param`, `status`, `categoryId`)"+
                            "VALUES ('1', '设备工作状态', '0', '1')," +
BattMonitor_DB_Builder/src/com/database_util/SqlsUtils.java
New file
@@ -0,0 +1,94 @@
package com.database_util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class SqlsUtils {
    /**
     * db_app_sys.tb_page_param的默认参数中的id
     */
    static List<Integer> idsDefault;
    /**
     * db_app_sys.tb_page_param2的默认参数中的id
     */
    static List<Integer> idsDefault2;
    /**
     * db_app_sys.tb_page_param的默认insert语句
     */
    static ArrayList<String> sqlstb_page_param;
    /**
     * db_app_sys.tb_page_param2的默认insert语句
     */
    static ArrayList<String> sqlstb_page_param2;
    static {
        Integer[] temp= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,31,32,33,34,35,36,37,38,39,40,41};
        idsDefault = Arrays.asList(temp);
        Integer[] temp2= {1,2,3};
        idsDefault2 = Arrays.asList(temp2);
        sqlstb_page_param2 = new ArrayList<>();
        String tb_page_param2 = "INSERT INTO `db_app_sys`.`tb_page_param2` VALUES ('1', 'visit_time_first', '用户登录访问控制-访问时间最早', '00:00:01', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param2` VALUES ('2', 'visit_time_last', '用户登录访问控制-访问时间最晚', '23:59:59', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param2` VALUES ('3', 'visit_ip', '用户登录访问控制-访问客户端ip-允许', '*', '1');";
        String[] strs2 = tb_page_param2.split(";");
        for (int i = 0; i < strs2.length; i++) {
            sqlstb_page_param2.add(strs2[i]);
        }
        sqlstb_page_param = new ArrayList<>();
        String tb_page_param = "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('1', '设备工作状态', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('2', '设备通讯', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('3', '设备温度', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('4', '干接点', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('5', '核容终止原因', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('6', '操作失败原因', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('7', '剩余天数', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('8', '工作模式', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('9', '组端电压', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('10', '峰值电压', '1', '1');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('11', '启动核容测试', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('12', '停止测试', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('13', '系统参数设置', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('14', '清除告警', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('15', '启动养护/除硫', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('16', '停止养护/除硫', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('17', '启动离线养护', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('18', '停止离线养护', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('19', '定期启动设备', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('20', '重启设备', '1', '2');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('31', '蓄电池后台监控管理平台', '1', '5');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('32', 'V1.0.5', '1', '6');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('33', 'ƽ̨logo', '1', '7');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('34', 'uKey', '1', '7');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('35', '人脸识别', '1', '7');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('36', '签名', '1', '7');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('37', '远程修改ip', '1', '7');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('38', '启动放电添加人脸识别', '1', '7');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('39', '账号扫描策略', '1', '8');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('40', '账号登录失败限制次数', '10', '9');" +
                "INSERT INTO `db_app_sys`.`tb_page_param` VALUES ('41', '账号登录失败锁定解锁策略', '2', '9');";
        String[] strs = tb_page_param.split(";");
        for (int i = 0; i < strs.length; i++) {
            sqlstb_page_param.add(strs[i]);
        }
    }
//    public static void main(String[] args) {
//        System.out.println("SqlsUtils.sqlstb_page_param2 = " + SqlsUtils.sqlstb_page_param2);
//        System.out.println("SqlsUtils.sqlstb_page_param = " + SqlsUtils.sqlstb_page_param);
//        for (int i = 0; i < SqlsUtils.sqlstb_page_param2.size(); i++) {
//            System.out.println("SqlsUtils.sqls.get(i) = " + SqlsUtils.sqlstb_page_param2.get(i));
//        }
//        System.out.println(SqlsUtils.idsDefault.size());
//    }
}
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt
@@ -349,4 +349,6 @@
    
V2.02 edit at date 2021-12-16
    1:修改 `db_app_sys`.`tb_page_param`表 添加初始化数据    
V2.03 edit at date 2021-12-17
    1:修改 `db_app_sys`.`tb_page_param`表 和`db_app_sys`.`tb_page_param2` 检测数据完整性并初始化数据
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.02;
    public final static float m_VersionNum = (float) 2.03;
    public final static String m_Version = "Welcome To Use BTS DB BUILDER V" + m_VersionNum + " RC_20180908";
    /**************************************************************************/
    /**************************************************************************/