登录
数据库设计
本精简为原则,核心表共4张,并没有设计历史表,如后续需要,再考虑增加历史表的设计。
注:本工作流是在Mysql8.0的数据库进行开发的。
ER图
表说明
流程定义(wf_process_define)
列名 | 类型 | 默认值 | 备注 |
---|---|---|---|
id | varchar(36) | - | 主键 |
name | varchar(64) | - | 唯一编码 |
display_name | varchar(100) | - | 显示名称 |
type_id | varchar(36) | - | 流程类型ID |
state | int(11) | 0 | 流程是否可用(1可用;0不可用) |
content | json | - | 流程模型定义 |
version | int(11) | - | 版本 |
create_time | int(10) | - | 创建时间 |
create_user | varchar(36) | - | 创建用户 |
update_time | int(10) | - | 更新时间 |
update_user | varchar(36) | - | 更新用户 |
is_del | int(1) | 0 | 是否删除 |
流程实例(wf_process_instance)
列名 | 类型 | 默认值 | 备注 |
---|---|---|---|
id | varchar(36) | - | 主键 |
parent_id | vaerchar(36) | - | 父流程ID,子流程实例才有值 |
process_define_id | varchar(36) | - | 流程定义ID |
state | int(11) | - | 流程实例状态(10:进行中;20:已完成;30:已撤回;40:强行中止;50:挂起;99:已废弃) |
parent_node_name | varchar(100) | - | 父流程依赖的节点名称 |
business_no | varchar(64) | - | 业务编号 |
operator | varchar(64) | - | 流程发起人 |
expire_time | int(10) | - | 期望完成时间 |
variable | json | - | 附属变量json存储 |
create_time | int(10) | - | 创建时间 |
create_user | varchar(36) | - | 创建用户 |
update_time | int(10) | - | 更新时间 |
update_user | varchar(36) | - | 更新用户 |
流程任务(wf_process_task)
列名 | 类型 | 默认值 | 备注 |
---|---|---|---|
id | varchar(36) | - | 主键 |
process_instance_id | varchar(36) | - | 流程实例ID |
task_name | varchar(36) | - | 任务名称编码 |
display_name | varchar(100) | - | 任务显示名称 |
task_type | int(11) | - | 任务类型(0:主办任务;1:协办任务) |
perform_type | int(11) | - | 参与类型(0:普通参与;1:会签参与) |
task_state | int(11) | - | 任务状态(10:进行中;20:已完成;30:已撤回;40:强行中止;50:挂起;99:已废弃) |
operator | varchar(64) | - | 任务处理人 |
finish_time | int(10) | - | 任务完成时间 |
expire_time | int(10) | - | 任务期待完成时间 |
form_key | varchar(100) | - | 任务处理表单KEY |
task_parent_id | varchar(36) | - | 父任务ID |
variable | json | - | 附属变量json存储 |
create_time | varchar(3) | - | 创建时间 |
create_user | varchar(36) | - | 创建用户 |
update_time | int(10) | - | 更新时间 |
update_user | varchar(36) | - | 更新用户 |
流程任务和参与人关系(wf_process_task_actor)
列名 | 类型 | 默认值 | 备注 |
---|---|---|---|
id | varchar(36) | - | 主键 |
process_task_id | varchar(36) | - | 流程任务ID |
actor_id | varchar(36) | - | 参与者ID |
create_time | int(10) | - | 创建时间 |
create_user | varchar(36) | - | 创建用户 |
建表DLL
php
CREATE TABLE wf_process_define (
id VARCHAR(36) NOT NULL,
name VARCHAR(64) NOT NULL,
display_name VARCHAR(100) NOT NULL,
type_id VARCHAR(36) NOT NULL,
state INT(11) NOT NULL DEFAULT 0,
content JSON NOT NULL,
version INT(11),
create_time INT(10) NOT NULL,
create_user VARCHAR(36) NOT NULL,
update_time INT(10),
update_user VARCHAR(36),
is_del INT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (id)
);
CREATE TABLE wf_process_instance (
id VARCHAR(36) NOT NULL,
parent_id VARCHAR(36),
process_define_id VARCHAR(36) NOT NULL,
state INT(11),
parent_node_name VARCHAR(100),
business_no VARCHAR(64),
operator VARCHAR(64),
expire_time INT(10),
variable JSON,
create_time INT(10) NOT NULL,
create_user VARCHAR(36) NOT NULL,
update_time INT(10),
update_user VARCHAR(36),
PRIMARY KEY (id)
);
CREATE TABLE wf_process_task (
id VARCHAR(36) NOT NULL,
process_instance_id VARCHAR(36) NOT NULL,
task_name VARCHAR(36) NOT NULL,
display_name VARCHAR(100),
task_type INT(11),
perform_type INT(11),
task_state INT(11),
operator VARCHAR(64),
finish_time INT(10),
expire_time INT(10),
form_key VARCHAR(100),
task_parent_id VARCHAR(36),
variable JSON,
create_time INT(10),
create_user VARCHAR(36),
update_time INT(10),
update_user VARCHAR(36),
PRIMARY KEY (id)
);
CREATE TABLE wf_process_task (
id VARCHAR(36) NOT NULL,
process_instance_id VARCHAR(36) NOT NULL,
task_name VARCHAR(36) NOT NULL,
display_name VARCHAR(100),
task_type INT(11),
perform_type INT(11),
task_state INT(11),
operator VARCHAR(64),
finish_time INT(10),
expire_time INT(10),
form_key VARCHAR(100),
task_parent_id VARCHAR(36),
variable JSON,
create_time INT(10),
create_user VARCHAR(36),
update_time INT(10),
update_user VARCHAR(36),
PRIMARY KEY (id)
);