NYBU#28790 res_rsv_ruimte_totaal afgesproken totaal erbij
svn path=/Database/trunk/; revision=23058
This commit is contained in:
@@ -1028,7 +1028,6 @@ AS
|
||||
price_allday res_ruimte.res_ruimte_prijs_dag%TYPE;
|
||||
room_price_total res_rsv_ruimte.res_rsv_ruimte_prijs%TYPE;
|
||||
prs_kostenplaats_extern prs_kostenplaats.prs_kostenplaats_extern%TYPE;
|
||||
res_rsv_korting res_rsv_ruimte.res_rsv_ruimte_korting%TYPE;
|
||||
ruimte_prijsfactor_intern res_ruimte.res_ruimte_prijsfactor_intern%TYPE;
|
||||
|
||||
res_ruimte_length NUMBER;
|
||||
@@ -1124,8 +1123,7 @@ AS
|
||||
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,
|
||||
COALESCE (rr.res_rsv_ruimte_korting, 0)
|
||||
ru.res_ruimte_prijsfactor_intern
|
||||
INTO room_price,
|
||||
room_price_fixed,
|
||||
price_morning,
|
||||
@@ -1136,8 +1134,7 @@ AS
|
||||
res_ruimte_begin,
|
||||
res_ruimte_end,
|
||||
prs_kostenplaats_extern,
|
||||
ruimte_prijsfactor_intern,
|
||||
res_rsv_korting
|
||||
ruimte_prijsfactor_intern
|
||||
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?
|
||||
@@ -1546,7 +1543,8 @@ AS
|
||||
ruimteprijs NUMBER := 0;
|
||||
artikelprijs NUMBER := 0;
|
||||
deelprijs NUMBER := 0;
|
||||
korting NUMBER := 0;
|
||||
korting res_rsv_ruimte.res_rsv_ruimte_korting%TYPE;
|
||||
totaal res_rsv_ruimte.res_rsv_ruimte_totaal%TYPE;
|
||||
verwijderdatum res_rsv_ruimte.res_rsv_ruimte_verwijder%TYPE;
|
||||
statusfokey res_rsv_ruimte.res_status_fo_key%TYPE;
|
||||
CURSOR cartikel
|
||||
@@ -1562,35 +1560,39 @@ AS
|
||||
WHERE res_rsv_deel_dirtlevel = 0
|
||||
AND res_rsv_ruimte_key = pres_rsv_ruimte_key;
|
||||
BEGIN
|
||||
ruimteprijs := res.getruimteprijs(pres_rsv_ruimte_key);
|
||||
FOR ca IN cartikel
|
||||
loop
|
||||
artikelprijs := artikelprijs + res.getartikelprijs(ca.res_rsv_artikel_key);
|
||||
end loop;
|
||||
FOR cd IN cdeel
|
||||
loop
|
||||
deelprijs := deelprijs + res.getdeelprijs(cd.res_rsv_deel_key);
|
||||
end loop;
|
||||
|
||||
-- Is de reservering verwijderd
|
||||
SELECT rrr.res_rsv_ruimte_verwijder,
|
||||
rrr.res_status_fo_key
|
||||
rrr.res_status_fo_key,
|
||||
COALESCE(res_rsv_ruimte_korting, 0),
|
||||
res_rsv_ruimte_totaal
|
||||
INTO verwijderdatum,
|
||||
statusfokey
|
||||
statusfokey,
|
||||
korting,
|
||||
totaal
|
||||
FROM res_rsv_ruimte rrr
|
||||
WHERE rrr.res_rsv_ruimte_key = pres_rsv_ruimte_key;
|
||||
|
||||
-- Bepaal doorbelasting korting
|
||||
-- Bepaal doorbelasting korting of afgesproken totaal
|
||||
IF verwijderdatum IS NOT NULL AND statusfokey != 4 -- Verwijderde reservering met FO status die niet is vervallen: 0% korting doorberekenen.
|
||||
THEN
|
||||
korting := 0;
|
||||
ELSE -- Actuele reservering of verwijderde reservering met FO status is vervallen: 100% korting doorberekenen
|
||||
SELECT COALESCE(res_rsv_ruimte_korting, 0)
|
||||
INTO korting
|
||||
FROM res_rsv_ruimte
|
||||
WHERE res_rsv_ruimte_key = pres_rsv_ruimte_key;
|
||||
IF totaal IS NOT NULL
|
||||
THEN
|
||||
return totaal; -- dit is simpel
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
ruimteprijs := res.getruimteprijs(pres_rsv_ruimte_key);
|
||||
FOR ca IN cartikel
|
||||
LOOP
|
||||
artikelprijs := artikelprijs + res.getartikelprijs(ca.res_rsv_artikel_key);
|
||||
END LOOP;
|
||||
FOR cd IN cdeel
|
||||
LOOP
|
||||
deelprijs := deelprijs + res.getdeelprijs(cd.res_rsv_deel_key);
|
||||
END LOOP;
|
||||
|
||||
RETURN ruimteprijs + artikelprijs + deelprijs - korting;
|
||||
END;
|
||||
FUNCTION sprintf (ps IN VARCHAR2 , pres_rsv_ruimte_key IN NUMBER)
|
||||
|
||||
Reference in New Issue
Block a user