1. 程式人生 > 其它 >flowable 獲取當前任務流程圖片的輸入流

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; }

------------------------------------fhadmin.cn------------------------------自定義表單
28. 定義模版:拖拽左側表單元素到右側區域,編輯表單元素,儲存表單模版
29. 表單模版:編輯維護表單模版,複製表單模版,修改模版型別,預覽表單模版
30. 我的表單:選擇表單模版,編輯表單規則,是否上傳圖片、附件、開啟富文字、掛靠流程開關等
31. 表單資料:從我的表單進去可增刪改查表單資料,修改表單規則
32. 掛靠記錄:記錄表單資料和流程例項ID關聯記錄,可刪除