[FIX] pms-api-rest: fix dashboard state rooms service

This commit is contained in:
miguelpadin
2024-02-22 09:06:08 +00:00
committed by Darío Lodeiros
parent 7d8976696f
commit 1225d8887e

View File

@@ -159,13 +159,15 @@ class PmsDashboardServices(Component):
self.env.cr.execute( self.env.cr.execute(
""" """
SELECT d.date, SELECT d.date,
COALESCE(rln.num_occupied_rooms, 0) AS num_occupied_rooms, COALESCE(rln.num_occupied_rooms, 0) num_occupied_rooms,
COALESCE( rlo.num_out_of_service_rooms, 0) AS num_out_of_service_rooms, COALESCE( rlo.num_out_of_service_rooms, 0) num_out_of_service_rooms,
COUNT(r.id) free_rooms COALESCE(total_rooms.num_total_rooms, 0)
- COALESCE(rln.num_occupied_rooms, 0)
- COALESCE( rlo.num_out_of_service_rooms, 0) free_rooms
FROM FROM
( (
SELECT (CURRENT_DATE + date) date SELECT (CURRENT_DATE + date) date
FROM generate_series(date %s- CURRENT_DATE, date %s - CURRENT_DATE FROM generate_series(date %s - CURRENT_DATE, date %s - CURRENT_DATE
) date) d ) date) d
LEFT OUTER JOIN (SELECT COUNT(1) num_occupied_rooms, date LEFT OUTER JOIN (SELECT COUNT(1) num_occupied_rooms, date
FROM pms_reservation_line l FROM pms_reservation_line l
@@ -182,16 +184,12 @@ class PmsDashboardServices(Component):
AND l.occupies_availability AND l.occupies_availability
AND r.reservation_type = 'out' AND r.reservation_type = 'out'
GROUP BY date GROUP BY date
) rlo ON rlo.date = d.date, ) rlo ON rlo.date = d.date
pms_room r LEFT OUTER JOIN (SELECT COUNT(1) num_total_rooms
WHERE r.pms_property_id = %s FROM pms_room
AND r.id NOT IN (SELECT room_id WHERE pms_property_id = %s
FROM pms_reservation_line l ) total_rooms ON true
WHERE l.date = d.date GROUP BY d.date, num_occupied_rooms, num_out_of_service_rooms, num_total_rooms
AND l.occupies_availability
AND l.pms_property_id = %s
)
GROUP BY d.date, num_occupied_rooms, num_out_of_service_rooms
ORDER BY d.date ORDER BY d.date
""", """,
( (
@@ -200,7 +198,6 @@ class PmsDashboardServices(Component):
pms_dashboard_search_param.pmsPropertyId, pms_dashboard_search_param.pmsPropertyId,
pms_dashboard_search_param.pmsPropertyId, pms_dashboard_search_param.pmsPropertyId,
pms_dashboard_search_param.pmsPropertyId, pms_dashboard_search_param.pmsPropertyId,
pms_dashboard_search_param.pmsPropertyId,
), ),
) )