FINERACT-2326: Loan contract termination same disbursement date
This commit is contained in:
committed by
Adam Saghy
parent
fdb9e5518c
commit
a0b31bbb25
+11
-4
@@ -1410,10 +1410,17 @@ public class Loan extends AbstractAuditableWithUTCDateTimeCustom<Long> {
|
||||
* @param date
|
||||
* @return a schedule installment is related to the provided date
|
||||
**/
|
||||
public LoanRepaymentScheduleInstallment getRelatedRepaymentScheduleInstallment(LocalDate date) {
|
||||
return getRepaymentScheduleInstallment(
|
||||
e -> (e.isFirstNormalInstallment() && DateUtils.isDateInRangeInclusive(date, e.getFromDate(), e.getDueDate()))
|
||||
|| DateUtils.isDateInRangeFromExclusiveToInclusive(date, e.getFromDate(), e.getDueDate()));
|
||||
public LoanRepaymentScheduleInstallment getRelatedRepaymentScheduleInstallment(final LocalDate date) {
|
||||
return getRepaymentScheduleInstallment(e -> (DateUtils.isDateInRangeFromExclusiveToInclusive(date, e.getFromDate(), e.getDueDate())
|
||||
|| (e.isFirstNormalInstallment(getRepaymentScheduleInstallments())
|
||||
&& DateUtils.isDateInRangeInclusive(date, e.getFromDate(), e.getDueDate()))));
|
||||
}
|
||||
|
||||
public List<LoanRepaymentScheduleInstallment> getInstallmentsUpToTransactionDate(final LocalDate transactionDate) {
|
||||
return getRepaymentScheduleInstallments().stream()
|
||||
.filter(i -> (transactionDate.isAfter(i.getFromDate())
|
||||
|| (i.isFirstNormalInstallment(getRepaymentScheduleInstallments()) && !transactionDate.isBefore(i.getFromDate()))))
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
}
|
||||
|
||||
public LoanRepaymentScheduleInstallment fetchRepaymentScheduleInstallment(final Integer installmentNumber) {
|
||||
|
||||
+2
-3
@@ -1216,8 +1216,7 @@ 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));
|
||||
public boolean isFirstNormalInstallment(List<LoanRepaymentScheduleInstallment> installments) {
|
||||
return installments.stream().filter(rp -> !rp.isDownPayment()).findFirst().stream().anyMatch(rp -> rp.equals(this));
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -2255,5 +2255,4 @@ public final class LoanApplicationTerms {
|
||||
public void updateVariationDays(final long daysToAdd) {
|
||||
this.variationDays += daysToAdd;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user