Activiti6.0工作流如何获取上一个节点信息?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activiti6.0工作流如何获取上一个节点信息?相关的知识,希望对你有一定的参考价值。

Activiti6.0中org.activiti.engine.impl.pvm整个包被移除,所以ActivitiImpl, ProcessDefinitionImpl, ExecutionImpl, TransitionImpl 都不可用了,那我应该如何获取上一个节点的TASK_DEF_KEY_

// 查找上一个已完成的user task节点          
List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery()
        .activityType("userTask")
        .processInstanceId(processInstance.getId())
        .finished()
        .orderByHistoricActivityInstanceEndTime()
        .desc()
        .list();
historicActivityInstances.get(0).getActivityId();

参考技术A 楼主解决了吗 参考技术B 一个节点信息?追问

对的,我只需要知道上一个节点的ID就可以了,也就是对应ACT_RU_TASK表中的TASK_DEF_KEY_

Activiti7工作流引擎:高阶篇 ProcessDefinitionUtil

// 根据流程定义id获取流程定义先关信息,可以获取所有流元素FlowElement
Process process = ProcessDefinitionUtil.getProcess(processDefinitionId);

// 根据id获取指定的节点信息
FlowElement targetFlowElement = process.getFlowElement(targetTaskDefKey);
// 主要查询act_re_procdef
ProcessDefinitionUtil.getProcessDefinition(processDefinitionId)

以上是关于Activiti6.0工作流如何获取上一个节点信息?的主要内容,如果未能解决你的问题,请参考以下文章

Activiti6.0 spring5 工作流引擎 java SSM流程审批 项目框架

activiti6.0源码剖析之使用图片生成器设置流程图高亮显示

Activiti6.0 动态改变流程节点类型(普通-> 会签)

基于Activiti6.0工作流结束退回

深入剖析与实战Activiti6工作流引擎

activiti6.0 提交流程至某节点 ,可用于实现驳回操作(未测试)