flowable 走过的节点描红 高亮

本文介绍如何在Flowable中实现已结束和正在进行的流程节点高亮显示,解决来回驳回导致的流程混乱问题。主要内容包括通过代码生成流程图图片,并递归获取节点高亮的方法。
摘要由CSDN通过智能技术生成

在正常的flowable就是显示当前节点,路径需要我们自己获取,特别是来回的驳回会导致节点混乱,这里主要就是如何正确的显示流程图

效果:

已经结束的流程

  正在执行的流程

 代码:1、生成图片

// 源码 www.1b23.com
public byte[] createImage2(String processInstanceId) {
        //1.获取当前的流程实例
        ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
        String processDefinitionId = null;
        List<String> activeActivityIds = null;
        //2.获取所有的历史轨迹对象
        List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery()
                .processInstanceId(processInstanceId).list();
        Map<String, HistoricActivityInstance> hisAct
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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 版本中实现当前节点高亮显示。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值