MIFOSX-2035 Added new boolean parameter optionsOnly to retrieve all clients.
This commit is contained in:
+1
-2
@@ -42,14 +42,13 @@ public final class SearchParameters {
|
|||||||
|
|
||||||
public static SearchParameters forClients(final String sqlSearch, final Long officeId, final String externalId,
|
public static SearchParameters forClients(final String sqlSearch, final Long officeId, final String externalId,
|
||||||
final String displayName, final String firstname, final String lastname, final String hierarchy, final Integer offset,
|
final String displayName, final String firstname, final String lastname, final String hierarchy, final Integer offset,
|
||||||
final Integer limit, final String orderBy, final String sortOrder) {
|
final Integer limit, final String orderBy, final String sortOrder, final Boolean orphansOnly) {
|
||||||
|
|
||||||
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
||||||
final Long staffId = null;
|
final Long staffId = null;
|
||||||
final String accountNo = null;
|
final String accountNo = null;
|
||||||
final Long loanId = null;
|
final Long loanId = null;
|
||||||
final Long savingsId = null;
|
final Long savingsId = null;
|
||||||
final Boolean orphansOnly = false;
|
|
||||||
|
|
||||||
return new SearchParameters(sqlSearch, officeId, externalId, displayName, hierarchy, firstname, lastname, offset, maxLimitAllowed,
|
return new SearchParameters(sqlSearch, officeId, externalId, displayName, hierarchy, firstname, lastname, offset, maxLimitAllowed,
|
||||||
orderBy, sortOrder, staffId, accountNo, loanId, savingsId, orphansOnly);
|
orderBy, sortOrder, staffId, accountNo, loanId, savingsId, orphansOnly);
|
||||||
|
|||||||
+3
-2
@@ -114,12 +114,13 @@ public class ClientsApiResource {
|
|||||||
@QueryParam("displayName") final String displayName, @QueryParam("firstName") final String firstname,
|
@QueryParam("displayName") final String displayName, @QueryParam("firstName") final String firstname,
|
||||||
@QueryParam("lastName") final String lastname, @QueryParam("underHierarchy") final String hierarchy,
|
@QueryParam("lastName") final String lastname, @QueryParam("underHierarchy") final String hierarchy,
|
||||||
@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit,
|
@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit,
|
||||||
@QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder) {
|
@QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder,
|
||||||
|
@QueryParam("orphansOnly") final Boolean orphansOnly) {
|
||||||
|
|
||||||
this.context.authenticatedUser().validateHasReadPermission(ClientApiConstants.CLIENT_RESOURCE_NAME);
|
this.context.authenticatedUser().validateHasReadPermission(ClientApiConstants.CLIENT_RESOURCE_NAME);
|
||||||
|
|
||||||
final SearchParameters searchParameters = SearchParameters.forClients(sqlSearch, officeId, externalId, displayName, firstname,
|
final SearchParameters searchParameters = SearchParameters.forClients(sqlSearch, officeId, externalId, displayName, firstname,
|
||||||
lastname, hierarchy, offset, limit, orderBy, sortOrder);
|
lastname, hierarchy, offset, limit, orderBy, sortOrder, orphansOnly);
|
||||||
|
|
||||||
final Page<ClientData> clientData = this.clientReadPlatformService.retrieveAll(searchParameters);
|
final Page<ClientData> clientData = this.clientReadPlatformService.retrieveAll(searchParameters);
|
||||||
|
|
||||||
|
|||||||
+4
@@ -191,6 +191,10 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
|
|||||||
extraCriteria += " and o.hierarchy like " + ApiParameterHelper.sqlEncodeString(searchParameters.getHierarchy() + "%");
|
extraCriteria += " and o.hierarchy like " + ApiParameterHelper.sqlEncodeString(searchParameters.getHierarchy() + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(searchParameters.isOrphansOnly()){
|
||||||
|
extraCriteria += " and c.id NOT IN (select client_id from m_group_client) ";
|
||||||
|
}
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(extraCriteria)) {
|
if (StringUtils.isNotBlank(extraCriteria)) {
|
||||||
extraCriteria = extraCriteria.substring(4);
|
extraCriteria = extraCriteria.substring(4);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user