STCH#54706 -- Herstellen van graphics themas na opschoonactie
svn path=/Customer/trunk/; revision=40852
This commit is contained in:
154
STCH/stch.sql
154
STCH/stch.sql
@@ -838,6 +838,160 @@ AS
|
||||
f.fac_functie_code)
|
||||
ORDER BY p.prs_perslid_naam;
|
||||
|
||||
--
|
||||
-- GRAFISCH
|
||||
--
|
||||
CREATE OR REPLACE VIEW stch_v_thema_srtruimte
|
||||
(
|
||||
alg_ruimte_key,
|
||||
waarde,
|
||||
waarde_key
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT
|
||||
r.alg_ruimte_key,
|
||||
COALESCE (
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = 221 -- omzettingstabel soortruimte naar omschrijving
|
||||
AND alg_srtruimte_omschrijving LIKE
|
||||
fac_usrdata_code || '%'),
|
||||
'onbekend'),
|
||||
NULL alg_srtruimte_key
|
||||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key;
|
||||
|
||||
|
||||
-- views ter ondersteuning aan Facilitor graphics
|
||||
-- sleepbaar thema om huurder aan thema te koppelen.
|
||||
CREATE OR REPLACE VIEW stch_v_thema_ruimte_huurder (
|
||||
alg_ruimte_key,
|
||||
waarde,
|
||||
waarde_key
|
||||
)
|
||||
AS
|
||||
SELECT x.alg_ruimte_key,
|
||||
DECODE (y.aantal,
|
||||
NULL, DECODE(verhuurbaar, 1, '[Leegstand]', '[Niet verhuurbaar]'),
|
||||
1, SUBSTR (y.sp, 1, 60),
|
||||
'Meer dan 1 huurder!'),
|
||||
DECODE (y.aantal, NULL, -1, 1, y.sp_key, NULL)
|
||||
FROM (SELECT r.alg_ruimte_key, sr.prs_verhuurbaar verhuurbaar
|
||||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key) x
|
||||
LEFT JOIN
|
||||
(SELECT ra.alg_ruimte_key,
|
||||
MIN (a.prs_afdeling_naam1) sp,
|
||||
MIN (a.prs_afdeling_key) sp_key,
|
||||
COUNT (ra.prs_afdeling_key) aantal
|
||||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
||||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_naam <> 'Onbekend'
|
||||
GROUP BY ra.alg_ruimte_key) y
|
||||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||||
UNION ALL
|
||||
SELECT NULL, substr(a.prs_afdeling_naam1,1,60), a.prs_afdeling_key
|
||||
FROM prs_v_aanwezigafdeling a
|
||||
WHERE NOT EXISTS
|
||||
(SELECT ra.prs_afdeling_key
|
||||
FROM prs_ruimteafdeling ra
|
||||
WHERE ra.prs_ruimteafdeling_verwijder IS NULL
|
||||
AND ra.prs_afdeling_key = a.prs_afdeling_key)
|
||||
AND a.prs_afdeling_naam <> 'Onbekend';
|
||||
|
||||
CREATE OR REPLACE TRIGGER stch_t_thema_ruimte_die_i_iu
|
||||
INSTEAD OF INSERT OR UPDATE
|
||||
ON STCH_V_THEMA_RUIMTE_HUURDER
|
||||
DECLARE
|
||||
verhuurbaar NUMBER;
|
||||
BEGIN
|
||||
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
||||
THEN
|
||||
DELETE FROM prs_ruimteafdeling
|
||||
WHERE alg_ruimte_key = :new.alg_ruimte_key
|
||||
AND prs_afdeling_key <> :new.waarde_key;
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
SELECT prs_verhuurbaar
|
||||
INTO verhuurbaar
|
||||
FROM alg_ruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_ruimte_key = :new.alg_ruimte_key
|
||||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key;
|
||||
|
||||
IF :new.waarde_key <> -1 AND verhuurbaar = 1
|
||||
THEN
|
||||
INSERT INTO prs_ruimteafdeling
|
||||
(
|
||||
alg_ruimte_key, prs_afdeling_key
|
||||
)
|
||||
VALUES (:new.alg_ruimte_key, :new.waarde_key);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
||||
THEN
|
||||
NULL;
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
-- views ter ondersteuning aan Facilitor graphics
|
||||
-- Niet sleepbaar thema om huurder op hoogste afdelingsniveau te bekijken.
|
||||
CREATE OR REPLACE VIEW stch_v_thema_ruimte_huurder1 (
|
||||
alg_ruimte_key,
|
||||
waarde,
|
||||
waarde_key
|
||||
)
|
||||
AS
|
||||
SELECT x.alg_ruimte_key,
|
||||
DECODE (y.aantal,
|
||||
NULL, DECODE(verhuurbaar, 1, '[Leegstand]', '[Niet verhuurbaar]'),
|
||||
1, SUBSTR (y.sp, 1, 60),
|
||||
'Meer dan 1 huurder!'),
|
||||
DECODE (y.aantal, NULL, -1, 1, y.sp_key, NULL)
|
||||
FROM (SELECT r.alg_ruimte_key, sr.prs_verhuurbaar verhuurbaar
|
||||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key) x
|
||||
LEFT JOIN
|
||||
(SELECT ra.alg_ruimte_key,
|
||||
MIN (a.prs_afdeling_naam1) sp,
|
||||
MIN (a.prs_afdeling_key) sp_key,
|
||||
COUNT (ra.prs_afdeling_key) aantal
|
||||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a, prs_v_afdeling_boom ab
|
||||
WHERE ra.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND ab.prs_afdeling_key1 = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_naam <> 'Onbekend'
|
||||
GROUP BY ra.alg_ruimte_key) y
|
||||
ON x.alg_ruimte_key = y.alg_ruimte_key;
|
||||
|
||||
-- views ter ondersteuning aan Facilitor graphics
|
||||
-- Niet sleepbaar thema om inzicht te krijgen in de leegstand situatie
|
||||
CREATE OR REPLACE VIEW stch_v_thema_leegstand (
|
||||
alg_ruimte_key,
|
||||
waarde,
|
||||
waarde_key
|
||||
)
|
||||
AS
|
||||
SELECT x.alg_ruimte_key,
|
||||
DECODE (y.aantal,
|
||||
NULL, DECODE(verhuurbaar, 1, '[Leegstand]', '[Niet verhuurbaar]'),
|
||||
'[Verhuurd]'),
|
||||
DECODE (y.aantal, NULL, -1, 1, y.sp_key, NULL)
|
||||
FROM (SELECT r.alg_ruimte_key, sr.prs_verhuurbaar verhuurbaar
|
||||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key) x
|
||||
LEFT JOIN
|
||||
(SELECT ra.alg_ruimte_key,
|
||||
MIN (a.prs_afdeling_naam1) sp,
|
||||
MIN (a.prs_afdeling_key) sp_key,
|
||||
COUNT (ra.prs_afdeling_key) aantal
|
||||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a, prs_v_afdeling_boom ab
|
||||
WHERE ra.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND ab.prs_afdeling_key1 = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_naam <> 'Onbekend'
|
||||
GROUP BY ra.alg_ruimte_key) y
|
||||
ON x.alg_ruimte_key = y.alg_ruimte_key;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user