FINERACT-1573 Credit Balance Refund - cater for cash accounting
This commit is contained in:
committed by
Aleksandar Vidakovic
parent
38ff5dada3
commit
a33c8f9439
+25
@@ -77,6 +77,12 @@ public class CashBasedAccountingProcessorForLoan implements AccountingProcessorF
|
||||
else if (loanTransactionDTO.getTransactionType().isRefund()) {
|
||||
createJournalEntriesForRefund(loanDTO, loanTransactionDTO, office);
|
||||
}
|
||||
|
||||
/** Logic for Credit Balance Refunds **/
|
||||
else if (loanTransactionDTO.getTransactionType().isCreditBalanceRefund()) {
|
||||
createJournalEntriesForCreditBalanceRefund(loanDTO, loanTransactionDTO, office);
|
||||
}
|
||||
|
||||
/***
|
||||
* Only principal write off affects cash based accounting (interest and fee write off need not be
|
||||
* considered). Debit losses written off and credit Loan Portfolio
|
||||
@@ -307,6 +313,25 @@ public class CashBasedAccountingProcessorForLoan implements AccountingProcessorF
|
||||
}
|
||||
}
|
||||
|
||||
private void createJournalEntriesForCreditBalanceRefund(final LoanDTO loanDTO, final LoanTransactionDTO loanTransactionDTO,
|
||||
final Office office) {
|
||||
// loan properties
|
||||
final Long loanProductId = loanDTO.getLoanProductId();
|
||||
final Long loanId = loanDTO.getLoanId();
|
||||
final String currencyCode = loanDTO.getCurrencyCode();
|
||||
|
||||
// transaction properties
|
||||
final String transactionId = loanTransactionDTO.getTransactionId();
|
||||
final Date transactionDate = loanTransactionDTO.getTransactionDate();
|
||||
final BigDecimal refundAmount = loanTransactionDTO.getAmount();
|
||||
final boolean isReversal = loanTransactionDTO.isReversed();
|
||||
final Long paymentTypeId = loanTransactionDTO.getPaymentTypeId();
|
||||
|
||||
this.helper.createCashBasedJournalEntriesAndReversalsForLoan(office, currencyCode, CashAccountsForLoan.LOAN_PORTFOLIO.getValue(),
|
||||
CashAccountsForLoan.OVERPAYMENT.getValue(), loanProductId, paymentTypeId, loanId, transactionId, transactionDate,
|
||||
refundAmount, isReversal);
|
||||
}
|
||||
|
||||
private void createJournalEntriesForRefundForActiveLoan(LoanDTO loanDTO, LoanTransactionDTO loanTransactionDTO, Office office) {
|
||||
// loan properties
|
||||
final Long loanProductId = loanDTO.getLoanProductId();
|
||||
|
||||
Reference in New Issue
Block a user