0%

Flowable 基本介绍

Flowable 是一个使用 Java 编写的轻量级业务流程引擎。Flowable 流程引擎可用于部署 BPMN 2.0 流程定义(用于定义流程的行业 XML 标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。

Flowable 术语介绍

流程定义

Flowable 引擎需要流程定义为 BPMN 2.0 格式,这是一个业界广泛接受的 XML 标准。它通过定义元素和边界构成流程图,其规定着 Flowable 的运行逻辑。

示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
  xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
  xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"
  xmlns:flowable="http://flowable.org/bpmn"
  typeLanguage="http://www.w3.org/2001/XMLSchema"
  expressionLanguage="http://www.w3.org/1999/XPath"
  targetNamespace="http://www.flowable.org/processdef">

  <process id="holidayRequest" name="Holiday Request" isExecutable="true" flowable:async="true">
    <startEvent id="startEvent" />
    <sequenceFlow sourceRef="startEvent" targetRef="serviceTask"/>
    <serviceTask id="serviceTask" name="ServiceTask" flowable:class="ServiceTaskDelegate1" flowable:async="true" />
    <sequenceFlow sourceRef="serviceTask" targetRef="endEvent"/>
    <endEvent id="endEvent"/>
  </process>
</definitions>

其代表的流程图如下:

流程实例

一个流程定义可以启动多个流程实例(process instance)。流程定义可以看做是重复执行流程的蓝图。 它记录了一个流程从开始到结束的状态,并通过其他的一致性功能保证其可以完整地执行一个流程。

执行实例

对于一个流程实例执行的过程中,会途径多个节点,如有网关,还会有分支节点。因此 Flowable 提出了一个执行实例的概念,即在一个执行的生命周期内会有一个父执行 ID,以及相关联的一个或多个子执行 ID。有如下两种情况:

            - - B - - -
            |         ↓
Start → A → + - C - → E - → End
            |         ↑
            - - D - - -

情况1: 只途经单节点

如 Start → A 的执行过程,对于执行实例来说会有两条记录

EXECUTION_ID PROC_INST_ID EXECUTION_PARENT_ID ACT_ID
1 11500 NULL NULL
2 11500 1 A

情况2: 途径并行网关

EXECUTION_ID PROC_INST_ID EXECUTION_PARENT_ID ACT_ID
1 11500 NULL NULL
2 11500 1 B
3 11500 1 C
4 11500 1 D

任务

任务其实就是需要用户处理的任务,其在 XML 元素的名称为 UserTask,当然也可以通过在 ServiceTask 中调用 API 生成。每个任务都需要等待用户审批,并可选地给出审批意见以及添加附件。

活动

活动(Activity)包含了流程中所有的活动数据,例如开始事件、结束事件、网关(排他、并行等)、中间节点等。

Flowable 引擎介绍

架构设计

Service 总览

名称 作用
RepositoryService 资源管理
RuntimeService 流程运行管理
TaskService 任务管理
HistoryService 历史管理
ManagerService 引擎管理
FormService 表单管理
IdentityService 用户关系管理

在 Flowable 中,所有的调用都是无状态的,对任何服务的任何调用都是幂等的。

工作流引擎横向对比

宏观对比

异同点\引擎 Flowable Activity Camunda
付费 有付费版 有付费版 有付费版
活跃度
云原生支持度 不支持 Activity Cloud Zebee
开源程度 Flowable 6.5 后不再开源 部分开源 部分开源
开源功能完善度 第一名 第三名 第二名
性能官方对比 第二名 第三名 第一名

功能对比

异同点\引擎 Flowable Camunda
流程实例版本迁移 不支持 支持
CMD 命令权限校验 不支持 支持
批处理API操作支持 很少(从集合中遍历) 支持
执行-触发连线双异步支持 不支持 支持
NoSQL支持 支持 不支持(只有解决方案)
流程优化统计 不支持 支持(记录流程瓶颈和各节点耗时)
LDAP 支持 支持 不支持
定义定时作业优先级 不支持 支持
分布式定时器支持 不支持 支持

Flowable API

RepositoryService

RepositoryService 服务提供了 管理与控制流程发布包 deployments)流程定义(process definitions) 的操作。 流程定义(process definitions) 是 BPMN 2.0 流程对应的 Java 对象; 部署(deployments) 是 Flowable 引擎中的包装单元,一个 Deploy 中可以包含多个 BPMN 2.0 XML 文件及其他资源。RepositoryService 可用于部署这样的包。部署意味着将它上传至引擎,引擎将在储存至数据库之前检查与分析所有的流程。在部署操作后,可以在系统中使用这个部署包,部署包中的所有流程都可以启动。

查询接口

createProcessDefinitionQuery 查询流程定义信息 
createDeploymentQuery 查询部署单元信息
createModelQuery 查询模型信息

还有带 Native 字样的 Query,其为输入自定义 SQL 查询相关信息。

管理流程定义

激活/挂起流程定义

activateProcessDefinitionById/Key 激活流程定义
suspendProcessDefinitionById/Key 挂起流程定义

流程定义在 Deploy 时默认激活,在挂起后会抛 FlowableException 异常。详细信息如下:

Cannot start process instance. Process definition Holiday Request (id = holidayRequest:6:12503) is suspended

创建部署

createDeployment

删除部署

deleteDeployment

TODO API

setDeploymentCategory
setDeploymentKey
getDeploymentResourceNames
getResourceAsStream
changeDeploymentTenantId
setProcessDefinitionCategory
getProcessModel
getProcessDiagram
getProcessDefinition
isFlowable5ProcessDefinition
isProcessDefinitionSuspended
getBpmnModel
getProcessDiagramLayout
getAppResourceObject
getAppResourceModel
newModel
saveModel
deleteModel
addModelEditorSource
addModelEditorSourceExtra
getModel
getModelEditorSource
getModelEditorSourceExtra
addCandidateStarterUser
addCandidateStarterGroup
deleteCandidateStarterUser
deleteCandidateStarterGroup
getIdentityLinksForProcessDefinition
validateProcess
getDecisionTablesForProcessDefinition
getFormDefinitionsForProcessDefinition

RuntimeService

与提供静态信息管理的 RepositoryService 不同,RuntimeService 用于启动流程定义的新流程实例。即 RepositoryService 存储了流程定义,RuntimeService 是真正的执行人。在执行的过程中,RuntimeService 也会读取与存储流程变量。流程变量是流程实例中的数据,可以在流程的许多地方使用(例如排他网关经常使用流程变量判断流程下一步要走的路径)。RuntimeService 还可以用于查询流程实例与执行 (Execution)。执行也就是BPMN 2.0中 ‘token’ 的概念。通常执行是指向流程实例当前位置的指针。

查询接口

createExecutionQuery
createNativeExecutionQuery
createProcessInstanceQuery
createNativeProcessInstanceQuery
createEventSubscriptionQuery

管理流程实例

启动流程实例

startProcessInstanceByKey
startProcessInstanceByKeyAndTenantId
startProcessInstanceById
startProcessInstanceWithForm
startProcessInstanceByMessage
startProcessInstanceByMessageAndTenantId

提前终止流程实例

deleteProcessInstance

挂起流程实例

suspendProcessInstanceById

激活流程实例

activateProcessInstanceById

触发流程实例

触发 ReceiveTask

trigger
triggerAsync

通过 ExecutionId 触发对应 ReceiveTask 事件,详情见《Flowable 高级用法》的用户事件

触发 SignalEvent

signalEventReceived
signalEventReceivedWithTenantId
signalEventReceivedAsync
signalEventReceivedAsyncWithTenantId

通过 SignalName 触发信号事件,详情见《Flowable 高级用法》的信号事件

回退流程实例

createChangeActivityStateBuilder

TODO API

createProcessInstanceBuilder
getStartFormModel
getActiveActivityIds
updateBusinessKey
addUserIdentityLink
addGroupIdentityLink
addParticipantUser
addParticipantGroup
deleteParticipantUser
deleteParticipantGroup
deleteUserIdentityLink
deleteGroupIdentityLink
getIdentityLinksForProcessInstance

getDataObjects
getDataObjectsLocal
getDataObject
getDataObjectLocal

messageEventReceived
messageEventReceivedAsync
addEventListener
addEventListener
removeEventListener
dispatchEvent
setProcessInstanceName
getAdhocSubProcessExecutions
getEnabledActivitiesFromAdhocSubProcess
executeActivityInAdhocSubProcess
completeAdhocSubProcess

addMultiInstanceExecution
deleteMultiInstanceExecution
getProcessInstanceEvents

TaskService

对于像 Flowable 这样的 BPM 引擎来说,核心是需要用户操作的任务。所有任务相关的东西都组织在TaskService中,例如:

  • 查询分派给用户或组的任务
  • 创建独立运行(standalone)任务。这是一种没有关联到流程实例的任务。
  • 决定任务的执行用户(assignee),或者将用户通过某种方式与任务关联。
  • 认领(claim)与完成(complete)任务。认领是指某人决定成为任务的执行用户,也即他将会完成这个任务。完成任务是指“做这个任务要求的工作”,通常是填写某个表单。

查询接口

createTaskQuery 查询 ACT_RU_TASK

审批任务

签收任务

// 两种方式同样都是设置任务的 Assignee 属性。
claim
setAssignee

归还任务

unclaim

完成任务

complete

委派任务

将任务节点分给其他人处理,等其他人处理好之后,委派任务会自动回到委派人的任务中

// 两种方式同样都是设置任务的 Owner 和 Assignee 属性
// 转交任务给Assignee,并记录转交人为Owner
setOwner(currentUser) && setAssignee(acceptUser)
setOwner(currentUser) && delegateTask(acceptUser)

被委派任务的办理

resolveTask

详情见《Flowable 实践场景》

意见和附件

意见

给 UserTask 增加对应的审批意见。

addComment
saveComment
deleteComments
deleteComment
getComment
getTaskComments
getCommentsByType
getProcessInstanceComments

附件

给 UserTask 任务增加对应的附件信息。

createAttachment
saveAttachment
deleteAttachment
getAttachment
getAttachmentContent
getTaskAttachments
getProcessInstanceAttachments

TODO API

TaskService
newTask
saveTask
deleteTask
deleteTasks
completeTaskWithForm
getTaskFormModel
getIdentityLinksForTask
addCandidateUser
addCandidateGroup
addUserIdentityLink
addGroupIdentityLink
deleteCandidateUser
deleteCandidateGroup
deleteUserIdentityLink
deleteGroupIdentityLink
setPriority
setDueDate
getDataObjects
getDataObject
getTaskEvents
getEvent
getSubTasks

IdentityService

IdentityService 用于管理组与用户。请注意,Flowable 实际上在运行时并不做任何用户检查。例如任务可以分派给任何用户,而引擎并不会验证系统中是否存在该用户。这是因为 Flowable 有时要与 LDAP、Active Directory 等服务结合使用。

TODO API

IdentityService
newUser
saveUser
updateUserPassword
createUserQuery
createNativeUserQuery
deleteUser
newGroup
createGroupQuery
createNativeGroupQuery
getPotentialStarterGroups
getPotentialStarterUsers
saveGroup
deleteGroup
createMembership
deleteMembership
checkPassword
setAuthenticatedUserId
setUserPicture
getUserPicture
setUserInfo
getUserInfo
getUserInfoKeys
deleteUserInfo

FormService

FormService 是可选服务。其引入了开始表单(start form)与任务表单(task form)的概念。 开始表单是在流程实例启动前显示的表单,而任务表单是用户完成任务时显示的表单。Flowable 可以在 BPMN 2.0 流程定义中定义这些表单。表单服务通过简单的方式暴露这些数据。再次重申,表单不一定要嵌入流程定义,因此这个服务是可选的。

TODO API

getStartFormData
getRenderedStartForm
getRenderedStartForm
submitStartFormData
submitStartFormData
getTaskFormData
getRenderedTaskForm
getRenderedTaskForm
submitTaskFormData
saveFormData
getStartFormKey
getTaskFormKey

HistoryService

暴露 Flowable 引擎收集的所有历史数据。当执行流程时,引擎会保存许多数据(可配置),例如流程实例启动时间、谁在执行哪个任务、完成任务花费的事件、每个流程实例的执行路径,等等。这个服务主要提供查询这些数据的能力。

查询接口

createHistoricProcessInstanceQuery 查询 HistoricProcessInstance
createHistoricActivityInstanceQuery 查询 HistoricActivityInstance
createHistoricTaskInstanceQuery 查询 HistoricTaskInstance
createHistoricDetailQuery 查询 HistoricDetail
createHistoricVariableInstanceQuery 查询 HistoricVariableInstance
createProcessInstanceHistoryLogQuery 查询 ProcessInstanceHistoryLog

删除接口

deleteHistoricTaskInstance
deleteHistoricProcessInstance
getHistoricIdentityLinksForTask
getHistoricIdentityLinksForProcessInstance

ManagementService

通常在用 Flowable 编写用户应用时需要使用。它可以读取数据库表与表原始数据的信息,也提供了对作业(job)的查询与管理操作。Flowable 中很多地方都使用作业,例如定时器(timer),异步操作(asynchronous continuation),延时暂停/激活(delayed suspension/activation)等等。

查询接口

createTablePageQuery 查询数据库表
createJobQuery 查询 ACT_RU_JOB
createTimerJobQuery 查询 ACT_RU_TIMER_JOB
createSuspendedJobQuery 查询 ACT_RU_SUSPENDED_JOB
createDeadLetterJobQuery 查询 ACT_RU_DEADLETTER_JOB
createHistoryJobQuery 查询 ACT_RU_HISTORY_JOB

删除任务接口

deleteJob
deleteTimerJob
deleteSuspendedJob
deleteDeadLetterJob
deleteHistoryJob

TODO API

getTableCount
getTableName
getTableMetaData

executeJob
moveTimerToExecutableJob

moveSuspendedJobToExecutableJob

setJobRetries
setTimerJobRetries
rescheduleTimeDateJob
rescheduleTimeDurationJob
rescheduleTimeCycleJob
rescheduleTimerJob
getJobExceptionStacktrace
getTimerJobExceptionStacktrace
getSuspendedJobExceptionStacktrace
getDeadLetterJobExceptionStacktrace
getProperties
databaseSchemaUpgrade
executeCommand
executeCommand
executeCustomSql
getEventLogEntries
getEventLogEntriesByProcessInstanceId
deleteEventLogEntry

DynamicBpmnService

可用于修改流程定义中的部分内容,而不需要重新部署它。例如可以修改流程定义中一个用户任务的办理人设置,或者修改一个服务任务中的类名。

TODO API

DynamicBpmnService
injectUserTaskInProcessInstance
injectParallelUserTask
injectEmbeddedSubProcessInProcessInstance
injectParallelEmbeddedSubProcess
getProcessDefinitionInfo
saveProcessDefinitionInfo
changeServiceTaskClassName
changeServiceTaskClassName
changeServiceTaskExpression
changeServiceTaskExpression
changeServiceTaskDelegateExpression
changeServiceTaskDelegateExpression
changeScriptTaskScript
changeScriptTaskScript
changeUserTaskName
changeUserTaskName
changeUserTaskDescription
changeUserTaskDescription
changeUserTaskDueDate
changeUserTaskDueDate
changeUserTaskPriority
changeUserTaskPriority
changeUserTaskCategory
changeUserTaskCategory
changeUserTaskFormKey
changeUserTaskFormKey
changeUserTaskAssignee
changeUserTaskAssignee
changeUserTaskOwner
changeUserTaskOwner
changeUserTaskCandidateUser
changeUserTaskCandidateUser
changeUserTaskCandidateGroup
changeUserTaskCandidateGroup
changeUserTaskCandidateUsers
changeUserTaskCandidateUsers
changeUserTaskCandidateGroups
changeUserTaskCandidateGroups
changeMultiInstanceCompletionCondition
changeMultiInstanceCompletionCondition
changeDmnTaskDecisionTableKey
changeDmnTaskDecisionTableKey
changeSequenceFlowCondition
changeSequenceFlowCondition
getBpmnElementProperties
changeLocalizationName
changeLocalizationName
changeLocalizationDescription
changeLocalizationDescription
getLocalizationElementProperties
resetProperty
getDynamicProcessDefinitionSummary

Flowable 表结构

Flowable 需要将节点持久化到 Database 中,因此需要了解其对应的表结构才能知道其暂存点。

  • ACT_RE :’RE’表示 repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
  • ACT_RU:’RU’表示 runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Flowable只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
  • ACT_HI:’HI’表示 history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
  • ACT_GE:‘GE’ 表示 general。 通用数据, 用于不同场景下
  • ACT_ID:’ID’表示 identity(组织机构)。这些表包含标识的信息,如用户,用户组,等等。

具体的表结构的含义:

表分类 表名 解释
通用数据
[ACT_GE_BYTEARRAY] 通用的流程定义和流程资源
[ACT_GE_PROPERTY] 系统相关属性
流程历史记录
[ACT_HI_ACTINST] 历史的流程节点信息
[ACT_HI_ATTACHMENT] 历史的任务审批流程附件信息
[ACT_HI_COMMENT] 历史的任务审批意见信息
[ACT_HI_DETAIL] 历史的流程运行中的细节信息
[ACT_HI_IDENTITYLINK] 历史的流程运行过程中用户关系
[ACT_HI_PROCINST] 历史的流程实例
[ACT_HI_TASKINST] 历史的任务实例(只记录 UserTask)
[ACT_HI_VARINST] 历史的流程运行中的变量信息
流程定义表
[ACT_RE_DEPLOYMENT] 部署信息
[ACT_RE_MODEL] 流程设计模型信息
[ACT_RE_PROCDEF] 流程定义信息
运行实例表
[ACT_RU_EVENT_SUBSCR] 运行时事件监听信息
[ACT_RU_EXECUTION] 运行时流程执行实例信息
[ACT_RU_IDENTITYLINK] 运行时用户关系信息,存储任务节点与参与者的相关信息
[ACT_RU_JOB] 运行时定时任务信息
[ACT_RU_TASK] 运行时任务信息
[ACT_RU_VARIABLE] 运行时变量表
用户用户组表
[ACT_ID_BYTEARRAY] 二进制数据表
[ACT_ID_GROUP] 用户组信息表
[ACT_ID_INFO] 用户信息详情表
[ACT_ID_MEMBERSHIP] 人与组关系表
[ACT_ID_PRIV] 权限表
[ACT_ID_PRIV_MAPPING] 用户或组权限关系表
[ACT_ID_PROPERTY] 属性表
[ACT_ID_TOKEN] 记录用户的token信息
[ACT_ID_USER] 用户表

Repository

ACT_RE_DEPLOYMENT

字段 名称 备注
ID_ 主键
NAME_ 名称
CATEGORY_ 分类
TENANTID 租户ID
DEPLOYTIME 部署时间
DERIVEDFROM 来源于
DERIVEDFROM_ROOT 来源于
ENGINEVERSION 流程引擎的版本

ACT_RE_PROCDEF

字段 名称 备注
ID_ 主键
REV_ 版本号
CATEGORY_ 分类 流程定义的Namespace就是类别
NAME_ 名称
KEY_ 标识
VERSION_ 版本
DEPLOYMENTID 部署ID
RESOURCENAME 资源名称 流程bpmn文件名称
DGRMRESOURCE_NAME 图片资源名称
DESCRIPTION_ 描述
HASSTART_FORM_KEY 拥有开始表单标识 start节点是否存在formKey 0否 1是
HASGRAPHICAL_NOTATION 拥有图形信息
SUSPENSIONSTATE 挂起状态 暂停状态 1激活 2暂停
TENANTID 租户ID

注意:

业务流程定义数据表。此表和 ACTRE_DEPLOYMENT 是多对一的关系,即,一个部署的 BAR 包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在 ACT_RE_PROCDEF 表内,每个流程定义的数据,都会对于 ACT_GE_BYTEARRAY 表内的一个资源文件和 PNG 图片文件。和 ACT_GE_BYTEARRAY 的关联是通过程序用 ACT_GE_BYTEARRAY.NAME 与 ACT_RE_PROCDEF.RESOURCE_NAME 完成的。

Runtime

ACT_RU_EXECUTION

字段 名称 备注
ID_ 主键
REV_ 版本号
PROCINST_ID 流程实例ID
BUSINESSKEY 业务主键ID
PARENTID 父执行流的ID
PROCDEF_ID 流程定义的数据ID
SUPEREXEC
ROOTPROC_INST_ID 流程实例的root流程id
ACTID 节点实例ID
ISACTIVE 是否存活
ISCONCURRENT 执行流是否正在并行
ISSCOPE
ISEVENT_SCOPE
ISMI_ROOT
SUSPENSIONSTATE 流程终端状态
CACHEDENT_STATE
TENANTID 租户编号
NAME_
STARTTIME 开始时间
STARTUSER_ID 开始的用户编号
LOCKTIME 锁定时间
ISCOUNT_ENABLED
EVTSUBSCR_COUNT
TASKCOUNT
JOBCOUNT
TIMERJOB_COUNT
SUSPJOB_COUNT
DEADLETTERJOB_COUNT
VARCOUNT
IDLINK_COUNT
字段 名称 备注
ID_ 主键
REV_ 版本号
GROUPID 用户组ID
TYPE_ 关系数据类型 assignee支配人(组)、candidate候选人(组)、owner拥有人,participant参与者
USERID 用户ID
TASKID 任务ID
PROCINST_ID 流程定义ID
PROCDEF_ID 属性ID

ACT_RU_TASK

字段 名称 备注
ID_ 主键
REV_ 版本号
EXECUTIONID 任务所在的执行流ID
PROCINST_ID 流程实例ID
PROCDEF_ID 流程定义数据ID
NAME_ 任务名称
PARENTTASK_ID 父任务ID
DESCRIPTION_ 说明
TASKDEF_KEY 任务定义的ID值
OWNER_ 任务拥有人
ASSIGNEE_ 被指派执行该任务的人
DELEGATION_ 委托人
PRIORITY_ 优先级
CREATETIME 创建时间
DUEDATE 耗时
CATEGORY_ 类别
SUSPENSIONSTATE 是否挂起 1代表激活 2代表挂起
TENANTID 租户编号
FORMKEY
CLAIMTIME 拾取时间

ACT_RU_VARIABLE

字段 名称 备注
ID_ 主键
REV_ 版本号
TYPE_ 参数类型 可以是基本的类型,也可以用户自行扩展
NAME_ 参数名称
EXECUTIONID 参数执行ID
PROCINST_ID 流程实例ID
TASKID 任务ID
BYTEARRAYID 资源ID
DOUBLE_ 参数为double,则保存在该字段中
LONG_ 参数为long,则保存在该字段中
TEXT_ 用户保存文本类型的参数值
TEXT2_ 用户保存文本类型的参数值

History

字段 名称 备注
ID_ 主键
GROUPID 组编号
TYPE_ 类型
USERID 用户编号
TASKID 任务编号
CREATETIME 创建时间
PROCINST_ID 流程实例编号
SCOPEID
SCOPETYPE
SCOPEDEFINITION_ID

ACT_HI_PROCINST

字段 名称 备注
ID_ 主键
PROCINST_ID 流程实例ID
BUSINESSKEY 业务主键
PROCDEF_ID 属性ID
STARTTIME 开始时间
ENDTIME 结束时间
DURATION_ 耗时
STARTUSER_ID 起始人
STARTACT_ID 起始节点
ENDACT_ID 结束节点
SUPERPROCESS_INSTANCE_ID 父流程实例ID
DELETEREASON 删除原因
TENANTID 租户编号
NAME_ 名称

ACT_HI_ACTINST

字段 名称 备注
ID_ 主键
PROCDEF_ID 流程定义ID
PROCINST_ID 流程实例ID
EXECUTIONID 执行ID
ACTID 节点实例ID
TASKID 任务ID
CALLPROC_INST_ID 调用外部的流程实例ID
ACTNAME 节点名称
ACTTYPE 节点类型
ASSIGNEE_ 处理人
STARTTIME 开始时间
ENDTIME 结束时间
DURATION_ 耗时
DELETEREASON 删除原因
TENANTID 租户编号

ACT_HI_TASKINST

字段 名称 备注
ID_ 主键
PROCDEF_ID 流程定义ID
TASKDEF_KEY 任务定义的ID值
PROCINST_ID 流程实例ID
EXECUTIONID 执行ID
PARENTTASK_ID 父任务ID
NAME_ 名称
DESCRIPTION_ 说明
OWNER_ 实际签收人 任务的拥有者 签收人(默认为空,只有在委托时才有值)
ASSIGNEE_ 被指派执行该任务的人
STARTTIME 开始时间
CLAIMTIME 任务拾取时间
ENDTIME 结束时间
DURATION_ 耗时
DELETEREASON 删除原因
PRIORITY_ 优先级别
DUEDATE 过期时间
FORMKEY 节点定义的formkey
CATEGORY_ 类别
TENANTID 租户

ACT_HI_VARINST

字段 名称 备注
ID_ 主键
PROCINST_ID 流程实例ID
EXECUTIONID 指定ID
TASKID 任务ID
NAME_ 名称
VARTYPE 参数类型
REV_ 数据版本
BYTEARRAYID 字节表ID
DOUBLE_ 存储double类型数据
LONG_ 存储long类型数据

General

ACT_GE_BYTEARRAY

字段 名称 备注
ID_ 主键
REV_ 版本号
NAME_ 名称 部署的文件名称,如:holiday-request-new.bpmn20.xml、holiday-request-new.bpmn20.png
DEPLOYMENTID 部署ID
BYTES_ 字节(二进制数据)
GENERATED_ 是否系统生成 0为用户上传,1为系统自动生成, 比如系统会自动根据xml生成png