| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- -- =============================================
- -- 城市地下管网预警管理系统数据库表设计
- -- =============================================
- -- 1. 预警信息表
- DROP TABLE IF EXISTS `early_warning`;
- CREATE TABLE `early_warning` (
- `warning_id` varchar(64) NOT NULL COMMENT '预警ID(主键)',
- `warning_no` varchar(64) NOT NULL COMMENT '预警编号',
- `warning_name` varchar(256) NOT NULL COMMENT '预警名称',
- `warning_type` varchar(64) NOT NULL COMMENT '预警类型',
- `warning_level` varchar(32) NOT NULL COMMENT '预警级别(1-最高 2-次高 3-一般 4-常态;驾驶舱展示色为1红2黄3蓝4绿)',
- `warning_special` varchar(128) DEFAULT NULL COMMENT '预警专项',
- `location` varchar(512) DEFAULT NULL COMMENT '预警位置',
- `longitude` decimal(15,10) DEFAULT NULL COMMENT '经度',
- `latitude` decimal(15,10) DEFAULT NULL COMMENT '纬度',
- `ownership_unit` varchar(256) DEFAULT NULL COMMENT '权属单位',
- `publisher` varchar(128) DEFAULT NULL COMMENT '发布人',
- `publish_time` datetime DEFAULT NULL COMMENT '发布时间',
- `handler` varchar(128) DEFAULT NULL COMMENT '处置人',
- `status` varchar(32) NOT NULL DEFAULT 'DRAFT' COMMENT '状态(DRAFT-草稿 PENDING-待办 PROCESSING-处置中 RELEASED-已发布 HANDLED-已处置 CLOSED-已解除)',
- `warning_content` text COMMENT '预警内容描述',
- `process_instance_id` varchar(128) DEFAULT NULL COMMENT '工作流实例ID',
- `create_by` varchar(128) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_by` varchar(128) DEFAULT NULL COMMENT '更新人',
- `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `remark` varchar(512) DEFAULT NULL COMMENT '备注',
- PRIMARY KEY (`warning_id`),
- UNIQUE KEY `uk_warning_no` (`warning_no`),
- KEY `idx_warning_type` (`warning_type`),
- KEY `idx_warning_level` (`warning_level`),
- KEY `idx_status` (`status`),
- KEY `idx_publish_time` (`publish_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警信息表';
- -- 2. 报警预警关联表
- DROP TABLE IF EXISTS `alarm_warning_rel`;
- CREATE TABLE `alarm_warning_rel` (
- `rel_id` varchar(64) NOT NULL COMMENT '关联ID',
- `warning_id` varchar(64) NOT NULL COMMENT '预警ID',
- `alarm_id` varchar(64) NOT NULL COMMENT '报警ID',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`rel_id`),
- KEY `idx_warning_id` (`warning_id`),
- KEY `idx_alarm_id` (`alarm_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警预警关联表';
- -- 3. 预警报告附件表
- DROP TABLE IF EXISTS `warning_attachment`;
- CREATE TABLE `warning_attachment` (
- `attachment_id` varchar(64) NOT NULL COMMENT '附件ID',
- `warning_id` varchar(64) NOT NULL COMMENT '预警ID',
- `attachment_name` varchar(256) NOT NULL COMMENT '附件名称',
- `attachment_url` varchar(512) NOT NULL COMMENT '附件地址',
- `attachment_type` varchar(255) DEFAULT NULL COMMENT '附件类型(MIME,标准 MIME 可达 70+ 字符)',
- `attachment_size` bigint DEFAULT NULL COMMENT '附件大小(字节)',
- `create_by` varchar(128) DEFAULT NULL COMMENT '上传人',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
- PRIMARY KEY (`attachment_id`),
- KEY `idx_warning_id` (`warning_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警报告附件表';
- -- 4. 预警处置记录表
- DROP TABLE IF EXISTS `warning_disposal`;
- CREATE TABLE `warning_disposal` (
- `disposal_id` varchar(64) NOT NULL COMMENT '处置记录ID',
- `warning_id` varchar(64) NOT NULL COMMENT '预警ID',
- `disposal_type` varchar(32) NOT NULL COMMENT '处置类型(UPGRADE-升级 DOWNGRADE-降级 RESOLVE-解除 RETURN-退回 SUPERVISION-督办 INSTRUCTION-批示)',
- `old_level` varchar(32) DEFAULT NULL COMMENT '原预警级别',
- `new_level` varchar(32) DEFAULT NULL COMMENT '新预警级别',
- `disposal_user` varchar(128) NOT NULL COMMENT '处置人',
- `disposal_content` text COMMENT '处置内容/意见',
- `supervision_user` varchar(128) DEFAULT NULL COMMENT '督办人员',
- `supervision_content` text COMMENT '督办意见',
- `notification_type` varchar(32) DEFAULT NULL COMMENT '通知方式(SMS-短信 EMAIL-邮件 APP-APP通知)',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '处置时间',
- PRIMARY KEY (`disposal_id`),
- KEY `idx_warning_id` (`warning_id`),
- KEY `idx_disposal_type` (`disposal_type`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警处置记录表';
- -- 5. 预警督办表
- DROP TABLE IF EXISTS `warning_supervision`;
- CREATE TABLE `warning_supervision` (
- `supervision_id` varchar(64) NOT NULL COMMENT '督办ID',
- `warning_id` varchar(64) NOT NULL COMMENT '预警ID',
- `supervision_user` varchar(128) NOT NULL COMMENT '督办人员',
- `supervision_content` text NOT NULL COMMENT '督办意见',
- `notification_type` varchar(32) NOT NULL COMMENT '通知方式',
- `notification_content` text COMMENT '通知内容',
- `attachment_url` varchar(512) DEFAULT NULL COMMENT '附件地址',
- `create_by` varchar(128) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`supervision_id`),
- KEY `idx_warning_id` (`warning_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警督办表';
- -- 6. 领导批示表
- DROP TABLE IF EXISTS `leader_instruction`;
- CREATE TABLE `leader_instruction` (
- `instruction_id` varchar(64) NOT NULL COMMENT '批示ID',
- `warning_id` varchar(64) NOT NULL COMMENT '预警ID',
- `leader_name` varchar(128) NOT NULL COMMENT '领导姓名',
- `instruction_content` text NOT NULL COMMENT '批示内容',
- `sms_receivers` text COMMENT '短信接收人(逗号分隔)',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '批示时间',
- PRIMARY KEY (`instruction_id`),
- KEY `idx_warning_id` (`warning_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='领导批示表';
- -- 7. 预警待办表(为了快速查询待办已办)
- DROP TABLE IF EXISTS `warning_todo`;
- CREATE TABLE `warning_todo` (
- `todo_id` varchar(64) NOT NULL COMMENT '待办ID',
- `warning_id` varchar(64) NOT NULL COMMENT '预警ID',
- `user_id` varchar(64) NOT NULL COMMENT '用户ID',
- `user_name` varchar(128) DEFAULT NULL COMMENT '用户姓名',
- `todo_type` varchar(32) NOT NULL COMMENT '待办类型(TODO-待办 DONE-已办)',
- `read_status` varchar(32) DEFAULT 'UNREAD' COMMENT '阅读状态(UNREAD-未读 READ-已读)',
- `task_name` varchar(256) DEFAULT NULL COMMENT '任务名称',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `complete_time` datetime DEFAULT NULL COMMENT '完成时间',
- PRIMARY KEY (`todo_id`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_warning_id` (`warning_id`),
- KEY `idx_todo_type` (`todo_type`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警待办表';
- -- =============================================
- -- 初始化数据
- -- =============================================
- -- 初始化预警类型字典
- INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
- (100, '预警类型', 'warning_type', '0', 'admin', NOW(), '', NULL, '预警类型列表');
- INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
- (100, 1, '供水管网预警', 'WATER_PIPE', 'warning_type', '', 'primary', 'N', '0', 'admin', NOW(), '', NULL, '供水管网预警'),
- (101, 2, '排水管网预警', 'SEWER_PIPE', 'warning_type', '', 'primary', 'N', '0', 'admin', NOW(), '', NULL, '排水管网预警'),
- (102, 3, '燃气管网预警', 'GAS_PIPE', 'warning_type', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '燃气管网预警'),
- (103, 4, '热力管网预警', 'HEAT_PIPE', 'warning_type', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '热力管网预警'),
- (104, 5, '电力管网预警', 'ELECTRIC_PIPE', 'warning_type', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '电力管网预警'),
- (105, 6, '通信管网预警', 'COMMUNICATION_PIPE', 'warning_type', '', 'info', 'N', '0', 'admin', NOW(), '', NULL, '通信管网预警');
- -- 初始化设备类型字典
- INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
- (101, '设备类型', 'equipment_type', '0', 'admin', NOW(), '', NULL, '设备类型列表');
- INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
- (106, 1, '压力传感器', 'PRESSURE', 'equipment_type', '', 'primary', 'N', '0', 'admin', NOW(), '', NULL, '压力传感器'),
- (107, 2, '流量传感器', 'FLOW', 'equipment_type', '', 'primary', 'N', '0', 'admin', NOW(), '', NULL, '流量传感器'),
- (108, 3, '液位传感器', 'LEVEL', 'equipment_type', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '液位传感器'),
- (109, 4, '温度传感器', 'TEMPERATURE', 'equipment_type', '', 'info', 'N', '0', 'admin', NOW(), '', NULL, '温度传感器'),
- (110, 5, '气体传感器', 'GAS', 'equipment_type', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '气体传感器'),
- (111, 6, '阀门控制器', 'VALVE', 'equipment_type', '', 'default', 'N', '0', 'admin', NOW(), '', NULL, '阀门控制器'),
- (112, 7, '摄像头', 'CAMERA', 'equipment_type', '', 'default', 'N', '0', 'admin', NOW(), '', NULL, '摄像头');
- -- 10. 预警归档表
- DROP TABLE IF EXISTS `warning_archive`;
- CREATE TABLE `warning_archive` (
- `archive_id` varchar(64) NOT NULL COMMENT '归档ID',
- `warning_id` varchar(64) NOT NULL COMMENT '预警ID',
- `archive_no` varchar(64) NOT NULL COMMENT '归档编号',
- `warning_no` varchar(64) NOT NULL COMMENT '预警编号',
- `warning_name` varchar(256) NOT NULL COMMENT '预警名称',
- `warning_type` varchar(64) NOT NULL COMMENT '预警类型',
- `warning_level` varchar(32) NOT NULL COMMENT '预警级别',
- `location` varchar(512) DEFAULT NULL COMMENT '预警位置',
- `longitude` decimal(15,10) DEFAULT NULL COMMENT '经度',
- `latitude` decimal(15,10) DEFAULT NULL COMMENT '纬度',
- `ownership_unit` varchar(256) DEFAULT NULL COMMENT '权属单位',
- `publisher` varchar(128) DEFAULT NULL COMMENT '发布人',
- `publish_time` datetime DEFAULT NULL COMMENT '发布时间',
- `handler` varchar(128) DEFAULT NULL COMMENT '处置人',
- `warning_content` text COMMENT '预警内容',
- `archive_content` text COMMENT '归档内容',
- `archive_status` varchar(32) DEFAULT NULL COMMENT '归档状态',
- `create_by` varchar(128) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`archive_id`),
- UNIQUE KEY `uk_warning_id` (`warning_id`),
- KEY `idx_archive_no` (`archive_no`),
- KEY `idx_create_time` (`create_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警归档表';
- -- 11. 预警清单表
- DROP TABLE IF EXISTS `warning_item`;
- CREATE TABLE `warning_item` (
- `item_id` varchar(64) NOT NULL COMMENT '事项ID',
- `item_code` varchar(64) NOT NULL COMMENT '事项编码',
- `item_name` varchar(256) NOT NULL COMMENT '事项名称',
- `warning_type` varchar(64) NOT NULL COMMENT '预警类型',
- `warning_level` varchar(32) NOT NULL COMMENT '预警级别',
- `warning_special` varchar(128) DEFAULT NULL COMMENT '预警专项',
- `industry` varchar(128) DEFAULT NULL COMMENT '所属行业',
- `duration` int DEFAULT NULL COMMENT '预警时长(小时)',
- `link_config` text COMMENT '预警环节配置',
- `status` varchar(32) DEFAULT 'ENABLED' COMMENT '状态(ENABLED-启用 DISABLED-禁用 INVALID-作废)',
- `create_by` varchar(128) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_by` varchar(128) DEFAULT NULL COMMENT '更新人',
- `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `remark` varchar(512) DEFAULT NULL COMMENT '备注',
- PRIMARY KEY (`item_id`),
- UNIQUE KEY `uk_item_code` (`item_code`),
- KEY `idx_warning_type` (`warning_type`),
- KEY `idx_warning_level` (`warning_level`),
- KEY `idx_status` (`status`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警清单表';
- -- 12. 预警原因库表
- DROP TABLE IF EXISTS `warning_reason`;
- CREATE TABLE `warning_reason` (
- `reason_id` varchar(64) NOT NULL COMMENT '原因ID',
- `reason_code` varchar(64) NOT NULL COMMENT '原因编码',
- `reason_name` varchar(256) NOT NULL COMMENT '原因名称',
- `warning_type` varchar(64) NOT NULL COMMENT '预警类型',
- `warning_level` varchar(32) NOT NULL COMMENT '预警级别',
- `description` text COMMENT '原因描述',
- `sort_order` int DEFAULT 0 COMMENT '排序',
- `status` char(1) DEFAULT '0' COMMENT '状态(0-正常 1-停用)',
- `create_by` varchar(128) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_by` varchar(128) DEFAULT NULL COMMENT '更新人',
- `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (`reason_id`),
- UNIQUE KEY `uk_reason_code` (`reason_code`),
- KEY `idx_warning_type` (`warning_type`),
- KEY `idx_warning_level` (`warning_level`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='预警原因库表';
|