activiti高亮當前節點


有時候爲了方便申請人查看當前流程走到哪個節點,比較直觀的辦法就是高亮當前節點,當然activiti也提供了API供我們調用

生成圖片示例代碼:

public  byte[] generateImage(String processInstanceId){
		  //1.創建核心引擎流程對象processEngine
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
		TaskService taskService = processEngine.getTaskService();
		Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
		//流程定義
		BpmnModel bpmnModel = processEngine.getRepositoryService().getBpmnModel(task.getProcessDefinitionId()); 
		
		//正在活動節點
		List<String> activeActivityIds = processEngine.getRuntimeService().getActiveActivityIds(task.getExecutionId());

		ProcessDiagramGenerator pdg = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator();
		//生成流圖片
        InputStream inputStream = pdg.generateDiagram(bpmnModel, "PNG", activeActivityIds, activeActivityIds,  
        		processEngine.getProcessEngineConfiguration().getActivityFontName(),  
        		processEngine.getProcessEngineConfiguration().getLabelFontName(),  
        		processEngine.getProcessEngineConfiguration().getActivityFontName(),
        		processEngine.getProcessEngineConfiguration().getProcessEngineConfiguration().getClassLoader(), 1.0);  
        try {  
        	//生成本地圖片
        	File file = new File("D:/test.png");
        	FileUtils.copyInputStreamToFile(inputStream, file);
            return IOUtils.toByteArray(inputStream);  
         } catch (Exception e) {  
             throw new RuntimeException("生成流程圖異常!", e);  
         } finally {  
             IOUtils.closeQuietly(inputStream); 
         }  
	}


發佈了44 篇原創文章 · 獲贊 34 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章