From befd953fcf2c1c7bfd8035f93f9ca625c944dfd1 Mon Sep 17 00:00:00 2001 From: sachinkulkarni12 Date: Sun, 30 Aug 2015 16:27:09 +0530 Subject: [PATCH] MIFOSX-1788:Waive interest is not working as expected --- .../loanaccount/domain/LoanTransaction.java | 4 ++++ .../domain/LoanTransactionComparator.java | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) 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 782bef329..43bdc901a 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 @@ -640,6 +640,10 @@ public final class LoanTransaction extends AbstractPersistable { private LocalDate getCreatedDate() { return new LocalDate(this.createdDate); } + + public LocalDateTime getCreatedDateTime() { + return new LocalDateTime(this.createdDate); + } public boolean isLastTransaction(final LoanTransaction loanTransaction) { boolean isLatest = false; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransactionComparator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransactionComparator.java index c6d34c1ce..c9cf2def9 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransactionComparator.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransactionComparator.java @@ -17,13 +17,19 @@ public class LoanTransactionComparator implements Comparator { int compareResult = 0; final int comparsion = o1.getTransactionDate().compareTo(o2.getTransactionDate()); if (comparsion == 0) { + int comparsionCreate = 0; + if (o1.getCreatedDateTime() != null && o2.getCreatedDateTime() != null){ + comparsionCreate = o1.getCreatedDateTime().compareTo(o2.getCreatedDateTime()); + } // equal transaction dates - if (o1.isWaiver() && o2.isNotWaiver()) { - compareResult = -1; - } else if (o1.isNotWaiver() && o2.isWaiver()) { - compareResult = 1; - } else { - compareResult = 0; + if (comparsionCreate == 0) { + if (o1.isWaiver() && o2.isNotWaiver()) { + compareResult = -1; + } else if (o1.isNotWaiver() && o2.isWaiver()) { + compareResult = 1; + } else { + compareResult = 0; + } } } else { compareResult = comparsion;