流程引擎Camunda开发记录(四)—表ACT_HI_DETAI

2022-04-26  本文已影响0人  _花

一、act_hi_detail(历史的流程运行详情表)

1.表结构

ID_ | varchar(64) | | 主键

TYPE_ | varchar(255) | | 类型

PROC_DEF_KEY_ | varchar(255) | NULL | 流程定义KEY

PROC_DEF_ID_ | varchar(64) | NULL | 流程定义ID

ROOT_PROC_INST_ID_ | varchar(64) | NULL | 流程实例根ID

PROC_INST_ID_ | varchar(64) | NULL | 流程实例ID

EXECUTION_ID_ | varchar(64) | NULL | 流程执行ID

CASE_DEF_KEY_ | varchar(255) | NULL | 案例定义KEY

CASE_DEF_ID_ | varchar(64) | NULL | 案例定义ID

CASE_INST_ID_ | varchar(64) | NULL | 案例实例ID

CASE_EXECUTION_ID_ | varchar(64) | NULL | 案例执行ID

TASK_ID_ | varchar(64) | NULL | 任务ID

ACT_INST_ID_ | varchar(64) | NULL | 节点实例ID

VAR_INST_ID_ | varchar(64) | NULL | 流程变量记录ID

NAME_ | varchar(255) | | 名称

VAR_TYPE_ | varchar(255) | NULL | 变量类型

REV_ | int(11) | NULL | 版本

TIME_ | datetime | | 时间戳

BYTEARRAY_ID_ | varchar(64) | NULL | 二进制数据对应ID

DOUBLE_ | double | NULL | double类型值

LONG_ | bigint(20) | NULL | long类型值

TEXT_ | varchar(4000) | NULL | 文本类型值

TEXT2_ | varchar(4000) | NULL | 文本类型值2

SEQUENCE_COUNTER_ | bigint(20) | NULL | 序列计数器

TENANT_ID_ | varchar(64) | NULL | 租户ID

OPERATION_ID_ | varchar(64) | NULL |

REMOVAL_TIME_ | datetime | NULL | 移除时间

2.相关方法

表包含流程实例中的每个消息,且HistoricDetail中读取到的信息量是根据你设置历史级别而定。
camunda.bpm: history-level: full

获取流程实例中的每个消息

        // 该流程实例的所有走过的task
        List<HistoricTaskInstance> taskInstanceList = historyService.createHistoricTaskInstanceQuery()
                .processInstanceId(processInstanceId)
                .finished()
                .list();
        for (HistoricTaskInstance h : taskInstanceList) {
            Map<String, Object> variables = new HashMap<>();
            // 获取act_hi_detail表中的信息,但是HistoricDetail还没有包含变量信息
            List<HistoricDetail> details = historyService.createHistoricDetailQuery()
                    .variableUpdates()
                    .activityInstanceId(h.getActivityInstanceId())// 使用activityInstanceId可以获取到每个节点对应的detail信息
                    .list();
            for (HistoricDetail historicDetail : details) {
                // 所以需要将HistoricDetail转换为HistoricVariableUpdate才可以获取到variables
               // HistoricVariableUpdate historicVariableUpdate = (HistoricVariableUpdate) historicDetail;
                variables.put(historicDetail.getVariableName(), historicDetail.getValue());
            }
        }

二、act_hi_procinst(历史的流程实例表)

1.表结构

ID_ | varchar(64) | | 主键

PROC_INST_ID_ | varchar(64) | | 流程实例ID

BUSINESS_KEY_ | varchar(255) | NULL | 业务KEY

PROC_DEF_KEY_ | varchar(255) | NULL | 流程定义KEY

PROC_DEF_ID_ | varchar(64) | | 流程定义ID

START_TIME_ | datetime | | 开始时间

END_TIME_ | datetime | NULL | 结束时间

REMOVAL_TIME_ | datetime | NULL | 移除时间

DURATION_ | bigint(20) | NULL | 耗时

START_USER_ID_ | varchar(255) | NULL | 启动人ID

START_ACT_ID_ | varchar(255) | NULL | 启动节点ID

END_ACT_ID_ | varchar(255) | NULL | 结束节点ID

SUPER_PROCESS_INSTANCE_ID_ | varchar(64) | NULL | 父流程实例ID

ROOT_PROC_INST_ID_ | varchar(64) | NULL | 流程实例根ID

SUPER_CASE_INSTANCE_ID_ | varchar(64) | NULL | 父案例实例ID

CASE_INST_ID_ | varchar(64) | NULL | 案例实例ID

DELETE_REASON_ | varchar(4000) | NULL | 删除原因

TENANT_ID_ | varchar(64) | NULL | 租户ID

STATE_ | varchar(255) | NULL | 状态

2.相关方法

上一篇下一篇

猜你喜欢

热点阅读