Activityは、フローチャート、現在のノードのハイライト表示、およびフローインスタンスの履歴アクティビティ情報を取得します.
1490 ワード
@RequestMapping(value = "findPicture")
@ResponseBody
public Map findPicture(String processInstanceId){
Map map=new HashMap();
try {
HistoricProcessInstance historicProcessInstance=historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
BpmnModel bpmnModel=repositoryService.getBpmnModel(historicProcessInstance.getProcessDefinitionId());
List activityIds=new ArrayList<>();
//
if (historicProcessInstance.getEndTime()==null){
//
//
activityIds= runtimeService.getActiveActivityIds(processInstanceId);
}
//
InputStream inputStream=processEngineConfiguration.getProcessDiagramGenerator().generateDiagram(bpmnModel,"png",activityIds);
//
byte[] bytes=IOUtils.toByteArray(inputStream);
String img=new String(Base64.encodeBase64(bytes));
// ,
List list=historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).list();
map.put("success",true);
map.put("data",img);
return map;
} catch (IOException e) {
e.printStackTrace();
}
map.put("success",false);
map.put("data",null);
return map;
}