BattMonitor_DB_Builder/bin/com/sql/util/Db_Lithium_Ram_Db.classBinary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_Lithium_Testdata.classBinary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_User.classBinary files differ
BattMonitor_DB_Builder/bin/com/sql/util/Db_Work.classBinary 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."); }