You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by vi...@apache.org on 2020/05/30 05:38:49 UTC
[fineract] branch develop updated: FINERACT-609 TopUp
This is an automated email from the ASF dual-hosted git repository.
vishwasbabu pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new c1ca960 FINERACT-609 TopUp
new 096d842 Merge pull request #924 from percyashu/FINERACT-609
c1ca960 is described below
commit c1ca960acefd7d97e630915b06c6e772d984bd33
Author: percyashu <pe...@gmail.com>
AuthorDate: Fri May 22 11:00:41 2020 +0100
FINERACT-609 TopUp
---
.../service/AccountDetailsReadPlatformService.java | 2 ++
.../AccountDetailsReadPlatformServiceJpaRepositoryImpl.java | 9 ++++++++-
.../loanaccount/service/LoanReadPlatformServiceImpl.java | 10 ++++++----
3 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformService.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformService.java
index 51a6c9b..6e99ff4 100755
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformService.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformService.java
@@ -37,5 +37,7 @@ public interface AccountDetailsReadPlatformService {
public List<LoanAccountSummaryData> retrieveLoanAccountDetailsByGroupIdAndGlimAccountNumber(Long groupId,final String glimAccount);
+ public Collection<LoanAccountSummaryData> retrieveGroupActiveLoanAccountSummary(final Long groupId);
+
AccountSummaryCollectionData retrieveGroupAccountDetails(Long groupId, Long gsimId);
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformServiceJpaRepositoryImpl.java
index 185d96c..ff00b17 100755
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformServiceJpaRepositoryImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountDetailsReadPlatformServiceJpaRepositoryImpl.java
@@ -157,7 +157,8 @@ public class AccountDetailsReadPlatformServiceJpaRepositoryImpl implements Accou
return retrieveLoanAccountDetails(loanWhereClause, new Object[] { groupId, loanOfficerId });
}
- @Override public Collection<LoanAccountSummaryData> retrieveClientActiveLoanAccountSummary(final Long clientId) {
+ @Override
+ public Collection<LoanAccountSummaryData> retrieveClientActiveLoanAccountSummary(final Long clientId) {
final String loanWhereClause = " where l.client_id = ? and l.loan_status_id = 300 ";
return retrieveLoanAccountDetails(loanWhereClause, new Object[] { clientId });
}
@@ -171,6 +172,12 @@ public class AccountDetailsReadPlatformServiceJpaRepositoryImpl implements Accou
return this.jdbcTemplate.query(sql, rm, new Object[]{groupId , glimAccount});
}
+ @Override
+ public Collection<LoanAccountSummaryData> retrieveGroupActiveLoanAccountSummary(final Long groupId) {
+ final String loanWhereClause = " where l.group_id = ? and l.loan_status_id = 300 and l.client_id is null";
+ return retrieveLoanAccountDetails(loanWhereClause, new Object[] { groupId });
+ }
+
private List<LoanAccountSummaryData> retrieveLoanAccountDetails(final String loanwhereClause, final Object[] inputs) {
final LoanAccountSummaryDataMapper rm = new LoanAccountSummaryDataMapper();
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
index dfdc3ec..00c48f6 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
@@ -1428,15 +1428,17 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
}
}
- Collection<LoanAccountSummaryData> clientActiveLoanOptions = null;
- if(loanProduct.canUseForTopup() && clientId != null){
- clientActiveLoanOptions = this.accountDetailsReadPlatformService.retrieveClientActiveLoanAccountSummary(clientId);
+ Collection<LoanAccountSummaryData> activeLoanOptions = null;
+ if(loanProduct.canUseForTopup() && clientId != null) {
+ activeLoanOptions = this.accountDetailsReadPlatformService.retrieveClientActiveLoanAccountSummary(clientId);
+ } else if (loanProduct.canUseForTopup() && groupId != null) {
+ activeLoanOptions = this.accountDetailsReadPlatformService.retrieveGroupActiveLoanAccountSummary(groupId);
}
return LoanAccountData.loanProductWithTemplateDefaults(loanProduct, loanTermFrequencyTypeOptions, repaymentFrequencyTypeOptions,
repaymentFrequencyNthDayTypeOptions, repaymentFrequencyDaysOfWeekTypeOptions, repaymentStrategyOptions,
interestRateFrequencyTypeOptions, amortizationTypeOptions, interestTypeOptions, interestCalculationPeriodTypeOptions,
- fundOptions, chargeOptions, loanPurposeOptions, loanCollateralOptions, loanCycleCounter, clientActiveLoanOptions);
+ fundOptions, chargeOptions, loanPurposeOptions, loanCollateralOptions, loanCycleCounter, activeLoanOptions);
}
@Override