validation on submit date
This commit is contained in:
+1
-1
@@ -2020,7 +2020,7 @@ public class Loan extends AbstractPersistable<Long> {
|
|||||||
return this.submittedOnDate == null ? false : (new LocalDate(submittedOnDate)).isAfter(compareDate);
|
return this.submittedOnDate == null ? false : (new LocalDate(submittedOnDate)).isAfter(compareDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
private LocalDate getSubmittedOnDate() {
|
public LocalDate getSubmittedOnDate() {
|
||||||
return (LocalDate) ObjectUtils.defaultIfNull(new LocalDate(this.submittedOnDate), null);
|
return (LocalDate) ObjectUtils.defaultIfNull(new LocalDate(this.submittedOnDate), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-8
@@ -151,14 +151,14 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa
|
|||||||
final LoanProduct loanProduct = this.loanProductRepository.findOne(productId);
|
final LoanProduct loanProduct = this.loanProductRepository.findOne(productId);
|
||||||
if (loanProduct == null) { throw new LoanProductNotFoundException(productId); }
|
if (loanProduct == null) { throw new LoanProductNotFoundException(productId); }
|
||||||
|
|
||||||
validateSubmittedOnDate(command, loanProduct);
|
|
||||||
|
|
||||||
this.loanProductCommandFromApiJsonDeserializer.validateMinMaxConstraints(command.parsedJson(), baseDataValidator, loanProduct);
|
this.loanProductCommandFromApiJsonDeserializer.validateMinMaxConstraints(command.parsedJson(), baseDataValidator, loanProduct);
|
||||||
|
|
||||||
if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException(dataValidationErrors); }
|
if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException(dataValidationErrors); }
|
||||||
|
|
||||||
final Loan newLoanApplication = loanAssembler.assembleFrom(command, currentUser);
|
final Loan newLoanApplication = loanAssembler.assembleFrom(command, currentUser);
|
||||||
|
|
||||||
|
validateSubmittedOnDate(newLoanApplication);
|
||||||
|
|
||||||
final LoanProductRelatedDetail productRelatedDetail = newLoanApplication.repaymentScheduleDetail();
|
final LoanProductRelatedDetail productRelatedDetail = newLoanApplication.repaymentScheduleDetail();
|
||||||
this.fromApiJsonDeserializer.validateLoanTermAndRepaidEveryValues(newLoanApplication.getTermFrequency(), newLoanApplication.getTermPeriodFrequencyType(),
|
this.fromApiJsonDeserializer.validateLoanTermAndRepaidEveryValues(newLoanApplication.getTermFrequency(), newLoanApplication.getTermPeriodFrequencyType(),
|
||||||
productRelatedDetail.getNumberOfRepayments(), productRelatedDetail.getRepayEvery(),
|
productRelatedDetail.getNumberOfRepayments(), productRelatedDetail.getRepayEvery(),
|
||||||
@@ -214,8 +214,6 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa
|
|||||||
|
|
||||||
final Loan existingLoanApplication = retrieveLoanBy(loanId);
|
final Loan existingLoanApplication = retrieveLoanBy(loanId);
|
||||||
|
|
||||||
validateSubmittedOnDate(command, existingLoanApplication.loanProduct());
|
|
||||||
|
|
||||||
if (!existingLoanApplication.isSubmittedAndPendingApproval()) { throw new LoanApplicationNotInSubmittedAndPendingApprovalStateCannotBeModified(
|
if (!existingLoanApplication.isSubmittedAndPendingApproval()) { throw new LoanApplicationNotInSubmittedAndPendingApprovalStateCannotBeModified(
|
||||||
loanId); }
|
loanId); }
|
||||||
|
|
||||||
@@ -246,6 +244,7 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
validateSubmittedOnDate(existingLoanApplication);
|
||||||
// validate min and maximum constraints
|
// validate min and maximum constraints
|
||||||
this.fromApiJsonDeserializer.validateForModify(command.json());
|
this.fromApiJsonDeserializer.validateForModify(command.json());
|
||||||
final LoanProductRelatedDetail productRelatedDetail = existingLoanApplication.repaymentScheduleDetail();
|
final LoanProductRelatedDetail productRelatedDetail = existingLoanApplication.repaymentScheduleDetail();
|
||||||
@@ -545,10 +544,10 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa
|
|||||||
return loan;
|
return loan;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateSubmittedOnDate(final JsonCommand command, final LoanProduct loanProduct) {
|
private void validateSubmittedOnDate(final Loan loan) {
|
||||||
final LocalDate startDate = loanProduct.getStartDate();
|
final LocalDate startDate = loan.loanProduct().getStartDate();
|
||||||
final LocalDate closeDate = loanProduct.getCloseDate();
|
final LocalDate closeDate = loan.loanProduct().getCloseDate();
|
||||||
final LocalDate submittedOnDate = command.localDateValueOfParameterNamed("submittedOnDate");
|
final LocalDate submittedOnDate = loan.getSubmittedOnDate();
|
||||||
|
|
||||||
String defaultUserMessage = "";
|
String defaultUserMessage = "";
|
||||||
if (startDate != null && submittedOnDate.isBefore(startDate)) {
|
if (startDate != null && submittedOnDate.isBefore(startDate)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user