You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

468 lines
20 KiB

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 sFrDate,
@RequestParam(required = false) String sToDate,
@RequestParam(required = false) String DEPT_NAME,
@RequestParam(required = false) String DEPTID) {
System.out.println("ageanalysislist");
System.out.println("reopenzonewiselist");
List<Dtoworeopen> complaintdept= reopenzonewiseDaskboards.getAlldtozwreopen();
List<DtoAgeAnalysisDaskboard> complaintdept1 = ageanalysisDaskboards.getAlldtoageanalysisDaskboard();
// DEPTID is provided, call the query method
if( DEPT_NAME!=null && !DEPT_NAME.isEmpty() && DEPTID!=null && !DEPTID.isEmpty() ) {
List<Map<String, Object>> reopenzonewisedashboardList = reopenzonewiseDaskboards.getReopenZonewisedashboardquery(sFrDate,sToDate,DEPTID);
List<Map<String, Object>> zonewisedashboardList = zonewiseDaskboards.getzonewisedaskboardQuery(sFrDate,sToDate,DEPTID);
model.addAttribute("reopenzonewisedashboardList", reopenzonewisedashboardList);
model.addAttribute("zonewisedashboardList", zonewisedashboardList);
List<Map<String, Object>> ageanalysisdashboardList = ageanalysisDaskboards.getdashboardquery(sFrDate,sToDate,DEPT_NAME);
model.addAttribute("ageanalysisdashboardList", ageanalysisdashboardList);
}
model.addAttribute("complaintdept",complaintdept);
model.addAttribute("complaintdept1",complaintdept1);
model.addAttribute("DEPT_NAME", DEPT_NAME);
model.addAttribute("DEPTID", DEPTID);
model.addAttribute("sFrDate", sFrDate);
model.addAttribute("sToDate", sToDate);
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<Map<String, Object>> pgrreportlist = new ArrayList<>();
List<ComplaintType> complaintTypes = allReports.getAllComplaintTypes();
List<ComplaintGroup> 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<Map<String, Object>> qaqclist = new ArrayList<>();
// List<Map<String, Object>> 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<Map<String, Object>> zonewiseList = new ArrayList<>();
List<Department> 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<Map<String, Object>> 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<Map<String, Object>> zoneComplaintList = new ArrayList<>();
// Pass the additional parameters to the check method
// List<Map<String, Object>> qaqclist = qaqcReports.check1(sFrDate, sToDate);
if(deptId!=null && pgrUserId!=null ) {
zoneComplaintList= zonewisecomplaintReports.getZoneWiseComplaints(sFrDate,sToDate,deptId, pgrUserId);
}
//List<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> reopenzonewiseList = new ArrayList<>();
List<Dtoworeopen> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> ageanalysisList = new ArrayList<>();
List<DtoAgeAnalysis> 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<Map<String, Object>> 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<Map<String, Object>> ageanalysisComplaintList = new ArrayList<>();
// List<Map<String, Object>> 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<Map<String, Object>> pgrreportList = ageanalysisComplaintDetails.check(COMPLAINTNUMBER);
// model.addAttribute("zonecomplaintlist",zonewisecomplaintDetails.check(COMPLAINTID));
if (pgrreportList != null) {
return ResponseEntity.ok(pgrreportList);
} else {
return ResponseEntity.notFound().build();
}
}
}