Repository: incubator-fineract
Updated Branches:
  refs/heads/develop 91a51698f -> e2b0084c9


FINERACT-182


Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/88942695
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/88942695
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/88942695

Branch: refs/heads/develop
Commit: 8894269543a1aea893b32216952ea366c45ed205
Parents: c31c46b
Author: venkatconflux <[email protected]>
Authored: Thu Jun 23 14:37:37 2016 +0530
Committer: venkatconflux <[email protected]>
Committed: Thu Jun 23 14:37:37 2016 +0530

----------------------------------------------------------------------
 .../integrationtests/ClientLoanIntegrationTest.java     | 12 ++++++------
 .../fineract/portfolio/loanaccount/domain/Loan.java     | 11 +++++++++--
 .../portfolio/loanaccount/domain/LoanCharge.java        |  4 ++++
 3 files changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/88942695/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
 
b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
index 9a241a2..b2a737c 100644
--- 
a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
+++ 
b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
@@ -1890,9 +1890,9 @@ public class ClientLoanIntegrationTest {
         loanCharges = this.loanTransactionHelper.getLoanCharges(loanID);
         validateCharge(flatInstallmentFee, loanCharges, "50", "100.00", 
"50.0", "50.0");
 
-        this.journalEntryHelper.checkJournalEntryForAssetAccount(assetAccount, 
"20 September 2011", new JournalEntry(Float.valueOf("50.0"),
+        this.journalEntryHelper.checkJournalEntryForAssetAccount(assetAccount, 
"20 November 2011", new JournalEntry(Float.valueOf("50.0"),
                 JournalEntry.TransactionType.CREDIT));
-        
this.journalEntryHelper.checkJournalEntryForExpenseAccount(expenseAccount, "20 
September 2011",
+        
this.journalEntryHelper.checkJournalEntryForExpenseAccount(expenseAccount, "20 
November 2011",
                 new JournalEntry(Float.valueOf("50.0"), 
JournalEntry.TransactionType.DEBIT));
 
         System.out.println("----------Make repayment 2------------");
@@ -2079,9 +2079,9 @@ public class ClientLoanIntegrationTest {
         loanCharges = this.loanTransactionHelper.getLoanCharges(loanID);
         validateCharge(percentageInstallmentFee, loanCharges, "1", "61.19", 
"29.11", "29.70");
 
-        this.journalEntryHelper.checkJournalEntryForAssetAccount(assetAccount, 
"20 September 2011", new JournalEntry(Float.valueOf("29.7"),
+        this.journalEntryHelper.checkJournalEntryForAssetAccount(assetAccount, 
"20 November 2011", new JournalEntry(Float.valueOf("29.7"),
                 JournalEntry.TransactionType.CREDIT));
-        
this.journalEntryHelper.checkJournalEntryForExpenseAccount(expenseAccount, "20 
September 2011",
+        
this.journalEntryHelper.checkJournalEntryForExpenseAccount(expenseAccount, "20 
November 2011",
                 new JournalEntry(Float.valueOf("29.7"), 
JournalEntry.TransactionType.DEBIT));
 
         System.out.println("----------Make repayment 2------------");
@@ -2280,9 +2280,9 @@ public class ClientLoanIntegrationTest {
         loanCharges = this.loanTransactionHelper.getLoanCharges(loanID);
         validateCharge(amountPlusInterestPercentageInstallmentFee, 
loanCharges, "1", "63.02", "31.51", "31.51");
 
-        this.journalEntryHelper.checkJournalEntryForAssetAccount(assetAccount, 
"20 September 2011", new JournalEntry(
+        this.journalEntryHelper.checkJournalEntryForAssetAccount(assetAccount, 
"20 November 2011", new JournalEntry(
                 Float.valueOf("31.51"), JournalEntry.TransactionType.CREDIT));
-        
this.journalEntryHelper.checkJournalEntryForExpenseAccount(expenseAccount, "20 
September 2011",
+        
this.journalEntryHelper.checkJournalEntryForExpenseAccount(expenseAccount, "20 
November 2011",
                 new JournalEntry(Float.valueOf("31.51"), 
JournalEntry.TransactionType.DEBIT));
 
         System.out.println("----------Make repayment 2------------");

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/88942695/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
index e0428b0..f55111e 100755
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
@@ -972,9 +972,16 @@ public class Loan extends AbstractPersistable<Long> {
         }
 
         LocalDate transactionDate = getDisbursementDate();
-        if (loanCharge.isSpecifiedDueDate()) {
-            transactionDate = loanCharge.getDueLocalDate();
+        if (loanCharge.isDueDateCharge()) {
+            if 
(loanCharge.getDueLocalDate().isAfter(DateUtils.getLocalDateOfTenant())) {
+                transactionDate = DateUtils.getLocalDateOfTenant();
+            } else {
+                transactionDate = loanCharge.getDueLocalDate();
+            }
+        }else if(loanCharge.isInstalmentFee()){
+            transactionDate = 
loanCharge.getInstallmentLoanCharge(loanInstallmentNumber).getRepaymentInstallment().getDueDate();
         }
+        
         scheduleGeneratorDTO.setRecalculateFrom(transactionDate);
 
         
updateSummaryWithTotalFeeChargesDueAtDisbursement(deriveSumTotalOfChargesDueAtDisbursement());

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/88942695/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanCharge.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanCharge.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanCharge.java
index ee2c382..0c0bcbf 100755
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanCharge.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanCharge.java
@@ -987,4 +987,8 @@ public class LoanCharge extends AbstractPersistable<Long> {
     public boolean isTrancheDisbursementCharge() {
         return 
ChargeTimeType.fromInt(this.chargeTime).equals(ChargeTimeType.TRANCHE_DISBURSEMENT);
     }
+    
+    public boolean isDueDateCharge() {
+        return this.dueDate != null;
+    }
 }
\ No newline at end of file

Reply via email to