From 466f3f8b959a61e0b480ed6c7312723d3ed20ecb Mon Sep 17 00:00:00 2001 From: Madhukar Date: Tue, 6 May 2014 18:19:52 +0530 Subject: [PATCH] MIFOSX-281 Add template for recovery payments --- .../loanaccount/api/LoanTransactionsApiResource.java | 2 ++ .../portfolio/loanaccount/domain/Loan.java | 4 ++++ .../portfolio/loanaccount/domain/LoanSummary.java | 4 ++++ .../loanaccount/service/LoanReadPlatformService.java | 2 ++ .../service/LoanReadPlatformServiceImpl.java | 12 ++++++++++++ 5 files changed, 24 insertions(+) diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoanTransactionsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoanTransactionsApiResource.java index 28d51d600..a5f95935d 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoanTransactionsApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoanTransactionsApiResource.java @@ -92,6 +92,8 @@ public class LoanTransactionsApiResource { transactionData = this.loanReadPlatformService.retrieveDisbursalTemplate(loanId, true); } else if(is(commandParam, "disburseToSavings")){ transactionData = this.loanReadPlatformService.retrieveDisbursalTemplate(loanId, false); + } else if(is(commandParam, "recoverypayment")){ + transactionData = this.loanReadPlatformService.retrieveRecoveryPaymentTemplate(loanId); } else { throw new UnrecognizedQueryParamException("command", commandParam); 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 6fbaeb74a..c5005eb64 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 @@ -767,6 +767,10 @@ public class Loan extends AbstractPersistable { } return amount.getAmount(); } + + public BigDecimal getTotalWrittenOff() { + return this.summary.getTotalWrittenOff(); + } /** * @param calculationType diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanSummary.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanSummary.java index ba6d3ad3c..442a99f13 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanSummary.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanSummary.java @@ -282,4 +282,8 @@ public final class LoanSummary { public BigDecimal getTotalPrincipalRepaid() { return this.totalPrincipalRepaid; } + + public BigDecimal getTotalWrittenOff() { + return this.totalWrittenOff; + } } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java index 498e390b4..20e4bf9cb 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java @@ -80,4 +80,6 @@ public interface LoanReadPlatformService { Collection retrieveLoanTermVariations(Long loanId, Integer termType); Collection retriveScheduleAccrualData(); + + LoanTransactionData retrieveRecoveryPaymentTemplate(Long loanId); } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java index b54c57c19..12321a46d 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java @@ -1377,4 +1377,16 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService { } + @Override + public LoanTransactionData retrieveRecoveryPaymentTemplate(Long loanId) { + final Loan loan = this.loanRepository.findOne(loanId); + if (loan == null) { throw new LoanNotFoundException(loanId); } + final LoanTransactionEnumData transactionType = LoanEnumerations.transactionType(LoanTransactionType.RECOVERY_REPAYMENT); + final Collection paymentOptions = this.codeValueReadPlatformService + .retrieveCodeValuesByCode(PaymentDetailConstants.paymentTypeCodeName); + return new LoanTransactionData(null, null, null, transactionType, null, null, null, loan.getTotalWrittenOff(), null, null, null, + null, null, paymentOptions, null, null, null); + + } + } \ No newline at end of file