diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java index 957561652..586342d85 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java @@ -3080,7 +3080,9 @@ public class Loan extends AbstractPersistable { private List retreiveListOfTransactionsPostDisbursement() { final List repaymentsOrWaivers = new ArrayList<>(); for (final LoanTransaction transaction : this.loanTransactions) { - if (!transaction.isDisbursement() && transaction.isNotReversed()) { + if (transaction.isNotReversed() + && !(transaction.isDisbursement() + || transaction.isNonMonetaryTransaction())) { repaymentsOrWaivers.add(transaction); } } @@ -3092,8 +3094,11 @@ public class Loan extends AbstractPersistable { public List retreiveListOfTransactionsPostDisbursementExcludeAccruals() { final List repaymentsOrWaivers = new ArrayList<>(); for (final LoanTransaction transaction : this.loanTransactions) { - if (!transaction.isDisbursement() && transaction.isNotReversed() && !transaction.isAccrual() - && !transaction.isRepaymentAtDisbursement()) { + if (transaction.isNotReversed() + && !(transaction.isDisbursement() + || transaction.isAccrual() + || transaction.isRepaymentAtDisbursement() + || transaction.isNonMonetaryTransaction())) { repaymentsOrWaivers.add(transaction); } } @@ -3105,7 +3110,9 @@ public class Loan extends AbstractPersistable { private List retreiveListOfTransactionsExcludeAccruals() { final List repaymentsOrWaivers = new ArrayList<>(); for (final LoanTransaction transaction : this.loanTransactions) { - if (transaction.isNotReversed() && !transaction.isAccrual()) { + if (transaction.isNotReversed() + && !(transaction.isAccrual() + || transaction.isNonMonetaryTransaction())) { repaymentsOrWaivers.add(transaction); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java index 335f6d9ea..d9ee3e91e 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java @@ -617,6 +617,16 @@ public final class LoanTransaction extends AbstractPersistable { public boolean isAccrual() { return LoanTransactionType.ACCRUAL.equals(getTypeOf()) && isNotReversed(); } + + public boolean isNonMonetaryTransaction(){ + return isNotReversed() + && (LoanTransactionType.CONTRA.equals(getTypeOf()) + || LoanTransactionType.MARKED_FOR_RESCHEDULING.equals(getTypeOf()) + || LoanTransactionType.APPROVE_TRANSFER.equals(getTypeOf()) + || LoanTransactionType.INITIATE_TRANSFER.equals(getTypeOf()) + || LoanTransactionType.REJECT_TRANSFER.equals(getTypeOf()) + || LoanTransactionType.WITHDRAW_TRANSFER.equals(getTypeOf())); + } public void updateOutstandingLoanBalance(BigDecimal outstandingLoanBalance) { this.outstandingLoanBalance = outstandingLoanBalance;