public EmployeePage findEmployees()

in service/src/main/java/org/apache/fineract/cn/office/internal/service/EmployeeService.java [81:109]


  public EmployeePage findEmployees(final String term, final String officeIdentifier, final Pageable pageRequest) {

    final Page<EmployeeEntity> employeeEntityPage;
    if (term != null) {
      employeeEntityPage = this.employeeRepository.findByIdentifierContaining(term, pageRequest);
    } else if (officeIdentifier != null) {
      final OfficeEntity officeEntity = this.officeRepository.findByIdentifier(officeIdentifier)
          .orElseThrow(() -> ServiceException.notFound("Office {0} not found.", officeIdentifier));
      employeeEntityPage = this.employeeRepository.findByAssignedOffice(officeEntity, pageRequest);
    } else {
      employeeEntityPage = this.employeeRepository.findAll(pageRequest);
    }

    final EmployeePage employeePage = new EmployeePage();
    employeePage.setTotalPages(employeeEntityPage.getTotalPages());
    employeePage.setTotalElements(employeeEntityPage.getTotalElements());

    final List<Employee> employees = new ArrayList<>();
    employeePage.setEmployees(employees);
    employeeEntityPage.forEach(employeeEntity -> {
      final Employee employee = EmployeeMapper.map(employeeEntity);
      employees.add(employee);

      employee.setContactDetails(this.findContactDetailsByEmployee(employeeEntity.getIdentifier()));

    });

    return employeePage;
  }