SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for monitor_device 监控设备表 -- ---------------------------- DROP TABLE IF EXISTS `monitor_device`; CREATE TABLE `monitor_device` ( `id` VARCHAR(50) NOT NULL COMMENT '设备唯一标识符,UUID', -- 设备唯一标识符,UUID `device_name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备名称', -- 设备名称 `device_code` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备编码', -- 设备编码 `model_name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备型号', -- 设备型号 `last_heartbeat_time` DATETIME NULL DEFAULT NULL COMMENT '最后心跳时间', -- 设备最后心跳时间 `status` CHAR(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备状态(1:正常,2:闲置)', -- 设备状态 `sensor_count` INT NULL DEFAULT NULL COMMENT '传感器路数', -- 传感器的路数 `last_login_time` TIMESTAMP NULL DEFAULT NULL COMMENT '最近登录时间', -- 最近登录时间 `sort_code` INT NULL DEFAULT NULL COMMENT '排序码', -- 排序码 `extra_info` LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '扩展信息,存储额外的JSON数据', -- 扩展信息,存储JSON `is_deleted` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志,标记是否删除', -- 删除标志 `created_at` DATETIME NULL DEFAULT NULL COMMENT '记录创建时间', -- 记录的创建时间 `created_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录创建用户', -- 创建用户 `updated_at` DATETIME NULL DEFAULT NULL COMMENT '记录修改时间', -- 记录的修改时间 `updated_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录修改用户', -- 修改用户 PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '监控设备管理表,存储设备信息及其状态管理' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for monitor_target 监控目标 -- ---------------------------- DROP TABLE IF EXISTS `monitor_target`; CREATE TABLE `monitor_target` ( `id` VARCHAR(50) NOT NULL, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称001', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(1:正常,2:闲置)', `monitor_point` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '监控位置区域', `sensor_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '传感器类型', `monitor_device_id` VARCHAR(50) NULL DEFAULT NULL COMMENT '监控设备编号', -- 监控目标设备的UUID `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '冷链编号', `limit_up` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报警上限', `limit_down` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报警下限', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '目标设备管理' ROW_FORMAT = Dynamic; DROP TABLE IF EXISTS `monitor_target_region`; CREATE TABLE `monitor_target_region` ( `id` VARCHAR(50) NOT NULL COMMENT '区域唯一标识符,UUID', -- 区域唯一标识符 `name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区域名称', -- 区域名称 `parent_id` VARCHAR(50) NULL DEFAULT NULL COMMENT '上级区域ID,若无则为NULL', -- 上级区域ID `monitor_target_id` VARCHAR(50) NULL DEFAULT NULL COMMENT '监控目标设备', `sensor_code` VARCHAR(50) NOT NULL COMMENT '传感器编号,如:X001、C001', `sensor_type` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '传感器类型,如:温湿度传感器、二氧化碳传感器', `sensor_route` INT NOT NULL COMMENT '传感器路数,如:路数1、路数2', `created_at` DATETIME NULL DEFAULT NULL COMMENT '记录创建时间', -- 记录创建时间 `created_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录创建用户', -- 创建用户 `updated_at` DATETIME NULL DEFAULT NULL COMMENT '记录修改时间', -- 记录修改时间 `updated_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录修改用户', -- 修改用户 PRIMARY KEY (`region_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '区域管理表,用于管理设备区域结构' ROW_FORMAT = Dynamic; DROP TABLE IF EXISTS `monitor_monitor_target`; CREATE TABLE `monitor_monitor_target` ( `monitor_device_id` VARCHAR(50) NOT NULL COMMENT '监控设备ID(外键,来自monitor_device表)', -- 监控设备ID `monitor_target_id` VARCHAR(50) NOT NULL COMMENT '目标设备ID(外键,来自monitor_target表)', -- 目标设备ID `monitor_target_region_id` VARCHAR(50) NULL COMMENT '目标设备区域ID(外键,来自monitor_target表)', -- 目标设备ID `sensor_route` INT NULL DEFAULT NULL COMMENT '传感器路数', -- 传感器的路数(例如路数1、路数2等) `created_at` DATETIME NULL DEFAULT NULL COMMENT '记录创建时间', -- 记录创建时间 `created_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录创建用户', -- 创建用户 `updated_at` DATETIME NULL DEFAULT NULL COMMENT '记录修改时间', -- 记录修改时间 `updated_by` VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录修改用户' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '监控设备与目标设备关系表,管理传感器监控的目标设备' ROW_FORMAT = Dynamic; CREATE TABLE monitor_device_parameters ( id VARCHAR(50) PRIMARY KEY COMMENT '主键,唯一标识每个记录', -- 主键,唯一标识每个记录 monitor_device_id INT NOT NULL COMMENT '监控设备ID,关联到设备', -- 设备ID,关联到设备 param_id INT NOT NULL COMMENT '参数ID,每个参数的唯一标识', -- 参数ID param_type VARCHAR(20) NOT NULL COMMENT '参数类型 (如 STRING, INT16U, IP, FLOAT)', -- 参数类型 description VARCHAR(255) NOT NULL COMMENT '参数描述,简短的参数解释', -- 参数描述 value VARCHAR(255) NOT NULL COMMENT '参数值,存储该参数的当前值', -- 参数值 length INT DEFAULT 0 COMMENT '参数长度,通常用于表示字符串的长度', -- 参数长度 min_value INT DEFAULT 0 COMMENT '参数的最小值,用于数值类型的参数', -- 最小值 max_value INT DEFAULT 0 COMMENT '参数的最大值,用于数值类型的参数', -- 最大值 value_description TEXT COMMENT '可选的值描述,存储该参数可能的取值描述或枚举值', -- 可选的值描述 (如关联继电器) created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', -- 创建时间 updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间', -- 更新时间 UNIQUE KEY(id, param_id) COMMENT '确保每个设备的每个参数唯一' -- 唯一约束,确保每个设备的每个参数唯一 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='存储设备参数及其配置的数据表'; -- 表级注释 INSERT INTO monitor_device_parameters (id, device_id, param_id, param_type, description, value, length, min_value, max_value, value_description, created_at, updated_at) VALUES ('1', 30067080, 2, 'STRING', '网口服务器1URL地址', '10.0.1.125', 64, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('2', 30067080, 3, 'INT16U', '网口服务器1源端口', '-25132', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('3', 30067080, 13, 'IP', '网口静态IP', '55.1.168.192', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('4', 30067080, 14, 'IP', '网口子网掩码', '0.255.255.255', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('5', 30067080, 15, 'IP', '网口网关', '0.1.168.192', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('6', 30067080, 16, 'INT8U', '网口IP获取方式', '1', 0, 0, 0, '{"0":"静态IP", "1":"自动获取IP"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('7', 30067080, 30, 'INT16U', '网口登陆帧间隔(秒)', '2', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('8', 30067080, 31, 'INT16U', '网口心跳帧间隔(秒)', '10', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('9', 30067080, 32, 'INT16U', '网口数据帧间隔(秒)', '5', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('10', 30067080, 33, 'FLOAT', '标识设备坐标经度 其中-180-0代表西经', '0.0', 0, -180, 180, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('11', 30067080, 34, 'FLOAT', '标识设备坐标维度 其中-90-0代表南纬', '0.0', 0, -90, 90, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('12', 30067080, 38, 'INT16U', '主机正常数据记录间隔(分)', '1', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('13', 30067080, 39, 'INT16U', '主机报警数据记录间隔(分)', '2', 0, 1, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('14', 30067080, 40, 'INT8U', '主机数据存储配型', '2', 0, 0, 0, '{"0":"关闭", "1":"关闭", "2":"开启", "3":"自动"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('15', 30067080, 44, 'INT8U', '主机存储数据是否主动上传', '0', 0, 0, 0, '{"0":"否", "1":"是"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('16', 30067080, 247, 'INT16U', '通道1报警延时(秒)', '0', 0, 0, 65535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('17', 30067080, 248, 'FLOAT', '通道1模拟量1上限', '80.0', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('18', 30067080, 249, 'FLOAT', '通道1模拟量1下限', '-80.0', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('19', 30067080, 250, 'FLOAT', '通道1模拟量1控制回差', '0.0', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('20', 30067080, 257, 'INT8U', '通道1模拟量1上限关联继电器', '0', 0, 0, 0, '{"0":"不关联","1":"关联1号继电器","2":"关联2号继电器","3":"关联3号继电器","4":"关联4号继电器","5":"关联5号继电器","6":"关联6号继电器","7":"关联7号继电器","8":"关联8号继电器"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('21', 30067080, 258, 'INT8U', '通道1模拟量1下限关联继电器', '0', 0, 0, 0, '{"0":"不关联","1":"关联1号继电器","2":"关联2号继电器","3":"关联3号继电器","4":"关联4号继电器","5":"关联5号继电器","6":"关联6号继电器","7":"关联7号继电器","8":"关联8号继电器"}', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), ('22', 30067080, 252, 'FLOAT', '通道1模拟量1系数B', '0.0', 0, 0, 0, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); SET FOREIGN_KEY_CHECKS = 1;