Browse Source

changes in food distrubution report both service, controller and pages

master
yoganandhan 6 months ago
parent
commit
9615b9157c
  1. 3
      src/main/java/com/gcc/commissionerreview/controller/FoodDistrubutionReportApiController.java
  2. 118
      src/main/java/com/gcc/commissionerreview/service/Fooddistributionservice.java
  3. 995
      src/main/resources/templates/modules/fooddistribution/fooddistributionreport.html

3
src/main/java/com/gcc/commissionerreview/controller/FoodDistrubutionReportApiController.java

@ -53,12 +53,13 @@ public class FoodDistrubutionReportApiController {
public ResponseEntity<Map<String, Object>> getComplianceDetailedReport(
@RequestParam(value = "date", required = false) String date,
@RequestParam("hubId") Integer hubId,
@RequestParam(value = "shiftId", required = false) Integer shiftId,
@RequestParam("qid") Integer qid,
@RequestParam("statusFilter") String statusFilter) {
Map<String, Object> response = new HashMap<>();
try {
List<Map<String, Object>> detailedData = fooddistributionservice.getComplianceDetailedReport(date, hubId,
qid, statusFilter);
shiftId, qid, statusFilter);
response.put("status", "success");
response.put("data", detailedData);
} catch (Exception e) {

118
src/main/java/com/gcc/commissionerreview/service/Fooddistributionservice.java

@ -27,10 +27,10 @@ public class Fooddistributionservice {
public List<Map<String, Object>> getQuestions() {
String sql = "SELECT qcm.qcm_id, qcm.audit_category, pqm.qid, pqm.q_english " +
"FROM pmc_questions_master pqm " +
"JOIN questions_category_master qcm ON pqm.qcm_id = qcm.qcm_id " +
"WHERE pqm.isactive = 1 AND pqm.isdelete = 0 AND qcm.isactive = 1 AND qcm.isdelete = 0 " +
"ORDER BY qcm.orderby, pqm.orderby";
"FROM pmc_questions_master pqm " +
"JOIN questions_category_master qcm ON pqm.qcm_id = qcm.qcm_id " +
"WHERE pqm.isactive = 1 AND pqm.isdelete = 0 AND qcm.isactive = 1 AND qcm.isdelete = 0 " +
"ORDER BY qcm.orderby, pqm.orderby";
return jdbcTemplate.queryForList(sql);
}
@ -41,20 +41,26 @@ public class Fooddistributionservice {
}
String sql = "SELECT " +
"hm.id AS hub_id, hm.zone, hm.ward, hm.permanent_location, hm.si_name, " +
"qcm.qcm_id, qcm.audit_category, " +
"pqm.qid, pqm.q_english, " +
"pam.english_name AS answer_status, " +
"COUNT(pf.id) AS issue_count " +
"FROM hub_master hm " +
"LEFT JOIN pmc_audit pa ON pa.hub_id = hm.id AND pa.isactive = 1 AND pa.isdelete = 0 " + dateFilter +
"LEFT JOIN pmc_feedback pf ON pf.pmc_audit_id = pa.id AND pf.isactive = 1 AND pf.isdelete = 0 " +
"LEFT JOIN pmc_questions_master pqm ON pqm.qid = pf.questions AND pqm.isactive = 1 AND pqm.isdelete = 0 " +
"LEFT JOIN questions_category_master qcm ON qcm.qcm_id = pqm.qcm_id AND qcm.isactive = 1 AND qcm.isdelete = 0 " +
"LEFT JOIN pmc_answer_master pam ON pam.aid = pf.answer AND pam.isactive = 1 AND pam.isdelete = 0 " +
"WHERE hm.is_active = 1 AND hm.is_delete = 0 " +
"GROUP BY hm.id, hm.zone, hm.ward, hm.permanent_location, hm.si_name, qcm.qcm_id, qcm.audit_category, pqm.qid, pqm.q_english, pam.english_name " +
"ORDER BY hm.id, qcm.orderby, pqm.orderby";
"hm.id AS hub_id, hm.zone, hm.ward, hm.permanent_location, hm.si_name, " +
"sm.shiftid, sm.name AS shift_name, " +
"qcm.qcm_id, qcm.audit_category, " +
"pqm.qid, pqm.q_english, " +
"pam.english_name AS answer_status, " +
"COUNT(pf.id) AS issue_count " +
"FROM hub_master hm " +
"CROSS JOIN shift_master sm " +
"LEFT JOIN pmc_audit pa ON pa.hub_id = hm.id AND pa.shiftid = sm.shiftid AND pa.isactive = 1 AND pa.isdelete = 0 "
+ dateFilter +
"LEFT JOIN pmc_feedback pf ON pf.pmc_audit_id = pa.id AND pf.isactive = 1 AND pf.isdelete = 0 " +
"LEFT JOIN pmc_questions_master pqm ON pqm.qid = pf.questions AND pqm.isactive = 1 AND pqm.isdelete = 0 "
+
"LEFT JOIN questions_category_master qcm ON qcm.qcm_id = pqm.qcm_id AND qcm.isactive = 1 AND qcm.isdelete = 0 "
+
"LEFT JOIN pmc_answer_master pam ON pam.aid = pf.answer AND pam.isactive = 1 AND pam.isdelete = 0 " +
"WHERE hm.is_active = 1 AND hm.is_delete = 0 AND sm.isactive = 1 AND sm.isdelete = 0 " +
"GROUP BY hm.id, hm.zone, hm.ward, hm.permanent_location, hm.si_name, sm.shiftid, sm.name, qcm.qcm_id, qcm.audit_category, pqm.qid, pqm.q_english, pam.english_name "
+
"ORDER BY hm.id, sm.orderby, qcm.orderby, pqm.orderby";
if (date != null && !date.trim().isEmpty()) {
return jdbcTemplate.queryForList(sql, date);
@ -63,45 +69,59 @@ public class Fooddistributionservice {
}
}
public List<Map<String, Object>> getComplianceDetailedReport(String date, Integer hubId, Integer qid, String status) {
public List<Map<String, Object>> getComplianceDetailedReport(String date, Integer hubId, Integer shiftId,
Integer qid, String status) {
String dateFilter = "";
if (date != null && !date.trim().isEmpty()) {
dateFilter = " AND DATE(pa.audit_date) = ? ";
}
String shiftFilter = "";
if (shiftId != null && shiftId > 0) {
shiftFilter = " AND pa.shiftid = ? ";
}
String sql = "SELECT " +
"pf.id, " +
"DATE_FORMAT(pa.audit_date, '%d/%m/%y %H:%i') AS auditDate, " +
"pa.shiftid, " + // Assuming shiftid is used; update if shift_master exists
"hm.zone, " +
"hm.ward, " +
"pa.address, " +
"qcm.audit_category, " +
"pqm.q_english, " +
"pam.english_name, " +
"hm.si_name AS name, " +
"dl.name AS raisedBy, " +
"pf.remarks AS pmcRemarks, " +
"CONCAT('" + fileBaseUrl + "/gccofficialapp/files', pf.image) AS videoLink, " +
"pf.food_swing_sts AS fsStatus, " +
"dl2.name AS fsChallengedBy, " +
"pf.fs_remarks AS fsRemarks, " +
"CONCAT('" + fileBaseUrl + "/gccofficialapp/files', pf.fs_image) AS fsVideoLink " +
"FROM pmc_feedback pf " +
"JOIN pmc_audit pa ON pa.id = pf.pmc_audit_id AND pa.isactive = 1 AND pa.isdelete = 0 " + dateFilter +
"JOIN hub_master hm ON hm.id = pa.hub_id AND hm.id = ? " +
"JOIN pmc_questions_master pqm ON pqm.qid = pf.questions AND pqm.qid = ? " +
"JOIN questions_category_master qcm ON qcm.qcm_id = pf.qcmid " +
"JOIN pmc_answer_master pam ON pam.aid = pf.answer AND pam.english_name = ? " +
"LEFT JOIN driver_login dl ON pa.cby = dl.loginid " +
"LEFT JOIN driver_login dl2 ON pf.fs_cby = dl2.loginid " +
"WHERE pf.isactive = 1 AND pf.isdelete = 0 " +
"ORDER BY pf.id DESC";
"pf.id, " +
"DATE_FORMAT(pa.audit_date, '%d/%m/%y %H:%i') AS auditDate, " +
"sm.name AS shift, " +
"hm.zone, " +
"hm.ward, " +
"pa.address, " +
"qcm.audit_category, " +
"pqm.q_english, " +
"pam.english_name, " +
"hm.si_name AS name, " +
"dl.name AS raisedBy, " +
"pf.remarks AS pmcRemarks, " +
"CONCAT('" + fileBaseUrl + "/gccofficialapp/files', pf.image) AS videoLink, " +
"pf.food_swing_sts AS fsStatus, " +
"dl2.name AS fsChallengedBy, " +
"pf.fs_remarks AS fsRemarks, " +
"CONCAT('" + fileBaseUrl + "/gccofficialapp/files', pf.fs_image) AS fsVideoLink " +
"FROM pmc_feedback pf " +
"JOIN pmc_audit pa ON pa.id = pf.pmc_audit_id AND pa.isactive = 1 AND pa.isdelete = 0 " + dateFilter
+ shiftFilter +
"JOIN hub_master hm ON hm.id = pa.hub_id AND hm.id = ? " +
"LEFT JOIN shift_master sm ON sm.shiftid = pa.shiftid AND sm.isactive = 1 AND sm.isdelete = 0 " +
"JOIN pmc_questions_master pqm ON pqm.qid = pf.questions AND pqm.qid = ? " +
"JOIN questions_category_master qcm ON qcm.qcm_id = pf.qcmid " +
"JOIN pmc_answer_master pam ON pam.aid = pf.answer AND pam.english_name = ? " +
"LEFT JOIN driver_login dl ON pa.cby = dl.loginid " +
"LEFT JOIN driver_login dl2 ON pf.fs_cby = dl2.loginid " +
"WHERE pf.isactive = 1 AND pf.isdelete = 0 " +
"ORDER BY pf.id DESC";
java.util.List<Object> params = new java.util.ArrayList<>();
if (date != null && !date.trim().isEmpty()) {
return jdbcTemplate.queryForList(sql, date, hubId, qid, status);
} else {
return jdbcTemplate.queryForList(sql, hubId, qid, status);
params.add(date);
}
if (shiftId != null && shiftId > 0) {
params.add(shiftId);
}
params.add(hubId);
params.add(qid);
params.add(status);
return jdbcTemplate.queryForList(sql, params.toArray());
}
}

995
src/main/resources/templates/modules/fooddistribution/fooddistributionreport.html
File diff suppressed because it is too large
View File

Loading…
Cancel
Save