PROR#75644 Afwijkende SLA tijden bij ruimte functie (klaar..)
svn path=/Database/trunk/; revision=60352
This commit is contained in:
@@ -3151,12 +3151,12 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
l_mldsrtterrein_uitvtijd_object mld_stdmsrtterrein.mld_stdmsrtterrein_t_uitvtijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie
|
||||
BEGIN
|
||||
SELECT mld_stdmelding_regime,
|
||||
COALESCE(CASE prio
|
||||
WHEN 1 THEN mld_stdmelding_t_uitvtijd_pr1
|
||||
WHEN 2 THEN mld_stdmelding_t_uitvtijd_pr2
|
||||
WHEN 4 THEN mld_stdmelding_t_uitvtijd_pr4
|
||||
ELSE mld_stdmelding_t_uitvoertijd
|
||||
END, mld_stdmelding_t_uitvoertijd), -- gegarandeerd gevuld
|
||||
CASE prio
|
||||
WHEN 1 THEN mld_stdmelding_t_uitvtijd_pr1
|
||||
WHEN 2 THEN mld_stdmelding_t_uitvtijd_pr2
|
||||
WHEN 4 THEN mld_stdmelding_t_uitvtijd_pr4
|
||||
ELSE mld_stdmelding_t_uitvoertijd
|
||||
END, -- gegarandeerd gevuld
|
||||
mld_stdmelding_t_uitvoertijd, -- standaard uitvoertijd
|
||||
mld_stdmelding_afhankelijk
|
||||
INTO v_mld_stdmelding_regime,
|
||||
@@ -3166,18 +3166,32 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
FROM mld_stdmelding msm
|
||||
WHERE msm.mld_stdmelding_key = stdm_key;
|
||||
|
||||
-- Als je geen afwijkende uitvoertijd voor de prio hebt, dan is het die van Normaal
|
||||
-- Dit is een vangnet, die prio had eigenlijk niet voor kunnen komen.
|
||||
IF prio <> 3 AND v_uitvoertijd_object.tijdsduur IS NULL
|
||||
THEN
|
||||
v_uitvoertijd_object := v_uitvoertijd_object_s;
|
||||
END IF;
|
||||
|
||||
IF v_mld_stdmelding_afhankelijk = 1 AND ins_key IS NOT NULL
|
||||
THEN
|
||||
-- is er een objectafhankelijke SLA? Dan geldt die ongeacht de prio
|
||||
SELECT d.ins_deel_t_uitvoertijd
|
||||
INTO l_insdeel_uitvoertijd_object
|
||||
FROM ins_deel d
|
||||
WHERE d.ins_deel_key = ins_key;
|
||||
v_uitvoertijd_object.tijdsduur := COALESCE(l_insdeel_uitvoertijd_object.tijdsduur, v_uitvoertijd_object_s.tijdsduur);
|
||||
-- als er geen object-overrule gedefinieerd is, dan WERD de standaard-normaleprio-sla gebruikt,
|
||||
-- wat imho onjuist is, dat moet de standaard-betreffendeprio-sla zijn (een kritieke melding op
|
||||
-- een object waarvoor niks speciaals geldt is een normale kritieke melding)
|
||||
-- daarom aangepast, geen klachten over gehad, maar niettemin beter..
|
||||
-- mag weg: v_uitvoertijd_object.tijdsduur := COALESCE(l_insdeel_uitvoertijd_object.tijdsduur, v_uitvoertijd_object_s.tijdsduur);
|
||||
v_uitvoertijd_object.tijdsduur := COALESCE(l_insdeel_uitvoertijd_object.tijdsduur, v_uitvoertijd_object.tijdsduur);
|
||||
IF l_insdeel_uitvoertijd_object.tijdsduur IS NOT NULL
|
||||
THEN
|
||||
v_uitvoertijd_object.eenheid := l_insdeel_uitvoertijd_object.eenheid;
|
||||
ELSE
|
||||
v_uitvoertijd_object.eenheid := v_uitvoertijd_object_s.eenheid;
|
||||
-- mag weg: v_uitvoertijd_object.eenheid := v_uitvoertijd_object_s.eenheid;
|
||||
v_uitvoertijd_object.eenheid := v_uitvoertijd_object.eenheid; -- en dat is dan op zich overbodig
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -3198,9 +3212,17 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
IF l_alg_type = 'T'
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT st.alg_srtterreinsec_t_uitvtijd,
|
||||
sst.mld_stdmsrtterrein_t_uitvtijd,
|
||||
COALESCE(sst.mld_stdmsrtterrein_regime, v_mld_stdmelding_regime) regime -- optioneel nog srtterreinsector-afhankelijk afwijkend regime.
|
||||
SELECT DECODE (prio,
|
||||
1, st.alg_srtterreinsec_t_uitv_pr1,
|
||||
2, st.alg_srtterreinsec_t_uitv_pr2,
|
||||
3, st.alg_srtterreinsec_t_uitvtijd,
|
||||
4, st.alg_srtterreinsec_t_uitv_pr4),
|
||||
DECODE (prio,
|
||||
1, sst.mld_stdmsrtterrein_t_uitv_pr1,
|
||||
2, sst.mld_stdmsrtterrein_t_uitv_pr2,
|
||||
3, sst.mld_stdmsrtterrein_t_uitvtijd,
|
||||
4, sst.mld_stdmsrtterrein_t_uitv_pr4),
|
||||
COALESCE(sst.mld_stdmsrtterrein_regime, v_mld_stdmelding_regime) regime -- geen srtterreinsector-afhankelijk afwijkend regime.
|
||||
INTO l_srtterrein_uitvoertijd_object,
|
||||
l_mldsrtterrein_uitvtijd_object,
|
||||
v_mld_stdmelding_regime
|
||||
@@ -3217,9 +3239,17 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
END;
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT alg_srtgebouw_t_uitvoertijd,
|
||||
ssg.mld_stdmsrtgebouw_t_uitvtijd,
|
||||
COALESCE(ssg.mld_stdmsrtgebouw_regime, v_mld_stdmelding_regime) regime -- optioneel nog srtgebouw-afhankelijk afwijkend regime.
|
||||
SELECT DECODE (prio,
|
||||
1, sg.alg_srtgebouw_t_uitvoer_pr1,
|
||||
2, sg.alg_srtgebouw_t_uitvoer_pr2,
|
||||
3, sg.alg_srtgebouw_t_uitvoertijd,
|
||||
4, sg.alg_srtgebouw_t_uitvoer_pr4),
|
||||
DECODE (prio,
|
||||
1, ssg.mld_stdmsrtgebouw_t_uitv_pr1,
|
||||
2, ssg.mld_stdmsrtgebouw_t_uitv_pr2,
|
||||
3, ssg.mld_stdmsrtgebouw_t_uitvtijd,
|
||||
4, ssg.mld_stdmsrtgebouw_t_uitv_pr4),
|
||||
COALESCE(ssg.mld_stdmsrtgebouw_regime, v_mld_stdmelding_regime) regime -- geen srtgebouw-afhankelijk afwijkend regime.
|
||||
INTO l_srtgebouw_uitvoertijd_object,
|
||||
l_mldsrtgebouw_uitvtijd_object,
|
||||
v_mld_stdmelding_regime
|
||||
@@ -3238,9 +3268,17 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
IF l_alg_type = 'R'
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT sr.alg_srtruimte_t_uitvoertijd,
|
||||
ssr.mld_stdmsrtruimte_t_uitvtijd,
|
||||
COALESCE(ssr.mld_stdmsrtruimte_regime, v_mld_stdmelding_regime) -- optioneel nog srtruimte-afhankelijk afwijkend regime.
|
||||
SELECT DECODE (prio,
|
||||
1, sr.alg_srtruimte_t_uitvoer_pr1,
|
||||
2, sr.alg_srtruimte_t_uitvoer_pr2,
|
||||
3, sr.alg_srtruimte_t_uitvoertijd,
|
||||
4, sr.alg_srtruimte_t_uitvoer_pr4),
|
||||
DECODE (prio,
|
||||
1, ssr.mld_stdmsrtruimte_t_uitv_pr1,
|
||||
2, ssr.mld_stdmsrtruimte_t_uitv_pr2,
|
||||
3, ssr.mld_stdmsrtruimte_t_uitvtijd,
|
||||
4, ssr.mld_stdmsrtruimte_t_uitv_pr4),
|
||||
COALESCE(ssr.mld_stdmsrtruimte_regime, v_mld_stdmelding_regime) -- geen srtruimte-afhankelijk afwijkend regime.
|
||||
INTO l_srtruimte_uitvoertijd_object,
|
||||
l_mldsrtruimte_uitvtijd_object,
|
||||
v_mld_stdmelding_regime
|
||||
@@ -3304,9 +3342,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
COALESCE (alg_ruimte_werkdagen, alg_gebouw_werkdagen)
|
||||
INTO v_beginuur, v_einduur, v_werkdagen
|
||||
FROM alg_ruimte r, alg_verdieping v, alg_gebouw g
|
||||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND r.alg_ruimte_key = l_ruimte_key;
|
||||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND r.alg_ruimte_key = l_ruimte_key;
|
||||
ELSE
|
||||
-- alg_key zal een gebouw, verdieping of terrein zijn.
|
||||
-- de tijden van het gebouw gelden of uren opleveren.
|
||||
|
||||
Reference in New Issue
Block a user