13 changed files with 2318 additions and 239 deletions
-
12src/main/java/com/gcc/commissionerreview/configuration/DataSourceConfig.java
-
15src/main/java/com/gcc/commissionerreview/controller/CoworkspaceApicontroller.java
-
5src/main/java/com/gcc/commissionerreview/controller/MainController.java
-
51src/main/java/com/gcc/commissionerreview/controller/SwimmingPoolApiController.java
-
4src/main/java/com/gcc/commissionerreview/service/CommunityHallService.java
-
130src/main/java/com/gcc/commissionerreview/service/CoworkspaceService.java
-
159src/main/java/com/gcc/commissionerreview/service/SwimmingPoolApiService.java
-
187src/main/resources/templates/modules/community.html
-
178src/main/resources/templates/modules/communitycaretaker.html
-
108src/main/resources/templates/modules/communityrefund.html
-
8src/main/resources/templates/modules/communityreport.html
-
281src/main/resources/templates/modules/coworkspace.html
-
1105src/main/resources/templates/modules/swimmingpoolreport.html
@ -0,0 +1,51 @@ |
|||
package com.gcc.commissionerreview.controller; |
|||
|
|||
import com.gcc.commissionerreview.service.SwimmingPoolApiService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
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 java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@RestController |
|||
@RequestMapping("/commissionerreview/api/swimmingpoolreport") |
|||
|
|||
public class SwimmingPoolApiController { |
|||
|
|||
@Autowired |
|||
private SwimmingPoolApiService swimmingPoolApiService ; |
|||
|
|||
|
|||
@GetMapping("/getBookDetails") |
|||
public List<Map<String, Object>> getAbstractReport(){ |
|||
|
|||
return swimmingPoolApiService.getBookDetails(); |
|||
} |
|||
|
|||
|
|||
|
|||
@GetMapping("/getAbstractReport") |
|||
public List<Map<String, Object>> getAbstractReport( |
|||
|
|||
@RequestParam(required = false) String fromDate, |
|||
@RequestParam(required = false) String toDate) { |
|||
|
|||
return swimmingPoolApiService.getAbstractReport(fromDate, toDate); |
|||
} |
|||
|
|||
|
|||
@GetMapping("/getDetailsReport") |
|||
public List<Map<String, Object>> getDetailsReport( |
|||
@RequestParam String registerDate, |
|||
@RequestParam Integer slotOrder) { |
|||
|
|||
return swimmingPoolApiService.getDetailsReport(registerDate, slotOrder); |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,159 @@ |
|||
package com.gcc.commissionerreview.service; |
|||
|
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.beans.factory.annotation.Qualifier; |
|||
import org.springframework.jdbc.core.JdbcTemplate; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import javax.sql.DataSource; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
public class SwimmingPoolApiService { |
|||
|
|||
@Autowired |
|||
private JdbcTemplate jdbcTemplate; |
|||
|
|||
@Autowired |
|||
public void setFeedbackDataSource(@Qualifier("mysqlSwimmingPoolDataSource") DataSource dataSource) { |
|||
this.jdbcTemplate = new JdbcTemplate(dataSource); |
|||
} |
|||
|
|||
|
|||
|
|||
public List<Map<String, Object>> getAbstractReport(String fromDate, String toDate) { |
|||
|
|||
String sql = |
|||
"SELECT " + |
|||
"DATE_FORMAT(t.c_date, '%d-%m-%Y') AS c_date, " + |
|||
"t.total_revenue, " + |
|||
"t.slot1_count, " + |
|||
"t.slot2_count, " + |
|||
"t.slot3_count, " + |
|||
"t.slot4_count, " + |
|||
"t.slot5_count, " + |
|||
"t.slot6_count, " + |
|||
"t.slot7_count, " + |
|||
"t.slot8_count, " + |
|||
"t.slot9_count, " + |
|||
"t.slot10_count, " + |
|||
"t.slot11_count, " + |
|||
"t.slot12_count, " + |
|||
"t.slot13_count, " + |
|||
"t.slot14_count " + |
|||
"FROM ( " + |
|||
"SELECT " + |
|||
"DATE(bd.cdate) AS c_date, " + |
|||
"SUM(bd.total_amount) AS total_revenue, " + |
|||
"SUM(CASE WHEN bd.slot_order = 1 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot1_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 2 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot2_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 3 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot3_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 4 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot4_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 5 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot5_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 6 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot6_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 7 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot7_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 8 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot8_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 9 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot9_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 10 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot10_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 11 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot11_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 12 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot12_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 13 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot13_count, " + |
|||
"SUM(CASE WHEN bd.slot_order = 14 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot14_count " + |
|||
"FROM booking_details bd " + |
|||
"LEFT JOIN payment py ON py.order_id = bd.orderid " + |
|||
"WHERE py.payment_status = 'paid' " + |
|||
"AND bd.is_active = 1 " + |
|||
"AND bd.is_delete = 0 " + |
|||
"AND bd.booking_mode = 'ONLINE' "; |
|||
|
|||
List<Object> params = new ArrayList<>(); |
|||
|
|||
if (fromDate != null && !fromDate.isBlank() |
|||
&& toDate != null && !toDate.isBlank()) { |
|||
|
|||
sql += " AND DATE(bd.cdate) BETWEEN ? AND ? "; |
|||
params.add(fromDate); |
|||
params.add(toDate); |
|||
} |
|||
|
|||
sql += " GROUP BY DATE(bd.cdate) ) t "; |
|||
sql += " ORDER BY t.c_date DESC"; |
|||
|
|||
return jdbcTemplate.queryForList(sql, params.toArray()); |
|||
} |
|||
|
|||
/*public List<Map<String, Object>> getAbstractReport(String fromDate, String toDate) { |
|||
|
|||
|
|||
|
|||
String sql = " SELECT DATE_FORMAT(DATE(bd.cdate), '%d-%m-%Y') AS c_date, SUM(bd.total_amount) AS total_revenue, " + |
|||
|
|||
" SUM(CASE WHEN bd.slot_order = 1 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot1_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 2 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot2_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 3 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot3_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 4 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot4_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 5 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot5_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 6 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot6_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 7 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot7_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 8 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot8_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 9 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot9_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 10 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot10_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 11 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot11_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 12 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot12_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 13 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot13_count, " + |
|||
" SUM(CASE WHEN bd.slot_order = 14 THEN (bd.no_of_adults + bd.no_of_kids) ELSE 0 END) AS slot14_count " + |
|||
|
|||
" FROM booking_details bd " + |
|||
" LEFT JOIN payment py ON py.order_id = bd.orderid " + |
|||
" WHERE py.payment_status = 'paid' AND bd.is_active = 1 AND bd.is_delete = 0 AND bd.booking_mode = 'ONLINE' " ; |
|||
|
|||
|
|||
List<Object> params = new ArrayList<>(); |
|||
|
|||
if (fromDate != null && !fromDate.isBlank() |
|||
&& toDate != null && !toDate.isBlank()) { |
|||
|
|||
sql += " AND DATE(bd.cdate) BETWEEN ? AND ? "; |
|||
params.add(fromDate); |
|||
params.add(toDate); |
|||
} |
|||
|
|||
sql += " group by date(bd.cdate) " ; |
|||
|
|||
sql += " order by date(bd.cdate) desc "; |
|||
|
|||
System.out.println(sql); |
|||
|
|||
return jdbcTemplate.queryForList(sql, params.toArray()); |
|||
}*/ |
|||
|
|||
|
|||
|
|||
public List<Map<String, Object>> getDetailsReport(String registerDate, |
|||
Integer slotOrder) { |
|||
|
|||
String sql = " SELECT " + |
|||
" bd.mobile_no,bd.name,DATE_FORMAT(bd.slot_from_date, '%d-%m-%Y') AS slot_from_date,DATE_FORMAT(bd.slot_to_date, '%d-%m-%Y') AS slot_to_date,bd.total_amount,(bd.no_of_adults + bd.no_of_kids) AS total_members, " + |
|||
" st.slot_timing " + |
|||
" FROM booking_details bd " + |
|||
" LEFT JOIN payment py ON py.order_id = bd.orderid " + |
|||
" LEFT JOIN slot_timing st ON st.id = bd.slot_order " + |
|||
" WHERE py.payment_status = 'paid' AND bd.is_active = 1 AND bd.is_delete = 0 " + |
|||
" AND bd.booking_mode = 'ONLINE' AND DATE(bd.cdate) = STR_TO_DATE(?, '%d-%m-%Y') AND bd.slot_order = ? " ; |
|||
|
|||
return jdbcTemplate.queryForList(sql, registerDate, slotOrder); |
|||
} |
|||
|
|||
|
|||
public List<Map<String, Object>> getBookDetails() { |
|||
|
|||
String sql = " select count(bd.id) AS total_bookings,sum(bd.total_amount) AS total_revenue from booking_details bd " + |
|||
" left join payment py on py.order_id = bd.orderid " + |
|||
" where bd.booking_mode = 'ONLINE' AND bd.is_active = 1 AND bd.is_delete = 0 AND py.payment_status = 'paid' " ; |
|||
|
|||
return jdbcTemplate.queryForList(sql); |
|||
} |
|||
|
|||
} |
|||
1105
src/main/resources/templates/modules/swimmingpoolreport.html
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue