UWVA#88207+#88852+#88914 Thema/Optimalisatie (timeout/performance-issue)
svn path=/Customer/trunk/; revision=68948
This commit is contained in:
119
UWVA/uwva_hv.sql
119
UWVA/uwva_hv.sql
@@ -4670,7 +4670,7 @@ AS
|
||||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||||
UNION ALL
|
||||
SELECT NULL, a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving, a.prs_afdeling_key
|
||||
FROM prs_afdeling a
|
||||
FROM prs_afdeling a
|
||||
LEFT JOIN
|
||||
(SELECT DISTINCT b.prs_afdeling_key1
|
||||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_afdeling_boom b
|
||||
@@ -4769,71 +4769,66 @@ END;
|
||||
-------------- Stap 6: Definitie van thema HV-afdeling -------------------------
|
||||
|
||||
-- Stap 6a: Thema HV afdeling (voor de controllers)
|
||||
/* Formatted on 23-11-2010 17:58:38 (QP5 v5.115.810.9015) */
|
||||
/* Formatted on 8-5-2025 12:28:32 (QP5 v5.336) */
|
||||
CREATE OR REPLACE FORCE VIEW uwva_v_thema_ruimte_afd
|
||||
(
|
||||
alg_ruimte_key,
|
||||
waarde,
|
||||
waarde_key
|
||||
alg_ruimte_key,
|
||||
waarde,
|
||||
waarde_key
|
||||
)
|
||||
AS
|
||||
SELECT x.alg_ruimte_key,
|
||||
DECODE (
|
||||
y.aantal,
|
||||
NULL,
|
||||
DECODE (x.verhuur, 0, '[Niet verhuurbaar]', '[GEEN DIVISIE!]'),
|
||||
1,
|
||||
DECODE (y.afd,
|
||||
0, '[Geen afdeling toegewezen]',
|
||||
SUBSTR (y.sp, 1, 60)),
|
||||
'[Meerdere afdelingen!]'
|
||||
),
|
||||
DECODE (y.aantal,
|
||||
NULL, DECODE (x.verhuur, 0, -1, NULL),
|
||||
1, DECODE (y.afd, 0, -1, y.sp_key),
|
||||
NULL)
|
||||
FROM (SELECT r.alg_ruimte_key,
|
||||
COALESCE (sr.prs_verhuurbaar, 0) verhuur,
|
||||
COALESCE (sr.prs_bevat_werkplek, 0) werkplek
|
||||
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_naam6) sp,
|
||||
MIN (a.prs_afdeling_key) sp_key,
|
||||
COUNT (ra.prs_afdeling_key) aantal,
|
||||
MAX (NVL (a.prs_afdeling_parentkey, 0)) afd
|
||||
FROM prs_v_aanwezigruimteafdeling ra,
|
||||
prs_v_aanwezigafdeling a
|
||||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||||
GROUP BY ra.alg_ruimte_key) y
|
||||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||||
UNION ALL
|
||||
SELECT NULL, a.prs_afdeling_naam6, a.prs_afdeling_key
|
||||
FROM prs_v_aanwezigafdeling a
|
||||
WHERE a.prs_afdeling_parentkey IS NOT NULL
|
||||
AND NOT EXISTS
|
||||
(SELECT ra.prs_afdeling_key
|
||||
FROM prs_v_aanwezigruimteafdeling ra
|
||||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key)
|
||||
UNION ALL
|
||||
SELECT DISTINCT
|
||||
NULL, a.prs_afdeling_naam6 waarde, a.prs_afdeling_key waarde_key
|
||||
FROM (SELECT DISTINCT ra.prs_afdeling_key
|
||||
FROM prs_v_aanwezigruimteafdeling ra
|
||||
MINUS
|
||||
SELECT DISTINCT ra.prs_afdeling_key
|
||||
FROM prs_v_aanwezigruimteafdeling ra, alg_v_aanwezigruimte r
|
||||
WHERE ra.alg_ruimte_key IN
|
||||
(SELECT alg_ruimte_key
|
||||
FROM ( SELECT alg_ruimte_key,
|
||||
COUNT ( * ) aantal
|
||||
FROM prs_v_aanwezigruimteafdeling
|
||||
GROUP BY alg_ruimte_key)
|
||||
WHERE aantal = 1)
|
||||
AND ra.alg_ruimte_key = r.alg_ruimte_key) x,
|
||||
prs_v_aanwezigafdeling a
|
||||
WHERE x.prs_afdeling_key = a.prs_afdeling_key;
|
||||
SELECT x.alg_ruimte_key,
|
||||
DECODE (y.aantal,
|
||||
NULL, DECODE (x.verhuur,
|
||||
0, '[Niet verhuurbaar]',
|
||||
'[GEEN DIVISIE!]'),
|
||||
1, DECODE (y.afd,
|
||||
0, '[Geen afdeling toegewezen]',
|
||||
SUBSTR (y.sp, 1, 60)),
|
||||
'[Meerdere afdelingen!]'),
|
||||
DECODE (y.aantal,
|
||||
NULL, DECODE (x.verhuur, 0, -1, NULL),
|
||||
1, DECODE (y.afd, 0, -1, y.sp_key),
|
||||
NULL)
|
||||
FROM (SELECT r.alg_ruimte_key, COALESCE (sr.prs_verhuurbaar, 0) verhuur
|
||||
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_naam || '-' || a.prs_afdeling_omschrijving) sp,
|
||||
MIN (a.prs_afdeling_key) sp_key,
|
||||
COUNT (ra.prs_afdeling_key) aantal,
|
||||
MAX (NVL (a.prs_afdeling_parentkey, 0)) afd
|
||||
FROM prs_v_aanwezigruimteafdeling ra,
|
||||
(SELECT * FROM prs_afdeling WHERE prs_afdeling_verwijder IS NULL) a
|
||||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||||
GROUP BY ra.alg_ruimte_key) y
|
||||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||||
UNION ALL
|
||||
SELECT NULL, a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving, a.prs_afdeling_key
|
||||
FROM prs_afdeling a
|
||||
WHERE a.prs_afdeling_verwijder IS NULL
|
||||
AND a.prs_afdeling_parentkey IS NOT NULL
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_v_aanwezigruimteafdeling
|
||||
WHERE prs_afdeling_key = a.prs_afdeling_key)
|
||||
UNION ALL
|
||||
SELECT DISTINCT NULL, a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving, a.prs_afdeling_key
|
||||
FROM (SELECT DISTINCT ra.prs_afdeling_key
|
||||
FROM prs_v_aanwezigruimteafdeling ra
|
||||
MINUS
|
||||
SELECT DISTINCT ra.prs_afdeling_key
|
||||
FROM prs_v_aanwezigruimteafdeling ra, alg_v_aanwezigruimte r
|
||||
WHERE ra.alg_ruimte_key IN
|
||||
(SELECT alg_ruimte_key
|
||||
FROM ( SELECT alg_ruimte_key, COUNT (*) aantal
|
||||
FROM prs_v_aanwezigruimteafdeling
|
||||
GROUP BY alg_ruimte_key)
|
||||
WHERE aantal = 1)
|
||||
AND ra.alg_ruimte_key = r.alg_ruimte_key) x,
|
||||
(SELECT * FROM prs_afdeling WHERE prs_afdeling_verwijder IS NULL) a
|
||||
WHERE x.prs_afdeling_key = a.prs_afdeling_key;
|
||||
|
||||
-- Stap 6a: Bijbehorend LabelThema HV afdeling (voor de controllers)
|
||||
CREATE OR REPLACE FORCE VIEW uwva_v_label_ruimte_afd (alg_ruimte_key,waarde)
|
||||
|
||||
Reference in New Issue
Block a user