`
m17030611985
  • 浏览: 16675 次
文章分类
社区版块
存档分类
最新评论

flowable 获取当前任务流程图片的输入流

 
阅读更多
/**
	 * 获取当前任务流程图片的输入流
	 * @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;
	 }
 

 

0
0
分享到:
评论

相关推荐

    Flowable深入浅出-14 Flowable-BPMN操作流程之任务完成

    Flowable深入浅出-14 Flowable-BPMN操作流程之任务完成,欢迎进入我的专栏第14节查看,专栏地址:https://blog.csdn.net/houyj1986/column/info/31755

    Flowable深入浅出-13 Flowable-BPMN操作流程之流程进展查看之流程图

    Flowable深入浅出-13 Flowable-BPMN操作流程之流程进展查看之流程图,欢迎在我的专栏查看该文章(第13篇),专栏地址:https://blog.csdn.net/houyj1986/column/info/31755

    flowable工作流.zip

    例如,你可以通过任务服务获取当前用户的待办事项,或者通过历史服务分析流程执行的历史数据。 Spring Boot集成Flowable通常通过添加依赖和配置application.yml或application.properties完成。Flowable的Spring ...

    flowable高亮流程已执行节点及连线.txt

    flowable高亮流程已执行节点及连线,包含6.4.1版本以及6.4.1之前版本的不同处理方法

    Flowable深入浅出-12 Flowable-BPMN操作流程之用户任务UserTask

    Flowable深入浅出-12 Flowable-BPMN操作流程之用户任务UserTask,请参考专栏https://blog.csdn.net/houyj1986/column/info/31755第12篇

    Flowable-6.5.0 用户手册.pdf

    Flowable 是一个使用 Java 编写的轻量级业务流程引擎,Flowable 流程引擎可用于部署 BPMN 2.0 流程定义,创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。Flowable 可以十分...

    Flowable工作流实战课程

    课程分享——Flowable工作流实战课程,完整版视频课程下载。 Flowable是Activiti原班人马开发的一套新的工作流框架,支持了cmmn引擎以及dmn引擎。重构了Activiti的源码,使Flowable的性能更加的流畅。课程可以让...

    Activiti(Flowable) 流程实例克隆解决方案1

    Activiti(Flowable) 流程实例克隆解决方案1

    springboot-flowable-modeler快速开发工作流, 在线流程设计器

    Flowable是一款开源的工作流引擎,它提供了强大的流程定义、执行和监控能力,而SpringBoot则是一个轻量级的Java应用框架,使得快速开发变得更加简单。结合两者,我们可以构建出一个在线的流程设计器,便于业务人员...

    Flowable-BPMN操作流程部署启动源码

    Flowable是一款强大的、开源的工作流引擎,它基于BPMN 2.0标准,能够帮助企业或组织实现业务流程自动化。BPMN(Business Process Modeling Notation)是一种图形化表示业务流程的方法,它提供了丰富的符号来描绘各种...

    SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化项目

    SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解) 博客地址:https://yangyongli.blog.csdn.net/article/details/132719594

    activiti画图工具

    Flowable是一款强大的业务流程管理(BPM)和工作流引擎,它在企业级应用中广泛使用,用于自动化工作流程和业务流程。Flowable提供了一套完整的解决方案,包括流程设计、执行、监控和优化。在本话题中,我们将重点...

    Springboot+Flowable 实现工作流开发流程.docx

    在代码中,你可以利用Flowable的API来启动流程实例、查询任务、提交任务以及处理其他与工作流相关的操作。 总的来说,SpringBoot结合Flowable提供了一种高效且灵活的方式来实现业务流程自动化。通过理解Flowable UI...

    flowable-engine-flowable-6.7.2.tar.gz

    Flowable是一款开源的工作流引擎,它提供了业务流程管理和动态表单的功能,广泛应用于企业级应用开发。Flowable Engine 6.7.2是该引擎的一个版本,包含了对流程定义、执行、监控等全面的支持。 在Flowable Engine ...

    spring-cloud 集成 flowable 工作流

    本教程将深入探讨如何在基于Spring Cloud的微服务架构中集成Flowable工作流引擎,提升系统的流程管理能力。 首先,Spring Cloud是构建分布式系统的一系列工具集,包括服务发现、配置管理、熔断机制等,它为微服务...

    vue使用flowable绘制流程图.docx

    在Vue项目中使用Flowable来绘制流程图,可以借助`workflow-bpmn-modeler`这个库,它基于Vue和bpmn.io,为Flowable提供了可视化工作流设计器。 首先,创建一个Vue 2.x项目。确保选择的Vue版本是兼容的,因为`...

    flowable v6.4.2版本中文文档

    Flowable V6.4.2版本是针对企业级工作流管理的一个强大工具,它是一个用Java语言开发的轻量级业务流程引擎。该版本的中文文档对于中国开发者来说尤其重要,因为它提供了详尽的说明,使得理解并使用Flowable变得更加...

    Flowable BPMN 用户手册 (v 6.5.0-SNAPSHOT)

    Flowable是一款开源的业务流程管理(BPM)和工作流系统,适用于企业级应用。它支持BPMN 2.0标准,提供高度灵活和可扩展的框架,用于设计、执行和管理业务流程。 在Java生态系统中,Flowable与其他流行的技术如Spring ...

Global site tag (gtag.js) - Google Analytics