List<ProcessInstance> processInstanceList = runtimeService
.createProcessInstanceQuery()
.list();
List<HashMap<String, Object>> collectHashMap = processInstanceList
.stream()
.sorted(Comparator.comparing(ProcessInstance::getStartTime))
.map(p -> {
return new HashMap<String, Object>() {{
put("id", p.getId());
put("name", p.getName());
put("processDefinitionId", p.getProcessDefinitionId());
put("processDefinitionKey", p.getProcessDefinitionKey());
put("startTime", p.getStartTime());
put("processDefinitionVersion", p.getProcessDefinitionVersion());
// 因为PI里没有历史高亮需要的deploymentID和resourceName,所以需要再次查询
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionId(p.getProcessDefinitionId()).singleResult();
put("deploymentId", processDefinition.getDeploymentId());
put("resourceName", processDefinition.getResourceName());
}};
})
.collect(Collectors.toList());
老师,您好!在实现后台接口【流程实例】这一小节,我没有按照课程跟您一样用的新版API,我想练习使用一下旧版API,可是发现旧版API中没有getStatus()这个方法,只有判断isEnded()和isSuspended()这个两个方法,请问老师如果我用旧版API,如何做到和新版一样的获取到流程实例的status这个属性?
从0打造黑马潜力项目作品,掌握新版Activiti7核心+工程化思维。
了解课程