public List getProcessInstancesByParams()

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;
  }