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