2025-07-29 20:11:46 +08:00
|
|
|
|
-- 制度模块数据库表创建脚本
|
|
|
|
|
-- @author wangna
|
|
|
|
|
-- @date 2025/07/28
|
|
|
|
|
|
2025-07-30 16:17:42 +08:00
|
|
|
|
-- 制度类型表
|
|
|
|
|
CREATE TABLE `regulation_type` (
|
|
|
|
|
`type_id` varchar(64) NOT NULL COMMENT '类型ID',
|
|
|
|
|
`type_name` varchar(100) NOT NULL COMMENT '类型名称',
|
|
|
|
|
`sort_order` int DEFAULT 0 COMMENT '排序顺序',
|
|
|
|
|
`is_enabled` char(1) DEFAULT '1' COMMENT '是否启用(1-启用,0-禁用)',
|
|
|
|
|
`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_name` (`type_name`),
|
|
|
|
|
KEY `idx_sort_order` (`sort_order`),
|
|
|
|
|
KEY `idx_is_enabled` (`is_enabled`),
|
|
|
|
|
KEY `idx_create_time` (`create_time`)
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='制度类型';
|
|
|
|
|
|
|
|
|
|
-- 插入制度类型测试数据
|
|
|
|
|
INSERT INTO `regulation_type` (`type_id`, `type_name`, `sort_order`, `is_enabled`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES
|
|
|
|
|
('type_001', '人事制度', 1, '1', '人力资源管理相关制度', 'admin', '2024-01-01 10:00:00', 'admin', '2024-01-01 10:00:00', '0'),
|
|
|
|
|
('type_002', '财务制度', 2, '1', '财务管理相关制度', 'admin', '2024-01-01 10:00:00', 'admin', '2024-01-01 10:00:00', '0'),
|
|
|
|
|
('type_003', '安全制度', 3, '1', '安全管理相关制度', 'admin', '2024-01-01 10:00:00', 'admin', '2024-01-01 10:00:00', '0'),
|
|
|
|
|
('type_004', '设备制度', 4, '1', '设备管理相关制度', 'admin', '2024-01-01 10:00:00', 'admin', '2024-01-01 10:00:00', '0'),
|
|
|
|
|
('type_005', '行政制度', 5, '1', '行政管理相关制度', 'admin', '2024-01-01 10:00:00', 'admin', '2024-01-01 10:00:00', '0');
|
|
|
|
|
|
2025-07-29 20:11:46 +08:00
|
|
|
|
-- 制度规范仓库表
|
|
|
|
|
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',
|
|
|
|
|
`confirmer_id` varchar(64) NOT NULL COMMENT '确认人ID',
|
|
|
|
|
`confirmer_name` varchar(100) DEFAULT NULL COMMENT '确认人姓名',
|
|
|
|
|
`confirmer_dept` varchar(100) DEFAULT NULL COMMENT '确认人部门',
|
2025-07-30 16:17:42 +08:00
|
|
|
|
`status` varchar(20) DEFAULT 'CONFIRMED' COMMENT '确认状态:CONFIRMED-已确认',
|
2025-07-29 20:11:46 +08:00
|
|
|
|
`confirm_time` datetime DEFAULT NULL 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 16:17:42 +08:00
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='制度确认';
|