Skip to content

Commit

Permalink
Merge pull request #719 from egovernments/PFM-5583
Browse files Browse the repository at this point in the history
PFM-5473: Added changes to get the count of tenantby last demand genn…
  • Loading branch information
pradeepkumarcm-egov authored Feb 6, 2024
2 parents 8400937 + 0123dd9 commit f07e69c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ public WaterConnectionByDemandGenerationDateResponse getWaterConnectionByDemandD
return null;
waterConnectionByPreviousReadingDateList = jdbcTemplate.query(query1, preparedStatement.toArray(), wcbyDemandRowMapper);
String query2 = wsQueryBuilder.getQueryForWCCountbyDemandDate(criteria, preparedStatement, requestInfo);
log.info(query2);

if (query2 == null)
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,14 @@ public class WsQueryBuilder {
+ "eg_ws_connectionholder connectionholder ON connectionholder.connectionid = conn.id"
+ LEFT_OUTER_JOIN_STRING + "eg_ws_roadcuttinginfo roadcuttingInfo ON roadcuttingInfo.wsid = conn.id";

private static final String WATER_CONNNECTION_BY_DEMANNDDATE = "SELECT ((select distinct d.taxperiodto as taxperiodto from egbs_demand_v1 d where d.status = 'ACTIVE' and d.businessservice = 'WS' and d.consumercode = conn.connectionno order by d.taxperiodto desc limit 1)) as taxperiodto, count(*) as count" +
" FROM eg_ws_connection conn INNER JOIN eg_ws_service wc ON wc.connection_id = conn.id and wc.connectiontype='Non_Metered'and conn.status='Active'";
private static final String WATER_CONNNECTION_BY_DEMANNDDATE = "SELECT ((select distinct d.taxperiodto as taxperiodto from egbs_demand_v1 d inner join egbs_demanddetail_v1 dd on dd.demandid = d.id ";
private static final String WATER_CONNNECTION_BY_DEMANNDDATE_CLAUSE = " and dd.taxheadcode='10101' and d.status = 'ACTIVE' and d.businessservice = 'WS' and d.consumercode = conn.connectionno order by d.taxperiodto desc limit 1))" +
" as taxperiodto, count(*) as count ";
private static final String WATER_CONNNECTION_BY_DEMANNDDATE_FROM =" FROM eg_ws_connection conn INNER JOIN eg_ws_service wc ON wc.connection_id = conn.id and wc.connectiontype='Non_Metered'and conn.status='Active' ";

private static final String WATER_CONNECTION_BY_PREVIOUSREADINNDATE = "select previousreadingdate as taxperiodto , count(*) as count from eg_ws_connection conn";

private static final String CONSUMERCODE_IN_DEMANDTABLE= "select consumercode from egbs_demand_v1 d";
private static final String CONSUMERCODE_IN_DEMANDTABLE= "select distinct consumercode from egbs_demand_v1 d inner join egbs_demanddetail_v1 dd on dd.demandid = d.id ";
private static final String PAGINATION_WRAPPER = "{} {orderby} {pagination}";

private static final String ORDER_BY_CLAUSE = " ORDER BY wc.appCreatedDate DESC";
Expand Down Expand Up @@ -715,6 +717,9 @@ public String getQueryForWCCountbyDemandDate(SearchCriteria criteria, List<Objec
if (criteria.isEmpty() || criteria.getTenantId().isEmpty())
return null;
StringBuilder query = new StringBuilder(WATER_CONNNECTION_BY_DEMANNDDATE);
query.append( "WHERE d.tenantid = '" +criteria.getTenantId()+"' " );
query.append(WATER_CONNNECTION_BY_DEMANNDDATE_CLAUSE);
query.append(WATER_CONNNECTION_BY_DEMANNDDATE_FROM);
applyFiltersForPlaneSearch(query,preparedStatement,criteria);
query.append(" GROUP BY taxperiodto ");
return query.toString();
Expand All @@ -725,7 +730,8 @@ public String getQueryForWCCountForPreviousreadingdate(SearchCriteria criteria,
if (criteria.isEmpty() || criteria.getTenantId().isEmpty())
return null;
StringBuilder query = new StringBuilder(WATER_CONNECTION_BY_PREVIOUSREADINNDATE);
query.append(" INNER JOIN eg_ws_service wc ON wc.connection_id = conn.id WHERE conn.status='Active' AND conn.tenantid='"+criteria.getTenantId()+"' and wc.connectiontype='Non_Metered' and connectionno NOT IN (" + CONSUMERCODE_IN_DEMANDTABLE+" where d.status ='ACTIVE' and d.businessservice='WS' and d.tenantid='"+criteria.getTenantId()+"') ");
query.append(" INNER JOIN eg_ws_service wc ON wc.connection_id = conn.id WHERE conn.status='Active' AND conn.tenantid='"+criteria.getTenantId()+"'" +
" and wc.connectiontype='Non_Metered' and connectionno NOT IN (" + CONSUMERCODE_IN_DEMANDTABLE+" where dd.taxheadcode='10101' and d.status ='ACTIVE' and d.businessservice='WS' and d.tenantid='"+criteria.getTenantId()+"') ");
query.append(" GROUP BY taxperiodto ");
return query.toString();
}
Expand Down

0 comments on commit f07e69c

Please sign in to comment.