FINERACT-2117: Early and late payment - In advance payment strategy: Adjust last, unpaid period

This commit is contained in:
Jose Alberto Hernandez
2024-08-19 13:20:47 +02:00
committed by Adam Saghy
parent 3e923bf483
commit 04533f03c6
9 changed files with 120 additions and 9 deletions
@@ -27,6 +27,7 @@ import java.util.Map;
* <li>RESCHEDULE_NEXT_REPAYMENTS</li>
* <li>REDUCE_NUMBER_OF_INSTALLMENTS</li>
* <li>REDUCE_EMI_AMOUNT</li>
* <li>ADJUST_LAST_UNPAID_PERIOD</li>
* </ul>
*/
@@ -35,7 +36,9 @@ public enum LoanRescheduleStrategyMethod {
INVALID(0, "loanRescheduleStrategyMethod.invalid"), //
RESCHEDULE_NEXT_REPAYMENTS(1, "loanRescheduleStrategyMethod.reschedule.next.repayments"), //
REDUCE_NUMBER_OF_INSTALLMENTS(2, "loanRescheduleStrategyMethod.reduce.number.of.installments"), //
REDUCE_EMI_AMOUNT(3, "loanRescheduleStrategyMethod.reduce.emi.amount");
REDUCE_EMI_AMOUNT(3, "loanRescheduleStrategyMethod.reduce.emi.amount"), //
ADJUST_LAST_UNPAID_PERIOD(4, "loanRescheduleStrategyMethod.adjust.last.unpaid.period"), //
;
private final Integer value;
private final String code;
@@ -159,7 +159,8 @@ public class LoanDropdownReadPlatformServiceImpl implements LoanDropdownReadPlat
return Arrays.asList(rescheduleStrategyType(LoanRescheduleStrategyMethod.REDUCE_EMI_AMOUNT),
rescheduleStrategyType(LoanRescheduleStrategyMethod.REDUCE_NUMBER_OF_INSTALLMENTS),
rescheduleStrategyType(LoanRescheduleStrategyMethod.RESCHEDULE_NEXT_REPAYMENTS));
rescheduleStrategyType(LoanRescheduleStrategyMethod.RESCHEDULE_NEXT_REPAYMENTS),
rescheduleStrategyType(LoanRescheduleStrategyMethod.ADJUST_LAST_UNPAID_PERIOD));
}
@Override
@@ -492,6 +492,9 @@ public final class LoanEnumerations {
case RESCHEDULE_NEXT_REPAYMENTS ->
new EnumOptionData(LoanRescheduleStrategyMethod.RESCHEDULE_NEXT_REPAYMENTS.getValue().longValue(),
LoanRescheduleStrategyMethod.RESCHEDULE_NEXT_REPAYMENTS.getCode(), "Reschedule next repayments");
case ADJUST_LAST_UNPAID_PERIOD ->
new EnumOptionData(LoanRescheduleStrategyMethod.ADJUST_LAST_UNPAID_PERIOD.getValue().longValue(),
LoanRescheduleStrategyMethod.ADJUST_LAST_UNPAID_PERIOD.getCode(), "Adjust last, unpaid period");
default -> new EnumOptionData(LoanRescheduleStrategyMethod.INVALID.getValue().longValue(),
LoanRescheduleStrategyMethod.INVALID.getCode(), "Invalid");
};