FINERACT-2232: Capitalized Incomce Adjustment template
This commit is contained in:
committed by
Adam Saghy
parent
f6e24d420a
commit
544607a05a
+1
@@ -175,6 +175,7 @@ public interface LoanApiConstants {
|
||||
String CHARGEBACK_TRANSACTION_COMMAND = "chargeback";
|
||||
String MARK_AS_FRAUD_COMMAND = "markAsFraud";
|
||||
String CAPITALIZED_INCOME_TRANSACTION_COMMAND = "capitalizedIncome";
|
||||
String CAPITALIZED_INCOME_ADJUSTMENT_TRANSACTION_COMMAND = "capitalizedIncomeAdjustment";
|
||||
|
||||
// Data Validator names
|
||||
String LOAN_FRAUD_DATAVALIDATOR_PREFIX = "loans.fraud";
|
||||
|
||||
+1
@@ -54,5 +54,6 @@ public interface LoanTransactionApiConstants {
|
||||
accrualAdjustment, //
|
||||
capitalizedIncome, //
|
||||
capitalizedIncomeAmortization, //
|
||||
capitalizedIncomeAdjustment, //
|
||||
}
|
||||
}
|
||||
|
||||
+30
@@ -313,6 +313,36 @@ public class LoanTransactionData implements Serializable {
|
||||
null, null, outstandingLoanBalance, null, manuallyReversed, ExternalId.empty(), null, loanId);
|
||||
}
|
||||
|
||||
public static LoanTransactionData loanTransactionDataForCreditTemplate(final LoanTransactionEnumData transactionType,
|
||||
final LocalDate transactionDate, final BigDecimal transactionAmount, final Collection<PaymentTypeData> paymentOptions,
|
||||
final CurrencyData currency) {
|
||||
final Long id = null;
|
||||
final Long loanId = null;
|
||||
final ExternalId externalLoanId = ExternalId.empty();
|
||||
final ExternalId externalId = ExternalId.empty();
|
||||
final Long officeId = null;
|
||||
final String officeName = null;
|
||||
final PaymentDetailData paymentDetailData = null;
|
||||
final BigDecimal unrecognizedIncomePortion = null;
|
||||
final BigDecimal principalPortion = null;
|
||||
final BigDecimal interestPortion = null;
|
||||
final BigDecimal feeChargesPortion = null;
|
||||
final BigDecimal penaltyChargesPortion = null;
|
||||
final BigDecimal overpaymentPortion = null;
|
||||
final BigDecimal netDisbursalAmount = null;
|
||||
final BigDecimal fixedEmiAmount = null;
|
||||
final BigDecimal outstandingLoanBalance = null;
|
||||
final AccountTransferData transfer = null;
|
||||
final LocalDate submittedOnDate = null;
|
||||
final LocalDate possibleNextRepaymentDate = null;
|
||||
final boolean manuallyReversed = false;
|
||||
return new LoanTransactionData(id, officeId, officeName, transactionType, paymentDetailData, currency, transactionDate,
|
||||
transactionAmount, netDisbursalAmount, principalPortion, interestPortion, feeChargesPortion, penaltyChargesPortion,
|
||||
overpaymentPortion, unrecognizedIncomePortion, paymentOptions, transfer, externalId, fixedEmiAmount, outstandingLoanBalance,
|
||||
submittedOnDate, manuallyReversed, possibleNextRepaymentDate, loanId, externalLoanId);
|
||||
|
||||
}
|
||||
|
||||
public static LoanTransactionData loanTransactionDataForDisbursalTemplate(final LoanTransactionEnumData transactionType,
|
||||
final LocalDate expectedDisbursedOnLocalDateForTemplate, final BigDecimal disburseAmountForTemplate,
|
||||
final BigDecimal netDisbursalAmount, final Collection<PaymentTypeData> paymentOptions, final BigDecimal retriveLastEmiAmount,
|
||||
|
||||
+4
@@ -650,6 +650,10 @@ public class LoanTransaction extends AbstractAuditableWithUTCDateTimeCustom<Long
|
||||
return LoanTransactionType.CAPITALIZED_INCOME_AMORTIZATION.equals(getTypeOf()) && isNotReversed();
|
||||
}
|
||||
|
||||
public boolean isCapitalizedIncomeAdjustment() {
|
||||
return LoanTransactionType.CAPITALIZED_INCOME_ADJUSTMENT.equals(getTypeOf()) && isNotReversed();
|
||||
}
|
||||
|
||||
public boolean isWaiver() {
|
||||
return isInterestWaiver() || isChargesWaiver();
|
||||
}
|
||||
|
||||
+6
@@ -69,6 +69,7 @@ public enum LoanTransactionType {
|
||||
ACCRUAL_ADJUSTMENT(34, "loanTransactionType.accrualAdjustment"), //
|
||||
CAPITALIZED_INCOME(35, "loanTransactionType.capitalizedIncome"), //
|
||||
CAPITALIZED_INCOME_AMORTIZATION(36, "loanTransactionType.capitalizedIncomeAmortization"), //
|
||||
CAPITALIZED_INCOME_ADJUSTMENT(37, "loanTransactionType.capitalizedIncomeAdjustment"), //
|
||||
;
|
||||
|
||||
private final Integer value;
|
||||
@@ -121,6 +122,7 @@ public enum LoanTransactionType {
|
||||
case 34 -> LoanTransactionType.ACCRUAL_ADJUSTMENT;
|
||||
case 35 -> LoanTransactionType.CAPITALIZED_INCOME;
|
||||
case 36 -> LoanTransactionType.CAPITALIZED_INCOME_AMORTIZATION;
|
||||
case 37 -> LoanTransactionType.CAPITALIZED_INCOME_ADJUSTMENT;
|
||||
default -> LoanTransactionType.INVALID;
|
||||
};
|
||||
}
|
||||
@@ -241,4 +243,8 @@ public enum LoanTransactionType {
|
||||
public boolean isCapitalizedIncome() {
|
||||
return this == LoanTransactionType.CAPITALIZED_INCOME;
|
||||
}
|
||||
|
||||
public boolean isCapitalizedIncomeAdjustment() {
|
||||
return this == LoanTransactionType.CAPITALIZED_INCOME_ADJUSTMENT;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@ public interface LoanReadPlatformService {
|
||||
|
||||
LoanTransactionData retrieveLoanTransactionTemplate(Long loanId);
|
||||
|
||||
LoanTransactionData retrieveLoanTransactionTemplate(Long loanId, LoanTransactionType transactionType);
|
||||
LoanTransactionData retrieveLoanTransactionTemplate(Long loanId, LoanTransactionType transactionType, Long transactionId);
|
||||
|
||||
LoanTransactionData retrieveWaiveInterestDetails(Long loanId);
|
||||
|
||||
|
||||
+3
@@ -330,6 +330,9 @@ public final class LoanEnumerations {
|
||||
case CAPITALIZED_INCOME_AMORTIZATION ->
|
||||
new LoanTransactionEnumData(LoanTransactionType.CAPITALIZED_INCOME_AMORTIZATION.getValue().longValue(),
|
||||
LoanTransactionType.CAPITALIZED_INCOME_AMORTIZATION.getCode(), "Capitalized Income Amortization");
|
||||
case CAPITALIZED_INCOME_ADJUSTMENT ->
|
||||
new LoanTransactionEnumData(LoanTransactionType.CAPITALIZED_INCOME_ADJUSTMENT.getValue().longValue(),
|
||||
LoanTransactionType.CAPITALIZED_INCOME_ADJUSTMENT.getCode(), "Capitalized Income Adjustment");
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user