YKPN#61098 -- Vlekkenplannen tonen in Facilitor

svn path=/Customer/trunk/; revision=45581
This commit is contained in:
Arthur Egberink
2020-01-27 08:31:15 +00:00
parent 6de2831aa5
commit ef1a23f78e

View File

@@ -837,7 +837,7 @@ END;
SELECT prs_kenmerk_key, prs_kenmerk_hint
FROM prs_kenmerk pk
WHERE prs_kenmerk_kenmerktype = 'V'
AND LENGTH (prs_kenmerk_hint) = 5
AND (LENGTH (prs_kenmerk_hint) = 5 OR prs_kenmerk_hint = 'TP')
AND prs_kenmerk_verwijder IS NULL
ORDER BY prs_kenmerk_omschrijving;
@@ -3751,6 +3751,87 @@ AS
FROM alg_v_ruimte_gegevens r;
CREATE OR REPLACE VIEW ykpn_v_huurder
AS
SELECT prs_afdeling_key, prs_afdeling_omschrijving
FROM prs_afdeling
WHERE prs_afdeling_key IN
(SELECT COALESCE (a4.prs_afdeling_key,
a3.prs_afdeling_key,
a2.prs_afdeling_key) afd
FROM ykpn_v_afdeling a1,
ykpn_v_afdeling a2,
ykpn_v_afdeling a3,
ykpn_v_afdeling a4
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey(+) = a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey(+) = a3.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL);
CREATE OR REPLACE VIEW ykpn_v_thema_huurder
(
alg_ruimte_key,
waarde,
waarde_key
)
AS
SELECT r.alg_ruimte_key,
DECODE(prs_verhuurbaar, 1, COALESCE (a.prs_afdeling_omschrijving, '_[Leegstand]'), '_[Algemeen]'),
DECODE(prs_verhuurbaar, 1, COALESCE (a.prs_afdeling_key, -1),-2)
FROM prs_ruimteafdeling ra, prs_afdeling a, alg_ruimte r, alg_srtruimte sr
WHERE ra.prs_afdeling_key = a.prs_afdeling_key(+)
AND r.alg_ruimte_key = ra.alg_ruimte_key(+)
AND r.alg_srtruimte_key = sr.alg_srtruimte_key
UNION ALL
SELECT NULL,
h.prs_afdeling_omschrijving,
h.prs_afdeling_key
FROM ykpn_v_huurder h
WHERE NOT EXISTS
(SELECT 1
FROM prs_ruimteafdeling ra
WHERE ra.prs_afdeling_key = h.prs_afdeling_key);
/
CREATE OR REPLACE TRIGGER ykpn_v_thema_huurder_i_iu
INSTEAD OF INSERT OR UPDATE
ON ykpn_v_thema_huurder
BEGIN
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
THEN
DELETE FROM prs_ruimteafdeling ra
WHERE ra.alg_ruimte_key = :new.alg_ruimte_key
AND ra.prs_afdeling_key <> :new.waarde_key;
END IF;
DECLARE
v_verhuurbaar NUMBER;
BEGIN
SELECT prs_verhuurbaar
INTO v_verhuurbaar
FROM alg_ruimte r, alg_srtruimte sr
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key
AND r.alg_ruimte_key = :new.alg_ruimte_key;
IF :new.waarde_key <> -1 AND v_verhuurbaar = 1
THEN
INSERT INTO prs_ruimteafdeling (alg_ruimte_key,
prs_afdeling_key,
prs_ruimteafdeling_bezetting)
VALUES (:new.alg_ruimte_key,
:new.waarde_key,
100);
END IF;
EXCEPTION
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
THEN
NULL;
END;
END;
/
-- afdelingsboom views. KPN heeft te veel afdelingsniveaus. Daarom maar een platte structuur met een
-- view om de boom op te stellen.
CREATE OR REPLACE VIEW ykpn_v_afdeling
@@ -4657,7 +4738,7 @@ AS
FROM prs_kenmerklink kl, prs_kenmerk k
WHERE kl.prs_kenmerk_key = k.prs_kenmerk_key
AND prs_kenmerk_kenmerktype = 'V'
AND LENGTH(prs_kenmerk_hint) = 5;
AND (LENGTH(prs_kenmerk_hint) = 5 OR prs_kenmerk_hint = 'TP');
-- rapportage om distributielijst met pandbrieven uit te draaien
CREATE OR REPLACE VIEW ykpn_v_rap_distr_pandbrief
@@ -4673,7 +4754,7 @@ AS
FROM prs_kenmerklink kl, prs_perslid p, prs_kenmerk k, alg_locatie l
WHERE kl.prs_link_key = p.prs_perslid_key
AND kl.prs_kenmerk_key = k.prs_kenmerk_key
AND LENGTH (k.prs_kenmerk_hint) = 5
AND (LENGTH (k.prs_kenmerk_hint) = 5 OR k.prs_kenmerk_hint = 'TP')
AND p.prs_perslid_email IS NOT NULL
AND k.prs_kenmerk_hint = l.alg_locatie_code;