AAES#24748 Cleaning voor res_deel

svn path=/Database/trunk/; revision=15768
This commit is contained in:
Jos Groot Lipman
2012-11-01 14:15:26 +00:00
parent 80d172919f
commit 43fc519f2f

View File

@@ -561,6 +561,7 @@ AS
PROCEDURE set_deel_dirty (prsv_deel_key IN NUMBER)
AS
n_overlap NUMBER (10);
preposttime NUMBER(5,4); -- we gaan nog delen door 24, res_disc_params.res_disc_params_preposttime%TYPE is dan te klein;
lres_deel_key res_rsv_deel.res_deel_key%TYPE;
lrsv_ruimte_key res_rsv_deel.res_rsv_ruimte_key%TYPE;
lrsv_deel_key res_rsv_deel.res_rsv_deel_key%TYPE;
@@ -572,23 +573,32 @@ AS
lruimtetot res_rsv_ruimte.res_rsv_ruimte_tot%TYPE;
BEGIN
BEGIN
SELECT res_deel_key,
SELECT d.res_deel_key,
d.res_rsv_ruimte_key,
res_rsv_deel_key,
res_rsv_deel_van,
res_rsv_deel_tot,
r.res_rsv_ruimte_van,
r.res_rsv_ruimte_tot,
lres_rsv_deel_verwijder
lres_rsv_deel_verwijder,
res_disc_params_preposttime / 24
INTO lres_deel_key,lrsv_ruimte_key,lrsv_deel_key,lrsv_deel_van,lrsv_deel_tot,
lruimtevan,lruimtetot,lres_rsv_deel_verwijder
FROM res_rsv_deel d, res_rsv_ruimte r
lruimtevan,lruimtetot,lres_rsv_deel_verwijder,
preposttime
FROM res_rsv_deel d, res_rsv_ruimte r, res_deel rd, res_disc_params dp
WHERE d.res_rsv_ruimte_key = r.res_rsv_ruimte_key
AND res_rsv_deel_key = prsv_deel_key;
AND res_rsv_deel_key = prsv_deel_key
AND d.res_deel_key = rd.res_deel_key
AND rd.res_discipline_key = dp.res_ins_discipline_key;
END;
-- 1 Minuut marge voor afrondfouten
IF preposttime > 1/24/60 THEN
preposttime := preposttime - 1/24/60;
END IF;
newdirtlevel := 0; -- Begin 'Clean'
IF lres_rsv_deel_verwijder IS NULL THEN
-- Oke, hoeveel overlappende res_deel hebben we nu
SELECT COUNT (DISTINCT res_rsv_deel_key)
INTO n_overlap
FROM res_v_aanwezigrsv_deel rad -- de andere
@@ -596,8 +606,8 @@ AS
-- Er is overlap als
-- A) de andere ruimte begint voor ons einde
-- B) en eindigt na ons begin
AND res_rsv_deel_van < lrsv_deel_tot
AND res_rsv_deel_tot > lrsv_deel_van
AND res_rsv_deel_van < lrsv_deel_tot + preposttime
AND res_rsv_deel_tot > lrsv_deel_van - preposttime
AND res_rsv_deel_key <> lrsv_deel_key
AND res_rsv_deel_dirtlevel < 256; -- And die anderen niet zwaar dirty!
IF n_overlap > 0