flowable获取当前节点和路径

flowable6.4.1已经加入了一张act_ru_actinst表来存储运行时节点信息。

我们如何使用它呢?官方的文档里面是没有解释的,多看源代码和测试用例。

1、获取当前活动节点列表

List<String> activeActivityIds = runtimeService.getActiveActivityIds(processInstanceId);

2、获取连线的列表

List<ActivityInstance> highLightedFlowInstances = runtimeService.createActivityInstanceQuery()
                    .activityType(BpmnXMLConstants.ELEMENT_SEQUENCE_FLOW).processInstanceId(processInstanceId).list();

有了当前节点列表和连线列表我们就可以生成我们的流程图了。如论流程图有多么的复杂都不会出现问题。

 

转载于:https://www.cnblogs.com/liuwenjun/p/10497382.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flowable 6.7.2 版本,要实现当前节点的高亮可以通过以下步骤: 1. 获取当前流程实例的 ID: 使用`RuntimeService`接口的`createProcessInstanceQuery()`方法来查询流程实例。流程实例是一个特定流程定义的运行实例。可以通过提供流程定义的 ID、业务键或当前流程实例的 ID 等来查询。获取当前流程实例对象后,可以使用`getId()`方法获取流程实例的 ID。 2. 获取当前节点的 ID: 根据当前流程实例的 ID,使用`TaskService`接口的`createTaskQuery()`方法来查询当前流程实例的任务。可以通过提供流程实例的 ID、任务名称或任务定义的 ID 等来查询。获取当前任务对象后,可以使用`getTaskDefinitionKey()`方法获取当前任务节点的 ID。 3. 设置当前节点的高亮: 首先需要获取 `Model` 对象,用于加载和渲染流程定义。可以使用`RepositoryService`接口的`getModel()`方法根据流程定义的 ID 获取流程模型。获取到流程模型后,可以使用`BpmnModel`对象的`getFlowElement()`方法来获取流程定义的所有流程元素(包括节点)。通过比对节点的 ID 和当前节点的 ID,来判断当前节点是否需要高亮。如果需要高亮,可以设置节点的样式信息,例如设置节点的边框颜色、背景色等。 4. 完善显示和交互逻辑: 最后,将设置好样式的流程模型返回给前端页面进行显示。可以使用流行的前端流程图渲染库(如BPMN.js)来加载和渲染流程模型,并根据节点的样式信息来实现节点的高亮显示效果。 总结以上步骤,通过查询当前流程实例的任务信息,然后根据当前任务节点的 ID 和流程定义节点信息进行比对,最终设置当前节点的高亮样式,即可在Flowable 6.7.2 版本实现当前节点的高亮显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值