Merge pull request #337 from goutham-M/MIFOSX-405
differentiate b/w savings a/c activated/pending(fixed)
This commit is contained in:
+18
@@ -6,6 +6,7 @@
|
||||
package org.mifosplatform.portfolio.client.data;
|
||||
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanStatusEnumData;
|
||||
import org.mifosplatform.portfolio.savings.data.SavingsAccountStatusEnumData;
|
||||
|
||||
/**
|
||||
* Immutable data object for client loan accounts.
|
||||
@@ -25,6 +26,7 @@ public class ClientAccountSummaryData {
|
||||
|
||||
private final Integer accountStatusId;
|
||||
private final LoanStatusEnumData status;
|
||||
private final SavingsAccountStatusEnumData savingAccountStatus;
|
||||
|
||||
public ClientAccountSummaryData(final Long id, final String externalId, final Long productId, final String loanProductName,
|
||||
final Integer loanStatusId) {
|
||||
@@ -35,6 +37,7 @@ public class ClientAccountSummaryData {
|
||||
this.productName = loanProductName;
|
||||
this.accountStatusId = loanStatusId;
|
||||
this.status = null;
|
||||
this.savingAccountStatus = null;
|
||||
}
|
||||
|
||||
public ClientAccountSummaryData(final Long id, final String accountNo, final String externalId, final Long productId,
|
||||
@@ -46,12 +49,27 @@ public class ClientAccountSummaryData {
|
||||
this.productName = loanProductName;
|
||||
this.accountStatusId = null;
|
||||
this.status = loanStatus;
|
||||
this.savingAccountStatus = null;
|
||||
}
|
||||
|
||||
public ClientAccountSummaryData(final Long id, final String accountNo, final String externalId, final Long productId,
|
||||
final String loanProductName, final SavingsAccountStatusEnumData savingAccountStatus) {
|
||||
this.id = id;
|
||||
this.accountNo = accountNo;
|
||||
this.externalId = externalId;
|
||||
this.productId = productId;
|
||||
this.productName = loanProductName;
|
||||
this.accountStatusId = null;
|
||||
this.status = null;
|
||||
this.savingAccountStatus = savingAccountStatus;
|
||||
}
|
||||
|
||||
public Integer accountStatusId() {
|
||||
Integer accountStatus = this.accountStatusId;
|
||||
if (accountStatus == null && this.status != null) {
|
||||
accountStatus = this.status.id().intValue();
|
||||
}else if (accountStatus == null && this.savingAccountStatus != null) {
|
||||
accountStatus = this.savingAccountStatus.id().intValue();
|
||||
}
|
||||
return accountStatus;
|
||||
}
|
||||
|
||||
+20
-5
@@ -31,6 +31,10 @@ import org.mifosplatform.portfolio.group.data.GroupGeneralData;
|
||||
import org.mifosplatform.portfolio.group.service.SearchParameters;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanStatusEnumData;
|
||||
import org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations;
|
||||
import org.mifosplatform.portfolio.savings.data.SavingsAccountStatusEnumData;
|
||||
import org.mifosplatform.portfolio.savings.domain.SavingsAccountStatusType;
|
||||
import org.mifosplatform.portfolio.savings.service.SavingStatusMapper;
|
||||
import org.mifosplatform.portfolio.savings.service.SavingsEnumerations;
|
||||
import org.mifosplatform.useradministration.domain.AppUser;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.dao.EmptyResultDataAccessException;
|
||||
@@ -411,8 +415,18 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
|
||||
final List<ClientAccountSummaryData> savingsAccounts = this.jdbcTemplate.query(savingsSql, savingsAccountSummaryDataMapper,
|
||||
new Object[] { clientId });
|
||||
|
||||
approvedSavingAccounts.addAll(savingsAccounts);
|
||||
if (results != null) {
|
||||
for (ClientAccountSummaryData row : savingsAccounts) {
|
||||
|
||||
SavingStatusMapper statusMapper = new SavingStatusMapper(row.accountStatusId());
|
||||
|
||||
if (statusMapper.isOpen()) {
|
||||
approvedSavingAccounts.add(row);
|
||||
} else {
|
||||
pendingApprovalSavingAccounts.add(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new ClientAccountSummaryCollectionData(pendingApprovalLoans, awaitingDisbursalLoans, openLoans, closedLoans,
|
||||
pendingApprovalDepositAccounts, approvedDepositAccounts, withdrawnByClientDespositAccounts, rejectedDepositAccounts,
|
||||
closedDepositAccounts, preclosedDepositAccounts, maturedDepositAccounts, pendingApprovalSavingAccounts,
|
||||
@@ -446,7 +460,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
|
||||
|
||||
public ClientSavingsAccountSummaryDataMapper() {
|
||||
StringBuilder accountsSummary = new StringBuilder();
|
||||
accountsSummary.append("sa.id as id, sa.account_no as accountNo, sa.external_id as externalId,");
|
||||
accountsSummary.append("sa.id as id, sa.account_no as accountNo, sa.external_id as externalId, sa.status_enum as statusEnum, ");
|
||||
accountsSummary.append("sa.product_id as productId, p.name as productName ");
|
||||
accountsSummary.append("from m_savings_account sa ");
|
||||
accountsSummary.append("join m_savings_product as p on p.id = sa.product_id ");
|
||||
@@ -465,10 +479,11 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
|
||||
final String accountNo = rs.getString("accountNo");
|
||||
final String externalId = rs.getString("externalId");
|
||||
final Long productId = JdbcSupport.getLong(rs, "productId");
|
||||
final String loanProductName = rs.getString("productName");
|
||||
final LoanStatusEnumData loanStatus = null;
|
||||
final String savingsProductName = rs.getString("productName");
|
||||
final Integer statusId = JdbcSupport.getInteger(rs, "statusEnum");
|
||||
final SavingsAccountStatusEnumData savingAccountStatus = SavingsEnumerations.status(statusId);
|
||||
|
||||
return new ClientAccountSummaryData(id, accountNo, externalId, productId, loanProductName, loanStatus);
|
||||
return new ClientAccountSummaryData(id, accountNo, externalId, productId, savingsProductName, savingAccountStatus);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -32,4 +32,8 @@ public class SavingsAccountStatusEnumData {
|
||||
this.active = active;
|
||||
this.closed = closed;
|
||||
}
|
||||
|
||||
public Long id() {
|
||||
return this.id;
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package org.mifosplatform.portfolio.savings.service;
|
||||
|
||||
public class SavingStatusMapper {
|
||||
|
||||
private final Integer statusId;
|
||||
|
||||
public SavingStatusMapper(Integer statusId) {
|
||||
this.statusId = statusId;
|
||||
}
|
||||
|
||||
public boolean isPendingApproval() {
|
||||
return Integer.valueOf(100).equals(statusId);
|
||||
}
|
||||
|
||||
public boolean isOpen() {
|
||||
return Integer.valueOf(300).equals(statusId);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user