NYBU#28781: RES: aparte zaalprijzen voor intern en extern.

svn path=/Database/trunk/; revision=23587
This commit is contained in:
Maykel Geerdink
2014-12-08 13:30:09 +00:00
parent 7d8488b8cb
commit 3a366b1561
2 changed files with 27 additions and 20 deletions

View File

@@ -1028,8 +1028,6 @@ AS
price_allday res_ruimte.res_ruimte_prijs_dag%TYPE;
room_price_total res_rsv_ruimte.res_rsv_ruimte_prijs%TYPE;
afgesprokentotaal res_rsv_ruimte.res_rsv_ruimte_totaal%TYPE;
prs_kostenplaats_extern prs_kostenplaats.prs_kostenplaats_extern%TYPE;
ruimte_prijsfactor_intern res_ruimte.res_ruimte_prijsfactor_intern%TYPE;
res_ruimte_length NUMBER;
res_ruimte_begin NUMBER;
@@ -1119,19 +1117,37 @@ AS
-- Wat basisgegevens
BEGIN
SELECT COALESCE (ru.res_ruimte_prijs, 0),
SELECT CASE COALESCE (kp.prs_kostenplaats_extern, 0)
WHEN 0
THEN COALESCE (ru.res_ruimte_intprijs, 0) -- Intern
ELSE COALESCE (ru.res_ruimte_prijs, 0) -- Extern
END,
ru.res_ruimte_prijs_vast,
COALESCE (ru.res_ruimte_prijs_ochtend, 0),
COALESCE (ru.res_ruimte_prijs_middag, 0),
COALESCE (ru.res_ruimte_prijs_avond, 0),
COALESCE (ru.res_ruimte_prijs_dag, 0),
CASE COALESCE (kp.prs_kostenplaats_extern, 0)
WHEN 0
THEN COALESCE (ru.res_ruimte_intprijs_ochtend, 0) -- Intern
ELSE COALESCE (ru.res_ruimte_prijs_ochtend, 0) -- Extern
END,
CASE COALESCE (kp.prs_kostenplaats_extern, 0)
WHEN 0
THEN COALESCE (ru.res_ruimte_intprijs_middag, 0) -- Intern
ELSE COALESCE (ru.res_ruimte_prijs_middag, 0) -- Extern
END,
CASE COALESCE (kp.prs_kostenplaats_extern, 0)
WHEN 0
THEN COALESCE (ru.res_ruimte_intprijs_avond, 0) -- Intern
ELSE COALESCE (ru.res_ruimte_prijs_avond, 0) -- Extern
END,
CASE COALESCE (kp.prs_kostenplaats_extern, 0)
WHEN 0
THEN COALESCE (ru.res_ruimte_intprijs_dag, 0) -- Intern
ELSE COALESCE (ru.res_ruimte_prijs_dag, 0) -- Extern
END,
fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_tot - rr.res_rsv_ruimte_van)) * 24,
fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_van, 'HH24'))
+ fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_van, 'MI')) / 60,
fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_tot, 'HH24'))
+ fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_tot, 'MI')) / 60,
COALESCE (kp.prs_kostenplaats_extern, 0),
ru.res_ruimte_prijsfactor_intern
+ fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_tot, 'MI')) / 60
INTO room_price,
room_price_fixed,
price_morning,
@@ -1140,9 +1156,7 @@ AS
price_allday,
res_ruimte_length,
res_ruimte_begin,
res_ruimte_end,
prs_kostenplaats_extern,
ruimte_prijsfactor_intern
res_ruimte_end
FROM res_rsv_ruimte rr, res_ruimte_opstelling ro, res_ruimte ru, prs_kostenplaats kp
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND rr.prs_kostenplaats_key = kp.prs_kostenplaats_key (+) -- of isdie verplicht?
@@ -1377,12 +1391,6 @@ AS
thisroomprice := 0;
END IF;
-- Hier rekening houden met intern/extern tarief
IF prs_kostenplaats_extern = 0
THEN
thisroomprice := thisroomprice * COALESCE(ruimte_prijsfactor_intern,fac.safe_to_number (fac.getsetting ('res_ruimte_prijsfactor_intern')));
END IF;
-- Doorbelastingspercentage (bij annuleren) op het laatste moment nog.
-- Voor de berekening van de doorbelasting moet gerekend worden met een op twee decimalen afgeronde ruimteprijs.
thisroomprice := ROUND(thisroomprice, 2) * doorbelasting / 100;