diff --git a/src/main/java/com/gcc/commissionerreview/configuration/DataSourceConfig.java b/src/main/java/com/gcc/commissionerreview/configuration/DataSourceConfig.java index 8140a18..5d71d69 100644 --- a/src/main/java/com/gcc/commissionerreview/configuration/DataSourceConfig.java +++ b/src/main/java/com/gcc/commissionerreview/configuration/DataSourceConfig.java @@ -17,11 +17,12 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement public class DataSourceConfig { - // private static String host = "localhost:3306"; - // private static String dbpassword = "root"; + private static String host = "localhost:3306"; + private static String dbpassword = "root"; - private static String host = "gcc-facial-db-instance-1.cf48eqcciziq.ap-south-1.rds.amazonaws.com:3306"; - private static String dbpassword = "gcc-facial-password"; + // private static String host = + // "gcc-facial-db-instance-1.cf48eqcciziq.ap-south-1.rds.amazonaws.com:3306"; + // private static String dbpassword = "gcc-facial-password"; public static class MyDataSourceConfig { @Primary @@ -201,6 +202,17 @@ public class DataSourceConfig { return dataSource; } + ////////// Community Hall ////////////////////// + @Bean(name = "mysqlCommunityHallDataSource") + public DataSource mysqlCommunityHallDataSource() { + DriverManagerDataSource dataSource = new DriverManagerDataSource(); + dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); + dataSource.setUrl("jdbc:mysql://" + host + "/communityhall_live"); + dataSource.setUsername("root"); + dataSource.setPassword(dbpassword); + return dataSource; + } + ////////// Vending Committee ////////////////////// @Bean(name = "mysqlVendingCommitteeDataSource") public DataSource mysqlVendingCommitteeDataSource() { diff --git a/src/main/java/com/gcc/commissionerreview/controller/CommunityHallController.java b/src/main/java/com/gcc/commissionerreview/controller/CommunityHallController.java new file mode 100644 index 0000000..7dfa40c --- /dev/null +++ b/src/main/java/com/gcc/commissionerreview/controller/CommunityHallController.java @@ -0,0 +1,108 @@ +package com.gcc.commissionerreview.controller; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +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.bind.annotation.RestController; + +import com.gcc.commissionerreview.service.CommunityHallService; + +@RestController +@RequestMapping("/commissionerreview/api/communityhall") +public class CommunityHallController { + + @Autowired + private CommunityHallService communityHallService; + + // ak + @GetMapping("/zones") + public List> getZones() { + return communityHallService.getZones(); + } + + @GetMapping("/halls") + public List> getHalls() { + + return communityHallService.getHalls(); + + } + + @GetMapping("/booking-report") + public List> getReport( + @RequestParam(required = false) String fromDate, + @RequestParam(required = false) String toDate, + @RequestParam(required = false) String zone, + @RequestParam(required = false) String hallId, + @RequestParam(required = false) String region, + @RequestParam(required = false) String status) { + + return communityHallService.getBookingReport( + fromDate, toDate, zone, hallId, region, status); + + } + + @GetMapping("/refund-review-report") + public List> getRefundReviewReport( + @RequestParam(required = false) String fromDate, + @RequestParam(required = false) String toDate, + @RequestParam(required = false) String zone, + @RequestParam(required = false) String hallId, + @RequestParam(required = false) String region, + @RequestParam(required = false) String status) { + + return communityHallService.getRefundReviewReport( + fromDate, + toDate, + zone, + hallId, + region, + status); + } + + @GetMapping("/refund-pending-details") + public List> getRefundPendingDetails( + + @RequestParam String type, + @RequestParam(required = false) String hallId, + @RequestParam(required = false) String fromDate, + @RequestParam(required = false) String toDate, + @RequestParam(required = false) String zone, + @RequestParam(required = false) String region, + @RequestParam(required = false) String status) { + + return communityHallService.getRefundPendingDetails( + type, + hallId, + fromDate, + toDate, + zone, + region, + status); + } + + @GetMapping("/caretaker-report") + public List> getCaretakerReport( + @RequestParam(required = false) String fromDate, + @RequestParam(required = false) String toDate, + @RequestParam(required = false) String zone, + @RequestParam(required = false) String hallId, + @RequestParam(required = false) String region, + @RequestParam(required = false) String status) { + + return communityHallService.getCaretakerReport( + fromDate, + toDate, + zone, + hallId, + region, + status); + } + +} diff --git a/src/main/java/com/gcc/commissionerreview/controller/MainController.java b/src/main/java/com/gcc/commissionerreview/controller/MainController.java index caa1222..6bc4a10 100644 --- a/src/main/java/com/gcc/commissionerreview/controller/MainController.java +++ b/src/main/java/com/gcc/commissionerreview/controller/MainController.java @@ -325,15 +325,30 @@ public class MainController { public String vendorreport(Model model) { return "modules/vendorreport"; } - + @GetMapping("/stvendor/overallreport") public String stvendor_overallreport(Model model) { return "modules/streetvendor/overalldetails"; } - + @GetMapping("/stvendor/inspectiondetails") public String stvendor_inspectiondetails(Model model) { return "modules/streetvendor/inspectiondetails"; } + @GetMapping("/communityhallreport") + public String communityhallreport(Model model) { + return "modules/community"; + } + + @GetMapping("/communityhallrefund") + public String communityhallrefund(Model model) { + return "modules/communityrefund"; + } + + @GetMapping("/communityhallcaretaker") + public String communityhallcaretaker(Model model) { + return "modules/communitycaretaker"; + } + } diff --git a/src/main/java/com/gcc/commissionerreview/service/CommunityHallService.java b/src/main/java/com/gcc/commissionerreview/service/CommunityHallService.java new file mode 100644 index 0000000..01fc0c0 --- /dev/null +++ b/src/main/java/com/gcc/commissionerreview/service/CommunityHallService.java @@ -0,0 +1,726 @@ +package com.gcc.commissionerreview.service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +@Service +public class CommunityHallService { + + @Autowired + private JdbcTemplate jdbcTemplate; + + @Autowired + public void setFeedbackDataSource(@Qualifier("mysqlCommunityHallDataSource") DataSource dataSource) { + this.jdbcTemplate = new JdbcTemplate(dataSource); + } + + public List> getBookingReport( + String fromDate, + String toDate, + String zone, + String hallId, + String region, + String status) { + + StringBuilder sql = new StringBuilder(); + + sql.append(""" + SELECT + hd.zone, + hd.division, + hd.hall_id, + hd.hall_name, + + DATE_FORMAT( + hd.c_date, + '%d-%m-%Y' + ) AS hall_created_date, + + CASE + WHEN hd.is_active=1 + THEN 'Active Hall' + ELSE 'Deactivated Hall' + END AS hall_status, + + hd.hall_incharge_name caretaker_name, + + hd.hall_incharge_no caretaker_no, + + DATEDIFF( + CURRENT_DATE, + DATE(hd.c_date) + ) booking_available_days, + + COUNT(bd.booking_id) + total_no_of_bookings, + + SUM( + CASE + WHEN bd.no_of_days=0.5 + THEN 1 + ELSE 0 + END + ) half_day_booking_count, + + SUM( + CASE + WHEN bd.no_of_days=1 + THEN 1 + ELSE 0 + END + ) full_day_booking_count, + + SUM( + CASE + WHEN bd.no_of_days=1.5 + THEN 1 + ELSE 0 + END + ) one_point_five_days_booking_count, + + SUM( + CASE + WHEN bd.no_of_days=2 + THEN 1 + ELSE 0 + END + ) two_days_booking_count + + FROM hall_details hd + + LEFT JOIN booking_details bd + ON hd.hall_id=bd.hall_details_hall_id + AND bd.booking_status NOT IN + ('PENDING', + 'REFUNDED', + 'GCC_BLOCKED', + 'GCC_UNBLOCKED') + + WHERE 1=1 + """); + + List params = new ArrayList<>(); + + if (fromDate != null && !fromDate.isBlank()) { + + sql.append(""" + AND DATE(bd.booking_date)>=? + """); + + params.add(fromDate); + } + + if (toDate != null && !toDate.isBlank()) { + + sql.append(""" + AND DATE(bd.booking_date)<=? + """); + + params.add(toDate); + } + + if (zone != null && !zone.isBlank()) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) = ? + """); + + params.add(zone); + } + + if (hallId != null && !hallId.isBlank()) { + + sql.append(""" + AND hd.hall_id=? + """); + + params.add(hallId); + } + if (status != null && !status.isBlank()) { + + if ("Active Hall".equals(status)) { + sql.append(""" + AND hd.is_active = 1 + """); + } + + if ("Deactivated Hall".equals(status)) { + sql.append(""" + AND hd.is_active = 0 + """); + } + } + + if (region != null && !region.isBlank()) { + + if (region.equals("North")) { + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 1 AND 5 + """); + } + + if (region.equals("Center")) { + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 6 AND 10 + """); + } + + if (region.equals("South")) { + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 11 AND 15 + """); + } + } + + sql.append(""" + GROUP BY + hd.zone, + hd.division, + hd.hall_id + + ORDER BY + CAST(hd.zone AS UNSIGNED), + CAST(hd.division AS UNSIGNED), + hd.hall_id + """); + + return jdbcTemplate.queryForList( + sql.toString(), + params.toArray()); + + } + + public List> getHalls() { + + String sql = """ + SELECT hall_id, + hall_name, + date_format(c_date,'%d-%m-%Y') as hall_created_date + FROM hall_details + ORDER BY hall_id + """; + + return jdbcTemplate.queryForList(sql); + + } + + public List> getZones() { + + String sql = """ + SELECT id, + zone_name + FROM gcc_street_vendor.zone_master + ORDER BY id + """; + + return jdbcTemplate.queryForList(sql); + } + + public List> getRefundReviewReport( + String fromDate, + String toDate, + String zone, + String hallId, + String region, + String status) { + + StringBuilder sql = new StringBuilder(); + + sql.append( + """ + select hd.zone, hd.division, hd.hall_id, hd.hall_name, date_format(hd.c_date, '%d-%m-%Y') as hall_Created_date, + case when hd.is_active = 1 then 'Active Hall' else 'Deactivated Hall' end as Hall_Status, + hd.hall_incharge_name as caretaker_name, hd.hall_incharge_no as caretake_no, + count(bd.booking_id) as total_no_of_bookings, + sum( case when bd.booking_status = 'CANCELED' THEN 1 ELSE 0 END) AS cancelled_bookings, + sum( case when bd.booking_status = 'REJECTED' THEN 1 ELSE 0 END) AS rejected_bookings, + sum( case when date(bd.end_date)30 THEN 1 ELSE 0 END ) AS settlement_Pending_more_than_30_days + + from hall_details hd + left join booking_details bd on hd.hall_id = bd.hall_details_hall_id and bd.booking_status NOT IN ('PENDING', 'REFUNDED', 'GCC_BLOCKED','GCC_UNBLOCKED') and bd.booking_status IS NOT NULL + WHERE 1=1 + """); + + List params = new ArrayList<>(); + + if (fromDate != null && !fromDate.isBlank()) { + + sql.append(""" + AND DATE(bd.end_date) >= ? + """); + + params.add(fromDate); + } + + if (toDate != null && !toDate.isBlank()) { + + sql.append(""" + AND DATE(bd.end_date) <= ? + """); + + params.add(toDate); + } + + if (zone != null && !zone.isBlank()) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) = ? + """); + + params.add(zone); + } + + if (hallId != null && !hallId.isBlank()) { + + sql.append(""" + AND hd.hall_id = ? + """); + + params.add(hallId); + } + + if (status != null && !status.isBlank()) { + + sql.append(""" + AND ( + CASE + WHEN hd.is_active = 1 + THEN 'Active Hall' + ELSE 'Deactivated Hall' + END + ) = ? + """); + + params.add(status); + } + + if (region != null && !region.isBlank()) { + + if ("North".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 1 AND 5 + """); + } + + if ("Center".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 6 AND 10 + """); + } + + if ("South".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 11 AND 15 + """); + } + } + + sql.append(""" + GROUP BY + hd.zone, + hd.division, + hd.hall_id + + ORDER BY + CAST(hd.zone AS UNSIGNED), + CAST(hd.division AS UNSIGNED), + hd.hall_id + """); + + return jdbcTemplate.queryForList( + sql.toString(), + params.toArray()); + } + + public List> getCaretakerReport( + String fromDate, + String toDate, + String zone, + String hallId, + String region, + String status) { + + StringBuilder sql = new StringBuilder(); + + sql.append( + """ + select hd.zone, hd.division, hd.hall_id, hd.hall_name, date_format(hd.c_date, '%d-%m-%Y') as hall_Created_date, + case when hd.is_active = 1 then 'Active Hall' else 'Deactivated Hall' end as Hall_Status, + hd.hall_incharge_name as caretaker_name, hd.hall_incharge_no as caretake_no, + count(bd.booking_id) as total_no_of_bookings, + sum( case when bd.booking_status = 'CANCELED' THEN 1 ELSE 0 END) AS cancelled_bookings, + sum( case when bd.booking_status = 'REJECTED' THEN 1 ELSE 0 END) AS rejected_bookings, + sum( case when date(bd.end_date)30 THEN 1 ELSE 0 END ) AS settlement_Completed_more_than_30_days, + + SUM( CASE WHEN bd.refund_status != 'COMPLETED' and bd.booking_status not in ('CANCELED','REJECTED') and date(bd.end_date)< CURRENT_DATE AND DATEDIFF(CURRENT_DATE, DATE(bd.end_date)) BETWEEN 0 AND 5 THEN 1 ELSE 0 END ) AS settlement_Pending_0_5_days, + SUM( CASE WHEN bd.refund_status != 'COMPLETED' and bd.booking_status not in ('CANCELED','REJECTED') and date(bd.end_date)< CURRENT_DATE AND DATEDIFF(CURRENT_DATE, DATE(bd.end_date)) BETWEEN 6 AND 15 THEN 1 ELSE 0 END ) AS settlement_Pending_6_15_days, + SUM( CASE WHEN bd.refund_status != 'COMPLETED' and bd.booking_status not in ('CANCELED','REJECTED') and date(bd.end_date)< CURRENT_DATE AND DATEDIFF(CURRENT_DATE, DATE(bd.end_date)) BETWEEN 16 AND 30 THEN 1 ELSE 0 END ) AS settlement_Pending_16_30_days, + SUM( CASE WHEN bd.refund_status != 'COMPLETED' and bd.booking_status not in ('CANCELED','REJECTED') and date(bd.end_date)< CURRENT_DATE AND DATEDIFF(CURRENT_DATE, DATE(bd.end_date)) >30 THEN 1 ELSE 0 END ) AS settlement_Pending_more_than_30_days + + from hall_details hd + left join booking_details bd on hd.hall_id = bd.hall_details_hall_id and bd.booking_status NOT IN ('PENDING', 'REFUNDED', 'GCC_BLOCKED','GCC_UNBLOCKED') and bd.booking_status IS NOT NULL + WHERE 1=1 + """); + + List params = new ArrayList<>(); + + if (fromDate != null && !fromDate.isBlank()) { + + sql.append(""" + AND DATE(bd.end_date) >= ? + """); + + params.add(fromDate); + } + + if (toDate != null && !toDate.isBlank()) { + + sql.append(""" + AND DATE(bd.end_date) <= ? + """); + + params.add(toDate); + } + + if (zone != null && !zone.isBlank()) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) = ? + """); + + params.add(zone); + } + + if (hallId != null && !hallId.isBlank()) { + + sql.append(""" + AND hd.hall_id = ? + """); + + params.add(hallId); + } + + if (status != null && !status.isBlank()) { + + sql.append(""" + AND ( + CASE + WHEN hd.is_active = 1 + THEN 'Active Hall' + ELSE 'Deactivated Hall' + END + ) = ? + """); + + params.add(status); + } + + if (region != null && !region.isBlank()) { + + if ("North".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 1 AND 5 + """); + } + + if ("Center".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 6 AND 10 + """); + } + + if ("South".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 11 AND 15 + """); + } + } + + sql.append(""" + GROUP BY + hd.zone, + hd.division, + hd.hall_id + + ORDER BY + CAST(hd.zone AS UNSIGNED), + CAST(hd.division AS UNSIGNED), + hd.hall_id + """); + + return jdbcTemplate.queryForList( + sql.toString(), + params.toArray()); + } + + public List> getRefundPendingDetails( + String type, + String hallId, + String fromDate, + String toDate, + String zone, + String region, + String status) { + + StringBuilder sql = new StringBuilder(); + + sql.append( + """ + SELECT + bd.booking_id, + us.name AS user_name, + us.mobile_no, + hd.hall_incharge_name, + hd.hall_incharge_no, + DATE_FORMAT(bd.end_date,'%d-%m-%Y') AS event_date, + + CASE + WHEN ed.updated_date IS NULL THEN 'EB Not entered' + ELSE DATEDIFF(current_date, bd.end_date) + END AS care_taker_pending_days, + + DATE_FORMAT(ed.updated_date,'%d-%m-%Y %r') AS caretaker_updated_date, + + CASE + WHEN ed.updated_date IS NULL THEN 'Action not taken' + ELSE DATEDIFF(st.approved_flag_date, ed.updated_date) + END AS ARO_pending_days, + + DATE_FORMAT(st.approved_flag_date,'%d-%m-%Y %r') AS ARO_action_taken_date + + FROM hall_details hd + LEFT JOIN booking_details bd + ON hd.hall_id = bd.hall_details_hall_id + AND bd.booking_status NOT IN ('PENDING','REFUNDED','GCC_BLOCKED','GCC_UNBLOCKED') + AND bd.booking_status IS NOT NULL + + LEFT JOIN users us + ON bd.users_user_id = us.user_id + + LEFT JOIN eb_details ed + ON bd.booking_id = ed.booking_details_booking_id + + LEFT JOIN settlement st + ON bd.booking_id = st.booking_details_booking_id + + WHERE 1=1 + """); + + List params = new ArrayList<>(); + + // -------------------------------------------------- + // TYPE CONDITIONS + // -------------------------------------------------- + + if ("PENDING_0_5".equals(type)) { + + sql.append(""" + AND bd.refund_status != 'COMPLETED' + AND bd.booking_status NOT IN ('CANCELED','REJECTED') + AND DATE(bd.end_date) < CURRENT_DATE + AND DATEDIFF(CURRENT_DATE, DATE(bd.end_date)) + BETWEEN 0 AND 5 + """); + + } else if ("PENDING_6_15".equals(type)) { + + sql.append(""" + AND bd.refund_status != 'COMPLETED' + AND bd.booking_status NOT IN ('CANCELED','REJECTED') + AND DATE(bd.end_date) < CURRENT_DATE + AND DATEDIFF(CURRENT_DATE, DATE(bd.end_date)) + BETWEEN 6 AND 15 + """); + + } else if ("PENDING_16_30".equals(type)) { + + sql.append(""" + AND bd.refund_status != 'COMPLETED' + AND bd.booking_status NOT IN ('CANCELED','REJECTED') + AND DATE(bd.end_date) < CURRENT_DATE + AND DATEDIFF(CURRENT_DATE, DATE(bd.end_date)) + BETWEEN 16 AND 30 + """); + + } else if ("PENDING_GT_30".equals(type)) { + + sql.append(""" + AND bd.refund_status != 'COMPLETED' + AND bd.booking_status NOT IN ('CANCELED','REJECTED') + AND DATE(bd.end_date) < CURRENT_DATE + AND DATEDIFF(CURRENT_DATE, DATE(bd.end_date)) + > 30 + """); + + } else if ("CANCELLED_PENDING".equals(type)) { + + sql.append(""" + AND bd.refund_status != 'COMPLETED' + AND bd.booking_status = 'CANCELED' + """); + + } else if ("REJECTED_PENDING".equals(type)) { + + sql.append(""" + AND bd.refund_status != 'COMPLETED' + AND bd.booking_status = 'REJECTED' + """); + } + + // -------------------------------------------------- + // DATE FILTERS + // -------------------------------------------------- + + if (fromDate != null && !fromDate.isBlank()) { + + sql.append(""" + AND DATE(bd.end_date) >= ? + """); + + params.add(fromDate); + } + + if (toDate != null && !toDate.isBlank()) { + + sql.append(""" + AND DATE(bd.end_date) <= ? + """); + + params.add(toDate); + } + + // -------------------------------------------------- + // ZONE FILTER + // -------------------------------------------------- + + if (zone != null && !zone.isBlank()) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) = ? + """); + + params.add(zone); + } + + // -------------------------------------------------- + // HALL FILTER + // -------------------------------------------------- + + if (hallId != null && !hallId.isBlank()) { + + sql.append(""" + AND hd.hall_id = ? + """); + + params.add(hallId); + } + + // -------------------------------------------------- + // STATUS FILTER + // -------------------------------------------------- + + if (status != null && !status.isBlank()) { + + sql.append(""" + AND ( + CASE + WHEN hd.is_active = 1 + THEN 'Active Hall' + ELSE 'Deactivated Hall' + END + ) = ? + """); + + params.add(status); + } + + // -------------------------------------------------- + // REGION FILTER + // -------------------------------------------------- + + if (region != null && !region.isBlank()) { + + if ("North".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 1 AND 5 + """); + } + + else if ("Center".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 6 AND 10 + """); + } + + else if ("South".equals(region)) { + + sql.append(""" + AND CAST(hd.zone AS UNSIGNED) + BETWEEN 11 AND 15 + """); + } + } + + sql.append(""" + ORDER BY + CAST(hd.zone AS UNSIGNED), + CAST(hd.division AS UNSIGNED), + hd.hall_id, + bd.booking_id + """); + + return jdbcTemplate.queryForList( + sql.toString(), + params.toArray()); + } +} diff --git a/src/main/resources/templates/modules/community.html b/src/main/resources/templates/modules/community.html new file mode 100644 index 0000000..82e09d1 --- /dev/null +++ b/src/main/resources/templates/modules/community.html @@ -0,0 +1,742 @@ + + + + + Community Hall Booking Report + + + + + + + + + + + + + + + + +
+
+

Community Hall Popularity Report

+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ + +
+ +
+ + + +
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoZoneDivisionHall IdHall NameCreated DateStatusCaretaker NameCaretaker NoBooking Available DaysTotal BookingsHalf DayFull Day1.5 Days2 Days
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/modules/communitycaretaker.html b/src/main/resources/templates/modules/communitycaretaker.html new file mode 100644 index 0000000..392f9f1 --- /dev/null +++ b/src/main/resources/templates/modules/communitycaretaker.html @@ -0,0 +1,928 @@ + + + + + Community Hall CareTaker Performance Report + + + + + + + + + + + + + + + + +
+
+

Community Hall CareTaker Performance Report

+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ + +
+ +
+ + + +
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoZoneDivisionHall IdHall NameHall Created OnHall StatusCaretaker NameMobile NoTotal BookingCancelled
Bookings
Rejected
Booking
Event Completed
Bookings
Cancelled Refund
Completed
Rejected Refund
Completed
Refund CompletedRefund Pending
0-5 Days6-15 Days16-30 DaysMore than
30 Days
Total Refund
Completed
0-5 Days6-15 Days16-30 DaysMore than
30 Days
Cancelled
Booking
Rejected
Booking
Total Refund
Pending
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/modules/communityrefund.html b/src/main/resources/templates/modules/communityrefund.html new file mode 100644 index 0000000..1f2c159 --- /dev/null +++ b/src/main/resources/templates/modules/communityrefund.html @@ -0,0 +1,1006 @@ + + + + + Community Hall Refund Review Report + + + + + + + + + + + + + + + + +
+
+

Community Hall Refund Review Report

+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ + +
+ +
+ + + +
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoZoneDivisionHall IdHall NameHall Created OnHall StatusCaretaker NameMobile NoTotal BookingCancelled
Bookings
Rejected
Booking
Event Completed
Bookings
Refund CompletedRefund Pending
Cancelled
Booking
Rejected
Booking
Settlement
Completed
0-5 Days6-15 Days16-30 DaysMore than
30 Days
Cancelled
Booking
Rejected
Booking
Total
Pending
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file