2025-07-29 20:11:46 +08:00
|
|
|
|
-- 制度模块数据库表创建脚本
|
|
|
|
|
-- @author wangna
|
|
|
|
|
-- @date 2025/07/28
|
|
|
|
|
|
|
|
|
|
-- 制度规范仓库表
|
|
|
|
|
CREATE TABLE `regulation` (
|
|
|
|
|
`regulation_id` varchar(64) NOT NULL COMMENT '制度ID',
|
|
|
|
|
`title` varchar(255) NOT NULL COMMENT '制度标题',
|
|
|
|
|
`content` text COMMENT '制度内容',
|
|
|
|
|
`regulation_type` varchar(50) DEFAULT NULL COMMENT '制度类型',
|
|
|
|
|
`status` varchar(20) DEFAULT 'DRAFT' COMMENT '制度状态:DRAFT-草案,PUBLISHED-已发布,ARCHIVED-已归档',
|
|
|
|
|
`publisher_id` varchar(64) DEFAULT NULL COMMENT '发布人ID',
|
|
|
|
|
`publisher_name` varchar(100) DEFAULT NULL COMMENT '发布人姓名',
|
|
|
|
|
`publish_time` datetime DEFAULT NULL COMMENT '发布时间',
|
|
|
|
|
`effective_time` datetime DEFAULT NULL COMMENT '生效时间',
|
|
|
|
|
`expire_time` datetime DEFAULT NULL COMMENT '失效时间',
|
|
|
|
|
`scope` varchar(255) DEFAULT NULL COMMENT '适用范围',
|
|
|
|
|
`level` varchar(20) DEFAULT 'MEDIUM' COMMENT '制度级别:HIGH-高级,MEDIUM-中级,LOW-低级',
|
|
|
|
|
`version` varchar(20) DEFAULT '1.0' COMMENT '版本号',
|
|
|
|
|
`remark` text COMMENT '备注',
|
|
|
|
|
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
|
|
|
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
|
|
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
|
|
|
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,1代表删除)',
|
|
|
|
|
PRIMARY KEY (`regulation_id`),
|
|
|
|
|
KEY `idx_status` (`status`),
|
|
|
|
|
KEY `idx_type` (`regulation_type`),
|
|
|
|
|
KEY `idx_publisher` (`publisher_id`),
|
|
|
|
|
KEY `idx_create_time` (`create_time`)
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='制度规范仓库';
|
|
|
|
|
|
|
|
|
|
-- 制度草案表
|
|
|
|
|
CREATE TABLE `regulation_draft` (
|
|
|
|
|
`draft_id` varchar(64) NOT NULL COMMENT '草案ID',
|
|
|
|
|
`title` varchar(255) NOT NULL COMMENT '制度标题',
|
|
|
|
|
`content` text COMMENT '制度内容',
|
|
|
|
|
`regulation_type` varchar(50) DEFAULT NULL COMMENT '制度类型',
|
|
|
|
|
`status` varchar(20) DEFAULT 'DRAFT' COMMENT '草案状态:DRAFT-草稿,REVIEWING-审核中,APPROVED-已通过,REJECTED-已拒绝',
|
|
|
|
|
`creator_id` varchar(64) DEFAULT NULL COMMENT '创建人ID',
|
|
|
|
|
`creator_name` varchar(100) DEFAULT NULL COMMENT '创建人姓名',
|
|
|
|
|
`reviewer_id` varchar(64) DEFAULT NULL COMMENT '审核人ID',
|
|
|
|
|
`reviewer_name` varchar(100) DEFAULT NULL COMMENT '审核人姓名',
|
|
|
|
|
`review_time` datetime DEFAULT NULL COMMENT '审核时间',
|
|
|
|
|
`review_comment` text COMMENT '审核意见',
|
|
|
|
|
`scope` varchar(255) DEFAULT NULL COMMENT '适用范围',
|
|
|
|
|
`level` varchar(20) DEFAULT 'MEDIUM' COMMENT '制度级别:HIGH-高级,MEDIUM-中级,LOW-低级',
|
|
|
|
|
`version` varchar(20) DEFAULT '1.0' COMMENT '版本号',
|
|
|
|
|
`remark` text COMMENT '备注',
|
|
|
|
|
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
|
|
|
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
|
|
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
|
|
|
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,1代表删除)',
|
|
|
|
|
PRIMARY KEY (`draft_id`),
|
|
|
|
|
KEY `idx_status` (`status`),
|
|
|
|
|
KEY `idx_creator` (`creator_id`),
|
|
|
|
|
KEY `idx_reviewer` (`reviewer_id`),
|
|
|
|
|
KEY `idx_create_time` (`create_time`)
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='制度草案';
|
|
|
|
|
|
|
|
|
|
-- 制度提案表
|
|
|
|
|
CREATE TABLE `regulation_proposal` (
|
|
|
|
|
`proposal_id` varchar(64) NOT NULL COMMENT '提案ID',
|
|
|
|
|
`title` varchar(255) NOT NULL COMMENT '提案标题',
|
|
|
|
|
`content` text COMMENT '提案内容',
|
|
|
|
|
`proposal_type` varchar(50) DEFAULT NULL COMMENT '提案类型',
|
|
|
|
|
`status` varchar(20) DEFAULT 'SUBMITTED' COMMENT '提案状态:SUBMITTED-已提交,DISCUSSING-讨论中,APPROVED-已通过,REJECTED-已拒绝,CONVERTED-已转为草案',
|
|
|
|
|
`proposer_id` varchar(64) DEFAULT NULL COMMENT '提案人ID',
|
|
|
|
|
`proposer_name` varchar(100) DEFAULT NULL COMMENT '提案人姓名',
|
|
|
|
|
`proposer_dept` varchar(100) DEFAULT NULL COMMENT '提案人部门',
|
|
|
|
|
`discussion_group_id` varchar(64) DEFAULT NULL COMMENT '讨论组ID',
|
|
|
|
|
`discussion_group_name` varchar(100) DEFAULT NULL COMMENT '讨论组名称',
|
|
|
|
|
`discussion_start_time` datetime DEFAULT NULL COMMENT '讨论开始时间',
|
|
|
|
|
`discussion_end_time` datetime DEFAULT NULL COMMENT '讨论结束时间',
|
|
|
|
|
`discussion_status` varchar(20) DEFAULT 'NOT_STARTED' COMMENT '讨论状态:NOT_STARTED-未开始,DISCUSSING-讨论中,FINISHED-已结束',
|
|
|
|
|
`support_count` int DEFAULT 0 COMMENT '支持人数',
|
|
|
|
|
`oppose_count` int DEFAULT 0 COMMENT '反对人数',
|
|
|
|
|
`total_participants` int DEFAULT 0 COMMENT '总参与人数',
|
|
|
|
|
`reviewer_id` varchar(64) DEFAULT NULL COMMENT '审核人ID',
|
|
|
|
|
`reviewer_name` varchar(100) DEFAULT NULL COMMENT '审核人姓名',
|
|
|
|
|
`review_time` datetime DEFAULT NULL COMMENT '审核时间',
|
|
|
|
|
`review_comment` text COMMENT '审核意见',
|
|
|
|
|
`converted_draft_id` varchar(64) DEFAULT NULL COMMENT '转为草案ID',
|
|
|
|
|
`scope` varchar(255) DEFAULT NULL COMMENT '适用范围',
|
|
|
|
|
`level` varchar(20) DEFAULT 'MEDIUM' COMMENT '制度级别:HIGH-高级,MEDIUM-中级,LOW-低级',
|
|
|
|
|
`urgency_level` varchar(20) DEFAULT 'MEDIUM' COMMENT '紧急程度:HIGH-高,MEDIUM-中,LOW-低',
|
|
|
|
|
`remark` text COMMENT '备注',
|
|
|
|
|
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
|
|
|
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
|
|
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
|
|
|
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,1代表删除)',
|
|
|
|
|
PRIMARY KEY (`proposal_id`),
|
|
|
|
|
KEY `idx_status` (`status`),
|
|
|
|
|
KEY `idx_proposer` (`proposer_id`),
|
|
|
|
|
KEY `idx_reviewer` (`reviewer_id`),
|
|
|
|
|
KEY `idx_discussion_status` (`discussion_status`),
|
|
|
|
|
KEY `idx_create_time` (`create_time`)
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='制度提案';
|
|
|
|
|
|
|
|
|
|
-- 制度确认表
|
|
|
|
|
CREATE TABLE `regulation_confirmation` (
|
|
|
|
|
`confirmation_id` varchar(64) NOT NULL COMMENT '确认ID',
|
|
|
|
|
`regulation_id` varchar(64) NOT NULL COMMENT '制度ID',
|
|
|
|
|
`regulation_title` varchar(255) DEFAULT NULL COMMENT '制度标题',
|
|
|
|
|
`confirmer_id` varchar(64) NOT NULL COMMENT '确认人ID',
|
|
|
|
|
`confirmer_name` varchar(100) DEFAULT NULL COMMENT '确认人姓名',
|
|
|
|
|
`confirmer_dept` varchar(100) DEFAULT NULL COMMENT '确认人部门',
|
|
|
|
|
`status` varchar(20) DEFAULT 'PENDING' COMMENT '确认状态:PENDING-待确认,CONFIRMED-已确认,DECLINED-已拒绝',
|
|
|
|
|
`confirm_time` datetime DEFAULT NULL COMMENT '确认时间',
|
|
|
|
|
`confirm_comment` text COMMENT '确认意见',
|
|
|
|
|
`read_duration` int DEFAULT 0 COMMENT '阅读时长(秒)',
|
|
|
|
|
`ip_address` varchar(50) DEFAULT NULL COMMENT 'IP地址',
|
|
|
|
|
`user_agent` varchar(500) DEFAULT NULL COMMENT '用户代理',
|
|
|
|
|
`remark` text COMMENT '备注',
|
|
|
|
|
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
|
|
|
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
|
|
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
|
|
|
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,1代表删除)',
|
|
|
|
|
PRIMARY KEY (`confirmation_id`),
|
|
|
|
|
UNIQUE KEY `uk_confirmer_regulation` (`confirmer_id`, `regulation_id`),
|
|
|
|
|
KEY `idx_regulation` (`regulation_id`),
|
|
|
|
|
KEY `idx_confirmer` (`confirmer_id`),
|
|
|
|
|
KEY `idx_status` (`status`),
|
|
|
|
|
KEY `idx_confirm_time` (`confirm_time`)
|
2025-07-30 09:24:22 +08:00
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='制度确认';
|
|
|
|
|
|
|
|
|
|
-- 制度类型表
|
|
|
|
|
CREATE TABLE `regulation_type` (
|
|
|
|
|
`type_id` varchar(64) NOT NULL COMMENT '类型ID',
|
|
|
|
|
`type_name` varchar(100) NOT NULL COMMENT '类型名称',
|
|
|
|
|
`type_code` varchar(50) NOT NULL COMMENT '类型编码',
|
|
|
|
|
`description` text COMMENT '类型描述',
|
|
|
|
|
`parent_id` varchar(64) DEFAULT NULL COMMENT '父类型ID',
|
|
|
|
|
`level` int DEFAULT 1 COMMENT '层级(1-一级,2-二级,3-三级)',
|
|
|
|
|
`sort_order` int DEFAULT 0 COMMENT '排序号',
|
|
|
|
|
`is_enabled` char(1) DEFAULT '1' COMMENT '是否启用(0-禁用,1-启用)',
|
|
|
|
|
`icon` varchar(100) DEFAULT NULL COMMENT '图标',
|
|
|
|
|
`color` varchar(20) DEFAULT NULL COMMENT '颜色',
|
|
|
|
|
`remark` text COMMENT '备注',
|
|
|
|
|
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
|
|
|
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
|
|
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
|
|
|
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
|
|
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,1代表删除)',
|
|
|
|
|
PRIMARY KEY (`type_id`),
|
|
|
|
|
UNIQUE KEY `uk_type_code` (`type_code`),
|
|
|
|
|
KEY `idx_parent_id` (`parent_id`),
|
|
|
|
|
KEY `idx_level` (`level`),
|
|
|
|
|
KEY `idx_sort_order` (`sort_order`),
|
|
|
|
|
KEY `idx_is_enabled` (`is_enabled`)
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='制度类型';
|