From c9e3e06e17d4d5d1fab1c792e3452cae7d6d0ef4 Mon Sep 17 00:00:00 2001 From: ashok-conflux Date: Fri, 19 Jul 2013 13:40:56 +0530 Subject: [PATCH] do not display inactive clients for creating new JLG loans --- .../client/service/ClientReadPlatformService.java | 2 ++ .../service/ClientReadPlatformServiceImpl.java | 14 ++++++++++++++ .../service/LoanReadPlatformServiceImpl.java | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformService.java index b6be73f29..29b15bb45 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformService.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformService.java @@ -32,6 +32,8 @@ public interface ClientReadPlatformService { ClientData retrieveClientByIdentifier(Long identifierTypeId, String identifierKey); Collection retrieveClientMembersOfGroup(Long groupId); + + Collection retrieveActiveClientMembersOfGroup(Long groupId); ClientData retrieveAllClosureReasons(String clientClosureReason); } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java index 4602271c4..6d9ea0746 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java @@ -242,6 +242,20 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService return this.jdbcTemplate.query(sql, this.membersOfGroupMapper, new Object[] { hierarchySearchString, groupId }); } + @Override + public Collection retrieveActiveClientMembersOfGroup(final Long groupId) { + + final AppUser currentUser = context.authenticatedUser(); + final String hierarchy = currentUser.getOffice().getHierarchy(); + final String hierarchySearchString = hierarchy + "%"; + + final String sql = "select " + this.membersOfGroupMapper.schema() + + " where o.hierarchy like ? and pgc.group_id = ? and c.status_enum = ? "; + + return this.jdbcTemplate.query(sql, this.membersOfGroupMapper, + new Object[] { hierarchySearchString, groupId, ClientStatus.ACTIVE.getValue() }); + } + private static final class ClientMembersOfGroupMapper implements RowMapper { private final String schema; 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 9445e383f..5e72fc542 100644 --- 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 @@ -944,7 +944,7 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService { final LocalDate expectedDisbursementDate = DateUtils.getLocalDateOfTenant(); // get group associations - Collection membersOfGroup = this.clientReadPlatformService.retrieveClientMembersOfGroup(groupId); + Collection membersOfGroup = this.clientReadPlatformService.retrieveActiveClientMembersOfGroup(groupId); if (!CollectionUtils.isEmpty(membersOfGroup)) { groupAccount = GroupGeneralData.withAssocations(groupAccount, membersOfGroup, null); }