From 2ee399e20667a73af25782c0133052fa94210aab Mon Sep 17 00:00:00 2001 From: Puli-shilpa Date: Fri, 13 Sep 2024 11:08:48 +0530 Subject: [PATCH] fixed fsm & PT appln search --- .../querybuilder/FSMQueryBuilder.java | 17 +++++--- .../builder/PropertyQueryBuilder.java | 40 ++++++++++++++----- 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/municipal-services/fsm/src/main/java/org/egov/fsm/repository/querybuilder/FSMQueryBuilder.java b/municipal-services/fsm/src/main/java/org/egov/fsm/repository/querybuilder/FSMQueryBuilder.java index fabbdb7245b..e02f4d76cee 100755 --- a/municipal-services/fsm/src/main/java/org/egov/fsm/repository/querybuilder/FSMQueryBuilder.java +++ b/municipal-services/fsm/src/main/java/org/egov/fsm/repository/querybuilder/FSMQueryBuilder.java @@ -53,12 +53,17 @@ public String getFSMSearchQuery(FSMSearchCriteria criteria, String dsoId, List applicationNumber = criteria.getApplicationNos(); if (!CollectionUtils.isEmpty(applicationNumber)) { - for (String applicationNo : applicationNumber) - { - String searchPattern="%" + applicationNo.toLowerCase() + "%"; - addClauseIfRequired(preparedStmtList, builder); - builder.append(" LOWER(tl.applicationnumber) like ? "); - preparedStmtList.add(searchPattern); + addClauseIfRequired(preparedStmtList, builder); + StringBuilder likeConditions = new StringBuilder(); + for(int i=0; i< applicationNumber.size();i++) { + if(i > 0) { + likeConditions.append(" OR "); + } + likeConditions.append("fsm.applicationNo LIKE ?"); + } + builder.append("(").append(likeConditions).append(")"); + for(String appNumber : applicationNumber) { + preparedStmtList.add("%" + appNumber + "%"); } } diff --git a/municipal-services/property-services/src/main/java/org/egov/pt/repository/builder/PropertyQueryBuilder.java b/municipal-services/property-services/src/main/java/org/egov/pt/repository/builder/PropertyQueryBuilder.java index df8ac0cd0f6..539087ecdae 100644 --- a/municipal-services/property-services/src/main/java/org/egov/pt/repository/builder/PropertyQueryBuilder.java +++ b/municipal-services/property-services/src/main/java/org/egov/pt/repository/builder/PropertyQueryBuilder.java @@ -308,21 +308,41 @@ else if (criteria.getIsRequestForCount()) { preparedStmtList.add(criteria.getDoorNo()); } - Set propertyIds = criteria.getPropertyIds(); - if (!CollectionUtils.isEmpty(propertyIds)) { + Set propertyIds = criteria.getPropertyIds(); + if (!CollectionUtils.isEmpty(propertyIds)) { addClauseIfRequired(preparedStmtList,builder); - builder.append("property.propertyid IN (").append(createQuery(propertyIds)).append(")"); - addToPreparedStatementWithUpperCase(preparedStmtList, propertyIds); - } - + int ind=0; + StringBuilder likeCondition = new StringBuilder(); + for(String pId : propertyIds) { + if(ind > 0) { + likeCondition.append(" OR "); + } + likeCondition.append("property.propertyid LIKE ?"); + ind++; + } + builder.append("(").append(likeCondition).append(")"); + for(String pId : propertyIds) { + preparedStmtList.add("%" + pId + "%"); + } + } Set acknowledgementIds = criteria.getAcknowledgementIds(); if (!CollectionUtils.isEmpty(acknowledgementIds)) { addClauseIfRequired(preparedStmtList, builder); - String searchPattern= acknowledgementIds.stream().filter(id -> id!= null && !id.isEmpty()).map(id-> "LOWER(property.acknowldgementnumber) LIKE ?").collect(Collectors.joining("OR", " (", ") ")); - builder.append(searchPattern); - acknowledgementIds.forEach(id-> preparedStmtList.add("%" +id.toLowerCase() + "%")); - } + int index=0; + StringBuilder likeConditions = new StringBuilder(); + for(String ackId : acknowledgementIds) { + if(index > 0) { + likeConditions.append(" OR "); + } + likeConditions.append("property.acknowldgementnumber LIKE ?"); + index++; + } + builder.append("(").append(likeConditions).append(")"); + for(String ackId : acknowledgementIds) { + preparedStmtList.add("%" + ackId + "%"); + } + } Set uuids = criteria.getUuids(); if (!CollectionUtils.isEmpty(uuids)) {