两种方法对activiti运行过的节点高亮显示

本文介绍了两种方法使activiti运行过的节点高亮显示。第一种方法利用activiti自身功能,适用于5.16以上版本,涉及controller和service层的编辑,并列举了所需jar包。第二种方法则是通过在流程图上定义遮罩层实现高亮效果。
摘要由CSDN通过智能技术生成

方法一:使用activiti自带的image画

此种方法好像使用activiti中5.16以后的版本:

1、controller层编辑

<span style="white-space:pre">	</span>@RequestMapping(value="/queryActivityMap", produces = MediaType.IMAGE_PNG_VALUE)
	@ResponseBody
	public byte[] queryActivityMap(String processInstanceId, Model model, HttpServletResponse response) {
		try {
			return orderService.traceProcessImage(processInstanceId);
		} catch (Exception e) {
			System.err.println("获取图片流错误!!");
			e.printStackTrace();
			return null;
		}
	}

2、service层编辑

<span style="white-space:pre">	</span>/**
	 * 得到带有高亮节点的流程图
	 * @param processInstanceId	流程实例id
	 * @return
	 */
	public byte[] traceProcessImage(String processInstanceId) {
		String taskId = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult().getId();
		if (StringUtils.isBlank(taskId))
            throw new IllegalArgumentException("任务ID不能为空!");
        // 当前任务节点
        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
        if (task == null)
            throw new IllegalArgumentException("任务不存在!");

        BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
        // List<String> activeActivityIds = runtimeService.getActiveActivityIds(task.getExecution
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值