diff --git a/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java index 1e48bfe4e..4b7fa79a9 100644 --- a/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java +++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java @@ -39,8 +39,6 @@ public interface TellerManagementReadPlatformService { Collection getCashierData(Long officeId, Long tellerId, Long staffId, LocalDate date); - Collection getTellerCashiers(Long tellerId, LocalDate date); - CashierData retrieveCashierTemplate(Long officeId, Long tellerId, boolean staffInSelectedOfficeOnly); CashierTransactionData retrieveCashierTxnTemplate(Long cashierId); @@ -53,13 +51,9 @@ public interface TellerManagementReadPlatformService { Collection fetchTellerJournals(Long tellerId, Long cashierId, LocalDate fromDate, LocalDate toDate); - Collection retrieveAllTellersForDropdown(Long officeId); - - Collection retrieveAllTellers(String sqlSearch, Long officeId, String status); - Collection getCashiersForTeller(Long tellerId, LocalDate fromDate, LocalDate toDate); - Collection retrieveCashiersForTellers(String sqlSearch, Long tellerId); + Collection retrieveCashiersForTellers(Long tellerId); Page retrieveCashierTransactions(Long cashierId, boolean includeAllTellers, LocalDate fromDate, LocalDate toDate, String currencyCode, SearchParameters searchParameters); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/api/EmailApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/api/EmailApiResource.java index d9c9690ba..a202a4132 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/api/EmailApiResource.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/api/EmailApiResource.java @@ -108,12 +108,11 @@ public class EmailApiResource { @GET @Path("messageByStatus") - public String retrieveAllEmailByStatus(@QueryParam("sqlSearch") final String sqlSearch, @QueryParam("offset") final Integer offset, - @QueryParam("limit") final Integer limit, @QueryParam("status") final Integer status, - @QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder, - @QueryParam("fromDate") final DateParam fromDateParam, @QueryParam("toDate") final DateParam toDateParam, - @QueryParam("locale") final String locale, @QueryParam("dateFormat") final String rawDateFormat, - @Context final UriInfo uriInfo) { + public String retrieveAllEmailByStatus(@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit, + @QueryParam("status") final Integer status, @QueryParam("orderBy") final String orderBy, + @QueryParam("sortOrder") final String sortOrder, @QueryParam("fromDate") final DateParam fromDateParam, + @QueryParam("toDate") final DateParam toDateParam, @QueryParam("locale") final String locale, + @QueryParam("dateFormat") final String rawDateFormat, @Context final UriInfo uriInfo) { final DateFormat dateFormat = StringUtils.isBlank(rawDateFormat) ? null : new DateFormat(rawDateFormat); @@ -133,9 +132,8 @@ public class EmailApiResource { @GET @Path("failedEmail") - public String retrieveFailedEmail(@QueryParam("sqlSearch") final String sqlSearch, @QueryParam("offset") final Integer offset, - @QueryParam("limit") final Integer limit, @QueryParam("orderBy") final String orderBy, - @QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) { + public String retrieveFailedEmail(@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit, + @QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) { context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS); diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java index c21b751e8..aa694751a 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java @@ -26,16 +26,13 @@ import java.time.OffsetDateTime; import java.util.Collection; import java.util.Iterator; import lombok.RequiredArgsConstructor; -import org.apache.commons.lang3.StringUtils; import org.apache.fineract.infrastructure.core.domain.JdbcSupport; -import org.apache.fineract.infrastructure.core.exception.UnrecognizedQueryParamException; import org.apache.fineract.infrastructure.core.service.Page; import org.apache.fineract.infrastructure.core.service.PaginationHelper; import org.apache.fineract.infrastructure.core.service.SearchParameters; import org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator; import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext; import org.apache.fineract.infrastructure.security.service.SqlValidator; -import org.apache.fineract.infrastructure.security.utils.ColumnValidator; import org.apache.fineract.organisation.monetary.data.CurrencyData; import org.apache.fineract.organisation.monetary.service.CurrencyReadPlatformService; import org.apache.fineract.organisation.office.data.OfficeData; @@ -64,13 +61,11 @@ public class TellerManagementReadPlatformServiceImpl implements TellerManagement private final JdbcTemplate jdbcTemplate; private final PlatformSecurityContext context; - private final TellerLookupMapper lookupMapper = new TellerLookupMapper(); private final OfficeReadPlatformService officeReadPlatformService; private final StaffReadPlatformService staffReadPlatformService; private final CurrencyReadPlatformService currencyReadPlatformService; private final DatabaseSpecificSQLGenerator sqlGenerator; private final PaginationHelper paginationHelper; - private final ColumnValidator columnValidator; private final SqlValidator sqlValidator; private static final class TellerMapper implements RowMapper { @@ -112,42 +107,6 @@ public class TellerManagementReadPlatformServiceImpl implements TellerManagement } } - private static final class TellerLookupMapper implements RowMapper { - - private final String schemaSql; - - TellerLookupMapper() { - - final StringBuilder sqlBuilder = new StringBuilder(100); - sqlBuilder.append("t.id as id, t.name as teller_name "); - sqlBuilder.append("from m_tellers t "); - - this.schemaSql = sqlBuilder.toString(); - } - - public String schema() { - return this.schemaSql; - } - - @Override - public TellerData mapRow(final ResultSet rs, final int rowNum) throws SQLException { - - final Long id = rs.getLong("id"); - final String tellerName = rs.getString("teller_name"); - return TellerData.lookup(id, tellerName); - } - } - - @Override - public Collection retrieveAllTellersForDropdown(final Long officeId) { - - final Long defaultOfficeId = defaultToUsersOfficeIfNull(officeId); - - final String sql = "select " + this.lookupMapper.schema() + " where s.office_id = ? and s.is_active=true "; - - return this.jdbcTemplate.query(sql, this.lookupMapper, new Object[] { defaultOfficeId }); // NOSONAR - } - private Long defaultToUsersOfficeIfNull(final Long officeId) { Long defaultOfficeId = officeId; if (defaultOfficeId == null) { @@ -169,58 +128,6 @@ public class TellerManagementReadPlatformServiceImpl implements TellerManagement } } - @Override - public Collection retrieveAllTellers(final String sqlSearch, final Long officeId, final String status) { - final String extraCriteria = getTellerCriteria(sqlSearch, officeId, status); - return retrieveAllTeller(extraCriteria, officeId); - } - - private Collection retrieveAllTeller(final String extraCriteria, final Long officeId) { - - final TellerMapper tm = new TellerMapper(); - String sql = "select " + tm.schema(); - if (StringUtils.isNotBlank(extraCriteria)) { - sql += " where " + extraCriteria; - } - sql = sql + " order by t.teller_name"; - if (officeId != null) { - return this.jdbcTemplate.query(sql, tm, new Object[] { officeId }); // NOSONAR - } - return this.jdbcTemplate.query(sql, tm); // NOSONAR - } - - private String getTellerCriteria(final String sqlSearch, final Long officeId, final String status) { - - final StringBuilder extraCriteria = new StringBuilder(200); - - if (sqlSearch != null) { - extraCriteria.append(" and (").append(sqlSearch).append(")"); - final TellerMapper tm = new TellerMapper(); - this.columnValidator.validateSqlInjection(tm.schema(), sqlSearch); - } - if (officeId != null) { - extraCriteria.append(" and office_id = ? "); - } - // Passing status parameter to get ACTIVE (By Default), INACTIVE or ALL - // (Both active and Inactive) employees - if (status.equalsIgnoreCase("active")) { - extraCriteria.append(" and status = 300 "); - } else if (status.equalsIgnoreCase("inActive")) { - extraCriteria.append(" and status = 0 "); - } else { - if (!status.equalsIgnoreCase("all")) { - throw new UnrecognizedQueryParamException("status", status, new Object[] { "all", "active", "inactive" }); - } - } - - if (StringUtils.isNotBlank(extraCriteria.toString())) { - extraCriteria.delete(0, 4); - } - - // remove begin four letter including a space from the string. - return extraCriteria.toString(); - } - @Override public Collection getTellers(Long officeId) { return retrieveAllTellers(false); @@ -228,46 +135,14 @@ public class TellerManagementReadPlatformServiceImpl implements TellerManagement @Override public Collection getCashiersForTeller(Long tellerId, LocalDate fromDate, LocalDate toDate) { - return retrieveCashiersForTellers(null, tellerId); + return retrieveCashiersForTellers(tellerId); } @Override - public Collection retrieveCashiersForTellers(final String sqlSearch, final Long tellerId) { - final String extraCriteria = getTellerCriteria(sqlSearch, tellerId); - return fetchCashiers(extraCriteria); - } - - private String getTellerCriteria(final String sqlSearch, final Long tellerId) { - - final StringBuilder extraCriteria = new StringBuilder(200); - - if (sqlSearch != null) { - extraCriteria.append(" and (").append(sqlSearch).append(")"); - final CashierMapper cm = new CashierMapper(); - this.columnValidator.validateSqlInjection(cm.schema(), sqlSearch); - - } - if (tellerId != null) { - extraCriteria.append(" and teller_id = ").append(tellerId).append(" "); - } - - // remove begin four letter including a space from the string. - if (StringUtils.isNotBlank(extraCriteria.toString())) { - extraCriteria.delete(0, 4); - } - - return extraCriteria.toString(); - } - - private Collection fetchCashiers(final String extraCriteria) { - + public Collection retrieveCashiersForTellers(final Long tellerId) { final CashierMapper cm = new CashierMapper(); - String sql = "select " + cm.schema(); - if (StringUtils.isNotBlank(extraCriteria)) { - sql += " where " + extraCriteria; - } - sql = sql + " order by teller_name"; - return this.jdbcTemplate.query(sql, cm); // NOSONAR + String sql = "select " + cm.schema() + " where teller_id = ?"; + return this.jdbcTemplate.query(sql, cm, tellerId); // NOSONAR } @Override @@ -288,12 +163,6 @@ public class TellerManagementReadPlatformServiceImpl implements TellerManagement return null; } - @Override - public Collection getTellerCashiers(Long tellerId, LocalDate date) { - // TODO Auto-generated method stub - return null; - } - @Override public TellerTransactionData findTellerTransaction(Long transactionId) { // TODO Auto-generated method stub diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/starter/OrganisationTellerConfiguration.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/starter/OrganisationTellerConfiguration.java index 5fa3ee675..87136fa0c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/starter/OrganisationTellerConfiguration.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/starter/OrganisationTellerConfiguration.java @@ -24,7 +24,6 @@ import org.apache.fineract.infrastructure.core.service.PaginationHelper; import org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator; import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext; import org.apache.fineract.infrastructure.security.service.SqlValidator; -import org.apache.fineract.infrastructure.security.utils.ColumnValidator; import org.apache.fineract.organisation.monetary.service.CurrencyReadPlatformService; import org.apache.fineract.organisation.office.domain.OfficeRepositoryWrapper; import org.apache.fineract.organisation.office.service.OfficeReadPlatformService; @@ -52,10 +51,9 @@ public class OrganisationTellerConfiguration { public TellerManagementReadPlatformService tellerManagementReadPlatformService(JdbcTemplate jdbcTemplate, PlatformSecurityContext context, OfficeReadPlatformService officeReadPlatformService, StaffReadPlatformService staffReadPlatformService, CurrencyReadPlatformService currencyReadPlatformService, - DatabaseSpecificSQLGenerator sqlGenerator, PaginationHelper paginationHelper, ColumnValidator columnValidator, - SqlValidator sqlValidator) { + DatabaseSpecificSQLGenerator sqlGenerator, PaginationHelper paginationHelper, SqlValidator sqlValidator) { return new TellerManagementReadPlatformServiceImpl(jdbcTemplate, context, officeReadPlatformService, staffReadPlatformService, - currencyReadPlatformService, sqlGenerator, paginationHelper, columnValidator, sqlValidator); + currencyReadPlatformService, sqlGenerator, paginationHelper, sqlValidator); } @Bean diff --git a/fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm b/fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm index a63beadd1..f9e69d46c 100644 --- a/fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm +++ b/fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm @@ -6376,11 +6376,6 @@ GET https://DomainName/api/v1/clients/{clientId}
Use externalId of clients to restrict results.
-
sqlSearch
-
- String optional -
-
Use an sql fragment valid for the underlying client schema to filter results. e.g. display_name like %K%
orphansOnly
Boolean optional, defaults to false @@ -8336,11 +8331,6 @@ GET https://DomainName/fineract-provider/api/v1/centers/9
Use externalId of center to restrict results.
-
sqlSearch
-
- String optional -
-
Use an sql fragment valid for the underlying center schema to filter results. e.g. display_name like %K%

Example Requests:

centers
@@ -9771,11 +9761,6 @@ DELETE groups/2
Use externalId of groups to restrict results.
-
sqlSearch
-
- String optional -
-
Use an sql fragment valid for the underlying group schema to filter results. e.g. display_name like %K%
orphansOnly
Boolean optional, defaults to false @@ -11168,11 +11153,6 @@ GET https://DomainName/api/v1/loans/{loanId}
Use externalId of loan to restrict results.
-
sqlSearch
-
- String optional -
-
Use an sql fragment valid for the underlying loan schema to filter results. e.g. display_name like %K%

Example Requests:

loans
@@ -36177,11 +36157,6 @@ No Request Body:
Filters for transactions whose entry Date is lesser than or equal to the passed in Date
-
sqlSearch
-
- String optional -
-
Use an sql fragment valid for the underlying standing instruction schema to filter results. e.g. name like %K%

Example Requests :

standinginstructionrunhistory