You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ad...@apache.org on 2025/10/29 13:00:29 UTC
(fineract) 03/37: FINERACT-2389: Fix related installment query
This is an automated email from the ASF dual-hosted git repository.
adamsaghy pushed a commit to branch release/1.13.1
in repository https://gitbox.apache.org/repos/asf/fineract.git
commit ffa1a974a22a7e0b81acbb6c3918e96de189bc5b
Author: Adam Saghy <ad...@gmail.com>
AuthorDate: Thu Oct 16 19:00:12 2025 +0200
FINERACT-2389: Fix related installment query
---
.../java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java | 4 +++-
.../loanaccount/domain/LoanRepaymentScheduleInstallment.java | 5 +++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
index 03b1794faf..0054f3de3e 100644
--- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
+++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
@@ -1411,7 +1411,9 @@ public class Loan extends AbstractAuditableWithUTCDateTimeCustom<Long> {
* @return a schedule installment is related to the provided date
**/
public LoanRepaymentScheduleInstallment getRelatedRepaymentScheduleInstallment(LocalDate date) {
- return getRepaymentScheduleInstallment(e -> DateUtils.isDateInRangeFromExclusiveToInclusive(date, e.getFromDate(), e.getDueDate()));
+ return getRepaymentScheduleInstallment(
+ e -> (e.isFirstNormalInstallment() && DateUtils.isDateInRangeInclusive(date, e.getFromDate(), e.getDueDate()))
+ || DateUtils.isDateInRangeFromExclusiveToInclusive(date, e.getFromDate(), e.getDueDate()));
}
public LoanRepaymentScheduleInstallment fetchRepaymentScheduleInstallment(final Integer installmentNumber) {
diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepaymentScheduleInstallment.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepaymentScheduleInstallment.java
index 94d6dd3151..52e8dd8982 100644
--- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepaymentScheduleInstallment.java
+++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepaymentScheduleInstallment.java
@@ -1215,4 +1215,9 @@ public class LoanRepaymentScheduleInstallment extends AbstractAuditableWithUTCDa
}
return value.setScale(6, MoneyHelper.getRoundingMode());
}
+
+ public boolean isFirstNormalInstallment() {
+ return loan.getRepaymentScheduleInstallments().stream().filter(rp -> !rp.isDownPayment()).findFirst().stream()
+ .anyMatch(rp -> rp.equals(this));
+ }
}