Blame view

项目文档相关/sql/创建报销流程配置表.sql 3.42 KB
d8035736   “wangming”   Refactor project ...
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='流程节点审批人配置表';