aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
sp_tr_rsv_pickup_rate_revenue
Parameters
Name
Type
Mode
Definition
BEGIN IF NEW.rate_revenue IS NULL THEN IF NEW.status = 'AMD' AND NEW.room_qty < 0 THEN SELECT -ABS(src.rate_revenue) INTO NEW.rate_revenue FROM public.rsv_pickup src WHERE src.booking_id = NEW.booking_id AND src.booking_item = NEW.booking_item AND src.room_qty > 0 AND src.rate_revenue IS NOT NULL ORDER BY src.id DESC LIMIT 1; ELSE NEW.rate_revenue := public.fn_booking_rate_revenue(NEW.booking_item); END IF; NEW.rate_revenue := COALESCE( NEW.rate_revenue, CASE WHEN NEW.status = 'AMD' THEN NEW.room_charge END, NEW.room_rate * GREATEST(NEW.departure - NEW.arrival, 1) * CASE WHEN COALESCE(NEW.room_qty, 1) < 0 THEN -1 ELSE 1 END ); END IF; RETURN NEW; END