|
|
@ -27,10 +27,10 @@ public class Fooddistributionservice { |
|
|
|
|
|
|
|
|
public List<Map<String, Object>> getQuestions() { |
|
|
public List<Map<String, Object>> getQuestions() { |
|
|
String sql = "SELECT qcm.qcm_id, qcm.audit_category, pqm.qid, pqm.q_english " + |
|
|
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); |
|
|
return jdbcTemplate.queryForList(sql); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -41,20 +41,26 @@ public class Fooddistributionservice { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
String sql = "SELECT " + |
|
|
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()) { |
|
|
if (date != null && !date.trim().isEmpty()) { |
|
|
return jdbcTemplate.queryForList(sql, date); |
|
|
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 = ""; |
|
|
String dateFilter = ""; |
|
|
if (date != null && !date.trim().isEmpty()) { |
|
|
if (date != null && !date.trim().isEmpty()) { |
|
|
dateFilter = " AND DATE(pa.audit_date) = ? "; |
|
|
dateFilter = " AND DATE(pa.audit_date) = ? "; |
|
|
} |
|
|
} |
|
|
|
|
|
String shiftFilter = ""; |
|
|
|
|
|
if (shiftId != null && shiftId > 0) { |
|
|
|
|
|
shiftFilter = " AND pa.shiftid = ? "; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
String sql = "SELECT " + |
|
|
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()) { |
|
|
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()); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |