UWVA#21022
svn path=/Database/trunk/; revision=10931
This commit is contained in:
172
RES/RES_PAC.SRC
172
RES/RES_PAC.SRC
@@ -1,8 +1,8 @@
|
||||
#ifdef RES
|
||||
/* RES_PAC.SRC
|
||||
*
|
||||
* $Revision: 72 $
|
||||
* $Modtime: 12-09-11 16:33 $
|
||||
* $Revision: 73 $
|
||||
* $Modtime: 20-10-11 13:03 $
|
||||
*/
|
||||
|
||||
CREATE OR REPLACE PACKAGE res AS
|
||||
@@ -918,28 +918,68 @@ AS
|
||||
END;
|
||||
FUNCTION getruimteprijs (pres_rsv_ruimte_key IN NUMBER)
|
||||
RETURN NUMBER IS
|
||||
room_price res_ruimte.res_ruimte_prijs%TYPE;
|
||||
room_price_fixed res_ruimte.res_ruimte_prijs_vast%TYPE;
|
||||
price_morning res_ruimte.res_ruimte_prijs_ochtend%TYPE;
|
||||
price_afternoon res_ruimte.res_ruimte_prijs_middag%TYPE;
|
||||
price_evening res_ruimte.res_ruimte_prijs_avond%TYPE;
|
||||
room_price_total res_rsv_ruimte.res_rsv_ruimte_prijs%TYPE;
|
||||
res_ruimte_length NUMBER;
|
||||
res_ruimte_begin NUMBER;
|
||||
res_ruimte_end NUMBER;
|
||||
res_length_morning NUMBER;
|
||||
res_length_afternoon NUMBER;
|
||||
res_length_evening NUMBER;
|
||||
lres_t_middag NUMBER;
|
||||
lres_t_avond NUMBER;
|
||||
room_price res_ruimte.res_ruimte_prijs%TYPE;
|
||||
room_price_fixed res_ruimte.res_ruimte_prijs_vast%TYPE;
|
||||
price_morning res_ruimte.res_ruimte_prijs_ochtend%TYPE;
|
||||
price_afternoon res_ruimte.res_ruimte_prijs_middag%TYPE;
|
||||
price_evening res_ruimte.res_ruimte_prijs_avond%TYPE;
|
||||
room_price_total res_rsv_ruimte.res_rsv_ruimte_prijs%TYPE;
|
||||
res_ruimte_length NUMBER;
|
||||
res_ruimte_begin NUMBER;
|
||||
res_ruimte_end NUMBER;
|
||||
res_length_morning NUMBER;
|
||||
res_length_afternoon NUMBER;
|
||||
res_length_evening NUMBER;
|
||||
lres_t_middag NUMBER;
|
||||
lres_t_avond NUMBER;
|
||||
verwijderdatum res_rsv_ruimte.res_rsv_ruimte_verwijder%TYPE;
|
||||
statusfokey res_rsv_ruimte.res_status_fo_key%TYPE;
|
||||
doorbelasting res_disc_params.res_disc_params_kosten%TYPE;
|
||||
BEGIN
|
||||
-- Is de reservering verwijderd
|
||||
SELECT rrr.res_rsv_ruimte_verwijder,
|
||||
rrr.res_status_fo_key
|
||||
INTO verwijderdatum,
|
||||
statusfokey
|
||||
FROM res_rsv_ruimte rrr
|
||||
WHERE rrr.res_rsv_ruimte_key = pres_rsv_ruimte_key;
|
||||
|
||||
-- Bepaal doorbelasting
|
||||
IF verwijderdatum IS NULL -- Actuele reservering: 100% kosten doorberekenen.
|
||||
THEN
|
||||
doorbelasting := 100;
|
||||
ELSIF statusfokey = 4 -- Verwijderde reservering en FO status is vervallen: X% kosten doorberekenen
|
||||
THEN
|
||||
-- Hoeveel moet worden doorbelast
|
||||
BEGIN
|
||||
-- Hoeveel van de ruimte kosten doorberekenen
|
||||
SELECT rdp.res_disc_params_kosten
|
||||
INTO doorbelasting
|
||||
FROM res_rsv_ruimte rrr,
|
||||
res_ruimte_opstelling rro,
|
||||
res_ruimte rr,
|
||||
res_disc_params rdp
|
||||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||||
AND rr.res_discipline_key = rdp.res_ins_discipline_key
|
||||
AND rrr.res_rsv_ruimte_key = pres_rsv_ruimte_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- Geen R-reservering maar een CV-reservering, dan kost de ruimte niks
|
||||
RETURN 0;
|
||||
END;
|
||||
ELSE -- Verwijderde reservering en FO status is niet vervallen: 0% kosten doorberekenen
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
-- Als Uitgevoerd/verwerkt, dan is de prijs al geregistreerd en bekend
|
||||
BEGIN
|
||||
SELECT res_rsv_ruimte_prijs
|
||||
INTO room_price
|
||||
FROM res_rsv_ruimte
|
||||
WHERE res_rsv_ruimte_key = pres_rsv_ruimte_key AND res_status_bo_key IN (5, 6);
|
||||
RETURN room_price;
|
||||
RETURN room_price * doorbelasting / 100;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1022,22 +1062,37 @@ AS
|
||||
END IF;
|
||||
room_price_total := room_price * res_ruimte_length;
|
||||
END IF;
|
||||
RETURN room_price_total;
|
||||
RETURN room_price_total * doorbelasting / 100;
|
||||
END;
|
||||
FUNCTION getdeelprijs (pres_rsv_deel_key IN NUMBER)
|
||||
RETURN NUMBER IS
|
||||
deel_price res_deel.res_deel_prijs%TYPE;
|
||||
deel_price_fixed res_deel.res_deel_prijs_vast%TYPE;
|
||||
deel_price_total res_rsv_deel.res_rsv_deel_prijs%TYPE;
|
||||
res_deel_length NUMBER;
|
||||
res_deel_begin NUMBER;
|
||||
res_deel_end NUMBER;
|
||||
res_length_morning NUMBER;
|
||||
res_length_afternoon NUMBER;
|
||||
res_length_evening NUMBER;
|
||||
lres_t_middag NUMBER;
|
||||
lres_t_avond NUMBER;
|
||||
deel_price res_deel.res_deel_prijs%TYPE;
|
||||
deel_price_fixed res_deel.res_deel_prijs_vast%TYPE;
|
||||
deel_price_total res_rsv_deel.res_rsv_deel_prijs%TYPE;
|
||||
res_deel_length NUMBER;
|
||||
res_deel_begin NUMBER;
|
||||
res_deel_end NUMBER;
|
||||
res_length_morning NUMBER;
|
||||
res_length_afternoon NUMBER;
|
||||
res_length_evening NUMBER;
|
||||
lres_t_middag NUMBER;
|
||||
lres_t_avond NUMBER;
|
||||
verwijderdatum res_rsv_ruimte.res_rsv_ruimte_verwijder%TYPE;
|
||||
BEGIN
|
||||
-- Is de reservering verwijderd
|
||||
SELECT rrr.res_rsv_ruimte_verwijder
|
||||
INTO verwijderdatum
|
||||
FROM res_rsv_ruimte rrr,
|
||||
res_rsv_deel rrd
|
||||
WHERE rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||||
AND rrd.res_rsv_deel_key = pres_rsv_deel_key;
|
||||
|
||||
IF verwijderdatum IS NOT NULL -- Reserveerbare objecten worden bij een verwijderde reservering nooit doorbelast.
|
||||
THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
-- Actuele reservering: 100% kosten doorberekenen.
|
||||
|
||||
-- Als Uitgevoerd/verwerkt, dan is de prijs al geregistreerd en bekend
|
||||
BEGIN
|
||||
SELECT res_rsv_deel_prijs
|
||||
@@ -1099,19 +1154,52 @@ AS
|
||||
END;
|
||||
FUNCTION getartikelprijs (pres_rsv_artikel_key IN NUMBER)
|
||||
RETURN NUMBER IS
|
||||
res_artikel_aantal res_rsv_artikel.res_rsv_artikel_aantal%TYPE;
|
||||
artikel_price_total res_rsv_artikel.res_rsv_artikel_prijs%TYPE;
|
||||
res_artikel_aantal res_rsv_artikel.res_rsv_artikel_aantal%TYPE;
|
||||
artikel_price_total res_rsv_artikel.res_rsv_artikel_prijs%TYPE;
|
||||
verwijderdatum res_rsv_ruimte.res_rsv_ruimte_verwijder%TYPE;
|
||||
statusfokey res_rsv_ruimte.res_status_fo_key%TYPE;
|
||||
doorbelasting res_disc_params.res_disc_params_kosten%TYPE;
|
||||
BEGIN
|
||||
-- Is de reservering verwijderd
|
||||
SELECT rrr.res_rsv_ruimte_verwijder,
|
||||
rrr.res_status_fo_key
|
||||
INTO verwijderdatum,
|
||||
statusfokey
|
||||
FROM res_rsv_ruimte rrr,
|
||||
res_rsv_artikel rra
|
||||
WHERE rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||||
AND rra.res_rsv_artikel_key = pres_rsv_artikel_key;
|
||||
|
||||
-- Bepaal doorbelasting
|
||||
IF verwijderdatum IS NULL -- Actuele reservering: 100% kosten doorberekenen.
|
||||
THEN
|
||||
doorbelasting := 100;
|
||||
ELSIF statusfokey = 4 -- Verwijderde reservering en FO status is vervallen: X% kosten doorberekenen
|
||||
THEN
|
||||
-- Hoeveel moet worden doorbelast
|
||||
SELECT res_disc_params_kosten
|
||||
INTO doorbelasting
|
||||
FROM res_rsv_artikel rra,
|
||||
res_artikel ra,
|
||||
res_disc_params rdp
|
||||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||||
AND ra.res_discipline_key = rdp.res_ins_discipline_key
|
||||
AND res_rsv_artikel_dirtlevel = 0
|
||||
AND res_rsv_artikel_key = pres_rsv_artikel_key;
|
||||
ELSE -- Verwijderde reservering en FO status is niet vervallen: 0% kosten doorberekenen
|
||||
return 0;
|
||||
END IF;
|
||||
|
||||
-- Als de prijs al geregistreerd in res_rsv_artikel_prijs dan nemen we die
|
||||
BEGIN
|
||||
SELECT res_rsv_artikel_prijs
|
||||
INTO artikel_price_total
|
||||
INTO artikel_price_total
|
||||
FROM res_rsv_artikel ra, res_artikel a
|
||||
WHERE res_rsv_artikel_key = pres_rsv_artikel_key
|
||||
AND ra.res_artikel_key = a.res_artikel_key
|
||||
AND res_rsv_artikel_prijs IS NOT NULL
|
||||
AND (res_status_bo_key >= 5 OR res_artikel_prijs_vast IS NULL);
|
||||
RETURN artikel_price_total;
|
||||
WHERE res_rsv_artikel_key = pres_rsv_artikel_key
|
||||
AND ra.res_artikel_key = a.res_artikel_key
|
||||
AND res_rsv_artikel_prijs IS NOT NULL
|
||||
AND (res_status_bo_key >= 5 OR res_artikel_prijs_vast IS NULL);
|
||||
RETURN artikel_price_total * doorbelasting / 100;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1124,7 +1212,7 @@ AS
|
||||
INTO artikel_price_total
|
||||
FROM res_rsv_artikel ra, res_artikel a
|
||||
WHERE ra.res_artikel_key = a.res_artikel_key AND ra.res_rsv_artikel_key = pres_rsv_artikel_key;
|
||||
RETURN artikel_price_total;
|
||||
RETURN artikel_price_total * doorbelasting / 100;
|
||||
END;
|
||||
-- Bepaal de totaalprijs van een reservering
|
||||
FUNCTION getdeelresprijs (pres_rsv_ruimte_key IN NUMBER)
|
||||
@@ -1136,15 +1224,13 @@ AS
|
||||
IS
|
||||
SELECT res_rsv_artikel_key
|
||||
FROM res_rsv_artikel
|
||||
WHERE res_rsv_artikel_verwijder IS NULL
|
||||
AND res_rsv_artikel_dirtlevel = 0
|
||||
WHERE res_rsv_artikel_dirtlevel = 0
|
||||
AND res_rsv_ruimte_key = pres_rsv_ruimte_key;
|
||||
CURSOR cdeel
|
||||
IS
|
||||
SELECT res_rsv_deel_key
|
||||
FROM res_rsv_deel
|
||||
WHERE res_rsv_deel_verwijder IS NULL
|
||||
AND res_rsv_deel_dirtlevel = 0
|
||||
WHERE res_rsv_deel_dirtlevel = 0
|
||||
AND res_rsv_ruimte_key = pres_rsv_ruimte_key;
|
||||
BEGIN
|
||||
ruimteprijs := res.getruimteprijs(pres_rsv_ruimte_key);
|
||||
@@ -1180,6 +1266,6 @@ AS
|
||||
END res;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Workfile: RES_PAC.SRC $','$Revision: 72 $')
|
||||
REGISTERRUN('$Workfile: RES_PAC.SRC $','$Revision: 73 $')
|
||||
|
||||
#endif // RES
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifdef RES // 07-12-99 BIV
|
||||
/*
|
||||
* $Revision: 124 $
|
||||
* $Modtime: 7-09-11 9:40 $
|
||||
* $Revision: 125 $
|
||||
* $Modtime: 19-10-11 14:08 $
|
||||
*/
|
||||
|
||||
CREATE_TABLE (res_disc_params,0)
|
||||
@@ -11,10 +11,11 @@ CREATE_TABLE (res_disc_params,0)
|
||||
res_disc_params_preposttime NUMBER(5,2) DEFAULT 0,
|
||||
res_disc_params_notify NUMBER(2) DEFAULT 1,
|
||||
res_disc_params_aantalreq NUMBER(1) DEFAULT 1, /* is res_rsv_ruimte_bezoekers verplicht? */
|
||||
res_disc_params_kosten NUMBER(1) DEFAULT 1, /* kosten wel/niet doorbelasten */
|
||||
res_disc_params_kosten NUMBER(3) DEFAULT 100, /* Hoeveel van de kosten worden doorbelast in procenten */
|
||||
res_disc_params_noti_dagen NUMBER(2), /* aantal dagen voor/achteraf voor reminder */
|
||||
res_disc_params_expire_dagen NUMBER(2), /* aantal (hele) dagen vooraf waarna niet meer mag gewijzigd */
|
||||
res_disc_params_expire_dagen NUMBER(2), /* aantal (hele) dagen vooraf waarna niet meer mag worden gewijzigd */
|
||||
res_disc_params_expire_tijd NUMBER(5,2), /* grenstijdstip van de dag voor die freeze (bv 16.5) */
|
||||
res_disc_params_cancel_dagen NUMBER(2), /* aantal (hele) dagen vooraf waarna niet meer kostenloos mag worden gennuleerd/verwijderd */
|
||||
CONSTRAINT res_c_ins_discipline_key CHECK (res_ins_discipline_key IS NOT NULL),
|
||||
CONSTRAINT res_k_res_disc_params_key PRIMARY KEY (res_disc_params_key),
|
||||
CONSTRAINT res_r_ins_discipine_key FOREIGN KEY (res_ins_discipline_key)
|
||||
@@ -653,6 +654,6 @@ CREATE_TABLE(res_activiteitdiscipline, 0) (
|
||||
REFERENCES res_activiteit(res_activiteit_key) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
REGISTERONCE('$Workfile: RES_TAB.SRC $','$Revision: 124 $')
|
||||
REGISTERONCE('$Workfile: RES_TAB.SRC $','$Revision: 125 $')
|
||||
|
||||
#endif // RES
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* DB11TO12.SRC
|
||||
* Update script van Facilitor schema DB12 naar DB13
|
||||
* $Revision: 52 $
|
||||
* $Modtime: 11-10-11 14:36 $
|
||||
* $Revision: 53 $
|
||||
* $Modtime: 18-10-11 13:52 $
|
||||
*/
|
||||
#include "prologue.inc"
|
||||
|
||||
@@ -1253,6 +1253,19 @@ ALTER TABLE mld_melding ADD mld_melding_externnr VARCHAR2(30);
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#21485
|
||||
ALTER TABLE mld_stdmelding ADD mld_stdmelding_vervaldatum DATE;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#21022
|
||||
ALTER TABLE res_disc_params ADD res_disc_params_cancel_dagen NUMBER(2);
|
||||
ALTER TABLE res_disc_params MODIFY (res_disc_params_kosten NUMBER(3));
|
||||
|
||||
-- annulerings dagen dezelfde waarden als de wijzigings dagen
|
||||
UPDATE res_disc_params
|
||||
SET res_disc_params_cancel_dagen = res_disc_params_expire_dagen;
|
||||
|
||||
-- 0 = 0%, 1=100% kosten doorberekenen
|
||||
UPDATE res_disc_params
|
||||
SET res_disc_params_kosten = 100
|
||||
WHERE res_disc_params_kosten = 1;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -1327,5 +1340,5 @@ DROP PACKAGE webfac;
|
||||
DROP FUNCTION FAC_F_FAC_GET_DESCRIPTION;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
REGISTERONCE('$Workfile: DB12to13.src $','$Revision: 52 $')
|
||||
REGISTERONCE('$Workfile: DB12to13.src $','$Revision: 53 $')
|
||||
#include "epilogue.inc"
|
||||
|
||||
Reference in New Issue
Block a user