From 011830b68791188713b9c0e5039c2336f4a55de3 Mon Sep 17 00:00:00 2001 From: yoganandhan Date: Tue, 17 Feb 2026 18:33:50 +0530 Subject: [PATCH] changes in flagpole dashboard ui and service, controller and pages --- .../controller/FlagpolesApiController.java | 10 +- .../controller/MainController.java | 20 +- .../service/FlagpolesService.java | 27 + .../templates/modules/flagpoles/homepage.html | 354 +++++++++ .../modules/flagpoles/permanent_request.html | 672 +++++++++++++++++ .../modules/flagpoles/temporary_request.html | 676 ++++++++++++++++++ 6 files changed, 1755 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/templates/modules/flagpoles/homepage.html create mode 100644 src/main/resources/templates/modules/flagpoles/permanent_request.html create mode 100644 src/main/resources/templates/modules/flagpoles/temporary_request.html diff --git a/src/main/java/com/gcc/commissionerreview/controller/FlagpolesApiController.java b/src/main/java/com/gcc/commissionerreview/controller/FlagpolesApiController.java index a3c9804..aa0277d 100644 --- a/src/main/java/com/gcc/commissionerreview/controller/FlagpolesApiController.java +++ b/src/main/java/com/gcc/commissionerreview/controller/FlagpolesApiController.java @@ -2,14 +2,13 @@ package com.gcc.commissionerreview.controller; import java.util.Map; -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.RestController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.servlet.ModelAndView; + import com.gcc.commissionerreview.service.FlagpolesService; import java.util.Map; import java.util.List; @@ -71,4 +70,11 @@ public class FlagpolesApiController { } } + @GetMapping("/flagpoles/admin-reports") + public Map getAdminReports( + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { + return flagpolesService.getAdminReports(startDate, endDate); + } + } diff --git a/src/main/java/com/gcc/commissionerreview/controller/MainController.java b/src/main/java/com/gcc/commissionerreview/controller/MainController.java index d9f49ca..a79dc06 100644 --- a/src/main/java/com/gcc/commissionerreview/controller/MainController.java +++ b/src/main/java/com/gcc/commissionerreview/controller/MainController.java @@ -261,9 +261,24 @@ public class MainController { // visistor based count + // @GetMapping("/flagpolereporthomepage") + // public String getFlagpoleReportHomePage(Model model) { + // return "modules/flagpoles/homepage"; + // } + + // @GetMapping("/flagpolereport") + // public String getFlagpoleReportPage(Model model) { + // return "modules/flagpoles/abstractreport"; + // } + @GetMapping("/flagpolereport") - public String getFlagpoleReportPage(Model model) { - return "modules/flagpoles/abstractreport"; + public String temporaryRequestPage(Model model) { + return "modules/flagpoles/temporary_request"; + } + + @GetMapping("/flagpoles/permanent") + public String permanentRequestPage(Model model) { + return "modules/flagpoles/permanent_request"; } @GetMapping("/attendance-dashboard") @@ -275,4 +290,5 @@ public class MainController { public String greencommitteereport(Model model) { return "modules/greencommittee/gcreport"; } + } diff --git a/src/main/java/com/gcc/commissionerreview/service/FlagpolesService.java b/src/main/java/com/gcc/commissionerreview/service/FlagpolesService.java index 62d9e92..caec644 100644 --- a/src/main/java/com/gcc/commissionerreview/service/FlagpolesService.java +++ b/src/main/java/com/gcc/commissionerreview/service/FlagpolesService.java @@ -202,4 +202,31 @@ public class FlagpolesService { counts.put("OVERALL", total); return counts; } + + public Map getAdminReports(String startDate, String endDate) { + String url = "https://gccservices.in/flagpoles/api/flagpoleregistration/getAdminReports?gccUserId=140"; + if (startDate != null && !startDate.isEmpty() && endDate != null && !endDate.isEmpty()) { + url += "&startDate=" + startDate + "&endDate=" + endDate; + } + + org.springframework.web.client.RestTemplate restTemplate = new org.springframework.web.client.RestTemplate(); + try { + @SuppressWarnings("unchecked") + Map response = restTemplate.getForObject(url, Map.class); + if (response == null || response.isEmpty() || !response.containsKey("data")) { + Map empty = new java.util.HashMap<>(); + empty.put("status", "success"); + empty.put("count", 0); + empty.put("data", java.util.Collections.emptyList()); + return empty; + } + return response; + } catch (Exception e) { + e.printStackTrace(); + Map error = new java.util.HashMap<>(); + error.put("status", "error"); + error.put("message", "Failed to fetch external data: " + e.getMessage()); + return error; + } + } } diff --git a/src/main/resources/templates/modules/flagpoles/homepage.html b/src/main/resources/templates/modules/flagpoles/homepage.html new file mode 100644 index 0000000..4f50ed0 --- /dev/null +++ b/src/main/resources/templates/modules/flagpoles/homepage.html @@ -0,0 +1,354 @@ + + + + + + Flagpoles Abstract Report + + + + + + + + + + + + + +
+

Flagpoles Home Page:

+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/modules/flagpoles/permanent_request.html b/src/main/resources/templates/modules/flagpoles/permanent_request.html new file mode 100644 index 0000000..2081566 --- /dev/null +++ b/src/main/resources/templates/modules/flagpoles/permanent_request.html @@ -0,0 +1,672 @@ + + + + + + Permanent Flagpole Request Report + + + + + + + + + + + + + + + +
+
+
+

Permanent Flagpole Request Report

+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+
+
Total Requests
+

0

+
+
+
Approved
+

0

+
+
+
Rejected
+

0

+
+
+
Total Amount Earned
+

0

+
+
+
+
+ +
+ + + + + + + + + + + + + +
ZoneTotal RequestsApprovedRejectedTotal Amount
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/modules/flagpoles/temporary_request.html b/src/main/resources/templates/modules/flagpoles/temporary_request.html new file mode 100644 index 0000000..76f4fb1 --- /dev/null +++ b/src/main/resources/templates/modules/flagpoles/temporary_request.html @@ -0,0 +1,676 @@ + + + + + + Temporary Flagpole Request Report + + + + + + + + + + + + + + + +
+
+
+

Temporary Flagpole Request Report

+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+
+
Total Requests
+

0

+
+
+
Approved
+

0

+
+
+
Rejected
+

0

+
+
+
Total Amount Earned
+

0

+
+
+
+
+ +
+ + + + + + + + + + + + + +
ZoneTotal RequestsApprovedRejectedTotal Amount
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file