Springboot +Flowable,通过代码绘制流程图并设置高亮

本文介绍了如何在SpringBoot应用中利用Flowable框架通过代码动态绘制流程图并设置高亮。首先展示了流程图高亮的效果,然后详细解释了实现方法,包括查找流程定义、生成流程图片及设置高亮的步骤。最后讨论了如何处理已执行完毕的流程,通过查询历史活动实例从ACT_HI_ACTINST表中获取高亮信息,以完成对已完成流程的可视化呈现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.简介

通过代码绘制一张流程图,并设置成高亮。

首先先来看一下绘制出来的效果图,截图如下:
在这里插入图片描述

已经执行的节点和连线用红色标记出来,大致上就是这么一个效果。

二.怎么实现

将一个流程图绘制成图片,相关的 API 在 flowable 中其实都是有提供的,流程图片的绘制,是根据流程的定义来绘制的,所以只需要提供一个流程定义的 ID 即可,代码如下:

ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().processDefinitionKey("ExclusiveGatewayDemo01").latestVersion().singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(pd.getId());
DefaultProcessDiagramGenerator generator = new DefaultProcessDiagramGenerator();
InputStream inputStream = generator.generatePngDiagram(bpmnModel, 1.0, true);
FileUtils.copyInputStreamToFile(inputStream, new File("/Users/hx/Downloads/test.png"));

来看下这段代码的释义:

  1. 查找到流程定义对象。
  2. 根据流程定义对象,获取到一个 BpmnModel 对象。
  3. 创建一个图片生成器对象 DefaultProcessDiagramGenerator。
  4. 调用 generatePngDiagram 方法生成这个流程定义所对应的图片,参数有三个,分别是:前面查询到的 bpmnModel 对象;缩放因子以及是否在绘制流程图的时候,在连线上加上描述文字,generatePngDiagram 方法的返回值则是一个输入流。
  5. 将这个输入流打印出来,就是一张图片了。

根据上面这段代码,执行结果如下:
在这里插入图片描述
可以看到,这就是普通的流程图,没有高亮。
如果希望已经执行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘德华一不小心就打代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值