MIFOSX-1914
This commit is contained in:
@@ -12932,7 +12932,7 @@ Request Body:
|
|||||||
"daysInYearType":1,
|
"daysInYearType":1,
|
||||||
"isInterestRecalculationEnabled":"false",
|
"isInterestRecalculationEnabled":"false",
|
||||||
"holdGuaranteeFunds":"false",
|
"holdGuaranteeFunds":"false",
|
||||||
"principalThresholdForLastInstalment":20
|
"principalThresholdForLastInstallment":20
|
||||||
}
|
}
|
||||||
</code>
|
</code>
|
||||||
<code class="method-response">
|
<code class="method-response">
|
||||||
|
|||||||
+1
-1
@@ -82,7 +82,7 @@ public interface LoanProductConstants {
|
|||||||
public static final String minimumGuaranteeFromOwnFundsParamName = "minimumGuaranteeFromOwnFunds";
|
public static final String minimumGuaranteeFromOwnFundsParamName = "minimumGuaranteeFromOwnFunds";
|
||||||
public static final String minimumGuaranteeFromGuarantorParamName = "minimumGuaranteeFromGuarantor";
|
public static final String minimumGuaranteeFromGuarantorParamName = "minimumGuaranteeFromGuarantor";
|
||||||
|
|
||||||
public static final String principalThresholdForLastInstalmentParamName = "principalThresholdForLastInstalment";
|
public static final String principalThresholdForLastInstallmentParamName = "principalThresholdForLastInstallment";
|
||||||
public static final BigDecimal DEFAULT_PRINCIPAL_THRESHOLD_FOR_MULTI_DISBURSE_LOAN = BigDecimal.valueOf(50);
|
public static final BigDecimal DEFAULT_PRINCIPAL_THRESHOLD_FOR_MULTI_DISBURSE_LOAN = BigDecimal.valueOf(50);
|
||||||
public static final BigDecimal DEFAULT_PRINCIPAL_THRESHOLD_FOR_SINGLE_DISBURSE_LOAN = BigDecimal.valueOf(0);
|
public static final BigDecimal DEFAULT_PRINCIPAL_THRESHOLD_FOR_SINGLE_DISBURSE_LOAN = BigDecimal.valueOf(0);
|
||||||
// Fixed installment configuration related
|
// Fixed installment configuration related
|
||||||
|
|||||||
+11
-11
@@ -136,7 +136,7 @@ public class LoanProductData {
|
|||||||
private final Boolean multiDisburseLoan;
|
private final Boolean multiDisburseLoan;
|
||||||
private final Integer maxTrancheCount;
|
private final Integer maxTrancheCount;
|
||||||
private final BigDecimal outstandingLoanBalance;
|
private final BigDecimal outstandingLoanBalance;
|
||||||
private final BigDecimal principalThresholdForLastInstalment;
|
private final BigDecimal principalThresholdForLastInstallment;
|
||||||
|
|
||||||
private final Boolean holdGuaranteeFunds;
|
private final Boolean holdGuaranteeFunds;
|
||||||
private final LoanProductGuaranteeData productGuaranteeData;
|
private final LoanProductGuaranteeData productGuaranteeData;
|
||||||
@@ -191,7 +191,7 @@ public class LoanProductData {
|
|||||||
final BigDecimal outstandingLoanBalance = null;
|
final BigDecimal outstandingLoanBalance = null;
|
||||||
final LoanProductGuaranteeData productGuaranteeData = null;
|
final LoanProductGuaranteeData productGuaranteeData = null;
|
||||||
final Boolean holdGuaranteeFunds = false;
|
final Boolean holdGuaranteeFunds = false;
|
||||||
final BigDecimal principalThresholdForLastInstalment = null;
|
final BigDecimal principalThresholdForLastInstallment = null;
|
||||||
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion = false;
|
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion = false;
|
||||||
|
|
||||||
final EnumOptionData daysInMonthType = null;
|
final EnumOptionData daysInMonthType = null;
|
||||||
@@ -211,7 +211,7 @@ public class LoanProductData {
|
|||||||
interestRateVariations, numberOfRepaymentVariations, multiDisburseLoan, maxTrancheCount, outstandingLoanBalance,
|
interestRateVariations, numberOfRepaymentVariations, multiDisburseLoan, maxTrancheCount, outstandingLoanBalance,
|
||||||
graceOnArrearsAgeing, overdueDaysForNPA, daysInMonthType, daysInYearType, isInterestRecalculationEnabled,
|
graceOnArrearsAgeing, overdueDaysForNPA, daysInMonthType, daysInYearType, isInterestRecalculationEnabled,
|
||||||
interestRecalculationData, minimumDaysBetweenDisbursalAndFirstRepayment, holdGuaranteeFunds, productGuaranteeData,
|
interestRecalculationData, minimumDaysBetweenDisbursalAndFirstRepayment, holdGuaranteeFunds, productGuaranteeData,
|
||||||
principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount,
|
principalThresholdForLastInstallment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount,
|
||||||
installmentAmountInMultiplesOf);
|
installmentAmountInMultiplesOf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -268,7 +268,7 @@ public class LoanProductData {
|
|||||||
final Integer minimumDaysBetweenDisbursalAndFirstRepayment = null;
|
final Integer minimumDaysBetweenDisbursalAndFirstRepayment = null;
|
||||||
final Boolean holdGuaranteeFunds = false;
|
final Boolean holdGuaranteeFunds = false;
|
||||||
final LoanProductGuaranteeData productGuaranteeData = null;
|
final LoanProductGuaranteeData productGuaranteeData = null;
|
||||||
final BigDecimal principalThresholdForLastInstalment = null;
|
final BigDecimal principalThresholdForLastInstallment = null;
|
||||||
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion = false;
|
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion = false;
|
||||||
final boolean canDefineInstallmentAmount = false;
|
final boolean canDefineInstallmentAmount = false;
|
||||||
final Integer installmentAmountInMultiplesOf = null;
|
final Integer installmentAmountInMultiplesOf = null;
|
||||||
@@ -282,7 +282,7 @@ public class LoanProductData {
|
|||||||
interestRateVariations, numberOfRepaymentVariations, multiDisburseLoan, maxTrancheCount, outstandingLoanBalance,
|
interestRateVariations, numberOfRepaymentVariations, multiDisburseLoan, maxTrancheCount, outstandingLoanBalance,
|
||||||
graceOnArrearsAgeing, overdueDaysForNPA, daysInMonthType, daysInYearType, isInterestRecalculationEnabled,
|
graceOnArrearsAgeing, overdueDaysForNPA, daysInMonthType, daysInYearType, isInterestRecalculationEnabled,
|
||||||
interestRecalculationData, minimumDaysBetweenDisbursalAndFirstRepayment, holdGuaranteeFunds, productGuaranteeData,
|
interestRecalculationData, minimumDaysBetweenDisbursalAndFirstRepayment, holdGuaranteeFunds, productGuaranteeData,
|
||||||
principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount,
|
principalThresholdForLastInstallment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount,
|
||||||
installmentAmountInMultiplesOf);
|
installmentAmountInMultiplesOf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,7 +346,7 @@ public class LoanProductData {
|
|||||||
final Integer minimumDaysBetweenDisbursalAndFirstRepayment = null;
|
final Integer minimumDaysBetweenDisbursalAndFirstRepayment = null;
|
||||||
final Boolean holdGuaranteeFunds = false;
|
final Boolean holdGuaranteeFunds = false;
|
||||||
final LoanProductGuaranteeData productGuaranteeData = null;
|
final LoanProductGuaranteeData productGuaranteeData = null;
|
||||||
final BigDecimal principalThresholdForLastInstalment = null;
|
final BigDecimal principalThresholdForLastInstallment = null;
|
||||||
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion = false;
|
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion = false;
|
||||||
final boolean canDefineInstallmentAmount = false;
|
final boolean canDefineInstallmentAmount = false;
|
||||||
final Integer installmentAmountInMultiplesOf = null;
|
final Integer installmentAmountInMultiplesOf = null;
|
||||||
@@ -360,8 +360,8 @@ public class LoanProductData {
|
|||||||
principalVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle,
|
principalVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle,
|
||||||
multiDisburseLoan, maxTrancheCount, outstandingLoanBalance, graceOnArrearsAgeing, overdueDaysForNPA, daysInMonthType,
|
multiDisburseLoan, maxTrancheCount, outstandingLoanBalance, graceOnArrearsAgeing, overdueDaysForNPA, daysInMonthType,
|
||||||
daysInYearType, isInterestRecalculationEnabled, interestRecalculationData, minimumDaysBetweenDisbursalAndFirstRepayment,
|
daysInYearType, isInterestRecalculationEnabled, interestRecalculationData, minimumDaysBetweenDisbursalAndFirstRepayment,
|
||||||
holdGuaranteeFunds, productGuaranteeData, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion,
|
holdGuaranteeFunds, productGuaranteeData, principalThresholdForLastInstallment,
|
||||||
canDefineInstallmentAmount, installmentAmountInMultiplesOf);
|
accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static LoanProductData withAccountingDetails(final LoanProductData productData, final Map<String, Object> accountingMappings,
|
public static LoanProductData withAccountingDetails(final LoanProductData productData, final Map<String, Object> accountingMappings,
|
||||||
@@ -393,7 +393,7 @@ public class LoanProductData {
|
|||||||
final Integer overdueDaysForNPA, final EnumOptionData daysInMonthType, final EnumOptionData daysInYearType,
|
final Integer overdueDaysForNPA, final EnumOptionData daysInMonthType, final EnumOptionData daysInYearType,
|
||||||
final boolean isInterestRecalculationEnabled, final LoanProductInterestRecalculationData interestRecalculationData,
|
final boolean isInterestRecalculationEnabled, final LoanProductInterestRecalculationData interestRecalculationData,
|
||||||
final Integer minimumDaysBetweenDisbursalAndFirstRepayment, boolean holdGuaranteeFunds,
|
final Integer minimumDaysBetweenDisbursalAndFirstRepayment, boolean holdGuaranteeFunds,
|
||||||
final LoanProductGuaranteeData loanProductGuaranteeData, final BigDecimal principalThresholdForLastInstalment,
|
final LoanProductGuaranteeData loanProductGuaranteeData, final BigDecimal principalThresholdForLastInstallment,
|
||||||
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion, boolean canDefineInstallmentAmount,
|
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion, boolean canDefineInstallmentAmount,
|
||||||
Integer installmentAmountInMultiplesOf) {
|
Integer installmentAmountInMultiplesOf) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
@@ -468,7 +468,7 @@ public class LoanProductData {
|
|||||||
this.interestRecalculationData = interestRecalculationData;
|
this.interestRecalculationData = interestRecalculationData;
|
||||||
this.holdGuaranteeFunds = holdGuaranteeFunds;
|
this.holdGuaranteeFunds = holdGuaranteeFunds;
|
||||||
this.productGuaranteeData = loanProductGuaranteeData;
|
this.productGuaranteeData = loanProductGuaranteeData;
|
||||||
this.principalThresholdForLastInstalment = principalThresholdForLastInstalment;
|
this.principalThresholdForLastInstallment = principalThresholdForLastInstallment;
|
||||||
this.accountMovesOutOfNPAOnlyOnArrearsCompletion = accountMovesOutOfNPAOnlyOnArrearsCompletion;
|
this.accountMovesOutOfNPAOnlyOnArrearsCompletion = accountMovesOutOfNPAOnlyOnArrearsCompletion;
|
||||||
|
|
||||||
this.daysInMonthTypeOptions = null;
|
this.daysInMonthTypeOptions = null;
|
||||||
@@ -576,7 +576,7 @@ public class LoanProductData {
|
|||||||
this.interestRecalculationData = productData.interestRecalculationData;
|
this.interestRecalculationData = productData.interestRecalculationData;
|
||||||
this.holdGuaranteeFunds = productData.holdGuaranteeFunds;
|
this.holdGuaranteeFunds = productData.holdGuaranteeFunds;
|
||||||
this.productGuaranteeData = productData.productGuaranteeData;
|
this.productGuaranteeData = productData.productGuaranteeData;
|
||||||
this.principalThresholdForLastInstalment = productData.principalThresholdForLastInstalment;
|
this.principalThresholdForLastInstallment = productData.principalThresholdForLastInstallment;
|
||||||
this.accountMovesOutOfNPAOnlyOnArrearsCompletion = productData.accountMovesOutOfNPAOnlyOnArrearsCompletion;
|
this.accountMovesOutOfNPAOnlyOnArrearsCompletion = productData.accountMovesOutOfNPAOnlyOnArrearsCompletion;
|
||||||
|
|
||||||
this.daysInMonthTypeOptions = daysInMonthTypeOptions;
|
this.daysInMonthTypeOptions = daysInMonthTypeOptions;
|
||||||
|
|||||||
+15
-15
@@ -137,7 +137,7 @@ public class LoanProduct extends AbstractPersistable<Long> {
|
|||||||
private LoanProductGuaranteeDetails loanProductGuaranteeDetails;
|
private LoanProductGuaranteeDetails loanProductGuaranteeDetails;
|
||||||
|
|
||||||
@Column(name = "principal_threshold_for_last_instalment", scale = 2, precision = 5, nullable = false)
|
@Column(name = "principal_threshold_for_last_instalment", scale = 2, precision = 5, nullable = false)
|
||||||
private BigDecimal principalThresholdForLastInstalment;
|
private BigDecimal principalThresholdForLastInstallment;
|
||||||
|
|
||||||
@Column(name = "account_moves_out_of_npa_only_on_arrears_completion")
|
@Column(name = "account_moves_out_of_npa_only_on_arrears_completion")
|
||||||
private boolean accountMovesOutOfNPAOnlyOnArrearsCompletion;
|
private boolean accountMovesOutOfNPAOnlyOnArrearsCompletion;
|
||||||
@@ -237,11 +237,11 @@ public class LoanProduct extends AbstractPersistable<Long> {
|
|||||||
loanProductGuaranteeDetails = LoanProductGuaranteeDetails.createFrom(command);
|
loanProductGuaranteeDetails = LoanProductGuaranteeDetails.createFrom(command);
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal principalThresholdForLastInstalment = command
|
BigDecimal principalThresholdForLastInstallment = command
|
||||||
.bigDecimalValueOfParameterNamed(LoanProductConstants.principalThresholdForLastInstalmentParamName);
|
.bigDecimalValueOfParameterNamed(LoanProductConstants.principalThresholdForLastInstallmentParamName);
|
||||||
|
|
||||||
if (principalThresholdForLastInstalment == null) {
|
if (principalThresholdForLastInstallment == null) {
|
||||||
principalThresholdForLastInstalment = multiDisburseLoan ? LoanProductConstants.DEFAULT_PRINCIPAL_THRESHOLD_FOR_MULTI_DISBURSE_LOAN
|
principalThresholdForLastInstallment = multiDisburseLoan ? LoanProductConstants.DEFAULT_PRINCIPAL_THRESHOLD_FOR_MULTI_DISBURSE_LOAN
|
||||||
: LoanProductConstants.DEFAULT_PRINCIPAL_THRESHOLD_FOR_SINGLE_DISBURSE_LOAN;
|
: LoanProductConstants.DEFAULT_PRINCIPAL_THRESHOLD_FOR_SINGLE_DISBURSE_LOAN;
|
||||||
}
|
}
|
||||||
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion = command
|
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion = command
|
||||||
@@ -258,7 +258,7 @@ public class LoanProduct extends AbstractPersistable<Long> {
|
|||||||
startDate, closeDate, externalId, useBorrowerCycle, loanProductBorrowerCycleVariations, multiDisburseLoan, maxTrancheCount,
|
startDate, closeDate, externalId, useBorrowerCycle, loanProductBorrowerCycleVariations, multiDisburseLoan, maxTrancheCount,
|
||||||
outstandingLoanBalance, graceOnArrearsAgeing, overdueDaysForNPA, daysInMonthType, daysInYearType,
|
outstandingLoanBalance, graceOnArrearsAgeing, overdueDaysForNPA, daysInMonthType, daysInYearType,
|
||||||
isInterestRecalculationEnabled, interestRecalculationSettings, minimumDaysBetweenDisbursalAndFirstRepayment,
|
isInterestRecalculationEnabled, interestRecalculationSettings, minimumDaysBetweenDisbursalAndFirstRepayment,
|
||||||
holdGuarantorFunds, loanProductGuaranteeDetails, principalThresholdForLastInstalment,
|
holdGuarantorFunds, loanProductGuaranteeDetails, principalThresholdForLastInstallment,
|
||||||
accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineEmiAmount, installmentAmountInMultiplesOf);
|
accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineEmiAmount, installmentAmountInMultiplesOf);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -484,7 +484,7 @@ public class LoanProduct extends AbstractPersistable<Long> {
|
|||||||
final boolean isInterestRecalculationEnabled,
|
final boolean isInterestRecalculationEnabled,
|
||||||
final LoanProductInterestRecalculationDetails productInterestRecalculationDetails,
|
final LoanProductInterestRecalculationDetails productInterestRecalculationDetails,
|
||||||
final Integer minimumDaysBetweenDisbursalAndFirstRepayment, final boolean holdGuarantorFunds,
|
final Integer minimumDaysBetweenDisbursalAndFirstRepayment, final boolean holdGuarantorFunds,
|
||||||
final LoanProductGuaranteeDetails loanProductGuaranteeDetails, final BigDecimal principalThresholdForLastInstalment,
|
final LoanProductGuaranteeDetails loanProductGuaranteeDetails, final BigDecimal principalThresholdForLastInstallment,
|
||||||
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion, final boolean canDefineEmiAmount,
|
final boolean accountMovesOutOfNPAOnlyOnArrearsCompletion, final boolean canDefineEmiAmount,
|
||||||
final Integer installmentAmountInMultiplesOf) {
|
final Integer installmentAmountInMultiplesOf) {
|
||||||
this.fund = fund;
|
this.fund = fund;
|
||||||
@@ -538,7 +538,7 @@ public class LoanProduct extends AbstractPersistable<Long> {
|
|||||||
this.minimumDaysBetweenDisbursalAndFirstRepayment = minimumDaysBetweenDisbursalAndFirstRepayment;
|
this.minimumDaysBetweenDisbursalAndFirstRepayment = minimumDaysBetweenDisbursalAndFirstRepayment;
|
||||||
this.holdGuaranteeFunds = holdGuarantorFunds;
|
this.holdGuaranteeFunds = holdGuarantorFunds;
|
||||||
this.loanProductGuaranteeDetails = loanProductGuaranteeDetails;
|
this.loanProductGuaranteeDetails = loanProductGuaranteeDetails;
|
||||||
this.principalThresholdForLastInstalment = principalThresholdForLastInstalment;
|
this.principalThresholdForLastInstallment = principalThresholdForLastInstallment;
|
||||||
this.accountMovesOutOfNPAOnlyOnArrearsCompletion = accountMovesOutOfNPAOnlyOnArrearsCompletion;
|
this.accountMovesOutOfNPAOnlyOnArrearsCompletion = accountMovesOutOfNPAOnlyOnArrearsCompletion;
|
||||||
this.canDefineInstallmentAmount = canDefineEmiAmount;
|
this.canDefineInstallmentAmount = canDefineEmiAmount;
|
||||||
this.installmentAmountInMultiplesOf = installmentAmountInMultiplesOf;
|
this.installmentAmountInMultiplesOf = installmentAmountInMultiplesOf;
|
||||||
@@ -769,12 +769,12 @@ public class LoanProduct extends AbstractPersistable<Long> {
|
|||||||
this.loanProductGuaranteeDetails.update(command, actualChanges);
|
this.loanProductGuaranteeDetails.update(command, actualChanges);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command.isChangeInBigDecimalParameterNamed(LoanProductConstants.principalThresholdForLastInstalmentParamName,
|
if (command.isChangeInBigDecimalParameterNamed(LoanProductConstants.principalThresholdForLastInstallmentParamName,
|
||||||
this.principalThresholdForLastInstalment)) {
|
this.principalThresholdForLastInstallment)) {
|
||||||
BigDecimal newValue = command
|
BigDecimal newValue = command
|
||||||
.bigDecimalValueOfParameterNamed(LoanProductConstants.principalThresholdForLastInstalmentParamName);
|
.bigDecimalValueOfParameterNamed(LoanProductConstants.principalThresholdForLastInstallmentParamName);
|
||||||
actualChanges.put(LoanProductConstants.principalThresholdForLastInstalmentParamName, newValue);
|
actualChanges.put(LoanProductConstants.principalThresholdForLastInstallmentParamName, newValue);
|
||||||
this.principalThresholdForLastInstalment = newValue;
|
this.principalThresholdForLastInstallment = newValue;
|
||||||
}
|
}
|
||||||
if (command.isChangeInBooleanParameterNamed(LoanProductConstants.accountMovesOutOfNPAOnlyOnArrearsCompletionParamName,
|
if (command.isChangeInBooleanParameterNamed(LoanProductConstants.accountMovesOutOfNPAOnlyOnArrearsCompletionParamName,
|
||||||
this.accountMovesOutOfNPAOnlyOnArrearsCompletion)) {
|
this.accountMovesOutOfNPAOnlyOnArrearsCompletion)) {
|
||||||
@@ -1049,8 +1049,8 @@ public class LoanProduct extends AbstractPersistable<Long> {
|
|||||||
return this.shortName;
|
return this.shortName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getPrincipalThresholdForLastInstalment() {
|
public BigDecimal getPrincipalThresholdForLastInstallment() {
|
||||||
return this.principalThresholdForLastInstalment;
|
return this.principalThresholdForLastInstallment;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isArrearsBasedOnOriginalSchedule() {
|
public boolean isArrearsBasedOnOriginalSchedule() {
|
||||||
|
|||||||
+10
-10
@@ -74,7 +74,7 @@ public final class LoanProductDataValidator {
|
|||||||
LoanProductConstants.isArrearsBasedOnOriginalScheduleParamName,
|
LoanProductConstants.isArrearsBasedOnOriginalScheduleParamName,
|
||||||
LoanProductConstants.minimumDaysBetweenDisbursalAndFirstRepayment, LoanProductConstants.mandatoryGuaranteeParamName,
|
LoanProductConstants.minimumDaysBetweenDisbursalAndFirstRepayment, LoanProductConstants.mandatoryGuaranteeParamName,
|
||||||
LoanProductConstants.holdGuaranteeFundsParamName, LoanProductConstants.minimumGuaranteeFromGuarantorParamName,
|
LoanProductConstants.holdGuaranteeFundsParamName, LoanProductConstants.minimumGuaranteeFromGuarantorParamName,
|
||||||
LoanProductConstants.minimumGuaranteeFromOwnFundsParamName, LoanProductConstants.principalThresholdForLastInstalmentParamName,
|
LoanProductConstants.minimumGuaranteeFromOwnFundsParamName, LoanProductConstants.principalThresholdForLastInstallmentParamName,
|
||||||
LoanProductConstants.accountMovesOutOfNPAOnlyOnArrearsCompletionParamName, LoanProductConstants.canDefineEmiAmountParamName,
|
LoanProductConstants.accountMovesOutOfNPAOnlyOnArrearsCompletionParamName, LoanProductConstants.canDefineEmiAmountParamName,
|
||||||
LoanProductConstants.installmentAmountInMultiplesOfParamName));
|
LoanProductConstants.installmentAmountInMultiplesOfParamName));
|
||||||
|
|
||||||
@@ -335,10 +335,10 @@ public final class LoanProductDataValidator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal principalThresholdForLastInstalment = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(
|
BigDecimal principalThresholdForLastInstallment = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(
|
||||||
LoanProductConstants.principalThresholdForLastInstalmentParamName, element);
|
LoanProductConstants.principalThresholdForLastInstallmentParamName, element);
|
||||||
baseDataValidator.reset().parameter(LoanProductConstants.principalThresholdForLastInstalmentParamName)
|
baseDataValidator.reset().parameter(LoanProductConstants.principalThresholdForLastInstallmentParamName)
|
||||||
.value(principalThresholdForLastInstalment).notLessThanMin(BigDecimal.ZERO).notGreaterThanMax(BigDecimal.valueOf(100));
|
.value(principalThresholdForLastInstallment).notLessThanMin(BigDecimal.ZERO).notGreaterThanMax(BigDecimal.valueOf(100));
|
||||||
if (this.fromApiJsonHelper.parameterExists(LoanProductConstants.canDefineEmiAmountParamName, element)) {
|
if (this.fromApiJsonHelper.parameterExists(LoanProductConstants.canDefineEmiAmountParamName, element)) {
|
||||||
final Boolean canDefineInstallmentAmount = this.fromApiJsonHelper.extractBooleanNamed(
|
final Boolean canDefineInstallmentAmount = this.fromApiJsonHelper.extractBooleanNamed(
|
||||||
LoanProductConstants.canDefineEmiAmountParamName, element);
|
LoanProductConstants.canDefineEmiAmountParamName, element);
|
||||||
@@ -789,11 +789,11 @@ public final class LoanProductDataValidator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.fromApiJsonHelper.parameterExists(LoanProductConstants.principalThresholdForLastInstalmentParamName, element)) {
|
if (this.fromApiJsonHelper.parameterExists(LoanProductConstants.principalThresholdForLastInstallmentParamName, element)) {
|
||||||
BigDecimal principalThresholdForLastInstalment = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(
|
BigDecimal principalThresholdForLastInstallment = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(
|
||||||
LoanProductConstants.principalThresholdForLastInstalmentParamName, element);
|
LoanProductConstants.principalThresholdForLastInstallmentParamName, element);
|
||||||
baseDataValidator.reset().parameter(LoanProductConstants.principalThresholdForLastInstalmentParamName)
|
baseDataValidator.reset().parameter(LoanProductConstants.principalThresholdForLastInstallmentParamName)
|
||||||
.value(principalThresholdForLastInstalment).notNull().notLessThanMin(BigDecimal.ZERO)
|
.value(principalThresholdForLastInstallment).notNull().notLessThanMin(BigDecimal.ZERO)
|
||||||
.notGreaterThanMax(BigDecimal.valueOf(100));
|
.notGreaterThanMax(BigDecimal.valueOf(100));
|
||||||
}
|
}
|
||||||
if (this.fromApiJsonHelper.parameterExists(LoanProductConstants.canDefineEmiAmountParamName, element)) {
|
if (this.fromApiJsonHelper.parameterExists(LoanProductConstants.canDefineEmiAmountParamName, element)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user