蓄电池监控管理平台数据库初始化程序
DELL
2025-03-28 5a8cd947851876593142b5175c517bfe22e28a42
V1.02 edit by lijun 2025-03-28
6个文件已添加
6个文件已修改
578 ■■■■■ 已修改文件
BattMonitor_DB_Builder/bin/com/sql/util/Db_Lithium_Ram_Db.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/sql/util/Db_Lithium_Testdata.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/sql/util/Db_User.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/sql/util/Db_Work.class 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/version_inf/version_inf.txt 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/Sql_Mysql.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/util/Db_Lithium_Ram_Db.java 145 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/util/Db_Lithium_Testdata.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/util/Db_User.java 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/sql/util/Db_Work.java 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_DB_Builder/bin/com/sql/util/Db_Lithium_Ram_Db.class
Binary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_Lithium_Testdata.class
Binary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_User.class
Binary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_Work.class
Binary files differ
BattMonitor_DB_Builder/bin/com/version_inf/version_inf.txt
@@ -1,8 +1,11 @@
乌东德水电站智能运维平台 建表程序
    
    
V1.02 edit by lijun 2025-03-28
V1.01 edit by lijun    2024-08-15
    1.
    1.完成基本数据表的开发任务
BattMonitor_DB_Builder/src/com/sql/Sql_Mysql.java
@@ -196,7 +196,7 @@
    public void sqlMysqlExecute(String sql_str) throws SQLException
    {
        Statement sql = mysql_con.createStatement();
        sql.setQueryTimeout(5*60);
        sql.setQueryTimeout(60);
        sql.execute(sql_str);
    }
    //执行sql语句
BattMonitor_DB_Builder/src/com/sql/util/Db_Lithium_Ram_Db.java
@@ -15,8 +15,11 @@
        
        createDev_Inf_Table(pool);
        
        createLithium_Rtdata_Table(pool);
        
        createWorkstate_Cfg_Table(pool);
        
        createWorkstate_ChangeEvent_Table(pool);
    } 
    
    
@@ -265,7 +268,7 @@
    }
    
    /**
     * 创建 db_lithium_ram_db.tb_dev_inf 数据库表
     *     创建 db_lithium_ram_db.tb_lithium_rtdata 数据库表
     * @param conn
     */
    public static void createLithium_Rtdata_Table(MysqlConnPool pool)
@@ -282,33 +285,127 @@
            //创建自增序列
            sql.sqlMysqlExecute(sql_str_auto);
            
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Dev_Inf_Table + " "
                    + "(num bigint NOT NULL DEFAULT nextval('" + Sql_Mysql.Dev_Inf_Table + "_auto'::regclass)," +
                    "    dev_id integer NOT NULL DEFAULT 100000001," +
                    "    dev_ip character varying(200) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '127.0.0.1'::character varying," +
                    "    dev_type integer NOT NULL DEFAULT 1," +
                    "    dev_model character varying(200) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ''::character varying," +
                    "    dev_idcode character varying(200) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ''::character varying," +
                    "    dev_online integer NOT NULL DEFAULT 1," +
                    "    create_time date NOT NULL DEFAULT '2000-01-01'::date," +
                    "    batch_state integer NOT NULL DEFAULT 0," +
                    "    longitude double precision NOT NULL DEFAULT 0.0," +
                    "    latitude double precision NOT NULL DEFAULT 0.0," +
                    "    reload_en integer NOT NULL DEFAULT 1," +
            String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Lithium_Rtdata_Table + " "
                    + "(num bigint NOT NULL DEFAULT nextval('" + Sql_Mysql.Lithium_Rtdata_Table + "_auto'::regclass)," +
                    "    dev_id integer NOT NULL DEFAULT 1," +
                    "    batt_idx integer NOT NULL DEFAULT 0," +
                    "    mon_num integer NOT NULL DEFAULT 1," +
                    "    record_time timestamp without time zone NOT NULL DEFAULT '2000-01-01 00:00:00'::timestamp without time zone," +
                    "    mon_vol double precision NOT NULL DEFAULT 0," +
                    "    mon_tmp double precision NOT NULL DEFAULT 0," +
                    "    mon_curr double precision NOT NULL DEFAULT 0," +
                    "    mon_cap double precision NOT NULL DEFAULT 0," +
                    "    mon_wh double precision NOT NULL DEFAULT 0," +
                    "    mon_state character varying(32) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ''::character varying," +
                    "    mon_fault character varying(32) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ''::character varying," +
                    "    need_test integer NOT NULL DEFAULT 0," +
                    "     PRIMARY KEY (num)" + 
                    ")";
            sql.sqlMysqlExecute(sql_str);
            
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.Dev_Inf_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Dev_Inf_Table + ".num IS '自增主键';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Dev_Inf_Table + ".dev_id IS '设备ID';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Dev_Inf_Table + ".dev_ip IS '设备IP';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Dev_Inf_Table + ".dev_type IS '设备类型[1-A200]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Dev_Inf_Table + ".dev_model IS '设备型号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Dev_Inf_Table + ".dev_online IS '设备在线状态';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Dev_Inf_Table + ".batch_state IS '设备批量测试状态[0-未批量  1-批量中]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Dev_Inf_Table + ".reload_en IS '是否需要重新加载数据[0- 不需要重载  1-需要重载]';");
            sql.sqlMysqlExecute("COMMENT ON   TABLE " + Sql_Mysql.Dev_Inf_Table + " IS 'A200设备信息配置表';");
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.Lithium_Rtdata_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".num IS '自增主键';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".dev_id IS '设备ID';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".batt_idx IS '电池组编号[0-组1 1-组2 ... 4-组4]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".mon_num IS '单体编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".record_time IS '更新时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".mon_vol IS '单体电压';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".mon_tmp IS '单体温度';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".mon_curr IS '单体电流';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".mon_cap IS '单体容量';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".mon_wh IS '单体能量';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".mon_state IS '单体状态';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".mon_fault IS '故障信息';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Lithium_Rtdata_Table + ".need_test IS '是否需要测试[0-不需 1-需要]';");
            sql.sqlMysqlExecute("COMMENT ON   TABLE " + Sql_Mysql.Lithium_Rtdata_Table + " IS 'A200单体信息表';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
     *     创建 db_lithium_ram_db.tb_workstate_cfg 数据库表
     * @param conn
     */
    public static void createWorkstate_Cfg_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Workstate_Cfg_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.Workstate_Cfg_Table + " "
                    + "(num bigint NOT NULL DEFAULT nextval('" + Sql_Mysql.Workstate_Cfg_Table + "_auto'::regclass)," +
                    "    dev_type integer NOT NULL DEFAULT 1," +
                    "    last_work_state integer NOT NULL DEFAULT 0," +
                    "    now_work_state integer NOT NULL DEFAULT 0," +
                    "    event_str character varying NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ''::character varying," +
                    "     PRIMARY KEY (num)" +
                    ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.Workstate_Cfg_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_Cfg_Table + ".num IS '自增主键';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_Cfg_Table + ".dev_type IS '设备类型[1-A200充放电一体机  2-ACTM均衡仪]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_Cfg_Table + ".last_work_state IS '上一次工作状态';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_Cfg_Table + ".now_work_state IS '当前设备工作状态';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_Cfg_Table + ".event_str IS '时间描述';");
            sql.sqlMysqlExecute("COMMENT ON   TABLE " + Sql_Mysql.Workstate_Cfg_Table + " IS '设备工作切换描述配置表';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
     *     创建 db_lithium_ram_db.tb_workstate_changeevent 数据库表
     * @param conn
     */
    public static void createWorkstate_ChangeEvent_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Workstate_ChangeEvent_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.Workstate_ChangeEvent_Table + " "
                    + "(num bigint NOT NULL DEFAULT nextval('" + Sql_Mysql.Workstate_ChangeEvent_Table + "_auto'::regclass)," +
                    "    dev_id integer NOT NULL DEFAULT 1," +
                    "    batt_idx integer NOT NULL DEFAULT 0," +
                    "    last_work_state integer NOT NULL DEFAULT 1," +
                    "    now_work_state integer NOT NULL DEFAULT 1," +
                    "    record_time timestamp without time zone NOT NULL DEFAULT '2000-01-01 00:00:00'::timestamp without time zone," +
                    "     PRIMARY KEY (num)" +
                    ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.Workstate_ChangeEvent_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_ChangeEvent_Table + ".num IS '自增主键';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_ChangeEvent_Table + ".dev_id IS '设备ID';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_ChangeEvent_Table + ".batt_idx IS '电池组号[0-组1  1-组2....]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_ChangeEvent_Table + ".last_work_state IS '上一次工作状态';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_ChangeEvent_Table + ".now_work_state IS '当前设备工作状态';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Workstate_ChangeEvent_Table + ".record_time IS '设备工作状态切换时间';");
            sql.sqlMysqlExecute("COMMENT ON  TABLE " + Sql_Mysql.Workstate_ChangeEvent_Table + " IS '设备工作状态切换事件表';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
BattMonitor_DB_Builder/src/com/sql/util/Db_Lithium_Testdata.java
New file
@@ -0,0 +1,116 @@
package com.sql.util;
import java.sql.SQLException;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
public class Db_Lithium_Testdata {
    public static void init(MysqlConnPool pool) {
        createDb_Lithium_Testdata(pool);
        createBattTestdata_Inf_Table(pool);
    }
    public static void createDb_Lithium_Testdata(MysqlConnPool pool) {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            sql.sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + Sql_Mysql.DB_LITHIUM_TESTDATA + " AUTHORIZATION sysdba");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    /**
     *     创建 db_lithium_testdata.tb_batttestdata_inf 数据库表
     * @param conn
     */
    public static void createBattTestdata_Inf_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.BattTestdata_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.BattTestdata_Inf_Table + " "
                    + "(num bigint NOT NULL DEFAULT nextval('" + Sql_Mysql.BattTestdata_Inf_Table + "_auto'::regclass)," +
                    "    dev_id integer NOT NULL DEFAULT 1," +
                    "    batt_idx integer NOT NULL DEFAULT 0," +
                    "    test_type integer NOT NULL DEFAULT 2," +
                    "    test_record_count integer NOT NULL DEFAULT 1," +
                    "    record_num integer NOT NULL DEFAULT 1," +
                    "    test_starttime timestamp without time zone NOT NULL DEFAULT '2000-01-01 00:00:00'::timestamp without time zone," +
                    "    test_timelong integer NOT NULL DEFAULT 0," +
                    "    record_time timestamp without time zone NOT NULL DEFAULT '2000-01-01 00:00:00'::timestamp without time zone," +
                    "    test_stoptype integer NOT NULL DEFAULT 0," +
                    "    group_vol double precision NOT NULL DEFAULT 0," +
                    "    test_curr double precision NOT NULL DEFAULT 0," +
                    "    test_cap double precision NOT NULL DEFAULT 0," +
                    "    max_monvol double precision NOT NULL DEFAULT 0," +
                    "    max_monvolnum integer NOT NULL DEFAULT 1," +
                    "    min_monvol double precision NOT NULL DEFAULT 0," +
                    "    min_monvolnum integer NOT NULL DEFAULT 1," +
                    "    mon_vol_high double precision NOT NULL DEFAULT 0," +
                    "    testcurr_limit double precision NOT NULL DEFAULT 0," +
                    "    battery_number integer NOT NULL DEFAULT 1," +
                    "    char_voltage double precision NOT NULL DEFAULT 0," +
                    "    save_inverter integer NOT NULL DEFAULT 10," +
                    "    max_temp double precision NOT NULL DEFAULT 0," +
                    "    min_temp double precision NOT NULL DEFAULT 0," +
                    "    battery_name character varying NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ''::character varying," +
                    "    mon_vol_low double precision NOT NULL DEFAULT 0," +
                    "    group_vol_low double precision NOT NULL DEFAULT 0," +
                    "    vol_threshold double precision NOT NULL DEFAULT 0," +
                    "    batt_type integer NOT NULL DEFAULT 0," +
                    "    stop_type_reason character varying NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ''::character varying," +
                    "     PRIMARY KEY (num)" +
                    ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.BattTestdata_Inf_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".num IS '自增主键';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".dev_id IS '设备ID';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".batt_idx IS '电池组编号[0-组1 1-组2 ... 4-组4]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".test_type IS '测试类型[2-充电测试  3-放电测试  4-均衡测试]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".test_record_count IS '测试记录次数';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".record_num IS '记录笔数';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".test_starttime IS '测试开始时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".test_timelong IS '测试时长';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".record_time IS '记录时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".test_stoptype IS '停止原因';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".group_vol IS '组端电压';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".test_curr IS '测试电流';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".test_cap IS '测试容量';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".max_monvol IS '最大单体电压';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".max_monvolnum IS '最大单体电压编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".min_monvol IS '最小单体电压';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".min_monvolnum IS '最小单体电压编号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".mon_vol_high IS '单串上限';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".testcurr_limit IS '电流阈值';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".battery_number IS '电芯串数';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".char_voltage IS '充电限压';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".save_inverter IS '采集频率(秒)';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".max_temp IS '最高温度(℃)';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".min_temp IS '最低温度';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".battery_name IS 'PACK/模组号';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".mon_vol_low IS '单串下限';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".group_vol_low IS '组端电压下限';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".vol_threshold IS '电压阈值';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".batt_type IS '电池类型[0-铁锂 1-三元锂  2-钛酸锂电 3-锰酸锂]';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.BattTestdata_Inf_Table + ".stop_type_reason IS '停止原因字符串';");
            sql.sqlMysqlExecute("COMMENT ON   TABLE " + Sql_Mysql.BattTestdata_Inf_Table + " IS '电池组历史数据总表';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
}
BattMonitor_DB_Builder/src/com/sql/util/Db_User.java
New file
@@ -0,0 +1,157 @@
package com.sql.util;
import java.sql.SQLException;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
public class Db_User {
    public static void init(MysqlConnPool pool) {
        createDb_User(pool);
        createOperation_Log_Table(pool);
        createTemp_Numbers_Table(pool);
        createUser_Inf_Table(pool);
    }
    public static void createDb_User(MysqlConnPool pool) {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            sql.sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + Sql_Mysql.DB_USER + " AUTHORIZATION sysdba");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    /**
     *     创建 db_user.operation_log 数据库表
     * @param conn
     */
    public static void createOperation_Log_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Operation_Log_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.Operation_Log_Table + " "
                    + "(num integer NOT NULL DEFAULT nextval('" + Sql_Mysql.Operation_Log_Table + "_auto'::regclass)," +
                    "    user_id integer NOT NULL DEFAULT 1001," +
                    "    user_name character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT 'lxw'::character varying," +
                    "    type1 integer NOT NULL DEFAULT 1," +
                    "    type2 integer NOT NULL DEFAULT 2," +
                    "    msg character varying(1000) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '登录'::character varying," +
                    "    detail character varying(1000) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT ''::character varying," +
                    "    ip character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '192.168.10.1'::character varying," +
                    "    create_time timestamp without time zone NOT NULL," +
                    "     PRIMARY KEY (num)" +
                    ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.Operation_Log_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".num IS '主键num';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".user_id IS '用户id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".user_name IS '用户名';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".type1 IS '事件类型:1-系统级,2-业务级';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".type2 IS '事件类型:子级别';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".msg IS '基础信息';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".detail IS '详细信息';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".ip IS '操作的ip';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Operation_Log_Table + ".create_time IS '创建时间';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
     *     创建 db_user.temp_numbers 数据库表
     * @param conn
     */
    public static void createTemp_Numbers_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Temp_Numbers_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.Temp_Numbers_Table + " "
                    + "(unumber integer" +
                    ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.Temp_Numbers_Table + " OWNER TO sysdba;");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
     *     创建 db_user.user_inf 数据库表
     * @param conn
     */
    public static void createUser_Inf_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.User_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.User_Inf_Table + " "
                    + "(uid bigint NOT NULL DEFAULT nextval('" + Sql_Mysql.User_Inf_Table + "_auto'::regclass)," +
                    "    usnid character varying(1000) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '123456'::character varying," +
                    "    uname character varying(50) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT 'lxw'::character varying," +
                    "    udownload_role integer NOT NULL DEFAULT 0," +
                    "    role_id character varying(32) NOT NULL COLLATE pg_catalog.\"default\" DEFAULT '1002'::character varying," +
                    "     PRIMARY KEY (uid)" +
                    ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.User_Inf_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.User_Inf_Table + ".uid IS '用户id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.User_Inf_Table + ".usnid IS 'rsa加密密码';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.User_Inf_Table + ".uname IS '用户名';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.User_Inf_Table + ".udownload_role IS '下载权限';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.User_Inf_Table + ".role_id IS '用户身份(1001普通用户,1002管理员)';");
            sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.User_Inf_Table + " ADD COLUMN IF NOT EXISTS role_id VARCHAR not null DEFAULT '1001';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
}
BattMonitor_DB_Builder/src/com/sql/util/Db_Work.java
New file
@@ -0,0 +1,135 @@
package com.sql.util;
import java.sql.SQLException;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
public class Db_Work {
    public static void init(MysqlConnPool pool) {
        createDb_Work(pool);
        createWorksheet_Link_Table(pool);
        createWorksheet_Main_Table(pool);
    }
    public static void createDb_Work(MysqlConnPool pool) {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            sql.sqlMysqlExecute("CREATE SCHEMA IF NOT EXISTS " + Sql_Mysql.DB_WORK + " AUTHORIZATION sysdba");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    /**
     *     创建 db_work.worksheet_link 数据库表
     * @param conn
     */
    public static void createWorksheet_Link_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Worksheet_Link_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.Worksheet_Link_Table + " "
                    + "(id integer NOT NULL DEFAULT nextval('" + Sql_Mysql.Worksheet_Link_Table + "_auto'::regclass)," +
                    "    main_id integer," +
                    "    parent_id integer," +
                    "    deal_user_id integer," +
                    "    deal_type integer," +
                    "    deal_desc character varying(255) COLLATE pg_catalog.\"default\" DEFAULT NULL::character varying," +
                    "    deal_reason character varying(255) COLLATE pg_catalog.\"default\" DEFAULT NULL::character varying," +
                    "    link_file character varying(255) COLLATE pg_catalog.\"default\" DEFAULT NULL::character varying," +
                    "    link_status integer," +
                    "    enable_archive integer," +
                    "    create_time timestamp without time zone NOT NULL," +
                    "    deal_time timestamp without time zone NOT NULL," +
                    "     PRIMARY KEY (id)" +
                    ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.Worksheet_Link_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".id IS '主键id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".main_id IS '主表id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".parent_id IS '父节点id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".deal_user_id IS '处理人id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".deal_type IS '处理类型';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".deal_desc IS '处理描述';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".deal_reason IS '处理意见';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".link_file IS '节点附件的文件路径';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".link_status IS '节点状态';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".enable_archive IS '能否归档';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".create_time IS '节点创建时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Link_Table + ".deal_time IS '节点处理时间';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
    /**
     *     创建 db_work.worksheet_main 数据库表
     * @param conn
     */
    public static void createWorksheet_Main_Table(MysqlConnPool pool)
    {
        Sql_Mysql sql = new Sql_Mysql(pool.getConn());
        try {
            String sql_str_auto = "CREATE SEQUENCE IF NOT EXISTS " + Sql_Mysql.Worksheet_Main_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.Worksheet_Main_Table + " "
                    + "(id integer NOT NULL DEFAULT nextval('" + Sql_Mysql.Worksheet_Main_Table + "_auto'::regclass)," +
                    "    title character varying(255) NOT NULL COLLATE pg_catalog.\"default\"," +
                    "    description character varying(255) COLLATE pg_catalog.\"default\" DEFAULT NULL::character varying," +
                    "    file character varying(255) COLLATE pg_catalog.\"default\" DEFAULT NULL::character varying," +
                    "    create_user_id integer NOT NULL," +
                    "    begin_time timestamp without time zone NOT NULL," +
                    "    end_time timestamp without time zone NOT NULL," +
                    "    level integer," +
                    "    status integer," +
                    "    end_reason integer," +
                    "    type integer," +
                    "     PRIMARY KEY (id)" +
                    ")";
            sql.sqlMysqlExecute(sql_str);
            sql.sqlMysqlExecute("ALTER    TABLE " + Sql_Mysql.Worksheet_Main_Table + " OWNER TO sysdba;");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".id IS '主键id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".title IS '工单标题';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".description IS '任务描述';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".create_user_id IS '工单创建人id';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".begin_time IS '工单开始时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".end_time IS '工单结束时间';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".level IS '工单级别';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".status IS '工单状态';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".end_reason IS '工单结束意见';");
            sql.sqlMysqlExecute("COMMENT ON COLUMN " + Sql_Mysql.Worksheet_Main_Table + ".type IS '工单类型';");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            sql.close_con();
        }
    }
}
BattMonitor_DB_Builder/src/com/version_inf/version_inf.txt
@@ -1,8 +1,11 @@
乌东德水电站智能运维平台 建表程序
    
    
V1.02 edit by lijun 2025-03-28
V1.01 edit by lijun    2024-08-15
    1.
    1.完成基本数据表的开发任务
BattMonitor_DB_Builder/src/main/main_BTS_DB_Builder.java
@@ -11,14 +11,17 @@
import com.sql.util.Db_Batt;
import com.sql.util.Db_Dis_Batt;
import com.sql.util.Db_Lithium_Ram_Db;
import com.sql.util.Db_Lithium_Testdata;
import com.sql.util.Db_Param;
import com.sql.util.Db_Power_Alarm;
import com.sql.util.Db_User;
import com.sql.util.Db_Work;
public class main_BTS_DB_Builder {
    /**************************************************************************/
    /**************************************************************************/
    public final static boolean app_debug = false;
    public final static float m_VersionNum = (float) 1.01;
    public final static float m_VersionNum = (float) 1.02;
    public final static String m_Version = "Welcome To Use BTS DB BUILDER V" + m_VersionNum + " RC_20180908";
    /**************************************************************************/
    /**************************************************************************/
@@ -91,7 +94,15 @@
        
        Db_Lithium_Ram_Db.init(GB_MysqlConnPool);
        
        Db_Lithium_Testdata.init(GB_MysqlConnPool);
        Db_Work.init(GB_MysqlConnPool);
        Db_User.init(GB_MysqlConnPool);
        GB_DataArray.checkBattRealData();
        System.out.println("main_BTS_DB_Builder Run Done.");
    }