|
|
@ -45,6 +45,86 @@ public class TenementService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public Map<String, Object> getTenementDashboard( |
|
|
public Map<String, Object> getTenementDashboard( |
|
|
|
|
|
String fromDate, |
|
|
|
|
|
String toDate) { |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
String sql = ""; |
|
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> result; |
|
|
|
|
|
|
|
|
|
|
|
// WITHOUT DATE FILTER |
|
|
|
|
|
if (fromDate == null || fromDate.isBlank() |
|
|
|
|
|
|| toDate == null || toDate.isBlank()) { |
|
|
|
|
|
|
|
|
|
|
|
sql = "SELECT " + |
|
|
|
|
|
|
|
|
|
|
|
"'Tenement' AS complaint_name, " + |
|
|
|
|
|
|
|
|
|
|
|
// TOTAL |
|
|
|
|
|
"COUNT(*) AS total_count, " + |
|
|
|
|
|
|
|
|
|
|
|
// COMPLETED = VERIFIED |
|
|
|
|
|
"COUNT(CASE " + |
|
|
|
|
|
"WHEN final_status = 'verified' " + |
|
|
|
|
|
"THEN 1 END) AS completed_count, " + |
|
|
|
|
|
|
|
|
|
|
|
// PENDING = CREATED + COMPLETED |
|
|
|
|
|
"COUNT(CASE " + |
|
|
|
|
|
"WHEN final_status IN ('created','completed') " + |
|
|
|
|
|
"THEN 1 END) AS pending_count " + |
|
|
|
|
|
|
|
|
|
|
|
"FROM issue_list1"; |
|
|
|
|
|
|
|
|
|
|
|
result = jdbcTemplate.queryForList(sql); |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
|
|
sql = "SELECT " + |
|
|
|
|
|
|
|
|
|
|
|
"'Tenement' AS complaint_name, " + |
|
|
|
|
|
|
|
|
|
|
|
// TOTAL |
|
|
|
|
|
"COUNT(*) AS total_count, " + |
|
|
|
|
|
|
|
|
|
|
|
// COMPLETED = VERIFIED |
|
|
|
|
|
"COUNT(CASE " + |
|
|
|
|
|
"WHEN final_status = 'verified' " + |
|
|
|
|
|
"THEN 1 END) AS completed_count, " + |
|
|
|
|
|
|
|
|
|
|
|
// PENDING = CREATED + COMPLETED |
|
|
|
|
|
"COUNT(CASE " + |
|
|
|
|
|
"WHEN final_status IN ('created','completed') " + |
|
|
|
|
|
"THEN 1 END) AS pending_count " + |
|
|
|
|
|
|
|
|
|
|
|
"FROM issue_list1 " + |
|
|
|
|
|
|
|
|
|
|
|
"WHERE DATE(cdate) BETWEEN ? AND ?"; |
|
|
|
|
|
|
|
|
|
|
|
result = jdbcTemplate.queryForList( |
|
|
|
|
|
sql, |
|
|
|
|
|
fromDate, |
|
|
|
|
|
toDate); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "Success"); |
|
|
|
|
|
response.put("data", result); |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "Error"); |
|
|
|
|
|
response.put("message", e.getMessage()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public Map<String, Object> getTenementDashboardwithoutcompletedandpending( |
|
|
|
|
|
|
|
|
String fromDate, |
|
|
String fromDate, |
|
|
String toDate) { |
|
|
String toDate) { |
|
|
@ -120,6 +200,101 @@ public class TenementService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public Map<String, Object> getZoneActivity( |
|
|
public Map<String, Object> getZoneActivity( |
|
|
|
|
|
String fromDate, |
|
|
|
|
|
String toDate) { |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
String sql = ""; |
|
|
|
|
|
List<Map<String, Object>> result; |
|
|
|
|
|
|
|
|
|
|
|
if (fromDate == null || fromDate.isBlank() |
|
|
|
|
|
|| toDate == null || toDate.isBlank()) { |
|
|
|
|
|
|
|
|
|
|
|
sql = "SELECT " + |
|
|
|
|
|
"am.zone, " + |
|
|
|
|
|
|
|
|
|
|
|
"COUNT(DISTINCT il1.id) AS total_complaint_count, " + |
|
|
|
|
|
|
|
|
|
|
|
// COMPLETED = VERIFIED |
|
|
|
|
|
"COUNT(DISTINCT CASE " + |
|
|
|
|
|
"WHEN il1.final_status = 'verified' " + |
|
|
|
|
|
"THEN il1.id END) " + |
|
|
|
|
|
"AS total_complaint_closed_count, " + |
|
|
|
|
|
|
|
|
|
|
|
// PENDING = CREATED + COMPLETED |
|
|
|
|
|
"COUNT(DISTINCT CASE " + |
|
|
|
|
|
"WHEN il1.final_status IN ('created','completed') " + |
|
|
|
|
|
"THEN il1.id END) " + |
|
|
|
|
|
"AS total_complaint_pending_count " + |
|
|
|
|
|
|
|
|
|
|
|
"FROM asset_master am " + |
|
|
|
|
|
|
|
|
|
|
|
"LEFT JOIN asset_list al " + |
|
|
|
|
|
"ON al.am_id = am.id " + |
|
|
|
|
|
|
|
|
|
|
|
"LEFT JOIN issue_list1 il1 " + |
|
|
|
|
|
"ON il1.assetlist_id = al.id " + |
|
|
|
|
|
|
|
|
|
|
|
"GROUP BY am.zone " + |
|
|
|
|
|
"ORDER BY am.zone"; |
|
|
|
|
|
|
|
|
|
|
|
result = jdbcTemplate.queryForList(sql); |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
|
|
sql = "SELECT " + |
|
|
|
|
|
"am.zone, " + |
|
|
|
|
|
|
|
|
|
|
|
"COUNT(DISTINCT il1.id) AS total_complaint_count, " + |
|
|
|
|
|
|
|
|
|
|
|
// COMPLETED = VERIFIED |
|
|
|
|
|
"COUNT(DISTINCT CASE " + |
|
|
|
|
|
"WHEN il1.final_status = 'verified' " + |
|
|
|
|
|
"THEN il1.id END) " + |
|
|
|
|
|
"AS total_complaint_closed_count, " + |
|
|
|
|
|
|
|
|
|
|
|
// PENDING = CREATED + COMPLETED |
|
|
|
|
|
"COUNT(DISTINCT CASE " + |
|
|
|
|
|
"WHEN il1.final_status IN ('created','completed') " + |
|
|
|
|
|
"THEN il1.id END) " + |
|
|
|
|
|
"AS total_complaint_pending_count " + |
|
|
|
|
|
|
|
|
|
|
|
"FROM asset_master am " + |
|
|
|
|
|
|
|
|
|
|
|
"LEFT JOIN asset_list al " + |
|
|
|
|
|
"ON al.am_id = am.id " + |
|
|
|
|
|
|
|
|
|
|
|
"LEFT JOIN issue_list1 il1 " + |
|
|
|
|
|
"ON il1.assetlist_id = al.id " + |
|
|
|
|
|
"AND DATE(il1.cdate) BETWEEN ? AND ? " + |
|
|
|
|
|
|
|
|
|
|
|
"GROUP BY am.zone " + |
|
|
|
|
|
"ORDER BY am.zone"; |
|
|
|
|
|
|
|
|
|
|
|
result = jdbcTemplate.queryForList( |
|
|
|
|
|
sql, |
|
|
|
|
|
fromDate, |
|
|
|
|
|
toDate); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "success"); |
|
|
|
|
|
response.put("data", result); |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "error"); |
|
|
|
|
|
response.put("message", e.getMessage()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public Map<String, Object> getZoneActivitywithoutcompletedandpending( |
|
|
|
|
|
|
|
|
String fromDate, |
|
|
String fromDate, |
|
|
String toDate) { |
|
|
String toDate) { |
|
|
@ -229,6 +404,81 @@ public class TenementService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public Map<String, Object> getWardActivity( |
|
|
public Map<String, Object> getWardActivity( |
|
|
|
|
|
String zone, |
|
|
|
|
|
String fromDate, |
|
|
|
|
|
String toDate) { |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
StringBuilder sql = new StringBuilder(); |
|
|
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("SELECT "); |
|
|
|
|
|
sql.append("wm.ward_name AS ward, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("COUNT(DISTINCT il1.id) "); |
|
|
|
|
|
sql.append("AS total_complaint_count, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("COUNT(DISTINCT CASE "); |
|
|
|
|
|
sql.append("WHEN il1.final_status = 'verified' "); |
|
|
|
|
|
sql.append("THEN il1.id END) "); |
|
|
|
|
|
sql.append("AS total_complaint_closed_count, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("COUNT(DISTINCT CASE "); |
|
|
|
|
|
sql.append("WHEN il1.final_status IN ('created','completed') "); |
|
|
|
|
|
sql.append("THEN il1.id END) "); |
|
|
|
|
|
sql.append("AS total_complaint_pending_count "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("FROM gcc_street_vendor.ward_master wm "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("LEFT JOIN asset_master am "); |
|
|
|
|
|
sql.append("ON wm.ward_name = am.ward "); |
|
|
|
|
|
sql.append("AND am.zone = ? "); |
|
|
|
|
|
params.add(zone); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("LEFT JOIN asset_list al "); |
|
|
|
|
|
sql.append("ON al.am_id = am.id "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("LEFT JOIN issue_list1 il1 "); |
|
|
|
|
|
sql.append("ON il1.assetlist_id = al.id "); |
|
|
|
|
|
|
|
|
|
|
|
if (fromDate != null |
|
|
|
|
|
&& !fromDate.isBlank() |
|
|
|
|
|
&& toDate != null |
|
|
|
|
|
&& !toDate.isBlank()) { |
|
|
|
|
|
|
|
|
|
|
|
sql.append("AND DATE(il1.cdate) BETWEEN ? AND ? "); |
|
|
|
|
|
params.add(fromDate); |
|
|
|
|
|
params.add(toDate); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
sql.append("WHERE wm.zone_id = ? "); |
|
|
|
|
|
params.add(zone); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("GROUP BY wm.ward_name "); |
|
|
|
|
|
sql.append("ORDER BY wm.ward_name "); |
|
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> result = jdbcTemplate.queryForList( |
|
|
|
|
|
sql.toString(), |
|
|
|
|
|
params.toArray()); |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "success"); |
|
|
|
|
|
response.put("data", result); |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "error"); |
|
|
|
|
|
response.put("message", e.getMessage()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public Map<String, Object> getWardActivitywithoutcompletedandpending( |
|
|
|
|
|
|
|
|
String zone, |
|
|
String zone, |
|
|
String fromDate, |
|
|
String fromDate, |
|
|
@ -300,8 +550,8 @@ public class TenementService { |
|
|
|
|
|
|
|
|
return response; |
|
|
return response; |
|
|
} |
|
|
} |
|
|
// ================= SERVICE ================= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ================= SERVICE ================= |
|
|
public Map<String, Object> getSchemeWiseReport( |
|
|
public Map<String, Object> getSchemeWiseReport( |
|
|
|
|
|
|
|
|
String ward, |
|
|
String ward, |
|
|
@ -310,6 +560,84 @@ public class TenementService { |
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
StringBuilder sql = new StringBuilder(); |
|
|
|
|
|
|
|
|
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("SELECT "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("am.scheme_name, "); |
|
|
|
|
|
sql.append("am.id as schemeid, "); |
|
|
|
|
|
|
|
|
|
|
|
// TOTAL |
|
|
|
|
|
sql.append("COUNT(DISTINCT il1.id) "); |
|
|
|
|
|
sql.append("AS total_complaint_count, "); |
|
|
|
|
|
|
|
|
|
|
|
// COMPLETED = VERIFIED ONLY |
|
|
|
|
|
sql.append("COUNT(DISTINCT CASE "); |
|
|
|
|
|
sql.append("WHEN il1.final_status = 'verified' "); |
|
|
|
|
|
sql.append("THEN il1.id END) "); |
|
|
|
|
|
sql.append("AS total_complaint_closed_count, "); |
|
|
|
|
|
|
|
|
|
|
|
// PENDING = CREATED + COMPLETED |
|
|
|
|
|
sql.append("COUNT(DISTINCT CASE "); |
|
|
|
|
|
sql.append("WHEN il1.final_status IN ('created','completed') "); |
|
|
|
|
|
sql.append("THEN il1.id END) "); |
|
|
|
|
|
sql.append("AS total_complaint_pending_count "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("FROM asset_master am "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("LEFT JOIN asset_list al "); |
|
|
|
|
|
sql.append("ON al.am_id = am.id "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("LEFT JOIN issue_list1 il1 "); |
|
|
|
|
|
sql.append("ON il1.assetlist_id = al.id "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("WHERE am.ward = ? "); |
|
|
|
|
|
params.add(ward); |
|
|
|
|
|
|
|
|
|
|
|
// DATE FILTER |
|
|
|
|
|
if (fromDate != null && !fromDate.isBlank() |
|
|
|
|
|
&& toDate != null && !toDate.isBlank()) { |
|
|
|
|
|
|
|
|
|
|
|
sql.append("AND DATE(il1.cdate) BETWEEN ? AND ? "); |
|
|
|
|
|
|
|
|
|
|
|
params.add(fromDate); |
|
|
|
|
|
params.add(toDate); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
sql.append("GROUP BY am.scheme_name, am.id "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("ORDER BY am.scheme_name "); |
|
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> result = jdbcTemplate.queryForList( |
|
|
|
|
|
sql.toString(), |
|
|
|
|
|
params.toArray()); |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "success"); |
|
|
|
|
|
response.put("data", result); |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "error"); |
|
|
|
|
|
response.put("message", e.getMessage()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public Map<String, Object> getSchemeWiseReportwithcompletedandpending( |
|
|
|
|
|
|
|
|
|
|
|
String ward, |
|
|
|
|
|
String fromDate, |
|
|
|
|
|
String toDate) { |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
|
|
|
|
|
|
StringBuilder sql = new StringBuilder(); |
|
|
StringBuilder sql = new StringBuilder(); |
|
|
@ -390,6 +718,154 @@ public class TenementService { |
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
StringBuilder sql = new StringBuilder(); |
|
|
|
|
|
|
|
|
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("SELECT "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("il1.id AS issuelist1_id, "); |
|
|
|
|
|
sql.append("il1.final_status, "); |
|
|
|
|
|
sql.append( |
|
|
|
|
|
"CASE " + |
|
|
|
|
|
"WHEN il1.final_status = 'verified' THEN 'Completed' " + |
|
|
|
|
|
"WHEN il1.final_status IN ('created','completed') THEN 'Pending' " + |
|
|
|
|
|
"ELSE il1.final_status " + |
|
|
|
|
|
"END AS ie_status, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("DATE_FORMAT(il1.cdate,'%d-%m-%Y') AS created_date, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("IFNULL(il1.remarks,'') AS created_remarks, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append( |
|
|
|
|
|
"CASE " + |
|
|
|
|
|
"WHEN il1.before_image IS NOT NULL " + |
|
|
|
|
|
"THEN CONCAT('" + fileBaseUrl + "/gccofficialapp/files', il1.before_image) " + |
|
|
|
|
|
"ELSE '' END AS before_image, "); |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* sql.append( |
|
|
|
|
|
* "IFNULL(DATE_FORMAT(il2.cdate,'%d-%m-%Y'),'Pending') AS completed_date, "); |
|
|
|
|
|
* |
|
|
|
|
|
* sql.append( |
|
|
|
|
|
* "IFNULL(il2.remarks,'Pending') AS completed_remarks, "); |
|
|
|
|
|
* |
|
|
|
|
|
* sql.append( |
|
|
|
|
|
* "CASE " + |
|
|
|
|
|
* "WHEN il2.after_image IS NOT NULL " + |
|
|
|
|
|
* "THEN CONCAT('" + fileBaseUrl + "/gccofficialapp/files', il2.after_image) " + |
|
|
|
|
|
* "ELSE '' END AS after_image, "); |
|
|
|
|
|
*/ |
|
|
|
|
|
// Completed Date |
|
|
|
|
|
sql.append( |
|
|
|
|
|
"CASE " + |
|
|
|
|
|
"WHEN il2.cdate IS NOT NULL " + |
|
|
|
|
|
"THEN DATE_FORMAT(il2.cdate,'%d-%m-%Y') " + |
|
|
|
|
|
"ELSE 'Pending' " + |
|
|
|
|
|
"END AS completed_date, "); |
|
|
|
|
|
|
|
|
|
|
|
// Completed Remarks |
|
|
|
|
|
sql.append( |
|
|
|
|
|
"CASE " + |
|
|
|
|
|
"WHEN il2.cdate IS NOT NULL " + |
|
|
|
|
|
"THEN IFNULL(il2.remarks,'') " + |
|
|
|
|
|
"ELSE 'Pending' " + |
|
|
|
|
|
"END AS completed_remarks, "); |
|
|
|
|
|
|
|
|
|
|
|
// After Image |
|
|
|
|
|
sql.append( |
|
|
|
|
|
"CASE " + |
|
|
|
|
|
"WHEN il2.after_image IS NOT NULL " + |
|
|
|
|
|
"THEN CONCAT('" + fileBaseUrl + "/gccofficialapp/files', il2.after_image) " + |
|
|
|
|
|
"ELSE '' " + |
|
|
|
|
|
"END AS after_image, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append( |
|
|
|
|
|
"IFNULL(DATE_FORMAT(il3.cdate,'%d-%m-%Y'),'') AS verified_date, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append( |
|
|
|
|
|
"IFNULL(il3.remarks,'') AS verified_remarks, "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append( |
|
|
|
|
|
"CASE " + |
|
|
|
|
|
"WHEN il3.verify_image IS NOT NULL " + |
|
|
|
|
|
"THEN CONCAT('" + fileBaseUrl + "/gccofficialapp/files', il3.verify_image) " + |
|
|
|
|
|
"ELSE '' END AS verify_image "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("FROM issue_list1 il1 "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("LEFT JOIN asset_list al "); |
|
|
|
|
|
sql.append("ON al.id = il1.assetlist_id "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("LEFT JOIN issue_list2 il2 "); |
|
|
|
|
|
sql.append("ON il2.issuelist1_id = il1.id "); |
|
|
|
|
|
sql.append("AND il2.final_status = 'completed' "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("LEFT JOIN issue_list3 il3 "); |
|
|
|
|
|
sql.append("ON il3.issuelist1_id = il1.id "); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("WHERE il1.ward = ? "); |
|
|
|
|
|
params.add(ward); |
|
|
|
|
|
|
|
|
|
|
|
sql.append("AND al.am_id = ? "); |
|
|
|
|
|
params.add(schemeid); |
|
|
|
|
|
|
|
|
|
|
|
// Date Filter |
|
|
|
|
|
if (fromDate != null && !fromDate.isBlank() |
|
|
|
|
|
&& toDate != null && !toDate.isBlank()) { |
|
|
|
|
|
|
|
|
|
|
|
sql.append("AND DATE(il1.cdate) BETWEEN ? AND ? "); |
|
|
|
|
|
|
|
|
|
|
|
params.add(fromDate); |
|
|
|
|
|
params.add(toDate); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Updated Status Filter |
|
|
|
|
|
if (status != null && !status.isEmpty()) { |
|
|
|
|
|
|
|
|
|
|
|
if ("verified".equalsIgnoreCase(status)) { |
|
|
|
|
|
|
|
|
|
|
|
sql.append("AND il1.final_status = 'verified' "); |
|
|
|
|
|
|
|
|
|
|
|
} else if ("pending".equalsIgnoreCase(status)) { |
|
|
|
|
|
|
|
|
|
|
|
sql.append( |
|
|
|
|
|
"AND il1.final_status IN ('created','completed') "); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
sql.append("ORDER BY il1.id DESC "); |
|
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> result = jdbcTemplate.queryForList( |
|
|
|
|
|
sql.toString(), |
|
|
|
|
|
params.toArray()); |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "success"); |
|
|
|
|
|
response.put("data", result); |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
|
|
|
|
|
|
response.put("status", "error"); |
|
|
|
|
|
response.put("message", e.getMessage()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return response; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public Map<String, Object> getComplaintDetailswithoutcompletedandpending( |
|
|
|
|
|
|
|
|
|
|
|
String ward, |
|
|
|
|
|
String schemeid, |
|
|
|
|
|
String status, |
|
|
|
|
|
String fromDate, |
|
|
|
|
|
String toDate) { |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>(); |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
|
|
|
|
|
|
StringBuilder sql = new StringBuilder(); |
|
|
StringBuilder sql = new StringBuilder(); |
|
|
|