Skip to content

Commit

Permalink
Modified the query to feth data from auditlogs and also removed (#705)
Browse files Browse the repository at this point in the history
* Modified the query to feth data from auditlogs and also removed
logic to identify the unique data from the rowmapper (#704)
base version to 1.0.0

* tenantId from pb.amritsar to pb

tenantId from pb.amritsar to pb
  • Loading branch information
phanikiran-wtt-egov committed Mar 6, 2021
1 parent 549c957 commit f898438
Show file tree
Hide file tree
Showing 6 changed files with 376 additions and 346 deletions.
2 changes: 1 addition & 1 deletion fsm/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</parent>
<groupId>org.egov</groupId>
<artifactId>fsm</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>1.0.0-SNAPSHOT</version>
<name>fsm-services</name>
<description>fsm services</description>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,23 @@ public class FSMAuditQueryBuilder {
+ " LEFT OUTER JOIN eg_fsm_geolocation fsm_geo on fsm_geo.address_id = fsm_address.id"
+ " LEFT OUTER JOIN eg_fsm_pit_detail fsm_pit on fsm_pit.fsm_id = fsm.id where fsm.tenantid=?";

private static final String AUDIT_Query = "select fsm.*,fsm_address.*,fsm_geo.*,fsm_pit.*,fsm.id as fsm_id, fsm.createdby as fsm_createdby,"
+ " fsm.lastmodifiedby as fsm_lastmodifiedby, fsm.createdtime as fsm_createdtime, fsm.lastmodifiedtime as fsm_lastmodifiedtime,"
+ " fsm.additionaldetails,fsm_address.id as fsm_address_id, fsm_geo.id as fsm_geo_id,"
+ " fsm_pit.id as fsm_pit_id FROM eg_fsm_application_auditlog fsm"
+ " LEFT OUTER JOIN eg_fsm_address_auditlog fsm_address on fsm_address.fsm_id = fsm.id and fsm_address.lastmodifiedtime=fsm.lastmodifiedtime"
+ " LEFT OUTER JOIN eg_fsm_geolocation_auditlog fsm_geo on fsm_geo.address_id = fsm_address.id and fsm_address.lastmodifiedtime=fsm_geo.lastmodifiedtime"
+ " LEFT OUTER JOIN eg_fsm_pit_detail_auditlog fsm_pit on fsm_pit.fsm_id = fsm.id and fsm_pit.lastmodifiedtime=fsm.lastmodifiedtime where fsm.tenantid=?";

private static final String FSM_ID = " AND fsm.id=?";
private static final String APPLICATION_NO = " AND fsm.applicationno=?";

public String getFSMActualDataQuery(FSMAuditSearchCriteria criteria, List<Object> preparedStmtList) {
return generateQuery(criteria, preparedStmtList);
return generateQuery(Query, criteria, preparedStmtList);
}

private String generateQuery(FSMAuditSearchCriteria criteria, List<Object> preparedStmtList) {
StringBuilder fsmDataQuery = new StringBuilder(Query);
private String generateQuery(String query, FSMAuditSearchCriteria criteria, List<Object> preparedStmtList) {
StringBuilder fsmDataQuery = new StringBuilder(query);
preparedStmtList.add(criteria.getTenantId());
if (StringUtils.isNotEmpty(criteria.getId())) {
fsmDataQuery = fsmDataQuery.append(FSM_ID);
Expand All @@ -45,7 +53,7 @@ private String generateQuery(FSMAuditSearchCriteria criteria, List<Object> prepa
}

public String getFSMAuditDataQuery(FSMAuditSearchCriteria criteria, List<Object> preparedStmtList) {
return generateQuery(criteria, preparedStmtList).replace("eg_fsm_application", "eg_fsm_application_auditlog").replace("eg_fsm_address", "eg_fsm_address_auditlog").replace("eg_fsm_geolocation", "eg_fsm_geolocation_auditlog").replace("eg_fsm_pit_detail", "eg_fsm_pit_detail_auditlog");
return generateQuery(AUDIT_Query, criteria, preparedStmtList);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,9 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import org.egov.fsm.util.FSMAuditUtil;
import org.egov.fsm.web.model.FSM;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.ResultSetExtractor;
Expand All @@ -25,67 +22,60 @@ public class FSMAuditRowMapper implements ResultSetExtractor<List<FSMAuditUtil>>
@SuppressWarnings("rawtypes")
@Override
public List<FSMAuditUtil> extractData(ResultSet rs) throws SQLException, DataAccessException {

List<FSMAuditUtil> fsmAuditDataList = new ArrayList<FSMAuditUtil>();
Map<String, FSMAuditUtil> fsmAuditDataMap = new LinkedHashMap<String, FSMAuditUtil>();
while (rs.next()) {
FSMAuditUtil auditUtil = null;
FSMAuditUtil auditUtil = new FSMAuditUtil();
// TODO fill the FSM object with data in the result set record
auditUtil.setId(rs.getString("fsm_id"));
auditUtil.setApplicationNo(rs.getString("applicationno"));
auditUtil.setAccountId(rs.getString("accountId"));
auditUtil.setDescription(rs.getString("description"));
auditUtil.setApplicationStatus(rs.getString("applicationStatus"));
auditUtil.setSource(rs.getString("source"));
auditUtil.setSanitationtype(rs.getString("sanitationtype"));
auditUtil.setPropertyUsage(rs.getString("propertyUsage"));
auditUtil.setNoOfTrips(rs.getInt("noOfTrips"));
auditUtil.setStatus(rs.getString("status"));
auditUtil.setVehicleId(rs.getString("vehicle_id"));
auditUtil.setDoorNo(rs.getString("doorno"));
auditUtil.setDsoId(rs.getString("dso_id"));
auditUtil.setVehicleType(rs.getString("vehicletype"));
auditUtil.setSlumName(rs.getString("slumname"));
auditUtil.setPossibleServiceDate(rs.getLong("possible_srv_date"));

String id = rs.getString("fsm_id");
auditUtil = fsmAuditDataMap.get(id);
auditUtil.setPlotNo(rs.getString("plotno"));
auditUtil.setLandmark(rs.getString("landmark"));
auditUtil.setCity(rs.getString("city"));
auditUtil.setDistrict(rs.getString("district"));
auditUtil.setRegion(rs.getString("region"));
auditUtil.setState(rs.getString("state"));
auditUtil.setCountry(rs.getString("country"));
auditUtil.setLocality(rs.getString("locality"));
auditUtil.setPincode(rs.getString("pincode"));
auditUtil.setBuildingName(rs.getString("buildingName"));
auditUtil.setStreet(rs.getString("street"));

auditUtil.setLatitude(rs.getDouble("latitude"));
auditUtil.setLongitude(rs.getDouble("longitude"));

if(auditUtil == null) {
auditUtil = new FSMAuditUtil();
auditUtil.setId(id);
auditUtil.setApplicationNo(rs.getString("applicationno"));
auditUtil.setAccountId(rs.getString("accountId"));
auditUtil.setDescription(rs.getString("description"));
auditUtil.setApplicationStatus(rs.getString("applicationStatus"));
auditUtil.setSource(rs.getString("source"));
auditUtil.setSanitationtype(rs.getString("sanitationtype"));
auditUtil.setPropertyUsage(rs.getString("propertyUsage"));
auditUtil.setNoOfTrips(rs.getInt("noOfTrips"));
auditUtil.setStatus(rs.getString("status"));
auditUtil.setVehicleId(rs.getString("vehicle_id"));
auditUtil.setDoorNo(rs.getString("doorno"));
auditUtil.setDsoId(rs.getString("dso_id"));
auditUtil.setVehicleType(rs.getString("vehicletype"));
auditUtil.setSlumName(rs.getString("slumname"));
auditUtil.setPossibleServiceDate(rs.getLong("possible_srv_date"));

auditUtil.setPlotNo(rs.getString("plotno"));
auditUtil.setLandmark(rs.getString("landmark"));
auditUtil.setCity(rs.getString("city"));
auditUtil.setDistrict(rs.getString("district"));
auditUtil.setRegion(rs.getString("region"));
auditUtil.setState(rs.getString("state"));
auditUtil.setCountry(rs.getString("country"));
auditUtil.setLocality(rs.getString("locality"));
auditUtil.setPincode(rs.getString("pincode"));
auditUtil.setBuildingName(rs.getString("buildingName"));
auditUtil.setStreet(rs.getString("street"));

auditUtil.setLatitude(rs.getDouble("latitude"));
auditUtil.setLongitude(rs.getDouble("longitude"));

auditUtil.setHeight(rs.getDouble("height"));
auditUtil.setLength(rs.getDouble("length"));
auditUtil.setWidth(rs.getDouble("width"));
auditUtil.setDiameter(rs.getDouble("diameter"));
auditUtil.setDistanceFromRoad(rs.getDouble("distanceFromRoad"));

auditUtil.setModifiedBy(rs.getString("lastmodifiedby"));
auditUtil.setModifiedTime(rs.getLong("lastmodifiedtime"));

auditUtil.setCreatedBy(rs.getString("createdby"));
auditUtil.setCreatedTime(rs.getLong("createdtime"));

fsmAuditDataMap.put(id, auditUtil);
}
auditUtil.setHeight(rs.getDouble("height"));
auditUtil.setLength(rs.getDouble("length"));
auditUtil.setWidth(rs.getDouble("width"));
auditUtil.setDiameter(rs.getDouble("diameter"));
auditUtil.setDistanceFromRoad(rs.getDouble("distanceFromRoad"));

auditUtil.setModifiedBy(rs.getString("lastmodifiedby"));
auditUtil.setModifiedTime(rs.getLong("lastmodifiedtime"));

auditUtil.setCreatedBy(rs.getString("createdby"));
auditUtil.setCreatedTime(rs.getLong("createdtime"));

fsmAuditDataList.add(auditUtil);

}

return new ArrayList<>(fsmAuditDataMap.values());
return fsmAuditDataList;

}

Expand Down

0 comments on commit f898438

Please sign in to comment.