创建报销流程配置表.sql
3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
-- 报销流程配置表 - 数据库表结构
-- 执行时间:2025年
-- 说明:支持预先配置多个报销审批流程模板,用户创建报销申请时可以选择已配置的流程
-- 1. 流程配置主表(存储流程模板基本信息)
CREATE TABLE IF NOT EXISTS `lq_reimbursement_workflow_config` (
`F_Id` varchar(50) NOT NULL COMMENT '流程配置ID',
`F_WorkflowName` varchar(100) NOT NULL COMMENT '流程名称',
`F_IsEnabled` int NOT NULL DEFAULT 1 COMMENT '是否启用(1-启用,0-禁用)',
`F_Description` varchar(500) DEFAULT NULL COMMENT '流程描述',
`F_CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`F_ModifyTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`F_ModifyUser` varchar(50) DEFAULT NULL COMMENT '修改人ID',
PRIMARY KEY (`F_Id`),
KEY `idx_is_enabled` (`F_IsEnabled`),
KEY `idx_workflow_name` (`F_WorkflowName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='报销流程配置表';
-- 2. 流程节点配置表(存储每个流程的节点配置)
CREATE TABLE IF NOT EXISTS `lq_reimbursement_workflow_node` (
`F_Id` varchar(50) NOT NULL COMMENT '节点配置ID',
`F_WorkflowConfigId` varchar(50) NOT NULL COMMENT '流程配置ID(外键,关联流程配置)',
`F_NodeOrder` int NOT NULL COMMENT '节点顺序(1,2,3,4,5...)',
`F_NodeName` varchar(100) DEFAULT NULL COMMENT '节点名称',
`F_ApprovalType` varchar(20) DEFAULT '会签' COMMENT '审批类型(会签/或签)',
`F_IsRequired` int DEFAULT 1 COMMENT '是否必审(1-必审,0-可选)',
`F_CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`F_Id`),
KEY `idx_workflow_config_id` (`F_WorkflowConfigId`),
KEY `idx_node_order` (`F_WorkflowConfigId`, `F_NodeOrder`),
CONSTRAINT `fk_workflow_node_config` FOREIGN KEY (`F_WorkflowConfigId`)
REFERENCES `lq_reimbursement_workflow_config` (`F_Id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='流程节点配置表';
-- 3. 流程节点审批人配置表(存储每个节点的审批人配置,可选)
CREATE TABLE IF NOT EXISTS `lq_reimbursement_workflow_node_user` (
`F_Id` varchar(50) NOT NULL COMMENT '记录ID',
`F_WorkflowConfigId` varchar(50) NOT NULL COMMENT '流程配置ID(外键)',
`F_NodeId` varchar(50) NOT NULL COMMENT '节点配置ID(外键,关联流程节点配置)',
`F_NodeOrder` int NOT NULL COMMENT '节点顺序(冗余字段,方便查询)',
`F_UserId` varchar(50) NOT NULL COMMENT '审批人ID',
`F_UserName` varchar(100) DEFAULT NULL COMMENT '审批人姓名',
`F_SortOrder` int DEFAULT 0 COMMENT '排序',
`F_CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`F_Id`),
KEY `idx_workflow_config_id` (`F_WorkflowConfigId`),
KEY `idx_node_id` (`F_NodeId`),
KEY `idx_user_id` (`F_UserId`),
KEY `idx_node_order` (`F_WorkflowConfigId`, `F_NodeOrder`),
UNIQUE KEY `uk_workflow_node_user` (`F_WorkflowConfigId`, `F_NodeId`, `F_UserId`),
CONSTRAINT `fk_workflow_node_user_config` FOREIGN KEY (`F_WorkflowConfigId`)
REFERENCES `lq_reimbursement_workflow_config` (`F_Id`) ON DELETE CASCADE,
CONSTRAINT `fk_workflow_node_user_node` FOREIGN KEY (`F_NodeId`)
REFERENCES `lq_reimbursement_workflow_node` (`F_Id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='流程节点审批人配置表';