package in.gov.chennaicorporation.gccoffice.pgr.contoller; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.client.RestTemplate; import in.gov.chennaicorporation.gccoffice.configuration.AppConfig; import in.gov.chennaicorporation.gccoffice.pgr.dto.ComplaintGroup; import in.gov.chennaicorporation.gccoffice.pgr.dto.ComplaintType; import in.gov.chennaicorporation.gccoffice.pgr.dto.Department; import in.gov.chennaicorporation.gccoffice.pgr.dto.DtoAgeAnalysis; import in.gov.chennaicorporation.gccoffice.pgr.dto.DtoAgeAnalysisDaskboard; import in.gov.chennaicorporation.gccoffice.pgr.dto.Dtoworeopen; import in.gov.chennaicorporation.gccoffice.pgr.service.AgeAnalysisComplaintDetails; import in.gov.chennaicorporation.gccoffice.pgr.service.AgeAnalysisComplaintReports; import in.gov.chennaicorporation.gccoffice.pgr.service.AgeAnalysisDaskboards; import in.gov.chennaicorporation.gccoffice.pgr.service.AgeAnalysisReports; import in.gov.chennaicorporation.gccoffice.pgr.service.AllReports; import in.gov.chennaicorporation.gccoffice.pgr.service.MobileAgeAnalysisComplaintDetails; //import in.gov.chennaicorporation.gccoffice.pgr.service.MobileAgeAnalysisComplaintReports; //import in.gov.chennaicorporation.gccoffice.pgr.service.MobileAgeAnalysisReports; import in.gov.chennaicorporation.gccoffice.pgr.service.QaQcReports; import in.gov.chennaicorporation.gccoffice.pgr.service.ReopenZoneWiseDaskboards; import in.gov.chennaicorporation.gccoffice.pgr.service.ReopenZonewiseComplaintDetails; import in.gov.chennaicorporation.gccoffice.pgr.service.ReopenZonewiseComplaintReports; import in.gov.chennaicorporation.gccoffice.pgr.service.ReopenZonewiseReports; import in.gov.chennaicorporation.gccoffice.pgr.service.ZoneWiseDaskboards; import in.gov.chennaicorporation.gccoffice.pgr.service.ZonewiseComplaintDetails; import in.gov.chennaicorporation.gccoffice.pgr.service.ZonewiseComplaintReports; import in.gov.chennaicorporation.gccoffice.pgr.service.ZonewiseReports; @RequestMapping("/pgr") @Controller("pgrController") public class Maincontroller { // private final AppConfig appConfig; @Autowired private RestTemplate restTemplate; private ZoneWiseDaskboards zonewiseDaskboards; private ReopenZoneWiseDaskboards reopenzonewiseDaskboards; private AgeAnalysisDaskboards ageanalysisDaskboards; private AllReports allReports; private QaQcReports qaqcReports; private ZonewiseReports zonewiseReports; private ReopenZonewiseReports reopenzonewiseReports; private AgeAnalysisReports ageanalysisReports; //private MobileAgeAnalysisReports mobileageanalysisReports; private ZonewiseComplaintReports zonewisecomplaintReports; private ReopenZonewiseComplaintReports reopenzonewisecomplaintReports; private AgeAnalysisComplaintReports ageanalysiscomplaintReports; //private MobileAgeAnalysisComplaintReports mobileageanalysiscomplaintReports; private ZonewiseComplaintDetails zonewisecomplaintDetails; private ReopenZonewiseComplaintDetails reopenzonewisecomplaintDetails; private AgeAnalysisComplaintDetails ageanalysisComplaintDetails; //private MobileAgeAnalysisComplaintDetails mobileageanalysisComplaintDetails; //private ComplaintTypeService complaintTypeService; @Autowired public Maincontroller( RestTemplate restTemplate, AppConfig appConfig, //ComplaintTypeService complaintTypeService, ZoneWiseDaskboards zonewiseDaskboards, ReopenZoneWiseDaskboards reopenzonewiseDaskboards, AgeAnalysisDaskboards ageanalysisDaskboards, AllReports allReports, QaQcReports qaqcReports, ZonewiseReports zonewiseReports, ReopenZonewiseReports reopenzonewiseReports, AgeAnalysisReports ageanalysisReports, //MobileAgeAnalysisReports mobileageanalysisReports, ZonewiseComplaintReports zonewisecomplaintReports, ReopenZonewiseComplaintReports reopenzonewisecomplaintReports, AgeAnalysisComplaintReports ageanalysiscomplaintReports, //MobileAgeAnalysisComplaintReports mobileageanalysiscomplaintReports, ZonewiseComplaintDetails zonewisecomplaintDetails, ReopenZonewiseComplaintDetails reopenzonewisecomplaintDetails, AgeAnalysisComplaintDetails ageanalysisComplaintDetails, MobileAgeAnalysisComplaintDetails mobileageanalysisComplaintDetails) { /* * this.restTemplate=restTemplate; this.appConfig=appConfig; */ //this.complaintTypeService=complaintTypeService; this.zonewiseDaskboards=zonewiseDaskboards; this.reopenzonewiseDaskboards=reopenzonewiseDaskboards; this.ageanalysisDaskboards=ageanalysisDaskboards; this.allReports=allReports; this.qaqcReports=qaqcReports; this.zonewiseReports=zonewiseReports; this.reopenzonewiseReports=reopenzonewiseReports; this.ageanalysisReports=ageanalysisReports; //this.mobileageanalysisReports=mobileageanalysisReports; this.zonewisecomplaintReports=zonewisecomplaintReports; this.reopenzonewisecomplaintReports=reopenzonewisecomplaintReports; this.ageanalysiscomplaintReports=ageanalysiscomplaintReports; //this.mobileageanalysiscomplaintReports=mobileageanalysiscomplaintReports; this.zonewisecomplaintDetails=zonewisecomplaintDetails; this.reopenzonewisecomplaintDetails=reopenzonewisecomplaintDetails; this.ageanalysisComplaintDetails=ageanalysisComplaintDetails; //this.mobileageanalysisComplaintDetails=mobileageanalysisComplaintDetails; } @GetMapping({"", "/", "/index"}) public String home(Model model) { return "modules/pgr/index"; } //This mapping used for viewing bar and piechart @GetMapping("/dashboard") public String home(Model model, @RequestParam(required = false) String DEPT_NAME, @RequestParam(required = false) String DEPTID) { System.out.println("ageanalysislist"); System.out.println("reopenzonewiselist"); List complaintdept= reopenzonewiseDaskboards.getAlldtozwreopen(); List complaintdept1 = ageanalysisDaskboards.getAlldtoageanalysisDaskboard(); // DEPTID is provided, call the query method if( DEPT_NAME!=null && !DEPT_NAME.isEmpty() && DEPTID!=null && !DEPTID.isEmpty() ) { List> reopenzonewisedashboardList = reopenzonewiseDaskboards.getReopenZonewisedashboardquery(DEPTID); List> zonewisedashboardList = zonewiseDaskboards.getzonewisedaskboardQuery(DEPTID); model.addAttribute("reopenzonewisedashboardList", reopenzonewisedashboardList); model.addAttribute("zonewisedashboardList", zonewisedashboardList); List> ageanalysisdashboardList = ageanalysisDaskboards.getdashboardquery(DEPT_NAME); model.addAttribute("ageanalysisdashboardList", ageanalysisdashboardList); } model.addAttribute("complaintdept",complaintdept); model.addAttribute("complaintdept1",complaintdept1); model.addAttribute("DEPT_NAME", DEPT_NAME); model.addAttribute("DEPTID", DEPTID); return "modules/pgr/index"; } //This mapping used for get all public complaints to view @GetMapping("/allreportlist") public String Allreport(Model model, @RequestParam(required = false) String sFrDate, @RequestParam(required = false) String sToDate, @RequestParam(required = false) String sRptGroup, @RequestParam(required = false) String sRptType, @RequestParam(required = false) String cbCompStatus, @RequestParam(required = false) String mode) { System.out.println("allreportlist...fromDate... " + sFrDate + "..toDate...." + sToDate); System.out.println("group : " + sRptGroup); System.out.println("type : " + sRptType); System.out.println("status : " + cbCompStatus); System.out.println("mode : " + mode); List> pgrreportlist = new ArrayList<>(); List complaintTypes = allReports.getAllComplaintTypes(); List complaintGroups = allReports.getAllComplaintgroups(); System.out.println("complaintypes:" + complaintTypes); // Pass the additional parameters to the check method if(sFrDate!=null && !sFrDate.isEmpty() && sToDate!=null && !sToDate.isEmpty() ) { pgrreportlist= allReports.check(sFrDate, sToDate, sRptGroup, sRptType, cbCompStatus,mode); complaintTypes = allReports.getAllComplaintTypes(); complaintGroups = allReports.getAllComplaintgroups(); } model.addAttribute("complaintTypes", complaintTypes); model.addAttribute("complaintGroups", complaintGroups); model.addAttribute("pgrreportlist", pgrreportlist); model.addAttribute("sFrDate",sFrDate); model.addAttribute("sToDate",sToDate); model.addAttribute("sRptGroup",sRptGroup); model.addAttribute("sRptType",sRptType); model.addAttribute("cbCompStatus",cbCompStatus); model.addAttribute("mode",mode); return "modules/pgr/allreportlist"; } //This mapping used for get to view QAQC reports @GetMapping("/qaqc") public String Qaqc(Model model, @RequestParam(required = false) String sFrDate, @RequestParam(required = false) String sToDate) { System.out.println("qaqcreportlist... " + sFrDate + "..toDate...." + sToDate); List> qaqclist = new ArrayList<>(); // List> qaqclist = qaqcReports.check1(sFrDate, sToDate); if(sFrDate!=null && !sFrDate.isEmpty() && sToDate!=null && !sToDate.isEmpty() ) { qaqclist= qaqcReports.check1(sFrDate, sToDate); } model.addAttribute("qaqclist", qaqclist); model.addAttribute("sFrDate", sFrDate); model.addAttribute("sToDate", sToDate); return "modules/pgr/qaqc"; } //This mapping used for to see each zone uisng userIDwise withreopen reports for all public complaints @GetMapping("/useridwisereport/zonewise") public String Zonewise( Model model, @RequestParam(required = false) String sFrDate, @RequestParam( required = false) String sToDate, @RequestParam(required = false) String DEPT_NAME) { System.out.println("zonewisereportlist"); System.out.println("fromdate : " +sFrDate); System.out.println("todate : " +sToDate); System.out.println("deptname : " + DEPT_NAME); List> zonewiseList = new ArrayList<>(); List complaintdept= zonewiseReports.getAlldeparments(); if(sFrDate!=null && !sFrDate.isEmpty() && sToDate!=null && !sToDate.isEmpty() && DEPT_NAME!=null && !DEPT_NAME.isEmpty()) { zonewiseList= zonewiseReports.getZonewise(sFrDate, sToDate,DEPT_NAME); complaintdept = zonewiseReports.getAlldeparments(); } //List> zonewiseList = zonewiseReports.getZonewise(sFrDate, sToDate,DEPT_NAME); model.addAttribute("zonewiselist", zonewiseList); model.addAttribute("complaintdept", complaintdept); model.addAttribute("sFrDate", sFrDate); model.addAttribute("sToDate", sToDate); model.addAttribute("DEPT_NAME", DEPT_NAME); return "modules/pgr/useridwisereport/zonewise"; } //This mapping used to see a complaints using in popup message with all details of public who complaint for that problem @GetMapping("/zonecomplaintlist") public String ZoneComplaintList( Model model, @RequestParam(required = false )String sFrDate, @RequestParam(required = false )String sToDate, @RequestParam(name = "Deptid", required = false, defaultValue = "0") Integer deptId, @RequestParam(name = "PgrUserID", required = false, defaultValue = "") Integer pgrUserId) { System.out.println("zonecomplaintlist"); List> zoneComplaintList = new ArrayList<>(); // Pass the additional parameters to the check method // List> qaqclist = qaqcReports.check1(sFrDate, sToDate); if(deptId!=null && pgrUserId!=null ) { zoneComplaintList= zonewisecomplaintReports.getZoneWiseComplaints(sFrDate,sToDate,deptId, pgrUserId); } //List> zoneComplaintList = zonewisecomplaintReports.getZoneWiseComplaints(deptId,pgrUserId); model.addAttribute("zonecomplaintlist", zoneComplaintList); return "modules/pgr/useridwisereport/complaintreports/zonecomplaintlist"; } //This mapping used to get zone wise with reopen complaint details to passing with complaint number @GetMapping("/zonecomplaintdetail") public ResponseEntity ZoneComplaintDetail(Model model,@RequestParam("complaintno") String COMPLAINTNUMBER) { System.out.println("\nzonecomplaintdetails.........:"+COMPLAINTNUMBER); List> pgrreportList = zonewisecomplaintDetails.check(COMPLAINTNUMBER); // model.addAttribute("zonecomplaintlist",zonewisecomplaintDetails.check(COMPLAINTID)); if (pgrreportList != null) { return ResponseEntity.ok(pgrreportList); } else { return ResponseEntity.notFound().build(); } } //This mapping used for to see each zone using userIDwise without reopen reports for all public complaints @GetMapping("/useridwisereport/reopenedzonewise") public String Reopenzone(Model model, @RequestParam(required = false) String sFrDate, @RequestParam( required = false) String sToDate, @RequestParam(required = false) String DEPT_NAME) { System.out.println("reopenzonewisereportlist"); System.out.println("fromdate : " +sFrDate); System.out.println("todate : " +sToDate); System.out.println("deptname : " + DEPT_NAME); List> reopenzonewiseList = new ArrayList<>(); List complaintdept= reopenzonewiseReports.getAlldtoworeopen(); if(sFrDate!=null && !sFrDate.isEmpty() && sToDate!=null && !sToDate.isEmpty() && DEPT_NAME!=null && !DEPT_NAME.isEmpty()) { reopenzonewiseList= reopenzonewiseReports.getReopenZonewise(sFrDate, sToDate,DEPT_NAME); complaintdept = reopenzonewiseReports.getAlldtoworeopen(); } //List> reopenzonewiseList = reopenzonewiseReports.getReopenZonewise(); model.addAttribute("reopenzonewiselist", reopenzonewiseList); model.addAttribute("complaintdept",complaintdept); model.addAttribute("sFrDate", sFrDate); model.addAttribute("sToDate", sToDate); model.addAttribute("DEPT_NAME", DEPT_NAME); // model.addAttribute("reopenzonewiselist", reopenzonewiseReports.check()); return "modules/pgr/useridwisereport/reopenedzonewise"; } //This mapping used for to see each zone using userIDwise without reopen reports for all public complaints @GetMapping("/reopenzonecomplaintlist") public String ReopenZoneComplaintList( Model model, @RequestParam( required = false) String sFrDate, @RequestParam( required = false) String sToDate, @RequestParam(name = "Deptid", required = false, defaultValue = "0") Integer deptId, @RequestParam(name = "PgrUserID", required = false, defaultValue = "") Integer pgrUserId) { System.out.println("reopenzonecomplaintlist"); List> reopenzoneComplaintList = new ArrayList<>(); if(deptId!=null && pgrUserId!=null ) { reopenzoneComplaintList= reopenzonewisecomplaintReports.getReopenZoneWiseComplaints(sFrDate, sToDate,deptId, pgrUserId); } model.addAttribute("reopenzonecomplaintlist", reopenzoneComplaintList); return "modules/pgr/useridwisereport/complaintreports/reopenzonecomplaintlist"; } //This mapping used to get zone wise without reopen complaint details to passing with complaint number @GetMapping("/reopenzonecomplaintdetail") public ResponseEntity ReopenZoneComplaintDetail(Model model,@RequestParam("complaintno") String COMPLAINTNUMBER) { System.out.println("\nreopenzonecomplaintdetails.........:"+COMPLAINTNUMBER); List> pgrreportList = reopenzonewisecomplaintDetails.check(COMPLAINTNUMBER); // model.addAttribute("zonecomplaintlist",zonewisecomplaintDetails.check(COMPLAINTID)); if (pgrreportList != null) { return ResponseEntity.ok(pgrreportList); } else { return ResponseEntity.notFound().build(); } } //This mapping used for to see age analysis all zone wise reports @GetMapping("/useridwisereport/ageanalysis") public String Ageanalysis(Model model, @RequestParam(required = false) String sFrDate, @RequestParam( required = false) String sToDate, @RequestParam(required = false) String DEPT_NAME) { System.out.println("ageanalysisreportlist"); System.out.println("fromdte : " +sFrDate); System.out.println("todte : " +sToDate); System.out.println("deptname : " + DEPT_NAME); List> ageanalysisList = new ArrayList<>(); List complaintdept= ageanalysisReports.getAllDtoAgeAnalysis(); if(sFrDate!=null && !sFrDate.isEmpty() && sToDate!=null && !sToDate.isEmpty() && DEPT_NAME!=null && !DEPT_NAME.isEmpty()) { ageanalysisList= ageanalysisReports.getAgeAnalysiswise(sFrDate, sToDate,DEPT_NAME); complaintdept=ageanalysisReports.getAllDtoAgeAnalysis(); } // List> ageanalysisList = ageanalysisReports.getAgeAnalysiswise(); model.addAttribute("ageanalysislist", ageanalysisList); model.addAttribute("complaintdept",complaintdept); model.addAttribute("sFrDate", sFrDate); model.addAttribute("sToDate", sToDate); model.addAttribute("DEPT_NAME", DEPT_NAME); //model.addAttribute("ageanalysislist", ageanalysisReports.check()); return "modules/pgr/useridwisereport/ageanalysis"; } @GetMapping("/ageanalysiscomplaintslist") public String AgeAnalysisComplaintList(Model model, @RequestParam(required = false)String sFrDate, @RequestParam(required = false)String sToDate, @RequestParam(name = "Deptid", required = false, defaultValue = "0") Integer deptId, @RequestParam(name = "PgrUserID", required = false, defaultValue = "") Integer pgrUserId) { System.out.println("ageanalysiscomplaintlist"); List> ageanalysisComplaintList = new ArrayList<>(); // List> ageanalysisComplaintList = ageanalysiscomplaintReports.getAgeAnalysisComplaints(deptId,pgrUserId); if(deptId!=null && pgrUserId!=null ) { ageanalysisComplaintList= ageanalysiscomplaintReports.getAgeAnalysisComplaints(sFrDate,sToDate,deptId, pgrUserId); } model.addAttribute("ageanalysiscomplaintlist", ageanalysisComplaintList); //model.addAttribute("ageanalysiscomplaintlist",ageanalysiscomplaintReports.check()); return "modules/pgr/useridwisereport/complaintreports/ageanalysiscomplaintslist"; } //This mapping used to get zone wise age analysis complaint details to passing with complaint number @GetMapping("/ageanalysiscomplaintdetail") public ResponseEntity AgeAnalysisComplaintDetail(Model model,@RequestParam("complaintno") String COMPLAINTNUMBER) { System.out.println("\nnageanalysiscomplaintdetails.........:"+COMPLAINTNUMBER); List> pgrreportList = ageanalysisComplaintDetails.check(COMPLAINTNUMBER); // model.addAttribute("zonecomplaintlist",zonewisecomplaintDetails.check(COMPLAINTID)); if (pgrreportList != null) { return ResponseEntity.ok(pgrreportList); } else { return ResponseEntity.notFound().build(); } } }