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

摘要:
/***从fhadmin获取当前任务流图片*@paramPROC_ INST_ ID_进程实例ID*@的输入流。cn*/publicInputStreamgenProcessDiagram(StringPROC_INST_ID_,Stringtype){/*获取活动节点*/StringprocessDefinitionId=“”;if(this.isFinished(PROC_INST-ID
/**
     * 获取当前任务流程图片的输入流
     * @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;
     }

 ------------------------------------fhadmin.cn------------------------------自定义表单
28. 定义模版:拖拽左侧表单元素到右侧区域,编辑表单元素,保存表单模版
29. 表单模版:编辑维护表单模版,复制表单模版,修改模版类型,预览表单模版
30. 我的表单:选择表单模版,编辑表单规则,是否上传图片、附件、开启富文本、挂靠流程开关等
31. 表单数据:从我的表单进去可增删改查表单数据,修改表单规则
32. 挂靠记录:记录表单数据和流程实例ID关联记录,可删除

免责声明:文章转载自《flowable 获取当前任务流程图片的输入流》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#显示和隐藏鼠标通过url 下载文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Visual studio之C#实现数字输入模拟键盘

所以我想自己实现软键盘。这篇文章是来做记录的。在Load event表单中,添加所有标签控件的click event mybutton _ clicked,privatevoidlazerctrl _ Load{//注册键盘,单击事件keyb1。单击+=newEventHandler;keyb2。单击+=newEventHandler,keyb3。单击++=...

【JVM】元空间详解 Metaspace

nocs。JpgNoKlassisMetaspaceNoKlassinMetaspaces专用于存储其他与klass相关的内容,如方法、常量池等。它可以由多个不连续的存储器组成。在元空间GC之后,还将调整阈值。默认情况下,MaxMetaspaceSize基本上是无限的,因为大多数元空间都是在本地内存中分配的,但它仍然受到本地内存大小的限制。为了防止元空间的无...

Linux cat查看文件,查找关键字(grep),统计(wc -l)

######cat搜索关键字的语法:cat file | grep keyword | wc lcat/proc/meminfo | grepSwap | wc-l#######Linux系统中wc命令的功能是统计指定文件中的字节、单词和行数,并显示和输出统计结果。如果没有给出文件名,则从标准输入中读取。wc还提供指定文件的总统计数。此标志不能与-c标志一起...

最新版Swagger 3升级指南和新功能体验!

因此,本期将为您带来一篇关于Swagger最新版本的文章。本文将向您展示Swagger最新版本的变化?如何将旧版本的Swagger升级到新版本?Swagger是一个用于生成、描述和调用RESTful接口的Web服务。Swagger 2.9.2的使用分为以下四个步骤:添加依赖项、启用Swagger功能、配置Swagger文档摘要信息和调用接口访问。让我们分别来...

某音乐平台付费音乐破解

前三个字节是ID3,这个是MP3文件格式的头部0x04保存.mp3格式即可...

Gidot TypeSetter (排版助手) 3.1.1.2

我们来看看:打开排版助手,可以看到常用的排版功能按钮排列在五个菜单选项下。图2如果您需要更高级的排版,也可以在界面右上角的“typesetting Widget”中进行设置。例如,如果您选择“网页”功能按钮来导入带有HTML代码的文本,您也可以从排版小部件中删除HTML代码功能。...