adamsaghy commented on code in PR #3808:
URL: https://github.com/apache/fineract/pull/3808#discussion_r1531763648


##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultScheduledDateGenerator.java:
##########
@@ -46,17 +45,26 @@ public LocalDate getLastRepaymentDate(final 
LoanApplicationTerms loanApplication
 
         final int numberOfRepayments = 
loanApplicationTerms.getNumberOfRepayments();
 
-        RepaymentStartDateType repaymentStartDateType = 
loanApplicationTerms.getRepaymentStartDateType();
+        LocalDate lastRepaymentDate = 
loanApplicationTerms.getRepaymentStartDate();
+        final LocalDate maxDateForFixedLength = 
loanApplicationTerms.calculateMaxDateForFixedLength();
+        log.info("maxDateForFixedLength {}", maxDateForFixedLength);
 
-        LocalDate lastRepaymentDate = 
RepaymentStartDateType.DISBURSEMENT_DATE.equals(repaymentStartDateType)
-                ? loanApplicationTerms.getExpectedDisbursementDate()
-                : loanApplicationTerms.getSubmittedOnDate();
         boolean isFirstRepayment = true;
         for (int repaymentPeriod = 1; repaymentPeriod <= numberOfRepayments; 
repaymentPeriod++) {
             lastRepaymentDate = generateNextRepaymentDate(lastRepaymentDate, 
loanApplicationTerms, isFirstRepayment);
             isFirstRepayment = false;
+            // Fixed Length validation - When the Number of Repayments is 
greater than Fixed Length
+            if (maxDateForFixedLength != null && 
DateUtils.isAfter(lastRepaymentDate, maxDateForFixedLength)) {
+                lastRepaymentDate = maxDateForFixedLength;
+                break;
+            }
         }
         lastRepaymentDate = adjustRepaymentDate(lastRepaymentDate, 
loanApplicationTerms, holidayDetailDTO).getChangedScheduleDate();
+        // Fixed Length validation - When the Number of Repayments is lower 
than Fixed Length
+        if (maxDateForFixedLength != null && 
DateUtils.isAfter(maxDateForFixedLength, lastRepaymentDate)) {
+            lastRepaymentDate = maxDateForFixedLength;
+        }
+        log.info("lastRepaymentDate {}", lastRepaymentDate);

Review Comment:
   Please remove the info logger



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to