[IMP] pms-api-rest: res. lines add price_day_total & price_day_total_services

This commit is contained in:
miguelpadin
2022-11-02 19:49:57 +01:00
committed by Darío Lodeiros
parent b4aa797638
commit fb4c9a83c1
2 changed files with 12 additions and 2 deletions

View File

@@ -68,7 +68,8 @@ class PmsCalendarInfo(Datamodel):
nextLineSplitted = fields.Boolean(required=False, allow_none=True)
previousLineSplitted = fields.Boolean(required=False, allow_none=True)
closureReason = fields.String(required=False, allow_none=True)
priceDayTotal = fields.Number(required=False, allow_none=True)
priceDayTotalServices = fields.Number(required=False, allow_none=True)
class PmsCalendarAlertsPerDay(Datamodel):
_name = "pms.calendar.alerts.per.day"

View File

@@ -30,7 +30,12 @@ class PmsCalendarService(Component):
count_nights = (date_to - date_from).days + 1
target_dates = [date_from + timedelta(days=x) for x in range(count_nights)]
pms_property_id = calendar_search_param.pmsPropertyId
subselect_sum_services_price = "(" \
" SELECT COALESCE(SUM(s.price_day_total),0) price_day_total_services " \
" FROM pms_service_line s " \
" WHERE s.reservation_id = night.reservation_id " \
" AND s.date = night.date AND NOT s.is_board_service " \
" ) "
selected_fields_mapper = {
"id": "night.id",
"state": "night.state",
@@ -50,6 +55,8 @@ class PmsCalendarService(Component):
"price_total": "reservation.price_total",
"folio_pending_amount": "folio.pending_amount",
"adults": "reservation.adults",
"price_day_total": "night.price_day_total",
"price_day_total_services": subselect_sum_services_price
}
selected_fields_sql = list(selected_fields_mapper.values())
selected_fields = list(selected_fields_mapper.keys())
@@ -132,6 +139,8 @@ class PmsCalendarService(Component):
isLastNight=is_last_night,
totalPrice=round(line["price_total"], 2),
pendingPayment=round(line["folio_pending_amount"], 2),
priceDayTotal=round(line["price_day_total"], 0),
priceDayTotalServices=round(line["price_day_total_services"], 0),
# TODO: line.reservation_id.message_needaction_counter is computed field,
numNotifications=0,
adults=line["adults"],