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,
|
||||
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 Long staffId = null;
|
||||
final String accountNo = null;
|
||||
final Long loanId = null;
|
||||
final Long savingsId = null;
|
||||
final Boolean orphansOnly = false;
|
||||
|
||||
return new SearchParameters(sqlSearch, officeId, externalId, displayName, hierarchy, firstname, lastname, offset, maxLimitAllowed,
|
||||
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("lastName") final String lastname, @QueryParam("underHierarchy") final String hierarchy,
|
||||
@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);
|
||||
|
||||
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);
|
||||
|
||||
|
||||
+4
@@ -190,6 +190,10 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
|
||||
if (searchParameters.isScopedByOfficeHierarchy()) {
|
||||
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)) {
|
||||
extraCriteria = extraCriteria.substring(4);
|
||||
|
||||
Reference in New Issue
Block a user