/** * 获取当前任务流程图片的输入流 * @param PROC_INST_ID_ 流程实例ID * @from fhadmin.cn */ public InputStream genProcessDiagram(String PROC_INST_ID_, String type){ /* 获得活动的节点 */ String processDefinitionId = ""; if (this.isFinished(PROC_INST_ID_)) { // 如果流程已经结束,则得到结束节点 HistoricProcessInstance pi = historyService.createHistoricProcessInstanceQuery().processInstanceId(PROC_INST_ID_).singleResult(); processDefinitionId=pi.getProcessDefinitionId(); } else { // 如果流程没有结束,则取当前活动节点 /* 根据流程实例ID获得当前处于活动状态的ActivityId合集 */ ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(PROC_INST_ID_).singleResult(); processDefinitionId = pi.getProcessDefinitionId(); } /* 获得活动的节点对象 */ List<HistoricActivityInstance> highLightedActivitList = historyService.createHistoricActivityInstanceQuery().processInstanceId(PROC_INST_ID_).orderByHistoricActivityInstanceStartTime().asc().list(); List<String> highLightedActivitis = new ArrayList<String>(); //节点对象ID for(HistoricActivityInstance tempActivity : highLightedActivitList){ String activityId = tempActivity.getActivityId(); highLightedActivitis.add(activityId); } BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); //获取流程图 ProcessEngineConfiguration engconf = processEngine.getProcessEngineConfiguration(); /* 获得活动的连线对象 */ List<String> flows = new ArrayList<>(); //连线ID if("RU".equals(type)) { List<ActivityInstance> highLightedFlowInstances = runtimeService.createActivityInstanceQuery().activityType(BpmnXMLConstants.ELEMENT_SEQUENCE_FLOW).processInstanceId(PROC_INST_ID_).list(); for(ActivityInstance ai : highLightedFlowInstances) { flows.add(ai.getActivityId()); } }else { List<HistoricActivityInstance> highLightedFlowInstances = historyService.createHistoricActivityInstanceQuery().activityType(BpmnXMLConstants.ELEMENT_SEQUENCE_FLOW).processInstanceId(PROC_INST_ID_).list(); for(HistoricActivityInstance ha : highLightedFlowInstances) { flows.add(ha.getActivityId()); } } ProcessDiagramGenerator diagramGenerator = engconf.getProcessDiagramGenerator(); InputStream in = diagramGenerator.generateDiagram(bpmnModel, "png", highLightedActivitis, flows, engconf.getActivityFontName(), engconf.getLabelFontName(), engconf.getAnnotationFontName(), engconf.getClassLoader(), 1.0, true); return in; }
相关推荐
Flowable深入浅出-14 Flowable-BPMN操作流程之任务完成,欢迎进入我的专栏第14节查看,专栏地址:https://blog.csdn.net/houyj1986/column/info/31755
Flowable深入浅出-13 Flowable-BPMN操作流程之流程进展查看之流程图,欢迎在我的专栏查看该文章(第13篇),专栏地址:https://blog.csdn.net/houyj1986/column/info/31755
例如,你可以通过任务服务获取当前用户的待办事项,或者通过历史服务分析流程执行的历史数据。 Spring Boot集成Flowable通常通过添加依赖和配置application.yml或application.properties完成。Flowable的Spring ...
flowable高亮流程已执行节点及连线,包含6.4.1版本以及6.4.1之前版本的不同处理方法
Flowable深入浅出-12 Flowable-BPMN操作流程之用户任务UserTask,请参考专栏https://blog.csdn.net/houyj1986/column/info/31755第12篇
Flowable 是一个使用 Java 编写的轻量级业务流程引擎,Flowable 流程引擎可用于部署 BPMN 2.0 流程定义,创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。Flowable 可以十分...
课程分享——Flowable工作流实战课程,完整版视频课程下载。 Flowable是Activiti原班人马开发的一套新的工作流框架,支持了cmmn引擎以及dmn引擎。重构了Activiti的源码,使Flowable的性能更加的流畅。课程可以让...
Activiti(Flowable) 流程实例克隆解决方案1
Flowable是一款开源的工作流引擎,它提供了强大的流程定义、执行和监控能力,而SpringBoot则是一个轻量级的Java应用框架,使得快速开发变得更加简单。结合两者,我们可以构建出一个在线的流程设计器,便于业务人员...
Flowable是一款强大的、开源的工作流引擎,它基于BPMN 2.0标准,能够帮助企业或组织实现业务流程自动化。BPMN(Business Process Modeling Notation)是一种图形化表示业务流程的方法,它提供了丰富的符号来描绘各种...
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解) 博客地址:https://yangyongli.blog.csdn.net/article/details/132719594
Flowable是一款强大的业务流程管理(BPM)和工作流引擎,它在企业级应用中广泛使用,用于自动化工作流程和业务流程。Flowable提供了一套完整的解决方案,包括流程设计、执行、监控和优化。在本话题中,我们将重点...
在代码中,你可以利用Flowable的API来启动流程实例、查询任务、提交任务以及处理其他与工作流相关的操作。 总的来说,SpringBoot结合Flowable提供了一种高效且灵活的方式来实现业务流程自动化。通过理解Flowable UI...
Flowable是一款开源的工作流引擎,它提供了业务流程管理和动态表单的功能,广泛应用于企业级应用开发。Flowable Engine 6.7.2是该引擎的一个版本,包含了对流程定义、执行、监控等全面的支持。 在Flowable Engine ...
本教程将深入探讨如何在基于Spring Cloud的微服务架构中集成Flowable工作流引擎,提升系统的流程管理能力。 首先,Spring Cloud是构建分布式系统的一系列工具集,包括服务发现、配置管理、熔断机制等,它为微服务...
在Vue项目中使用Flowable来绘制流程图,可以借助`workflow-bpmn-modeler`这个库,它基于Vue和bpmn.io,为Flowable提供了可视化工作流设计器。 首先,创建一个Vue 2.x项目。确保选择的Vue版本是兼容的,因为`...
Flowable V6.4.2版本是针对企业级工作流管理的一个强大工具,它是一个用Java语言开发的轻量级业务流程引擎。该版本的中文文档对于中国开发者来说尤其重要,因为它提供了详尽的说明,使得理解并使用Flowable变得更加...
Flowable是一款开源的业务流程管理(BPM)和工作流系统,适用于企业级应用。它支持BPMN 2.0标准,提供高度灵活和可扩展的框架,用于设计、执行和管理业务流程。 在Java生态系统中,Flowable与其他流行的技术如Spring ...