in service/src/main/java/org/apache/fineract/cn/deposit/service/internal/command/handler/InterestBearingBalanceCalculator.java [53:75]
public String process(final CalculateIBBCommand calculateIBBCommand) {
final LocalDate dueDate = calculateIBBCommand.dueDate();
//calculate and store ibb for the date-1day
final List<ProductDefinitionEntity> productDefinitions = this.productDefinitionRepository.findAll();
productDefinitions.forEach(productDefinitionEntity -> {
if (this.canFindIBBForProduct(productDefinitionEntity)) {
final List<ProductInstanceEntity> productInstances =
this.productInstanceRepository.findByProductDefinition(productDefinitionEntity);
productInstances.forEach(productInstanceEntity -> {
if (productInstanceEntity.getState().equals(ACTIVE)) {
//get transactions
List<TransactionEntity> transactions = transactionRepository.findByAccountId(productInstanceEntity.getAccountIdentifier());
if(!transactions.isEmpty())
calculateAndSaveIBB(productInstanceEntity, transactions, dueDate);
}
});
}
});
return DateConverter.toIsoString(dueDate);
}