美文网首页
流程引擎Camunda开发记录(四)—表ACT_HI_DETAI

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

作者: _花 | 来源:发表于2022-04-26 10:14 被阅读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.相关方法

    相关文章

      网友评论

          本文标题:流程引擎Camunda开发记录(四)—表ACT_HI_DETAI

          本文链接:https://www.haomeiwen.com/subject/zdvkyrtx.html