in ddm-bpm-rest/src/main/java/com/epam/digital/data/platform/bpms/rest/service/ProcessInstanceService.java [67:94]
public List<DdmProcessInstanceDto> getProcessInstancesByParams(
ProcessInstanceExtendedQueryDto queryDto, PaginationQueryDto paginationQueryDto) {
log.info("Getting process instances");
var dtos = processInstanceRuntimeService.getProcessInstanceDtos(queryDto, paginationQueryDto);
log.trace("Found {} process instances", dtos.size());
if (dtos.isEmpty()) {
return List.of();
}
var systemVariablesDtos = getSystemVariablesDtos(dtos);
log.trace("Found system variables for {} process instances", systemVariablesDtos.size());
var processDefinitionNames = getProcessDefinitionNames(dtos);
log.trace("Found {} process definition names", processDefinitionNames.size());
var pendingProcessInstanceIds = getProcessInstanceIdsWithPendingTasks(dtos);
log.trace("Found {} pending process instances", pendingProcessInstanceIds.size());
var result = processInstanceMapper.toDdmProcessInstanceDtos(dtos, systemVariablesDtos,
processDefinitionNames, pendingProcessInstanceIds);
if (Objects.nonNull(queryDto.getCustomComparator())) {
result.sort(queryDto.getCustomComparator());
}
log.info("Found {} process instances", dtos.size());
return result;
}