一 新建表单
 
- 数据库:bpm_form。实体类:BpmFormDO.java:   
二 流程模型、流程部署、流程定义
 
1 第1步:创建流程模型
 
- 页面操作:
  
- 实体类:Model.java。
- 数据库:ACT_RE_MODEL 流程模板信息表,存储流程模板相关描述信息。但其真正内容存储在act_ge_bytearray表中,以字节形式存储; | 字段名 | 字段值 | 字段含义 |  | ID_ | c64059b7-a4d1-11ee-a7ee-3cf01158cd6c | 主键 |  | REV_ | 1 | 数据版本 |  | NAME_ | 测试流程1 | 流程模型名称 |  | KEY_ | ce1 | 流程模型唯一标识 |  | CATEGORY_ |  | 分类 |  | VERSION_ | 1 | 版本 |  | META_INFO_ | { "description": "测试流程1",
 "formType": null,
 "formId": null,
 "formCustomCreatePath": null,
 "formCustomViewPath": null
 }
 | 以json格式保存流程定义的信息 |  | DEPLOYMENT_ID_ | null | 部署ID |  | EDITOR_SOURCE_VALUE_ID_ | null |  |  | EDITOR_SOURCE_EXTRA_VALUE_ID_ | null |  |  | TENANT_ID_ | 空字符串 | 多租户 |  
 
- 数据库:act_ge_bytearray:流程模板相关描述信息,真正内容存储在act_ge_bytearray表中,以字节形式存储 
2 第2步:修改流程 - 关联表单
 
- 页面操作:
  
- 实体类:Model.java
- 数据库:act_re_model | 字段名 | 字段值 | 字段含义 |  | ID_ | c64059b7-a4d1-11ee-a7ee-3cf01158cd6c | 主键 |  | REV_ | 2 | 数据版本 |  | NAME_ | 测试流程1 | 流程模型名称 |  | KEY_ | ce1 | 流程模型唯一标识 |  | CATEGORY_ | 由""变成" 2 " | 分类 |  | VERSION_ | 1 | 版本 |  | META_INFO_ | { "description": "测试流程1",
 "formType": 10,
 "formId": 24,
 "formCustomCreatePath": null,
 "formCustomViewPath": null
 }
 | 以json格式保存流程定义的信息 |  | DEPLOYMENT_ID_ | null | 部署ID |  | EDITOR_SOURCE_VALUE_ID_ | null |  |  | EDITOR_SOURCE_EXTRA_VALUE_ID_ | null |  |  | TENANT_ID_ | 空字符串 | 多租户 |  
 
3 第3步:设计流程 - 模型图
 
保存模型的设计图源代码后,该方法会将该数据存储到 ACT_RE_MODEL 表的 EDITOR_SOURCE_VALUE_ID_ 字段中。这样,Flowable 就可以通过读取 EDITOR_SOURCE_VALUE_ID_ 字段中的数据,来重新生成流程定义的设计图源代码。
 
需要注意的是,该方法并不会更新 ACT_RE_MODEL 表中的 MODEL_EDITOR_JSON_ 字段,因此在更新模型的设计图数据时,需要同时更新这两个字段。
 
- 页面操作:
  
- 实体类:Model.java
- 数据库:act_re_model | 字段名 | 字段值 | 字段含义 |  | ID_ | c64059b7-a4d1-11ee-a7ee-3cf01158cd6c | 主键 |  | REV_ | 5 | 数据版本 |  | NAME_ | 测试流程1 | 流程模型名称 |  | KEY_ | ce1 | 流程模型唯一标识 |  | CATEGORY_ | 由""变成" 2 " | 分类 |  | VERSION_ | 1 | 版本 |  | META_INFO_ | { "description": "测试流程1",
 "formType": 10,
 "formId": 24,
 "formCustomCreatePath": null,
 "formCustomViewPath": null
 }
 | 以json格式保存流程定义的信息 |  | DEPLOYMENT_ID_ | null | 部署ID |  | EDITOR_SOURCE_VALUE_ID_ | 27c21038-a4d6-11ee-a7ee-3cf01158cd6c | 流程图 |  | EDITOR_SOURCE_EXTRA_VALUE_ID_ | null |  |  | TENANT_ID_ | 空字符串 | 多租户 |  
 
4 第4步:分配规则
 
- 页面操作: 
- 控制层:BpmTaskAssignRuleController#createTaskAssignRule
- 数据库:bpm_task_assign_rule | 字段名称 | 字段描述 | 字段值 |  | id | 编号 | 276 |  | model_id | 流程模型的编号 | c64059b7-a4d1-11ee-a7ee-3cf01158cd6c |  | process_definition_id | 流程定义的编号 |  |  | task_definition_key | 流程任务定义的 key | Activity_1bs8rrj |  | type | 规则类型 | 30:用户 |  | options | 规则值,JSON 数组。 /*** 规则值数组,一般关联指定表的编号* 根据 type 不同,对应的值是不同的:** 1. {@link BpmTaskAssignRuleTypeEnum#ROLE} 时:角色编号* 2. {@link BpmTaskAssignRuleTypeEnum#DEPT_MEMBER} 时:部门编号* 3. {@link BpmTaskAssignRuleTypeEnum#DEPT_LEADER} 时:部门编号* 4. {@link BpmTaskAssignRuleTypeEnum#USER} 时:用户编号* 5. {@link BpmTaskAssignRuleTypeEnum#USER_GROUP} 时:用户组编号* 6. {@link BpmTaskAssignRuleTypeEnum#SCRIPT} 时:脚本编号,目前通过 {@link BpmTaskRuleScriptEnum#getId()} 标识*/ | [1] |  | creator | 创建者编号 | 1,admin |  | tenant_id | 租户编号 | 0,芋道源码租户 |  
 
5 第5步:发布流程 - 流程部署 》流程定义
 
- 页面操作: 
- 数据库:act_re_deployment,部属信息表,存储流程定义、模板部署信息; | 字段名 | 字段描述 | 字段值 |  | ID_ | 部署id | 25efb929-a59d-11ee-aa32-3cf01158cd6c |  | NAME_ | 部署名称 = 流程模型名称 | 测试流程1 |  | CATEGORY_ | 部署类别 = 流程定义的Namespace就是类别 | 2,即OA类型 |  | KEY_ | 部署标识 = 流程模型唯一标识 | ce1 |  | TENANT_ID_ | 租户编号 | " " |  | DEPLOY_TIME_ | 部署时间 | 2023-12-29 00:21:25.998 |  | DERIVED_FROM_ |  | " " |  | DERIVED_FROM_ROOT_ |  | " " |  | PARENT_DEPLOYMENT_ID_ | 父流程模型ID | 25efb929-a59d-11ee-aa32-3cf01158cd6c |  | ENGINE_VERSION_ | 引擎版本 | " " |  
 
- 数据库:act_re_model,流程模板信息表,存储流程模板相关描述信息,但其真正内容存储在act_ge_bytearray表中,以字节形式存储; | 字段名 | 字段描述 | 字段值 |  | REV_ | 版本 | 由5变7 |  | DEPLOYMENT_ID_ | 部署id | 由""变25efb929-a59d-11ee-aa32-3cf01158cd6c |  
 
- 数据库:act_re_procdef:流程定义信息表,存储流程定义相关描述信息,但其真正内容存储在act_ge_bytearray表中,以字节形式存储 | 字段名 | 字段描述 | 字段值 |  | ID_ | 主键 | ce1:1:263c2b7c-a59d-11ee-aa32-3cf01158cd6c |  | REV_ | 数据版本 | 2 |  | CATEGORY_ | 流程定义分类 = 流程模型类型 | 2 |  | NAME_ | 流程定义的名称 = 流程模型名称 | 测试流程1 |  | KEY_ | 流程定义key = 流程模型唯一标识 | ce1 |  | VERSION_ | 版本 | 1 |  | DEPLOYMENT_ID_ | 部署ID | 25efb929-a59d-11ee-aa32-3cf01158cd6c |  | RESOURCE_NAME_ | bpmn文件名称。一般为流程文件的相对路径 | ce1.bpmn |  | DGRM_RESOURCE_NAME_ | 流程定义对应的流程图资源名称 | ce1.ce1.png |  | DESCRIPTION_ | 说明 | " " |  | HAS_START_FORM_KEY_ | 是否存在开始节点formKey | 0 |  | HAS_GRAPHICAL_NOTATION_ | 是否有图形符号 | 1 |  | SUSPENSION_STATE_ | 流程定义状态 | 1 |  | TENANT_ID_ | 租户编号 | " " |  | ENGINE_VERSION_ | 引擎版本 | " " |  | DERIVED_FROM_ |  | " " |  | DERIVED_FROM_ROOT_ |  | " " |  | DERIVED_VERSION_ |  | 0 |  
 
- 数据库:act_ge_bytearray 
- 数据库:bpm_process_definition_ext,流程定义的拓展表 
- 数据库:bpm_task_assign_rule,任务规则表 
6 第6步:流程定义
 
- 控制层:BpmProcessDefinitionController#getProcessDefinitionPage,获得流程定义分页
- 业务层:BpmProcessDefinitionServiceImpl#getProcessDefinitionPage
- 数据库:bpm_process_definition_ext
  
 
附1:芋道扩展表的表结构
 
1. bpm_form:工作流的表单定义
 
| 字段名 | 字段描述 | 备注 | 
| id | 编号 |  | 
| name | 表单名 |  | 
| status | 开启状态 |  | 
| conf | 表单的配置 |  | 
| fields | 表单项的数组 |  | 
| remark | 备注 |  | 
| creator | 创建者 |  | 
| create_time | 创建时间 |  | 
| updater | 更新者 |  | 
| update_time | 更新时间 |  | 
| deleted | 是否删除 |  | 
| tenant_id | 租户编号 |  | 
 
2. bpm_oa_leave:OA请假申请表
 

 
3. bpm_process_definition_ext:Bpm 流程定义的拓展表
 

 
4. bpm_process_instance_ext:工作流的流程实例的拓展
 

 
5. bpm_task_assign_rule:Bpm任务规则表
 

 
6. bpm_task_ext:工作流的流程任务的拓展表
 
 
 
7. bpm_user_group:用户组
 

 
附2:表结构
 
1、Flowable的所有数据库表都以ACT_开头。第二部分是说明表用途的两字符标示符。服务API的命名也大略符合这个规则。
 
2、ACT_RE_: 'RE’代表repository。带有这个前缀的表包含“静态”信息,例如流程定义与流程资源(图片、规则等)。
 
3、ACT_RU_: 'RU’代表runtime。这些表存储运行时信息,例如流程实例(process instance)、用户任务(user task)、变量(variable)、作业(job)等。Flowable只在流程实例运行中保存运行时数据,并在流程实例结束时删除记录。这样保证运行时表小和快。
 
4、ACT_HI_: 'HI’代表history。这些表存储历史数据,例如已完成的流程实例、变量、任务等。
 
5、ACT_GE_: 通用数据。在多处使用。
 
1. 通用数据表(2个)
 
1.1. act_ge_bytearray:二进制数据表,如流程定义、流程模板、流程图的字节流文件;
 
| 字段名称 | 字段描述 |  | 
| ID_ | 字节数组ID |  | 
| REV_ | 版本号 |  | 
| NAME_ | 名称 |  | 
| DEPLOYMENT_ID_ | 部署ID |  | 
| BYTES_ | 字节数组 |  | 
| GENERATED_ |  |  | 
 
1.2. act_ge_property:属性数据表(不常用);
 
| 字段名称 | 字段描述 |  | 
| NAME_ | 属性名称 |  | 
| VALUE_ | 属性值 |  | 
| REV_ | 版本 |  | 
 
 
2. 历史表(8个,HistoryService接口操作的表)
 
2.1. act_hi_actinst:历史节点表,存放流程实例运转的各个节点信息(包含开始、结束等非任务节点)
 
| 字段名称 | 字段描述 |  | 
| ID_ | 活动实例ID |  | 
| REV_ | 版本 |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| EXECUTION_ID_ | 执行实例ID |  | 
| ACT_ID_ | 活动ID |  | 
| TASK_ID_ | 任务ID |  | 
| CALL_PROC_INST_ID_ | 调用的流程实例ID |  | 
| ACT_NAME_ | 活动名称 |  | 
| ACT_TYPE_ | 活动类型 |  | 
| ASSIGNEE_ | 指派人 |  | 
| START_TIME_ | 开始时间 |  | 
| END_TIME_ | 结束时间 |  | 
| TRANSACTION_ORDER_ |  |  | 
| DURATION_ | 持续时间 |  | 
| DELETE_REASON_ |  |  | 
| TENANT_ID_ | 租户ID |  | 
 
2.2. act_hi_attachment:历史附件表,存放历史节点上传的附件信息(不常用);
 
| 字段名称 | 字段描述 |  | 
| ID_ | 附件ID |  | 
| REV_ | 版本号 |  | 
| USER_ID_ | 用户ID |  | 
| NAME_ | 名称 |  | 
| DESCRIPTION_ | 描述 |  | 
| TYPE_ | 类型 |  | 
| TASK_ID_ | 任务ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| URL_ | URL |  | 
| CONTENT_ID_ | 内容ID |  | 
| TIME_ 
 |  |  | 
 
2.3. act_hi_comment:历史意见表;
 
| 字段名称 | 字段描述 |  | 
| ID_ | 注释ID |  | 
| TYPE_ | 注释类型 |  | 
| TIME_ | 时间 |  | 
| USER_ID_ | 用户ID |  | 
| TASK_ID_ | 任务ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| ACTION_ | 操作 |  | 
| MESSAGE_ | 消息内容 |  | 
| FULL_MSG_ |  |  | 
 
2.4. act_hi_detail:历史详情表,存储节点运转的一些信息(不常用);
 
| 字段名称 | 字段描述 |  | 
| ID_ | 详细信息ID |  | 
| TYPE_ | 信息类型 |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| EXECUTION_ID_ | 执行实例ID |  | 
| TASK_ID_ | 任务ID |  | 
| ACT_INST_ID_ | 活动实例ID |  | 
| NAME_ | 名称 |  | 
| VAR_TYPE_ | 变量类型 |  | 
| REV_ | 版本号 |  | 
| TIME_ | 时间 |  | 
| BYTEARRAY_ID_ | 字节数组ID |  | 
| DOUBLE_ | 双精度值 |  | 
| LONG_ | 长整型值 |  | 
| TEXT_ | 文本值 |  | 
| TEXT2_ 
 | 文本值2 |  | 
 
2.5. act_hi_entitylink :用于记录历史的实体链接信息
 
| 字段名称 | 字段描述 |  | 
| ID_ | 链接ID |  | 
| LINK_TYPE_ | 链接类型 |  | 
| CREATE_TIME_ | 创建时间 |  | 
| SCOPE_ID_ | 范围ID |  | 
| SUB_SCOPE_ID_ | 子范围ID |  | 
| SCOPE_TYPE_ | 范围类型 |  | 
| SCOPE_DEFINITION_ID_ |  |  | 
| PARENT_ELEMENT_ID_ |  |  | 
| REF_SCOPE_ID_ |  |  | 
| REF_SCOPE_TYPE_ |  |  | 
| REF_SCOPE_DEFINITION_ID_ |  |  | 
| ROOT_SCOPE_ID_ |  |  | 
| ROOT_SCOPE_TYPE_ |  |  | 
| HIERARCHY_TYPE_ |  |  | 
 
2.6. act_hi_identitylink:历史流程人员表,存储流程各节点候选、办理人员信息,常用于查询某人或部门的已办任务;
 
| 字段名称 | 字段描述 |  | 
| ID_ | 主键 |  | 
| GROUP_ID_ | 组编号 |  | 
| TYPE_ | 类型 |  | 
| USER_ID_ | 用户编号 |  | 
| TASK_ID_ | 任务 ID |  | 
| CREATE_TIME_ | 创建时间 |  | 
| PROC_INST_ID_ | 流程实例 ID |  | 
| SCOPE_ID_ | 范围ID |  | 
| SUB_SCOPE_ID_ | 子范围ID |  | 
| SCOPE_TYPE_ | 范围类型 |  | 
| SCOPE_DEFINITION_ID_ |  |  | 
 
2.7. act_hi_procinst:历史流程实例表,存储流程实例历史数据(包含正在运行的流程实例);
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| PROC_INST_ID_ | 流程实例 ID |  | 
| BUSINESS_KEY_ | 业务主键 |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| START_TIME_ | 开始时间 |  | 
| END_TIME_ | 结束时间 |  | 
| DURATION_ | 耗时 |  | 
| START_USER_ID_ | 起始人 |  | 
| START_ACT_ID_ | 起始节点 |  | 
| END_ACT_ID_ | 结束节点 |  | 
| SUPER_PROCESS_INSTANCE_ID_ | 父流程实例ID |  | 
| DELETE_REASON_ | 删除原因 |  | 
| TENANT_ID_ | 租户编号 |  | 
| NAME_ | 名称 | 
 
2.8. act_hi_taskinst:历史流程任务表,存储历史任务节点;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| TASK_DEF_KEY_ | 任务定义的ID值 |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| EXECUTION_ID_ | 执行ID |  | 
| PARENT_TASK_ID_ | 父任务ID |  | 
| NAME_ | 名称 |  | 
| DESCRIPTION_ | 说明 |  | 
| OWNER_ | 实际签收人 | 任务的拥有者 签收人(默认为空,只有在委托时才有值) | 
| ASSIGNEE_ | 被指派执行该任务的人 |  | 
| START_TIME_ | 开始时间 |  | 
| CLAIM_TIME_ | 任务拾取时间 |  | 
| END_TIME_ | 结束时间 |  | 
| DURATION_ | 耗时 |  | 
| DELETE_REASON_ | 删除原因 |  | 
| PRIORITY_ | 优先级别 |  | 
| DUE_DATE_ | 过期时间 |  | 
| FORM_KEY_ | 节点定义的formkey |  | 
| CATEGORY_ | 类别 |  | 
| TENANT_ID_ | 租户 | 
 
2.9. act_hi_tsk_log:历史的任务日志信息)
 
| 字段名称 | 字段描述 |  | 
| ID_ |  |  | 
| TYPE_主键 | 类型 |  | 
| TASK_ID_ | 任务编号 |  | 
| TIME_STAMP_ | 时间戳 |  | 
| USER_ID_ | 用户编号 |  | 
| DATA_ | 日志数据 |  | 
| EXECUTION_ID_ | 执行实例ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| SCOPE_ID_ | 范围ID |  | 
| SCOPE_DEFINITION_ID_ |  |  | 
| SUB_SCOPE_ID_ | 子范围ID |  | 
| SCOPE_TYPE_ | 范围类型 |  | 
| TENANT_ID_ | 租户 |  | 
 
 2.10. act_hi_varinst:流程历史变量表,存储流程历史节点的变量信息;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| TASK_ID_ | 任务ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| EXECUTION_ID_ | 执行ID |  | 
| NAME_ | 名称 |  | 
| VAR_TYPE_ | 参数类型 |  | 
| BYTEARRAY_ID_ | 字节表ID |  | 
| DOUBLE_ | 存储double类型数据 |  | 
| LONG_ | 存储long类型数据 |  | 
| TEXT_ |  |  | 
| TEXT2_ |  |  | 
| CREATE_TIME_ |  |  | 
| LAST_UPDATED_TIME_ | 
 
3. 用户相关表(4个,IdentityService接口操作的表) 
 
3.1. act_id_bytearray:存储身份数据的字节数组
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 字节数组ID |  | 
| REV_ | 版本号 |  | 
| NAME_ | 名称 |  | 
| BYTES_ | 字节数组 |  | 
 
3.2. act_id_group:用户组信息表,对应节点选定候选组信息;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| TYPE_ | 用户组类型 |  | 
| NAME_ | 用户组名称 | 
 
3.3. act_id_info:用户扩展信息表,存储用户扩展信息;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| TYPE_ | 信息类型 | 当前可以设置用户帐号(account)、用户信息(userinfo)和NULL三种值 | 
| USER_ID_ | 对应用户表主键 |  | 
| KEY_ | 数据的键 | 可以根据该键查找用户信息的值 | 
| VALUE_ | 数据的值 |  | 
| PASSWORD_ | 用户密码 |  | 
| PARENT_ID_ | 父信息ID | 
 
 3.4. act_id_membership:用户与用户组关系表;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| USER_ID_ | 用户ID |  | 
| GROUP_ID_ | 用户组ID | 
 
3.5. act_id_priv:存储权限信息
 
 
 3.6. act_id_priv_mapping :权限、用户、用户组之间的映射关系
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| PRIV_ID_ | 权限ID |  | 
| USER_ID_ | 用户ID |  | 
| GROUP_ID_ | 用户组ID |  | 
 
 3.7. act_id_property :存储用户和用户组的属性
 
| 字段 | 说明 | 备注 | 
|---|
| NAME_ | 属性名称 |  | 
| VALUE_ | 属性值 |  | 
| REV_ | 版本 |  | 
 
 3.8. act_id_token:存储令牌信息
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 令牌ID |  | 
| REV_ | 版本 |  | 
| TOKEN_VALUE_ | 令牌值 |  | 
| TOKEN_DATE_ | 令牌有效期 |  | 
| IP_ADDRESS_ | IP地址 |  | 
| USER_AGENT_ |  |  | 
| USER_ID_ | 用户ID |  | 
| TOKEN_DATA_ | 令牌值 |  | 
 
 3.9. act_id_user:用户信息表,对应节点选定办理人或候选人信息;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| FIRST_ | 人名 |  | 
| LAST_ | 姓氏 |  | 
| EMAIL_ | 邮件 |  | 
| PWD_ | 用户密码 |  | 
| PICTURE_ID_ | 图片ID | 
| TENANT_ID_ | 租户 | 
 
  
 
 
4. 流程定义、流程模板相关表(3个,RepositoryService接口操作的表) 
 
4.1. act_procdef_info :流程定义的额外信息
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| INFO_JSON_ID_:信息JSON ID | 
 
4.2. act_re_deployment:部属信息表,存储流程定义、模板部署信息;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 部署序号 |  | 
| NAME_ | 部署名称 |  | 
| CATEGORY_ | 类别 | 流程定义的Namespace就是类别 | 
| KEY_ | 流程定义ID |  | 
| TENANT_ID_ | 租房 |  | 
| DEPLOY_TIME_ | 部署时间 |  | 
| ENGINE_VERSION_ | 引擎版本 | 
 
4.3. act_re_model:流程模板信息表,存储流程模板相关描述信息,但其真正内容存储在act_ge_bytearray表中,以字节形式存储;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| NAME_ | 名称 |  | 
| REV_ | 数据版本 |  | 
| CATEGORY_ | 分类 |  | 
| KEY_ | 键 |  | 
| CREATE_TIME_ | 创建时间 |  | 
| LAST_UPDATE_TIME_ | 最后更新时间 |  | 
| VERSION_ | 版本 |  | 
| META_INFO_ | 以json格式保存流程定义的信息 |  | 
| DEPLOYMENT_ID_ | 部署ID |  | 
| EDITOR_SOURCE_VALUE_ID_ | 编辑器源值ID |  | 
| EDITOR_SOURCE_EXTRA_VALUE_ID_ | 编辑器源额外值ID |  | 
| TENANT_ID_ | 租户id | 
 
4.4. act_re_procdef:流程定义信息表,存储流程定义相关描述信息,但其真正内容存储在act_ge_bytearray表中,以字节形式存储
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| NAME_ | 流程定义的名称 | 读取流程文件中process元素的name属性 | 
| CATEGORY_ | 流程定义分类 | 读取xml文件中程的targetNamespace值 | 
| KEY_ | 流程定义key | 读取流程文件中process元素的id属性 | 
| VERSION_ | 版本 |  | 
| DEPLOYMENT_ID_ | 部署ID | 流程定义对应的部署数据ID | 
| RESOURCE_NAME_ | bpmn文件名称 | 一般为流程文件的相对路径 | 
| DGRM_RESOURCE_NAME_ | 流程定义对应的流程图资源名称 |  | 
| DESCRIPTION_ | 说明 |  | 
| HAS_START_FORM_KEY_ | 是否存在开始节点formKey | start节点是否存在formKey 0否 1是 | 
| HAS_GRAPHICAL_NOTATION_ | 是否有图形符号 |  | 
| SUSPENSION_STATE_ | 流程定义状态 | 1激活、2中止 | 
| TENANT_ID_ | 租户id |  | 
| ENGINE_VERSION_ | 引擎版本 | 
 
5. 流程运行时表(6个,RuntimeService接口操作的表)
 
5.1. act_ru_actinst :记录运行时的活动实例
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 活动实例ID |  | 
| REV_ | 版本 |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| EXECUTION_ID_ | 执行实例ID |  | 
| ACT_ID_ | 活动ID |  | 
| TASK_ID_ | 任务ID |  | 
| CALL_PROC_INST_ID_ | 调用的流程实例ID |  | 
| ACT_NAME_ | 活动名称 |  | 
| ACT_TYPE_ | 活动类型 |  | 
| ASSIGNEE_ | 指派人 |  | 
| START_TIME_ | 开始时间 |  | 
| END_TIME_ | 结束时间 |  | 
| DURATION_ | 持续时间 |  | 
| TRANSACTION_ORDER_ |  |  | 
| DELETE_REASON_ |  |  | 
| TENANT_ID_ | 租户ID |  | 
 
5.2. act_ru_deadletter_job :记录运行时的无法执行的作业
 

 
5.3. act_ru_entitylink:记录运行时的实体链接信息
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 链接ID |  | 
| REV_ | 版本号 |  | 
| CREATE_TIME_ | 创建时间 |  | 
| LINK_TYPE_ | 链接类型 |  | 
| SCOPE_ID_ | 范围ID |  | 
| SUB_SCOPE_ID_ | 子范围ID |  | 
| SCOPE_TYPE_ | 范围类型 |  | 
| SCOPE_DEFINITION_ID_ |  |  | 
| PARENT_ELEMENT_ID_ |  |  | 
| REF_SCOPE_ID_ |  |  | 
| REF_SCOPE_TYPE_ |  |  | 
| REF_SCOPE_DEFINITION_ID_ |  |  | 
| ROOT_SCOPE_ID_ |  |  | 
| ROOT_SCOPE_TYPE_ |  |  | 
| HIERARCHY_TYPE_ |  |  | 
 
5.4. act_ru_event_subscr:监听信息表,不常用;
 

 
 5.5. act_ru_execution:运行时流程执行实例表,记录运行中流程运行的各个分支信息(当没有子流程时,其数据与act_ru_task表数据是一一对应的);
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| BUSINESS_KEY_ | 业务主键ID |  | 
| PARENT_ID_ | 父执行流的ID |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| SUPER_EXEC_ | 父执行实例 |  | 
| ROOT_PROC_INST_ID_ |  |  | 
| ACT_ID_ | 节点实例ID |  | 
| IS_ACTIVE_ | 是否存活 |  | 
| IS_CONCURRENT_ | 执行流是否正在并行 |  | 
| IS_SCOPE_ |  |  | 
| IS_EVENT_SCOPE_ |  |  | 
| IS_MI_ROOT_ |  |  | 
| SUSPENSION_STATE_ | 流程终端状态 |  | 
| CACHED_ENT_STATE_ |  |  | 
| TENANT_ID_ | 租户id |  | 
| NAME_ | 名称 |  | 
| START_TIME_ | 开始时间 |  | 
| START_USER_ID_ | 开始的用户编号 |  | 
| LOCK_TIME_ | 锁定时间 |  | 
| IS_COUNT_ENABLED_ |  |  | 
| EVT_SUBSCR_COUNT_ |  |  | 
| TASK_COUNT_ |  |  | 
| JOB_COUNT_ |  |  | 
| TIMER_JOB_COUNT_ |  |  | 
| SUSP_JOB_COUNT_ |  |  | 
| DEADLETTER_JOB_COUNT_ |  |  | 
| VAR_COUNT_ |  |  | 
| ID_LINK_COUNT_ | 
 
5.6. act_ru_external_job :记录运行时的外部作业信息
 
- id:作业ID
- rev:版本号
- type:类型
- lock_exp_time:锁过期时间
- lock_owner:锁所有者
- exclusive:排他性
- execution_id:执行实例ID
- process_instance_id:流程实例ID
- process_def_id:流程定义ID
- process_def_key:流程定义键
- retries:重试次数
- exception_stack_id:异常堆栈ID
- exception_msg:异常消息
- duedate:到期日期
5.7. act_ru_history_job (用于记录运行时的历史作业信息)
 
- id:作业ID
- rev:版本号
- type:类型
- lock_exp_time:锁过期时间
- lock_owner:锁所有者
- exclusive:排他性
- execution_id:执行实例ID
- process_instance_id:流程实例ID
- process_def_id:流程定义ID
- process_def_key:流程定义键
- retries:重试次数
- exception_stack_id:异常堆栈ID
- exception_msg:异常消息
- duedate:到期日期
5.8. act_ru_identitylink:运行时流程人员表,重要,常用于查询人员或部门的待办任务时使用;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| GROUP_ID_ | 用户组ID |  | 
| TYPE_ | 关系数据类型 | assignee支配人(组)、candidate候选人(组)、owner拥有人,participant参与者 | 
| USER_ID_ | 用户ID |  | 
| TASK_ID_ | 任务ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| PROC_DEF_ID_ | 流程定义ID | 
 
5.9. act_ru_job:运行时定时任务数据表,存储流程的定时任务信息;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| TYPE_ | 类型 |  | 
| LOCK_EXP_TIME_ | 锁定释放时间 |  | 
| LOCK_OWNER_ | 挂起者 |  | 
| EXCLUSIVE_ |  |  | 
| EXECUTION_ID_ | 执行实例ID |  | 
| PROCESS_INSTANCE_ID_ | 流程实例ID |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| RETRIES_ |  |  | 
| EXCEPTION_STACK_ID_ | 异常信息ID |  | 
| EXCEPTION_MSG_ | 异常信息 |  | 
| DUEDATE_ | 到期时间 |  | 
| REPEAT_ | 重复 |  | 
| HANDLER_TYPE_ | 处理类型 |  | 
| HANDLER_CFG_ |  |  | 
| TENANT_ID_ | 租户id | 
 
5.10. act_ru_suspended_job :记录运行时的被挂起的作业信息
 

 
5.11. act_ru_task:运行时流程任务节点表,存储运行中流程的任务节点信息,重要,常用于查询人员或部门的待办任务时使用
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| EXECUTION_ID_ | 任务所在的执行流ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| PROC_DEF_ID_ | 流程定义数据ID |  | 
| NAME_ | 任务名称 |  | 
| PARENT_TASK_ID_ | 父任务ID |  | 
| DESCRIPTION_ | 说明 |  | 
| TASK_DEF_KEY_ | 任务定义的ID值 |  | 
| OWNER_ | 任务拥有人 |  | 
| ASSIGNEE_ | 被指派执行该任务的人 |  | 
| DELEGATION_ | 委托状态 |  | 
| PRIORITY_ | 优先级 |  | 
| CREATE_TIME_ | 创建时间 |  | 
| DUE_DATE_ | 耗时 |  | 
| CATEGORY_ | 类别 |  | 
| SUSPENSION_STATE_ | 是否挂起 | 1代表激活 2代表挂起 | 
| TENANT_ID_ | 租户编号 |  | 
| FORM_KEY_ |  |  | 
| CLAIM_TIME_ | 拾取时间 | 
 
5.12. act_ru_timer_job 定时器表–TimerJobEntityImpl
 
工作数据表(定时工作表)
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| TYPE_ | 类型 |  | 
| LOCK_EXP_TIME_ | 锁定释放时间 |  | 
| LOCK_OWNER_ | 挂起者 |  | 
| EXCLUSIVE_ |  |  | 
| EXECUTION_ID_ | 执行实例ID |  | 
| PROCESS_INSTANCE_ID_ | 流程实例ID |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| RETRIES_ |  |  | 
| EXCEPTION_STACK_ID_ | 异常信息ID |  | 
| EXCEPTION_MSG_ | 异常信息 |  | 
| DUEDATE_ | 到期时间 |  | 
| REPEAT_ | 重复 |  | 
| HANDLER_TYPE_ | 处理类型 |  | 
| HANDLER_CFG_ |  |  | 
| TENANT_ID_ | 租户id | 
 
5.13. act_ru_variable:运行时流程变量数据表,存储运行中的流程各节点的变量信息;
 
| 字段 | 说明 | 备注 | 
|---|
| ID_ | 主键 |  | 
| REV_ | 数据版本 |  | 
| TYPE_ | 参数类型 | 可以是基本的类型,也可以用户自行扩展 | 
| NAME_ | 参数名称 |  | 
| EXECUTION_ID_ | 参数执行ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| TASK_ID_ | 任务ID |  | 
| BYTEARRAY_ID_ | 资源ID |  | 
| DOUBLE_ | 参数为double,则保存在该字段中 |  | 
| LONG_ | 参数为long,则保存在该字段中 |  | 
| TEXT_ | 用户保存文本类型的参数值 |  | 
| TEXT2_ | 用户保存文本类型的参数值 | 
 
 
 
6. act_evt_xxx(2)
 
6.1. act_evt_log:事件日志记录
 
| 字段名称 | 字段描述 |  | 
| LOG_NR_ | 日志编号 |  | 
| TYPE_ | 事件类型 |  | 
| PROC_DEF_ID_ | 流程定义ID |  | 
| PROC_INST_ID_ | 流程实例ID |  | 
| EXECUTION_ID_ | 执行实例ID |  | 
| TASK_ID_ | 任务ID |  | 
| TIME_STAMP_ | 时间戳 |  | 
| USER_ID_ | 用户ID |  | 
| DATA_ | 事件数据 |  | 
| LOCK_OWNER_ |  |  | 
| LOCK_TIME_ |  |  | 
| IS_PROCESSED_ |  |  | 
 
6.2. act_evt_log_copy1:跟事件相关的数据表
 
7. flw_xxx(8)
 
7.1. flw_channel_definition :存储流程通道定义信息
 
- id:通道定义ID
- name:名称
- channel_expression:通道表达式
- channel_type:通道类型
- channel_param:通道参数
- channel_extension:通道扩展
- disabled:是否禁用
7.2. flw_ev_databasechangelog :存储数据库变更日志信息
 
- id:变更日志ID
- author:作者
- filename:文件名
- dateexecuted:执行日期
- orderexecuted:执行顺序
- exectype:执行类型
- md5sum:MD5校验和
- description:描述
- comments:备注
- tag:标签
- liquibase:Liquibase版本
- contexts:执行上下文
- labels:标签
7.3. flw_ev_databasechangeloglock :存储数据库变更日志锁定信息
 
- id:锁定ID
- locked:是否锁定
- lockgranted:锁定授权
- lockedby:锁定人
- locklastchange:锁定时间
- createdate:创建日期
7.4. flw_event_definition :存储事件定义信息
 
- id:事件定义ID
- name:名称
- description:描述
- process_key:流程定义键
- referenced_element_id:引用的元素ID
- class_name:类名
- skip_expression:跳过表达式
- execution_order:执行顺序
- behavior_class:行为类名
- disabled:是否禁用
7.5. flw_event_deployment :存储事件部署信息
 
- id:部署ID
- name:名称
- deployment_time:部署时间
- tenant_id:租户ID
7.6. flw_event_resource :存储事件资源信息
 
- id:资源ID
- rev:版本号
- name:名称
- deployment_id:部署ID
- bytes:字节数组
7.7. flw_ru_batch :存储运行时的批处理信息
 
- id:批处理ID
- rev:版本号
- type:类型
- total_jobs:总工作数
- jobs_completed:已完成的工作数
- batch_status:批处理状态
- create_time:创建时间
- end_time:结束时间
- tenant_id:租户ID
7.8. flw_ru_batch_part :存储运行时的批处理部分信息
 
- part_id:部分ID
- batch_id:批处理ID
- type:类型
- status:状态
- tenant_id:租户ID
 附3:参考
 
(1)Spring Boot + flowable 快速实现工作流 (qq.com)
 
(2)Flowable 6.8.0中主要数据表及其字段 (xjx100.cn) 
 
(3)Flowable常用表结构_flowable 6.5.0数据库表-CSDN博客 
 
(4)Flowable 数据库表结构说明_flowable表结构说明-CSDN博客