This is an automated email from the ASF dual-hosted git repository.

arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 18697f7cd FINERACT-1971: Properly calculating past due amounts when 
raising a delinquency range change event
18697f7cd is described below

commit 18697f7cd6988e667d84b8e8f207d554ce8b0bba
Author: Arnold Galovics <[email protected]>
AuthorDate: Fri Mar 8 13:48:10 2024 +0100

    FINERACT-1971: Properly calculating past due amounts when raising a 
delinquency range change event
---
 .../loan/LoanDelinquencyRangeChangeBusinessEventSerializer.java    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanDelinquencyRangeChangeBusinessEventSerializer.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanDelinquencyRangeChangeBusinessEventSerializer.java
index 01c7b0166..8c0214873 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanDelinquencyRangeChangeBusinessEventSerializer.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanDelinquencyRangeChangeBusinessEventSerializer.java
@@ -29,6 +29,7 @@ import 
org.apache.fineract.avro.loan.v1.LoanAccountDelinquencyRangeDataV1;
 import org.apache.fineract.avro.loan.v1.LoanAmountDataV1;
 import org.apache.fineract.avro.loan.v1.LoanChargeDataRangeViewV1;
 import org.apache.fineract.avro.loan.v1.LoanInstallmentDelinquencyBucketDataV1;
+import org.apache.fineract.infrastructure.core.service.DateUtils;
 import org.apache.fineract.infrastructure.event.business.domain.BusinessEvent;
 import 
org.apache.fineract.infrastructure.event.business.domain.loan.LoanDelinquencyRangeChangeBusinessEvent;
 import 
org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper;
@@ -114,9 +115,9 @@ public class 
LoanDelinquencyRangeChangeBusinessEventSerializer implements Busine
     }
 
     private BigDecimal calculateDataSummary(Loan loan, BiFunction<Loan, 
LoanRepaymentScheduleInstallment, BigDecimal> mapper) {
-        return 
loan.getRepaymentScheduleInstallments().stream().map(installment -> 
mapper.apply(loan, installment)).reduce(BigDecimal.ZERO,
-                BigDecimal::add);
-
+        return loan.getRepaymentScheduleInstallments().stream()
+                .filter(installment -> 
DateUtils.isBeforeBusinessDate(installment.getDueDate()))
+                .map(installment -> mapper.apply(loan, 
installment)).reduce(BigDecimal.ZERO, BigDecimal::add);
     }
 
     @Override

Reply via email to