| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- /*
- 工作流模块数据库结构
-
- 业务域:工作流引擎相关表
- 包含表:flow_category, flow_definition, flow_his_task, flow_instance,
- flow_node, flow_skip, flow_task, flow_user
-
- 创建时间:2025-01-08
- 维护人员:项目开发团队
- */
- SET NAMES utf8mb4;
- SET FOREIGN_KEY_CHECKS = 0;
- -- ----------------------------
- -- Table structure for flow_category
- -- ----------------------------
- DROP TABLE IF EXISTS `flow_category`;
- CREATE TABLE `flow_category` (
- `category_id` bigint(20) NOT NULL COMMENT '流程分类ID',
- `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
- `parent_id` bigint(20) DEFAULT '0' COMMENT '父流程分类id',
- `ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表',
- `category_name` varchar(30) NOT NULL COMMENT '流程分类名称',
- `order_num` int(4) DEFAULT '0' COMMENT '显示顺序',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
- `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
- `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- PRIMARY KEY (`category_id`),
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_parent_id` (`parent_id`),
- KEY `idx_del_flag` (`del_flag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程分类';
- -- ----------------------------
- -- Table structure for flow_definition
- -- ----------------------------
- DROP TABLE IF EXISTS `flow_definition`;
- CREATE TABLE `flow_definition` (
- `id` bigint(20) NOT NULL COMMENT '主键id',
- `flow_code` varchar(40) NOT NULL COMMENT '流程编码',
- `flow_name` varchar(100) NOT NULL COMMENT '流程名称',
- `category` varchar(100) DEFAULT NULL COMMENT '流程类别',
- `version` varchar(20) NOT NULL COMMENT '流程版本',
- `is_publish` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布(0未发布 1已发布 9失效)',
- `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
- `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
- `activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
- `listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型',
- `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径',
- `ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
- `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `uk_flow_code_version` (`flow_code`, `version`, `tenant_id`, `del_flag`),
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_del_flag` (`del_flag`),
- KEY `idx_flow_code` (`flow_code`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程定义表';
- -- ----------------------------
- -- Table structure for flow_his_task
- -- ----------------------------
- DROP TABLE IF EXISTS `flow_his_task`;
- CREATE TABLE `flow_his_task` (
- `id` bigint(20) NOT NULL COMMENT '主键id',
- `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id',
- `instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id',
- `task_id` bigint(20) NOT NULL COMMENT '对应flow_task表的id',
- `node_code` varchar(100) DEFAULT NULL COMMENT '开始节点编码',
- `node_name` varchar(100) DEFAULT NULL COMMENT '开始节点名称',
- `node_type` tinyint(1) DEFAULT NULL COMMENT '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
- `target_node_code` varchar(200) DEFAULT NULL COMMENT '目标节点编码',
- `target_node_name` varchar(200) DEFAULT NULL COMMENT '结束节点名称',
- `approver` varchar(40) DEFAULT NULL COMMENT '审批者',
- `cooperate_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)',
- `collaborator` varchar(40) DEFAULT NULL COMMENT '协作人',
- `skip_type` varchar(10) NOT NULL COMMENT '流转类型(PASS通过 REJECT退回 NONE无动作)',
- `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
- `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
- `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
- `message` varchar(500) DEFAULT NULL COMMENT '审批意见',
- `variable` text COMMENT '任务变量',
- `ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
- `create_time` datetime DEFAULT NULL COMMENT '任务开始时间',
- `update_time` datetime DEFAULT NULL COMMENT '审批完成时间',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
- `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `idx_definition_id` (`definition_id`),
- KEY `idx_instance_id` (`instance_id`),
- KEY `idx_task_id` (`task_id`),
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_del_flag` (`del_flag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='历史任务记录表';
- -- ----------------------------
- -- Table structure for flow_instance
- -- ----------------------------
- DROP TABLE IF EXISTS `flow_instance`;
- CREATE TABLE `flow_instance` (
- `id` bigint(20) NOT NULL COMMENT '主键id',
- `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id',
- `business_id` varchar(40) NOT NULL COMMENT '业务id',
- `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
- `node_code` varchar(40) NOT NULL COMMENT '流程节点编码',
- `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
- `variable` text COMMENT '任务变量',
- `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
- `activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
- `def_json` text COMMENT '流程定义json',
- `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `ext` varchar(500) DEFAULT NULL COMMENT '扩展字段,预留给业务系统使用',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
- `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `idx_definition_id` (`definition_id`),
- KEY `idx_business_id` (`business_id`),
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_del_flag` (`del_flag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程实例表';
- -- ----------------------------
- -- Table structure for flow_node
- -- ----------------------------
- DROP TABLE IF EXISTS `flow_node`;
- CREATE TABLE `flow_node` (
- `id` bigint(20) NOT NULL COMMENT '主键id',
- `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
- `definition_id` bigint(20) NOT NULL COMMENT '流程定义id',
- `node_code` varchar(100) NOT NULL COMMENT '流程节点编码',
- `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
- `permission_flag` varchar(200) DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,用逗号隔开)',
- `node_ratio` decimal(6,3) DEFAULT NULL COMMENT '流程签署比例值',
- `coordinate` varchar(100) DEFAULT NULL COMMENT '坐标',
- `any_node_skip` varchar(100) DEFAULT NULL COMMENT '任意结点跳转',
- `listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型',
- `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径',
- `handler_type` varchar(100) DEFAULT NULL COMMENT '处理器类型',
- `handler_path` varchar(400) DEFAULT NULL COMMENT '处理器路径',
- `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
- `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
- `version` varchar(20) NOT NULL COMMENT '版本',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `ext` text COMMENT '扩展属性',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
- `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `idx_definition_id` (`definition_id`),
- KEY `idx_node_code` (`node_code`),
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_del_flag` (`del_flag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程节点表';
- -- ----------------------------
- -- Table structure for flow_skip
- -- ----------------------------
- DROP TABLE IF EXISTS `flow_skip`;
- CREATE TABLE `flow_skip` (
- `id` bigint(20) NOT NULL COMMENT '主键id',
- `definition_id` bigint(20) NOT NULL COMMENT '流程定义id',
- `now_node_code` varchar(100) NOT NULL COMMENT '当前流程节点的编码',
- `now_node_type` tinyint(1) DEFAULT NULL COMMENT '当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
- `next_node_code` varchar(100) NOT NULL COMMENT '下一个流程节点的编码',
- `next_node_type` tinyint(1) DEFAULT NULL COMMENT '下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
- `skip_name` varchar(100) DEFAULT NULL COMMENT '跳转名称',
- `skip_type` varchar(40) DEFAULT NULL COMMENT '跳转类型(PASS审批通过 REJECT退回)',
- `skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件',
- `coordinate` varchar(100) DEFAULT NULL COMMENT '坐标',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
- `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `idx_definition_id` (`definition_id`),
- KEY `idx_now_node_code` (`now_node_code`),
- KEY `idx_next_node_code` (`next_node_code`),
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_del_flag` (`del_flag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点跳转关联表';
- -- ----------------------------
- -- Table structure for flow_task
- -- ----------------------------
- DROP TABLE IF EXISTS `flow_task`;
- CREATE TABLE `flow_task` (
- `id` bigint(20) NOT NULL COMMENT '主键id',
- `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id',
- `instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id',
- `node_code` varchar(100) NOT NULL COMMENT '节点编码',
- `node_name` varchar(100) DEFAULT NULL COMMENT '节点名称',
- `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
- `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
- `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
- `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
- `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `idx_definition_id` (`definition_id`),
- KEY `idx_instance_id` (`instance_id`),
- KEY `idx_node_code` (`node_code`),
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_del_flag` (`del_flag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='待办任务表';
- -- ----------------------------
- -- Table structure for flow_user
- -- ----------------------------
- DROP TABLE IF EXISTS `flow_user`;
- CREATE TABLE `flow_user` (
- `id` bigint(20) NOT NULL COMMENT '主键id',
- `type` char(1) NOT NULL COMMENT '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)',
- `processed_by` varchar(80) DEFAULT NULL COMMENT '权限人',
- `associated` bigint(20) NOT NULL COMMENT '任务表id',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `create_by` varchar(80) DEFAULT NULL COMMENT '创建人',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
- `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `idx_processed_type` (`processed_by`,`type`),
- KEY `idx_associated` (`associated`) USING BTREE,
- KEY `idx_tenant_id` (`tenant_id`),
- KEY `idx_del_flag` (`del_flag`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程用户表';
- SET FOREIGN_KEY_CHECKS = 1;
|