NYBU#28790 res_rsv_ruimte_totaal afgesproken totaal erbij

svn path=/Database/trunk/; revision=23058
This commit is contained in:
Jos Groot Lipman
2014-10-22 11:29:39 +00:00
parent 1b111bc06e
commit 761c7bf9ef
5 changed files with 44 additions and 28 deletions

View File

@@ -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)