FSN#24677 Dirty berekening met schoonmaak weer correcter
svn path=/Database/trunk/; revision=15764
This commit is contained in:
@@ -341,7 +341,7 @@ AS
|
||||
-- of schoon worden
|
||||
PROCEDURE set_ruimte_dirty (prsv_ruimte_key IN NUMBER)
|
||||
AS
|
||||
preposttime res_disc_params.res_disc_params_preposttime%TYPE;
|
||||
preposttime NUMBER(5,4); -- we gaan nog delen door 24, res_disc_params.res_disc_params_preposttime%TYPE is dan te klein;
|
||||
my_res_ruimte_key res_ruimte.res_ruimte_key%TYPE;
|
||||
n_overlap NUMBER (10);
|
||||
CURSOR prsv_ruimtecur
|
||||
@@ -386,20 +386,27 @@ AS
|
||||
THEN
|
||||
preposttime := 0;
|
||||
END IF;
|
||||
-- 1 Minuut marge voor afrondfouten
|
||||
IF preposttime > 1/24/60 THEN
|
||||
preposttime := preposttime - 1/24/60;
|
||||
END IF;
|
||||
-- Oke, hoeveel overlappende alg_ruimte hebben we nu
|
||||
SELECT COUNT (DISTINCT rb.res_ruimte_key)
|
||||
INTO n_overlap
|
||||
FROM res_alg_ruimte rb, -- ikzelf
|
||||
res_v_rsv_ruimte_2_alg_ruimte rr -- de andere
|
||||
WHERE rr.alg_ruimte_key = rb.alg_ruimte_key AND rb.res_ruimte_key = my_res_ruimte_key
|
||||
-- Redundant maar z??r goed voor performance
|
||||
-- VOORKENNIS: Geen meerdaagse reserveringen
|
||||
-- Redundant maar z<EFBFBD><EFBFBD>r goed voor performance
|
||||
-- ONGETEST/komt niet voor maar: meerdaagse reserveringen zou zo maar goed kunnen gaan
|
||||
AND rb.res_alg_ruimte_verwijder IS NULL
|
||||
AND rr.res_rsv_ruimte_van BETWEEN TRUNC (prsv_ruimte.res_rsv_ruimte_van)
|
||||
AND prsv_ruimte.res_rsv_ruimte_tot
|
||||
AND TRUNC (prsv_ruimte.res_rsv_ruimte_tot)+1
|
||||
-- Er is overlap als
|
||||
-- A) de andere ruimte begint voor ons einde
|
||||
-- B) en eindigt na ons begin
|
||||
-- Let op: bij Blokkade(3) van de ander rekenen we geen schoonmaaktijd.
|
||||
-- Dat gebeurt ietwat getruct door te tegen-corrigeren, vandaar
|
||||
-- de rr.res_rsv_ruimte_van PLUS preposttime
|
||||
AND CASE rr.res_status_fo_key
|
||||
WHEN 3 THEN rr.res_rsv_ruimte_van + preposttime
|
||||
ELSE rr.res_rsv_ruimte_van
|
||||
|
||||
Reference in New Issue
Block a user