in service/src/main/java/org/apache/fineract/cn/accounting/service/internal/service/AccountService.java [96:124]
public AccountEntryPage fetchAccountEntries(final String identifier,
final DateRange range,
final @Nullable String message,
final Pageable pageable){
final AccountEntity accountEntity = this.accountRepository.findByIdentifier(identifier);
final Page<AccountEntryEntity> accountEntryEntities;
if (message == null) {
accountEntryEntities = this.accountEntryRepository.findByAccountAndTransactionDateBetween(
accountEntity, range.getStartDateTime(), range.getEndDateTime(), pageable);
}
else {
accountEntryEntities = this.accountEntryRepository.findByAccountAndTransactionDateBetweenAndMessageEquals(
accountEntity, range.getStartDateTime(), range.getEndDateTime(), message, pageable);
}
final AccountEntryPage accountEntryPage = new AccountEntryPage();
accountEntryPage.setTotalPages(accountEntryEntities.getTotalPages());
accountEntryPage.setTotalElements(accountEntryEntities.getTotalElements());
if(accountEntryEntities.getSize() > 0){
final List<AccountEntry> accountEntries = new ArrayList<>(accountEntryEntities.getSize());
accountEntryEntities.forEach(accountEntryEntity -> accountEntries.add(AccountEntryMapper.map(accountEntryEntity)));
accountEntryPage.setAccountEntries(accountEntries);
}
return accountEntryPage;
}