工作流实战_11_flowable 流程实例 跟踪流程
生活随笔
收集整理的這篇文章主要介紹了
工作流实战_11_flowable 流程实例 跟踪流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 代碼分支 | flowable-base |
| 視頻講解地址 | https://space.bilibili.com/485524575/channel/detail?cid=94579 |
| 0000001 | test |
| 0000002 | test |
| 0000003 | test |
| 0000004 | test |
文章目錄
- 1. 演示
- 2. 代碼分享
1. 演示
2. 代碼分享
public byte[] createImage(String processInstanceId) {//1.獲取當前的流程實例ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();String processDefinitionId = null;List<String> activeActivityIds = new ArrayList<>();List<String> highLightedFlows = new ArrayList<>();//2.獲取所有的歷史軌跡線對象List<HistoricActivityInstance> historicSquenceFlows = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).activityType(BpmnXMLConstants.ELEMENT_SEQUENCE_FLOW).list();historicSquenceFlows.forEach(historicActivityInstance -> highLightedFlows.add(historicActivityInstance.getActivityId()));//3. 獲取流程定義id和高亮的節點idif (processInstance != null) {//3.1. 正在運行的流程實例processDefinitionId = processInstance.getProcessDefinitionId();activeActivityIds = runtimeService.getActiveActivityIds(processInstanceId);} else {//3.2. 已經結束的流程實例HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();processDefinitionId = historicProcessInstance.getProcessDefinitionId();//3.3. 獲取結束節點列表List<HistoricActivityInstance> historicEnds = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).activityType(BpmnXMLConstants.ELEMENT_EVENT_END).list();List<String> finalActiveActivityIds = activeActivityIds;historicEnds.forEach(historicActivityInstance -> finalActiveActivityIds.add(historicActivityInstance.getActivityId()));}//4. 獲取bpmnModel對象BpmnModel bpmnModel = flowableBpmnModelService.getBpmnModelByProcessDefId(processDefinitionId);//5. 生成圖片流InputStream inputStream = flowProcessDiagramGenerator.generateDiagram(bpmnModel, activeActivityIds, highLightedFlows);//6. 轉化成byte便于網絡傳輸byte[] datas = IoUtil.readInputStream(inputStream, "image inputStream name");return datas;}總結
以上是生活随笔為你收集整理的工作流实战_11_flowable 流程实例 跟踪流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot整合activiti
- 下一篇: Flowable springboot项