Files
Customer/UWVA/uwva_misc.sql
Maarten van der Heide 56192f55fb UWVA#88120 Rap/KPI per domein
svn path=/Customer/trunk/; revision=69029
2025-05-15 11:27:50 +00:00

16391 lines
677 KiB
MySQL
Raw Blame History

--
-- $Id$
--
-- Script containing customer specific sql for UWVA (UWV Amsterdam)
-- related to QLIKVIEW/SPOBILO(-package)/KZ/SLA/STATS/DIV/KAS/FLEXWHERE/NOTI/
-- INFOBORD/AFTERSALES (incl. ANONIMISEER)/CPUA/UWVA-package/UWVA_RAP-package/
-- FLEXHWERE/RTM/KTO/HMAIL.
DEFINE thisfile = 'UWVA_MISC.SQL'
DEFINE dbuser = '^UWVA'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
CREATE OR REPLACE PACKAGE uwva
AS
FUNCTION bepaal_uwv_doorlooptijd (van_date IN DATE, tot_date IN DATE)
RETURN NUMBER;
PROCEDURE format_telefoonnummers (p_import_key IN NUMBER);
END uwva;
/
CREATE OR REPLACE PACKAGE BODY uwva
AS
-- UWVA#25539: Nu nog klantspecifiek, maar zou in 5.3.1 standaard mogen
-- worden.
-- Toch niet (mmm), want UWV heeft een verschillende berekening voor en
-- na 01-03-2013!
-- En per UWVA#27868 nog een volgende grens, nl. voor en na 01-11-2013!
FUNCTION bepaal_uwv_doorlooptijd (van_date IN DATE, tot_date IN DATE)
RETURN NUMBER
IS
c_kt_van_v1311 NUMBER := 7; -- De van-tijd voor 01-11-2013!
c_kt_tot_v1311 NUMBER := 19; -- De tot-tijd voor 01-11-2013!
c_kt_van_v1303 NUMBER := 8; -- De van-tijd voor 01-03-2013!
c_kt_tot_v1303 NUMBER := 17; -- De tot-tijd voor 01-03-2013!
v_kt_van NUMBER;
v_kt_tot NUMBER;
v_dl NUMBER;
lbackwards BOOLEAN;
v_van_date DATE;
v_van_uur NUMBER;
v_tot_date DATE;
v_tot_uur NUMBER;
v_loop_date DATE;
v_count NUMBER;
BEGIN
v_dl := 0;
-- Bepaal 'Start time of working day' (21=fac_t_startofworkday)!
v_kt_van := fac.safe_to_number (fac.getsetting ('fac_t_startofworkday'));
-- Bepaal 'End time of working day' (22=fac_t_endofworkday)!
v_kt_tot := fac.safe_to_number (fac.getsetting ('fac_t_endofworkday'));
IF (van_date > tot_date)
THEN
v_van_date := TO_DATE (TO_CHAR (tot_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
v_tot_date := TO_DATE (TO_CHAR (van_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
lbackwards := TRUE;
ELSE
v_van_date := TO_DATE (TO_CHAR (van_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
v_tot_date := TO_DATE (TO_CHAR (tot_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
lbackwards := FALSE;
END IF;
v_loop_date := TRUNC (v_van_date);
WHILE (v_loop_date <= v_tot_date)
LOOP
SELECT COUNT ( * )
INTO v_count
FROM mld_vrije_dagen
WHERE mld_vrije_dagen_datum = v_loop_date;
IF (v_count = 0 AND TO_CHAR (v_loop_date, 'd') NOT IN ('1', '7'))
THEN
IF (v_loop_date >= TO_DATE ('01-11-2013', 'dd-mm-yyyy'))
THEN -- Settings-kantoortijden!
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - v_kt_van) < 0)
THEN
v_van_uur := v_kt_van;
ELSE
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - v_kt_tot) < 0)
THEN
v_van_uur := (v_van_date - TRUNC (v_van_date)) * 24;
ELSE
v_van_uur := v_kt_tot;
END IF;
END IF;
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - v_kt_van) < 0)
THEN
v_tot_uur := v_kt_van;
ELSE
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - v_kt_tot) < 0)
THEN
v_tot_uur := (v_tot_date - TRUNC (v_tot_date)) * 24;
ELSE
v_tot_uur := v_kt_tot;
END IF;
END IF;
CASE
WHEN TRUNC (v_van_date) = TRUNC (v_tot_date)
THEN
v_dl := v_dl + (v_tot_uur - v_van_uur);
WHEN v_loop_date = TRUNC (v_van_date)
THEN
v_dl := v_dl + (v_kt_tot - v_van_uur);
WHEN v_loop_date = TRUNC (v_tot_date)
THEN
v_dl := v_dl + (v_tot_uur - v_kt_van);
ELSE
v_dl := v_dl + (v_kt_tot - v_kt_van);
END CASE;
ELSIF (v_loop_date >= TO_DATE ('01-03-2013', 'dd-mm-yyyy'))
THEN -- Oude setings: 7-tot-19-kantoortijden!
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - c_kt_van_v1311) < 0)
THEN
v_van_uur := c_kt_van_v1311;
ELSE
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - c_kt_tot_v1311) < 0)
THEN
v_van_uur := (v_van_date - TRUNC (v_van_date)) * 24;
ELSE
v_van_uur := c_kt_tot_v1311;
END IF;
END IF;
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - c_kt_van_v1311) < 0)
THEN
v_tot_uur := c_kt_van_v1311;
ELSE
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - c_kt_tot_v1311) < 0)
THEN
v_tot_uur := (v_tot_date - TRUNC (v_tot_date)) * 24;
ELSE
v_tot_uur := c_kt_tot_v1311;
END IF;
END IF;
CASE
WHEN TRUNC (v_van_date) = TRUNC (v_tot_date)
THEN
v_dl := v_dl + (v_tot_uur - v_van_uur);
WHEN v_loop_date = TRUNC (v_van_date)
THEN
v_dl := v_dl + (c_kt_tot_v1311 - v_van_uur);
WHEN v_loop_date = TRUNC (v_tot_date)
THEN
v_dl := v_dl + (v_tot_uur - c_kt_van_v1311);
ELSE
v_dl := v_dl + (c_kt_tot_v1311 - c_kt_van_v1311);
END CASE;
ELSE -- Nog oudere setings: 8-tot-17-kantoortijden!
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - c_kt_van_v1303) < 0)
THEN
v_van_uur := c_kt_van_v1303;
ELSE
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - c_kt_tot_v1303) < 0)
THEN
v_van_uur := (v_van_date - TRUNC (v_van_date)) * 24;
ELSE
v_van_uur := c_kt_tot_v1303;
END IF;
END IF;
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - c_kt_van_v1303) < 0)
THEN
v_tot_uur := c_kt_van_v1303;
ELSE
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - c_kt_tot_v1303) < 0)
THEN
v_tot_uur := (v_tot_date - TRUNC (v_tot_date)) * 24;
ELSE
v_tot_uur := c_kt_tot_v1303;
END IF;
END IF;
CASE
WHEN TRUNC (v_van_date) = TRUNC (v_tot_date)
THEN
v_dl := v_dl + (v_tot_uur - v_van_uur);
WHEN v_loop_date = TRUNC (v_van_date)
THEN
v_dl := v_dl + (c_kt_tot_v1303 - v_van_uur);
WHEN v_loop_date = TRUNC (v_tot_date)
THEN
v_dl := v_dl + (v_tot_uur - c_kt_van_v1303);
ELSE
v_dl := v_dl + (c_kt_tot_v1303 - c_kt_van_v1303);
END CASE;
END IF;
END IF;
v_loop_date := v_loop_date + 1;
END LOOP;
IF lbackwards
THEN
RETURN 0 - v_dl;
ELSE
RETURN v_dl;
END IF;
END;
-- UWVA#20205 en UWVA#20219: Procedure om telefoonnummers netjes op te maken.
-- Wordt aangeroepen aan het einde van uwva_update_pshcm().
--
-- Voor een specificatie van de opmaak, zie UWVA#20205.
-- FSN#23352: (sub)query's opschonen
PROCEDURE format_telefoonnummers (p_import_key IN NUMBER)
AS
v_fac_usrtab_key NUMBER;
c_faxnr_key NUMBER (10) := 7;
BEGIN
-- Eigen Tabel met alle netnummers, om netnummers in telefoonnummers-zonder-opmaak
-- te kunnen achterhalen.
SELECT fac_usrtab_key
INTO v_fac_usrtab_key
FROM fac_usrtab
WHERE fac_usrtab_naam = 'netnummers';
-- UWVA#21779: Door een foutieve trigger (FSN#21781) bestaan er prs_kenmerklinks waarvan de
-- prs_perslid verwijderd is. Deze prs_kenmerklinks mogen (moeten) verwijderd.
DELETE FROM prs_kenmerklink
WHERE prs_kenmerklink_niveau = 'P'
AND NOT EXISTS (SELECT 1
FROM prs_perslid
WHERE prs_perslid_key = prs_link_key);
--
-- TELEFOONNUMMER ----------------------------------------------------------
--
-- Verwijder landinformatie (alleen van Nederlandse nummers; buitenlandse
-- worden helaas verminkt!)
UPDATE prs_perslid
SET prs_perslid_telefoonnr = SUBSTR (prs_perslid_telefoonnr, 2)
WHERE prs_perslid_telefoonnr LIKE '+%';
UPDATE prs_perslid
SET prs_perslid_telefoonnr = SUBSTR (prs_perslid_telefoonnr, 3)
WHERE prs_perslid_telefoonnr LIKE '31%';
UPDATE prs_perslid
SET prs_perslid_telefoonnr = SUBSTR (prs_perslid_telefoonnr, 5)
WHERE prs_perslid_telefoonnr LIKE '0031%';
-- Verwijder non-digit tekens (leestekens en spaties)
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
REPLACE (
REPLACE (
REPLACE (
REPLACE (REPLACE (prs_perslid_telefoonnr, '.', ''),
'(',
''),
')',
''),
'-',
''),
' ',
'');
UPDATE prs_perslid
SET prs_perslid_telefoonnr = '20' || prs_perslid_telefoonnr
WHERE prs_perslid_telefoonnr LIKE '687____';
UPDATE prs_perslid
SET prs_perslid_telefoonnr = SUBSTR (prs_perslid_telefoonnr, 2)
WHERE prs_perslid_telefoonnr LIKE '0%';
-- 06-nummers bijwerken
-- (NB: format "06 - xx xx xx xx" is 16 digits, dus gebruik ik
-- "06-xx xx xx xx", om het binnen de 15 karakters te houden.)
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_telefoonnr, 1, 1)
|| '-'
|| SUBSTR (prs_perslid_telefoonnr, 2, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 4, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 8, 2)),
1,
15)
WHERE prs_perslid_telefoonnr LIKE '6%'
AND prs_perslid_telefoonnr IS NOT NULL
AND LENGTH (prs_perslid_telefoonnr) > 5;
-- 0800- en 0900-nummers met een even aantal digits
-- (NB: MOD(prs_perslid_telefoonnr, 2) = 1, omdat prs_perslid_telefoonnr begint met 900 ipv 0900!)
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_telefoonnr, 1, 3)
|| ' - '
|| SUBSTR (prs_perslid_telefoonnr, 4, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 8, 2)),
1,
15)
WHERE prs_perslid_telefoonnr IS NOT NULL
AND LENGTH (prs_perslid_telefoonnr) > 5
AND MOD (LENGTH (prs_perslid_telefoonnr), 2) = 1
AND (prs_perslid_telefoonnr LIKE '800%'
OR prs_perslid_telefoonnr LIKE '900%');
-- 0800- en 0900-nummers met een oneven aantal digits
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_telefoonnr, 1, 3)
|| '-'
|| SUBSTR (prs_perslid_telefoonnr, 4, 3)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 7, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 9, 2)),
1,
15)
WHERE prs_perslid_telefoonnr IS NOT NULL
AND LENGTH (prs_perslid_telefoonnr) > 5
AND MOD (LENGTH (prs_perslid_telefoonnr), 2) = 0
AND (prs_perslid_telefoonnr LIKE '800%'
OR prs_perslid_telefoonnr LIKE '900%');
-- 088-nummers met een even aantal digits
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_telefoonnr, 1, 2)
|| ' - '
|| SUBSTR (prs_perslid_telefoonnr, 3, 3)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 8, 2)),
1,
15)
WHERE prs_perslid_telefoonnr IS NOT NULL
AND LENGTH (prs_perslid_telefoonnr) > 5
AND MOD (LENGTH (prs_perslid_telefoonnr), 2) = 1
AND prs_perslid_telefoonnr LIKE '88%';
-- 088-nummers met een oneven aantal digits
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_telefoonnr, 1, 2)
|| '-'
|| SUBSTR (prs_perslid_telefoonnr, 3, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 5, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 7, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 9, 2)),
1,
15)
WHERE prs_perslid_telefoonnr IS NOT NULL
AND LENGTH (prs_perslid_telefoonnr) > 5
AND MOD (LENGTH (prs_perslid_telefoonnr), 2) = 0
AND prs_perslid_telefoonnr LIKE '88%';
-- netnummers met 2 digits na-de-nul (bijv "020")
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
SUBSTR (
'(0'
|| SUBSTR (prs_perslid_telefoonnr, 1, 2)
|| ') '
|| SUBSTR (prs_perslid_telefoonnr, 3, 3)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 8, 2),
1,
15)
WHERE prs_perslid_telefoonnr IS NOT NULL
AND LENGTH (prs_perslid_telefoonnr) > 5
AND EXISTS
(SELECT 1
FROM fac_usrdata
WHERE fac_usrtab_key = v_fac_usrtab_key
AND fac_usrdata_verwijder IS NULL
AND prs_perslid_telefoonnr LIKE
fac_usrdata_code || '%'
AND LENGTH (fac_usrdata_code) = 2);
-- netnummers met 3 digits na-de-nul (bijv "0118")
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
SUBSTR (
'(0'
|| SUBSTR (prs_perslid_telefoonnr, 1, 3)
|| ') '
|| SUBSTR (prs_perslid_telefoonnr, 4, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_telefoonnr, 8, 2),
1,
15)
WHERE prs_perslid_telefoonnr IS NOT NULL
AND LENGTH (prs_perslid_telefoonnr) > 5
AND EXISTS
(SELECT 1
FROM fac_usrdata
WHERE fac_usrtab_key = v_fac_usrtab_key
AND fac_usrdata_verwijder IS NULL
AND prs_perslid_telefoonnr LIKE
fac_usrdata_code || '%'
AND LENGTH (fac_usrdata_code) = 3);
/*
-- UWVA#87947: Na(ast) bovenstaande normalisatie voortaan ook nog alle
-- streepjes, spaties en haakjes wissen!
UPDATE prs_perslid
SET prs_perslid_telefoonnr =
REPLACE (
REPLACE (
REPLACE (REPLACE (prs_perslid_telefoonnr, '-', ''),
' ',
''),
'(',
''),
')',
'');
*/
--
-- MOBIELE NUMMER ----------------------------------------------------------
--
-- Verwijder landinformatie (alleen van Nederlandse nummers; buitenlandse
-- worden helaas verminkt!)
UPDATE prs_perslid
SET prs_perslid_mobiel = SUBSTR (prs_perslid_mobiel, 2)
WHERE prs_perslid_mobiel LIKE '+%';
UPDATE prs_perslid
SET prs_perslid_mobiel = SUBSTR (prs_perslid_mobiel, 3)
WHERE prs_perslid_mobiel LIKE '31%';
UPDATE prs_perslid
SET prs_perslid_mobiel = SUBSTR (prs_perslid_mobiel, 5)
WHERE prs_perslid_mobiel LIKE '0031%';
-- Verwijder non-digit tekens (leestekens en spaties)
UPDATE prs_perslid
SET prs_perslid_mobiel =
REPLACE (
REPLACE (
REPLACE (
REPLACE (REPLACE (prs_perslid_mobiel, '.', ''),
'(',
''),
')',
''),
'-',
''),
' ',
'');
UPDATE prs_perslid
SET prs_perslid_mobiel = '20' || prs_perslid_mobiel
WHERE prs_perslid_mobiel LIKE '687____';
UPDATE prs_perslid
SET prs_perslid_mobiel = SUBSTR (prs_perslid_mobiel, 2)
WHERE prs_perslid_mobiel LIKE '0%';
-- 06-nummers bijwerken
-- (NB: format "06 - xx xx xx xx" is 16 digits, dus gebruik ik
-- "06-xx xx xx xx", om het binnen de 15 karakters te houden.)
UPDATE prs_perslid
SET prs_perslid_mobiel =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_mobiel, 1, 1)
|| '-'
|| SUBSTR (prs_perslid_mobiel, 2, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 4, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 8, 2)),
1,
15)
WHERE prs_perslid_mobiel LIKE '6%'
AND prs_perslid_mobiel IS NOT NULL
AND LENGTH (prs_perslid_mobiel) > 5;
-- 0800- en 0900-nummers met een even aantal digits
-- (NB: MOD(prs_perslid_mobiel, 2) = 1, omdat prs_perslid_mobiel begint met 900 ipv 0900!)
UPDATE prs_perslid
SET prs_perslid_mobiel =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_mobiel, 1, 3)
|| ' - '
|| SUBSTR (prs_perslid_mobiel, 4, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 8, 2)),
1,
15)
WHERE prs_perslid_mobiel IS NOT NULL
AND LENGTH (prs_perslid_mobiel) > 5
AND MOD (LENGTH (prs_perslid_mobiel), 2) = 1
AND (prs_perslid_mobiel LIKE '800%'
OR prs_perslid_mobiel LIKE '900%');
-- 0800- en 0900-nummers met een oneven aantal digits
UPDATE prs_perslid
SET prs_perslid_mobiel =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_mobiel, 1, 3)
|| '-'
|| SUBSTR (prs_perslid_mobiel, 4, 3)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 7, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 9, 2)),
1,
15)
WHERE prs_perslid_mobiel IS NOT NULL
AND LENGTH (prs_perslid_mobiel) > 5
AND MOD (LENGTH (prs_perslid_mobiel), 2) = 0
AND (prs_perslid_mobiel LIKE '800%'
OR prs_perslid_mobiel LIKE '900%');
-- 088-nummers met een even aantal digits
UPDATE prs_perslid
SET prs_perslid_mobiel =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_mobiel, 1, 2)
|| ' - '
|| SUBSTR (prs_perslid_mobiel, 3, 3)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 8, 2)),
1,
15)
WHERE prs_perslid_mobiel IS NOT NULL
AND LENGTH (prs_perslid_mobiel) > 5
AND MOD (LENGTH (prs_perslid_mobiel), 2) = 1
AND prs_perslid_mobiel LIKE '88%';
-- 088-nummers met een oneven aantal digits
UPDATE prs_perslid
SET prs_perslid_mobiel =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_perslid_mobiel, 1, 2)
|| '-'
|| SUBSTR (prs_perslid_mobiel, 3, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 5, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 7, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 9, 2)),
1,
15)
WHERE prs_perslid_mobiel IS NOT NULL
AND LENGTH (prs_perslid_mobiel) > 5
AND MOD (LENGTH (prs_perslid_mobiel), 2) = 0
AND prs_perslid_mobiel LIKE '88%';
-- netnummers met 2 digits na-de-nul (bijv "020")
UPDATE prs_perslid
SET prs_perslid_mobiel =
SUBSTR (
'(0'
|| SUBSTR (prs_perslid_mobiel, 1, 2)
|| ') '
|| SUBSTR (prs_perslid_mobiel, 3, 3)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 8, 2),
1,
15)
WHERE prs_perslid_mobiel IS NOT NULL
AND LENGTH (prs_perslid_mobiel) > 5
AND EXISTS
(SELECT 1
FROM fac_usrdata
WHERE fac_usrtab_key = v_fac_usrtab_key
AND fac_usrdata_verwijder IS NULL
AND prs_perslid_mobiel LIKE
fac_usrdata_code || '%'
AND LENGTH (fac_usrdata_code) = 2);
-- netnummers met 3 digits na-de-nul (bijv "0118")
UPDATE prs_perslid
SET prs_perslid_mobiel =
SUBSTR (
'(0'
|| SUBSTR (prs_perslid_mobiel, 1, 3)
|| ') '
|| SUBSTR (prs_perslid_mobiel, 4, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|| ' '
|| SUBSTR (prs_perslid_mobiel, 8, 2),
1,
15)
WHERE prs_perslid_mobiel IS NOT NULL
AND LENGTH (prs_perslid_mobiel) > 5
AND EXISTS
(SELECT 1
FROM fac_usrdata
WHERE fac_usrtab_key = v_fac_usrtab_key
AND fac_usrdata_verwijder IS NULL
AND prs_perslid_mobiel LIKE
fac_usrdata_code || '%'
AND LENGTH (fac_usrdata_code) = 3);
/*
-- UWVA#87947: Na(ast) bovenstaande normalisatie voortaan ook nog alle
-- streepjes, spaties en haakjes wissen!
UPDATE prs_perslid
SET prs_perslid_mobiel =
REPLACE (
REPLACE (
REPLACE (REPLACE (prs_perslid_telefoonnr, '-', ''),
' ',
''),
'(',
''),
')',
'');
*/
--
-- FAXNUMMER ---------------------------------------------------------------
--
-- Verwijder landinformatie (alleen van Nederlandse nummers; buitenlandse
-- worden helaas verminkt!)
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde = SUBSTR (prs_kenmerklink_waarde, 2)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde LIKE '+%';
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde = SUBSTR (prs_kenmerklink_waarde, 3)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde LIKE '31%';
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde = SUBSTR (prs_kenmerklink_waarde, 5)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde LIKE '0031%';
-- Verwijder non-digit tekens (leestekens en spaties)
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde =
REPLACE (
REPLACE (
REPLACE (
REPLACE (REPLACE (prs_kenmerklink_waarde, '.', ''),
'(',
''),
')',
''),
'-',
''),
' ',
'')
WHERE prs_kenmerk_key = c_faxnr_key;
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde = '20' || prs_kenmerklink_waarde
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde LIKE '687____';
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde = SUBSTR (prs_kenmerklink_waarde, 2)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde LIKE '0%';
-- 06-nummers bijwerken
-- (NB: format "06 - xx xx xx xx" is 16 digits, dus gebruik ik
-- "06-xx xx xx xx", om het binnen de 15 karakters te houden.)
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_kenmerklink_waarde, 1, 1)
|| '-'
|| SUBSTR (prs_kenmerklink_waarde, 2, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 4, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 8, 2)),
1,
15)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde LIKE '6%'
AND prs_kenmerklink_waarde IS NOT NULL
AND LENGTH (prs_kenmerklink_waarde) > 5;
-- 0800- en 0900-nummers met een even aantal digits
-- (NB: MOD(prs_kenmerklink_waarde, 2) = 1, omdat prs_kenmerklink_waarde begint met 900 ipv 0900!)
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_kenmerklink_waarde, 1, 3)
|| ' - '
|| SUBSTR (prs_kenmerklink_waarde, 4, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 8, 2)),
1,
15)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde IS NOT NULL
AND LENGTH (prs_kenmerklink_waarde) > 5
AND MOD (LENGTH (prs_kenmerklink_waarde), 2) = 1
AND (prs_kenmerklink_waarde LIKE '800%'
OR prs_kenmerklink_waarde LIKE '900%');
-- 0800- en 0900-nummers met een oneven aantal digits
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_kenmerklink_waarde, 1, 3)
|| '-'
|| SUBSTR (prs_kenmerklink_waarde, 4, 3)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 7, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 9, 2)),
1,
15)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde IS NOT NULL
AND LENGTH (prs_kenmerklink_waarde) > 5
AND MOD (LENGTH (prs_kenmerklink_waarde), 2) = 0
AND (prs_kenmerklink_waarde LIKE '800%'
OR prs_kenmerklink_waarde LIKE '900%');
-- 088-nummers met een even aantal digits
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_kenmerklink_waarde, 1, 2)
|| ' - '
|| SUBSTR (prs_kenmerklink_waarde, 3, 3)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 8, 2)),
1,
15)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde IS NOT NULL
AND LENGTH (prs_kenmerklink_waarde) > 5
AND MOD (LENGTH (prs_kenmerklink_waarde), 2) = 1
AND prs_kenmerklink_waarde LIKE '88%';
-- 088-nummers met een oneven aantal digits
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde =
SUBSTR (
TRIM( '0'
|| SUBSTR (prs_kenmerklink_waarde, 1, 2)
|| '-'
|| SUBSTR (prs_kenmerklink_waarde, 3, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 5, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 7, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 9, 2)),
1,
15)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde IS NOT NULL
AND LENGTH (prs_kenmerklink_waarde) > 5
AND MOD (LENGTH (prs_kenmerklink_waarde), 2) = 0
AND prs_kenmerklink_waarde LIKE '88%';
-- netnummers met 2 digits na-de-nul (bijv "020")
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde =
SUBSTR (
'(0'
|| SUBSTR (prs_kenmerklink_waarde, 1, 2)
|| ') '
|| SUBSTR (prs_kenmerklink_waarde, 3, 3)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 8, 2),
1,
15)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde IS NOT NULL
AND LENGTH (prs_kenmerklink_waarde) > 5
AND EXISTS
(SELECT 1
FROM fac_usrdata
WHERE fac_usrtab_key = v_fac_usrtab_key
AND fac_usrdata_verwijder IS NULL
AND prs_kenmerklink_waarde LIKE
fac_usrdata_code || '%'
AND LENGTH (fac_usrdata_code) = 2);
-- netnummers met 3 digits na-de-nul (bijv "0118")
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde =
SUBSTR (
'(0'
|| SUBSTR (prs_kenmerklink_waarde, 1, 3)
|| ') '
|| SUBSTR (prs_kenmerklink_waarde, 4, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|| ' '
|| SUBSTR (prs_kenmerklink_waarde, 8, 2),
1,
15)
WHERE prs_kenmerk_key = c_faxnr_key
AND prs_kenmerklink_waarde IS NOT NULL
AND LENGTH (prs_kenmerklink_waarde) > 5
AND EXISTS
(SELECT prs_kenmerklink_key
FROM fac_usrdata
WHERE fac_usrtab_key = v_fac_usrtab_key
AND fac_usrdata_verwijder IS NULL
AND prs_kenmerklink_waarde LIKE
fac_usrdata_code || '%'
AND LENGTH (fac_usrdata_code) = 3);
EXCEPTION
WHEN OTHERS
THEN
fac.imp_writelog (p_import_key,
'W',
'Fout bij formatteren telefoonnummers',
SQLCODE || ': ' || SUBSTR (SQLERRM, 1, 200));
END format_telefoonnummers;
END uwva;
/
--
-- UWVA#29757: Flexwhere: Configuratie tbv bezettingsrapportages -----------------
--
-- d.ins_discipline_key = 406 is de discipline 'FlexWhere'.
-- MBMB
-- Alle ins_delen (objecten) van discpline FlexWhere: dit zijn de sensoren in de vergaderruimten.
CREATE OR REPLACE VIEW uwva_v_flexwhere_deel
(
ins_deel_key,
ins_deel_omschrijving,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_key,
alg_verdieping_volgnr,
alg_gebouw_key,
alg_gebouw_code,
alg_locatie_key,
alg_locatie_code
)
AS
SELECT d.ins_deel_key,
d.ins_deel_omschrijving,
r.alg_ruimte_key,
r.alg_ruimte_nr,
v.alg_verdieping_key,
v.alg_verdieping_volgnr,
g.alg_gebouw_key,
g.alg_gebouw_code,
l.alg_locatie_key,
alg_locatie_code
FROM ins_deel d,
alg_ruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE d.ins_discipline_key = 406
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND l.alg_locatie_key = g.alg_locatie_key
AND (d.ins_deel_vervaldatum < sysdate OR d.ins_deel_vervaldatum IS NULL)
AND d.ins_deel_verwijder IS NULL;
-- Alle sensor meetwaarde-wijzigingen.
-- ins_deel_state = 0 betekent dat ruimte geen beweging is gedecteerd (= vrij)
-- = 1 betekent dat ruimte WEL beweging is gedecteerd (= bezet)
CREATE OR REPLACE VIEW uwva_v_flexwhere_ins_state
(
ins_deel_key,
ins_deel_omschrijving,
ins_deel_state,
ins_deel_statedate,
ins_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_key,
alg_verdieping_volgnr,
alg_gebouw_key,
alg_gebouw_code,
alg_locatie_key,
alg_locatie_code
)
AS
SELECT d.ins_deel_key,
d.ins_deel_omschrijving,
h.ins_deel_state,
h.ins_deel_statedate,
TRUNC (h.ins_deel_statedate),
TO_CHAR (h.ins_deel_statedate, 'yyyy'),
TO_CHAR (h.ins_deel_statedate, 'mm'),
TO_CHAR (h.ins_deel_statedate, 'dd'),
TO_CHAR (h.ins_deel_statedate, 'D'),
TO_CHAR (h.ins_deel_statedate, 'hh24'),
TO_CHAR (h.ins_deel_statedate, 'mi'),
CASE
WHEN fac.safe_to_number (TO_CHAR (h.ins_deel_statedate, 'mi')) <
15
THEN
'00'
WHEN fac.safe_to_number (TO_CHAR (h.ins_deel_statedate, 'mi')) <
30
THEN
'15'
WHEN fac.safe_to_number (TO_CHAR (h.ins_deel_statedate, 'mi')) <
45
THEN
'30'
ELSE
'45'
END
CASE,
d.alg_ruimte_key,
d.alg_ruimte_nr,
d.alg_verdieping_key,
d.alg_verdieping_volgnr,
d.alg_gebouw_key,
d.alg_gebouw_code,
d.alg_locatie_key,
d.alg_locatie_code
FROM uwva_v_flexwhere_deel d, ins_deel_state_history h
WHERE d.ins_deel_key = h.ins_deel_key;
-- Alle reserveringen met de status in de vergaderruimten met een FlexWhere-sensor:
-- Formaat:
-- ins_deel_key, ins_deel_omschrijving, ins_deel_state,ins_deel_statedate
-- ins_deel_state = 0 betekent dat ruimte VANAF res_deel_statedate (!) niet gereserveerd is (= vrij zou zijn) (was 2)
-- = 1 betekent dat ruimte VANAF res_deel_statedate gereserveerd is (= bezet zou zijn) (was 3)
CREATE OR REPLACE VIEW uwva_v_flexwhere_res_state
(
ins_deel_key,
ins_deel_omschrijving,
res_deel_state,
res_deel_statedate,
res_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
res_rsv_ruimte_key,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
)
AS
SELECT d.ins_deel_key,
d.ins_deel_omschrijving,
'0',
rr.res_rsv_ruimte_tot,
TRUNC (rr.res_rsv_ruimte_tot),
TO_CHAR (rr.res_rsv_ruimte_tot, 'yyyy'),
TO_CHAR (rr.res_rsv_ruimte_tot, 'mm'),
TO_CHAR (rr.res_rsv_ruimte_tot, 'dd'),
TO_CHAR (rr.res_rsv_ruimte_tot, 'D'),
TO_CHAR (rr.res_rsv_ruimte_tot, 'hh24'),
TO_CHAR (rr.res_rsv_ruimte_tot, 'mi'),
CASE
WHEN fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_tot, 'mi')) <
15
THEN
'00'
WHEN fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_tot, 'mi')) <
30
THEN
'15'
WHEN fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_tot, 'mi')) <
45
THEN
'30'
ELSE
'45'
END
CASE,
rr.res_rsv_ruimte_key,
ar.alg_ruimte_key,
ar.alg_ruimte_nr,
v.alg_verdieping_volgnr,
g.alg_gebouw_code,
l.alg_locatie_code
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte r,
res_alg_ruimte rar,
alg_ruimte ar,
uwva_v_flexwhere_deel d,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE rr.res_rsv_ruimte_verwijder IS NULL
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = r.res_ruimte_key
AND r.res_ruimte_key = rar.res_ruimte_key
AND rar.alg_ruimte_key = ar.alg_ruimte_key
AND d.alg_ruimte_key = ar.alg_ruimte_key
AND ar.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
UNION ALL
SELECT d.ins_deel_key,
d.ins_deel_omschrijving,
'1',
rr.res_rsv_ruimte_van,
TRUNC (rr.res_rsv_ruimte_van),
TO_CHAR (rr.res_rsv_ruimte_van, 'yyyy'),
TO_CHAR (rr.res_rsv_ruimte_van, 'mm'),
TO_CHAR (rr.res_rsv_ruimte_van, 'dd'),
TO_CHAR (rr.res_rsv_ruimte_van, 'D'),
TO_CHAR (rr.res_rsv_ruimte_van, 'hh24'),
TO_CHAR (rr.res_rsv_ruimte_van, 'mi'),
CASE
WHEN fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_van, 'mi')) <
15
THEN
'00'
WHEN fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_van, 'mi')) <
30
THEN
'15'
WHEN fac.safe_to_number (TO_CHAR (rr.res_rsv_ruimte_van, 'mi')) <
45
THEN
'30'
ELSE
'45'
END
CASE,
rr.res_rsv_ruimte_key,
ar.alg_ruimte_key,
ar.alg_ruimte_nr,
v.alg_verdieping_volgnr,
g.alg_gebouw_code,
l.alg_locatie_code
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte r,
res_alg_ruimte rar,
alg_ruimte ar,
uwva_v_flexwhere_deel d,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE rr.res_rsv_ruimte_verwijder IS NULL
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = r.res_ruimte_key
AND r.res_ruimte_key = rar.res_ruimte_key
AND rar.alg_ruimte_key = ar.alg_ruimte_key
AND d.alg_ruimte_key = ar.alg_ruimte_key
AND ar.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key;
-- De verzameling (set) van dagen waarover de rapportage gaat:
-- Alle dagen van de afgelopen 2 maanden (2*31),
-- Behalve de weekenden. (dagnr 7 (=za) en 1 (=zo)) (1=zo, 2=ma, 3=di, .... 6=vr, 7 = za)
-- Elke dag (datum) met de begintijd voor de rapportage: 09:00u (9/24) en een eindtijd 16:00 (16/24)
-- NB: Let op, het is mogelijk dat van sommige zalen op sommige dagen helemaal geen sensorinfo in Facilitor wordt bewaard, dan is vangt deze view deze missing datums (in theorie ws) op.
CREATE OR REPLACE VIEW uwva_flexwhere_2mnd_tmp
(
datum_starttijd,
datum_eindtijd
)
AS
SELECT TRUNC (SYSDATE - (LEVEL - 1)) + 9 / 24,
TRUNC (SYSDATE - (LEVEL - 1)) + 16 / 24
FROM DUAL
CONNECT BY LEVEL <= 2 * 31;
CREATE OR REPLACE VIEW uwva_flexwhere_2mnd
AS
SELECT *
FROM uwva_flexwhere_2mnd_tmp
WHERE TO_CHAR (datum_starttijd, 'D') <> 1
AND TO_CHAR (datum_starttijd, 'D') <> 7;
-- View met alle kwartieren tussen 09:00u en 16:00u, dus gedurende 7 uur
-- Gebruik hiervan is voor de lijngrafiek die om op de X-as elk kwartier een waarde heeft staan.
CREATE OR REPLACE VIEW uwva_flexwhere_kwartieren_1dag
(
tijd,
uur,
MIN
)
AS
SELECT TRUNC (SYSDATE) + 9 / 24 + (LEVEL - 1) / (24 * 4),
TO_CHAR (TRUNC (SYSDATE) + 9 / 24 + (LEVEL - 1) / (24 * 4),
'hh24'),
TO_CHAR (TRUNC (SYSDATE) + 9 / 24 + (LEVEL - 1) / (24 * 4), 'mi')
FROM DUAL
CONNECT BY LEVEL <= (7.0 * 4) + 1;
CREATE OR REPLACE VIEW uwva_flexwhere_kwartier_2mnd
(
tijdstip,
datum,
uur,
min2
)
AS
SELECT TRUNC (datum_starttijd) + uur / 24 + MIN / (60 * 24),
TRUNC (datum_starttijd),
uur,
MIN
FROM uwva_flexwhere_2mnd, uwva_flexwhere_kwartieren_1dag;
CREATE OR REPLACE VIEW uwva_flexwhere_kwartier_mnd_1
AS
SELECT *
FROM uwva_flexwhere_kwartier_2mnd
WHERE TO_CHAR (datum, 'yyyy') =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND TO_CHAR (datum, 'mm') =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1);
----------------------------------------------------------------------------------
-- Om de no-show van reserveringen te kunnen bepalen, een tijdsvak van 4 weken (zeg maar 1 maand) terug de sensor-info.
-- state_code = R (reservering-state) of "I" (sensor-state)
-- HIER IS NIET NODIG: A (starttijd 09:00u van beide NULL, zowel I als R NULL)
-- HIER IS NIET NODIG B (eindtijd 16:00u van beide NULL, zowel I als R NULL
CREATE OR REPLACE VIEW uwva_v_flexwhere_res_4_noshow
(
ins_deel_key,
res_rsv_ruimte_van,
res_rsv_ruimte_tot,
tijdsduur,
tijdsinterval,
res_rsv_ruimte_key,
res_reservering_key,
res_rsv_ruimte_volgnr,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
)
AS
SELECT d.ins_deel_key,
rr.res_rsv_ruimte_van,
rr.res_rsv_ruimte_tot,
rr.res_rsv_ruimte_tot - rr.res_rsv_ruimte_van,
CASE
WHEN rr.res_rsv_ruimte_tot - rr.res_rsv_ruimte_van < 2 / 24
THEN
1 / 96
WHEN rr.res_rsv_ruimte_tot - rr.res_rsv_ruimte_van < 4 / 24
THEN
2 / 96
ELSE
3 / 96
END
CASE,
rr.res_rsv_ruimte_key,
rr.res_reservering_key,
rr.res_rsv_ruimte_volgnr,
ar.alg_ruimte_key,
ar.alg_ruimte_nr,
v.alg_verdieping_volgnr,
g.alg_gebouw_code,
l.alg_locatie_code
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte r,
res_alg_ruimte rar,
alg_ruimte ar,
uwva_v_flexwhere_deel d,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE rr.res_rsv_ruimte_verwijder IS NULL
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = r.res_ruimte_key
AND r.res_ruimte_key = rar.res_ruimte_key
AND rar.alg_ruimte_key = ar.alg_ruimte_key
AND d.alg_ruimte_key = ar.alg_ruimte_key
AND ar.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key;
-- Van DEZE maand, wordt gebruikt om NO-show te bepalen
CREATE OR REPLACE VIEW uwva_v_flexwhere_insres_noshow
(
ins_deel_key,
res_rsv_ruimte_van,
res_rsv_ruimte_tot,
tijdsduur,
tijdsinterval,
res_rsv_ruimte_key,
res_reservering_key,
res_rsv_ruimte_volgnr,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code,
ins_deel_state,
ins_deel_statedate
)
AS
SELECT ns.ins_deel_key,
res_rsv_ruimte_van,
res_rsv_ruimte_tot,
tijdsduur,
tijdsinterval,
res_rsv_ruimte_key,
res_reservering_key,
res_rsv_ruimte_volgnr,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code,
a.ins_deel_state,
a.ins_deel_statedate
FROM uwva_v_flexwhere_res_4_noshow ns, ins_deel_state_history a
WHERE a.ins_deel_statedate =
(SELECT MAX (ins_deel_statedate)
FROM ins_deel_state_history b
WHERE B.INS_DEEL_KEY = ns.ins_deel_key
AND B.INS_DEEL_STATEDATE <=
ns.res_rsv_ruimte_van + ns.tijdsinterval)
AND a.ins_deel_key = ns.ins_deel_key
UNION
SELECT ns.ins_deel_key,
res_rsv_ruimte_van,
res_rsv_ruimte_tot,
tijdsduur,
tijdsinterval,
res_rsv_ruimte_key,
alg_ruimte_key,
res_reservering_key,
res_rsv_ruimte_volgnr,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code,
'0',
res_rsv_ruimte_van
FROM uwva_v_flexwhere_res_4_noshow ns
WHERE NOT EXISTS (SELECT 'x'
FROM ins_deel_state_history a
WHERE a.ins_deel_key = ns.ins_deel_key);
CREATE OR REPLACE PROCEDURE uwva_res_sensor_noshow (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2)
AS
-- Cursor met alle reservering die geen aanwezigheid hebben op tijdstip kwartier, half uur of 3 kwartier volgens de spelregels 'no-show':
--
-- Vergadering < 2 uur: als na exact 15 minuten g<><67>n aanwezigheid wordt geconstateerd wordt de reservering aangemerkt als een No Show
-- Vergadering duurt vanaf 2 tot 4 uur -> na 30 minuten wordt het aangemerkt als een No Show
-- Vergadering duurt vanaf 4 uur -> na 45 minuten wordt het aangemerkt als een No Show
CURSOR c_noshow
IS
SELECT res_rsv_ruimte_key, ins_deel_state
FROM uwva_v_flexwhere_insres_noshow
WHERE ins_deel_state = 0
AND TRUNC (res_rsv_ruimte_van) = TRUNC (SYSDATE - 1); -- Gisteren
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_txt_noshow VARCHAR2 (200);
h_track_res NUMBER (1);
h_track_bez NUMBER (1);
v_nu DATE;
BEGIN
v_nu := SYSDATE;
v_txt_noshow := 'Flexwhere: No show';
------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR rc IN c_noshow
LOOP
fac.trackaction ('#RESUPD',
rc.res_rsv_ruimte_key,
NULL,
v_nu,
v_txt_noshow);
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_bezoekers_shown = 0
WHERE res_rsv_ruimte_key = rc.res_rsv_ruimte_key;
END LOOP;
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname,
'E',
'Flexwhere afgebroken!',
v_errormsg);
COMMIT;
END;
/
--------------------------------------------------------------------
-- Vorige maand
-- state_code = R (reservering-state) of "I" (sensor-state)
-- A (starttijd 10:00u van beide NULL, zowel I als R NULL)
-- B (eindtijd 14:00u van beide NULL, zowel I als R NULL
CREATE OR REPLACE VIEW uwva_v_flexwhere_ins_mnd_1
(
ins_deel_key,
ins_deel_omschrijving,
ins_deel_state,
res_deel_state,
state_code,
ins_deel_statedate,
ins_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
)
AS
SELECT ins_deel_key,
ins_deel_omschrijving,
ins_deel_state,
NULL,
'I',
ins_deel_statedate,
ins_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
FROM uwva_v_flexwhere_ins_state fw
WHERE fw.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND fw.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
UNION ALL
SELECT ins_deel_key,
ins_deel_omschrijving,
NULL,
NULL,
'A',
dag.datum_starttijd,
TRUNC (dag.datum_starttijd),
TO_CHAR (dag.datum_starttijd, 'yyyy'),
TO_CHAR (dag.datum_starttijd, 'mm'),
TO_CHAR (dag.datum_starttijd, 'dd'),
TO_CHAR (dag.datum_starttijd, 'D'),
TO_CHAR (dag.datum_starttijd, 'hh24'),
TO_CHAR (dag.datum_starttijd, 'mi'),
CASE
WHEN fac.safe_to_number (TO_CHAR (dag.datum_starttijd, 'mi')) <
15
THEN
'00'
WHEN fac.safe_to_number (TO_CHAR (dag.datum_starttijd, 'mi')) <
30
THEN
'15'
WHEN fac.safe_to_number (TO_CHAR (dag.datum_starttijd, 'mi')) <
45
THEN
'30'
ELSE
'45'
END
CASE,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
FROM uwva_v_flexwhere_deel d, uwva_flexwhere_2mnd dag
WHERE TO_CHAR (dag.datum_starttijd, 'yyyy') =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND TO_CHAR (dag.datum_starttijd, 'mm') =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
UNION ALL
SELECT ins_deel_key,
ins_deel_omschrijving,
NULL,
NULL,
'B',
dag.datum_eindtijd,
TRUNC (dag.datum_eindtijd),
TO_CHAR (dag.datum_eindtijd, 'yyyy'),
TO_CHAR (dag.datum_eindtijd, 'mm'),
TO_CHAR (dag.datum_eindtijd, 'dd'),
TO_CHAR (dag.datum_eindtijd, 'D'),
TO_CHAR (dag.datum_eindtijd, 'hh24'),
TO_CHAR (dag.datum_eindtijd, 'mi'),
CASE
WHEN fac.safe_to_number (TO_CHAR (dag.datum_eindtijd, 'mi')) <
15
THEN
'00'
WHEN fac.safe_to_number (TO_CHAR (dag.datum_eindtijd, 'mi')) <
30
THEN
'15'
WHEN fac.safe_to_number (TO_CHAR (dag.datum_eindtijd, 'mi')) <
45
THEN
'30'
ELSE
'45'
END
CASE,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
FROM uwva_v_flexwhere_deel d, uwva_flexwhere_2mnd dag
WHERE TO_CHAR (dag.datum_eindtijd, 'yyyy') =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND TO_CHAR (dag.datum_eindtijd, 'mm') =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1);
--------------------------------------------------------------------
-- Vorige maand, INS sensoren en RES bij elkaar
CREATE OR REPLACE VIEW uwva_v_flexwhere_ins_en_res_1
(
ins_deel_key,
ins_deel_omschrijving,
ins_deel_state,
res_deel_state,
state_code,
ins_deel_statedate,
ins_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
res_rsv_ruimte_key,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
)
AS
SELECT ins_deel_key,
ins_deel_omschrijving,
NULL,
res_deel_state,
'R',
res_deel_statedate,
res_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
res_rsv_ruimte_key,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
FROM uwva_v_flexwhere_res_state fw
--WHERE fw.res_deel_statedate >= SYSDATE - 2*31
WHERE fw.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND fw.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
UNION ALL
SELECT ins_deel_key,
ins_deel_omschrijving,
ins_deel_state,
res_deel_state,
state_code,
ins_deel_statedate,
ins_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
NULL,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
FROM uwva_v_flexwhere_ins_mnd_1;
-- Statecode hier wordt 'X'
CREATE OR REPLACE VIEW uwva_v_flexwhere_ins_kwartier
(
ins_deel_key,
ins_deel_omschrijving,
ins_deel_state,
res_deel_state,
state_code,
ins_deel_statedate,
ins_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
)
AS
SELECT ins_deel_key,
ins_deel_omschrijving,
NULL,
NULL,
'X',
k.tijdstip,
k.datum,
TO_CHAR (k.tijdstip, 'yyyy'),
TO_CHAR (k.tijdstip, 'mm'),
TO_CHAR (k.tijdstip, 'dd'),
TO_CHAR (k.tijdstip, 'D'),
k.uur,
k.min2,
k.min2,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
FROM uwva_v_flexwhere_deel t, uwva_flexwhere_kwartier_mnd_1 k
UNION ALL
SELECT ins_deel_key,
ins_deel_omschrijving,
ins_deel_state,
NULL,
'I',
ins_deel_statedate,
ins_deel_statedate_trunc,
jaar,
maand,
dag,
dagnr,
uur,
MIN,
min2,
alg_ruimte_key,
alg_ruimte_nr,
alg_verdieping_volgnr,
alg_gebouw_code,
alg_locatie_code
FROM uwva_v_flexwhere_ins_state fw
WHERE fw.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND fw.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1);
-- Van VORIGE maand
CREATE OR REPLACE VIEW uwva_v_flexwhere_insres_vantot
(
ins_deel_key,
state_code,
ins_deel_state,
res_deel_state,
vandatum,
tmdatum,
jaar,
maand,
dag,
dagnr,
uur,
MIN
)
AS
SELECT ins_deel_key,
state_code,
COALESCE (
ABS (ins_deel_state - 1),
(SELECT ABS (MAX (fac.safe_to_number (ins_deel_state)) - 1)
FROM ins_deel_state_history a
WHERE a.ins_deel_statedate =
(SELECT MIN (ins_deel_statedate)
FROM ins_deel_state_history b
WHERE B.INS_DEEL_KEY = t1.ins_deel_key
AND B.INS_DEEL_STATEDATE >=
t1.INS_DEEL_STATEDATE)
AND a.ins_deel_key = t1.ins_deel_key),
(SELECT MAX (fac.safe_to_number (ins_deel_state))
FROM ins_deel_state_history a
WHERE a.ins_deel_statedate =
(SELECT MAX (ins_deel_statedate)
FROM ins_deel_state_history b
WHERE B.INS_DEEL_KEY = t1.ins_deel_key
AND B.INS_DEEL_STATEDATE <
t1.INS_DEEL_STATEDATE)
AND a.ins_deel_key = t1.ins_deel_key),
0)
ins_state,
COALESCE (
ABS (res_deel_state - 1),
(SELECT ABS (MAX (fac.safe_to_number (res_deel_state)) - 1)
FROM uwva_v_flexwhere_ins_en_res_1 a
WHERE a.ins_deel_statedate =
(SELECT MIN (ins_deel_statedate)
FROM uwva_v_flexwhere_ins_en_res_1 b
WHERE B.INS_DEEL_KEY = t1.ins_deel_key
AND B.INS_DEEL_STATEDATE >=
t1.INS_DEEL_STATEDATE
AND b.state_code = 'R')
AND A.INS_DEEL_KEY = t1.ins_deel_key
AND a.state_code = 'R'),
(SELECT MAX (fac.safe_to_number (res_deel_state))
FROM uwva_v_flexwhere_ins_en_res_1 a
WHERE a.ins_deel_statedate =
(SELECT MAX (ins_deel_statedate)
FROM uwva_v_flexwhere_ins_en_res_1 b
WHERE B.INS_DEEL_KEY = t1.ins_deel_key
AND B.INS_DEEL_STATEDATE <
t1.INS_DEEL_STATEDATE
AND b.state_code = 'R')
AND A.INS_DEEL_KEY = t1.ins_deel_key
AND a.state_code = 'R'),
0)
res_state,
COALESCE (
LAG (ins_deel_statedate, 1)
OVER (ORDER BY ins_deel_key, ins_deel_statedate),
TO_DATE ('01-01-2010', 'DD-MM-YYYY'))
AS vandatum,
ins_deel_statedate AS tmdatum,
jaar,
maand,
dag,
dagnr,
uur,
MIN
FROM uwva_v_flexwhere_ins_en_res_1 t1;
--
-- uwva_v_flexwhere_pie_maandag_1 is die van de VORIGE maand
--
-- Dit is per dag van 09:00 - 16:00 u = 7.0 uur
-- Dit is voor alle maandagen van de maand (voor juni 2014 -> 5 maandagen)
-- Dit is voor alle sensorobjecten van de reserveerzalen (17 stuks)
-- Betekent 7.0 * 5 * 17 = 595 uur, 595 / 24 = 24,791666667 dag.
-- Als je de SUM doet van FCLT_YAS_ van onderstaande view dan klopt dit exact!
CREATE OR REPLACE VIEW uwva_v_fwhere_pie_maandag_1
(
fclt_key,
FCLT_XAS_,
FCLT_YAS_,
FCLT_URL,
FCLT_SORT
)
AS
SELECT '',
DECODE (ins_deel_state || res_deel_state,
'00', 'Vrij',
'01', 'Vrij vergadering gepland',
'10', 'Bezet, geen vergadering',
'Bezet'),
SUM (tmdatum - vandatum),
'',
ins_deel_state || res_deel_state
FROM t_uwva_v_flexwhere_insres_vant t1
WHERE t1.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND t1.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
AND t1.uur >= 9
AND ( (t1.uur = 16 AND t1.MIN = 0) OR (t1.uur < 16))
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
AND TRUNC (vandatum) = TRUNC (tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
AND dagnr = 2
GROUP BY ins_deel_state || res_deel_state;
CREATE OR REPLACE VIEW uwva_v_fwhere_pie_dinsdag_1
(
fclt_key,
FCLT_XAS_,
FCLT_YAS_,
FCLT_URL,
FCLT_SORT
)
AS
SELECT '',
DECODE (ins_deel_state || res_deel_state,
'00', 'Vrij',
'01', 'Vrij vergadering gepland',
'10', 'Bezet, geen vergadering',
'Bezet'),
SUM (tmdatum - vandatum),
'',
ins_deel_state || res_deel_state
FROM t_uwva_v_flexwhere_insres_vant t1
WHERE t1.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND t1.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
AND t1.uur >= 9
AND ( (t1.uur = 16 AND t1.MIN = 0) OR (t1.uur < 16))
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
AND TRUNC (vandatum) = TRUNC (tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
AND dagnr = 3
GROUP BY ins_deel_state || res_deel_state;
CREATE OR REPLACE VIEW uwva_v_fwhere_pie_woensdag_1
(
fclt_key,
FCLT_XAS_,
FCLT_YAS_,
FCLT_URL,
FCLT_SORT
)
AS
SELECT '',
DECODE (ins_deel_state || res_deel_state,
'00', 'Vrij',
'01', 'Vrij vergadering gepland',
'10', 'Bezet, geen vergadering',
'Bezet'),
SUM (tmdatum - vandatum),
'',
ins_deel_state || res_deel_state
FROM t_uwva_v_flexwhere_insres_vant t1
WHERE t1.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND t1.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
AND t1.uur >= 9
AND ( (t1.uur = 16 AND t1.MIN = 0) OR (t1.uur < 16))
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
AND TRUNC (vandatum) = TRUNC (tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
AND dagnr = 4
GROUP BY ins_deel_state || res_deel_state;
CREATE OR REPLACE VIEW uwva_v_fwhere_pie_donderdag_1
(
fclt_key,
FCLT_XAS_,
FCLT_YAS_,
FCLT_URL,
FCLT_SORT
)
AS
SELECT '',
DECODE (ins_deel_state || res_deel_state,
'00', 'Vrij',
'01', 'Vrij vergadering gepland',
'10', 'Bezet, geen vergadering',
'Bezet'),
SUM (tmdatum - vandatum),
'',
ins_deel_state || res_deel_state
FROM t_uwva_v_flexwhere_insres_vant t1
WHERE t1.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND t1.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
AND t1.uur >= 9
AND ( (t1.uur = 16 AND t1.MIN = 0) OR (t1.uur < 16))
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
AND TRUNC (vandatum) = TRUNC (tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
AND dagnr = 5
GROUP BY ins_deel_state || res_deel_state;
CREATE OR REPLACE VIEW uwva_v_fwhere_pie_vrijdag_1
(
fclt_key,
FCLT_XAS_,
FCLT_YAS_,
FCLT_URL,
FCLT_SORT
)
AS
SELECT '',
DECODE (ins_deel_state || res_deel_state,
'00', 'Vrij',
'01', 'Vrij vergadering gepland',
'10', 'Bezet, geen vergadering',
'Bezet'),
SUM (tmdatum - vandatum),
'',
ins_deel_state || res_deel_state
FROM t_uwva_v_flexwhere_insres_vant t1
WHERE t1.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND t1.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
AND t1.uur >= 9
AND ( (t1.uur = 16 AND t1.MIN = 0) OR (t1.uur < 16))
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
AND TRUNC (vandatum) = TRUNC (tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
AND dagnr = 6
GROUP BY ins_deel_state || res_deel_state;
CREATE OR REPLACE VIEW uwva_v_fwhere_pie_maand_1
(
fclt_key,
FCLT_XAS_,
FCLT_YAS_,
FCLT_URL,
FCLT_SORT
)
AS
SELECT '',
DECODE (ins_deel_state || res_deel_state,
'00', 'Vrij',
'01', 'Vrij vergadering gepland',
'10', 'Bezet, geen vergadering',
'Bezet'),
SUM (tmdatum - vandatum),
'',
ins_deel_state || res_deel_state
FROM t_uwva_v_flexwhere_insres_vant t1
WHERE t1.jaar =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy'))
AND t1.maand =
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
AND t1.uur >= 09
AND ( (t1.uur = 16 AND t1.MIN = 0) OR (t1.uur < 16))
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
AND TRUNC (vandatum) = TRUNC (tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
GROUP BY ins_deel_state || res_deel_state;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Lijngrafieken, hierin zijn de RES-gegevens niet relevant, alleen de sensor-bezetting info zit in de lijngrafiek
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Voorbeeld uitleg hoe deze view eruit ziet, vanuit uwva_v_flexwhere_ins_kwartier gemaakt:
-- uwva_v_flexwhere_ins_kwartier:
-- ins_deel_key, ins_deel_state, ins_deel_statedate
-- 14981 FW3 NULL 23-6-2014 09:00:00 -> dan hier bezet (1), is inverse van volgende regel (0)
-- 14981 FW3 0 23-6-2014 15:45:03 -> vanaf hier vrij, inverse van volgende regel (1)
-- 14981 FW3 1 23-6-2014 15:48:28 -> etc
-- 14981 FW3 0 23-6-2014 15:48:42
-- 14981 FW3 NULL 23-6-2014 16:00:00 -> Hier die van de VORIGE(!!!) regel.
--- En dat wordt dan:
-- uwva_v_flexwhere_ins_vantot:
-- ins_deel_key, ins_deel_state,vandatum, tmdatum
-- 14981 0 20-6-2014 16:00:00 23-6-2014 09:00:00
-- 14981 1 23-6-2014 09:00:00 23-6-2014 15:45:03
-- 14981 0 23-6-2014 15:45:03 23-6-2014 15:48:28
-- 14981 1 23-6-2014 15:48:28 23-6-2014 15:48:42
-- 14981 0 23-6-2014 15:48:42 23-6-2014 16:00:00
CREATE OR REPLACE VIEW uwva_v_flexwhere_ins_vantot
(
ins_deel_key,
state_code,
ins_deel_state,
vandatum,
tmdatum,
jaar,
maand,
dag,
dagnr,
uur,
min2
)
AS
SELECT ins_deel_key,
state_code,
COALESCE (
ABS (ins_deel_state - 1),
(SELECT ABS (MAX (fac.safe_to_number (ins_deel_state)) - 1)
FROM ins_deel_state_history a
WHERE a.ins_deel_statedate =
(SELECT MIN (ins_deel_statedate)
FROM ins_deel_state_history b
WHERE B.INS_DEEL_KEY = t1.ins_deel_key
AND B.INS_DEEL_STATEDATE >=
t1.INS_DEEL_STATEDATE)
AND a.ins_deel_key = t1.ins_deel_key),
(SELECT MAX (fac.safe_to_number (ins_deel_state))
FROM ins_deel_state_history a
WHERE a.ins_deel_statedate =
(SELECT MAX (ins_deel_statedate)
FROM ins_deel_state_history b
WHERE B.INS_DEEL_KEY = t1.ins_deel_key
AND B.INS_DEEL_STATEDATE <
t1.INS_DEEL_STATEDATE)
AND a.ins_deel_key = t1.ins_deel_key),
0)
ins_state,
COALESCE (
LAG (ins_deel_statedate, 1)
OVER (ORDER BY ins_deel_key, ins_deel_statedate),
TO_DATE ('01-01-2010', 'DD-MM-YYYY'))
AS vandatum,
ins_deel_statedate AS tmdatum,
jaar,
maand,
dag,
dagnr,
uur,
min2
FROM uwva_v_flexwhere_ins_kwartier t1;
CREATE OR REPLACE VIEW uwva_v_fwhere_line_maand_1
(
dagnr,
tijd,
ins_deel_state,
delta_tijd
)
AS
SELECT dagnr,
uur || ':' || min2,
ins_deel_state,
COUNT ( * )
FROM uwva_v_flexwhere_ins_vantot t1
WHERE TO_CHAR (vandatum, 'hh24') >= 9
AND TO_CHAR (vandatum, 'hh24') < 16
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
AND TRUNC (vandatum) = TRUNC (tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
GROUP BY dagnr, uur || ':' || min2, ins_deel_state
UNION ALL
SELECT dagnr,
uur || ':' || min2,
ins_deel_state,
COUNT ( * )
FROM uwva_v_flexwhere_ins_vantot t1
WHERE (TO_CHAR (tmdatum, 'hh24') = 16 AND TO_CHAR (tmdatum, 'mi') = 0)
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
AND TRUNC (vandatum) = TRUNC (tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
GROUP BY dagnr, uur || ':' || min2, ins_deel_state
UNION ALL
SELECT dagnr,
uur || ':' || min2,
ins_deel_state,
COUNT ( * )
FROM uwva_v_flexwhere_ins_vantot t1
WHERE (TO_CHAR (tmdatum, 'hh24') = 9 AND TO_CHAR (tmdatum, 'mi') = 0)
AND state_code <> 'A'
AND vandatum <> tmdatum -- dezelfde timestamps uitsluiten: is mogelijk als toevallig res-tijd vanaf 09:00 of tot 16:00 met de A en B code regels
--AND TRUNC(vandatum) = TRUNC(tmdatum) -- wel op dezelfde dag, vandatum vrijdag 16:00 en tmdatum maandag 09:00 kan toevallig worden generereerd, dus hier eruit.
GROUP BY dagnr, uur || ':' || min2, ins_deel_state;
-- View die per dag (maandag, dinsdag... vrijdag) alle kwartiertjes tussen 09:00 en 16:00 de bezetting (in kwartiertjes geteld) ten opzichte van het totaal aantal kwartiertjes
CREATE OR REPLACE VIEW uwva_v_fwhere_lgraph_maand_1
(
dagnr,
tijd,
bezet,
totaal
)
AS
SELECT dagnr,
tijd,
SUM (a),
SUM (b)
FROM ( SELECT dagnr,
tijd,
ins_deel_state * SUM (delta_tijd) a,
SUM (delta_tijd) b
FROM uwva_v_fwhere_line_maand_1 t1
GROUP BY dagnr, tijd, ins_deel_state)
GROUP BY dagnr, tijd;
CREATE OR REPLACE VIEW uwva_v_fwhere_linegrap_maand_1
(
fclt_key,
FCLT_XAS_,
FCLT_YAS_MAANDAG,
FCLT_YAS2_DINSDAG,
FCLT_YAS3_WOENSDAG,
FCLT_YAS4_DONDERDAG,
FCLT_YAS5_VRIJDAG,
FCLT_URL
)
AS
WITH XX AS (SELECT * FROM t_uwva_v_fwhere_lgraph_maand_1)
SELECT '',
tijd,
(SELECT ROUND (100 * bezet / totaal, 2)
FROM XX b
WHERE dagnr = 2 AND b.tijd = a.tijd),
(SELECT ROUND (100 * bezet / totaal, 2)
FROM XX b
WHERE dagnr = 3 AND b.tijd = a.tijd),
(SELECT ROUND (100 * bezet / totaal, 2)
FROM XX b
WHERE dagnr = 4 AND b.tijd = a.tijd),
(SELECT ROUND (100 * bezet / totaal, 2)
FROM XX b
WHERE dagnr = 5 AND b.tijd = a.tijd),
(SELECT ROUND (100 * bezet / totaal, 2)
FROM XX b
WHERE dagnr = 6 AND b.tijd = a.tijd),
''
FROM t_uwva_v_fwhere_lgraph_maand_1 a
GROUP BY a.tijd;
CREATE OR REPLACE VIEW uwva_v_rap_flexwhere
(
jaar,
maand
)
AS
SELECT DECODE (TO_CHAR (SYSDATE, 'mm'),
1, TO_CHAR (SYSDATE, 'yyyy') - 1,
TO_CHAR (SYSDATE, 'yyyy')),
DECODE (TO_CHAR (SYSDATE, 'mm'),
1, 12,
TO_CHAR (SYSDATE, 'mm') - 1)
FROM DUAL;
--
-- einde UWVA#29757: Flexwhere: Configuratie tbv bezettingsrapportages -----------
--
-- Handelsdrukwerk
CREATE OR REPLACE VIEW uwva_v_visitekaartje
(
prs_perslid_key,
naam,
functie,
gebouwcode,
adres,
postcode,
plaats,
postadres,
postpostcode,
postplaats,
telefoon1,
telefoon2,
mobiel1,
mobiel2,
email,
fax1,
fax2
)
AS
SELECT p.prs_perslid_key,
DECODE (COALESCE (RTRIM (p.prs_perslid_titel), ''),
'', '',
'(' || LOWER (p.prs_perslid_titel) || ') ')
|| DECODE (COALESCE (p.prs_perslid_voornaam, ''),
'', '',
p.prs_perslid_voornaam || ' ')
|| DECODE (COALESCE (p.prs_perslid_tussenvoegsel, ''),
'', '',
p.prs_perslid_tussenvoegsel || ' ')
|| prs_perslid_naam
naam,
prs_srtperslid_omschrijving functie,
pgl.alg_gebouw_code,
l.alg_locatie_adres adres,
l.alg_locatie_postcode postcode,
l.alg_locatie_plaats plaats,
l.alg_locatie_post_adres postadres,
l.alg_locatie_post_postcode postpostcode,
l.alg_locatie_post_plaats postplaats,
TRIM(DECODE (
SUBSTR (p.prs_perslid_telefoonnr, 1, 1),
'(',
SUBSTR (p.prs_perslid_telefoonnr,
2,
INSTR (p.prs_perslid_telefoonnr, ')') - 2),
SUBSTR (p.prs_perslid_telefoonnr,
1,
INSTR (p.prs_perslid_telefoonnr, '-') - 1)))
telefoon1,
TRIM(DECODE (
SUBSTR (p.prs_perslid_telefoonnr, 1, 1),
'(',
SUBSTR (p.prs_perslid_telefoonnr,
INSTR (p.prs_perslid_telefoonnr, ')') + 1),
SUBSTR (p.prs_perslid_telefoonnr,
INSTR (p.prs_perslid_telefoonnr, '-') + 1)))
telefoon2,
TRIM(DECODE (
SUBSTR (p.prs_perslid_mobiel, 1, 1),
'(',
SUBSTR (p.prs_perslid_mobiel,
2,
INSTR (p.prs_perslid_mobiel, ')') - 2),
SUBSTR (p.prs_perslid_mobiel,
1,
INSTR (p.prs_perslid_mobiel, '-') - 1)))
mobiel1,
TRIM(DECODE (
SUBSTR (p.prs_perslid_mobiel, 1, 1),
'(',
SUBSTR (p.prs_perslid_mobiel,
INSTR (p.prs_perslid_mobiel, ')') + 1),
SUBSTR (p.prs_perslid_mobiel,
INSTR (p.prs_perslid_mobiel, '-') + 1)))
mobiel2,
p.prs_perslid_email email,
TRIM(DECODE (
SUBSTR (kl.prs_kenmerklink_waarde, 1, 1),
'(',
SUBSTR (kl.prs_kenmerklink_waarde,
2,
INSTR (kl.prs_kenmerklink_waarde, ')') - 2),
SUBSTR (kl.prs_kenmerklink_waarde,
1,
INSTR (kl.prs_kenmerklink_waarde, '-') - 1)))
fax1,
TRIM(DECODE (
SUBSTR (kl.prs_kenmerklink_waarde, 1, 1),
'(',
SUBSTR (kl.prs_kenmerklink_waarde,
INSTR (kl.prs_kenmerklink_waarde, ')') + 1),
SUBSTR (kl.prs_kenmerklink_waarde,
INSTR (kl.prs_kenmerklink_waarde, '-') + 1)))
fax2
FROM prs_perslid p,
prs_srtperslid sp,
alg_locatie l,
(SELECT alg_locatie_key,
g.alg_gebouw_key,
g.alg_gebouw_code,
prs_perslid_key
FROM (SELECT prs_perslid_key,
(SELECT MAX (alg_ruimte_key)
FROM prs_v_perslidwerkplek_gegevens pwg
WHERE pwg.prs_perslid_key = pb.prs_perslid_key
AND pwg.prs_perslidwerkplek_bezetting =
pb.prs_perslidwerkplek_bezetting)
alg_ruimte_key
FROM ( SELECT prs_perslid_key,
MAX (prs_perslidwerkplek_bezetting)
prs_perslidwerkplek_bezetting
FROM prs_perslidwerkplek pw, prs_werkplek wp
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
GROUP BY prs_perslid_key) pb) pr,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r
WHERE pr.alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key) pgl,
(SELECT prs_link_key, prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE prs_kenmerk_key = 7 AND prs_kenmerklink_verwijder IS NULL)
kl
WHERE p.prs_srtperslid_key = sp.prs_srtperslid_key
AND p.prs_perslid_key = pgl.prs_perslid_key(+)
AND pgl.alg_locatie_key = l.alg_locatie_key(+)
AND p.prs_perslid_key = kl.prs_link_key(+);
CREATE OR REPLACE VIEW UWVA_V_HD_RECEIVERS
(
PRS_PERSLID_KEY
)
AS
SELECT fac.safe_to_number (fd.FAC_USRDATA_OMSCHR)
FROM FAC_USRDATA fd
WHERE fd.FAC_USRTAB_KEY = 62
AND fd.FAC_USRDATA_UPPER LIKE 'SYS_PRS_BES_HD%';
CREATE OR REPLACE VIEW UWVA_V_NOTI_BES_HD
(
CODE,
SENDER,
RECEIVER,
TEXT,
KEY,
XKEY
)
AS
SELECT DISTINCT
'BESMAI',
NULL,
bo_hd.prs_perslid_key,
'Retour bestelling '
|| b.bes_bestelling_key
|| ' (Reden:'
|| b.bes_bestelling_opmerking
|| ')',
b.bes_bestelling_key,
NULL
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep sg,
UWVA_V_HD_RECEIVERS bo_hd
WHERE b.BES_BESTELLING_RETOURVAN_KEY IS NOT NULL
AND TRUNC (b.BES_BESTELLING_DATUM) = TRUNC (SYSDATE) - 1
-- AND to_number(to_char(b.BES_BESTELLING_DATUM,'HH24')) = to_number(to_char(sysdate,'HH24')) - 1
AND bi.bes_bestelling_key = b.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key IN
(SELECT TO_NUMBER (fd.FAC_USRDATA_OMSCHR)
FROM FAC_USRDATA fd
WHERE fd.FAC_USRTAB_KEY = 62
AND fd.FAC_USRDATA_UPPER LIKE 'SYS_RETOUR_BES_HD%');
-- UWVA#555
CREATE OR REPLACE VIEW uwva_v_kz_zonder_bezoek
(
datum,
tijdstip,
fclt_3d_locatie_key,
fclt_f_locatie,
ruimte,
reservering,
omschrijving,
aangemaakt_door
)
AS
SELECT res_rsv_ruimte_van,
TO_CHAR (res_rsv_ruimte_van, 'HH24:MI') tijdstip,
l.alg_locatie_key,
alg_locatie_code,
res_ruimte_nr,
TO_CHAR (res_r.res_reservering_key),
rg.res_rsv_ruimte_omschrijving,
pf.prs_perslid_naam_full
FROM alg_ruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l,
res_v_aanwezigreservering res_r,
prs_v_perslid_fullnames pf,
(SELECT r.res_reservering_key,
r.res_rsv_ruimte_key,
r.res_ruimte_opstel_key,
ro.res_ruimte_key,
ra.alg_ruimte_key,
r.res_rsv_ruimte_van,
r.res_rsv_ruimte_tot,
r.res_status_fo_key,
rr.res_discipline_key,
rr.res_ruimte_nr,
r.res_rsv_ruimte_omschrijving
FROM res_rsv_ruimte r,
res_ruimte_opstelling ro,
res_ruimte rr,
res_alg_ruimte ra
WHERE r.res_rsv_ruimte_verwijder IS NULL
AND ra.res_alg_ruimte_verwijder IS NULL
AND rr.res_ruimte_verwijder IS NULL
AND r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_ruimte_key = ra.res_ruimte_key) rg
WHERE rg.res_discipline_key IN (126, 121, 125, 122, 123, 124, 138)
AND res_rsv_ruimte_van > SYSDATE
AND rg.alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
AND rg.res_reservering_key = res_r.res_reservering_key
AND fac.gettrackinguserkey ('RESNEW', rg.res_rsv_ruimte_key) =
pf.prs_perslid_key
AND NOT EXISTS
(SELECT a.res_rsv_ruimte_key
FROM bez_afspraak a
WHERE a.res_rsv_ruimte_key = rg.res_rsv_ruimte_key);
CREATE OR REPLACE VIEW uwva_v_stats_users_today
(
naam,
ingelogd,
rol,
i
)
AS
SELECT prs_perslid_naam_full,
prs_perslid_login,
(SELECT MIN (fac_groep_omschrijving)
FROM fac_gebruikersgroep gg, fac_groep g
WHERE gg.prs_perslid_key = p.prs_perslid_key
AND gg.fac_groep_key = g.fac_groep_key)
|| DECODE (
(SELECT COUNT (fac_groep_omschrijving)
FROM fac_gebruikersgroep gg, fac_groep g
WHERE gg.prs_perslid_key = p.prs_perslid_key
AND gg.fac_groep_key = g.fac_groep_key),
1,
'',
'...'),
1
FROM prs_perslid p, prs_v_perslid_fullnames pf
WHERE p.prs_perslid_key = pf.prs_perslid_key
AND TRUNC (prs_perslid_login) = TRUNC (SYSDATE);
CREATE OR REPLACE VIEW uwva_v_beheer_prs_extern
(
locatie,
fclt_3d_locatie_key,
naam
)
AS
SELECT (SELECT MIN (alg_locatie_code)
FROM prs_v_werkplekperslid_gegevens wg, alg_locatie l
WHERE wg.prs_perslid_key = p.prs_perslid_key
AND wg.alg_locatie_key = l.alg_locatie_key),
(SELECT MIN (alg_locatie_key)
FROM prs_v_werkplekperslid_gegevens wg
WHERE wg.prs_perslid_key = p.prs_perslid_key),
prs_perslid_naam_full
FROM prs_v_aanwezigperslid p, prs_v_perslid_fullnames pf
WHERE p.prs_perslid_key = pf.prs_perslid_key AND p.prs_perslid_nr IS NULL;
-- Rapportages
-- Wat bonusrapportages
-- Bonus: aantal personen per locatie
CREATE OR REPLACE VIEW uwva_v_stats_01_pploc
(
locatie,
aantal
)
AS
SELECT l.alg_locatie_omschrijving, COUNT ( * )
FROM prs_v_aanwezigperslid p,
prs_werkplek wp,
prs_perslidwerkplek pw,
alg_ruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE pw.prs_perslid_key = p.prs_perslid_key
AND pw.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
GROUP BY l.alg_locatie_omschrijving
UNION
SELECT '[Geen locatie]', COUNT ( * )
FROM prs_v_aanwezigperslid p, prs_perslidwerkplek pw
WHERE pw.prs_perslid_key(+) = p.prs_perslid_key
AND pw.prs_werkplek_key IS NULL;
-- Bonus: aantal locaties/medewerkers per servicepunt
CREATE OR REPLACE VIEW uwva_v_stats_02_plpfsp
(
fclt_f_servicepunt,
locaties,
medewerkers
)
AS
SELECT alg_district_omschrijving, COUNT ( * ), SUM (aantal)
FROM ( SELECT d.alg_district_omschrijving,
l.alg_locatie_omschrijving,
COUNT ( * ) aantal
FROM prs_v_aanwezigperslid p,
prs_werkplek wp,
prs_perslidwerkplek pw,
alg_ruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l,
alg_district d
WHERE pw.prs_perslid_key = p.prs_perslid_key
AND pw.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
GROUP BY d.alg_district_omschrijving, l.alg_locatie_omschrijving
UNION
SELECT '[Onbekend]', '??', COUNT ( * )
FROM prs_v_aanwezigperslid p, prs_perslidwerkplek pw
WHERE pw.prs_perslid_key(+) = p.prs_perslid_key
AND pw.prs_werkplek_key IS NULL)
GROUP BY alg_district_omschrijving;
CREATE OR REPLACE VIEW uwva_v_stats_03_bezreceptie
(
hide_f_locatiecode,
fclt_3d_locatie_key,
fclt_f_locatie,
afpraak_key,
bezoek_voor,
fclt_f_afspraak_datum,
fclt_f_pool
)
AS
SELECT l.alg_locatie_code,
a.alg_locatie_key,
l.alg_locatie_code,
a.bez_afspraak_key,
pf.prs_perslid_naam_full,
a.bez_afspraak_datum,
DECODE (rp.res_reservering_ispool, 1, 'Ja', 'Nee')
FROM bez_afspraak a,
bez_bezoekers b,
fac_gebruikersgroep gg,
prs_v_perslid_fullnames pf,
alg_locatie l,
(SELECT res_rsv_ruimte_key, res_reservering_ispool
FROM res_reservering rr, res_rsv_ruimte rrr
WHERE rr.res_reservering_key = rrr.res_reservering_key
AND rr.res_reservering_ispool = 1) rp
WHERE gg.fac_groep_key = 1301
AND a.prs_perslid_key = gg.prs_perslid_key
AND pf.prs_perslid_key = a.bez_afspraak_contact_key
AND l.alg_locatie_key = a.alg_locatie_key
AND rp.res_rsv_ruimte_key(+) = a.res_rsv_ruimte_key
AND b.bez_afspraak_key = a.bez_afspraak_key;
CREATE OR REPLACE VIEW uwva_v_sp_01_mldperdistrict
(
fclt_f_maand,
fclt_f_servicepunt,
fclt_f_soort,
productgroep,
aantal,
fclt_3d_locatie_key
)
AS
SELECT TO_CHAR (m.mld_melding_datum, 'YYMM'),
d.alg_district_omschrijving,
sv.ins_srtdiscipline_omschrijving,
v.ins_discipline_omschrijving,
COUNT ( * ) aantal,
MIN (l.alg_locatie_key)
FROM mld_melding m,
mld_stdmelding std,
alg_locatie l,
alg_district d,
ins_tab_discipline v,
ins_srtdiscipline sv
WHERE m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND d.alg_district_key(+) = l.alg_district_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = v.ins_discipline_key
AND sv.ins_srtdiscipline_key = v.ins_srtdiscipline_key
AND m.mld_melding_datum > SYSDATE - 547
GROUP BY TO_CHAR (m.mld_melding_datum, 'YYMM'),
d.alg_district_omschrijving,
sv.ins_srtdiscipline_omschrijving,
v.ins_discipline_omschrijving;
CREATE OR REPLACE VIEW uwva_v_sp_02_mldperloc
(
fclt_f_maand,
fclt_f_servicepunt,
locatie,
fclt_f_soort,
productgroep,
aantal,
fclt_3d_locatie_key
)
AS
SELECT TO_CHAR (m.mld_melding_datum, 'YYMM'),
d.alg_district_omschrijving,
l.alg_locatie_omschrijving,
sv.ins_srtdiscipline_omschrijving,
v.ins_discipline_omschrijving,
COUNT ( * ) aantal,
MIN (l.alg_locatie_key)
FROM mld_melding m,
mld_stdmelding std,
alg_locatie l,
alg_district d,
ins_tab_discipline v,
ins_srtdiscipline sv
WHERE m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND d.alg_district_key(+) = l.alg_district_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = v.ins_discipline_key
AND sv.ins_srtdiscipline_key = v.ins_srtdiscipline_key
AND m.mld_melding_datum > SYSDATE - 547
GROUP BY TO_CHAR (m.mld_melding_datum, 'YYMM'),
d.alg_district_omschrijving,
l.alg_locatie_omschrijving,
sv.ins_srtdiscipline_omschrijving,
v.ins_discipline_omschrijving;
CREATE OR REPLACE VIEW uwva_v_sp_04_fac_gebruikers
(
fclt_f_servicepunt,
fclt_f_rol,
fclt_f_naam,
nummer,
profiel,
email,
fclt_f_pandcode,
afdeling,
fclt_f_kostenplaats,
fclt_f_login,
datum,
fclt_3d_locatie_key
)
AS
SELECT di.alg_district_omschrijving fclt_f_servicepunt,
g.fac_groep_omschrijving fclt_f_rol,
pf.prs_perslid_naam_full fclt_f_naam,
p.prs_perslid_nr,
pr.fac_profiel_omschrijving,
p.prs_perslid_email email,
w.alg_gebouw_code fclt_f_pandcode,
d.prs_afdeling_naam afdeling,
NVL (kp.prs_kostenplaats_nr,
DECODE (pk.prs_perslidkostenplaats_key, NULL, '', 'Alle'))
fclt_f_kostenplaats,
p.prs_perslid_oslogin fclt_f_login,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = p.prs_perslid_key
AND kl.prs_kenmerk_key = 1004)
datum,
l.alg_locatie_key
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
fac_gebruikersgroep gg,
fac_groep g,
fac_profiel pr,
prs_v_werkplek_gegevens w,
prs_perslidwerkplek pw,
alg_locatie l,
alg_district di,
prs_perslidkostenplaats pk,
prs_kostenplaats kp,
prs_afdeling d
WHERE gg.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = d.prs_afdeling_key
AND g.fac_groep_key = gg.fac_groep_key
AND p.prs_perslid_key = pf.prs_perslid_key
AND w.prs_werkplek_key = pw.prs_werkplek_key
AND p.prs_perslid_key = pw.prs_perslid_key
AND w.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = di.alg_district_key
AND kp.prs_kostenplaats_key(+) = pk.prs_kostenplaats_key
AND pk.prs_perslid_key(+) = p.prs_perslid_key
AND p.fac_profiel_key = pr.fac_profiel_key(+);
-- UWVA#12455
CREATE OR REPLACE VIEW UWVA_V_SP_05_FAC_GEBRUIKERS_MW
(
FCLT_F_SERVICEPUNT,
ROL,
FCLT_F_NAAM,
NUMMER,
PROFIEL,
FCLT_F_EMAIL,
FCLT_F_PANDCODE,
KOSTENPLAATS,
FCLT_F_LOGIN,
DATUM,
FCLT_3D_LOCATIE_KEY
)
AS
SELECT DISTINCT
di.alg_district_omschrijving fclt_f_servicepunt,
(SELECT MIN (g.fac_groep_omschrijving)
|| DECODE (COUNT ( * ), 1, '', '...')
FROM fac_gebruikersgroep gg, fac_groep g
WHERE g.fac_groep_key = gg.fac_groep_key
AND gg.prs_perslid_key = p.prs_perslid_key),
pf.prs_perslid_naam_full fclt_f_naam,
p.prs_perslid_nr,
pr.fac_profiel_omschrijving,
p.prs_perslid_email email,
(SELECT MIN (w.alg_gebouw_code)
|| DECODE (COUNT ( * ), 1, '', '...')
FROM prs_v_werkplek_gegevens w, prs_perslidwerkplek pw
WHERE w.prs_werkplek_key = pw.prs_werkplek_key
AND pw.prs_perslid_key = p.prs_perslid_key)
fclt_f_pandcode,
k.prs_kostenplaats_nr,
p.prs_perslid_oslogin fclt_f_login,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = p.prs_perslid_key
AND kl.prs_kenmerk_key = 1004)
datum,
(SELECT MIN (l.alg_locatie_key)
FROM prs_v_werkplek_gegevens w,
prs_perslidwerkplek pw,
alg_locatie l
WHERE w.prs_werkplek_key = pw.prs_werkplek_key
AND pw.prs_perslid_key = p.prs_perslid_key
AND w.alg_locatie_key = l.alg_locatie_key)
alg_locatie_key
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
fac_gebruikersgroep gg,
fac_profiel pr,
prs_v_werkplek_gegevens w,
prs_perslidwerkplek pw,
alg_locatie l,
alg_district di,
prs_afdeling d,
prs_kostenplaats k
WHERE gg.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_key = pf.prs_perslid_key
AND w.prs_werkplek_key = pw.prs_werkplek_key
AND p.prs_perslid_key = pw.prs_perslid_key
AND w.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = di.alg_district_key
AND p.prs_afdeling_key = d.prs_afdeling_key
AND k.prs_kostenplaats_key(+) = d.prs_kostenplaats_key
AND p.fac_profiel_key = pr.fac_profiel_key(+)
ORDER BY 1, 2, 3;
-- UWVA#15946/UWVA#83691
CREATE OR REPLACE VIEW UWVA_V_SP_06_FAC_GEBRUIKERS_MW
(
FCLT_F_SERVICEPUNT,
FCLT_F_ROL,
FCLT_F_NAAM,
NUMMER,
FUNCTIE,
PROFIEL,
EMAIL,
PANDCODE,
KOSTENPLAATS,
LOGIN,
--DATUM,
FCLT_3D_LOCATIE_KEY
)
AS
SELECT DISTINCT
d.alg_district_omschrijving,
g.fac_groep_omschrijving,
pf.prs_perslid_naam_full,
p.prs_perslid_nr,
sp.prs_srtperslid_omschrijving,
pr.fac_profiel_omschrijving,
p.prs_perslid_email,
(SELECT MIN (w.alg_gebouw_code) || DECODE (COUNT ( * ), 1, '', '...')
FROM prs_v_werkplek_gegevens w, prs_perslidwerkplek pw
WHERE w.prs_werkplek_key = pw.prs_werkplek_key
AND pw.prs_perslid_key = p.prs_perslid_key),
k.prs_kostenplaats_nr,
p.prs_perslid_oslogin,
--(SELECT kl.prs_kenmerklink_waarde
-- FROM prs_kenmerklink kl
-- WHERE kl.prs_kenmerk_key = 1004 -- Datum wijziging rechten (in 2010 verwijderd)
-- AND kl.prs_link_key = p.prs_perslid_key)
-- datum,
(SELECT MIN (w.alg_locatie_key)
FROM prs_v_werkplek_gegevens w, prs_perslidwerkplek pw
WHERE w.prs_werkplek_key = pw.prs_werkplek_key
AND pw.prs_perslid_key = p.prs_perslid_key)
alg_locatie_key
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_afdeling a,
prs_kostenplaats k,
prs_srtperslid sp,
fac_profiel pr,
fac_gebruikersgroep gg,
fac_groep g,
prs_perslidwerkplek pw,
prs_v_werkplek_gegevens w,
alg_locatie l,
alg_district d
WHERE p.prs_perslid_key = pf.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND p.prs_srtperslid_key = sp.prs_srtperslid_key(+)
AND p.fac_profiel_key = pr.fac_profiel_key(+)
AND p.prs_perslid_key = gg.prs_perslid_key
AND gg.fac_groep_key = g.fac_groep_key
AND p.prs_perslid_key = pw.prs_perslid_key
AND pw.prs_werkplek_key = w.prs_werkplek_key
AND w.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key;
/* Toch anders?
SELECT d.alg_district_omschrijving,
g.fac_groep_omschrijving,
pf.prs_perslid_naam_full,
p.prs_perslid_nr,
sp.prs_srtperslid_omschrijving,
pr.fac_profiel_omschrijving,
p.prs_perslid_email email,
MIN (w.alg_gebouw_code) || DECODE (COUNT ( * ), 1, '', '...'),
k.prs_kostenplaats_nr,
p.prs_perslid_oslogin,
--(SELECT kl.prs_kenmerklink_waarde
-- FROM prs_kenmerklink kl
-- WHERE kl.prs_kenmerk_key = 1004 -- Datum wijziging rechten (in 2010 verwijderd)
-- AND kl.prs_link_key = p.prs_perslid_key)
-- datum,
MIN (w.alg_locatie_key) alg_locatie_key
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_afdeling a,
prs_kostenplaats k,
prs_srtperslid sp,
fac_profiel pr,
fac_gebruikersgroep gg,
fac_groep g,
prs_perslidwerkplek pw,
prs_v_werkplek_gegevens w,
alg_locatie l,
alg_district d
WHERE p.prs_perslid_key = pf.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND p.prs_srtperslid_key = sp.prs_srtperslid_key(+)
AND p.fac_profiel_key = pr.fac_profiel_key(+)
AND p.prs_perslid_key = gg.prs_perslid_key
AND gg.fac_groep_key = g.fac_groep_key
AND p.prs_perslid_key = pw.prs_perslid_key
AND pw.prs_werkplek_key = w.prs_werkplek_key
AND w.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
GROUP BY d.alg_district_omschrijving,
g.fac_groep_omschrijving,
pf.prs_perslid_naam_full,
p.prs_perslid_nr,
sp.prs_srtperslid_omschrijving,
pr.fac_profiel_omschrijving,
p.prs_perslid_email,
k.prs_kostenplaats_nr,
p.prs_perslid_oslogin;
*/
-- UWVA#15656
CREATE OR REPLACE VIEW uwva_v_imp_bes_artikel_sync
(
FCLT_F_CatalogusNaam,
Leverancier,
CatDatum,
Artikelnr,
Groep,
Omschrijving,
Prijs,
Eenheid,
Picture,
Orderaantal,
Tax,
DueDate,
Inkoopprijs,
Minimum,
Staffeltabel,
Wijzigdagen,
Annuleerdagen,
Opmerking
)
AS
SELECT td.ins_discipline_omschrijving,
b.prs_bedrijf_naam,
TO_CHAR (td.ins_discipline_aanmaak, 'yyyymmdd'),
sd.bes_srtdeel_nr,
sg.bes_srtgroep_omschrijving,
sd.bes_srtdeel_omschrijving,
TO_CHAR (bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)),
sd.bes_srtdeel_eenheid,
sd.bes_srtdeel_image,
TO_CHAR (sd.bes_srtdeel_veelvoud),
TO_CHAR (sd.bes_srtdeel_btw),
TO_CHAR (sd.bes_srtdeel_vervaldatum, 'yyyymmdd'),
TO_CHAR (bes.getsrtdeelinkprijs (sd.bes_srtdeel_key, NULL)),
NULL,
bs.bes_staffeltabel_naam,
sd.bes_srtdeel_wijzigdagen,
sd.bes_srtdeel_annuleerdagen,
sd.bes_srtdeel_opmerking
FROM ins_tab_discipline td,
bes_srtgroep sg,
bes_srtdeel sd,
prs_bedrijf b,
bes_staffeltabel bs
WHERE td.ins_discipline_module = 'BES'
AND td.ins_discipline_verwijder IS NULL
AND td.ins_discipline_key = sg.ins_discipline_key
AND sg.bes_srtgroep_verwijder IS NULL
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
AND sd.bes_srtdeel_verwijder IS NULL
AND sd.prs_bedrijf_key = b.prs_bedrijf_key
AND bs.bes_staffeltabel_key(+) = sd.bes_staffeltabel_key;
-- UWVA#201
CREATE OR REPLACE VIEW uwva_v_stats_04_res_artikel
(
fclt_f_dag,
fclt_f_gebouwcode,
fclt_3d_gebouw_key,
fclt_f_voorziening,
aantal,
prijs_per_stuk,
totaal,
totaal_afgemeld
)
AS
SELECT datum,
(SELECT alg_gebouw_code
FROM alg_gebouw g
WHERE g.alg_gebouw_key = gebouw_key),
gebouw_key,
res_voorziening,
SUM (aantal),
stuksprijs,
SUM (prijs),
SUM (verw_prijs)
FROM (SELECT ruimte_geg.alg_gebouw_key AS gebouw_key,
res_geg.res_voorziening,
TO_CHAR (res_geg.res_reservering_van, 'YYYY-MM-DD') datum,
res_geg.res_item_key,
res_geg.res_type categorie,
res_geg.aantal,
res_geg.stuksprijs,
res_geg.verw_prijs,
prijs
FROM (SELECT 'C' AS res_type,
rrr.alg_ruimte_key AS alg_ruimte_key,
rrr.res_rsv_ruimte_key AS res_rsv_ruimte_key,
(SELECT rro.res_ruimte_key
FROM res_ruimte_opstelling rro
WHERE rro.res_ruimte_opstel_key =
rrr.res_ruimte_opstel_key)
AS res_ruimte_key,
res_rsv_artikel_key AS res_item_key,
rrr.res_reservering_key AS res_reservering_key,
rra.res_rsv_artikel_levering AS res_reservering_van,
rra.res_rsv_artikel_aantal AS aantal,
LTRIM (ra.res_artikel_omschrijving)
|| ' ('
|| NVL (ra.res_artikel_eenheid, '')
|| ')'
AS res_voorziening,
ra.res_discipline_key AS res_ins_discipline_key,
ra.res_artikel_key AS res_artikel_key,
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs
AS prijs,
rra.res_rsv_artikel_prijs AS verw_prijs,
ra.res_artikel_prijs AS stuksprijs,
TO_NUMBER (NULL) AS rsv_ruimte_aantal
FROM res_v_aanwezigrsv_artikel rra,
res_artikel ra,
res_rsv_ruimte rrr
WHERE rra.res_artikel_key = ra.res_artikel_key
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
res_geg,
res_v_alg_ruimte_gegevens ruimte_geg,
alg_locatie l
WHERE (res_geg.alg_ruimte_key = ruimte_geg.alg_ruimte_key
OR (res_geg.res_ruimte_key = ruimte_geg.res_ruimte_key
AND ruimte_geg.alg_ruimte_key IN
(SELECT MIN (alg_ruimte_key)
FROM res_v_alg_ruimte_gegevens rvar
WHERE rvar.res_ruimte_key =
res_geg.res_ruimte_key)))
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key)
WHERE categorie = 'C'
GROUP BY res_voorziening,
stuksprijs,
gebouw_key,
datum;
-- SPOBILO-rapportages (UWVA#9328)
-- Basis view met SPOBILO's
CREATE OR REPLACE VIEW uwva_v_spobilo
(
melding,
tekst_melding,
locatie,
servicepunt,
aanmaak,
tijdsblok,
reden_bezoek,
soort_client,
afdeling,
afhandeling,
kontakt_kcc,
klant_geholpen,
bsn_nummer
)
AS
SELECT m.mld_melding_key melding,
m.mld_melding_omschrijving tekst_melding,
l.alg_locatie_code locatie,
d.alg_district_omschrijving servicepunt,
m.mld_melding_datum aanmaak,
TO_CHAR (m.mld_melding_datum, 'HH24') tijdsblok,
reden_bezoek,
soort_client,
afdeling,
afhandeling,
kontakt_kcc,
klant_geholpen,
bsn_nummer
FROM (SELECT km.mld_melding_key m1, ud.fac_usrdata_omschr reden_bezoek
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE km.mld_kenmerk_key = 102 -- 'REDEN BEZOEK'
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key),
(SELECT km.mld_melding_key m2, ud.fac_usrdata_omschr soort_client
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE km.mld_kenmerk_key = 104 -- 'SOORT CLIENT'
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key),
(SELECT km.mld_melding_key m3, ud.fac_usrdata_omschr afdeling
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE km.mld_kenmerk_key = 101 -- 'AFDELING'
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key),
(SELECT km.mld_melding_key m4, ud.fac_usrdata_omschr afhandeling
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE km.mld_kenmerk_key = 111 -- 'AFHANDELING'
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key),
(SELECT km.mld_melding_key m5, ud.fac_usrdata_omschr kontakt_kcc
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE km.mld_kenmerk_key = 107 -- 'KONTAKT KCC'
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key),
(SELECT km.mld_melding_key m6, ud.fac_usrdata_omschr klant_geholpen
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE km.mld_kenmerk_key = 113 -- 'KLANT GEHOLPEN'
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key),
(SELECT km.mld_melding_key m7,
km.mld_kenmerkmelding_waarde bsn_nummer
FROM mld_kenmerkmelding km
WHERE km.mld_kenmerk_key = 109), -- 'BSN'
mld_melding m,
--mld_stdmelding sm,
alg_locatie l,
alg_district d
WHERE m.mld_melding_key = m1(+)
AND m.mld_melding_key = m2(+)
AND m.mld_melding_key = m3(+)
AND m.mld_melding_key = m4(+)
AND m.mld_melding_key = m5(+)
AND m.mld_melding_key = m6(+)
AND m.mld_melding_key = m7(+)
--AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND m.mld_stdmelding_key = 361 -- Registratie
--AND sm.mld_ins_discipline_key = 165 -- SBL - SpoBiLo
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = d.alg_district_key(+)
ORDER BY m.mld_melding_key;
-- SPOBILO-PACKAGE
CREATE OR REPLACE PACKAGE uwva_spobilo_rap
AS
TYPE t_cursor IS REF CURSOR;
PROCEDURE servicepunt (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE tijdsblok (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE reden_bezoek (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE soort_bezoek (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE afdeling (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE afhandeling (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE kontakt_kcc (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE klant_geholpen (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE details (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE details_extra (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
END;
/
-- SPOBILO-PROCEDURES in PACKAGE BODY (1 per rapportage)
CREATE OR REPLACE PACKAGE BODY uwva_spobilo_rap
AS
-- Aantal/percentage SPOBILO's per servicepunt
PROCEDURE servicepunt (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT servicepunt,
COUNT (servicepunt) aantal,
ROUND (ratio_to_report (COUNT (servicepunt)) OVER () * 100,
2)
percentage
FROM (SELECT servicepunt
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot)
GROUP BY servicepunt
ORDER BY servicepunt;
END;
-- Aantal/percentage SPOBILO's per tijdsblok
PROCEDURE tijdsblok (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT tijdsblok,
COUNT (tijdsblok) aantal,
ROUND (ratio_to_report (COUNT (tijdsblok)) OVER () * 100, 2)
percentage
FROM (SELECT tijdsblok
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot
AND tijdsblok >= 8
AND tijdsblok <= 17
UNION ALL
SELECT '99' tijdsblok
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot
AND (tijdsblok < 8 OR tijdsblok > 17))
GROUP BY tijdsblok
ORDER BY tijdsblok;
END;
-- Aantal/percentage SPOBILO's per reden bezoek
PROCEDURE reden_bezoek (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT reden_bezoek,
COUNT (reden_bezoek) aantal,
ROUND (ratio_to_report (COUNT (reden_bezoek)) OVER () * 100,
2)
percentage
FROM (SELECT reden_bezoek
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot)
GROUP BY reden_bezoek
ORDER BY reden_bezoek;
END;
-- Aantal/percentage SPOBILO's per soort client (oorspronkelijke naam procedure ongewijzigd: soort_bezoek)
PROCEDURE soort_bezoek (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT soort_client,
COUNT (soort_client) aantal,
ROUND (ratio_to_report (COUNT (soort_client)) OVER () * 100,
2)
percentage
FROM (SELECT soort_client
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot)
GROUP BY soort_client
ORDER BY soort_client;
END;
-- Aantal/percentage SPOBILO's per afdeling
PROCEDURE afdeling (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT afdeling,
COUNT (afdeling) aantal,
ROUND (ratio_to_report (COUNT (afdeling)) OVER () * 100, 2)
percentage
FROM (SELECT afdeling
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot)
GROUP BY afdeling
ORDER BY afdeling;
END;
-- Aantal/percentage SPOBILO's per afhandeling
PROCEDURE afhandeling (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT afhandeling,
COUNT (afhandeling) aantal,
ROUND (ratio_to_report (COUNT (afhandeling)) OVER () * 100,
2)
percentage
FROM (SELECT afhandeling
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot)
GROUP BY afhandeling
ORDER BY afhandeling;
END;
-- Aantal/percentage SPOBILO's per "kontakt KCC" (ja/nee)
PROCEDURE kontakt_kcc (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT kontakt_kcc,
COUNT (kontakt_kcc) aantal,
ROUND (ratio_to_report (COUNT (kontakt_kcc)) OVER () * 100,
2)
percentage
FROM (SELECT kontakt_kcc
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot)
GROUP BY kontakt_kcc
ORDER BY kontakt_kcc;
END;
-- Aantal/percentage SPOBILO's per "klant geholpen"-classificatie
PROCEDURE klant_geholpen (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT klant_geholpen,
COUNT (klant_geholpen) aantal,
ROUND (
ratio_to_report (COUNT (klant_geholpen)) OVER () * 100,
2)
percentage
FROM (SELECT klant_geholpen
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot)
GROUP BY klant_geholpen
ORDER BY klant_geholpen;
END;
-- Aantal/percentage SPOBILO's over alle karakteristieken
PROCEDURE details (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT locatie,
TO_CHAR (aanmaak, 'DD-MM-YYYY') datum,
tijdsblok,
reden_bezoek,
soort_client,
afdeling,
kontakt_kcc,
bsn_nummer,
afhandeling,
klant_geholpen
FROM (SELECT locatie,
aanmaak,
tijdsblok,
reden_bezoek,
soort_client,
afdeling,
afhandeling,
kontakt_kcc,
klant_geholpen,
bsn_nummer
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot
AND tijdsblok >= 8
AND tijdsblok <= 17
UNION ALL
SELECT locatie,
aanmaak,
'99' tijdsblok,
reden_bezoek,
soort_client,
afdeling,
afhandeling,
kontakt_kcc,
klant_geholpen,
bsn_nummer
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot
AND (tijdsblok < 8 OR tijdsblok > 17))
ORDER BY locatie,
TO_CHAR (aanmaak, 'DD-MM-YYYY'),
tijdsblok,
reden_bezoek,
soort_client,
afdeling,
kontakt_kcc,
bsn_nummer,
afhandeling,
klant_geholpen;
END;
-- Aantal/percentage SPOBILO's over alle karakteristieken
PROCEDURE details_extra (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT locatie,
TO_CHAR (aanmaak, 'DD-MM-YYYY') datum,
tijdsblok,
reden_bezoek,
soort_client,
afdeling,
kontakt_kcc,
bsn_nummer,
afhandeling,
klant_geholpen,
tekst_melding
FROM (SELECT locatie,
aanmaak,
tijdsblok,
reden_bezoek,
soort_client,
afdeling,
afhandeling,
kontakt_kcc,
klant_geholpen,
bsn_nummer,
tekst_melding
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot
AND tijdsblok >= 8
AND tijdsblok <= 17
AND tekst_melding IS NOT NULL
UNION ALL
SELECT locatie,
aanmaak,
'99' tijdsblok,
reden_bezoek,
soort_client,
afdeling,
afhandeling,
kontakt_kcc,
klant_geholpen,
bsn_nummer,
tekst_melding
FROM uwva_v_spobilo
WHERE aanmaak BETWEEN v_datum_van AND v_datum_tot
AND tekst_melding IS NOT NULL
AND (tijdsblok < 8 OR tijdsblok > 17))
ORDER BY locatie,
TO_CHAR (aanmaak, 'DD-MM-YYYY'),
tijdsblok,
reden_bezoek,
soort_client,
afdeling,
kontakt_kcc,
bsn_nummer,
afhandeling,
klant_geholpen;
END;
END;
/
CREATE OR REPLACE PACKAGE UWVA_P_EXPORT
AS
FUNCTION escape_str (p_str IN VARCHAR2)
RETURN VARCHAR2;
END;
/
CREATE OR REPLACE PACKAGE BODY UWVA_P_EXPORT
AS
FUNCTION escape_str (p_str IN VARCHAR2)
RETURN VARCHAR2
IS
v_result VARCHAR2 (4000);
BEGIN
SELECT SUBSTR (
REPLACE (
REPLACE (
REPLACE (REPLACE (p_str, CHR (10), ' '), CHR (13), ' '),
CHR (128),
'EUR'),
'"',
''''),
1,
4000)
INTO v_result
FROM DUAL
WHERE 1 = 1;
RETURN v_result;
EXCEPTION
WHEN OTHERS
THEN
RETURN p_str;
END escape_str;
END;
/
-- UWVA#76745: Bij vervallen Qlikview-module per 2023.1 (incl. core-views), de
-- hierbij een klantspecifieke kopie van door UWV gebruikte views:
-- UWVA_V_QVW_ALGEMEEN en UWVA_V_QVW_ALGEMEEN en PRS_V_QVW_BEDRIJF
CREATE OR REPLACE VIEW UWVA_V_QVW_ALGEMEEN
(
CONTRACT_KEY,
INTERNNR,
EXTERNNR,
BESCHRIJVING,
DISCIPLINE_KEY,
CONTRACTSOORT,
TYPECONTRACT_KEY,
TYPECONTRACT,
INGANGSDATUM,
RAPPELDATUM,
RAPPELTERMIJN,
OPZEGDATUM,
OPZEGTERMIJN,
EINDDATUM,
EIGENAAR,
BEHEERDER,
UITVOERDER,
CONTACTPERSOON,
KOSTENPLAATS,
TERMIJNBEDRAG,
CONTRACTBEDRAG,
LOCATIE_KEY,
LOCATIE_CODE,
GEBOUW_KEY,
GEBOUW_CODE,
TERREINSECTOR_KEY,
TERREINSECTOR_CODE,
VERDIEPING_KEY,
VERDIEPING_OMSCHRIJVING,
RUIMTE_KEY,
RUIMTE_NR
)
AS
SELECT basis.contract_key,
basis.internnr,
basis.externnr,
basis.beschrijving,
basis.discipline_key,
basis.contractsoort,
basis.typecontract_key,
basis.typecontract,
basis.ingangsdatum,
basis.rappeldatum,
basis.rappeltermijn,
basis.opzegdatum,
basis.opzegtermijn,
basis.einddatum,
basis.eigenaar,
basis.beheerder,
basis.uitvoerder,
basis.contactpersoon,
basis.kostenplaats,
basis.termijnbedrag,
basis.contractbedrag,
plaats.locatie_key,
plaats.locatie_code,
plaats.gebouw_key,
plaats.gebouw_code,
plaats.terreinsector_key,
plaats.terreinsector_code,
plaats.verdieping_key,
plaats.verdieping_omschrijving,
plaats.ruimte_key,
plaats.ruimte_nr
FROM (SELECT cc.cnt_contract_key contract_key,
cc.cnt_contract_nummer_intern internnr,
cc.cnt_contract_nummer externnr,
cc.cnt_contract_omschrijving beschrijving,
cc.ins_discipline_key discipline_key,
cs.ins_discipline_omschrijving contractsoort,
tc.cnt_typecontract_key typecontract_key,
tc.cnt_typecontract_omschrijving typecontract,
TRUNC (COALESCE (cc.cnt_contract_looptijd_van, SYSDATE))
ingangsdatum,
TRUNC(COALESCE (
cnt.cnt_getrappeldatum (cc.cnt_contract_key),
COALESCE (cc.cnt_contract_looptijd_tot,
SYSDATE)))
rappeldatum,
rt.cnt_termijn_omschrijving rappeltermijn,
TRUNC(COALESCE (
cnt.cnt_getopzegdatum (cc.cnt_contract_key),
COALESCE (cc.cnt_contract_looptijd_tot,
SYSDATE)))
opzegdatum,
ot.cnt_termijn_omschrijving opzegtermijn,
TRUNC (COALESCE (cc.cnt_contract_looptijd_tot, SYSDATE))
einddatum,
(SELECT d.prs_afdeling_naam6
FROM prs_v_aanwezigafdeling d
WHERE d.prs_afdeling_key = cc.prs_afdeling_key_eig)
eigenaar,
(SELECT p.prs_perslid_naam
|| DECODE (NVL (p.prs_perslid_voorletters, ''),
'', '',
', ' || p.prs_perslid_voorletters)
|| DECODE (
NVL (p.prs_perslid_tussenvoegsel, ''),
'',
'',
' ' || p.prs_perslid_tussenvoegsel)
|| DECODE (
NVL (p.prs_perslid_voornaam, ''),
'',
'',
' (' || p.prs_perslid_voornaam || ')')
FROM prs_perslid p
WHERE p.prs_perslid_key = cc.prs_perslid_key_beh)
beheerder,
(SELECT b.prs_bedrijf_naam
FROM prs_bedrijf b
WHERE b.prs_bedrijf_key = cc.cnt_prs_bedrijf_key)
uitvoerder,
(SELECT c.prs_contactpersoon_naam
|| DECODE (
NVL (c.prs_contactpersoon_voorletters, ''),
'',
'',
', ' || c.prs_contactpersoon_voorletters)
|| DECODE (
NVL (c.prs_contactpersoon_tussenv, ''),
'',
'',
' ' || c.prs_contactpersoon_tussenv)
|| DECODE (
NVL (c.prs_contactpersoon_voornaam, ''),
'',
'',
' ('
|| c.prs_contactpersoon_voornaam
|| ')')
prs_contactpersoon_naam
FROM prs_contactpersoon c
WHERE c.prs_contactpersoon_key =
cc.prs_contactpersoon_key)
contactpersoon,
(SELECT k.prs_kostenplaats_nr
|| ' '
|| k.prs_kostenplaats_omschrijving
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = cc.prs_kostenplaats_key)
kostenplaats,
cc.cnt_contract_termijnkosten termijnbedrag,
cc.cnt_contract_kosten contractbedrag
FROM cnt_contract cc,
cnt_discipline cs,
cnt_disc_params dp,
cnt_typecontract tc,
cnt_termijn rt,
cnt_termijn ot
WHERE cc.ins_discipline_key = cs.ins_discipline_key
AND cc.ins_discipline_key = dp.cnt_ins_discipline_key
AND dp.cnt_srtcontract_type = tc.cnt_typecontract_key
AND cc.cnt_contract_rappeltermijn = rt.cnt_termijn_key
AND cc.cnt_contract_opzegtermijn = ot.cnt_termijn_key
AND cc.cnt_contract_verwijder IS NULL) basis
LEFT JOIN
(SELECT cp.cnt_contract_key contract_key,
DECODE (
cp.cnt_alg_plaats_code,
'L',
cp.cnt_alg_plaats_key,
'G',
(SELECT l.alg_locatie_key
FROM alg_gebouw g, alg_locatie l
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key
AND g.alg_locatie_key = l.alg_locatie_key),
'T',
(SELECT l.alg_locatie_key
FROM alg_terreinsector t, alg_locatie l
WHERE t.alg_terreinsector_key =
cp.cnt_alg_plaats_key
AND t.alg_locatie_key = l.alg_locatie_key),
'V',
(SELECT l.alg_locatie_key
FROM alg_gebouw g, alg_locatie l, alg_verdieping v
WHERE v.alg_verdieping_key = cp.cnt_alg_plaats_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key),
'R',
(SELECT l.alg_locatie_key
FROM alg_gebouw g,
alg_locatie l,
alg_verdieping v,
alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key
AND v.alg_verdieping_key =
r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key))
locatie_key,
DECODE (
cp.cnt_alg_plaats_code,
'L',
(SELECT l.alg_locatie_code
FROM alg_locatie l
WHERE l.alg_locatie_key = cp.cnt_alg_plaats_key),
'G',
(SELECT l.alg_locatie_code
FROM alg_gebouw g, alg_locatie l
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key
AND g.alg_locatie_key = l.alg_locatie_key),
'T',
(SELECT l.alg_locatie_code
FROM alg_terreinsector t, alg_locatie l
WHERE t.alg_terreinsector_key =
cp.cnt_alg_plaats_key
AND t.alg_locatie_key = l.alg_locatie_key),
'V',
(SELECT l.alg_locatie_code
FROM alg_gebouw g, alg_locatie l, alg_verdieping v
WHERE v.alg_verdieping_key = cp.cnt_alg_plaats_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key),
'R',
(SELECT l.alg_locatie_code
FROM alg_gebouw g,
alg_locatie l,
alg_verdieping v,
alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key
AND v.alg_verdieping_key =
r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key))
locatie_code,
DECODE (cp.cnt_alg_plaats_code,
'G', cp.cnt_alg_plaats_key,
NULL)
gebouw_key,
DECODE (
cp.cnt_alg_plaats_code,
'G',
(SELECT g.alg_gebouw_code
FROM alg_gebouw g
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key),
'V',
(SELECT g.alg_gebouw_code
FROM alg_gebouw g, alg_verdieping v
WHERE v.alg_verdieping_key = cp.cnt_alg_plaats_key
AND g.alg_gebouw_key = v.alg_gebouw_key),
'R',
(SELECT g.alg_gebouw_code
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key
AND v.alg_verdieping_key =
r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key),
NULL)
gebouw_code,
DECODE (cp.cnt_alg_plaats_code,
'T', cp.cnt_alg_plaats_key,
NULL)
terreinsector_key,
DECODE (
cp.cnt_alg_plaats_code,
'T',
(SELECT t.alg_terreinsector_code
FROM alg_terreinsector t
WHERE t.alg_terreinsector_key =
cp.cnt_alg_plaats_key),
NULL)
terreinsector_code,
DECODE (cp.cnt_alg_plaats_code,
'V', cp.cnt_alg_plaats_key,
NULL)
verdieping_key,
DECODE (
cp.cnt_alg_plaats_code,
'V',
(SELECT alg_verdieping_omschrijving
FROM alg_verdieping v
WHERE v.alg_verdieping_key = cp.cnt_alg_plaats_key),
'R',
(SELECT alg_verdieping_omschrijving
FROM alg_verdieping v, alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key
AND v.alg_verdieping_key =
r.alg_verdieping_key),
NULL)
verdieping_omschrijving,
DECODE (cp.cnt_alg_plaats_code,
'R', cp.cnt_alg_plaats_key,
NULL)
ruimte_key,
DECODE (
cp.cnt_alg_plaats_code,
'R',
(SELECT alg_ruimte_nr
FROM alg_ruimte r
WHERE r.alg_ruimte_key = cp.cnt_alg_plaats_key),
NULL)
ruimte_nr
FROM cnt_contract_plaats cp
WHERE cp.cnt_contract_plaats_verwijder IS NULL) plaats
ON basis.contract_key = plaats.contract_key;
CREATE OR REPLACE VIEW UWVA_V_QVW_BEDRIJF
(
PRS_BEDRIJF_KEY,
PRS_BEDRIJF_NAAM,
PRS_BEDRIJF_NAAM_UPPER,
PRS_BEDRIJF_POST_ADRES,
PRS_BEDRIJF_POST_POSTCODE,
PRS_BEDRIJF_POST_PLAATS,
PRS_BEDRIJF_POST_LAND,
PRS_BEDRIJF_BEZOEK_ADRES,
PRS_BEDRIJF_BEZOEK_POSTCODE,
PRS_BEDRIJF_BEZOEK_PLAATS,
PRS_BEDRIJF_BEZOEK_LAND,
PRS_BEDRIJF_TELEFOON,
PRS_BEDRIJF_FAX,
PRS_BEDRIJF_TELEFOON2,
PRS_BEDRIJF_CONTACT_PERSOON,
PRS_BEDRIJF_CONTACT_TELEFOON,
PRS_BEDRIJF_CONTACT_FAX,
PRS_BEDRIJF_OPMERKING,
PRS_BEDRIJF_OPMERKING2,
PRS_BEDRIJF_UURLOON,
PRS_LEVERANCIER_NR,
PRS_OVEREENKOMST_NR,
PRS_OVEREENKOMST_DATUM,
PRS_BEDRIJF_AANMAAK,
PRS_BEDRIJF_VERWIJDER,
PRS_BEDRIJF_LEVERANCIER,
PRS_BEDRIJF_UITVOERENDE,
PRS_BEDRIJF_CONTRACT,
PRS_BEDRIJF_INTERN,
PRS_BEDRIJF_HUURDER,
PRS_BEDRIJF_EMAIL,
PRS_BEDRIJF_INGIDS
)
AS
SELECT prs_bedrijf_key,
prs_bedrijf_naam,
prs_bedrijf_naam_upper,
prs_bedrijf_post_adres,
prs_bedrijf_post_postcode,
prs_bedrijf_post_plaats,
prs_bedrijf_post_land,
prs_bedrijf_bezoek_adres,
prs_bedrijf_bezoek_postcode,
prs_bedrijf_bezoek_plaats,
prs_bedrijf_bezoek_land,
prs_bedrijf_telefoon,
prs_bedrijf_fax,
prs_bedrijf_telefoon2,
prs_bedrijf_contact_persoon,
prs_bedrijf_contact_telefoon,
prs_bedrijf_contact_fax,
prs_bedrijf_opmerking,
prs_bedrijf_opmerking2,
prs_bedrijf_uurloon,
prs_leverancier_nr,
prs_overeenkomst_nr,
prs_overeenkomst_datum,
prs_bedrijf_aanmaak,
prs_bedrijf_verwijder,
prs_bedrijf_leverancier,
prs_bedrijf_uitvoerende,
prs_bedrijf_contract,
prs_bedrijf_intern,
prs_bedrijf_huurder,
prs_bedrijf_email,
prs_bedrijf_ingids
FROM prs_bedrijf
WHERE prs_bedrijf.prs_bedrijf_verwijder IS NULL;
CREATE OR REPLACE VIEW uwva_v_export_qlikview_melding
(
result,
result_order
)
AS
SELECT '"meldingnummer"'
|| ';"alg_district_omschrijving"'
|| ';"locatie"'
|| ';"locatie_omschrijving"'
|| ';"kostenplaats"'
|| ';"kostenplaats_oms"'
|| ';"melder"'
|| ';"invoerder"'
|| ';"mldacp_user"'
|| ';"soortmelding"'
|| ';"soortmelding_key"'
|| ';"productgroep"'
|| ';"productgroep_key"'
|| ';"behandelgroep"'
|| ';"subproductgroep"'
|| ';"subproductgroep_key"'
|| ';"status"'
|| ';"auto_opdr_mogelijk"'
|| ';"sla_acpuren"'
|| ';"sla_werkdgn"'
|| ';"plan_uitvoertijd"'
|| ';"ingediend_datum"'
|| ';"ingediend_tijd"'
|| ';"opgepakt_datum"'
|| ';"opgepakt_tijd"'
|| ';"sla_acceptatie_gereed"'
|| ';"sla_uitvoering_gereed"'
|| ';"afgemeld"'
|| ';"mldacp_doorlooptijd"'
|| ';"doorlooptijd_werkdgn"'
|| ';"omschrijving"'
|| ';"opmerking"'
--gaat niet door|| ';"grondslag"'
--gaat niet door|| ';"vervolg"'
|| ';"opdracht_volgnummer"'
|| ';"opdracht_status"'
|| ';"opdracht_automatisch"'
|| ';"opdracht_duur_gepland"'
|| ';"ordacp_user"'
|| ';"opdracht_datum"'
|| ';"opdracht_afgemeld"'
|| ';"opdracht_doorlooptijd"'
|| ';"opdracht_omschrijving"'
|| ';"opdracht_opmerking"'
|| ';"opdracht_uitvoerende"'
|| ';"opdracht_contract"'
|| ';"opdracht_contactpersoon"'
|| ';"opdracht_uren"'
|| ';"opdracht_correctie"'
|| ';"opdracht_materiaal"'
|| ';"opdracht_uurtarief"'
|| ';"opdracht_kosten"'
|| ';',
'00000000'
FROM DUAL
UNION ALL
SELECT SUBSTR (
'"'
|| TO_CHAR (meldingnummer)
|| '";"'
|| alg_district_omschrijving
|| '";"'
|| locatie
|| '";"'
|| locatie_omschrijving
|| '";"'
|| kostenplaats
|| '";"'
|| kostenplaats_oms
|| '";"'
|| melder
|| '";"'
|| invoerder
|| '";"'
|| NVL (
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = opgepakt.prs_perslid_key
AND opgepakt.fac_srtnotificatie_key IN (17, 22)),
'<NULL>')
|| '";"'
|| soortmelding
|| '";"'
|| soortmelding_key
|| '";"'
|| productgroep
|| '";"'
|| productgroep_key
|| '";"'
|| behandelgroep
|| '";"'
|| subproductgroep
|| '";"'
|| subproductgroep_key
|| '";"'
|| status
|| '";"'
|| auto_opdr_mogelijk
|| '";"'
|| sla_acpuren
|| '";"'
|| sla_werkdgn
|| '";"'
|| plan_uitvoertijd
|| '";"'
|| NVL (TO_CHAR (ingediend.fac_tracking_datum, 'YYYY-MM-DD'),
'<NULL>')
|| '";"'
|| NVL (TO_CHAR (ingediend.fac_tracking_datum, 'HH24:MI:SS'),
'<NULL>')
|| '";"'
|| NVL (TO_CHAR (opgepakt.fac_tracking_datum, 'YYYY-MM-DD '),
'<NULL>')
|| '";"'
|| NVL (TO_CHAR (opgepakt.fac_tracking_datum, 'HH24:MI:SS'),
'<NULL>')
|| '";"'
|| NVL (
TO_CHAR (mld_melding_acceptdatum_std,
'YYYY-MM-DD HH24:MI:SS'),
'<NULL>')
|| '";"'
|| NVL (
TO_CHAR (mld_melding_einddatum_std,
'YYYY-MM-DD HH24:MI:SS'),
'<NULL>')
|| '";"'
|| afgemeld
|| '";"'
|| DECODE (
opgepakt.fac_srtnotificatie_key,
17,
TO_CHAR(FLOOR(uwva.bepaal_uwv_doorlooptijd (
ingediend.fac_tracking_datum,
opgepakt.fac_tracking_datum)))
|| ':'
|| TO_CHAR(MOD (
ROUND (
uwva.bepaal_uwv_doorlooptijd (
ingediend.fac_tracking_datum,
opgepakt.fac_tracking_datum)
* 60,
0),
60)),
'<NULL>')
|| '";"'
|| doorlooptijd_werkdgn
|| '";"'
|| SUBSTR (uwva_p_export.escape_str (omschrijving), 1, 768)
|| '";"'
|| SUBSTR (uwva_p_export.escape_str (opmerking), 1, 768)
|| '";"'
--gaat niet door|| NVL (TO_CHAR (grondslag), '<NULL>')
--gaat niet door|| '";"'
--gaat niet door|| NVL (TO_CHAR (vervolg), '<NULL>')
--gaat niet door|| '";"'
|| opdracht_volgnummer
|| '";"'
|| opdracht_status
|| '";"'
--|| opdracht_automatisch
|| DECODE (
SIGN( ( (COALESCE (ordnew.fac_tracking_datum, SYSDATE)
- ingediend.fac_tracking_datum)
* 24
* 60
* 60)
- 7),
-1, -- <= 6 sec., dan door FACILITOR?
'J',
'N')
|| '";"'
|| opdracht_duur_gepland
|| '";"'
|| NVL ( (SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = ordacp.prs_perslid_key),
'<NULL>')
|| '";"'
|| opdracht_datum
|| '";"'
|| opdracht_afgemeld
|| '";"'
|| opdracht_doorlooptijd
|| '";"'
|| SUBSTR (uwva_p_export.escape_str (opdracht_omschrijving),
1,
768)
|| '";"'
|| SUBSTR (uwva_p_export.escape_str (opdracht_opmerking),
1,
768)
|| '";"'
|| opdracht_uitvoerende
|| '";"'
|| opdracht_contract
|| '";"'
|| opdracht_contactpersoon
|| '";"'
|| opdracht_uren
|| '";"'
|| opdracht_correctie
|| '";"'
|| opdracht_materiaal
|| '";"'
|| opdracht_uurtarief
|| '";"'
|| opdracht_kosten
|| '"',
1,
4000),
TO_CHAR (meldingnummer, 'FM00000009') || '/' || opdracht_volgnummer
FROM (SELECT m.mld_melding_key meldingnummer,
NVL (alg_district_omschrijving, '<NULL>')
alg_district_omschrijving,
NVL (alg_locatie_code, '<NULL>') locatie,
NVL (alg_locatie_omschrijving, '<NULL>')
locatie_omschrijving,
NVL (
(SELECT k.prs_kostenplaats_nr
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key),
'<NULL>')
kostenplaats,
NVL (
(SELECT k.prs_kostenplaats_omschrijving
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key),
'<NULL>')
kostenplaats_oms,
NVL ( (SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = m.prs_perslid_key),
'<NULL>')
melder,
NVL (
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key =
fac.gettrackinguserkey ('MLDNEW',
m.mld_melding_key)),
'<NULL>')
invoerder,
NVL (sd.ins_srtdiscipline_omschrijving, '<NULL>')
soortmelding,
TO_CHAR (sd.ins_srtdiscipline_key) soortmelding_key,
NVL (md.ins_discipline_omschrijving, '<NULL>') productgroep,
TO_CHAR (md.ins_discipline_key) productgroep_key,
NVL (bg.mld_behandelgroep_naam, '<NULL>') behandelgroep,
NVL (s.mld_stdmelding_omschrijving, '<NULL>')
subproductgroep,
TO_CHAR (s.mld_stdmelding_key) subproductgroep_key,
(SELECT mld_statuses_omschrijving
FROM mld_statuses sta
WHERE sta.mld_statuses_key = m.mld_melding_status)
status,
DECODE (s.mld_stdmelding_autoorder, 1, 'J', 'N')
auto_opdr_mogelijk,
CASE -- Aanname uren, anders <NULL>; tzt. nader afstemmen
WHEN m.mld_melding_t_accepttijd.eenheid = 'U'
THEN
TO_CHAR (m.mld_melding_t_accepttijd.tijdsduur)
ELSE
'<NULL>'
END
sla_acpuren,
CASE -- Aanname dagen, anders <NULL>; tzt. nader afstemmen
WHEN m.mld_melding_t_accepttijd.eenheid = 'D'
THEN
TO_CHAR (m.mld_melding_t_uitvoertijd.tijdsduur)
ELSE
'<NULL>'
END
sla_werkdgn,
m.mld_melding_acceptdatum_std,
m.mld_melding_einddatum_std,
NVL (
TO_CHAR(fac.count_work_days (m.mld_melding_datum,
m.mld_melding_einddatum)),
'<NULL>')
plan_uitvoertijd,
NVL (
TO_CHAR (
fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
'YYYY-MM-DD'),
NVL (
TO_CHAR (
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
'YYYY-MM-DD'),
'<OPEN>'))
afgemeld,
NVL (
TO_CHAR(fac.count_work_days (
m.mld_melding_datum,
NVL (
fac.gettrackingdate ('MLDAFM',
m.mld_melding_key),
fac.gettrackingdate ('MLDREJ',
m.mld_melding_key)))),
'<NULL>')
doorlooptijd_werkdgn,
NVL (m.mld_melding_omschrijving, '<NULL>') omschrijving,
NVL (m.mld_melding_opmerking, '<NULL>') opmerking,
--m.mld_melding_start_key grondslag,
--(SELECT MIN (mld_melding_key)
-- FROM mld_melding
-- WHERE mld_melding_key =
-- m.mld_melding_start_key)
-- vervolg,
o.mld_opdr_key,
NVL (TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr), '<NULL>')
opdracht_volgnummer,
NVL (
(SELECT mld_statusopdr_omschrijving
FROM mld_statusopdr sta
WHERE sta.mld_statusopdr_key = o.mld_statusopdr_key),
'<NULL>')
opdracht_status,
--DECODE (o.mld_opdr_datumbegin,
-- NULL, '<NULL>',
-- m.mld_melding_datum, 'J',
-- 'N')
-- opdracht_automatisch,
NVL (
TO_CHAR(fac.count_work_days (o.mld_opdr_datumbegin,
o.mld_opdr_einddatum)),
'<NULL>')
opdracht_duur_gepland,
NVL (TO_CHAR (o.mld_opdr_datumbegin, 'YYYY-MM-DD'),
'<NULL>')
opdracht_datum,
NVL (
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
'YYYY-MM-DD'),
DECODE (o.mld_opdr_key, NULL, '<NULL>', '<OPEN>'))
opdracht_afgemeld,
NVL (
TO_CHAR(fac.count_work_days (
o.mld_opdr_datumbegin,
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key))),
'<NULL>')
opdracht_doorlooptijd,
NVL (o.mld_opdr_omschrijving, '<NULL>')
opdracht_omschrijving,
NVL (o.mld_opdr_opmerking, '<NULL>') opdracht_opmerking,
NVL (
(SELECT naam
FROM mld_v_uitvoerende u
WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys),
'<NULL>')
opdracht_uitvoerende,
'<NULL>' opdracht_contract,
'<NULL>' opdracht_contactpersoon,
NVL (
REPLACE (TO_CHAR (o.mld_opdr_uren, '9999990.99'),
'.',
','),
'<NULL>')
opdracht_uren,
NVL (
REPLACE (
TO_CHAR (
o.mld_opdr_kosten
- o.mld_opdr_materiaal
- (o.mld_opdr_uren * o.mld_opdr_uurloon),
'9999990.99'),
'.',
','),
'<NULL>')
opdracht_correctie,
NVL (
REPLACE (TO_CHAR (o.mld_opdr_materiaal, '9999990.99'),
'.',
','),
'<NULL>')
opdracht_materiaal,
NVL (
REPLACE (TO_CHAR (o.mld_opdr_uurloon, '9999990.99'),
'.',
','),
'<NULL>')
opdracht_uurtarief,
NVL (
REPLACE (TO_CHAR (o.mld_opdr_kosten, '9999990.99'),
'.',
','),
'<NULL>')
opdracht_kosten
FROM mld_melding m,
mld_stdmelding s,
mld_discipline md,
mld_disc_params mdp,
mld_behandelgroep bg,
ins_srtdiscipline sd,
alg_locatie l,
alg_district d,
mld_opdr o
WHERE m.mld_stdmelding_key = s.mld_stdmelding_key
AND s.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_discipline_key = mdp.mld_ins_discipline_key
AND mdp.mld_behandelgroep_key = bg.mld_behandelgroep_key(+)
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = d.alg_district_key
AND m.mld_melding_key = o.mld_melding_key(+)) rs
LEFT JOIN -- MLDNEW
fac_tracking ingediend
ON rs.meldingnummer = ingediend.fac_tracking_refkey
AND ingediend.fac_srtnotificatie_key = 21
LEFT JOIN -- MLDACP/MLDAFM/MLDREJ
(SELECT t.*
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key IN (17, 18, 22)
AND t.fac_tracking_key IN
(SELECT MIN (fac_tracking_key)
FROM fac_tracking
WHERE fac_srtnotificatie_key IN
(17, 18, 22)
AND fac_tracking_refkey =
t.fac_tracking_refkey))
opgepakt
ON rs.meldingnummer = opgepakt.fac_tracking_refkey
LEFT JOIN -- ORDNEW
fac_tracking ordnew
ON rs.mld_opdr_key = ordnew.fac_tracking_refkey
AND ordnew.fac_srtnotificatie_key = 125
LEFT JOIN -- ORDACP
(SELECT t.*
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key = 146
AND t.fac_tracking_key IN
(SELECT MIN (fac_tracking_key)
FROM fac_tracking
WHERE fac_srtnotificatie_key = 146
AND fac_tracking_refkey =
t.fac_tracking_refkey))
ordacp
ON rs.mld_opdr_key = ordacp.fac_tracking_refkey;
CREATE OR REPLACE VIEW uwva_v_export_qv_klachtbeoord
(
RESULT,
result_order
)
AS
SELECT '"meldingnummer";"klachtbeoordeling"', 0 FROM DUAL
UNION ALL
SELECT '"' || m.mld_melding_key || '";"' || ud.FAC_USRDATA_OMSCHR || '"',
1
FROM mld_srtkenmerk sk,
fac_kenmerkdomein rsk,
fac_usrtab ut,
fac_usrdata ud,
mld_kenmerk km,
mld_kenmerkmelding kmm,
mld_melding m
WHERE sk.mld_srtkenmerk_key = 461
AND rsk.fac_kenmerkdomein_key = sk.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = rsk.fac_usrtab_key
AND ud.fac_usrtab_key = rsk.fac_usrtab_key
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND kmm.mld_kenmerk_key = km.mld_kenmerk_key
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key
AND m.MLD_MELDING_KEY = kmm.MLD_MELDING_KEY;
CREATE OR REPLACE VIEW uwva_v_export_qv_klachtcatgor
(
RESULT,
result_order
)
AS
SELECT '"meldingnummer";"klachtcategorie"', 0 FROM DUAL
UNION ALL
SELECT '"' || m.mld_melding_key || '";"' || ud.FAC_USRDATA_OMSCHR || '"',
1
FROM mld_srtkenmerk sk,
fac_kenmerkdomein rsk,
fac_usrtab ut,
fac_usrdata ud,
mld_kenmerk km,
mld_kenmerkmelding kmm,
mld_melding m
WHERE sk.mld_srtkenmerk_key = 621
AND rsk.fac_kenmerkdomein_key = sk.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = rsk.fac_usrtab_key
AND ud.fac_usrtab_key = rsk.fac_usrtab_key
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND kmm.mld_kenmerk_key = km.mld_kenmerk_key
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key
AND m.MLD_MELDING_KEY = kmm.MLD_MELDING_KEY;
CREATE OR REPLACE VIEW uwva_v_export_qv_vertaalwerk
(
RESULT,
result_order
)
AS
SELECT '"meldingnummer";"van";"naar";"nationaliteit"', 0 FROM DUAL
UNION ALL
SELECT '"' || m.mld_melding_key || '";"'
|| -- Brontaal
(SELECT fd.fac_usrdata_omschr
FROM mld_kenmerkmelding k1, fac_usrdata fd
WHERE k1.mld_melding_key = m.mld_melding_key
AND k1.mld_kenmerk_key = 706 -- vertalen van
AND fd.fac_usrtab_key = 401
AND fac.safe_to_number (k1.mld_kenmerkmelding_waarde) =
fd.fac_usrdata_key)
|| '";"'
|| -- Doeltaal
(SELECT fd.fac_usrdata_omschr
FROM mld_kenmerkmelding k1, fac_usrdata fd
WHERE k1.mld_melding_key = m.mld_melding_key
AND k1.mld_kenmerk_key = 707 -- vertalen naar
AND fd.fac_usrtab_key = 401
AND fac.safe_to_number (k1.mld_kenmerkmelding_waarde) =
fd.fac_usrdata_key)
|| '";"'
|| -- Nationaliteit
(SELECT fd.fac_usrdata_omschr
FROM mld_kenmerkmelding k1, fac_usrdata fd
WHERE k1.mld_melding_key = m.mld_melding_key
AND k1.mld_kenmerk_key = 821 -- nationaliteit
AND fd.fac_usrtab_key = 441
AND fac.safe_to_number (k1.mld_kenmerkmelding_waarde) =
fd.fac_usrdata_key)
|| '"',
1
FROM mld_melding m
WHERE m.mld_stdmelding_key = 1301;
CREATE OR REPLACE VIEW uwva_v_export_qv_mld_objecten
(
RESULT,
result_order
)
AS
SELECT '"meldingnummer";"discipline";"discipline_key";"groep";"groep_key";"objectsoort";"objectsoort_key";"object";"object_key"',
0
FROM DUAL
UNION ALL
SELECT '"'
|| m.mld_melding_key
|| '";"'
|| dis.ins_discipline_omschrijving
|| '";"'
|| dis.ins_discipline_key
|| '";"'
|| sg.ins_srtgroep_omschrijving
|| '";"'
|| sg.ins_srtgroep_key
|| '";"'
|| sd.ins_srtdeel_omschrijving
|| '";"'
|| sd.ins_srtdeel_key
|| '";"'
|| d.ins_deel_omschrijving
|| '";"'
|| d.ins_deel_key
|| '"',
1
FROM mld_melding_object m,
ins_deel d,
ins_srtdeel sd,
ins_srtgroep sg,
ins_tab_discipline dis
WHERE m.mld_melding_object_verwijder IS NULL
AND m.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_discipline_key = dis.ins_discipline_key;
CREATE OR REPLACE VIEW uwva_v_export_qlikview_contr
(
RESULT,
result_order
)
AS
SELECT '"INTERNNR";"EXTERNNR";"BESCHRIJVING";"CONTRACTSOORT";"TYPECONTRACT";"INGANGSDATUM";"RAPPELDATUM";'
|| '"RAPPELTERMIJN";"OPZEGDATUM";"OPZEGTERMIJN";"EINDDATUM";"EIGENAAR";"BEHEERDER";"UITVOERDER";"CONTACTPERSOON";'
|| '"KOSTENPLAATS";"TERMIJNBEDRAG";"CONTRACTBEDRAG";"LOCATIE_CODE";"GEBOUW_CODE"',
0
FROM DUAL
UNION ALL
SELECT '"'
|| INTERNNR
|| '";"'
|| EXTERNNR
|| '";"'
|| BESCHRIJVING
|| '";"'
|| CONTRACTSOORT
|| '";"'
|| TYPECONTRACT
|| '";"'
|| INGANGSDATUM
|| '";"'
|| RAPPELDATUM
|| '";'
|| '"'
|| RAPPELTERMIJN
|| '";"'
|| OPZEGDATUM
|| '";"'
|| OPZEGTERMIJN
|| '";"'
|| EINDDATUM
|| '";"'
|| EIGENAAR
|| '";"'
|| BEHEERDER
|| '";"'
|| UITVOERDER
|| '";"'
|| CONTACTPERSOON
|| '";'
|| '"'
|| KOSTENPLAATS
|| '";"'
|| TERMIJNBEDRAG
|| '";"'
|| CONTRACTBEDRAG
|| '";"'
|| LOCATIE_CODE
|| '";"'
|| GEBOUW_CODE
|| '"',
1
FROM UWVA_V_QVW_ALGEMEEN;
CREATE OR REPLACE VIEW uwva_v_export_qlikview_bedrijf
(
RESULT,
result_order
)
AS
SELECT '"PRS_BEDRIJF_KEY";"PRS_BEDRIJF_NAAM";"PRS_BEDRIJF_NAAM_UPPER";"PRS_BEDRIJF_POST_ADRES";"PRS_BEDRIJF_POST_POSTCODE";'
|| '"PRS_BEDRIJF_POST_PLAATS";"PRS_BEDRIJF_POST_LAND";"PRS_BEDRIJF_BEZOEK_ADRES";"PRS_BEDRIJF_BEZOEK_POSTCODE";"PRS_BEDRIJF_BEZOEK_PLAATS";'
|| '"PRS_BEDRIJF_BEZOEK_LAND";"PRS_BEDRIJF_TELEFOON";"PRS_BEDRIJF_FAX";"PRS_BEDRIJF_TELEFOON2";"PRS_BEDRIJF_CONTACT_PERSOON";'
|| '"PRS_BEDRIJF_CONTACT_TELEFOON";"PRS_BEDRIJF_CONTACT_FAX";"PRS_BEDRIJF_OPMERKING";"PRS_BEDRIJF_OPMERKING2";"PRS_BEDRIJF_UURLOON";'
|| '"PRS_LEVERANCIER_NR";"PRS_OVEREENKOMST_NR";"PRS_OVEREENKOMST_DATUM";"PRS_BEDRIJF_AANMAAK";"PRS_BEDRIJF_VERWIJDER";'
|| '"PRS_BEDRIJF_LEVERANCIER";"PRS_BEDRIJF_UITVOERENDE";"PRS_BEDRIJF_CONTRACT";"PRS_BEDRIJF_INTERN";"PRS_BEDRIJF_HUURDER";'
|| '"PRS_BEDRIJF_EMAIL";"PRS_BEDRIJF_INGIDS"',
0
FROM DUAL
UNION ALL
SELECT '"'
|| PRS_BEDRIJF_KEY
|| '";"'
|| PRS_BEDRIJF_NAAM
|| '";"'
|| PRS_BEDRIJF_NAAM_UPPER
|| '";"'
|| PRS_BEDRIJF_POST_ADRES
|| '";"'
|| PRS_BEDRIJF_POST_POSTCODE
|| '";"'
|| PRS_BEDRIJF_POST_PLAATS
|| '";"'
|| PRS_BEDRIJF_POST_LAND
|| '";"'
|| PRS_BEDRIJF_BEZOEK_ADRES
|| '";"'
|| PRS_BEDRIJF_BEZOEK_POSTCODE
|| '";"'
|| PRS_BEDRIJF_BEZOEK_PLAATS
|| '";"'
|| PRS_BEDRIJF_BEZOEK_LAND
|| '";"'
|| PRS_BEDRIJF_TELEFOON
|| '";"'
|| PRS_BEDRIJF_FAX
|| '";"'
|| PRS_BEDRIJF_TELEFOON2
|| '";"'
|| PRS_BEDRIJF_CONTACT_PERSOON
|| '";"'
|| PRS_BEDRIJF_CONTACT_TELEFOON
|| '";"'
|| PRS_BEDRIJF_CONTACT_FAX
|| '";"'
|| PRS_BEDRIJF_OPMERKING
|| '";"'
|| PRS_BEDRIJF_OPMERKING2
|| '";"'
|| PRS_BEDRIJF_UURLOON
|| '";"'
|| PRS_LEVERANCIER_NR
|| '";"'
|| PRS_OVEREENKOMST_NR
|| '";"'
|| PRS_OVEREENKOMST_DATUM
|| '";"'
|| PRS_BEDRIJF_AANMAAK
|| '";"'
|| PRS_BEDRIJF_VERWIJDER
|| '";"'
|| PRS_BEDRIJF_LEVERANCIER
|| '";"'
|| PRS_BEDRIJF_UITVOERENDE
|| '";"'
|| PRS_BEDRIJF_CONTRACT
|| '";"'
|| PRS_BEDRIJF_INTERN
|| '";"'
|| PRS_BEDRIJF_HUURDER
|| '";"'
|| PRS_BEDRIJF_EMAIL
|| '";"'
|| PRS_BEDRIJF_INGIDS
|| '"',
1
FROM UWVA_V_QVW_BEDRIJF;
CREATE OR REPLACE VIEW uwva_v_export_qlikview_bestel
(
result,
result_order
)
AS
SELECT '"bestelaanvraagnr"'
|| ';'
|| '"besteldatum"'
|| ';'
|| '"besteller"'
|| ';'
|| '"invoerder"'
|| ';'
|| '"kpn"'
|| ';'
|| '"kpn_omschrijving"'
|| ';'
|| '"afdeling_code"'
|| ';'
|| '"afdeling_omschrijving"'
|| ';'
|| '"locatie_code"'
|| ';'
|| '"district_omschijving"'
|| ';'
|| '"afleveradres"'
|| ';'
|| '"mandaat"'
|| ';'
|| '"personeelsnr"'
|| ';'
|| '"bsn"'
|| ';'
|| '"werkplek"'
|| ';'
|| '"catalogus"'
|| ';'
|| '"catalogus_key"'
|| ';'
|| '"groep"'
|| ';'
|| '"groep_key"'
|| ';'
|| '"afleverdatum"'
|| ';'
|| '"sla_tijd"'
|| ';'
|| '"productcode"'
|| ';'
|| '"prijs"'
|| ';'
|| '"status"'
|| ';'
|| '"gefiatteerddoor"'
|| ';'
|| '"bestelopdrachtnummer"'
|| ';'
|| '"aantal"'
|| ';'
|| '"itemprijs"'
|| ';'
|| '"itemposnr"'
|| ';'
|| '"productomschrijving"'
|| ';',
TO_CHAR (0, 'FM00000009')
FROM DUAL
UNION ALL
SELECT '"'
|| bestelaanvraagnr
|| '"'
|| ';"'
|| besteldatum
|| '"'
|| ';"'
|| besteller
|| '"'
|| ';"'
|| invoerder
|| '"'
|| ';"'
|| kpn
|| '"'
|| ';"'
|| kpn_omschrijving
|| '"'
|| ';"'
|| afdeling_code
|| '"'
|| ';"'
|| afdeling_omschrijving
|| '"'
|| ';"'
|| locatie_code
|| '"'
|| ';"'
|| district_omschijving
|| '"'
|| ';"'
|| afleveradres
|| '"'
|| ';"'
|| mandaat
|| '"'
|| ';"'
|| personeelsnr
|| '"'
|| ';"'
|| bsn
|| '"'
|| ';"'
|| werkplek
|| '"'
|| ';"'
|| catalogus
|| '"'
|| ';"'
|| catalogus_key
|| '"'
|| ';"'
|| groep
|| '"'
|| ';"'
|| groep_key
|| '"'
|| ';"'
|| afleverdatum
|| '"'
|| ';"'
|| sla_tijd
|| '"'
|| ';"'
|| productcode
|| '"'
|| ';"'
|| prijs
|| '"'
|| ';"'
|| status
|| '"'
|| ';"'
|| gefiatteerddoor
|| '"'
|| ';"'
|| bestelopdrachtnummer
|| '"'
|| ';"'
|| aantal
|| '"'
|| ';"'
|| itemprijs
|| '"'
|| ';"'
|| itemposnr
|| '"'
|| ';"'
|| productomschrijving
|| '"',
TO_CHAR (bes_bestelling_key, 'FM00000009')
FROM (SELECT b.bes_bestelling_key,
'A-' || b.bes_bestelling_key bestelaanvraagnr,
NVL (TO_CHAR (b.bes_bestelling_datum, 'YYYY-MM-DD'),
'<null>')
besteldatum,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
besteller,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key =
fac.gettrackinguserkey ('BESAP2',
b.bes_bestelling_key))
invoerder,
k.prs_kostenplaats_nr kpn,
k.prs_kostenplaats_omschrijving kpn_omschrijving,
a.prs_afdeling_naam afdeling_code,
a.prs_afdeling_omschrijving afdeling_omschrijving,
NVL ( (SELECT alg_locatie_code
FROM alg_locatie l
WHERE l.alg_locatie_key = ma.alg_locatie_key),
'<null>')
locatie_code,
NVL (
(SELECT alg_district_omschrijving
FROM alg_locatie l, alg_district d
WHERE l.alg_district_key = d.alg_district_key
AND l.alg_locatie_key = ma.alg_locatie_key),
'<null>')
district_omschijving,
NVL (ma.mld_adres_naam, '<null>') afleveradres,
NVL ( (SELECT pr.fac_profiel_limiet
FROM fac_profiel pr
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0)
mandaat,
NVL (prs_perslid_nr, '<null>') personeelsnr,
'<future>' bsn -- , (select max(pwp.PRS_PERSLIDWERKPLEK_BEZETTING) from prs_perslidwerkplek pwp where p.prs_perslid_key = pwp.prs_perslid_key and ) wp
,
NVL (wp2.prs_werkplek_aanduiding, '<null>') werkplek,
d.ins_discipline_omschrijving catalogus,
TO_CHAR (d.ins_discipline_key) catalogus_key,
sg.bes_srtgroep_omschrijving groep,
TO_CHAR (sg.bes_srtgroep_key) groep_key,
NVL (TO_CHAR (b.bes_bestelling_leverdatum, 'YYYY-MM-DD'),
'<null>')
afleverdatum,
NVL (
(SELECT bdp.bes_disc_params_leverdagen
FROM bes_disc_params bdp
WHERE d.ins_discipline_key =
bdp.bes_ins_discipline_key),
0)
sla_tijd,
NVL (sd.bes_srtdeel_nr, '<null>') productcode,
REPLACE (
TO_CHAR (
bes_bestelling_item_prijs
* bi.bes_bestelling_item_aantal,
'9999990.99'),
'.',
',')
prijs,
(SELECT bes_bestellingstatuses_omschr
FROM bes_bestellingstatuses bs
WHERE bs.bes_bestellingstatuses_key =
b.bes_bestelling_status)
status,
NVL (
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = b.bes_bestelling_fiat_user),
'<null>')
gefiatteerddoor,
NVL ('O-' || bo.bes_bestelopdr_key, '<null>')
bestelopdrachtnummer,
bi.bes_bestelling_item_aantal aantal,
REPLACE (TO_CHAR (bes_bestelling_item_prijs, '9999990.99'),
'.',
',')
itemprijs,
boi.bes_bestelopdr_item_posnr itemposnr,
sd.bes_srtdeel_omschrijving productomschrijving
FROM bes_bestelling b,
prs_perslid p,
prs_kostenplaats k,
prs_afdeling a,
mld_adres ma,
( SELECT pw.prs_perslid_key,
MIN (prs_werkplek_aanduiding)
|| DECODE (COUNT ( * ), 1, '', '...')
prs_werkplek_aanduiding
FROM prs_v_werkplek_gegevens wp, prs_perslidwerkplek pw
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
GROUP BY pw.prs_perslid_key) wp2,
bes_bestelling_item bi,
bes_bestelopdr_item boi,
bes_bestelopdr bo,
bes_srtdeel sd,
bes_srtgroep sg,
ins_tab_discipline d
WHERE b.prs_perslid_key = p.prs_perslid_key
AND b.prs_kostenplaats_key = k.prs_kostenplaats_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND b.mld_adres_key_lev = ma.mld_adres_key
AND wp2.prs_perslid_key(+) = p.prs_perslid_key
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_bestelopdr_item_key =
boi.bes_bestelopdr_item_key(+)
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key);
CREATE OR REPLACE VIEW uwva_v_export_qlikview_reserv
(
result,
result_order
)
AS
SELECT '"nummer"'
|| ';'
|| '"datum"'
|| ';'
|| '"gastheer"'
|| ';'
|| '"contact"'
|| ';'
|| '"invoerder"'
|| ';'
|| '"kpn"'
|| ';'
|| '"kpn_omschrijving"'
|| ';'
|| '"afdeling_code"'
|| ';'
|| '"afdeling_omschrijving"'
|| ';'
|| '"district_omschijving"'
|| ';'
|| '"locatie"'
|| ';'
|| '"locatie_omschrijving"'
|| ';'
|| '"gebouw"'
|| ';'
|| '"verdieping"'
|| ';'
|| '"ruimte"'
|| ';'
|| '"mandaat"'
|| ';'
|| '"personeelsnr"'
|| ';'
|| '"bsn"'
|| ';'
|| '"werkplek"'
|| ';'
|| '"catalogus"'
|| ';'
|| '"reserveerbare_ruimte"'
|| ';'
|| '"bezoekers"'
|| ';'
|| '"van"'
|| ';'
|| '"tot"'
|| ';'
|| '"duur"'
|| ';'
|| '"status"'
|| ';'
|| '"activiteit"'
|| ';'
|| '"voorziening_catalogus"'
|| ';'
|| '"voorziening_product"'
|| ';'
|| '"voorziening_totaalprijs"'
|| ';'
|| '"voorziening_van"'
|| ';'
|| '"voorziening_tot"'
|| ';'
|| '"voorziening_aantal"'
|| ';'
|| '"voorziening_prijs"'
|| ';'
|| '"voorziening_afgemeld"'
|| ';',
0
FROM DUAL
UNION ALL
SELECT '"'
|| res.res_reservering_key
|| '/'
|| rrr.res_rsv_ruimte_volgnr
|| '";"'
|| NVL (
TO_CHAR (NVL (rrr.res_rsv_ruimte_van, voorz.van),
'YYYY-MM-DD'),
'<null>')
|| '";"'
|| (SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key)
|| '";"'
|| (SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_contact_key)
|| '";"'
|| (SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key =
fac.gettrackinguserkey ('RESNEW',
rrr.res_rsv_ruimte_key))
|| '";"'
|| NVL (k.prs_kostenplaats_nr, '<null>')
|| '";"'
|| NVL (k.prs_kostenplaats_omschrijving, '<null>')
|| '";"'
|| NVL (a.prs_afdeling_naam, '<null>')
|| '";"'
|| NVL (a.prs_afdeling_omschrijving, '<null>')
|| '";"'
|| (SELECT d.alg_district_omschrijving
FROM alg_district d,
alg_locatie l,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r
WHERE d.alg_district_key = l.alg_district_key
AND l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
|| '";"'
|| (SELECT alg_locatie_code
FROM alg_locatie l,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r
WHERE l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
|| '";"'
|| (SELECT alg_locatie_omschrijving
FROM alg_locatie l,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r
WHERE l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
|| '";"'
|| (SELECT alg_gebouw_code
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
WHERE g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
|| '";"'
|| (SELECT alg_verdieping_code
FROM alg_verdieping v, alg_ruimte r
WHERE v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
|| '";"'
|| (SELECT alg_ruimte_nr
FROM alg_ruimte r
WHERE r.alg_ruimte_key = r2a.alg_ruimte_key)
|| '";"'
|| NVL ( (SELECT pr.fac_profiel_limiet
FROM fac_profiel pr
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0)
|| '";"'
|| NVL (prs_perslid_nr, '<null>')
|| '";"'
|| '<null>'
|| '";"'
|| NVL (wp2.prs_werkplek_aanduiding, '<null>')
|| '";"'
|| NVL (
(SELECT ins_discipline_omschrijving
FROM ins_tab_discipline d,
res_ruimte_opstelling ro,
res_ruimte rr
WHERE rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_discipline_key = d.ins_discipline_key),
'<null>')
|| '";"'
|| DECODE (rrr.alg_ruimte_key, NULL, 'Ja', 'Nee')
|| '";"'
|| NVL (TO_CHAR (rrr.res_rsv_ruimte_bezoekers), '<null>')
|| '";"'
|| NVL (TO_CHAR (rrr.res_rsv_ruimte_van, 'hh24:mi'), '<null>')
|| '";"'
|| NVL (TO_CHAR (rrr.res_rsv_ruimte_tot, 'hh24:mi'), '<null>')
|| '";"'
|| NVL (
REPLACE (
TO_CHAR (
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24),
'.',
','),
'<null>')
|| '";"'
|| NVL ( (SELECT res_status_fo_omschrijving
FROM res_status_fo rs
WHERE rs.res_status_fo_key = rrr.res_status_fo_key),
'<null>')
|| '";"'
|| NVL ( (SELECT res_activiteit_omschrijving
FROM res_activiteit ra
WHERE ra.res_activiteit_key = rrr.res_activiteit_key),
'<null>')
|| '";"'
|| NVL (voorz.catalogus, '<null>')
|| '";"'
|| NVL (voorz.product, '<null>')
|| '";"'
|| NVL (REPLACE (TO_CHAR (voorz.totaalprijs), '.', ','), '<null>')
|| '";"'
|| NVL (TO_CHAR (voorz.van, 'hh24:mi'), '<null>')
|| '";"'
|| NVL (TO_CHAR (voorz.tot, 'hh24:mi'), '<null>')
|| '";"'
|| NVL (REPLACE (TO_CHAR (voorz.aantal), '.', ','), '<null>')
|| '";"'
|| NVL (REPLACE (TO_CHAR (voorz.prijs), '.', ','), '<null>')
|| '";"'
|| CASE
WHEN voorz.status_bo < 5
THEN
'<open>'
WHEN voorz.status_bo >= 5
THEN
NVL (TO_CHAR (voorz.afgemeld, 'ddmmyyyy'), '<closed>')
ELSE
'<null>'
END
|| '";',
rrr.res_reservering_key * 1000 + rrr.res_rsv_ruimte_volgnr
FROM res_v_aanwezigrsv_ruimte rrr,
res_reservering res,
prs_kostenplaats k,
prs_perslid p,
prs_afdeling a,
( SELECT res_rsv_ruimte_key, MAX (ra.alg_ruimte_key) alg_ruimte_key
FROM res_rsv_ruimte r,
res_ruimte_opstelling ro,
res_ruimte rr,
res_alg_ruimte ra
WHERE r.res_rsv_ruimte_verwijder IS NULL
AND r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_ruimte_key = ra.res_ruimte_key
GROUP BY res_rsv_ruimte_key
UNION ALL
SELECT res_rsv_ruimte_key, alg_ruimte_key
FROM res_rsv_ruimte
WHERE alg_ruimte_key IS NOT NULL) r2a,
(SELECT rrd.res_rsv_ruimte_key res_rsv_ruimte_key,
d.ins_deel_omschrijving product,
DECODE (
rd.res_deel_prijs_vast,
1,
NVL (rrd.res_rsv_deel_prijs, rd.res_deel_prijs),
(rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van)
* 24
* NVL (rrd.res_rsv_deel_prijs, rd.res_deel_prijs))
totaalprijs,
rrd.res_rsv_deel_van van,
rrd.res_rsv_deel_tot tot,
(rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) * 24 aantal,
NVL (rrd.res_rsv_deel_prijs, rd.res_deel_prijs) prijs,
rrd.res_status_bo_key status_bo,
rrd.res_rsv_deel_afgemeld afgemeld,
c.ins_discipline_omschrijving catalogus
FROM res_v_aanwezigrsv_deel rrd,
res_deel rd,
ins_deel d,
ins_tab_discipline c
WHERE rrd.res_deel_key = rd.res_deel_key
AND d.ins_deel_key = rd.res_ins_deel_key
AND rrd.res_rsv_ruimte_key IS NOT NULL
AND c.ins_discipline_key = rd.res_discipline_key
UNION ALL
SELECT rra.res_rsv_ruimte_key res_rsv_ruimte_key,
ra.res_artikel_omschrijving product,
NVL (rra.res_rsv_artikel_prijs,
rra.res_rsv_artikel_aantal * res_artikel_prijs)
totaalprijs,
rra.res_rsv_artikel_levering van,
NULL tot,
rra.res_rsv_artikel_aantal aantal,
NVL (
rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal,
res_artikel_prijs)
prijs,
rra.res_status_bo_key status_bo,
rra.res_rsv_artikel_afgemeld afgemeld,
c.ins_discipline_omschrijving catalogus
FROM res_v_aanwezigrsv_artikel rra,
res_artikel ra,
ins_tab_discipline c
WHERE rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key = c.ins_discipline_key) voorz,
( SELECT pw.prs_perslid_key,
MIN (prs_werkplek_aanduiding)
|| DECODE (COUNT ( * ), 1, '', '...')
prs_werkplek_aanduiding
FROM prs_v_werkplek_gegevens wp, prs_perslidwerkplek pw
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
GROUP BY pw.prs_perslid_key) wp2
WHERE rrr.res_reservering_key = res.res_reservering_key
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND rrr.res_rsv_ruimte_key = voorz.res_rsv_ruimte_key(+)
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND wp2.prs_perslid_key(+) = p.prs_perslid_key
AND (rrr.res_ruimte_opstel_key IS NOT NULL
OR voorz.res_rsv_ruimte_key IS NOT NULL)
AND rrr.res_rsv_ruimte_tot >
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY');
CREATE OR REPLACE VIEW uwva_v_export_qlikview_factuur
(
result,
result_order
)
AS
SELECT '"factuur_key"'
|| ';'
|| '"factuur_nr"'
|| ';'
|| '"factuur_datum"'
|| ';'
|| '"bedrijf_naam"'
|| ';'
|| '"bestelnr"'
|| ';'
|| '"opdrachtnr"'
|| ';'
|| '"contractnr"'
|| ';'
|| '"factuurregel_nr"'
|| ';'
|| '"factuurregel_exbtw"'
|| ';'
|| '"factuurregel_btw"'
|| ';'
|| '"factuurregel_inbtw"'
|| ';'
|| '"debiteur_nr"'
|| ';'
|| '"opmerking"'
|| ';'
|| '"boekmaand"'
|| ';'
|| '"kostensoort"'
|| ';'
|| '"kostenplaats"'
|| ';'
|| '"bedrijf_key"'
|| ';'
|| '"extern_contractnr"'
|| ';'
|| '"bestelopdracht_key"'
|| ';'
|| '"opdracht_key"'
|| ';'
|| '"contract_key"'
|| ';'
|| '"factuur_status"'
|| ';',
0
FROM DUAL
UNION ALL
SELECT f.fin_factuur_key
|| ';"'
|| f.fin_factuur_nr
|| '";"'
|| TO_CHAR (f.fin_factuur_datum, 'YYYY-MM-DD')
|| '";"'
|| (SELECT prs_bedrijf_naam
FROM prs_bedrijf
WHERE prs_bedrijf_key =
COALESCE (b_c.prs_bedrijf_key,
b_o.prs_bedrijf_key,
sd.prs_bedrijf_key))
|| '";"'
|| b.bes_bestelopdr_id
|| '";"'
|| (SELECT sd.ins_srtdiscipline_prefix
|| m.mld_melding_key
|| '/'
|| o.mld_opdr_bedrijfopdr_volgnr
FROM mld_melding m,
mld_stdmelding std,
ins_tab_discipline d,
ins_srtdiscipline sd
WHERE m.mld_melding_key = o.mld_melding_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key)
|| '";"'
|| c.cnt_contract_nummer_intern
|| '";"'
|| fr.fin_factuurregel_nr
|| '";"'
|| NVL (REPLACE (TO_CHAR (fr.fin_factuurregel_totaal), '.', ','),
'<null>')
|| '";"'
|| NVL (REPLACE (TO_CHAR (fr.fin_factuurregel_btw), '.', ','),
'<null>')
|| '";"'
|| NVL (
REPLACE (
TO_CHAR (
fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),
'.',
','),
'<null>')
|| '";"'
|| f.fin_factuur_debiteur_nr
|| '";"'
|| SUBSTR (uwva_p_export.escape_str (f.fin_factuur_opmerking),
1,
768)
|| '";"'
|| REPLACE (f.fin_factuur_boekmaand, '-', '')
|| '";"'
|| k.prs_kostensoort_oms
|| '";"'
|| (SELECT prs_kostenplaats_nr
FROM prs_kostenplaats
WHERE prs_kostenplaats_key =
COALESCE (o.prs_kostenplaats_key,
c.prs_kostenplaats_key,
bb.prs_kostenplaats_key))
|| '";"'
|| COALESCE (b_c.prs_bedrijf_key,
b_o.prs_bedrijf_key,
sd.prs_bedrijf_key)
|| '";"'
|| c.cnt_contract_nummer
|| '";"'
|| b.bes_bestelopdr_key
|| '";"'
|| o.mld_opdr_key
|| '";"'
|| c.cnt_contract_key
|| '";"'
|| fin_factuur_statuses_key
|| '";',
fr.fin_factuurregel_key
FROM fin_factuur f,
fin_factuurregel fr,
mld_opdr o,
mld_typeopdr ot,
cnt_contract c,
bes_bestelopdr b,
prs_bedrijf b_o,
prs_bedrijf b_c,
prs_kostensoort k,
bes_srtdeel sd,
bes_bestelopdr_item boi,
bes_bestelling_item bi,
bes_bestelling bb
WHERE f.fin_factuur_key = fr.fin_factuur_key
AND f.mld_opdr_key = o.mld_opdr_key(+)
AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+)
AND f.cnt_contract_key = c.cnt_contract_key(+)
AND f.bes_bestelopdr_key = b.bes_bestelopdr_key(+)
AND boi.bes_bestelopdr_key(+) = b.bes_bestelopdr_key
AND bi.bes_bestelopdr_item_key(+) = boi.bes_bestelopdr_item_key
AND bes_bestelopdr_item_posnr(+) = 1
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key(+)
AND bi.bes_bestelling_key = bb.bes_bestelling_key(+)
AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+)
AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
AND f.prs_kostensoort_key = k.prs_kostensoort_key(+);
CREATE OR REPLACE VIEW uwva_v_export_qv_opdrtelaat
(
result,
result_order
)
AS
SELECT '"meldingnummer"'
|| ';"opdrachtkey"'
|| ';"opdrachtnummer"'
|| ';"Reden_te_laat"'
|| ';"Reden_vertraging"',
0
FROM DUAL
UNION ALL
SELECT '"'
|| m.mld_melding_key
|| '";"'
|| o.mld_opdr_key
|| '";"'
|| m.mld_melding_key
|| '/'
|| mld_opdr_bedrijfopdr_volgnr
|| '";"'
|| f.fac_usrdata_omschr
|| '";"'
|| k2.mld_kenmerkopdr_waarde
|| '"',
2
FROM mld_melding m,
mld_opdr o,
mld_kenmerkopdr k,
mld_kenmerk kk,
mld_srtkenmerk sk,
fac_kenmerkdomein rk,
fac_usrdata f,
(SELECT o.mld_opdr_key, mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko, mld_kenmerk k, mld_opdr o
WHERE k.mld_srtkenmerk_key = 741
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND o.mld_opdr_key = ko.mld_opdr_key
AND o.mld_typeopdr_key = k.mld_typeopdr_key) k2
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_typeopdr_key = kk.mld_typeopdr_key
AND o.mld_opdr_key = k.mld_opdr_key
AND o.mld_opdr_key = k2.mld_opdr_key(+)
AND kk.mld_kenmerk_key = k.mld_kenmerk_key
AND kk.mld_srtkenmerk_key = 721
AND KK.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.fac_kenmerkdomein_key = rk.fac_kenmerkdomein_key
AND f.fac_usrtab_key = rk.fac_usrtab_key
AND f.fac_usrdata_key =
fac.safe_to_number (k.mld_kenmerkopdr_waarde);
/* UWVA#22594 autorisatie export */
CREATE OR REPLACE VIEW uwva_v_export_qv_autorisaties
(
RESULT,
result_order
)
AS
SELECT '"Autorisatiegroep_omschrijving";"Autorisatie_omschrijving";"Autorisatie_code";"Autorisatie_module";"Discipline_omschrijving";"Vakgroep/contractsoort/objectsoort/catalogus";"Org_lezen";"Org_schrijven";"Plaats_lezen";"Plaats_schrijven"',
0
FROM DUAL
UNION ALL
SELECT '"'
|| fac_groep_oms
|| '";"'
|| fac_functie_oms
|| '";"'
|| fac_functie_code
|| '";"'
|| fac_module
|| '";"'
|| ins_srtdisc
|| '";"'
|| ins_disc
|| '";"'
|| prs_read
|| '";"'
|| prs_write
|| '";"'
|| alg_read
|| '";"'
|| alg_write
|| '"',
1
FROM (SELECT gr.fac_groep_omschrijving fac_groep_oms,
f.fac_functie_omschrijving fac_functie_oms,
f.fac_functie_code fac_functie_code,
f.fac_functie_module fac_module,
sd.ins_srtdiscipline_omschrijving ins_srtdisc,
a.ins_discipline_omschrijving ins_disc,
TO_CHAR (COALESCE (g.fac_gebruiker_prs_level_read, -1))
prs_read,
TO_CHAR (COALESCE (g.fac_gebruiker_prs_level_write, -1))
prs_write,
TO_CHAR (COALESCE (g.fac_gebruiker_alg_level_read, -1))
alg_read,
TO_CHAR (COALESCE (g.fac_gebruiker_alg_level_write, -1))
alg_write
FROM fac_groeprechten g,
fac_functie f,
ins_tab_discipline a,
ins_srtdiscipline sd,
fac_groep gr
WHERE g.ins_discipline_key = a.ins_discipline_key
AND a.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND g.fac_groep_key = gr.fac_groep_key
AND f.fac_functie_key = g.fac_functie_key
AND f.fac_functie_discipline = 1
AND ins_discipline_verwijder IS NULL
UNION ALL
SELECT gr.fac_groep_omschrijving fac_groep_oms,
f.fac_functie_omschrijving fac_functie_oms,
f.fac_functie_code fac_functie_code,
f.fac_functie_module fac_module,
NULL ins_srtdisc,
NULL ins_disc,
TO_CHAR (COALESCE (g.fac_gebruiker_prs_level_read, -1))
prs_read,
TO_CHAR (COALESCE (g.fac_gebruiker_prs_level_write, -1))
prs_write,
TO_CHAR (COALESCE (g.fac_gebruiker_alg_level_read, -1))
alg_read,
TO_CHAR (COALESCE (g.fac_gebruiker_alg_level_write, -1))
alg_write
FROM fac_groeprechten g, fac_functie f, fac_groep gr
WHERE g.fac_groep_key = gr.fac_groep_key
AND fac_functie_discipline = 0
AND g.fac_functie_key = f.fac_functie_key
ORDER BY 1);
-- UWVA#30245: 'b.bez_bezoekers_opmerking' hier ook maar toegevoegd!
CREATE OR REPLACE VIEW uwva_v_kz_gastheer_vandaag
(
fclt_3d_user_key,
hide_f_van,
tijdstip,
ruimte,
klant,
binnen,
opmerkingen,
hide_f_reskey
)
AS
SELECT rsv.res_rsv_ruimte_host_key,
a.bez_afspraak_datum,
TO_CHAR (a.bez_afspraak_datum, 'HH24:MI') tijdstip,
(SELECT rg.alg_ruimte_aanduiding
FROM res_v_alg_ruimte_gegevens rg
WHERE rg.res_alg_ruimte_key = rar.res_alg_ruimte_key)
ruimte,
b.bez_afspraak_naam klant,
COALESCE (TO_CHAR (b.bez_bezoekers_done, 'HH24:MI'),
DECODE (rsv.res_status_fo_key, 4, 'Afgezegd', ''))
binnen,
a.bez_afspraak_opmerking
|| CHR (13)
|| CHR (10)
|| b.bez_bezoekers_opmerking
sofi_postc,
r.res_reservering_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_ruimte rsv,
bez_afspraak a,
bez_bezoekers b,
res_ruimte_opstelling ro,
res_v_aanwezigalg_ruimte rar
WHERE r.res_reservering_key = rsv.res_reservering_key
AND rsv.res_rsv_ruimte_key = a.res_rsv_ruimte_key
AND a.bez_afspraak_key = b.bez_afspraak_key
AND TO_CHAR (rsv.res_rsv_ruimte_van, 'YYYYMMDD') =
TO_CHAR (SYSDATE, 'YYYYMMDD')
AND rsv.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rar.res_ruimte_key;
-- UWVA#30245: En hier dan dus ook 'b.bez_bezoekers_opmerking' toegevoegd!
CREATE OR REPLACE VIEW uwva_v_kz_gastheer_2wkn
(
fclt_3d_user_key,
datum,
tijdstip,
ruimte,
klant,
binnen,
opmerkingen,
hide_f_reskey
)
AS
SELECT rsv.res_rsv_ruimte_host_key,
a.bez_afspraak_datum,
TO_CHAR (a.bez_afspraak_datum, 'HH24:MI') tijdstip,
(SELECT rg.alg_ruimte_aanduiding
FROM res_v_alg_ruimte_gegevens rg
WHERE rg.res_alg_ruimte_key = rar.res_alg_ruimte_key)
ruimte,
b.bez_afspraak_naam klant,
NVL (TO_CHAR (b.bez_bezoekers_done, 'HH24:MI'),
DECODE (rsv.res_status_fo_key, 4, 'Afgezegd', ''))
binnen,
a.bez_afspraak_opmerking
|| CHR (13)
|| CHR (10)
|| b.bez_bezoekers_opmerking
sofi_postc,
r.res_reservering_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_ruimte rsv,
bez_afspraak a,
bez_bezoekers b,
res_ruimte_opstelling ro,
res_v_aanwezigalg_ruimte rar
WHERE r.res_reservering_key = rsv.res_reservering_key
AND rsv.res_rsv_ruimte_key = a.res_rsv_ruimte_key
AND a.bez_afspraak_key = b.bez_afspraak_key
AND rsv.res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) + 1
AND TRUNC (SYSDATE) + 14
AND rsv.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rar.res_ruimte_key;
-- UWVA#30245: En hier dan dus ook 'b.bez_bezoekers_opmerking' toegevoegd!
CREATE OR REPLACE VIEW UWVA_V_KZ_PLANNER_VANDAAG
(
fclt_3d_user_key,
gastheer,
tijdstip,
ruimte,
klant,
binnen,
opmerkingen,
hide_f_reskey
)
AS
SELECT rsv.res_rsv_ruimte_contact_key,
pf.prs_perslid_naam_full,
TO_CHAR (a.bez_afspraak_datum, 'HH24:MI') tijdstip,
(SELECT rg.alg_ruimte_aanduiding
FROM res_v_alg_ruimte_gegevens rg
WHERE rg.res_alg_ruimte_key = rar.res_alg_ruimte_key)
ruimte,
b.bez_afspraak_naam klant,
COALESCE (TO_CHAR (b.bez_bezoekers_done, 'HH24:MI'),
DECODE (rsv.res_status_fo_key, 4, 'Afgezegd', ''))
binnen,
a.bez_afspraak_opmerking
|| CHR (13)
|| CHR (10)
|| b.bez_bezoekers_opmerking
sofi_postc,
r.res_reservering_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_ruimte rsv,
bez_afspraak a,
bez_bezoekers b,
res_ruimte_opstelling ro,
prs_v_perslid_fullnames_all pf,
res_v_aanwezigalg_ruimte rar
WHERE r.res_reservering_key = rsv.res_reservering_key
AND rsv.res_rsv_ruimte_key = a.res_rsv_ruimte_key
AND a.bez_afspraak_key = b.bez_afspraak_key
AND rsv.res_rsv_ruimte_host_key = pf.prs_perslid_key
AND TO_CHAR (rsv.res_rsv_ruimte_van, 'YYYYMMDD') =
TO_CHAR (SYSDATE, 'YYYYMMDD')
AND rsv.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rar.res_ruimte_key;
CREATE OR REPLACE VIEW UWVA_V_DISCIPLINE_SLA
(
INS_DISCIPLINE_KEY,
INS_DISCIPLINE_OMSCHRIJVING,
INS_SRTDISCIPLINE_PREFIX
)
AS
SELECT ins_discipline_key,
ins_discipline_omschrijving,
ins_srtdiscipline_prefix
FROM mld_discipline d, ins_srtdiscipline sd
WHERE d.ins_discipline_module = 'MLD'
AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
AND ins_srtdiscipline_prefix IN ('A', 'S');
CREATE OR REPLACE VIEW uwva_v_mld_actual
(
mld_key,
vakgroeptype_key,
vakgroeptype_prefix,
vakgroep_key,
vakgroep_oms,
stdmld_key,
stdmld_oms,
mld_status_key,
--mld_sla,
mld_begindatum,
mld_einddatum,
acpt_telaat,
uitv_telaat,
district_key,
district_oms,
mldacp_date,
mldrej_date,
mldafm_date
)
AS
SELECT meld.mld_key,
meld.vakgroeptype_key,
meld.vakgroeptype_prefix,
meld.vakgroep_key,
meld.vakgroep_oms,
meld.stdmld_key,
meld.stdmld_oms,
meld.status_key,
--meld.sla,
meld.begindatum,
meld.einddatum,
DECODE (SIGN (meld.mld_melding_acceptdatum_std
- COALESCE (mldrej.fac_tracking_datum,
mldacp.fac_tracking_datum,
mldafm.fac_tracking_datum,
SYSDATE)),
-1, 1,
0)
acpt_telaat,
DECODE (
SIGN(meld.mld_melding_einddatum_std
- COALESCE (mldrej.fac_tracking_datum,
mldafm.fac_tracking_datum,
SYSDATE)),
-1,
1,
0)
uitv_telaat,
meld.district_key,
meld.district_oms,
mldacp.fac_tracking_datum,
mldrej.fac_tracking_datum,
mldafm.fac_tracking_datum
FROM (SELECT m.mld_melding_key mld_key,
sd.ins_srtdiscipline_key vakgroeptype_key,
sd.ins_srtdiscipline_prefix vakgroeptype_prefix,
td.ins_discipline_key vakgroep_key,
td.ins_discipline_omschrijving vakgroep_oms,
sm.mld_stdmelding_key stdmld_key,
sm.mld_stdmelding_omschrijving stdmld_oms,
m.mld_melding_status status_key,
--m.mld_melding_uitvoertijd sla,
m.mld_melding_datum begindatum,
m.mld_melding_einddatum einddatum,
m.mld_melding_acceptdatum_std,
m.mld_melding_einddatum_std,
d.alg_district_key district_key,
d.alg_district_omschrijving district_oms
FROM mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
alg_locatie l,
alg_district d
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = td.ins_discipline_key
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND sd.ins_srtdiscipline_prefix IN ('A', 'S')
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = d.alg_district_key(+)) meld
LEFT JOIN (SELECT t.fac_tracking_refkey,
t.fac_tracking_datum,
t.prs_perslid_key
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key = 17
AND t.fac_tracking_key IN
(SELECT MAX (fac_tracking_key)
FROM fac_tracking
WHERE fac_srtnotificatie_key = 17
AND fac_tracking_refkey =
t.fac_tracking_refkey))
mldacp
ON meld.mld_key = mldacp.fac_tracking_refkey
LEFT JOIN fac_tracking mldrej
ON meld.mld_key = mldrej.fac_tracking_refkey
AND mldrej.fac_srtnotificatie_key = 22
LEFT JOIN fac_tracking mldafm
ON meld.mld_key = mldafm.fac_tracking_refkey
AND mldafm.fac_srtnotificatie_key = 18
WHERE meld.begindatum > TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY');
-- SLA Rapportages, van alle rapportages wordt eerst de onderliggende rapportage
-- xxx_INPUT gedefinieerd. Rapportages met UITV hebben betrekking op de uitvoertijd
-- en rapportages met ACC hebben betrekking op de acceptatie tijd.
CREATE OR REPLACE VIEW uwva_v_mld_sla_acc_input_sp
(
maand,
ins_discipline_key,
ins_discipline_omschrijving,
ins_srtdiscipline_prefix,
district_key,
nogopen,
optijd,
telaat,
totaal
)
AS
SELECT x.maand,
x.vakgroep_key,
x.vakgroep_oms,
x.vakgroeptype_prefix,
x.district_key,
x.nogopen,
x.optijd,
x.telaat,
x.nogopen + x.optijd + x.telaat totaal
FROM ( SELECT TO_CHAR (mld_begindatum, 'yymm') maand,
vakgroep_key,
vakgroep_oms,
vakgroeptype_prefix,
district_key,
SUM (DECODE (mld_status_key, 2, 1, 3, 1, 0)) nogopen,
SUM(DECODE (mld_status_key,
2, 0,
3, 0,
DECODE (acpt_telaat, 0, 1, 0)))
optijd,
SUM(DECODE (mld_status_key,
2, 0,
3, 0,
DECODE (acpt_telaat, 1, 1, 0)))
telaat
FROM uwva_v_mld_actual
GROUP BY TO_CHAR (mld_begindatum, 'yymm'),
vakgroep_key,
vakgroep_oms,
vakgroeptype_prefix,
district_key) x;
CREATE OR REPLACE VIEW uwva_v_mld_sla_acc_sp
(
fclt_f_maand,
fclt_f_productgroep,
fclt_f_soort,
fclt_f_servicepunt,
fclt_3d_locatie_key,
aantal_open,
aantal_optijd,
aantal_telaat,
totaal,
openperc,
optijdperc,
telaatperc
)
AS
SELECT maand,
ins_discipline_omschrijving vakgroep,
ins_srtdiscipline_prefix soort,
(SELECT alg_district_omschrijving
FROM alg_district
WHERE alg_district_key = district_key)
AS district,
(SELECT MAX (alg_locatie_key)
FROM alg_locatie
WHERE alg_district_key = district_key)
AS locatie_key,
TO_CHAR (nogopen) nogopen,
TO_CHAR (optijd) optijd,
TO_CHAR (telaat) telaat,
TO_CHAR (totaal) totaal,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (nogopen / totaal) * 100, 1)))
p_open,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (optijd / totaal) * 100, 1)))
p_optijd,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (telaat / totaal) * 100, 1)))
p_telaat
FROM uwva_v_mld_sla_acc_input_sp;
CREATE OR REPLACE VIEW uwva_v_mld_sla_acc
(
fclt_f_maand,
fclt_f_productgroep,
fclt_f_soort,
aantal_open,
aantal_optijd,
aantal_telaat,
totaal,
openperc,
optijdperc,
telaatperc
)
AS
SELECT x.maand,
x.ins_discipline_omschrijving vakgroep,
x.ins_srtdiscipline_prefix soort,
TO_CHAR (x.nogopen) nogopen,
TO_CHAR (x.optijd) optijd,
TO_CHAR (x.telaat) telaat,
TO_CHAR (x.totaal) totaal,
DECODE (x.totaal,
0, '0',
TO_CHAR (ROUND ( (x.nogopen / x.totaal) * 100, 1)))
p_open,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (x.optijd / x.totaal) * 100, 1)))
p_optijd,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (x.telaat / x.totaal) * 100, 1)))
p_telaat
FROM ( SELECT maand,
ins_discipline_omschrijving,
ins_srtdiscipline_prefix,
SUM (nogopen) nogopen,
SUM (optijd) optijd,
SUM (telaat) telaat,
SUM (nogopen + optijd + telaat) totaal
FROM uwva_v_mld_sla_acc_input_sp
GROUP BY maand,
ins_discipline_omschrijving,
ins_srtdiscipline_prefix) x;
CREATE OR REPLACE VIEW uwva_v_mld_sla_uitv_input_sp
(
maand,
ins_discipline_key,
ins_discipline_omschrijving,
ins_srtdiscipline_prefix,
district_key,
nogopen,
optijd,
telaat,
afgewezen,
totaal
)
AS
SELECT x.maand,
x.vakgroep_key,
x.vakgroep_oms,
x.vakgroeptype_prefix,
x.district_key,
x.nogopen,
x.optijd,
x.telaat,
x.afgewezen,
x.nogopen + x.optijd + x.telaat + x.afgewezen totaal
FROM ( SELECT TO_CHAR (mld_begindatum, 'yymm') maand,
vakgroep_key,
vakgroep_oms,
vakgroeptype_prefix,
district_key,
SUM (DECODE (mld_status_key, 1, 0, 5, 0, 6, 0, 1)) nogopen,
SUM(DECODE (mld_status_key,
5, DECODE (uitv_telaat, 0, 1, 0),
6, DECODE (uitv_telaat, 0, 1, 0),
0))
optijd,
SUM(DECODE (mld_status_key,
5, DECODE (uitv_telaat, 1, 1, 0),
6, DECODE (uitv_telaat, 1, 1, 0),
0))
telaat,
SUM (DECODE (mld_status_key, 1, 1, 0)) afgewezen
FROM uwva_v_mld_actual
GROUP BY TO_CHAR (mld_begindatum, 'yymm'),
vakgroep_key,
vakgroep_oms,
vakgroeptype_prefix,
district_key) x;
CREATE OR REPLACE VIEW uwva_v_mld_sla_uitv_sp
(
fclt_f_maand,
fclt_f_productgroep,
fclt_f_soort,
fclt_f_servicepunt,
fclt_3d_locatie_key,
aantal_open,
aantal_optijd,
aantal_telaat,
aantal_afgewezen,
totaal,
openperc,
optijdperc,
telaatperc,
afgewezenperc
)
AS
SELECT maand,
ins_discipline_omschrijving vakgroep,
ins_srtdiscipline_prefix soort,
(SELECT alg_district_omschrijving
FROM alg_district
WHERE alg_district_key = district_key)
AS district,
(SELECT MAX (alg_locatie_key)
FROM alg_locatie
WHERE alg_district_key = district_key)
AS locatie_key,
TO_CHAR (nogopen) nogopen,
TO_CHAR (optijd) optijd,
TO_CHAR (telaat) telaat,
TO_CHAR (afgewezen) afgewezen,
TO_CHAR (totaal) totaal,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (nogopen / totaal) * 100, 1)))
p_open,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (optijd / totaal) * 100, 1)))
p_optijd,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (telaat / totaal) * 100, 1)))
p_telaat,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (afgewezen / totaal) * 100, 1)))
p_afgewezen
FROM uwva_v_mld_sla_uitv_input_sp;
CREATE OR REPLACE VIEW uwva_v_mld_sla_uitv
(
fclt_f_maand,
fclt_f_productgroep,
fclt_f_soort,
aantal_open,
aantal_optijd,
aantal_telaat,
aantal_afgewezen,
totaal,
openperc,
optijdperc,
telaatperc,
afgewezenperc
)
AS
SELECT x.maand,
x.ins_discipline_omschrijving vakgroep,
x.ins_srtdiscipline_prefix soort,
TO_CHAR (x.nogopen) nogopen,
TO_CHAR (x.optijd) optijd,
TO_CHAR (x.telaat) telaat,
TO_CHAR (x.afgewezen) afgewezen,
TO_CHAR (x.totaal) totaal,
DECODE (x.totaal,
0, '0',
TO_CHAR (ROUND ( (x.nogopen / x.totaal) * 100, 1)))
p_open,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (x.optijd / x.totaal) * 100, 1)))
p_optijd,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (x.telaat / x.totaal) * 100, 1)))
p_telaat,
DECODE (totaal,
0, '0',
TO_CHAR (ROUND ( (x.afgewezen / x.totaal) * 100, 1)))
p_afgewezen
FROM ( SELECT maand,
ins_discipline_omschrijving,
ins_srtdiscipline_prefix,
SUM (nogopen) nogopen,
SUM (optijd) optijd,
SUM (telaat) telaat,
SUM (afgewezen) afgewezen,
SUM (nogopen + optijd + telaat + afgewezen) totaal
FROM uwva_v_mld_sla_uitv_input_sp
GROUP BY maand,
ins_discipline_omschrijving,
ins_srtdiscipline_prefix) x;
CREATE OR REPLACE VIEW uwva_v_mld_klachten_pi
(
fclt_f_maand,
productgroep,
locatie,
aantal_geaccepteerd
)
AS
SELECT TO_CHAR (mld_melding_datum, 'YYYYMM'),
d.ins_discipline_omschrijving,
l.alg_locatie_code,
COUNT (DISTINCT mld_melding_key)
FROM mld_melding m,
ins_tab_discipline d,
mld_stdmelding st,
alg_locatie l
WHERE m.mld_stdmelding_key = st.mld_stdmelding_key
AND st.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = 3
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND m.mld_melding_status >= 4
GROUP BY TO_CHAR (mld_melding_datum, 'YYYYMM'),
l.alg_locatie_code,
d.ins_discipline_omschrijving;
CREATE OR REPLACE VIEW uwva_v_active_users
AS
SELECT prs_perslid_key
FROM prs_v_aanwezigperslid
WHERE prs_perslid_login + (6 * 30) > SYSDATE;
CREATE OR REPLACE VIEW uwva_v_inactive_users
AS
SELECT p.prs_perslid_naam
|| DECODE (NVL (p.prs_perslid_voorletters, ''),
'', '',
', ' || p.prs_perslid_voorletters)
|| DECODE (NVL (p.prs_perslid_tussenvoegsel, ''),
'', '',
' ' || p.prs_perslid_tussenvoegsel)
|| DECODE (NVL (p.prs_perslid_voornaam, ''),
'', '',
' (' || p.prs_perslid_voornaam || ')')
naam,
p.prs_perslid_nr personeelsnr,
COALESCE (kp.prs_kostenplaats_nr, '-') kostenplaats,
l.locatie,
u.fac_groep_omschrijving rol,
(SELECT prs_kenmerklink_waarde
FROM prs_kenmerklink
WHERE prs_kenmerk_key = 1004 -- Op 15-11-2010 verwijderd???
AND prs_link_key = p.prs_perslid_key)
datum,
COALESCE (
bh.prs_perslid_naam
|| DECODE (NVL (bh.prs_perslid_voorletters, ''),
'', '',
', ' || bh.prs_perslid_voorletters)
|| DECODE (NVL (bh.prs_perslid_tussenvoegsel, ''),
'', '',
' ' || bh.prs_perslid_tussenvoegsel)
|| DECODE (NVL (bh.prs_perslid_voornaam, ''),
'', '',
' (' || bh.prs_perslid_voornaam || ')'),
'-')
budgethouder,
COALESCE (bh.prs_perslid_email, '-') budgethouder_email
FROM (SELECT p.prs_perslid_key,
p.prs_afdeling_key,
g.fac_groep_omschrijving
FROM fac_gebruikersgroep gg, fac_groep g, prs_perslid p
WHERE gg.fac_groep_key = g.fac_groep_key
AND g.fac_groep_key <> 241 -- '_default'
AND gg.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_oslogin IS NOT NULL) u,
prs_v_aanwezigperslid p,
( SELECT prs_pw.prs_perslid_key,
MIN (alg_l.alg_locatie_code) locatie
FROM alg_ruimte alg_r,
alg_verdieping alg_v,
alg_gebouw alg_g,
alg_locatie alg_l,
prs_werkplek prs_w,
prs_perslidwerkplek prs_pw
WHERE alg_r.alg_verdieping_key = alg_v.alg_verdieping_key
AND alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
AND alg_g.alg_locatie_key = alg_l.alg_locatie_key
AND alg_r.alg_ruimte_key = prs_w.prs_alg_ruimte_key
AND prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
GROUP BY prs_pw.prs_perslid_key) l,
prs_afdeling a,
prs_kostenplaats kp,
prs_perslid bh,
uwva_v_active_users au
WHERE u.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_aanmaak + (6 * 30) < SYSDATE
AND p.prs_perslid_key = l.prs_perslid_key(+)
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
AND kp.prs_perslid_key = bh.prs_perslid_key(+)
AND u.prs_perslid_key = au.prs_perslid_key(+)
AND au.prs_perslid_key IS NULL;
-- Met UWVA53 het window tussen 60-75 dagen actief gemaakt
-- (ipv. alles > 60 dagen); scheelt een hoop log-regels!
CREATE OR REPLACE VIEW uwva_v_vertaal_docs_delete
(
mld_melding_key,
mld_melding_datum,
mld_melding_verwerkt,
mld_melding_afgewezen,
foldervertaaldocumenten
)
AS
SELECT m.mld_melding_key,
m.mld_melding_datum,
fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
--'../flexfiles/mld/M'
'/MLD/M'
|| SUBSTR (LPAD (m.mld_melding_key, 7, '0'), 1, 4)
|| '___'
|| '/M'
|| m.mld_melding_key
|| '/'
|| k.mld_kenmerk_key
foldervertaaldocumenten
FROM mld_kenmerk k, mld_melding m, mld_stdmelding sm
WHERE k.mld_kenmerk_niveau IN ('S', 'D')
AND k.mld_srtkenmerk_key IN (483, 1881) -- Te vertalen document
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_stdmelding_key = m.mld_stdmelding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = 245 -- Vertaaldienst
AND m.mld_melding_status IN (1, 5, 6) -- Melding Afgewezen, TV of AV
AND ((fac.gettrackingdate ('MLDAFM', m.mld_melding_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) > (SYSDATE - 75))
OR (fac.gettrackingdate ('MLDREJ', m.mld_melding_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('MLDREJ', m.mld_melding_key) > (SYSDATE - 75)))
UNION
SELECT m.mld_melding_key,
m.mld_melding_datum,
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
COALESCE (fac.gettrackingdate ('ORDREJ', o.mld_opdr_key), fac.gettrackingdate ('ORDCAN', o.mld_opdr_key)),
--'../flexfiles/mld/O'
'/MLD/O'
|| SUBSTR (LPAD (o.mld_opdr_key, 7, '0'), 1, 4)
|| '___'
|| '/O'
|| o.mld_opdr_key
|| '/'
|| k.mld_kenmerk_key
foldervertaaldocumenten
FROM mld_kenmerk k, mld_opdr o, mld_melding m, mld_stdmelding sm
WHERE k.mld_kenmerk_niveau = 'O'
AND k.mld_srtkenmerk_key IN (483, 1881) -- Te vertalen document
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_typeopdr_key = o.mld_typeopdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = 245 -- Vertaaldienst
AND m.mld_melding_status IN (1, 5, 6) -- Melding Afgewezen, TV of AV
AND o.mld_statusopdr_key IN (1, 2, 6, 7, 9) -- Opdracht Afgewezen, Niet akkoord, TV, AV of KV
AND ((fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) > (SYSDATE - 75))
OR (fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) > (SYSDATE - 75))
OR (fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) > (SYSDATE - 75)))
UNION
SELECT m.mld_melding_key,
m.mld_melding_datum,
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
COALESCE (fac.gettrackingdate ('ORDREJ', o.mld_opdr_key), fac.gettrackingdate ('ORDCAN', o.mld_opdr_key)),
--'../flexfiles/mld/O'
'/MLD/O'
|| SUBSTR (LPAD (o.mld_opdr_key, 7, '0'), 1, 4)
|| '___'
|| '/O'
|| o.mld_opdr_key
|| '/'
|| k.mld_kenmerk_key
foldervertaaldocumenten
FROM mld_kenmerk k, mld_opdr o, mld_melding m, mld_stdmelding sm, mld_kenmerkopdr ko
WHERE k.mld_kenmerk_niveau = 'O'
AND k.mld_srtkenmerk_key IN (801, 802, 803, 804, 821, 822) -- Vertaalde documenten
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_typeopdr_key = o.mld_typeopdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = 245 -- Vertaaldienst
AND m.mld_melding_status IN (1, 5, 6) -- Melding Afgewezen, TV of AV
AND o.mld_statusopdr_key IN (1, 2, 6, 7, 9) -- Opdracht Afgewezen, Niet akkoord, TV, AV of KV
AND ko.mld_opdr_key = o.mld_opdr_key -- If kenmerkopdr exists...
AND ko.mld_kenmerk_key = k.mld_kenmerk_key -- ...for opdr+kenmerk
AND ((fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) > (SYSDATE - 75))
OR (fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) > (SYSDATE - 75))
OR (fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) > (SYSDATE - 75)))
UNION -- UWVA#40012: Schonen bijlagen bij Buitenlandse reis (soortmeldingen met keys 2941 en 3442)
SELECT m.mld_melding_key,
m.mld_melding_datum,
fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
--'../flexfiles/mld/M'
'/MLD/M'
|| SUBSTR (LPAD (m.mld_melding_key, 7, '0'), 1, 4)
|| '___'
|| '/M'
|| m.mld_melding_key
|| '/'
|| k.mld_kenmerk_key
foldervertaaldocumenten
FROM mld_kenmerk k, mld_melding m
WHERE k.mld_kenmerk_niveau = 'S' --IN ('S', 'D')
AND k.mld_srtkenmerk_key IN (441, 1841) -- Bijlage/Aanvraagformulier buitenlandse reis
--AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_stdmelding_key = m.mld_stdmelding_key
AND m.mld_stdmelding_key IN (2941, 3442) -- Buitenlandse reis (oud en nieuw)
AND m.mld_melding_status IN (1, 5, 6) -- Melding Afgewezen, TV of AV
AND ((fac.gettrackingdate ('MLDAFM', m.mld_melding_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) > (SYSDATE - 75))
OR (fac.gettrackingdate ('MLDREJ', m.mld_melding_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('MLDREJ', m.mld_melding_key) > (SYSDATE - 75)))
UNION -- UWVA#40012: Schonen bijlagen bij Buitenlandse reis (opdrachten onder soortmeldingen met keys 2941 en 3442)
SELECT m.mld_melding_key,
m.mld_melding_datum,
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
COALESCE (fac.gettrackingdate ('ORDREJ', o.mld_opdr_key), fac.gettrackingdate ('ORDCAN', o.mld_opdr_key)),
--'../flexfiles/mld/O'
'/MLD/O'
|| SUBSTR (LPAD (o.mld_opdr_key, 7, '0'), 1, 4)
|| '___'
|| '/O'
|| o.mld_opdr_key
|| '/'
|| k.mld_kenmerk_key
foldervertaaldocumenten
FROM mld_kenmerk k, mld_opdr o, mld_melding m
WHERE k.mld_kenmerk_niveau = 'O'
AND k.mld_srtkenmerk_key IN (441, 1841) -- Bijlage/Aanvraagformulier buitenlandse reis
--AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_typeopdr_key = o.mld_typeopdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key IN (2941, 3442) -- Buitenlandse reis (oud en nieuw)
AND m.mld_melding_status IN (1, 5, 6) -- Melding Afgewezen, TV of AV
AND o.mld_statusopdr_key IN (1, 2, 6, 7, 9) -- Opdracht Afgewezen, Niet akkoord, TV, AV of KV
AND ((fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) > (SYSDATE - 75))
OR (fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) > (SYSDATE - 75))
OR (fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) < (SYSDATE - 60)
AND fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) > (SYSDATE - 75)));
/*
UNION -- UWVA#52959: Schonen bijlagen bij Aanvraag meubilair op medische indicatie (soortmeldingen met keys 741, 2525, 3234)
SELECT m.mld_melding_key,
m.mld_melding_datum,
fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
--'../flexfiles/mld/M'
'/MLD/M'
|| SUBSTR (LPAD (m.mld_melding_key, 7, '0'), 1, 4)
|| '___'
|| '/M'
|| m.mld_melding_key
|| '/'
|| k.mld_kenmerk_key
foldervertaaldocumenten
FROM mld_kenmerk k, mld_melding m, mld_stdmelding sm
WHERE k.mld_srtkenmerk_key = 441 -- Bijlage
--AND k.mld_kenmerk_verwijder IS NULL
AND m.mld_stdmelding_key IN (741, 2525, 3234) -- Aanvraag meubilair op medische indicatie
AND m.mld_melding_status IN (1, 5, 6) -- Melding Afgewezen, TV of AV
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND ((m.mld_stdmelding_key = k.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')
OR (sm.mld_ins_discipline_key = k.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'D'))
--TODO:AND ((fac.gettrackingdate ('MLDAFM', m.mld_melding_key) < (SYSDATE - 60)
-- AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) > (SYSDATE - 75))
-- OR (fac.gettrackingdate ('MLDREJ', m.mld_melding_key) < (SYSDATE - 60)
-- AND fac.gettrackingdate ('MLDREJ', m.mld_melding_key) > (SYSDATE - 75)))
AND (fac.gettrackingdate ('MLDAFM', m.mld_melding_key) < (SYSDATE - 60)
OR fac.gettrackingdate ('MLDREJ', m.mld_melding_key) < (SYSDATE - 60))
UNION -- UWVA#52959: Schonen bijlagen bij Aanvraag meubilair op medische indicatie (opdrachten onder soortmeldingen met keys 741, 2525, 3234)
SELECT m.mld_melding_key,
m.mld_melding_datum,
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
COALESCE (fac.gettrackingdate ('ORDREJ', o.mld_opdr_key), fac.gettrackingdate ('ORDCAN', o.mld_opdr_key)),
--'../flexfiles/mld/O'
'/MLD/O'
|| SUBSTR (LPAD (o.mld_opdr_key, 7, '0'), 1, 4)
|| '___'
|| '/O'
|| o.mld_opdr_key
|| '/'
|| k.mld_kenmerk_key
foldervertaaldocumenten
FROM mld_kenmerk k, mld_opdr o, mld_melding m
WHERE k.mld_kenmerk_niveau = 'O'
AND k.mld_srtkenmerk_key = 441 -- Bijlage
--AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_typeopdr_key = o.mld_typeopdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key IN (741, 2525, 3234) -- Aanvraag meubilair op medische indicatie
AND m.mld_melding_status IN (1, 5, 6) -- Melding Afgewezen, TV of AV
AND o.mld_statusopdr_key IN (1, 2, 6, 7, 9) -- Opdracht Afgewezen, Niet akkoord, TV, AV of KV
--TODO:AND ((fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) < (SYSDATE - 60)
-- AND fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) > (SYSDATE - 75))
-- OR (fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) < (SYSDATE - 60)
-- AND fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) > (SYSDATE - 75))
-- OR (fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) < (SYSDATE - 60)
-- AND fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) > (SYSDATE - 75)))
AND (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) < (SYSDATE - 60)
OR fac.gettrackingdate ('ORDREJ', o.mld_opdr_key) < (SYSDATE - 60)
OR fac.gettrackingdate ('ORDCAN', o.mld_opdr_key) < (SYSDATE - 60));
*/
CREATE OR REPLACE VIEW uwva_v_vertaal_subsidie
(
fclt_f_maand,
fclt_f_nationaliteit,
fclt_f_brontaal,
fclt_f_doeltaal,
aantal_woorden,
hide_f_datumuitgevoerd,
fclt_3d_locatie_key,
hide_f_melding_key,
hide_f_opdracht_key
)
AS
SELECT TO_CHAR (m.mld_melding_datum, 'YYYY-MM') AS fclt_f_maand,
ud_nat.fac_usrdata_omschr AS nationaliteit,
(SELECT fd.fac_usrdata_omschr
FROM mld_kenmerkmelding k1, fac_usrdata fd
WHERE k1.mld_melding_key = m.mld_melding_key
AND k1.mld_kenmerk_key = 706 -- vertalen van
AND fd.fac_usrtab_key = 401 -- Brontaal
AND fac.safe_to_number (k1.mld_kenmerkmelding_waarde) =
fd.fac_usrdata_key)
AS brontaal,
(SELECT fd.fac_usrdata_omschr
FROM mld_kenmerkmelding k1, fac_usrdata fd
WHERE k1.mld_melding_key = m.mld_melding_key
AND k1.mld_kenmerk_key = 707 -- vertalen naar
AND fd.fac_usrtab_key = 401 -- Doeltaal
AND fac.safe_to_number (k1.mld_kenmerkmelding_waarde) =
fd.fac_usrdata_key)
AS doeltaal,
o.mld_opdr_uren AS aantal_woorden,
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
'DD-MM-YYYY')
AS hide_f_datumuitgevoerd,
m.mld_alg_locatie_key AS fclt_3d_locatie_key,
m.mld_melding_key,
o.mld_opdr_key
FROM mld_melding m,
mld_opdr o,
mld_kenmerkmelding nat,
fac_usrdata ud_nat
WHERE m.mld_stdmelding_key = 1301
AND m.mld_melding_key = o.mld_melding_key(+)
AND nat.mld_melding_key = m.mld_melding_key
AND nat.mld_kenmerk_key = 821
AND ud_nat.fac_usrtab_key = 441 -- Nationaliteit
AND fac.safe_to_number (nat.mld_kenmerkmelding_waarde) =
ud_nat.fac_usrdata_key
AND ud_nat.fac_usrdata_prijs = 1 -- EU Nationaliteit
AND o.mld_statusopdr_key IN (6, 7, 9)
ORDER BY 1,
2,
3,
4;
CREATE OR REPLACE VIEW UWVA_V_VERTAAL_SUBSIDIE_UITG
(
FCLT_F_MAAND,
FCLT_F_NATIONALITEIT,
FCLT_F_BRONTAAL,
FCLT_F_DOELTAAL,
AANTAL_WOORDEN,
FCLT_3D_LOCATIE_KEY
)
AS
SELECT fclt_f_maand,
fclt_f_nationaliteit,
fclt_f_brontaal,
fclt_f_doeltaal,
SUM (aantal_woorden) aantal_woorden,
fclt_3d_locatie_key
FROM uwva_v_vertaal_subsidie tab
GROUP BY fclt_f_maand,
fclt_f_nationaliteit,
fclt_f_brontaal,
fclt_f_doeltaal,
fclt_3d_locatie_key
ORDER BY 1,
2,
3,
4,
5;
CREATE OR REPLACE VIEW uwva_v_vertaalwerk_omzet
(
fclt_f_maand,
fclt_f_vertaalbureau,
fclt_f_nationaliteit,
fclt_f_brontaal,
fclt_f_doeltaal,
aantal_woorden,
omzet,
hide_f_datumuitgevoerd,
fclt_3d_locatie_key,
hide_f_melding_key,
hide_f_opdracht_key
)
AS
SELECT TO_CHAR (m.mld_melding_datum, 'YYYY-MM') AS fclt_f_maand,
b.prs_bedrijf_naam vertaalbureau,
ud_nat.fac_usrdata_omschr AS nationaliteit,
(SELECT fd.fac_usrdata_omschr
FROM mld_kenmerkmelding k1, fac_usrdata fd
WHERE k1.mld_melding_key = m.mld_melding_key
AND k1.mld_kenmerk_key = 706 -- vertalen van
AND fd.fac_usrtab_key = 401 -- Brontaal
AND fac.safe_to_number (k1.mld_kenmerkmelding_waarde) =
fd.fac_usrdata_key)
AS brontaal,
(SELECT fd.fac_usrdata_omschr
FROM mld_kenmerkmelding k1, fac_usrdata fd
WHERE k1.mld_melding_key = m.mld_melding_key
AND k1.mld_kenmerk_key = 707 -- vertalen naar
AND fd.fac_usrtab_key = 401 -- Doeltaal
AND fac.safe_to_number (k1.mld_kenmerkmelding_waarde) =
fd.fac_usrdata_key)
AS doeltaal,
o.mld_opdr_uren AS aantal_woorden,
o.mld_opdr_kosten AS omzet,
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
'DD-MM-YYYY')
AS hide_f_datumuitgevoerd,
m.mld_alg_locatie_key AS fclt_3d_locatie_key,
m.mld_melding_key,
o.mld_opdr_key
FROM mld_melding m,
mld_opdr o,
mld_kenmerkmelding nat,
fac_usrdata ud_nat,
prs_v_uitvoerendebedrijf b
WHERE m.mld_stdmelding_key = 1301
AND m.mld_melding_key = o.mld_melding_key(+)
AND nat.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND nat.mld_kenmerk_key = 821
AND ud_nat.fac_usrtab_key = 441 -- Nationaliteit
AND fac.safe_to_number (nat.mld_kenmerkmelding_waarde) =
ud_nat.fac_usrdata_key
AND o.mld_statusopdr_key IN (6, 7, 9)
ORDER BY 1,
2,
3,
4,
5;
CREATE OR REPLACE VIEW UWVA_V_VERTAALWERK_OMZET_UITG
(
FCLT_F_MAAND,
FCLT_F_VERTAALBUREAU,
FCLT_F_NATIONALITEIT,
FCLT_F_BRONTAAL,
FCLT_F_DOELTAAL,
AANTAL_WOORDEN,
OMZET,
FCLT_3D_LOCATIE_KEY
)
AS
SELECT fclt_f_maand,
fclt_f_vertaalbureau,
fclt_f_nationaliteit,
fclt_f_brontaal,
fclt_f_doeltaal,
SUM (aantal_woorden) aantal_woorden,
SUM (omzet) omzet,
fclt_3d_locatie_key
FROM uwva_v_vertaalwerk_omzet tab
GROUP BY fclt_f_maand,
fclt_f_vertaalbureau,
fclt_f_nationaliteit,
fclt_f_brontaal,
fclt_f_doeltaal,
fclt_3d_locatie_key
ORDER BY 1,
2,
3,
4,
5;
CREATE OR REPLACE PACKAGE UWVA_RAP
AS
-- PACKAGES voor de UWVA specifieke rapportages
TYPE t_cursor IS REF CURSOR;
PROCEDURE uwva_rap_afgemelde_kl (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE uwva_rap_afgemelde_io (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE uwva_rap_hv_cntopeind (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE uwva_rap_hv_cntopopzeg (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE uwva_rap_vert_sub (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
PROCEDURE uwva_rap_vertaalw_omz (user_key IN NUMBER,
p_datum_van IN VARCHAR2,
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor);
END;
/
CREATE OR REPLACE PACKAGE BODY uwva_rap
AS
--
-- Algemene procedures en functies.
--
PROCEDURE uwva_rap_afgemelde_kl (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT m.mld_melding_key nummer,
TO_CHAR (m.mld_melding_datum, 'DD-MM-YYYY HH24:MI') datum,
TO_CHAR (MAX (t.fac_tracking_datum), 'DD-MM-YYYY HH24:MI')
laatste_actie,
'['
|| md.ins_discipline_omschrijving
|| '/'
|| sm.mld_stdmelding_omschrijving
|| '] '
|| TO_CHAR (SUBSTR (m.mld_melding_omschrijving, 1, 2000))
omschrijving,
m.mld_melding_opmerking opmerking,
l.alg_locatie_code plaats
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
alg_locatie l,
fac_tracking t,
fac_srtnotificatie sn
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = 3
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND m.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code LIKE 'MLD%'
AND m.mld_melding_status = 5
--AND m.mld_melding_datum BETWEEN TO_DATE ('01-01-2025', 'DD-MM-YYYY') AND TO_DATE ('28-02-2025', 'DD-MM-YYYY')
AND m.mld_melding_datum BETWEEN v_datum_van AND v_datum_tot
GROUP BY mld_melding_key,
mld_melding_datum,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
TO_CHAR (SUBSTR (m.mld_melding_omschrijving, 1, 2000)),
m.mld_melding_opmerking,
l.alg_locatie_code
ORDER BY 1, 2, 3 DESC;
END;
PROCEDURE uwva_rap_afgemelde_io (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT x.sp servicepunt,
x.gebouw gebouw,
COUNT ( * ) totaal_afgemeld,
SUM (y.fsm) fsm_afgemeld
FROM (SELECT o.mld_opdr_key,
d.alg_district_omschrijving sp,
g.alg_gebouw_code gebouw
FROM mld_opdr o,
mld_v_uitvoerende u,
mld_melding m,
alg_v_allonroerendgoed aog,
alg_locatie l,
alg_district d,
alg_gebouw g
WHERE fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) BETWEEN v_datum_van
AND v_datum_tot
-- Afgemeld!
AND o.mld_uitvoerende_keys = u.mld_uitvoerende_key
AND u.TYPE = 'P' -- Intern!
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND aog.alg_gebouw_key = g.alg_gebouw_key) x
-- Afgemelde interne opdrachten (voor meldingen op gebouw-nivo of lager)
LEFT JOIN
(SELECT o.mld_opdr_key, 1 fsm
FROM mld_opdr o, fac_gebruikersgroep gg
WHERE fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) BETWEEN v_datum_van
AND v_datum_tot -- Afgemeld!
AND fac.gettrackinguserkey ('ORDAFM',
o.mld_opdr_key) =
gg.prs_perslid_key
AND gg.fac_groep_key = 381) y
-- Door FSM afgemelde opdrachten
ON x.mld_opdr_key = y.mld_opdr_key
GROUP BY x.sp, x.gebouw
ORDER BY x.sp, x.gebouw;
END;
-- Contracten op einddatum in een bepaalde periode!
PROCEDURE uwva_rap_hv_cntopeind (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT hide_f_sortdatum,
contract,
fclt_f_mantel,
beschrijving,
--fclt_x_regio,
adres,
plaats,
contractrubriek,
begindatum,
einddatum,
opzegtermijn,
opzegdatum,
fclt_f_contractstatus,
optie_systematiek,
cnt_opp,
eenheid,
fclt_3d_gebouw_key
FROM uwva_v_rap_hv_cntopeind
WHERE einddatum BETWEEN v_datum_van AND v_datum_tot
ORDER BY hide_f_sortdatum;
END;
-- Contracten op opzegdatum in een bepaalde periode!
PROCEDURE uwva_rap_hv_cntopopzeg (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT hide_f_sortdatum,
contract,
fclt_f_mantel,
beschrijving,
--fclt_x_regio,
adres,
plaats,
contractrubriek,
begindatum,
einddatum,
opzegtermijn,
opzegdatum,
fclt_f_contractstatus,
optie_systematiek,
cnt_opp,
eenheid,
fclt_3d_gebouw_key
FROM uwva_v_rap_hv_cntopopzeg
WHERE opzegdatum BETWEEN v_datum_van AND v_datum_tot
ORDER BY hide_f_sortdatum;
END;
-- Aantal woorden per vertaalde taal in een bepaalde periode!
PROCEDURE uwva_rap_vert_sub (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT doeltaal, aantal_woorden
FROM ( SELECT fclt_f_doeltaal AS doeltaal,
SUM (aantal_woorden) AS aantal_woorden,
'A' extra
FROM uwva_v_vertaal_subsidie
WHERE TO_DATE (hide_f_datumuitgevoerd, 'dd-mm-yyyy') BETWEEN v_datum_van
AND v_datum_tot
GROUP BY fclt_f_doeltaal
UNION
SELECT '' AS doeltaal,
SUM (aantal_woorden) AS aantal_woorden,
'B' extra
FROM uwva_v_vertaal_subsidie
WHERE TO_DATE (hide_f_datumuitgevoerd, 'dd-mm-yyyy') BETWEEN v_datum_van
AND v_datum_tot)
tab
ORDER BY tab.extra, 1;
END;
-- Aantal woorden en omzet per vertaalde taal per vertaalbureau in een bepaalde periode!
PROCEDURE uwva_rap_vertaalw_omz (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
p_datum_tot IN VARCHAR2,
p_cursor OUT t_cursor)
AS
v_datum_van DATE;
v_datum_tot DATE;
BEGIN
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
OPEN p_cursor FOR
SELECT vertaalbureau,
doeltaal,
aantal_woorden,
omzet
FROM ( SELECT fclt_f_vertaalbureau AS vertaalbureau,
fclt_f_doeltaal AS doeltaal,
SUM (aantal_woorden) AS aantal_woorden,
SUM (omzet) AS omzet,
'A' extra
FROM uwva_v_vertaalwerk_omzet
WHERE TO_DATE (hide_f_datumuitgevoerd, 'dd-mm-yyyy') BETWEEN v_datum_van
AND v_datum_tot
GROUP BY fclt_f_vertaalbureau, fclt_f_doeltaal
UNION
SELECT '' AS vertaalbureau,
'' AS doeltaal,
SUM (aantal_woorden) AS aantal_woorden,
SUM (omzet) AS omzet,
'B' extra
FROM uwva_v_vertaalwerk_omzet
WHERE TO_DATE (hide_f_datumuitgevoerd, 'dd-mm-yyyy') BETWEEN v_datum_van
AND v_datum_tot)
tab
ORDER BY tab.extra, 1, 2;
END;
END;
/
CREATE OR REPLACE VIEW uwva_v_no_default
(
naam,
pers_nr,
login,
afdeling
)
AS
SELECT pf.prs_perslid_naam_full naam,
p.prs_perslid_nr pers_nr,
p.prs_perslid_oslogin login,
a.prs_afdeling_naam || ' - ' || a.prs_afdeling_omschrijving
afdeling
FROM prs_afdeling a,
prs_perslid p,
prs_v_perslid_fullnames_all pf,
(SELECT *
FROM fac_gebruikersgroep
WHERE fac_groep_key = 241) gg
WHERE p.prs_perslid_oslogin IS NOT NULL
AND p.prs_perslid_key = pf.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL
AND p.prs_afdeling_key = a.prs_afdeling_key
AND gg.prs_perslid_key(+) = p.prs_perslid_key
AND gg.prs_perslid_key IS NULL;
CREATE OR REPLACE VIEW UWVA_V_CATALOGUS
(
HIDE_F_CATALOGUS,
KEY,
FCLT_F_CATALOGUS,
GROEP,
OMSCHRIJVING,
PRIJS,
EENHEID,
ART_NR,
LEVERANCIER,
VERVALDATUM,
IMAGE,
VEELVOUD
)
AS
SELECT UPPER (dis.ins_discipline_omschrijving) hide_f_Catalogus,
TO_CHAR (b.bes_srtdeel_key) KEY,
dis.ins_discipline_omschrijving FCLT_F_Catalogus,
g.bes_srtgroep_omschrijving groep,
b.bes_srtdeel_omschrijving omschrijving,
TO_CHAR (bes.getsrtdeelprijs (b.bes_srtdeel_key, NULL)) prijs,
b.bes_srtdeel_eenheid eenheid,
b.bes_srtdeel_nr art_nr,
bd.prs_bedrijf_naam leverancier,
TO_CHAR (b.bes_srtdeel_vervaldatum, 'dd-mm-yyyy') vervaldatum,
b.bes_srtdeel_image image,
TO_CHAR (b.bes_srtdeel_veelvoud) veelvoud
FROM bes_v_aanwezigsrtdeel b,
bes_srtGROEP g,
PRS_BEDRIJF bd,
INS_TAB_DISCIPLINE dis
WHERE b.bes_srtgroep_key = g.bes_srtgroep_key
AND b.prs_bedrijf_key = bd.prs_bedrijf_key(+)
AND dis.ins_discipline_key = g.ins_discipline_key;
-- UWVA#12097
CREATE OR REPLACE VIEW uwva_v_res_catalogus
(
omschrijving,
kostensoort,
kostensoort_opmerking,
artikel_nr,
artikel_omschrijving,
artikel_prijs,
eenheid,
vaste_prijs
)
AS
SELECT ins_discipline_omschrijving,
ks.prs_kostensoort_oms,
prs_kostensoort_opmerking,
ra.res_artikel_nr,
ra.res_artikel_omschrijving,
ra.res_artikel_prijs,
ra.res_artikel_eenheid,
ra.res_artikel_prijs_vast
FROM res_discipline rd, prs_kostensoort ks, res_v_aanwezigartikel ra
WHERE rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
AND rd.ins_discipline_verwijder IS NULL
AND ra.res_artikel_verwijder IS NULL
AND rd.ins_discipline_key = ra.res_discipline_key;
-- Notification view
CREATE OR REPLACE VIEW uwva_v_noti_mailcheck
(
sender,
receiver,
text,
par1,
code,
key,
xkey
)
AS
SELECT '',
prs_perslid_key,
'Controle e-mail van Facilitor voor de beheerders, verstuurd om '
|| TO_CHAR (SYSDATE, 'DD-MM-YYYY HH24:MI'),
SYSDATE,
NULL,
NULL,
NULL
FROM fac_functie f, fac_v_webgebruiker wg
WHERE f.fac_functie_key = wg.fac_functie_key
AND f.fac_functie_code = 'WEB_PRSSYS';
CREATE OR REPLACE VIEW uwva_v_noti_resreminder
(
code,
sender,
receiver,
text,
KEY,
xkey
)
AS
SELECT code,
sender,
receiver,
REPLACE (text, 'Reservering ', 'HERINNERING voor uw reservering '),
KEY,
xkey
FROM fac_v_noti_resreminder;
-- UWVA#12262: 4.70: nieuwe Rapportage lege email adressen resp. geen uwv mail Personen
CREATE OR REPLACE VIEW uwva_v_invalid_email
AS
SELECT pf.prs_perslid_naam_full FCLT_F_Naam,
d.prs_afdeling_naam6 Organisatie,
p.prs_perslid_email email,
p.prs_perslid_telefoonnr Telefoon,
srt_p.prs_srtperslid_omschrijving Functie
FROM PRS_PERSLID p,
prs_v_perslid_fullnames pf,
prs_v_afdeling d,
PRS_SRTPERSLID srt_p
WHERE pf.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL
AND d.prs_afdeling_key = p.prs_afdeling_key
AND srt_p.prs_srtperslid_key = p.prs_srtperslid_key
AND p.prs_perslid_verwijder IS NULL
AND ( (p.prs_perslid_email IS NULL)
OR ( (INSTR (UPPER (p.prs_perslid_email), 'UWV.NL')) = 0))
ORDER BY p.prs_perslid_upper ASC;
-- UWVA#12422
CREATE OR REPLACE VIEW uwva_v_mld_stdmelding
(
fclt_f_vakgroep,
fclt_f_omschrijving,
acceptatietijd_uren,
uitvoertijd_dagen,
kostensoort
)
AS
SELECT td.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
TO_CHAR (sm.mld_stdmelding_t_accepttijd.tijdsduur)
|| sm.mld_stdmelding_t_accepttijd.eenheid,
TO_CHAR (sm.mld_stdmelding_t_uitvoertijd.tijdsduur)
|| sm.mld_stdmelding_t_uitvoertijd.eenheid,
NVL (kss.prs_kostensoort_oms, ksd.prs_kostensoort_oms)
FROM ins_tab_discipline td,
mld_stdmelding sm,
prs_kostensoort kss,
prs_kostensoort ksd
WHERE sm.mld_ins_discipline_key = td.ins_discipline_key
AND td.ins_discipline_verwijder IS NULL
AND td.prs_kostensoort_key = ksd.prs_kostensoort_key(+)
AND sm.prs_kostensoort_key = kss.prs_kostensoort_key(+);
-- UWVA#12460 Overzicht van geautoriseerden voor overige rapportages (WEB_USER<nn>)
CREATE OR REPLACE VIEW uwva_v_overige_rap
(
autorisatiegroep,
rapportage,
omschrijving,
info
)
AS
SELECT g.fac_groep_omschrijving autorisatiegroep,
f.fac_functie_omschrijving rapportage,
ur.fac_usrrap_omschrijving omschrijving,
ur.fac_usrrap_info info
FROM fac_groep g,
fac_groeprechten gr,
fac_functie f,
fac_usrrap ur
WHERE g.fac_groep_key = gr.fac_groep_key
AND gr.fac_functie_key = f.fac_functie_key
AND f.fac_functie_key = ur.fac_functie_key
AND SUBSTR (f.fac_functie_code, 1, 8) = 'WEB_USER'
ORDER BY g.fac_groep_omschrijving,
f.fac_functie_omschrijving,
ur.fac_usrrap_omschrijving;
-- AfterSales afmelden van bestellingen, meldingen en reserveringen.
-- UWVA#21019: ook facturen automatisch accorderen (na 4 weken bij de budgethouder)
CREATE OR REPLACE VIEW uwva_v_export_aftersales (result, result_order)
AS
SELECT '', 0
FROM DUAL
WHERE 1 = 0;
----------------------------------------------------------------------------------
--
-- UWVA#29299: Allemaal cursors voor tracken van anonimisering van MLD/RES/BEZ
-- UWVA#59571: Anonimisering van BEZ aangepast
CREATE OR REPLACE PROCEDURE uwva_aftersales_anonimiseer (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2)
AS
c_txt_anoniem VARCHAR2 (200) := 'Geanonimiseerd';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
h_mld_melding_key NUMBER (10); --hulp-variabele
v_nu DATE;
-- Delete 'BSN' voor spobilo-meldingen >31 dagen oud! (UWVA#19129)
CURSOR c_spobilo
IS
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key
FROM mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd,
mld_kenmerkmelding km, mld_kenmerk k, mld_srtkenmerk sk
WHERE m.mld_melding_datum < SYSDATE - 31
AND m.mld_melding_datum > SYSDATE - 365 --MB toegevoegd tbv performance
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND sd.ins_srtdiscipline_key = 5 -- Spobilo
AND km.mld_kenmerkmelding_verwijder IS NULL
AND m.mld_melding_key = km.mld_melding_key
AND k.mld_kenmerk_verwijder IS NULL
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_key = 105 --BSN
ORDER BY m.mld_melding_key;
CURSOR c_vertaal
IS
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key, km.mld_kenmerk_key
FROM mld_melding m, fac_tracking tr, mld_kenmerkmelding km
WHERE m.mld_stdmelding_key = 1301 -- Vertaalwerk
AND m.mld_melding_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
AND m.mld_melding_key = km.mld_melding_key
AND ((km.mld_kenmerk_key = 701 AND km.mld_kenmerkmelding_waarde != 'Anoniem') -- Naam en niet Anoniem
OR km.mld_kenmerk_key IN (702, 703)) -- Gevalsnummer+BSN
AND tr.fac_tracking_datum < SYSDATE - 60
AND tr.fac_tracking_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
ORDER BY m.mld_melding_key;
CURSOR c_archief_dossier_hulshoff
IS
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key
FROM mld_melding m, fac_tracking tr, mld_kenmerkmelding km
WHERE m.mld_stdmelding_key IN (2, 146, 2961) -- Vraag over archief+Overdracht naar Hulshoff+Verwijderen dossiers
AND m.mld_melding_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
AND m.mld_melding_key = km.mld_melding_key(+)
AND km.mld_kenmerk_key(+) = 2385 -- Te verwijderen dossiers
AND tr.fac_tracking_datum < SYSDATE - 31
AND tr.fac_tracking_datum > SYSDATE - 365 --MB toegevoegd tbv performance
AND NOT EXISTS -- UWVA#60581: Overkill aan tracking!
(SELECT 1
FROM fac_tracking
WHERE fac_srtnotificatie_key = 23 -- MLDUPD
AND fac_tracking_oms = c_txt_anoniem
AND fac_tracking_refkey = m.mld_melding_key)
ORDER BY m.mld_melding_key;
CURSOR c_tolk
IS
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key
FROM mld_melding m, fac_tracking tr, mld_kenmerkmelding km, mld_kenmerk k
WHERE m.mld_stdmelding_key IN (2801, 2802, 2821, 3421, 3422, 3423) -- Tolkdiensten (op UWV locatie+telefonisch+extern)
AND m.mld_melding_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
AND m.mld_melding_key = km.mld_melding_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1500 -- Naam klant
AND tr.fac_tracking_datum < SYSDATE - 31
AND tr.fac_tracking_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
UNION ALL
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key
FROM mld_melding m, fac_tracking tr, mld_kenmerkmelding km, mld_kenmerk k
WHERE m.mld_stdmelding_key = 1721 -- Tolk Nederlandse gebarentaal
AND m.mld_melding_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
AND m.mld_melding_key = km.mld_melding_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 701 -- Naam gesprekspartner UWV
AND tr.fac_tracking_datum < SYSDATE - 31
AND tr.fac_tracking_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
ORDER BY 1;
-- UWVA#55161: Uitbreiding anonimisering met onderstaande MLD/BES-kenmerksoorten!
-- UWVA#61925: Ook kenmerksoort met key=1241 anonimiseren!
-- UWVA#84274: Ook kenmerksoort met key=2501/2502 anonimiseren!
CURSOR c_mld_kenmerksoorten
IS
SELECT DISTINCT m.mld_melding_key
FROM mld_melding m, fac_tracking tr, mld_kenmerkmelding km, mld_kenmerk k
WHERE m.mld_melding_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
AND m.mld_melding_key = km.mld_melding_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key IN (1267, -- Adres
1665, -- Telefoonnummer
1722, -- IBAN
1765, -- Exacte tenaamsteling
1241, -- Contactgegevens
2501, -- Anonimisering klein (60 tekens)
2502) -- Anonimisering groot (200 tekens)
AND tr.fac_tracking_datum < SYSDATE - 31
AND tr.fac_tracking_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
ORDER BY 1;
CURSOR c_bes_kenmerksoorten
IS
SELECT DISTINCT b.bes_bestelling_key
FROM bes_bestelling b, fac_tracking tr, bes_kenmerkbestell kb, bes_kenmerk k
WHERE b.bes_bestelling_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (6, 7) -- BESOTV/BESREJ
AND b.bes_bestelling_key = kb.bes_bestelling_key
AND kb.bes_kenmerk_key = k.bes_kenmerk_key
AND k.bes_srtkenmerk_key IN (4, 5, 8) -- Afgeven bij/Straat huisnummer/Telefoon
AND tr.fac_tracking_datum < SYSDATE - 31
AND tr.fac_tracking_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
ORDER BY 1;
-- Met UWVA#59571 is de opschoning vwb de bezoekers- en afspraakregistratie een stuk vereenvoudigd en daarmee deze cursor ook.
-- Of een BSN gevuld is is niet meer van toepassing, van alle bezoekers meer dan 31 dagen geleden mag er geanonimiseerd/geschoond worden.
-- De bezoekersregistratie zelf laten we wel nog staan ivm tellingen.
CURSOR c_afspraak
IS
SELECT DISTINCT (a.bez_afspraak_key)
FROM bez_afspraak a, bez_bezoekers b
WHERE a.bez_afspraak_key = b.bez_afspraak_key
AND a.bez_afspraak_datum < SYSDATE - 31
AND a.bez_afspraak_datum > SYSDATE - 365;
-- Reserveringen met een gevuld BSN-veld (deze hebben hier geen bezoekers meer met een gevuld BSN-veld)!
CURSOR c_res
IS
SELECT r.res_rsv_ruimte_key, kw.res_kenmerkwaarde_key
FROM res_rsv_ruimte r, res_kenmerkwaarde kw, res_kenmerk k
WHERE r.res_rsv_ruimte_key = kw.res_rsv_ruimte_key
AND kw.res_kenmerk_key = k.res_kenmerk_key
AND k.res_srtkenmerk_key = 3 --BSN
AND r.res_rsv_ruimte_tot < SYSDATE - 31
AND r.res_rsv_ruimte_tot > SYSDATE - 365 --MB toegevoegd tbv performance
ORDER BY res_rsv_ruimte_key;
BEGIN
v_nu := SYSDATE;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR rc IN c_spobilo
LOOP
DELETE FROM mld_kenmerkmelding
WHERE mld_kenmerkmelding_key = rc.mld_kenmerkmelding_key;
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key = 23 -- MLDUPD
AND fac_tracking_refkey = rc.mld_melding_key;
fac.trackaction ('#MLDUPD', rc.mld_melding_key, NULL, v_nu, c_txt_anoniem);
END LOOP;
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
h_mld_melding_key := 0;
FOR rc IN c_vertaal
LOOP
IF h_mld_melding_key <> rc.mld_melding_key
THEN
-- Per vertaalwerk-melding eenmalig tracking toevoegen (en verwijderen), om meervoudige tracking te voorkomen!
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key = 23 -- MLDUPD
AND (UPPER (fac_tracking_oms) LIKE '%BSN%' OR UPPER (fac_tracking_oms) LIKE '%NAAM%')
AND fac_tracking_refkey = rc.mld_melding_key;
fac.trackaction ('#MLDUPD', rc.mld_melding_key, NULL, v_nu, c_txt_anoniem);
END IF;
IF rc.mld_kenmerk_key = 701 -- Naam
THEN
UPDATE mld_kenmerkmelding
SET mld_kenmerkmelding_waarde = 'Anoniem'
WHERE mld_kenmerkmelding_key = rc.mld_kenmerkmelding_key;
END IF;
IF (rc.mld_kenmerk_key = 702 OR rc.mld_kenmerk_key = 703) -- Gevalsnummer of BSN
THEN
DELETE FROM mld_kenmerkmelding
WHERE mld_kenmerkmelding_key = rc.mld_kenmerkmelding_key;
END IF;
h_mld_melding_key := rc.mld_melding_key;
END LOOP;
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Delete/anonimiseer bovenstaande kenmerken ook uit Omschrijving van opdracht! (UWVA#28316)
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU DISABLE';
UPDATE mld_opdr
SET mld_opdr_omschrijving = '[Geanonimiseerd; zie bovenliggende melding voor nog aanwezige gegevens.]'
WHERE COALESCE (mld_opdr_omschrijving, '-') NOT LIKE '[Geanonimiseerd%'
AND mld_melding_key IN
(SELECT mld_melding_key
FROM mld_melding m, fac_tracking tr
WHERE m.mld_stdmelding_key = 1301 -- Vertaalwerk
AND m.mld_melding_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
AND tr.fac_tracking_datum < SYSDATE - 60);
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU ENABLE';
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR rc IN c_archief_dossier_hulshoff
LOOP
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key = 23 -- MLDUPD
AND (UPPER (fac_tracking_oms) LIKE '%BSN%' OR UPPER (fac_tracking_oms) LIKE '%NAAM%')
AND fac_tracking_refkey = rc.mld_melding_key;
fac.trackaction ('#MLDUPD', rc.mld_melding_key, NULL, v_nu, c_txt_anoniem);
-- Delete/anonimiseer Omschrijving van 2-, 146 en 2961-meldingen die >31 dagen geleden zijn afgemeld! (UWVA#29178)
UPDATE mld_melding
SET mld_melding_omschrijving = '[Geanonimiseerd.]',
mld_melding_onderwerp = '[Geanonimiseerd.]'
WHERE COALESCE (TO_CHAR(SUBSTR(mld_melding_omschrijving, 1, 4000)), mld_melding_onderwerp) NOT LIKE '[Geanonimiseerd%'
AND mld_melding_key = rc.mld_melding_key;
-- Delete 'Te verwijderen dossiers' (kenmerk met key=2385).
DELETE FROM mld_kenmerkmelding km
WHERE mld_kenmerkmelding_key = rc.mld_kenmerkmelding_key;
END LOOP;
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Delete/anonimiseer Omschrijving van 2-, 146 en 2961-opdrachten die >31 dagen geleden zijn afgemeld! (UWVA#29178)
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU DISABLE';
UPDATE mld_opdr
SET mld_opdr_omschrijving = '[Geanonimiseerd.]'
WHERE COALESCE (mld_opdr_omschrijving, '-') NOT LIKE '[Geanonimiseerd%'
AND mld_melding_key IN
(SELECT mld_melding_key
FROM mld_melding m, fac_tracking tr
WHERE m.mld_stdmelding_key IN (2, 146, 2961) -- Vraag over archief+Overdracht naar Hulshoff+Verwijderen dossiers
AND m.mld_melding_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
AND tr.fac_tracking_datum < SYSDATE - 31);
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU ENABLE';
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR rc IN c_tolk
LOOP
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key = 23 -- MLDUPD
AND UPPER (fac_tracking_oms) LIKE '%NAAM%'
AND fac_tracking_refkey = rc.mld_melding_key;
fac.trackaction ('#MLDUPD', rc.mld_melding_key, NULL, v_nu, c_txt_anoniem);
-- Delete/anonimiseer Omschrijving <20>n Onderwerp van 3421-, 3422-, 3423-, 1721-meldingen die >31 dagen geleden zijn afgemeld! (UWVA#41825)
-- NIET NODIG VOOR 2801-, 2802-, 2821-MELDINGEN, WANT DIE MELDINGEN HEBBEN GEEN OMSCHRIJVING/ONDERWERP!
UPDATE mld_melding
SET mld_melding_omschrijving = '[Geanonimiseerd.]',
mld_melding_onderwerp = '[Geanonimiseerd.]'
WHERE mld_stdmelding_key IN (3421, 3422, 3423, 1721)
AND COALESCE (TO_CHAR(SUBSTR(mld_melding_omschrijving, 1, 4000)), mld_melding_onderwerp) NOT LIKE '[Geanonimiseerd%'
AND mld_melding_key = rc.mld_melding_key;
-- Delete 'Naam klant' (kenmerksoort met key=1500) of 'Naam gesprekspartner UWV' (kenmerksoort met key=701).
DELETE FROM mld_kenmerkmelding
WHERE mld_kenmerkmelding_key = rc.mld_kenmerkmelding_key;
END LOOP;
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Delete/anonimiseer Omschrijving van 2801-, 2802-, 2821-opdrachten die >31 dagen geleden zijn afgemeld! (UWVA#33073)
-- En ook van 3421-, 3422-, 3423-, 1721-opdrachten! (UWVA#41825)
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU DISABLE';
UPDATE mld_opdr
SET mld_opdr_omschrijving = '[Geanonimiseerd.]'
WHERE COALESCE (mld_opdr_omschrijving, '-') NOT LIKE '[Geanonimiseerd%'
AND mld_melding_key IN
(SELECT mld_melding_key
FROM mld_melding m, fac_tracking tr
WHERE m.mld_stdmelding_key IN (2801, 2802, 2821, 3421, 3422, 3423, 1721) -- Tolkdiensten (op UWV locatie+telefonisch+extern)
AND m.mld_melding_key = tr.fac_tracking_refkey
AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
AND tr.fac_tracking_datum < SYSDATE - 31
AND tr.fac_tracking_datum > TO_DATE ('26062015', 'ddmmyyyy')); -- Per introductie 'Naam klant'!
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU ENABLE';
COMMIT;
-- UWVA#55161: Uitbreiding anonimisering met onderstaande MLD/BES-kenmerksoorten!
------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR rc IN c_mld_kenmerksoorten
LOOP
fac.trackaction ('#MLDUPD', rc.mld_melding_key, NULL, v_nu, c_txt_anoniem);
DELETE FROM mld_kenmerkmelding km -- Inclusief eventueel verwijderde waarden!
WHERE km.mld_melding_key = rc.mld_melding_key
AND EXISTS (SELECT 1
FROM mld_kenmerk
WHERE mld_srtkenmerk_key IN (1267, -- Adres
1665, -- Telefoonnummer
1722, -- IBAN
1765, -- Exacte tenaamsteling
1241, -- Contactgegevens
2501, -- Anonimisering klein (60 tekens)
2502) -- Anonimisering groot (200 tekens)
AND mld_kenmerk_key = km.mld_kenmerk_key);
END LOOP;
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR rc IN c_bes_kenmerksoorten
LOOP
fac.trackaction ('#BESUPD', rc.bes_bestelling_key, NULL, v_nu, c_txt_anoniem);
DELETE FROM bes_kenmerkbestell kb -- Inclusief eventueel verwijderde waarden!
WHERE kb.bes_bestelling_key = rc.bes_bestelling_key
AND EXISTS (SELECT 1
FROM bes_kenmerk
WHERE bes_srtkenmerk_key IN (4, 5, 8) -- Afgeven bij/Straat huisnummer/Telefoon
AND bes_kenmerk_key = kb.bes_kenmerk_key);
END LOOP;
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR rc IN c_afspraak
LOOP
-- Anonimiseren van alle bezoekersregistratie > 31 dagen oud en verwijderen tracking (UWVA#59571)
DELETE FROM bez_kenmerkwaarde kw
WHERE EXISTS
(SELECT 1
FROM bez_bezoekers
WHERE bez_bezoekers_key = kw.bez_bezoekers_key
AND bez_afspraak_key = rc.bez_afspraak_key);
-- UWVA#30245: Anonimiseren bez_bezoekers.bez_bezoekers_opmerking hoeft
-- niet, want bevat geen vertrouwelijke info!
-- Anonimiseer gegevens per bezoeker van afspraken >31 dagen oud (bij bezoeker of reservering)
-- Met UWVA#59571 moeten bepaalde bezoekersregistraties (KZ) naar 'Anoniem', anderen naar 'Bezoeker'
-- Dat gaat via eigen tabel 'KZ-klant zone' waarin de betreffende activiteit-key staat van de KZ activiteiten (die wijzigen minder vaak)
UPDATE bez_bezoekers
SET bez_afspraak_naam = 'Anoniem', bez_afspraak_bedrijf = NULL
WHERE bez_afspraak_key = rc.bez_afspraak_key
AND bez_afspraak_key IN
(SELECT a2.bez_afspraak_key
FROM fac_usrdata ud,
bez_afspraak a2,
res_rsv_ruimte r
WHERE r.res_activiteit_key =
fac.safe_to_number (ud.fac_usrdata_code)
AND a2.res_rsv_ruimte_key =
r.res_rsv_ruimte_key
AND ud.fac_usrdata_verwijder IS NULL
AND ud.fac_usrtab_key = 1663); -- Eigen tabel Klantzone
UPDATE bez_bezoekers
SET bez_afspraak_naam = 'Bezoeker', bez_afspraak_bedrijf = NULL
WHERE bez_afspraak_key = rc.bez_afspraak_key
AND bez_afspraak_key NOT IN
(SELECT a2.bez_afspraak_key
FROM fac_usrdata ud,
bez_afspraak a2,
res_rsv_ruimte r
WHERE r.res_activiteit_key =
fac.safe_to_number (ud.fac_usrdata_code)
AND a2.res_rsv_ruimte_key =
r.res_rsv_ruimte_key
AND ud.fac_usrdata_verwijder IS NULL
AND ud.fac_usrtab_key = 1663); -- Eigen tabel Klantzone
-- Verwijder opmerking van afspraken >31 dagen oud met BSN (bij bezoeker of reservering)
UPDATE bez_afspraak
SET bez_afspraak_opmerking = NULL
WHERE bez_afspraak_key = rc.bez_afspraak_key;
-- Met UWVA#59571 moeten de reserveringsopmerkingen ook leeg worden gemaakt voor de kz-reserveringen.
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_opmerking = NULL
WHERE res_rsv_ruimte_key IN
(SELECT r.res_rsv_ruimte_key
FROM fac_usrdata ud, bez_afspraak a2, res_rsv_ruimte r
WHERE r.res_activiteit_key =
fac.safe_to_number (ud.fac_usrdata_code)
AND a2.res_rsv_ruimte_key = r.res_rsv_ruimte_key
AND a2.bez_afspraak_key = rc.bez_afspraak_key
AND ud.fac_usrdata_verwijder IS NULL
AND ud.fac_usrtab_key = 1663);
DELETE FROM fac_tracking
WHERE fac_tracking_key IN
(SELECT t.fac_tracking_key
FROM fac_srtnotificatie sn,
fac_tracking t,
bez_bezoekers b,
bez_afspraak a
WHERE t.fac_srtnotificatie_key =
sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode =
'bezoeker'
AND t.fac_tracking_refkey =
b.bez_bezoekers_key
AND b.bez_afspraak_key = a.bez_afspraak_key
AND t.fac_tracking_refkey =
rc.bez_afspraak_key);
DELETE FROM fac_tracking
WHERE fac_tracking_key IN
(SELECT t.fac_tracking_key
FROM fac_srtnotificatie sn,
fac_tracking t,
bez_afspraak a
WHERE t.fac_srtnotificatie_key =
sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode =
'afspraak'
AND t.fac_tracking_refkey =
a.bez_afspraak_key
AND t.fac_tracking_refkey =
rc.bez_afspraak_key);
END LOOP;
COMMIT;
------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR rc IN c_res
LOOP
-- Cursor bevat reserveringen met BSN die moeten worden geanonimiseerd.
-- Delete 'BSN' voor alle reserveringen >31 dagen oud (dus met BSN)
-- Per UWVA#29469 ongeacht activiteitkey!
DELETE FROM res_kenmerkwaarde
WHERE res_kenmerkwaarde_key = rc.res_kenmerkwaarde_key;
-- Verwijder opmerking van alle reserveringen >31 dagen oud met BSN
-- Per UWVA#29469 ongeacht activiteitkey!
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_opmerking = NULL
WHERE res_rsv_ruimte_key = rc.res_rsv_ruimte_key;
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key = 31 -- RESUPD
AND UPPER (fac_tracking_oms) LIKE '%BSN%'
AND fac_tracking_refkey = rc.res_rsv_ruimte_key;
fac.trackaction ('#RESUPD', rc.res_rsv_ruimte_key, NULL, v_nu, c_txt_anoniem);
/* Hoeft niet meer; gebeurt in c_afspraak-loop!
-- BEZ-afspraken bij reservering ook anonimiseren; is er gerelateerde afspraak?
IF rc.bez_afspraak_key IS NOT NULL
THEN
-- Ja dus, er is een afspraak bij reservering!
-- Verwijder opmerking van afspraken bij reserveringen >31 dagen oud met BSN
-- Per UWVA#29469 ongeacht activiteitkey!
UPDATE bez_afspraak
SET bez_afspraak_opmerking = NULL
WHERE bez_afspraak_key = rc.bez_afspraak_key;
-- Anonimiseer gegevens per bezoeker bij reserveringen >31 dagen oud met BSN
-- Per UWVA#29469 ongeacht activiteitkey!
UPDATE bez_bezoekers
SET bez_afspraak_naam = 'Anoniem',
bez_afspraak_bedrijf = 'Anoniem'
WHERE bez_afspraak_key = rc.bez_afspraak_key;
fac.trackaction ('#BEZUPD', rc.bez_afspraak_key, NULL, v_nu, c_txt_anoniem);
END IF;
*/
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
-- Op verzoek van JGL voor de zekerheid toegevoegd!
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU ENABLE';
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname, 'E', 'Sub-proces ANONIMISEER afgebroken!', v_errormsg);
COMMIT;
END;
/
CREATE OR REPLACE PROCEDURE uwva_export_aftersales (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2)
AS
-- De bestelopdrachten die ik als compleet geleverd veronderstel,
-- die zouden in principe meer werkdagen geleden geleverd zijn dan
-- de 'notidagen' van de catalogus aangeeft.
CURSOR cbopi
IS
SELECT boi.bes_bestelopdr_item_key, bo.bes_bestelopdr_key
FROM bes_bestelopdr bo,
bes_bestelopdr_item boi,
bes_bestelling_item bi,
bes_bestelling b,
bes_srtdeel sd,
bes_srtgroep sg,
bes_disc_params bdp
WHERE bo.bes_bestelopdr_status = 4 -- In bestelling
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
AND bi.bes_bestelling_key = b.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = bdp.bes_ins_discipline_key
AND bdp.bes_disc_params_noti_dagen IS NOT NULL
AND (b.bes_bestelling_leverdatum IS NULL
OR fac.datumtijdplusuitvoertijd (
b.bes_bestelling_leverdatum,
bdp.bes_disc_params_noti_dagen,
'DAGEN') < SYSDATE);
-- Alle bestelaanvragen die (nu) geheel geleverd zijn sluiten we af.
CURSOR cbesi
IS
SELECT bi.bes_bestelling_item_key, b.bes_bestelling_key
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_bestelopdr_item boi
WHERE b.bes_bestelling_status = 5 -- Besteld
AND b.bes_bestelling_key = bi.bes_bestelling_key
--AND bi.bes_bestelling_item_aantal <>
-- NVL (bi.bes_bestelling_item_aantalontv, 0)
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_item_aantal =
boi.bes_bestelopdr_item_aantalontv;
-- Alle meldingen die nu wel klaar mogen zijn, x kalender(!)dagen na de
-- geplande einddatum.
-- Dit was in 4i x werkdagen (waarden 0,1,2,3, dus laag > kalenderdagen
-- benadert beste).
-- UWVA#17854 vraagt dit te baseren op de datum van de open opdrachten als
-- die daarbij zijn.
CURSOR copdr -- nu te sluiten opdrachten
IS
SELECT o.mld_opdr_key, o.mld_melding_key
FROM mld_opdr o,
mld_melding m,
mld_stdmelding std,
mld_disc_params mdp
WHERE o.mld_statusopdr_key NOT IN (1, 6, 7, 9) -- vervallen/gesloten
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = mdp.mld_ins_discipline_key
AND mdp.mld_disc_params_noti_dagen IS NOT NULL
AND o.mld_opdr_einddatum + mdp.mld_disc_params_noti_dagen + 1 <
SYSDATE;
CURSOR cmld -- nu te sluiten meldingen, maar alleen ZONDER OPEN OPDRACHTEN
IS
SELECT m.mld_melding_key, m.mld_melding_status
FROM mld_melding m, mld_stdmelding std, mld_disc_params mdp
WHERE m.mld_melding_status NOT IN (1, 5, 6) -- nog niet al klaar!
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = mdp.mld_ins_discipline_key
AND mdp.mld_disc_params_noti_dagen IS NOT NULL
AND m.mld_melding_einddatum + mdp.mld_disc_params_noti_dagen + 1 <
SYSDATE
AND NOT EXISTS
(SELECT ''
FROM mld_opdr o
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_statusopdr_key NOT IN (1, 6, 7, 9));
CURSOR cart
IS
SELECT '[' || TO_CHAR (ra.res_rsv_ruimte_key) || '/' || TO_CHAR (ra.res_rsv_artikel_key) || '] ' aanduiding,
ra.res_rsv_ruimte_key,
ra.res_rsv_artikel_key,
ra.res_artikel_key
FROM res_rsv_artikel ra
WHERE ra.res_status_bo_key = 2
AND ra.res_rsv_artikel_dirtlevel = 0
AND ra.res_rsv_artikel_verwijder IS NULL
AND fac.count_work_days (ra.res_rsv_artikel_levering, SYSDATE) > 2;
-- UWVA#80789: Afmelden WP-reserveringen na 1 werkdag (ipv. 3 werkdagen)!
CURSOR cobj
IS
SELECT '[' || TO_CHAR (rd.res_rsv_ruimte_key) || '/' || TO_CHAR (rd.res_rsv_deel_key) || '] ' aanduiding,
rd.res_rsv_ruimte_key,
rd.res_rsv_deel_key
FROM res_rsv_deel rd, res_rsv_ruimte rr
WHERE rd.res_rsv_deel_verwijder IS NULL
AND rd.res_rsv_deel_dirtlevel = 0
AND rd.res_status_bo_key = 2
--AND rd.res_rsv_ruimte_key IS NOT NULL -- Geen parkeerplaatsen
AND rd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND fac.count_work_days (rd.res_rsv_deel_tot, SYSDATE) > DECODE (rr.res_activiteit_key, 501, 0, 2);
CURSOR cres
IS
SELECT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] ' aanduiding,
rrr.res_rsv_ruimte_key
FROM res_rsv_ruimte rrr
WHERE rrr.res_rsv_ruimte_verwijder IS NULL
AND rrr.res_rsv_ruimte_dirtlevel = 0
AND rrr.res_status_bo_key = 2
AND rrr.res_ruimte_opstel_key IS NOT NULL -- Geen "roomservice"
AND fac.count_work_days (rrr.res_rsv_ruimte_tot, SYSDATE) > 2;
-- Facturen die al 4 weken bij de budgethouder liggen,
-- maar nog steeds niet zijn goedgekeurd --> akkoord verklaren.
CURSOR cfact
IS
SELECT *
FROM fin_factuur f
WHERE f.fin_factuur_statuses_key = 2
AND f.fin_factuur_verwijder IS NULL
AND ( f.bes_bestelopdr_key IS NOT NULL
OR f.mld_opdr_key IS NOT NULL
OR f.cnt_contract_key IS NOT NULL)
AND f.fin_factuur_datum < SYSDATE - 28; -- meer dan 4 weken (28 dagen) geleden
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_prijs NUMBER (9, 2);
BEGIN
FOR r IN cbopi
LOOP
-- Zeg dat alles geleverd is wat besteld is.
UPDATE bes_bestelopdr_item
SET bes_bestelopdr_item_aantalontv = bes_bestelopdr_item_aantal
WHERE bes_bestelopdr_item_key = r.bes_bestelopdr_item_key;
bes.updatebestelopdrstatus (r.bes_bestelopdr_key, NULL);
END LOOP;
FOR r IN cbesi
LOOP
-- Sluit alle aanvraagregels af die nu geheel geleverd zijn.
UPDATE bes_bestelling_item
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
WHERE bes_bestelling_item_key = r.bes_bestelling_item_key;
bes.updatebestellingstatus (r.bes_bestelling_key, NULL);
END LOOP;
COMMIT;
FOR r IN copdr
LOOP
mld.setopdrachtstatus (r.mld_opdr_key, 6, NULL);
-- Actualiseer nu de meldingstatus. Intuitief zou je kunnen denken
-- dat je juist wel closeit zou moeten meegegeven, maar er is een
-- verschil met de loop erna, die naar de eindtijd kijkt.
mld.updatemeldingstatus (r.mld_melding_key, 0, NULL);
END LOOP;
-- Merk op: door de loop hiervoor zijn opdrachten gesloten waardoor
-- meldingen hierna aan het criterium voldoen.
FOR r IN cmld
LOOP
-- Overgang van Ingezien naar Afgemeld is niet mogelijk, daarom eerst
-- accepteren!
IF (r.mld_melding_status = 3) -- Ingezien
THEN
MLD.setmeldingstatus (r.mld_melding_key, 4, NULL); -- Geaccepteerd
END IF;
mld.setmeldingstatus (r.mld_melding_key, 5, NULL); -- Afgemeld
END LOOP;
COMMIT;
-- UWVA#21428 - Per 2012 (28/12 om precies te zijn worden ook R-artikelen +
-- R-delen automatisch afgemeld!
FOR rc IN cart
LOOP
BEGIN
v_errorhint := 'Fout bij bepalen res_rsv_artikel_prijs.';
SELECT res.getartikelprijs (rc.res_rsv_artikel_key)
INTO v_prijs
FROM DUAL;
v_errorhint := 'Fout bij bijwerken res_rsv_artikel_prijs.';
UPDATE res_rsv_artikel
SET res_status_bo_key = 5,
res_rsv_artikel_prijs = v_prijs,
res_rsv_artikel_inkoopprijs =
(SELECT res_artikel_inkoopprijs
FROM res_artikel
WHERE res_artikel_key = rc.res_artikel_key),
res_rsv_artikel_btw =
(SELECT res_artikel_btw
FROM res_artikel
WHERE res_artikel_key = rc.res_artikel_key)
WHERE res_rsv_artikel_key = rc.res_rsv_artikel_key;
fac.trackaction ('RESAFM', rc.res_rsv_ruimte_key, NULL, NULL, 'Catering afgemeld');
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname, 'W', rc.aanduiding || v_errormsg, v_errorhint);
COMMIT;
END;
END LOOP;
COMMIT;
FOR rc IN cobj
LOOP
BEGIN
v_errorhint := 'Fout bij bepalen res_rsv_deel_prijs.';
SELECT res.getdeelprijs (rc.res_rsv_deel_key) INTO v_prijs FROM DUAL;
v_errorhint := 'Fout bij bijwerken res_rsv_deel_prijs.';
UPDATE res_rsv_deel
SET res_status_bo_key = 5, res_rsv_deel_prijs = v_prijs
WHERE res_rsv_deel_key = rc.res_rsv_deel_key;
fac.trackaction ('RESAFM', rc.res_rsv_ruimte_key, NULL, NULL, 'Voorziening(en) afgemeld');
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname, 'W', rc.aanduiding || v_errormsg, v_errorhint);
COMMIT;
END;
END LOOP;
COMMIT;
FOR rc IN cres
LOOP
BEGIN
v_errorhint := 'Fout bij bepalen res_rsv_ruimte_prijs.';
SELECT res.getruimteprijs (rc.res_rsv_ruimte_key)
INTO v_prijs
FROM DUAL;
v_errorhint := 'Fout bij bijwerken res_rsv_ruimte_prijs.';
UPDATE res_rsv_ruimte
SET res_status_bo_key = 5, res_rsv_ruimte_prijs = v_prijs
WHERE res_rsv_ruimte_key = rc.res_rsv_ruimte_key;
fac.trackaction ('RESAFM', rc.res_rsv_ruimte_key, NULL, NULL, NULL);
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname, 'W', rc.aanduiding || v_errormsg, v_errorhint);
COMMIT;
END;
END LOOP;
COMMIT;
FOR r IN cfact
LOOP
-- Fiatteer factuur
-- (zet status 6. Geen userkey, zodat blijkt dat dit automagisch gedaan is)
fin.setfactuurstatus (r.fin_factuur_key, 6, NULL);
END LOOP;
COMMIT;
-- Alle anonimiseer-zaken verlopen via procedure uwva_aftersales_anonimiseer.
-------------------------------------------------------------------------------
uwva_aftersales_anonimiseer (p_applname,
p_applrun,
p_filedir,
p_filename);
-------------------------------------------------------------------------------
-- UWVA#29757 FlexWhere: De reserveringen van gisteren van AMSG3 (22,23 verdieping) op no-show zetten.
-------------------------------------------------------------------------------
uwva_res_sensor_noshow (p_applname,
p_applrun,
p_filedir,
p_filename);
-------------------------------------------------------------------------------
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname,
'E',
'Proces AFTERSALES afgebroken!',
v_errormsg);
COMMIT;
END;
/
-- UWVA#35039: Handmatig <20>n direct te starten KOS-procedure!
CREATE OR REPLACE VIEW uwva_v_export_kos (result, result_order)
AS
SELECT fac_rapport_regel, fac_rapport_volgnr
FROM fac_rapport
WHERE fac_rapport_node = SUBSTR ('KOS', 1, 12);
CREATE OR REPLACE PROCEDURE uwva_select_kos (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
CURSOR c
IS
SELECT a.bez_afspraak_key,
rrr.res_rsv_ruimte_key,
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
resnr,
rr.res_ruimte_nr resruimte,
rrr.res_rsv_ruimte_van van,
ac.bez_actie_key
FROM bez_afspraak a,
res_rsv_ruimte rrr,
res_ruimte_opstelling ro,
res_ruimte rr,
bez_actie ac
WHERE a.bez_afspraak_datum > TRUNC (SYSDATE)
AND a.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
AND rr.bez_actie_key = ac.bez_actie_key
AND BITAND (ac.bez_actie_flags, 1) = 1
AND (a.bez_actie_key != ac.bez_actie_key
OR a.bez_actie_key IS NULL)
ORDER BY 1;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (255);
v_rownr NUMBER := 0;
v_count NUMBER;
PROCEDURE add_row (p_regel IN VARCHAR2)
AS
BEGIN
INSERT INTO fac_rapport (fac_rapport_node,
fac_rapport_volgnr,
fac_rapport_regel)
VALUES (SUBSTR (p_applname, 1, 12), v_rownr, p_regel);
v_rownr := v_rownr + 1;
END;
PROCEDURE add_element (p_tag IN VARCHAR2, p_value IN VARCHAR2)
AS
BEGIN
add_row( '<'
|| p_tag
|| '>'
|| xml.char_to_html (p_value)
|| '</'
|| p_tag
|| '>');
END;
BEGIN
DELETE fac_rapport
WHERE fac_rapport_node = SUBSTR (p_applname, 1, 12);
COMMIT;
add_row ('<kos>');
FOR r IN c
LOOP
BEGIN
v_aanduiding :=
'Afspraak '
|| r.bez_afspraak_key
|| ' op '
|| TO_CHAR (r.van, 'dd-mm-yyyy hh24:mi')
|| ' bij '
|| r.resnr
|| ' ('
|| r.res_rsv_ruimte_key
|| ') in '
|| r.resruimte;
v_errormsg := 'Fout bijwerken bez_actie bij bez_afspraak';
UPDATE bez_afspraak
SET bez_actie_key = r.bez_actie_key
WHERE bez_afspraak_key = r.bez_afspraak_key;
fac.writelog (p_applname,
'I',
v_aanduiding,
'');
add_element ('log', v_aanduiding);
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname,
'E',
v_errormsg,
v_aanduiding);
END;
END LOOP;
COMMIT;
-- Alle res_ruimte zonder default-actie de default-actie toekennen.
SELECT COUNT ( * )
INTO v_count
FROM res_ruimte
WHERE bez_actie_key IS NULL;
UPDATE res_ruimte
SET bez_actie_key = 5
WHERE bez_actie_key IS NULL;
add_element (
'log',
'Aantal reserveerbare ruimten zonder actie: ' || TO_CHAR (v_count));
-- Alle toekomstige bez_afspraak zonder actie de default-actie toekennen.
SELECT COUNT ( * )
INTO v_count
FROM bez_afspraak
WHERE bez_afspraak_datum > TRUNC (SYSDATE) AND bez_actie_key IS NULL;
UPDATE bez_afspraak
SET bez_actie_key = 5
WHERE bez_afspraak_datum > TRUNC (SYSDATE) AND bez_actie_key IS NULL;
add_element (
'log',
'Aantal toekomstige afspraken zonder actie: ' || TO_CHAR (v_count));
add_row ('</kos>');
COMMIT;
END;
/
CREATE OR REPLACE VIEW uwva_v_imp_log
(
fclt_f_applicatie,
datum,
fclt_f_status,
omschrijving,
hint
)
AS
SELECT COALESCE (fac_import_app_code, imp_log_applicatie),
imp_log_datum,
imp_log_status,
imp_log_omschrijving,
imp_log_hint
FROM imp_log il, fac_import fi, fac_import_app fia
WHERE il.fac_import_key = fi.fac_import_key(+)
AND fi.fac_import_app_key = fia.fac_import_app_key(+);
-- UWVA#30547: Deze personen niet meer exporteren:
-- - autorisatiegroepen Budgethouder en Medewerker
-- - medewerkertype M (Techniek en Uitvoerenden) en L (Leverancier)
-- fac_groep Budgethouder 1061
-- fac_groep Medewerker 1601
-- fac_groep _Default 241
-- prs_kenmerk Type Medewerker 1040
-- fac_usrtab Type_medewerker 301
CREATE OR REPLACE VIEW uwva_v_export_cpua
(
result,
result_order
)
AS
SELECT Systeem
|| ';'
|| SysOmschr
|| ';'
|| Account_id
|| ';'
|| AutOmschr
|| ';'
|| Autorisatie_id
|| ';'
|| VolNaamMedew
|| ';'
|| VoornaamMedew
|| ';'
|| AchternaamMedew
|| ';'
|| VoorletterMedew
|| ';'
|| WnrMedew
|| ';'
|| Userid_KA
|| ';'
|| KstnpltsMedew
|| ';'
|| LastLogon
|| ';'
|| Status_account
result,
Account_Id result_order
FROM (SELECT 'Facilitor' Systeem,
'Facilitair Management Informatie Systeem' SysOmschr,
prs_perslid_oslogin Account_id,
fac_groep_omschrijving AutOmschr,
g.fac_groep_key Autorisatie_id,
prs_perslid_naam_full VolNaamMedew,
prs_perslid_voornaam VoornaamMedew,
prs_perslid_naam AchternaamMedew,
prs_perslid_voorletters VoorletterMedew,
prs_perslid_nr WnrMedew,
prs_perslid_oslogin Userid_KA,
prs_afdeling_naam KstnpltsMedew,
TO_CHAR (prs_perslid_login, 'yyyymmddhh24mi') LastLogon,
DECODE (prs_perslid_verwijder, NULL, 'A', 'B')
Status_account
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
prs_afdeling a,
fac_gebruikersgroep gg,
fac_groep g,
(SELECT *
FROM prs_kenmerklink kl
WHERE prs_kenmerk_key = 1040
AND prs_kenmerklink_verwijder IS NULL) km,
(SELECT *
FROM fac_usrdata
WHERE fac_usrtab_key = 301
AND fac_usrdata_verwijder IS NULL) ud
WHERE p.prs_perslid_key = pf.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND p.prs_perslid_key = gg.prs_perslid_key
AND gg.fac_groep_key = g.fac_groep_key
AND p.prs_perslid_oslogin IS NOT NULL
AND g.fac_groep_key NOT IN (241, 1061, 1601)
AND km.prs_link_key(+) = p.prs_perslid_key
AND ud.fac_usrdata_key(+) =
fac.safe_to_number (km.prs_kenmerklink_waarde)
AND COALESCE (ud.fac_usrdata_upper, 'nix') NOT IN
('M', 'L'));
CREATE OR REPLACE VIEW uwva_v_rap_bedrijfinfo
(
bedrijfsnaam,
bezoekadres,
plaats,
email,
l,
u,
c,
h
)
AS
SELECT prs_bedrijf_naam,
prs_bedrijf_bezoek_adres,
prs_bedrijf_bezoek_plaats,
prs_bedrijf_email,
prs_bedrijf_leverancier l,
prs_bedrijf_uitvoerende u,
prs_bedrijf_contract c,
prs_bedrijf_huurder h
FROM prs_v_aanwezigbedrijf;
CREATE OR REPLACE VIEW uwva_v_kenmerkwaarden
(
cnt_contract_key,
cnt_srtkenmerk_upper,
cnt_kenmerkcontract_waarde,
ins_discipline_key
)
AS
SELECT kc.cnt_contract_key,
t.cnt_srtkenmerk_upper,
kc.cnt_kenmerkcontract_waarde,
s.ins_discipline_key
FROM cnt_srtkenmerk t,
cnt_kenmerkcontract kc,
cnt_discipline s,
cnt_kenmerk k,
fac_kenmerkdomein r
WHERE 1 = 1
AND k.cnt_srtcontract_key = s.ins_discipline_key
AND k.cnt_kenmerk_verwijder IS NULL
AND k.cnt_srtkenmerk_key = t.cnt_srtkenmerk_key
AND t.cnt_srtkenmerk_verwijder IS NULL
AND t.fac_kenmerkdomein_key = r.fac_kenmerkdomein_key(+)
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND kc.cnt_kenmerkcontract_verwijder IS NULL
ORDER BY k.cnt_kenmerk_volgnummer, t.cnt_srtkenmerk_omschrijving;
-- UWVA#14205
CREATE OR REPLACE VIEW uwva_v_bes_retouren
(
hide_f_descend,
fclt_f_retourdatum,
retournr,
aanvraag,
fclt_f_besteller,
aantal,
fclt_f_artikelnr,
artikelomschrijving,
bedrag,
reden,
fclt_f_status,
fclt_f_ophaaladres,
fclt_3d_discipline_key
)
AS
SELECT -b.bes_bestelling_key hide_f_descend,
TO_CHAR (b.bes_bestelling_datum, 'YYYY-MM-DD') fclt_f_retourdatum,
'A-' || b.bes_bestelling_key retournr,
'A-' || bes_bestelling_retourvan_key aanvraag,
p.prs_perslid_naam
|| DECODE (NVL (p.prs_perslid_voorletters, ''),
'', '',
', ' || p.prs_perslid_voorletters)
|| DECODE (NVL (p.prs_perslid_tussenvoegsel, ''),
'', '',
' ' || p.prs_perslid_tussenvoegsel)
|| DECODE (NVL (p.prs_perslid_voornaam, ''),
'', '',
' (' || p.prs_perslid_voornaam || ')')
fclt_f_besteller,
i.bes_bestelling_item_aantal aantal,
sd.bes_srtdeel_nr fclt_f_artikelnr,
sd.bes_srtdeel_omschrijving artikelomschrijving,
i.bes_bestelling_item_aantal * i.bes_bestelling_item_prijs bedrag,
bes_bestelling_opmerking reden,
(CASE b.bes_bestelling_status
WHEN 6 THEN 'Opgehaald'
WHEN 5 THEN 'Gemeld'
ELSE s.bes_bestellingstatuses_omschr
END)
fclt_f_status,
m.mld_adres_naam fclt_f_ophaaladres,
sg.ins_discipline_key fclt_3d_discipline_key
FROM bes_bestelling b,
bes_bestelling_item i,
bes_bestellingstatuses s,
bes_srtdeel sd,
bes_srtgroep sg,
prs_perslid p,
mld_adres m
WHERE b.mld_adres_key_lev = m.mld_adres_key
AND b.bes_bestelling_key = i.bes_bestelling_key
AND i.bes_srtdeel_key = sd.bes_srtdeel_key
AND b.fac_activiteit_key IS NULL
AND p.prs_perslid_key = b.prs_perslid_key
AND b.bes_bestelling_retourvan_key IS NOT NULL
AND b.bes_bestelling_status = s.bes_bestellingstatuses_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key;
-- UWVA#14466
CREATE OR REPLACE VIEW uwva_v_rap_ruimte_verpl
(
locatie_code,
adres,
plaats,
fclt_f_gebouw_code,
fclt_f_verdieping_code,
fclt_f_ruimte_nr,
ruimte_omschrijving,
reserveerbaar,
aant_wp,
aant_res,
aant_mld,
aant_ins
)
AS
SELECT l.alg_locatie_code,
l.alg_locatie_adres,
l.alg_locatie_plaats,
g.alg_gebouw_code,
v.alg_verdieping_code,
rr.alg_ruimte_nr,
rr.alg_ruimte_omschrijving,
DECODE (aantal_rsv, 0, NULL, 'J') reserveerbaar,
aantal_wp,
aantal_res,
aantal_mld,
aantal_ins
FROM (SELECT alg_ruimte_nr,
alg_ruimte_omschrijving,
alg_verdieping_key,
(SELECT COUNT ( * )
FROM prs_werkplek
WHERE prs_werkplek.prs_alg_ruimte_key = r.alg_ruimte_key)
aantal_wp,
(SELECT COUNT ( * )
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_verwijder IS NULL
AND res_rsv_ruimte.alg_ruimte_key = r.alg_ruimte_key)
aantal_res,
(SELECT COUNT ( * )
FROM mld_melding
WHERE mld_alg_onroerendgoed_keys = r.alg_ruimte_key
AND mld_melding_status NOT IN (1, 5, 6))
aantal_mld,
(SELECT COUNT ( * )
FROM ins_deel
WHERE ins_deel_verwijder IS NULL
AND ins_alg_ruimte_type = 'R'
AND ins_alg_ruimte_key = r.alg_ruimte_key)
aantal_ins,
(SELECT COUNT ( * )
FROM res_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
AND res_alg_ruimte_key = r.alg_ruimte_key)
aantal_rsv
FROM alg_v_aanwezigruimte r
WHERE alg_ruimte_bruto_vloeropp IS NULL
AND alg_ruimte_nr <> '000') rr,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE rr.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND COALESCE (g.alg_gebouw_vervaldatum, SYSDATE) > TRUNC (SYSDATE)
AND g.alg_locatie_key = l.alg_locatie_key
ORDER BY l.alg_locatie_upper ASC,
g.alg_gebouw_upper ASC,
v.alg_verdieping_volgnr ASC,
rr.alg_ruimte_nr ASC;
-- View die de verplichtingen op een gebouw/verdieping/ruimte weergeeft
-- Verplichtingen worden gedefinieerd als relaties die het ontmantelen,
-- d.i. het zetten van alg_gebouw_verwijder/alg_verdieping_verwijder/alg_ruimte_verwijder,
-- kunnen beletten of althans daar een rol in spelen; moeten weggemanaged worden.
CREATE OR REPLACE VIEW UWVA_V_ONRGOED_VERPLICHTING
(
ALG_GEBOUW_KEY,
ALG_VERDIEPING_KEY,
ALG_RUIMTE_KEY,
FAC_MESSAGE_CODE,
ITEM,
ITEM_KEY,
LOCATIE_KEY
)
AS
SELECT og.alg_gebouw_key,
og.alg_verdieping_key,
og.alg_ruimte_key,
'ALG_OPENST_MELDING',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd,
ins_tab_discipline ID,
mld_stdmelding std
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = ID.ins_discipline_key)
|| TO_CHAR (m.mld_melding_key),
m.mld_melding_key,
m.mld_alg_locatie_key
FROM mld_melding m, alg_v_allonroerendgoed og
WHERE m.mld_melding_status IN (2, 3, 4, 7)
AND m.mld_alg_onroerendgoed_keys <> 0
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
UNION
SELECT og.alg_gebouw_key,
og.alg_verdieping_key,
og.alg_ruimte_key,
'ALG_BEVAT_OBJECT',
ins_deel_omschrijving,
ins_deel_key,
d.ins_alg_locatie_key
FROM ins_v_aanwezigdeel d,
ins_tab_discipline ID,
alg_v_allonroerendgoed og
WHERE d.ins_alg_ruimte_key = og.alg_onroerendgoed_keys
AND ID.ins_discipline_key = d.ins_discipline_key
AND ID.ins_discipline_min_level <> 3
UNION
SELECT rg.alg_gebouw_key,
rg.alg_verdieping_key,
rg.alg_ruimte_key,
'ALG_OPENST_RES',
TO_CHAR (r.res_reservering_key) || ' (' || COUNT ( * ) || ')',
r.res_reservering_key,
rg.alg_locatie_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_v_alg_ruimte_gegevens rg
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
GROUP BY rg.alg_gebouw_key,
rg.alg_verdieping_key,
rg.alg_ruimte_key,
'PRS_OPENST_RES',
r.res_reservering_key,
rg.alg_locatie_key
UNION
SELECT rg.alg_gebouw_key,
rg.alg_verdieping_key,
rg.alg_ruimte_key,
'ALG_OPENST_RES_V',
TO_CHAR (r.res_reservering_key) || '/' || COUNT ( * ),
r.res_reservering_key,
rg.alg_locatie_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_deel rd,
res_v_alg_ruimte_gegevens rg,
res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
GROUP BY rg.alg_gebouw_key,
rg.alg_verdieping_key,
rg.alg_ruimte_key,
'ALG_OPENST_RES_V',
r.res_reservering_key,
rg.alg_locatie_key
UNION
SELECT rg.alg_gebouw_key,
rg.alg_verdieping_key,
rg.alg_ruimte_key,
'ALG_OPENST_RES_V',
TO_CHAR (r.res_reservering_key) || '/' || COUNT ( * ),
r.res_reservering_key,
rg.alg_locatie_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_artikel ra,
res_v_alg_ruimte_gegevens rg,
res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
GROUP BY rg.alg_gebouw_key,
rg.alg_verdieping_key,
rg.alg_ruimte_key,
'ALG_OPENST_RES_V',
r.res_reservering_key,
rg.alg_locatie_key
UNION
SELECT og.alg_gebouw_key,
og.alg_verdieping_key,
og.alg_ruimte_key,
'ALG_TOEK_AFSPRAAK',
TO_CHAR (a.bez_afspraak_key)
|| ' ('
|| TO_CHAR (a.bez_afspraak_datum, 'DD-MM-YYYY')
|| ')',
a.bez_afspraak_key,
a.alg_locatie_key
FROM bez_afspraak a, alg_v_allonroerendgoed og
WHERE a.alg_onrgoed_keys = og.alg_onroerendgoed_keys
AND a.bez_afspraak_datum > SYSDATE
UNION
SELECT og.alg_gebouw_key,
og.alg_verdieping_key,
og.alg_ruimte_key,
'ALG_OPEN_CONTRACT',
TO_CHAR (cp.cnt_contract_key),
cp.cnt_contract_key,
og.alg_locatie_key
FROM cnt_v_aanwezigcontract_plaats cp,
alg_v_allonroerendgoed og,
cnt_contract c
WHERE c.cnt_contract_key = cp.cnt_contract_key
AND c.cnt_contract_looptijd_tot > SYSDATE
AND cp.cnt_alg_plaats_key = og.alg_onroerendgoed_keys;
/* En deze ten behoeve van de gebruikersrapportage */
CREATE OR REPLACE VIEW UWVA_V_RAP_ONRGOEDVERPLICHTING
(
FCLT_F_GEBOUWCODE,
FCLT_F_VERDIEPINGVOLGNR,
FCLT_F_RUIMTECODE,
FCLT_F_VERPLICHTING,
ITEM,
FCLT_3D_LOCATIE_KEY
)
AS
SELECT g.alg_gebouw_code,
SUBSTR ('0' || TO_CHAR (v.alg_verdieping_volgnr), -2),
r.alg_ruimte_nr,
COALESCE (t.fac_message_text, ov.fac_message_code),
ov.item,
ov.locatie_key
FROM uwva_v_onrgoed_verplichting ov,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r,
fac_message t
WHERE ov.alg_gebouw_key = g.alg_gebouw_key
AND ov.alg_verdieping_key = v.alg_verdieping_key(+)
AND ov.alg_ruimte_key = r.alg_ruimte_key(+)
AND ov.fac_message_code = t.fac_message_code(+);
CREATE OR REPLACE VIEW uwva_v_rap_beheer_prs_type
(
personeelsnummer,
login1,
login2,
naam,
fclt_f_type_medewerker
)
AS
SELECT a.prs_perslid_naam_full,
a.prs_perslid_nr,
a.prs_perslid_oslogin,
a.prs_perslid_oslogin2,
b.fac_usrdata_omschr
FROM (SELECT p.prs_perslid_key,
fn.prs_perslid_naam_full,
p.prs_perslid_nr,
p.prs_perslid_oslogin,
p.prs_perslid_oslogin2
FROM prs_v_aanwezigperslid p, prs_v_perslid_fullnames fn
WHERE p.prs_perslid_key = fn.prs_perslid_key) a
LEFT JOIN
(SELECT kl.prs_link_key, ud.fac_usrdata_omschr
FROM prs_kenmerklink kl, fac_usrdata ud
WHERE kl.prs_kenmerk_key = 1040 -- Type medewerker
AND kl.prs_kenmerklink_waarde = ud.fac_usrdata_key) b
ON a.prs_perslid_key = b.prs_link_key;
-- UWVA#16324
CREATE OR REPLACE VIEW uwva_v_contractanten
(
prs_bedrijf_key,
prs_bedrijf_naam
)
AS
SELECT b.prs_bedrijf_key, b.prs_bedrijf_naam
FROM prs_v_aanwezigbedrijf b
WHERE b.prs_bedrijf_contract = 1 -- Contractant-vinkje
/
-- UWVA#16539, herziening in UWVA#23138
-- keys 81, 82 en 83 zijn van de drie HDW-catalogusimports (bij resp. catalogi 215, 216, 217)
CREATE OR REPLACE VIEW uwva_v_catalogushdwlog
(
HIDE_F_SRT,
FCLT_F_STATUS,
FCLT_F_OMSCHRIJVING,
DETAIL,
DATUM
)
AS
SELECT imp_log_key,
imp_log_status fclt_f_status,
imp_log_omschrijving fclt_f_omschrijving,
imp_log_hint detail,
TO_CHAR (imp_log_datum, 'YYYY-MM-DD HH24:MI') datum
FROM imp_log
WHERE fac_import_key = (SELECT MAX (fac_import_key)
FROM fac_import
WHERE fac_import_app_key = 81)
UNION
SELECT imp_log_key,
imp_log_status fclt_f_status,
imp_log_omschrijving fclt_f_omschrijving,
imp_log_hint detail,
TO_CHAR (imp_log_datum, 'YYYY-MM-DD HH24:MI') datum
FROM imp_log
WHERE fac_import_key = (SELECT MAX (fac_import_key)
FROM fac_import
WHERE fac_import_app_key = 82)
UNION
SELECT imp_log_key,
imp_log_status fclt_f_status,
imp_log_omschrijving fclt_f_omschrijving,
imp_log_hint detail,
TO_CHAR (imp_log_datum, 'YYYY-MM-DD HH24:MI') datum
FROM imp_log
WHERE fac_import_key = (SELECT MAX (fac_import_key)
FROM fac_import
WHERE fac_import_app_key = 83)
ORDER BY imp_log_key;
CREATE OR REPLACE VIEW uwva_v_rap_res_ruimten
(
fclt_f_gebouw,
fclt_f_verdieping,
ruimte,
alg_key,
fclt_f_ruimtecategorie,
fclt_f_ruimtenaam,
norm_capaciteit,
res_key,
fotonaam,
omschrijving,
fclt_f_bez_actie,
ruimtenaam_friendly,
vervaldatum
)
AS
SELECT x.alg_gebouw_code,
x.alg_verdieping_code,
x.alg_ruimte_nr,
TO_CHAR (x.alg_ruimte_key) alg_key,
z.ins_discipline_omschrijving,
z.res_ruimte_nr,
DECODE (cap1.def_ro_key,
NULL,
(SELECT TO_CHAR (ro.res_ruimte_opstel_bezoekers)
FROM res_ruimte_opstelling ro
WHERE ro.res_ruimte_opstel_key = cap2.min_ro_key),
(SELECT TO_CHAR (ro.res_ruimte_opstel_bezoekers)
FROM res_ruimte_opstelling ro
WHERE ro.res_ruimte_opstel_key = cap1.def_ro_key))
norm_capaciteit,
TO_CHAR (z.res_ruimte_key) res_key,
z.res_ruimte_image fotonaam,
z.res_ruimte_omschrijving omschrijving,
z.bez_actie_omschrijving,
z.res_ruimte_friendlyname,
z.res_ruimte_vervaldatum
FROM (SELECT rar.res_ruimte_key,
r.alg_ruimte_key,
r.alg_ruimte_nr,
v.alg_verdieping_code,
g.alg_gebouw_code,
l.alg_locatie_code
FROM res_v_aanwezigalg_ruimte rar,
alg_v_aanwezigruimte r,
alg_v_aanwezigverdieping v,
alg_v_aanweziggebouw g,
alg_v_aanweziglocatie l
WHERE rar.alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key) x
JOIN (SELECT rr.res_ruimte_key,
d.ins_discipline_omschrijving,
rr.res_ruimte_nr,
rr.res_ruimte_omschrijving,
rr.res_ruimte_image,
rr.res_ruimte_friendlyname,
rr.res_ruimte_vervaldatum,
a.bez_actie_omschrijving
FROM res_v_aanwezigruimte rr,
res_v_aanwezigdiscipline d,
bez_actie a
WHERE rr.res_discipline_key = d.ins_discipline_key
AND a.bez_actie_key(+) = rr.bez_actie_key) z
ON x.res_ruimte_key = z.res_ruimte_key
LEFT JOIN -- Default ruimte-capaciteit (indien gedefinieerd)
( SELECT res_ruimte_key, MIN (res_ruimte_opstel_key) def_ro_key
FROM res_ruimte_opstelling
WHERE res_ruimte_opstel_verwijder IS NULL
AND res_ruimte_opstel_default = 1
GROUP BY res_ruimte_key) cap1
ON x.res_ruimte_key = cap1.res_ruimte_key
LEFT JOIN -- Anders de eerst gedefinieerde ruimte-capaciteit
( SELECT res_ruimte_key, MIN (res_ruimte_opstel_key) min_ro_key
FROM res_ruimte_opstelling
WHERE res_ruimte_opstel_verwijder IS NULL
GROUP BY res_ruimte_key) cap2
ON x.res_ruimte_key = cap2.res_ruimte_key;
CREATE OR REPLACE PROCEDURE uwva_import_resruimten (p_import_key IN NUMBER)
AS
c_delim VARCHAR2 (1) := ';';
v_newline VARCHAR2 (4000); -- Input line
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
header_is_valid NUMBER;
v_count_tot NUMBER (10);
v_count_import NUMBER (10);
v_ongeldig NUMBER (1);
v_aanduiding VARCHAR2 (200);
-- De importvelden:
v_alg_gebouw_code VARCHAR2 (255); -- C12
v_alg_verdieping_code VARCHAR2 (255); -- C10
v_alg_ruimte_nr VARCHAR2 (255); -- C10
v_alg_ruimte_key VARCHAR2 (255); -- N10
v_alg_ruimte_key_n NUMBER (10); -- N10
v_ins_discipline_omschrijving VARCHAR2 (255); -- C30
v_res_ruimte_nr VARCHAR2 (255); -- C40
v_norm_capaciteit VARCHAR2 (255); -- N5
v_norm_capaciteit_n NUMBER (10); -- N5
v_res_ruimte_key VARCHAR2 (255); -- N10
v_res_ruimte_key_n NUMBER (10); -- N10
v_fotonaam VARCHAR2 (255); -- C255
v_res_ruimte_omschrijving VARCHAR2 (1000); -- C255
CURSOR c1
IS
SELECT *
FROM fac_imp_file
WHERE fac_import_key = p_import_key
ORDER BY fac_imp_file_index;
BEGIN
DELETE FROM uwva_imp_resruimten;
COMMIT;
v_count_tot := 0;
v_count_import := 0;
header_is_valid := 0;
FOR rec1 IN c1
LOOP
BEGIN
v_newline := rec1.fac_imp_file_line;
v_errormsg := 'Fout opvragen te importeren rij';
v_aanduiding := '';
v_ongeldig := 0;
-- Lees alle veldwaarden
fac.imp_getfield (v_newline, c_delim, v_alg_gebouw_code);
fac.imp_getfield (v_newline, c_delim, v_alg_verdieping_code);
fac.imp_getfield (v_newline, c_delim, v_alg_ruimte_nr);
fac.imp_getfield (v_newline, c_delim, v_alg_ruimte_key);
fac.imp_getfield (v_newline, c_delim, v_ins_discipline_omschrijving);
fac.imp_getfield (v_newline, c_delim, v_res_ruimte_nr);
fac.imp_getfield (v_newline, c_delim, v_norm_capaciteit);
fac.imp_getfield (v_newline, c_delim, v_res_ruimte_key);
fac.imp_getfield (v_newline, c_delim, v_fotonaam);
fac.imp_getfield (v_newline, c_delim, v_res_ruimte_omschrijving);
v_aanduiding := '[' || v_alg_gebouw_code || '|' || v_alg_verdieping_code || '|' || v_alg_ruimte_nr || '|' || v_res_ruimte_nr || '] ';
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
IF (header_is_valid = 0)
THEN
IF UPPER (v_alg_gebouw_code) = 'GEBOUW'
AND UPPER (v_alg_verdieping_code) = 'VERDIEPING'
AND UPPER (v_alg_ruimte_nr) = 'RUIMTE'
AND UPPER (v_alg_ruimte_key) = 'ALG_KEY'
AND UPPER (v_ins_discipline_omschrijving) = 'RUIMTECATEGORIE'
AND UPPER (v_res_ruimte_nr) = 'RUIMTENAAM'
AND UPPER (v_norm_capaciteit) = 'NORM_CAPACITEIT'
AND UPPER (v_res_ruimte_key) = 'RES_KEY'
AND UPPER (v_fotonaam) = 'FOTONAAM'
AND UPPER (v_res_ruimte_omschrijving) = 'OMSCHRIJVING'
THEN
header_is_valid := 1;
END IF;
ELSE
v_count_tot := v_count_tot + 1;
-- Controleer alle veldwaarden
v_errormsg := 'Fout inlezen gebouwcode [' || v_alg_gebouw_code || ']';
v_alg_gebouw_code := TRIM (v_alg_gebouw_code);
--
v_errormsg := 'Fout inlezen verdiepingcode [' || v_alg_verdieping_code || ']';
v_alg_verdieping_code := TRIM (v_alg_verdieping_code);
--
v_errormsg := 'Fout inlezen ruimtenr [' || v_alg_ruimte_nr || ']';
v_alg_ruimte_nr := TRIM (v_alg_ruimte_nr);
--
v_errormsg := 'Fout inlezen alg_key [' || v_alg_ruimte_key || ']';
v_alg_ruimte_key_n := fac.safe_to_number (v_alg_ruimte_key);
--
v_errormsg := 'Fout inlezen ruimtecategorie [' || v_ins_discipline_omschrijving || ']';
v_ins_discipline_omschrijving := TRIM (v_ins_discipline_omschrijving);
--
v_errormsg := 'Fout inlezen ruimtenaam [' || v_res_ruimte_nr || ']';
v_res_ruimte_nr := TRIM (v_res_ruimte_nr);
IF LENGTH (v_res_ruimte_nr) > 40
THEN
v_res_ruimte_nr := SUBSTR (v_res_ruimte_nr, 1, 40);
fac.imp_writelog (p_import_key, 'W', v_aanduiding || 'Ruimtenaam te lang', 'Ruimtenaam afgebroken tot [' || v_res_ruimte_nr || ']');
END IF;
-- Per UWVA#69484 (UWVA126) niet langer DUMMY!
v_errormsg := 'Fout inlezen norm_capaciteit [' || v_norm_capaciteit || ']';
v_norm_capaciteit_n := fac.safe_to_number (v_norm_capaciteit);
--
v_errormsg := 'Fout inlezen res_key [' || v_res_ruimte_key || ']';
v_res_ruimte_key_n := fac.safe_to_number (v_res_ruimte_key);
--
v_errormsg := 'Fout inlezen fotonaam [' || v_fotonaam || ']';
v_fotonaam := TRIM (v_fotonaam);
--
v_errormsg := 'Fout inlezen omschrijving [' || v_res_ruimte_omschrijving || ']';
v_res_ruimte_omschrijving := TRIM (v_res_ruimte_omschrijving);
IF LENGTH (v_res_ruimte_omschrijving) > 255
THEN
v_res_ruimte_omschrijving := SUBSTR (v_res_ruimte_omschrijving, 1, 255);
fac.imp_writelog (p_import_key, 'W', v_aanduiding || 'Omschrijving te lang', 'Omschrijving afgebroken na 255 tekens');
END IF;
-- Insert geformatteerde import record
IF v_ongeldig = 0
THEN
BEGIN
v_errormsg := 'Fout wegschrijven importregel';
INSERT INTO uwva_imp_resruimten (alg_gebouw_code,
alg_verdieping_code,
alg_ruimte_nr,
alg_ruimte_key,
ins_discipline_omschrijving,
res_ruimte_nr,
res_ruimte_key,
fotonaam,
res_ruimte_omschrijving,
norm_capaciteit)
VALUES (v_alg_gebouw_code,
v_alg_verdieping_code,
v_alg_ruimte_nr,
v_alg_ruimte_key_n,
v_ins_discipline_omschrijving,
v_res_ruimte_nr,
v_res_ruimte_key_n,
v_fotonaam,
v_res_ruimte_omschrijving,
v_norm_capaciteit);
COMMIT;
v_count_import := v_count_import + 1;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
COMMIT;
END;
END IF;
END IF;
END;
END LOOP;
IF (header_is_valid = 0)
THEN
fac.imp_writelog (p_import_key, 'E', 'Ongeldig importbestand', 'Geen header of header niet volgens specificatie!');
ELSE
fac.imp_writelog (p_import_key, 'S', 'Reserveerbare ruimten/#ingelezen importregels: ' || TO_CHAR (v_count_tot), '');
fac.imp_writelog (p_import_key, 'S', 'Reserveerbare ruimten/#ongeldige niet ingelezen importregels: ' || TO_CHAR (v_count_tot - v_count_import), '');
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key, 'E', v_errormsg, 'Inleesproces reserveerbare ruimten afgebroken!');
COMMIT;
END uwva_import_resruimten;
/
CREATE OR REPLACE PROCEDURE uwva_update_resruimten (p_import_key IN NUMBER)
AS
v_errormsg VARCHAR2 (1000) := '-';
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count_upd NUMBER (10);
-- Cursor loopt over importtabel met daarin de reserveerbare ruimtegegevens.
CURSOR c1
IS
SELECT alg_ruimte_key,
res_ruimte_key,
res_ruimte_nr,
fotonaam,
res_ruimte_omschrijving,
norm_capaciteit
FROM uwva_imp_resruimten
ORDER BY 1, 2;
-- SUBFUNC
FUNCTION verwerk_regel (p_import_key IN NUMBER,
p_alg_key IN NUMBER,
p_res_key IN NUMBER,
p_res_ruimte_nr IN VARCHAR2,
p_fotonaam IN VARCHAR2,
p_res_ruimte_omschrijving IN VARCHAR2,
p_norm_capaciteit IN VARCHAR2)
RETURN NUMBER
IS
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_ongeldig NUMBER (10);
v_aanduiding VARCHAR2 (200);
v_count NUMBER (10);
v_onrgoedkenmerk_key NUMBER (10);
BEGIN
v_ongeldig := 0;
v_aanduiding := '[' || p_alg_key || '|' || p_res_key || '] ';
v_errormsg := 'Fout bepalen resruimte';
SELECT COUNT (res_alg_ruimte_key)
INTO v_count
FROM res_v_aanwezigalg_ruimte
WHERE alg_ruimte_key = p_alg_key AND res_ruimte_key = p_res_key;
IF v_count = 1
THEN
v_errormsg := 'Fout bijwerken resruimte-naam/omschrijving/foto';
UPDATE res_ruimte
SET res_ruimte_nr = COALESCE (p_res_ruimte_nr, res_ruimte_nr),
res_ruimte_omschrijving = COALESCE (p_res_ruimte_omschrijving, res_ruimte_omschrijving),
res_ruimte_image = COALESCE (p_fotonaam, res_ruimte_image)
WHERE res_ruimte_key = p_res_key;
-- UWVA#69484: Uitbreiden met capaciteit!
v_errormsg := 'Fout bijwerken capaciteit';
UPDATE res_ruimte_opstelling
SET res_ruimte_opstel_bezoekers = COALESCE (fac.safe_to_number (p_norm_capaciteit), res_ruimte_opstel_bezoekers)
WHERE res_ruimte_opstel_verwijder IS NULL
AND res_ruimte_key = p_res_key;
COMMIT;
ELSE
v_ongeldig := 1;
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel overgeslagen');
COMMIT;
END IF;
RETURN v_ongeldig;
EXCEPTION
WHEN OTHERS
THEN
v_ongeldig := 1;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, '');
COMMIT;
RETURN v_ongeldig;
END;
-- MAIN
BEGIN
-- Loop door alle resruimte-regels en verwerk deze.
v_count_upd := 0;
FOR rec IN c1
LOOP
BEGIN
v_errormsg := 'Fout verwerken resruimte-regel';
IF verwerk_regel (p_import_key, rec.alg_ruimte_key, rec.res_ruimte_key, rec.res_ruimte_nr, rec.fotonaam, rec.res_ruimte_omschrijving, rec.norm_capaciteit) = 0
THEN
v_count_upd := v_count_upd + 1;
END IF;
END;
END LOOP;
fac.imp_writelog (p_import_key, 'S', 'Reserveerbare ruimten/#bijgewerkt: ' || TO_CHAR (v_count_upd), '');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key, 'E', v_errormsg, 'Importproces reserveerbare ruimten afgebroken!');
END uwva_update_resruimten;
/
-- UWVA#20109: Marktplaats reminder
CREATE OR REPLACE VIEW uwva_v_noti_mrkreminder
(
code,
sender,
receiver,
text,
key,
xkey
)
AS
SELECT NULL,
NULL,
prs_perslid_key,
'U heeft een bericht op Facilitair Marktplaats staan met de titel: '
|| mrk_bericht_titel
|| ' als u geen actie onderneemt wordt deze over 14 dagen vanzelf verwijderd',
NULL,
NULL
FROM mrk_bericht
WHERE TO_DATE (mrk_bericht_aanmaak) = TO_DATE (SYSDATE) - 46;
-- UWVA#20417 ondersteunende view voor een flexveld kostensoort bij bedrijf.
CREATE OR REPLACE VIEW uwva_v_kostensoort
(
prs_kostensoort_key,
prs_kostensoort_oms
)
AS
SELECT prs_kostensoort_key,
prs_kostensoort_oms || ' - ' || prs_kostensoort_opmerking
prs_kostensoort_omschrijving
FROM prs_kostensoort;
-- UWVA#19622: Alleen bepaalde catalogi (Instructieruimte/86, Servicepunt/87,
-- Vergaderruimte/89, Vergader RvB/112 en Video conference/276) en alleen met
-- FO-status Optie/Definitief (dus niet Blokkade en Vervallen)!
-- UWVA#73593: Toevoegen Vergaderruimte Hybride-catalogus (A=496+P=492)
CREATE OR REPLACE VIEW UWVA_V_RAP_RES_INFOBORD
(
AKTIEF,
OFFSET,
DAG,
TIJD_VAN,
TIJD_TOT,
RUIMTE,
CATALOGUS,
AANVRAGER,
GASTHEER,
OMSCHRIJVING,
STATUS,
LOCATIE_CODE,
GEBOUW_CODE,
VERDIEPING_CODE,
LOCATIE_OMSCHRIJVING,
GEBOUW_OMSCHRIJVING,
VERDIEPING_OMSCHRIJVING,
ALG_LOCATIE_KEY,
ALG_GEBOUW_KEY,
ALG_VERDIEPING_KEY
)
AS
SELECT (CASE
WHEN rrr.res_rsv_ruimte_van > SYSDATE THEN 'expected'
WHEN rrr.res_rsv_ruimte_tot < SYSDATE THEN 'passed'
ELSE 'active'
END)
aktief,
TRUNC ( (SYSDATE - rrr.res_rsv_ruimte_van) * 24 * 60) offset,
TO_CHAR (rrr.res_rsv_ruimte_van, 'dd-mm-yyyy') dag,
TO_CHAR (rrr.res_rsv_ruimte_van, 'hh24:mi') tijd_van,
TO_CHAR (rrr.res_rsv_ruimte_tot, 'hh24:mi') tijd_tot,
rrg.res_ruimte_nr ruimte,
rd.ins_discipline_omschrijving catalogus,
aanvrager.prs_perslid_naam_full aanvrager,
gastheer.prs_perslid_naam_full gastheer,
rrr.res_rsv_ruimte_omschrijving omschrijving,
sf.res_status_fo_omschrijving status,
l.alg_locatie_code locatie_code,
g.alg_gebouw_code gebouw_code,
v.alg_verdieping_code verdieping_code,
l.alg_locatie_omschrijving locatie_omschrijving,
g.alg_gebouw_omschrijving gebouw_omschrijving,
v.alg_verdieping_omschrijving verdieping_omschrijving,
l.alg_locatie_key,
g.alg_gebouw_key,
v.alg_verdieping_key
FROM res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
res_v_res_ruimte_gegevens rrg,
prs_v_perslid_fullnames aanvrager,
prs_v_perslid_fullnames gastheer,
alg_locatie l,
alg_gebouw g,
alg_verdieping v,
res_status_fo sf,
res_discipline rd
WHERE rrr.res_status_fo_key IN (1, 2) -- Alleen Optie + Definitief!
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = rrg.res_ruimte_key
AND rrr.res_rsv_ruimte_host_key = gastheer.prs_perslid_key
AND rrr.res_rsv_ruimte_contact_key = aanvrager.prs_perslid_key
AND TRUNC (rrr.res_rsv_ruimte_van) = TRUNC (SYSDATE)
AND rrg.alg_locatie_key = l.alg_locatie_key
AND rrg.alg_gebouw_key = g.alg_gebouw_key
AND rrg.alg_verdieping_key = v.alg_verdieping_key
AND rrr.res_status_fo_key = sf.res_status_fo_key
AND rrg.res_discipline_key = rd.ins_discipline_key
AND rd.ins_discipline_key IN (86, 87, 89, 112, 276, 404, 409, 492, 496) -- ToDo:Key=496 tbv. Acceptatie verwijderen!
;
-- UWVA#21050: Overzicht instellingen alle vakgroepen
CREATE OR REPLACE VIEW uwva_v_rap_vakgroep
(
FCLT_F_VAKGROEPTYPE,
VAKGROEPTYPE_KEY,
FCLT_F_VAKGROEP,
VAKGROEP_KEY,
BEHANDELGROEP,
KOSTENSOORT,
KOSTENPLAATS_VERPLICHT,
BACKOFFICE_BESTELLIMIET,
STARTDATUM_BEPALEN,
FRONTOFFICE_BEHANDELD,
FRONTEND_PRIORITEIT_BEPALEN,
FE_MANDAAT_EIGEN_KPN,
FACTUURMARGE_PERCENTAGE,
FACTUURMARGE_EURO,
FACTUUR_MATCHING,
FACTUUR_AUTO_BINNEN_MARGE,
FACTUUR_ACCOORD_BENEDEN,
BACKOFFICE_NOTIFICEREN,
MELDER_NOTIFICEREN,
DAGEN_TBV_HERINNERING,
VERPLICHT_OPDRACHTBEDRAG,
OPDRACHTSJABLOON,
AFZENDER_EMAIL_NOTIFICATIE,
KTO_METING_PERC,
KTO_METING_DREMPEL
)
AS
SELECT srt.ins_srtdiscipline_omschrijving vakgroeptype,
TO_CHAR (srt.ins_srtdiscipline_key) vakgroeptype_key,
vak.ins_discipline_omschrijving vakgroep,
TO_CHAR (vak.ins_discipline_key) vakgroep_key,
bg.mld_behandelgroep_naam behandelgroep,
pks.prs_kostensoort_oms kostensoort,
DECODE (vak.ins_discipline_kpnverplicht, 1, 'ja', 'nee')
kostenplaats_verplicht,
TO_CHAR (dc.mld_disc_params_bestellimiet) backoffice_bestellimiet,
DECODE (dc.mld_disc_params_startdatum, 1, 'ja', 'nee')
startdatum_bepalen,
DECODE (dc.mld_disc_params_directklaar, 1, 'ja', 'nee')
frontoffice_behandeld,
DECODE (dc.mld_disc_params_frontendprio, 1, 'ja', 'nee')
frontend_prioriteit_bepalen,
DECODE (dc.mld_disc_params_eigen_kp, 1, 'ja', 'nee')
fe_mandaat_eigen_kpn,
TO_CHAR (dc.mld_disc_params_factuurpct) factuurmarge_percentage,
TO_CHAR (dc.mld_disc_params_factuurmarge) factuurmarge_euro,
TO_CHAR (dc.mld_disc_params_factmatchmode) factuur_matching,
DECODE (dc.mld_disc_params_factuurappr, 1, 'ja', 'nee')
factuur_auto_binnen_marge,
TO_CHAR (dc.mld_disc_params_factuurgrens) factuur_accoord_beneden,
DECODE (dc.mld_disc_params_bonotify, 1, 'ja', 'nee')
backoffice_notificeren,
DECODE (dc.mld_disc_params_notify, 1, 'ja', 'nee')
melder_notificeren,
TO_CHAR (dc.mld_disc_params_noti_dagen) dagen_tbv_herinnering,
DECODE (dc.mld_disc_params_opdr_kosten, 1, 'ja', 'nee')
verplicht_opdrachtbedrag,
TO_CHAR (dc.fac_activiteit_key) opdrachtsjabloon,
vak.ins_discipline_email afzender_email_notificatie,
TO_CHAR (vak.ins_discipline_ktopercentage) kto_meting_perc,
TO_CHAR (vak.ins_discipline_ktodrempel) kto_meting_drempel
FROM mld_discipline vak,
ins_srtdiscipline srt,
mld_disc_params dc,
mld_behandelgroep bg,
prs_kostensoort pks
WHERE vak.ins_discipline_verwijder IS NULL
AND vak.ins_srtdiscipline_key = srt.ins_srtdiscipline_key
AND vak.ins_discipline_key = dc.mld_ins_discipline_key
AND dc.mld_behandelgroep_key = bg.mld_behandelgroep_key(+)
AND vak.prs_kostensoort_key = pks.prs_kostensoort_key(+);
-- UWVA#21050: Overzicht instellingen alle bestelcatalogi
CREATE OR REPLACE VIEW uwva_v_rap_bescatalogi
(
FCLT_F_CATALOGUS,
CATALOGUS_KEY,
KOSTENSOORT,
KOSTENPLAATS_VERPLICHT,
BESTELLIMIET,
MIN_BESTELBEDRAG,
TEN_LASTE_VAN_PGB,
AUTO_BESTELOPDRACHT,
AUTO_ACCEPT_AANVRAAG,
OPNIEUW_FIATEREN,
AFWIJKING_MEER_DAN_PERC,
AFWIJKING_MEER_DAN_EURO,
BES_DISC_PARAMS_FACTUURPCT,
BES_DISC_PARAMS_FACTUURMARGE,
FACTUUR_MATCHING,
FACTUUR_AUTO_FIAT_BINNEN_MARGE,
FACTUUR_ACCOORD_BENEDEN,
LEVERDAGEN,
Afleverbevestiging,
PUNCHOUT_URL,
PUNCHOUT_BEDRIJF,
LOGO,
AANTAL_DAGEN_TBV_HERINNERING,
besteller_notificeren_opdr,
RETOUREN_TOEGESTAAN,
RETOUR_URL,
OPMERKING_URL,
AANWIJZING,
GEKOPPELD_AAN_INKOOPCATALOGUS,
ARTIKELEN_ZELFDE_GROEP,
KTO_PERCENTAGE,
KTO_DREMPEL
)
AS
SELECT d.ins_discipline_omschrijving catalogus,
d.ins_discipline_key catalogus_key,
pks.prs_kostensoort_oms kostensoort,
DECODE (d.ins_discipline_kpnverplicht, 1, 'ja', 'nee')
kostenplaats_verplicht,
bes_disc_params_bestellimiet bestellimiet,
bes_disc_params_min_bedrag min_bestelbedrag,
DECODE (bes_disc_params_pgb, 1, 'ja', 'nee') ten_laste_van_pgb,
DECODE (bes_disc_params_auto_order, 1, 'ja', 'nee')
auto_bestelopdracht,
DECODE (bes_disc_params_autoacceptrfo, 1, 'ja', 'nee')
auto_accept_aanvraag,
DECODE (bes_disc_params_herfiat,
1, 'Als nieuwe',
2, 'Volgens onderstaand criterium',
'Nooit')
opnieuw_fiateren,
bes_disc_params_herfiatpct Afwijking_meer_dan_perc,
bes_disc_params_herfiatmarge Afwijking_meer_dan_euro,
bes_disc_params_factuurpct,
bes_disc_params_factuurmarge,
DECODE (bes_disc_params_factmatchmode, 3, '3-weg', 2, '2-weg', ' ')
factuur_matching,
DECODE (bes_disc_params_factuurappr, 1, 'ja', 'nee')
factuur_auto_fiat_binnen_marge,
bes_disc_params_factuurgrens factuur_accoord_beneden,
bes_disc_params_leverdagen leverdagen,
DECODE (bes_disc_params_remoteconfirm, 1, 'ja', 'nee')
Afleverbevestiging,
bes_disc_params_punchouturl punchout_URL,
pb.prs_bedrijf_naam punchout_bedrijf,
bes_disc_params_logo_url logo,
bes_disc_params_noti_dagen aantal_dagen_tbv_herinnering,
DECODE (bes_disc_params_noti_opdr, 1, 'ja', 'nee')
besteller_notificeren_opdr,
DECODE (bes_disc_params_retour, 1, 'ja', 'nee') retouren_toegestaan,
bes_disc_params_retour_url retour_URL,
bes_disc_params_levopm_url opmerking_URL,
d.ins_discipline_opmerking aanwijzing,
d2.ins_discipline_omschrijving gekoppeld_aan_inkoopcatalogus,
DECODE (bes_disc_params_singlegroep, 1, 'ja', 'nee')
artikelen_zelfde_groep,
d.ins_discipline_ktopercentage kto_percentage,
d.ins_discipline_ktodrempel kto_drempel
FROM bes_discipline d,
prs_kostensoort pks,
bes_disc_params bdp,
prs_bedrijf pb,
bes_discipline d2
WHERE d.ins_discipline_verwijder IS NULL
AND d.prs_kostensoort_key = pks.prs_kostensoort_key(+)
AND d.ins_discipline_key = bdp.bes_ins_discipline_key
AND bdp.bes_disc_params_punch_bedr_key = pb.prs_bedrijf_key(+)
AND bdp.bes_ins_discipline_key_inkoop = d2.ins_discipline_key(+);
-- UWVA#20222 - Gegevensbron voor het samenstellen van de response op API-requests
-- vanuit KAS!
-- TODO: Vraag is of filtering op nr, naam (INACTIEF), oslogin, ed. wel gewenst???
CREATE OR REPLACE VIEW uwva_v_kas_input
(
div_naam,
div_oms,
afd_naam,
afd_oms,
perslid_nr,
achternaam,
voorletters,
tussenvoegsel,
voornaam,
naam_full
)
AS
SELECT div.prs_afdeling_naam,
div.prs_afdeling_omschrijving,
afd.prs_afdeling_naam,
afd.prs_afdeling_omschrijving,
prs.prs_perslid_nr,
prs.prs_perslid_naam,
prs.prs_perslid_voorletters,
prs.prs_perslid_tussenvoegsel,
prs.prs_perslid_voornaam,
prs.prs_naam_full
FROM (SELECT a1.prs_afdeling_key,
a1.prs_afdeling_naam,
a1.prs_afdeling_omschrijving
FROM prs_afdeling a1
WHERE a1.prs_afdeling_verwijder IS NULL
AND a1.prs_afdeling_parentkey IS NULL
AND prs_afdeling_omschrijving NOT LIKE 'INACTIEF:%'
AND EXISTS -- Alleen echte divies; geen pseudo-divisies!
(SELECT 1
FROM prs_afdeling a2
WHERE a2.prs_afdeling_verwijder IS NULL
AND a2.prs_afdeling_parentkey =
a1.prs_afdeling_key)) div
LEFT JOIN (SELECT ab.prs_afdeling_key1,
a.prs_afdeling_key,
a.prs_afdeling_naam,
a.prs_afdeling_omschrijving
FROM prs_afdeling a, prs_v_afdeling_boom ab
WHERE a.prs_afdeling_verwijder IS NULL
AND prs_afdeling_omschrijving NOT LIKE
'INACTIEF:%'
AND a.prs_afdeling_key = ab.prs_afdeling_key) afd
ON div.prs_afdeling_key = afd.prs_afdeling_key1
LEFT JOIN (SELECT prs_afdeling_key,
prs_perslid_nr,
prs_perslid_naam,
prs_perslid_voorletters,
prs_perslid_tussenvoegsel,
prs_perslid_voornaam,
prs_perslid_naam
|| DECODE (prs_perslid_voorletters,
NULL, '',
', ' || prs_perslid_voorletters)
|| DECODE (prs_perslid_tussenvoegsel,
NULL, '',
' ' || prs_perslid_tussenvoegsel)
|| DECODE (prs_perslid_voornaam,
NULL, '',
' (' || prs_perslid_voornaam || ')')
prs_naam_full
FROM prs_v_aanwezigperslid
WHERE prs_perslid_nr IS NOT NULL
AND prs_perslid_naam NOT LIKE 'INACTIEF:%'
AND prs_perslid_oslogin IS NOT NULL
AND prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak
prs
ON afd.prs_afdeling_key = prs.prs_afdeling_key
ORDER BY div.prs_afdeling_naam, afd.prs_afdeling_naam, prs.prs_naam_full;
-- KAS-request: GetAllDivisies
CREATE OR REPLACE VIEW uwva_v_kas_getdiv
AS
SELECT DISTINCT div_naam, div_oms FROM uwva_v_kas_input;
-- KAS-requests: GetAllAfdelingen+GetAfdelingenBinnenDivisie
CREATE OR REPLACE VIEW uwva_v_kas_getafd
AS
SELECT DISTINCT div_naam,
div_oms,
afd_naam,
afd_oms
FROM uwva_v_kas_input
WHERE div_naam <> afd_naam;
-- KAS-requests: GetPersonen+GetPersonenBinnenDivisie+GetPersonenBinnenAfdeling
CREATE OR REPLACE VIEW uwva_v_kas_getprs
AS
SELECT div_naam,
div_oms,
afd_naam,
afd_oms,
perslid_nr,
naam_full,
achternaam,
voorletters,
tussenvoegsel,
voornaam,
1 aantal
FROM uwva_v_kas_input
WHERE naam_full IS NOT NULL
ORDER BY naam_full;
-- UWVA#23613/FlexWhere-request: GetRes
CREATE OR REPLACE VIEW UWVA_V_FLEXWHERE_GETRES
(
LOCATIE_CODE,
GEBOUW_CODE,
VERDIEPING_CODE,
RUIMTE_NR,
RES_NR,
DATUM,
VAN,
TOT
)
AS
SELECT l.alg_locatie_code locatie_code,
g.alg_gebouw_code gebouw_code,
v.alg_verdieping_code verdieping_code,
r.alg_ruimte_nr ruimte_nr, -- Niet res_ruimte_nr!
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_nr,
--(CASE
-- WHEN rrr.res_rsv_ruimte_van > SYSDATE THEN 'expected'
-- WHEN rrr.res_rsv_ruimte_tot < SYSDATE THEN 'passed'
-- ELSE 'active'
-- END)
-- aktief,
--TRUNC ( (SYSDATE - rrr.res_rsv_ruimte_van) * 24 * 60) offset,
TO_CHAR (rrr.res_rsv_ruimte_van, 'dd-mm-yyyy') datum,
TO_CHAR (rrr.res_rsv_ruimte_van, 'hh24:mi') van,
TO_CHAR (rrr.res_rsv_ruimte_tot, 'hh24:mi') tot
FROM res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
res_alg_ruimte rar,
alg_v_aanwezigruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE rrr.res_status_fo_key IN (1, 2) -- Alleen Optie + Definitief!
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = rar.res_ruimte_key
AND rar.alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_verdieping_code IN ('22', '23') -- Tbv. pilot beperkt!
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_gebouw_upper = 'AMSG3' -- Tbv. pilot beperkt!
AND g.alg_locatie_key = l.alg_locatie_key
AND SYSDATE BETWEEN rrr.res_rsv_ruimte_van
AND rrr.res_rsv_ruimte_tot;
CREATE OR REPLACE VIEW uwva_v_rap_openopdr_mldafgmld
AS
SELECT o.mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr
opdrachtnummer,
so.mld_statusopdr_omschrijving status,
o.mld_opdr_omschrijving omschrijving
FROM mld_opdr o, mld_statusopdr so, mld_melding m
WHERE o.mld_statusopdr_key = so.mld_statusopdr_key
AND so.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9)
AND m.mld_melding_key = o.mld_melding_key
AND m.mld_melding_status IN (1, 5, 6)
ORDER BY 1;
-- UWVA#21697: View voor flexveld "Alternatieve afdeling"
-- UWVA#21925: Niet filteren op Kostenplaatsgroep "Afdelingen", maar alle
-- PRS-kostenplaatsen nemen.
CREATE OR REPLACE VIEW uwva_v_alt_afdeling
AS
SELECT afd.*
FROM prs_kostenplaats kpn, prs_v_aanwezigafdeling afd
WHERE kpn.prs_kostenplaats_module = 'PRS'
AND afd.prs_kostenplaats_key = kpn.prs_kostenplaats_key
AND prs_afdeling_naam NOT LIKE 'INACTIEF%'
AND prs_afdeling_key NOT IN (1, 3142)
ORDER BY prs_afdeling_naam4;
-- UWVA#22765 - SLE: Verfijning sleutelbeheer
CREATE OR REPLACE PROCEDURE uwva_import_sle (p_import_key IN NUMBER)
AS
BEGIN
-- 1-op-1 de generieke import.
fac_import_sle (p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE uwva_update_sle (p_import_key IN NUMBER)
AS
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
-- SUBPROC
PROCEDURE add_sle_kenmerken (p_import_key IN NUMBER)
AS
CURSOR c1
IS
SELECT DISTINCT sg.ins_discipline_key,
sg.ins_srtgroep_key,
sd.ins_srtdeel_key,
x.ins_srtdeel_code,
x.ins_srtdeel_omschrijving,
TRIM (x.ins_kenmerkwaarde1) ssetnr,
TRIM (x.ins_kenmerkwaarde2) ssettype,
TRIM (x.ins_kenmerkwaarde3) ssetzone
FROM fac_setting s,
ins_v_aanwezigsrtgroep sg,
ins_v_aanwezigsrtdeel sd,
fac_imp_sle x
WHERE UPPER (s.fac_setting_name) = 'SLE_INS_SRT_GROEP_KEY'
AND fac.safe_to_number (s.fac_setting_pvalue) =
sg.ins_srtgroep_key
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
AND UPPER (TRIM (sd.ins_srtdeel_omschrijving)) =
UPPER (TRIM (x.ins_srtdeel_omschrijving))
AND ( x.ins_kenmerkwaarde1 IS NOT NULL
OR x.ins_kenmerkwaarde2 IS NOT NULL
OR x.ins_kenmerkwaarde3 IS NOT NULL);
c_ssetnr_srtkey NUMBER (10) := 203; -- Sleutelsetnummer kenmerksoort
c_ssettype_srtkey NUMBER (10) := 201; -- Type sleutelset kenmerksoort
c_ssetzone_srtkey NUMBER (10) := 202; -- Zone kenmerksoort
c_ssettype_tabkey NUMBER (10) := 883; -- Type sleutelset eigen tabel
c_ssetzone_tabkey NUMBER (10) := 882; -- Zone eigen tabel
v_count_tot NUMBER (10);
v_aanduiding VARCHAR (200);
v_kenmerk_key NUMBER (10);
v_usrdata_key NUMBER (10);
ccount NUMBER (10);
BEGIN
v_errormsg := '';
v_count_tot := 0;
FOR rec IN c1
LOOP
BEGIN
v_aanduiding :=
'['
|| rec.ins_srtdeel_code
|| '|'
|| rec.ins_srtdeel_omschrijving
|| '|'
|| rec.ssetnr
|| '|'
|| rec.ssettype
|| '|'
|| rec.ssetzone
|| '] ';
-- SLEUTELSETNUMMER toevoegen/bijwerken; NOOIT naar NULL via import!
IF rec.ssetnr IS NOT NULL
THEN
v_errormsg := 'Fout bij bepalen ssetnr-kenmerk';
SELECT k.ins_kenmerk_key
INTO v_kenmerk_key
FROM ins_v_aanwezigkenmerk k
WHERE k.ins_srtkenmerk_key = c_ssetnr_srtkey
AND k.ins_srtinstallatie_key = rec.ins_srtgroep_key
AND k.ins_kenmerk_niveau = 'G';
v_errormsg := 'Fout bij bepalen huidige ssetnr';
SELECT COUNT ( * )
INTO ccount
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_deel_key = rec.ins_srtdeel_key -- ObjectSOORTkenmerk!
AND ins_kenmerk_key = v_kenmerk_key;
IF ccount = 0
THEN
v_errormsg := 'Fout bij toevoegen ssetnr';
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_waarde)
VALUES (rec.ins_srtdeel_key, v_kenmerk_key, rec.ssetnr);
ELSE
v_errormsg := 'Fout bij bijwerken ssetnr';
UPDATE ins_kenmerkdeel
SET ins_kenmerkdeel_waarde = rec.ssetnr
WHERE ins_kenmerkdeel_verwijder IS NULL
AND ins_deel_key = rec.ins_srtdeel_key -- ObjectSOORTkenmerk!
AND ins_kenmerk_key = v_kenmerk_key;
END IF;
COMMIT;
END IF;
-- TYPE SLEUTELSET toevoegen/bijwerken; NOOIT naar NULL via import!
IF rec.ssettype IS NOT NULL
THEN
v_errormsg := 'Fout bij bepalen ssettype-kenmerk';
SELECT k.ins_kenmerk_key
INTO v_kenmerk_key
FROM ins_v_aanwezigkenmerk k
WHERE k.ins_srtkenmerk_key = c_ssettype_srtkey
AND k.ins_srtinstallatie_key = rec.ins_srtgroep_key
AND k.ins_kenmerk_niveau = 'G';
v_errormsg := 'Fout bij bepalen ssettype-waarde';
SELECT COUNT ( * )
INTO ccount
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_deel_key = rec.ins_srtdeel_key -- ObjectSOORTkenmerk!
AND ins_kenmerk_key = v_kenmerk_key;
SELECT ud.fac_usrdata_key
INTO v_usrdata_key
FROM fac_usrdata ud
WHERE ud.fac_usrtab_key = c_ssettype_tabkey
AND UPPER (ud.fac_usrdata_omschr) =
UPPER (rec.ssettype);
IF ccount = 0
THEN
v_errormsg := 'Fout bij toevoegen ssettype';
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_waarde)
VALUES (rec.ins_srtdeel_key,
v_kenmerk_key,
v_usrdata_key);
ELSE
v_errormsg := 'Fout bij bijwerken ssettype';
UPDATE ins_kenmerkdeel
SET ins_kenmerkdeel_waarde = v_usrdata_key
WHERE ins_kenmerkdeel_verwijder IS NULL
AND ins_deel_key = rec.ins_srtdeel_key -- ObjectSOORTkenmerk!
AND ins_kenmerk_key = v_kenmerk_key;
END IF;
COMMIT;
END IF;
-- ZONE toevoegen/bijwerken; NOOIT naar NULL via import!
IF rec.ssetzone IS NOT NULL
THEN
v_errormsg := 'Fout bij bepalen ssetzone-kenmerk';
SELECT k.ins_kenmerk_key
INTO v_kenmerk_key
FROM ins_v_aanwezigkenmerk k
WHERE k.ins_srtkenmerk_key = c_ssetzone_srtkey
AND k.ins_srtinstallatie_key = rec.ins_srtgroep_key
AND k.ins_kenmerk_niveau = 'G';
v_errormsg := 'Fout bij bepalen ssetzone-waarde';
SELECT COUNT ( * )
INTO ccount
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_deel_key = rec.ins_srtdeel_key -- ObjectSOORTkenmerk!
AND ins_kenmerk_key = v_kenmerk_key;
SELECT ud.fac_usrdata_key
INTO v_usrdata_key
FROM fac_usrdata ud
WHERE ud.fac_usrtab_key = c_ssetzone_tabkey
AND UPPER (ud.fac_usrdata_omschr) =
UPPER (rec.ssetzone);
IF ccount = 0
THEN
v_errormsg := 'Fout bij toevoegen ssetzone';
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_waarde)
VALUES (rec.ins_srtdeel_key,
v_kenmerk_key,
v_usrdata_key);
ELSE
v_errormsg := 'Fout bij bijwerken ssetzone';
UPDATE ins_kenmerkdeel
SET ins_kenmerkdeel_waarde = v_usrdata_key
WHERE ins_kenmerkdeel_verwijder IS NULL
AND ins_deel_key = rec.ins_srtdeel_key -- ObjectSOORTkenmerk!
AND ins_kenmerk_key = v_kenmerk_key;
END IF;
COMMIT;
END IF;
v_count_tot := v_count_tot + 1;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.imp_writelog (p_import_key,
'W',
v_aanduiding || v_errormsg,
'');
COMMIT;
END;
END LOOP;
fac.imp_writelog (
p_import_key,
'S',
'INS-Sleutelsetkenmerken/#bijgewerkt: ' || TO_CHAR (v_count_tot),
'');
COMMIT;
END;
-- MAIN
BEGIN
-- UWVA#23784: Eerst ingelezen data in import tabel nog wat UWVA-specifiek
-- tweaken, nl. de objectsoortomschrijving prefixen met de code
-- (als dat niet al zo is/was)!
-- NB. Betreffende kolommen zijn niet leeg (want verplicht)!
UPDATE fac_imp_sle
SET ins_srtdeel_omschrijving =
SUBSTR (ins_srtdeel_code || ' ' || ins_srtdeel_omschrijving,
1,
100)
WHERE UPPER (ins_srtdeel_omschrijving) NOT LIKE
UPPER (ins_srtdeel_code) || '%';
-- Dan de generieke update.
fac_update_sle (p_import_key);
-- Daarna nog de 3 UWV-specifieke kenmerkvelden verwerken (Sleutelsetnummer,
-- Type sleutelset + Zone).
add_sle_kenmerken (p_import_key);
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
'Importproces sleutelsets afgebroken!');
END uwva_update_sle;
/
CREATE OR REPLACE VIEW uwva_v_rap_sle_prs_inactief
(
fclt_3d_alg_locatie_key,
fclt_f_medewerker,
fclt_f_sleutelsetcode,
fclt_f_sleutelsetoms,
sleutelnr,
fclt_f_cilindersetoms
)
AS
SELECT c.sleloc_key, -- Stamlocatie van uitgeleende sleutel!
a.prs_perslid_naam_full,
a.sset_code,
a.sset_oms,
a.sleutel,
b.cset_oms
FROM (SELECT p.prs_perslid_key,
pf.prs_perslid_naam_full,
d.ins_deel_key,
d.ins_srtdeel_key,
sd.ins_srtdeel_code sset_code,
sd.ins_srtdeel_omschrijving sset_oms,
d.ins_deel_omschrijving sleutel
FROM prs_perslid p,
ins_v_aanwezigdeel d,
ins_srtdeel sd,
prs_v_perslid_fullnames_all pf
WHERE p.prs_perslid_verwijder IS NULL
AND (prs_perslid_naam LIKE 'INACTIEF:%'
OR (p.prs_perslid_oslogin IS NULL
AND p.prs_perslid_oslogin2 IS NULL))
AND p.prs_perslid_key = d.ins_alg_ruimte_key
AND d.ins_alg_ruimte_type = 'P'
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = 1190 -- Sgroep
AND p.prs_perslid_key = pf.prs_perslid_key) a
LEFT JOIN ( SELECT ss.ins_srtdeel_key_2 sset_key, -- Sset-key
COUNT ( * ) cset_aant, -- Bij UWV altijd 1
MIN (sd.ins_srtdeel_omschrijving) cset_oms
FROM ins_srtdeel_srtdeel ss, ins_srtdeel sd
WHERE ss.ins_module = 'SLE'
AND ss.ins_srtdeel_key_1 = sd.ins_srtdeel_key
GROUP BY ss.ins_srtdeel_key_2) b
ON a.ins_srtdeel_key = b.sset_key
LEFT JOIN (SELECT d.ins_deel_key, ao.alg_locatie_key sleloc_key
FROM ins_deel d, alg_v_allonroerendgoed ao
WHERE d.ins_alg_ruimte_type = 'P'
AND d.ins_alg_ruimte_type_org IN ('R', 'T')
AND d.ins_alg_ruimte_key_org = ao.alg_ruimte_key)
c
ON a.ins_deel_key = c.ins_deel_key
LEFT JOIN -- Aantal cilinders=deuren waarop Sset toegang geeft
( SELECT ss.ins_srtdeel_key_2 sset_key, -- Sset-key
COUNT ( * ) cil_aant,
MIN (pa.alg_onroerendgoed_type) cil_ptype,
MIN (pa.alg_plaatsaanduiding) cil_plaats,
MIN (ao.alg_locatie_key) min_cilloc_key,
MAX (ao.alg_locatie_key) max_cilloc_key
FROM ins_srtdeel_srtdeel ss,
ins_srtdeel sd,
ins_v_aanwezigdeel d,
alg_v_plaatsaanduiding_all pa,
alg_v_allonroerendgoed ao
WHERE ss.ins_module = 'SLE'
AND ss.ins_srtdeel_key_1 = sd.ins_srtdeel_key
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
AND d.ins_alg_ruimte_type IN ('R', 'T')
AND d.ins_alg_ruimte_key =
pa.alg_onroerendgoed_keys
AND d.ins_alg_ruimte_key = ao.alg_ruimte_key
GROUP BY ss.ins_srtdeel_key_2) d
ON a.ins_srtdeel_key = d.sset_key
LEFT JOIN -- Aantal sleutels in bezit van persoon
( SELECT d.ins_alg_ruimte_key, COUNT ( * ) sle_aant
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
WHERE d.ins_alg_ruimte_type = 'P'
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = 1189 -- Sgroep
GROUP BY d.ins_alg_ruimte_key) e
ON a.prs_perslid_key = e.ins_alg_ruimte_key;
CREATE OR REPLACE VIEW uwva_v_noti_lfm_sle_retour
(
code,
sender,
receiver,
text,
KEY,
par1,
par2,
xkey
)
AS
SELECT DISTINCT sn.fac_srtnotificatie_code,
NULL,
fac.safe_to_number (k.alg_onrgoedkenmerk_waarde),
sn.fac_srtnotificatie_oms,
fac.safe_to_number (k.alg_onrgoedkenmerk_waarde),
NULL,
NULL,
NULL
FROM uwva_v_rap_sle_prs_inactief x,
alg_onrgoedkenmerk k,
fac_srtnotificatie sn
WHERE x.fclt_3d_alg_locatie_key = k.alg_onrgoed_key
AND k.alg_onrgoed_niveau = 'L'
AND k.alg_kenmerk_key = 1020 -- LFM
AND k.alg_onrgoedkenmerk_verwijder IS NULL
AND sn.fac_srtnotificatie_code = 'CUST14';
CREATE OR REPLACE VIEW uwva_v_rap_heavy_users
(
fclt_f_kwartaal,
naam,
fclt_f_functie,
fclt_f_rol,
email,
fclt_f_regio,
fclt_f_pandcode,
aanvragen,
klachten,
storingen,
bestellingen,
reserveringen
)
AS
SELECT x.periode,
pf.prs_perslid_naam_full naam,
sp.prs_srtperslid_omschrijving functie,
g.fac_groep_omschrijving rol,
p.prs_perslid_email email,
d.alg_district_omschrijving regio,
rg.alg_gebouw_upper pandcode,
TO_CHAR (x.mld_a),
TO_CHAR (x.mld_k),
TO_CHAR (x.mld_s),
TO_CHAR (x.bes),
TO_CHAR (x.res)
FROM ( SELECT x.prs_perslid_key,
x.periode,
SUM (x.mld_a) mld_a,
SUM (x.mld_k) mld_k,
SUM (x.mld_s) mld_s,
SUM (x.bes) bes,
SUM (x.res) res
FROM ( SELECT t.prs_perslid_key prs_perslid_key,
TO_CHAR (m.mld_melding_datum, 'yyyy/q') periode,
SUM(DECODE (md.ins_srtdiscipline_key,
1, 0,
3, 0,
1)) -- 2, 9 of 10 = Aanvr./Vertaald./Verg.&Overn.
mld_a,
SUM(DECODE (md.ins_srtdiscipline_key,
1, 0,
3, 1, -- 3 = Klachten
0))
mld_k,
SUM(DECODE (md.ins_srtdiscipline_key,
1, 1, -- 1 = Storingen
3, 0,
0))
mld_s,
0 bes,
0 res
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
fac_tracking t
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
md.ins_discipline_key
AND md.ins_srtdiscipline_key IN (2, 9, 10, 3, 1)
AND m.mld_melding_datum >
TRUNC (ADD_MONTHS (SYSDATE, -12), 'q')
AND m.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 21 -- MLDNEW
GROUP BY t.prs_perslid_key,
TO_CHAR (m.mld_melding_datum, 'yyyy/q'),
md.ins_srtdiscipline_key
UNION ALL
SELECT t.prs_perslid_key prs_perslid_key,
TO_CHAR (t.fac_tracking_datum, 'yyyy/q') periode,
0 mld_a,
0 mld_k,
0 mld_S,
COUNT ( * ) bes,
0 res
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key = 234 -- BESNEW
AND t.fac_tracking_datum >
TRUNC (ADD_MONTHS (SYSDATE, -12), 'q')
AND NOT EXISTS
(SELECT 1
FROM fac_tracking
WHERE fac_srtnotificatie_key = 234 -- BESNEW
AND fac_tracking_refkey =
t.fac_tracking_refkey
AND fac_tracking_key <
t.fac_tracking_key)
GROUP BY t.prs_perslid_key,
TO_CHAR (t.fac_tracking_datum, 'yyyy/q')
UNION ALL
SELECT t.prs_perslid_key prs_perslid_key,
TO_CHAR (t.fac_tracking_datum, 'yyyy/q') periode,
--TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyy/q')
-- periode,
0 mld_a,
0 mld_k,
0 mld_s,
0 bes,
COUNT ( * ) res
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key = 30 -- RESNEW
AND t.fac_tracking_datum >
TRUNC (ADD_MONTHS (SYSDATE, -12), 'q')
GROUP BY t.prs_perslid_key,
TO_CHAR (t.fac_tracking_datum, 'yyyy/q')) x
-- FROM res_rsv_ruimte rrr, fac_tracking t
--WHERE rrr.res_rsv_ruimte_van >
-- TRUNC (ADD_MONTHS (SYSDATE, -12), 'q')
-- AND rrr.res_rsv_ruimte_van <= SYSDATE
-- AND rrr.res_rsv_ruimte_key =
-- t.fac_tracking_refkey
-- AND t.fac_srtnotificatie_key = 30 -- RESNEW
--GROUP BY t.prs_perslid_key,
-- TO_CHAR (rrr.res_rsv_ruimte_van,
-- 'yyyy/q')) x
GROUP BY x.prs_perslid_key, x.periode) x
LEFT JOIN
(SELECT pw.prs_perslid_key,
wp.prs_alg_ruimte_key,
pw.prs_perslidwerkplek_key, -- Laagste/oudste PW!
pw.prs_perslidwerkplek_volgnr
FROM prs_perslidwerkplek pw, prs_werkplek wp
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND NOT EXISTS
(SELECT 1
FROM prs_perslidwerkplek pw2, prs_werkplek wp2
WHERE pw2.prs_perslid_key = pw.prs_perslid_key
AND pw2.prs_werkplek_key =
wp2.prs_werkplek_key
AND wp2.prs_werkplek_virtueel = 0
AND COALESCE (
pw2.prs_perslidwerkplek_volgnr,
10000 + pw2.prs_perslidwerkplek_key) <
COALESCE (
pw.prs_perslidwerkplek_volgnr,
10000
+ pw.prs_perslidwerkplek_key))) y
ON x.prs_perslid_key = y.prs_perslid_key,
prs_perslid p,
prs_v_perslid_fullnames_all pf,
prs_srtperslid sp,
alg_v_ruimte_gegevens rg,
alg_district d,
fac_gebruikersgroep gg,
fac_groep g
WHERE 1 = 1
--AND (x.mld_a + x.mld_k + x.mld_s + x.bes + x.res) > 5
AND x.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_key = pf.prs_perslid_key
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
AND y.prs_alg_ruimte_key = rg.alg_ruimte_key
AND rg.alg_district_key = d.alg_district_key
AND x.prs_perslid_key = gg.prs_perslid_key
AND gg.fac_groep_key = g.fac_groep_key;
CREATE OR REPLACE VIEW uwva_v_rap_bezoekers
(
fclt_f_locatie,
datum,
bezoek,
spreekuur,
spobilo
)
AS
SELECT locatie,
datum,
SUM (totbez - uurbez) bezoek,
SUM (uurbez) spreekuur,
SUM (spobez) spobilo
FROM ( SELECT l.alg_locatie_code locatie,
TRUNC (ba.bez_afspraak_datum) datum,
COUNT ( * ) totbez,
0 uurbez,
0 spobez
FROM bez_bezoekers bb, bez_afspraak ba, alg_locatie l
WHERE bb.bez_bezoekers_done IS NOT NULL -- Binnengemeld!
AND bb.bez_afspraak_key = ba.bez_afspraak_key
--AND ba.bez_afspraak_datum >
-- TRUNC (ADD_MONTHS (SYSDATE, -60), 'YYYY')
AND ba.alg_locatie_key = l.alg_locatie_key
GROUP BY l.alg_locatie_code, TRUNC (ba.bez_afspraak_datum)
UNION ALL
SELECT l.alg_locatie_code locatie,
TRUNC (ba.bez_afspraak_datum) datum,
0 totbez,
COUNT ( * ) uurbez,
0 spobez
FROM bez_bezoekers bb,
bez_afspraak ba,
alg_locatie l,
res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte r
WHERE bb.bez_bezoekers_done IS NOT NULL -- Binnengemeld!
AND bb.bez_afspraak_key = ba.bez_afspraak_key
--AND ba.bez_afspraak_datum >
-- TRUNC (ADD_MONTHS (SYSDATE, -60), 'YYYY')
AND ba.alg_locatie_key = l.alg_locatie_key
AND ba.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = r.res_ruimte_key
AND r.res_discipline_key IN -- Bookable by KZ planner/RESFOF
(SELECT ins_discipline_key
FROM fac_groeprechten
WHERE fac_groep_key = 61 -- KZ planner
AND fac_functie_key = 17) -- RESFOF
GROUP BY l.alg_locatie_code, TRUNC (ba.bez_afspraak_datum)
UNION ALL
SELECT locatie,
TRUNC (aanmaak) datum,
0 totbez,
0 uurbez,
COUNT ( * ) spobez
FROM uwva_v_spobilo
--WHERE aanmaak > TRUNC (ADD_MONTHS (SYSDATE, -60), 'YYYY')
GROUP BY locatie, TRUNC (aanmaak))
GROUP BY locatie, datum;
-- UWVA#26813: Rapportage van meldingen op objecten
-- Met scoping op discipline en gebouw (waarbij die laatste niets uithaalt als je voor minstens
-- <20><>n discipline vastgoedscope "Alles" hebt!)
CREATE OR REPLACE VIEW uwva_v_rap_objectmelding
AS
SELECT mld_melding_datum hide_f_srt,
sd.ins_srtdiscipline_prefix || m.mld_melding_key html_meldingnr,
TO_CHAR (mld_melding_datum, 'DD-MM-YYYY') fclt_d_datum,
TO_CHAR (mld_melding_datum, 'HH24:MI') tijd,
v.alg_gebouw_code gebouw,
v.alg_gebouw_key fclt_3d_gebouw_key,
v.alg_verdieping_code verdieping,
v.alg_ruimte_nr ruimte,
sd.ins_srtdiscipline_omschrijving fclt_f_meldingsoort,
md.ins_discipline_omschrijving fclt_f_productgroep,
md.ins_discipline_key fclt_3d_discipline_key,
std.mld_stdmelding_omschrijving fclt_f_melding,
m.mld_melding_omschrijving omschrijving,
m.mld_melding_opmerking afhandeling,
ms.mld_statuses_omschrijving status,
sd.ins_srtdeel_omschrijving fclt_f_objectsoort,
id.ins_deel_omschrijving fclt_f_object
FROM mld_melding m,
mld_discipline md,
mld_disc_params mdp,
alg_v_allonrgoed_gegevens v,
alg_locatie l,
alg_district di,
mld_stdmelding std,
ins_srtdiscipline sd,
mld_statuses ms,
mld_melding_object mo,
ins_deel id,
ins_srtdeel sd
WHERE m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = di.alg_district_key(+)
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys(+)
AND md.ins_discipline_key = mdp.mld_ins_discipline_key
AND md.ins_discipline_key = std.mld_ins_discipline_key
AND std.mld_stdmelding_key = m.mld_stdmelding_key
AND m.fac_activiteit_key IS NULL
AND ms.mld_statuses_key = m.mld_melding_status
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
AND mo.mld_melding_key = m.mld_melding_key
AND mo.mld_melding_object_verwijder IS NULL
AND id.ins_deel_key = mo.ins_deel_key
AND sd.ins_srtdeel_key = id.ins_srtdeel_key;
-- UWVA#27681 - Vervolg op bovenstaande rapportage (maar dan anders ;-)!
-- NB. Erg zware rapportage, dus via tabelizer?
CREATE OR REPLACE VIEW uwva_v_rap_opdr_doorloop
(
hide_f_srt,
opdrachtnr,
fclt_d_datum,
tijd,
fclt_f_meldingsoort,
fclt_3d_discipline_key,
fclt_f_productgroep,
fclt_f_melding,
omschrijving,
afhandeling,
fclt_f_bedrijf,
status,
--ordnew,
--ordafm,
doorlooptijd,
fclt_3d_gebouw_key,
fclt_f_gebouw,
verdieping,
ruimte,
fclt_f_objectsoort,
fclt_f_object
)
AS
WITH opdr
AS (SELECT o.mld_opdr_key opdr_key,
o.mld_melding_key mld_key,
o.mld_opdr_bedrijfopdr_volgnr volgnr,
sd.ins_srtdiscipline_omschrijving vakgroeptype,
md.ins_discipline_key vakgroep_key,
md.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_key stdmld_key,
sm.mld_stdmelding_omschrijving stdmld_oms,
o.mld_opdr_omschrijving oms,
o.mld_opdr_opmerking opm,
COALESCE (b.prs_bedrijf_naam, 'Intern: ' || p.prs_perslid_naam) bedrijf,
s.mld_statusopdr_omschrijving status,
--l.alg_locatie_key locatie_key,
--l.alg_locatie_code locatie,
aog.alg_gebouw_key gebouw_key,
aog.alg_gebouw_code gebouw,
aog.alg_verdieping_code verdieping,
aog.alg_ruimte_nr ruimte,
sd.ins_srtdeel_omschrijving,
d.ins_deel_omschrijving
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
prs_bedrijf b,
prs_perslid p,
mld_statusopdr s,
--alg_locatie l,
alg_v_allonrgoed_gegevens aog,
mld_melding_object mo,
ins_deel d,
ins_srtdeel sd
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = p.prs_perslid_key(+)
AND o.mld_statusopdr_key = s.mld_statusopdr_key
--AND m.mld_alg_locatie_key = l.alg_locatie_key
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys(+)
AND m.mld_melding_key = mo.mld_melding_key(+)
AND mo.mld_melding_object_verwijder IS NULL
AND mo.ins_deel_key = d.ins_deel_key(+)
AND d.ins_srtdeel_key = sd.ins_srtdeel_key(+)
AND m.mld_melding_datum >
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY'))
SELECT ordnew_date,
TO_CHAR (mld_key) || '/' || TO_CHAR (volgnr) opdrachtnr,
TO_CHAR (ordnew_date, 'DD-MM-YYYY') fclt_d_datum,
TO_CHAR (ordnew_date, 'HH24:MI') tijd,
vakgroeptype,
vakgroep_key,
vakgroep,
stdmld_oms,
oms,
opm,
bedrijf,
status,
--TO_CHAR (ordnew_date, 'DD-MM-YYYY HH24:MI:SS'),
--TO_CHAR (ordafm_date, 'DD-MM-YYYY HH24:MI:SS'),
DECODE (
ordafm_date,
NULL,
NULL,
CASE
WHEN alldag_uren = 0
THEN
'0d-0u-0m'
WHEN newdag_uren = 0 OR afmdag_uren = 0
THEN
CASE
WHEN TO_CHAR (ordafm_date, 'D') IN (1, 7)
OR mld_vrije_dagen_datum IS NOT NULL
THEN
TO_CHAR (workdays)
|| 'd-'
|| TO_CHAR (FLOOR (newdag_uren))
|| 'u-'
|| TO_CHAR (MOD (ROUND (newdag_uren * 60, 0), 60))
|| 'm'
ELSE
TO_CHAR (workdays - 1)
|| 'd-'
|| TO_CHAR (FLOOR (newdag_uren + afmdag_uren))
|| 'u-'
|| TO_CHAR(MOD (
CEIL (
(newdag_uren + afmdag_uren) * 60),
60))
|| 'm'
END
ELSE
CASE
WHEN TO_CHAR (ordafm_date, 'HH24MI') >=
TO_CHAR (ordnew_date, 'HH24MI')
THEN -- Aanname: als workdays=0, dan afm_t>new_t!
TO_CHAR (workdays) || 'd-'
|| TO_CHAR(FLOOR( (ordafm_date
- TO_DATE (
TO_CHAR (ordafm_date,
'DDMMYYYY')
|| TO_CHAR (ordnew_date,
'HH24MISS'),
'DDMMYYYYHH24MISS'))
* 24))
|| 'u-'
|| TO_CHAR(MOD (
CEIL( (ordafm_date
- TO_DATE (
TO_CHAR (ordafm_date,
'DDMMYYYY')
|| TO_CHAR (ordnew_date,
'HH24MISS'),
'DDMMYYYYHH24MISS'))
* 24
* 60),
60))
|| 'm'
ELSE -- Aanname: workdays>0!
TO_CHAR (workdays - 1)
|| 'd-'
|| TO_CHAR (FLOOR (newdag_uren + afmdag_uren))
|| 'u-'
|| TO_CHAR(MOD (
CEIL (
(newdag_uren + afmdag_uren) * 60),
60))
|| 'm'
END
END)
doorlooptijd,
gebouw_key,
gebouw,
verdieping,
ruimte,
ins_srtdeel_omschrijving,
ins_deel_omschrijving
FROM (SELECT opdr.opdr_key,
opdr.mld_key,
opdr.volgnr,
opdr.vakgroeptype,
opdr.vakgroep_key,
opdr.vakgroep,
opdr.stdmld_oms,
opdr.oms,
opdr.opm,
opdr.bedrijf,
opdr.status,
ordnew.fac_tracking_datum ordnew_date,
ordafm.fac_tracking_datum ordafm_date,
fac.count_work_days (ordnew.fac_tracking_datum,
ordafm.fac_tracking_datum)
workdays,
uwva.bepaal_uwv_doorlooptijd (ordnew.fac_tracking_datum,
ordafm.fac_tracking_datum)
alldag_uren,
uwva.bepaal_uwv_doorlooptijd (
ordnew.fac_tracking_datum,
TRUNC (ordnew.fac_tracking_datum + 1))
newdag_uren,
uwva.bepaal_uwv_doorlooptijd (
TRUNC (ordafm.fac_tracking_datum),
ordafm.fac_tracking_datum)
afmdag_uren,
vd.mld_vrije_dagen_datum,
opdr.gebouw_key,
opdr.gebouw,
opdr.verdieping,
opdr.ruimte,
opdr.ins_srtdeel_omschrijving,
opdr.ins_deel_omschrijving
FROM opdr
LEFT JOIN fac_tracking ordnew
ON opdr.opdr_key = ordnew.fac_tracking_refkey
AND ordnew.fac_srtnotificatie_key = 125
LEFT JOIN fac_tracking ordafm
ON opdr.opdr_key = ordafm.fac_tracking_refkey
AND ordafm.fac_srtnotificatie_key = 26
LEFT JOIN mld_vrije_dagen vd
ON TRUNC (ordafm.fac_tracking_datum) =
TRUNC (vd.mld_vrije_dagen_datum));
-- UWVA#28572: MLD: rapport op behandelgroepen, vakgroeptype, vakgroep en mld
CREATE OR REPLACE VIEW uwva_v_rap_mld_behandelgroep
(
fclt_f_vakgroeptype,
fclt_f_vakgroep,
fclt_f_stdmelding,
fclt_f_behandelgroep
)
AS
SELECT t.ins_srtdiscipline_omschrijving,
v.ins_discipline_omschrijving,
s.mld_stdmelding_omschrijving,
b.mld_behandelgroep_naam
FROM ins_srtdiscipline t,
mld_discipline v,
mld_stdmelding s,
mld_behandelgroep b,
mld_disc_params d
WHERE s.mld_stdmelding_verwijder IS NULL
AND v.ins_discipline_verwijder IS NULL
AND t.ins_srtdiscipline_verwijder IS NULL
AND (s.mld_stdmelding_vervaldatum IS NULL
OR s.mld_stdmelding_vervaldatum > SYSDATE)
AND t.ins_srtdiscipline_key = v.ins_srtdiscipline_key
AND v.ins_discipline_key = s.mld_ins_discipline_key
AND d.mld_ins_discipline_key = v.ins_discipline_key
AND b.mld_behandelgroep_key(+) = d.mld_behandelgroep_key;
-- UWVA#29463: MLD: rapport standaardmeldingen icm bedrijf-dienst-locatie
CREATE OR REPLACE VIEW UWVA_V_RAP_MLDOPR_DIENSTLOC
(
VAKGROEPTYPE,
FCLT_F_VAKGROEP,
FCLT_F_MELDING,
FCLT_F_DIENST,
AUTOMATISCHE_OPDRACHT,
FCLT_F_LEVERANCIER,
FCLT_F_PLAATS
)
AS
SELECT srt.ins_srtdiscipline_omschrijving Vakgroeptype,
d.ins_discipline_omschrijving Vakgroep,
std.mld_stdmelding_omschrijving Melding,
pd.prs_dienst_omschrijving Dienst,
(CASE mld_stdmelding_autoorder WHEN 1 THEN 'Ja' ELSE 'Nee' END)
auto_opdracht,
b.prs_bedrijf_naam Leverancier,
COALESCE (l.alg_locatie_omschrijving,
g.alg_gebouw_omschrijving,
'Geen specifieke locatie/gebouw')
Plaats
FROM mld_stdmelding std,
mld_discipline d,
ins_srtdiscipline srt,
prs_dienst pd,
prs_bedrijfdienstlocatie bdl,
prs_bedrijf b,
alg_gebouw g,
alg_locatie l
WHERE std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = srt.ins_srtdiscipline_key
AND pd.prs_dienst_key = std.prs_dienst_key
AND pd.prs_dienst_key = bdl.prs_dienst_key
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key
AND b.prs_bedrijf_verwijder IS NULL
AND std.mld_stdmelding_verwijder IS NULL
AND std.mld_stdmelding_vervaldatum IS NULL
AND d.ins_discipline_verwijder IS NULL
AND srt.ins_srtdiscipline_verwijder IS NULL
AND g.alg_gebouw_verwijder IS NULL
AND l.alg_locatie_verwijder IS NULL
AND g.alg_gebouw_key(+) = bdl.alg_gebouw_key
AND l.alg_locatie_key(+) = bdl.alg_locatie_key;
-- UWVA#31184
-- Rapportage gebruiker WEB_USERXX in rapporten, autorisatiegroepen, labels, themas en menu-items
CREATE OR REPLACE VIEW UWVA_V_RAP_FAC_WEBUSR
(
FCLT_F_FUNCTIE,
FUNCTIE_OMSCHRIJVING,
FCLT_F_TYPE,
KEY,
OMSCHRIJVING,
EXTRA
)
AS
SELECT ff.fac_functie_code functie,
ff.fac_functie_omschrijving beschrijving,
'Menu' Soort,
fm.fac_menu_key key,
COALESCE (fm.fac_menu_altlabel, fi.fac_menuitems_label)
omschrijving,
DECODE (COALESCE (fac_menu_altgroep, fac_menuitems_groep),
1, 'Service',
2, 'Admin',
'Zelfservice')
|| ' ('
|| fac_menu_volgnr
|| ')'
Extra
FROM fac_menuitems fi, fac_functie ff, fac_menu fm
WHERE fm.fac_functie_key = ff.fac_functie_key
AND ff.fac_functie_code LIKE 'WEB_USER%'
AND fi.fac_menuitems_key(+) = fm.fac_menuitems_key
UNION ALL
SELECT ff.fac_functie_code functie,
ff.fac_functie_omschrijving beschrijving,
'Rapport' Soort,
fr.fac_usrrap_key key,
fr.fac_usrrap_omschrijving omschrijving,
fr.fac_usrrap_view_name Extra
FROM fac_usrrap fr, fac_functie ff
WHERE fr.fac_functie_key = ff.fac_functie_key
AND ff.fac_functie_code LIKE 'WEB_USER%'
UNION ALL
SELECT ff.fac_functie_code functie,
ff.fac_functie_omschrijving beschrijving,
'Label' Soort,
cl.cad_label_key key,
cl.cad_label_omschrijving omschrijving,
cl.cad_label_view Extra
FROM cad_label cl, fac_functie ff
WHERE cl.fac_functie_key = ff.fac_functie_key
AND ff.fac_functie_code LIKE 'WEB_USER%'
UNION ALL
SELECT ff.fac_functie_code functie,
ff.fac_functie_omschrijving beschrijving,
'Thema' Soort,
ct.cad_thema_key key,
ct.cad_thema_omschrijving omschrijving,
ct.cad_thema_view Extra
FROM cad_thema ct, fac_functie ff
WHERE ct.fac_functie_key = ff.fac_functie_key
AND ff.fac_functie_code LIKE 'WEB_USER%'
UNION ALL
SELECT ff.fac_functie_code functie,
ff.fac_functie_omschrijving beschrijving,
'Autorisatiegroep' Soort,
fg.fac_groep_key key,
fg.fac_groep_omschrijving omschrijving,
NULL Extra
FROM fac_groeprechten fgr, fac_functie ff, fac_groep fg
WHERE fgr.fac_functie_key = ff.fac_functie_key
AND ff.fac_functie_code LIKE 'WEB_USER%'
AND fg.fac_groep_key = fgr.fac_groep_key;
-- UWVA#28837/UWVA#30332:
-- Alle op te roepen bezoekers, dat is:
-- * bezoeker is binnen, maar nog niet opgeroepen (en nog niet vertrokken)
-- * bezoeker is aangemeld voor vandaag
-- * bij de afspraak hoort een oproep-actie (geen ophaal-actie)
-- Filtering via de API kan op gebouw, verdieping en wachtzone (groep), dus die ook ophalen
CREATE OR REPLACE VIEW uwva_v_api_bez_oproep
AS
SELECT TO_CHAR (b.bez_bezoekers_oproep, 'YYYY-MM-DD HH24:MI:SS')
oproep_tijd,
COALESCE (rr.res_ruimte_friendlyname, rr.res_ruimte_nr) ruimtenr,
COALESCE (rr.res_ruimte_groep, ' ') groep,
b.bez_bezoekers_pasnr oproep_nummer,
b.bez_bezoekers_key bezoeker_key,
g.alg_gebouw_code gebouw_code,
g.alg_gebouw_key gebouw_key,
v.alg_verdieping_code verdieping_code,
v.alg_verdieping_key verdieping_key
FROM bez_bezoekers b,
bez_afspraak a,
bez_actie ac,
res_rsv_ruimte rrr,
res_ruimte_opstelling ro,
res_ruimte rr,
res_alg_ruimte rar,
alg_ruimte r,
alg_verdieping v,
alg_gebouw g
WHERE rrr.res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE)
AND TRUNC (SYSDATE) + 1
AND a.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND ac.bez_actie_key = a.bez_actie_key
AND BITAND (ac.bez_actie_flags, 1) = 1
AND b.bez_afspraak_key = a.bez_afspraak_key
AND b.bez_bezoekers_done IS NOT NULL
AND b.bez_bezoekers_oproep IS NOT NULL
AND b.bez_bezoekers_out IS NULL
AND b.bez_bezoekers_pasnr IS NOT NULL
AND ro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key
AND rr.res_ruimte_key = ro.res_ruimte_key
AND rar.res_ruimte_key = rr.res_ruimte_key
AND r.alg_ruimte_key = rar.alg_ruimte_key
AND r.alg_ruimte_verwijder IS NULL
AND v.alg_verdieping_key = r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
ORDER BY 1 DESC;
-- ------------------------------------------------ --
-- Noficatiejobs/views (zoveel mogelijk bij elkaar) --
-- ------------------------------------------------ --
-- UWVA#28207: Bevat CUST22-noti naar besteller+budgethouder bij mutaties >?500
-- in VOB-bestelling (door Worldmeetings).
-- UWVA#38338: VO2017/CUST28-noti naar bugethouder bij registratie (MLDNEW) van
-- VO-boeking. Bovendien vervalt per VO2017 de CUST22-noti cq. deze
-- wordt vanzelf niet meer verstuurd en kan tzt. worden verwijderd).
-- UWVA#51769: CUST22-noti verwijderd.
CREATE OR REPLACE VIEW uwva_v_noti_vob
(
code,
sender,
receiver,
text,
key,
par1,
par2,
xkey
)
AS -- MLDNEW naar budgethouder (per UWVA107/VO2017)
SELECT sn.fac_srtnotificatie_code,
NULL,
prs.getkpverantwoordelijke (m.prs_kostenplaats_key, 2, -1),
REPLACE (
REPLACE (
REPLACE (sn.fac_srtnotificatie_oms,
'##KEY##', TO_CHAR (m.mld_melding_key)),
'##DISC##', TO_CHAR (md.ins_discipline_omschrijving)),
'##STDMLD##', TO_CHAR (sm.mld_stdmelding_omschrijving)),
m.mld_melding_key refkey,
NULL refoms,
NULL,
NULL
FROM fac_tracking t, mld_melding m, mld_stdmelding sm, mld_discipline md, fac_srtnotificatie sn, fac_notificatie_job nj
WHERE t.fac_srtnotificatie_key = 21 -- MLDNEW
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_discipline_key IN (457, 458) -- Bijeenkomsten/Overnachtingen
AND sn.fac_srtnotificatie_code = 'CUST28'
AND nj.fac_notificatie_job_view = 'UWVA_V_NOTI_VOB'
AND t.fac_tracking_datum BETWEEN nj.fac_notificatie_job_nextrun - (nj.fac_notificatie_job_interval / 24) AND nj.fac_notificatie_job_nextrun;
-- UWVA#28494: FDO CNT noti reminder naar LFM
CREATE OR REPLACE VIEW UWVA_V_NOTI_CNT_LFM_REMINDER
(
CODE,
SENDER,
RECEIVER,
TEXT,
KEY,
PAR1,
PAR2,
XKEY
)
AS
SELECT 'CUST23',
NULL,
fac.safe_to_number (ak.alg_onrgoedkenmerk_waarde),
'Controle Facilitaire Dienstovereenkomst - Contract: '
|| c.cnt_contract_omschrijving,
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
NULL,
NULL
FROM cnt_contract c,
cnt_contract_plaats cp,
alg_gebouw g,
alg_onrgoedkenmerk ak
WHERE ins_discipline_key = 358
AND cnt_contract_looptijd_tot > SYSDATE
AND c.cnt_contract_verwijder IS NULL
AND c.cnt_contract_key = cp.cnt_contract_key
AND cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_alg_plaats_code = 'G'
AND g.alg_gebouw_key = cp.cnt_alg_plaats_key
AND alg_onrgoedkenmerk_verwijder IS NULL
AND alg_onrgoed_niveau = 'L'
AND alg_kenmerk_key = 1020
AND g.alg_locatie_key = ak.alg_onrgoed_key
UNION ALL
SELECT 'CUST23',
NULL,
fac.safe_to_number (ak.alg_onrgoedkenmerk_waarde),
'Controle Facilitaire Dienstovereenkomst - '
|| c.cnt_contract_omschrijving,
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
NULL,
NULL
FROM cnt_contract c,
cnt_contract_plaats cp,
alg_locatie l,
alg_onrgoedkenmerk ak
WHERE ins_discipline_key = 358
AND cnt_contract_looptijd_tot > SYSDATE
AND c.cnt_contract_verwijder IS NULL
AND c.cnt_contract_key = cp.cnt_contract_key
AND cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_alg_plaats_code = 'L'
AND l.alg_locatie_key = cp.cnt_alg_plaats_key
AND alg_onrgoedkenmerk_verwijder IS NULL
AND alg_onrgoed_niveau = 'L'
AND alg_kenmerk_key = 1020
AND l.alg_locatie_key = ak.alg_onrgoed_key;
-- UWVA#61083: Bewaartermijnen/automatische schoning!
CREATE OR REPLACE VIEW UWVA_V_NOTI_AUTO_SCHONING
(
CODE,
SENDER,
RECEIVER,
TEXT,
KEY,
XKEY,
XSENDER,
XEMAIL,
XMOBILE,
ATTACHMENTS
)
AS
SELECT sn.fac_srtnotificatie_code,
NULL,
p.prs_perslid_key,
sn.fac_srtnotificatie_oms,
r.fac_usrrap_key,
NULL,
NULL,
NULL,
NULL,
NULL
FROM fac_usrrap r,
fac_gebruikersgroep gg,
prs_v_aanwezigperslid p,
fac_srtnotificatie sn
WHERE r.fac_usrrap_key = 142 -- Dummy rapport? [Te schonen BES/BEZ/RES/MLD/CNT-data te zwaar]
AND gg.fac_groep_key IN (1, 741) -- Infobeheer/HV Contract admin
AND gg.prs_perslid_key = p.prs_perslid_key
AND sn.fac_srtnotificatie_code = 'CUST29'
AND TO_CHAR (SYSDATE, 'dd-mm') = '10-01' -- Notificatie op 10/1 tbv. schoning op 1/3!
;
-- UWVA#74660: CUST30-noti als een job niet heeft gedraaid!
CREATE OR REPLACE VIEW UWVA_V_NOTI_BEWAKING_JOBS
(
CODE,
SENDER,
RECEIVER,
TEXT,
KEY,
XKEY,
XSENDER,
XEMAIL,
XMOBILE,
ATTACHMENTS
)
AS
SELECT sn.fac_srtnotificatie_code,
NULL,
p.prs_perslid_key,
REPLACE (sn.fac_srtnotificatie_oms, '##JOB##', ea.fac_export_app_code || '-export'),
DECODE (ea.fac_export_app_key,
4, 1,
20, 2,
1, 3,
5, 4,
21, 5,
22, 6,
8, 7,
12, 8,
10, 9,
11, 10,
7, 11,
13, 12,
14, 13,
16, 14,
18, 15,
15, 16,
9, 17,
17, 18,
2, 19,
20)
alg_locatie_key, -- Bah, vieze truc met dummy locaties om ontdubbelen op basis van gelijke CUST30 naar gelijke personen te voorkomen!
NULL,
NULL,
NULL,
NULL,
NULL
FROM fac_gebruikersgroep gg,
prs_v_aanwezigperslid p,
fac_srtnotificatie sn,
fac_notificatie_job nj,
fac_export_app ea
WHERE gg.fac_groep_key = 1 -- Infobeheer
AND gg.prs_perslid_key = p.prs_perslid_key
AND sn.fac_srtnotificatie_code = 'CUST30'
AND nj.fac_notificatie_job_view = 'UWVA_V_NOTI_BEWAKING_JOBS'
AND ea.fac_export_app_key IN
(4, -- 17:00=HV_DUMP
20, -- 17:00=SCH
1, -- 17:00=BROC
5, -- 20:00=CPUA
21, -- 22:00=VINDERDUMP
22, -- 22:00=VINDER2ABS
8, -- 04:00=QLIKVIEW_BESTEL
12, -- 04:00=QLIKVIEW_BEDRIJF
10, -- 04:00=QLIKVIEW_CONTR
11, -- 04:00=QLIKVIEW_FACTUUR
7, -- 04:00=QLIKVIEW_MELDING
13, -- 04:00=QV_KLACHTBEOORD
14, -- 04:00=QV_KLACHTCATGOR
16, -- 04:00=QV_VERTAALWERK
18, -- 04:00=QV_MLD_OBJECTEN
15, -- 04:00=QV_OPDRTELAAT
9, -- 04:00=QLIKVIEW_RESERV
17, -- 04:00=QV_AUTORISATIES
2) -- 05:00=AFTERSALES
AND TRUNC (ea.fac_export_app_datum + 1) = TRUNC (SYSDATE)
AND TO_CHAR (ea.fac_export_app_datum + (1 / 24), 'hh24') = TO_CHAR (SYSDATE, 'hh24')
UNION ALL
SELECT sn.fac_srtnotificatie_code,
NULL,
p.prs_perslid_key,
REPLACE (sn.fac_srtnotificatie_oms, '##JOB##', ia.fac_import_app_code || '-import'),
DECODE (ia.fac_import_app_key,
61, 101,
602, 102,
462, 103,
104)
alg_locatie_key, -- Bah, vieze truc met dummy locaties om ontdubbelen op basis van gelijke CUST30 naar gelijke personen te voorkomen!
NULL,
NULL,
NULL,
NULL,
NULL
FROM fac_gebruikersgroep gg,
prs_v_aanwezigperslid p,
fac_srtnotificatie sn,
fac_notificatie_job nj,
fac_import_app ia,
( SELECT fac_import_app_key, MAX (fac_import_key) max_import_key
FROM fac_import
-- WHERE fac_import_app_key IN (61, 602, 462, 942) -- KPN/KPN_PRJ/ABS/PSHCM
GROUP BY fac_import_app_key) i,
( SELECT fac_import_key, MAX (imp_log_datum) max_log_datum
FROM imp_log
-- WHERE imp_log_status = 'S'
GROUP BY fac_import_key) l
WHERE gg.fac_groep_key = 1 -- Infobeheer
AND gg.prs_perslid_key = p.prs_perslid_key
AND sn.fac_srtnotificatie_code = 'CUST30'
AND nj.fac_notificatie_job_view = 'UWVA_V_NOTI_BEWAKING_JOBS'
AND ia.fac_import_app_key IN (61, 602, 462, 942) -- KPN/KPN_PRJ/ABS/PSHCM
AND ia.fac_import_app_key = i.fac_import_app_key(+)
AND i.max_import_key = l.fac_import_key(+)
AND TO_CHAR (SYSDATE, 'hh24') = '07' -- Imports om 7:00 controleren
AND COALESCE (l.max_log_datum, TO_DATE ('01-01-2023', 'dd-mm-yyyy')) < TRUNC (SYSDATE) -- Vandaag niet gedraaid!
;
--UWVA#72051 mail sturen als de catalogus van de reserveerbare ruimte aangepast wordt, loopt met een interval van 24 uur voor wijzigingen van de dag ervoor.
CREATE OR REPLACE VIEW UWVA_V_NOTI_EAFSPRAAK_RESRUIMTE
(
CODE,
SENDER,
RECEIVER,
TEXT,
KEY,
XKEY,
XSENDER,
XEMAIL,
XMOBILE,
ATTACHMENTS
)
AS
SELECT 'CUST31',
NULL,
NULL,
'Catalogus van ruimte '
|| rr.res_ruimte_nr
|| ' is gewijzigd in Facilitor',
NULL,
NULL,
NULL,
(SELECT LISTAGG (p.prs_perslid_email, ';')
FROM fac_gebruikersgroep f, prs_perslid p
WHERE f.PRS_PERSLID_KEY = p.PRS_PERSLID_KEY
AND f.fac_groep_key = 2021 -- Accounts verbonden aan E-Afspraak
AND p.prs_perslid_verwijder IS NULL)
XEMAIL,
NULL,
NULL
FROM fac_audit fa, res_ruimte rr
WHERE fa.fac_audit_tabelkey = rr.res_ruimte_key
AND fa.fac_audit_veldnaam = 'res_discipline_key'
AND TRUNC (fa.fac_audit_datum) = TRUNC (SYSDATE -1);
-- UWVA#36904
CREATE OR REPLACE VIEW uwva_v_rap_res_vc_perslid
(
person_id,
person_name,
person_email,
person_phone
)
AS
SELECT p.prs_perslid_key,
pf.prs_perslid_naam_full,
p.prs_perslid_email,
COALESCE (p.prs_perslid_telefoonnr, p.prs_perslid_mobiel)
FROM prs_perslid p, prs_v_perslid_fullnames_all pf
WHERE p.prs_perslid_key = pf.prs_perslid_key
AND EXISTS
(SELECT 1
FROM res_rsv_ruimte
WHERE res_activiteit_key = 241 -- Video conference
AND res_rsv_ruimte_van > TRUNC (SYSDATE)
AND (res_rsv_ruimte_host_key = p.prs_perslid_key
OR res_rsv_ruimte_contact_key =
p.prs_perslid_key));
-- UWVA#31552: RTMs incl. 3 rapportages waarnaar kan worden doorgeklikt!
-- De MLDOPEN-rapportage dubbel uitgevoerd om 1x op organisatie en
-- 1x op plaats te kunnen 3d-scopen!
CREATE OR REPLACE VIEW UWVA_V_RAP_MLDOPEN_ORANJE1 -- Tbv. plaats-scopen
(
FCLT_3D_LOCATIE_KEY,
FCLT_3D_AFDELING_KEY,
HIDE_F_SORTERING,
HIDE_F_SPECIALISATIE,
PRIO,
PREFIX,
MLD_MELDING_KEY,
HIDE_F_INS_DISCIPLINE_KEY,
INS_DISCIPLINE_OMS,
MLD_STDMELDING_OMS,
BEGINDATUM,
BEGINTIJD,
PLAATS,
ALG_RUIMTE_OMSCHRIJVING,
OMSCHRIJVING,
MELDER,
STATUS,
HIDE_F_BEHANDELAAR_KEY,
BEHANDELAAR,
EINDDATUM,
EINDTIJD
)
AS
SELECT l.alg_locatie_key,
p.prs_afdeling_key,
TO_CHAR (m.mld_melding_datum, 'yyyymmddhh24:mi:ss'),
SUBSTR (UPPER (ud.fac_usrdata_omschr), 1, 3),
TO_CHAR (m.mld_melding_spoed),
sd.ins_srtdiscipline_prefix,
TO_CHAR (m.mld_melding_key),
md.ins_discipline_key,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
TO_CHAR (m.mld_melding_datum, 'dd-mm-yyyy') datum,
TO_CHAR (m.mld_melding_datum, 'hh24:mi') tijd,
DECODE (
og.alg_type,
'R',
l.alg_locatie_code
|| '-'
|| og.alg_gebouw_code
|| '-'
|| og.alg_verdieping_code
|| og.alg_ruimte_nr,
'V',
l.alg_locatie_code
|| '-'
|| og.alg_gebouw_code
|| '-'
|| og.alg_verdieping_code,
'G',
l.alg_locatie_code || '-' || og.alg_gebouw_code,
'T',
l.alg_locatie_code || '-' || og.alg_terreinsector_code,
l.alg_locatie_code)
plaatsaanduiding,
DECODE (og.alg_type, 'R', og.alg_ruimte_omschrijving, NULL)
alg_ruimte_omschrijving,
m.mld_melding_omschrijving,
pm.prs_perslid_naam_full,
ms.mld_statuses_omschrijving,
pb.prs_perslid_key,
pb.prs_perslid_naam_full,
TO_CHAR (m.mld_melding_einddatum_std, 'dd-mm-yyyy') einddatum,
TO_CHAR (m.mld_melding_einddatum_std, 'hh24:mi') eindtijd
FROM mld_melding m,
mld_statuses ms,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
(SELECT *
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142) ud,
alg_locatie l,
alg_v_onroerendgoed_gegevens og,
prs_perslid p,
prs_v_perslid_fullnames_all pm,
prs_v_perslid_fullnames_all pb
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_melding_einddatum_std > SYSDATE
AND m.mld_melding_status = ms.mld_statuses_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key =
fac.safe_to_number (ud.fac_usrdata_code)
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND m.prs_perslid_key_voor = pm.prs_perslid_key
AND m.mld_melding_behandelaar_key = pb.prs_perslid_key(+)
AND SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7 * m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')) = -1;
-- Ongeacht specialisatie!!!
CREATE OR REPLACE VIEW UWVA_V_RAP_MLDOPEN_ORANJE2 -- Tbv. organisatie-scopen
(
FCLT_3D_LOCATIE_KEY,
FCLT_3D_AFDELING_KEY,
HIDE_F_SORTERING,
HIDE_F_SPECIALISATIE,
PRIO,
PREFIX,
MLD_MELDING_KEY,
HIDE_F_INS_DISCIPLINE_KEY,
INS_DISCIPLINE_OMS,
MLD_STDMELDING_OMS,
BEGINDATUM,
BEGINTIJD,
PLAATS,
ALG_RUIMTE_OMSCHRIJVING,
OMSCHRIJVING,
MELDER,
STATUS,
HIDE_F_BEHANDELAAR_KEY,
BEHANDELAAR,
EINDDATUM,
EINDTIJD
)
AS
SELECT l.alg_locatie_key,
p.prs_afdeling_key,
TO_CHAR (m.mld_melding_datum, 'yyyymmddhh24:mi:ss'),
NULL,
TO_CHAR (m.mld_melding_spoed),
sd.ins_srtdiscipline_prefix,
TO_CHAR (m.mld_melding_key),
md.ins_discipline_key,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
TO_CHAR (m.mld_melding_datum, 'dd-mm-yyyy') datum,
TO_CHAR (m.mld_melding_datum, 'hh24:mi') tijd,
DECODE (
og.alg_type,
'R',
l.alg_locatie_code
|| '-'
|| og.alg_gebouw_code
|| '-'
|| og.alg_verdieping_code
|| og.alg_ruimte_nr,
'V',
l.alg_locatie_code
|| '-'
|| og.alg_gebouw_code
|| '-'
|| og.alg_verdieping_code,
'G',
l.alg_locatie_code || '-' || og.alg_gebouw_code,
'T',
l.alg_locatie_code || '-' || og.alg_terreinsector_code,
l.alg_locatie_code)
plaatsaanduiding,
DECODE (og.alg_type, 'R', og.alg_ruimte_omschrijving, NULL)
alg_ruimte_omschrijving,
m.mld_melding_omschrijving,
pm.prs_perslid_naam_full,
ms.mld_statuses_omschrijving,
pb.prs_perslid_key,
pb.prs_perslid_naam_full,
TO_CHAR (m.mld_melding_einddatum_std, 'dd-mm-yyyy') einddatum,
TO_CHAR (m.mld_melding_einddatum_std, 'hh24:mi') eindtijd
FROM mld_melding m,
mld_statuses ms,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
alg_locatie l,
alg_v_onroerendgoed_gegevens og,
prs_perslid p,
prs_v_perslid_fullnames_all pm,
prs_v_perslid_fullnames_all pb
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_melding_einddatum_std > SYSDATE
AND m.mld_melding_status = ms.mld_statuses_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
--AND m.prs_perslid_key_voor = p.prs_perslid_key
--AND m.prs_perslid_key_voor = pm.prs_perslid_key
--AND m.mld_melding_behandelaar_key = pb.prs_perslid_key(+)
AND m.prs_perslid_key_voor = pm.prs_perslid_key
AND m.mld_melding_behandelaar_key = p.prs_perslid_key(+)
AND m.mld_melding_behandelaar_key = pb.prs_perslid_key(+)
AND SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7 * m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')) = -1;
-- Specialisatie van melding = specialisatie van opdracht!
-- SLA van melding bepalend voor 70% criterium (= oranje)!
CREATE OR REPLACE VIEW UWVA_V_RAP_ORDOPEN_ORANJE -- Tbv. plaats-scopen
(
FCLT_3D_LOCATIE_KEY,
--FCLT_3D_AFDELING_KEY,
HIDE_F_SORTERING,
HIDE_F_SPECIALISATIE,
PRIO,
PREFIX,
MLD_MELDING_KEY,
VOLGNR,
MLD_OPDR_KEY,
OPDRACHTTYPE,
PLAATS,
ALG_RUIMTE_OMSCHRIJVING,
--HIDE_F_INS_DISCIPLINE_KEY,
--INS_DISCIPLINE_OMS,
MLD_STDMELDING_OMS,
OMSCHRIJVING,
BEGINDATUM,
--BEGINTIJD,
MELDINGSTATUS,
OPDRACHTSTATUS,
EINDDATUM,
--EINDTIJD,
HIDE_F_UITVOERENDE_KEY,
UITVOERENDE,
AFHANDELING,
KOSTEN
)
AS
SELECT l.alg_locatie_key,
--p.prs_afdeling_key,
TO_CHAR (o.mld_opdr_einddatum, 'yyyymmddhh24:mi:ss'),
SUBSTR (UPPER (ud.fac_usrdata_omschr), 1, 3),
TO_CHAR (m.mld_melding_spoed),
sd.ins_srtdiscipline_prefix,
TO_CHAR (m.mld_melding_key),
TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
TO_CHAR (o.mld_opdr_key),
ot.mld_typeopdr_omschrijving,
DECODE (
og.alg_type,
'R',
l.alg_locatie_code
|| '-'
|| og.alg_gebouw_code
|| '-'
|| og.alg_verdieping_code
|| og.alg_ruimte_nr,
'V',
l.alg_locatie_code
|| '-'
|| og.alg_gebouw_code
|| '-'
|| og.alg_verdieping_code,
'G',
l.alg_locatie_code || '-' || og.alg_gebouw_code,
'T',
l.alg_locatie_code || '-' || og.alg_terreinsector_code,
l.alg_locatie_code)
plaatsaanduiding,
DECODE (og.alg_type, 'R', og.alg_ruimte_omschrijving, NULL)
alg_ruimte_omschrijving,
--md.ins_discipline_key,
--md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
o.mld_opdr_omschrijving,
TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy') datum,
--TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') tijd,
ms.mld_statuses_omschrijving,
os.mld_statusopdr_omschrijving,
TO_CHAR (o.mld_opdr_einddatum, 'dd-mm-yyyy') einddatum,
--TO_CHAR (o.mld_opdr_einddatum, 'hh24:mi') eindtijd,
o.mld_uitvoerende_keys,
COALESCE (b.prs_bedrijf_naam, puv.prs_perslid_naam_full)
uitvoerende,
o.mld_opdr_opmerking,
o.mld_opdr_kosten
FROM mld_opdr o,
mld_statusopdr os,
mld_typeopdr ot,
prs_bedrijf b, -- Externe leverancier
prs_v_perslid_fullnames_all puv, -- Interne uitvoerende
mld_melding m,
mld_statuses ms,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
(SELECT *
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142) ud,
alg_locatie l,
alg_v_onroerendgoed_gegevens og,
prs_perslid p
WHERE o.mld_statusopdr_key IN (3, 4, 5, 8, 10) -- 3-Ter fiattering, 4-Gefiatteerd, 5-Uitgegeven, 8-Geaccepteerd, 10-Ter goedkeuring
AND o.mld_statusopdr_key = os.mld_statusopdr_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = puv.prs_perslid_key(+)
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_melding_einddatum_std > SYSDATE
AND m.mld_melding_status = ms.mld_statuses_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key =
fac.safe_to_number (ud.fac_usrdata_code)
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7 * m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')) = -1;
-- 12x UWVA_V_GRAPH_MLDOPEN_XXX/<2F><>n per specialisatie zoals gedefinieerd in
-- Eigen tabel met key=1142!
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_BES -- BHV/EVE/IEO/KLI/MUS/PEI/PEL/SBL/TIN/VEO/VEB
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=BES'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'BES')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_BHV
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=BHV'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'BHV')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_EVE
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=EVE'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'EVE')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_IEO
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=IEO'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'IEO')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_KLI
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=KLI'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'KLI')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_MUS
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=MUS'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'MUS')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_PEI
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=PEI'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'PEI')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_PEL
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=PEL'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'PEL')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_SBL
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=SBL'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'SBL')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_TIN
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=TIN'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'TIN')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_VEO
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=VEO'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'VEO')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_VEB
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT x.vakgroep_oms,
x.ruimoptijd groen,
x.totaal - x.ruimoptijd - x.echttelaat oranje,
x.echttelaat rood,
TO_CHAR (999999 - x.totaal) || x.vakgroep_oms volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1285'
|| '&'
|| 'hide_f_specialisatie=VEB'
|| '&'
|| 'hide_f_ins_discipline_key='
|| TO_CHAR (x.ins_discipline_key)
FROM ( SELECT md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving
vakgroep_oms,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key IN
(SELECT fac.safe_to_number (fac_usrdata_code)
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 1142
AND SUBSTR (UPPER (fac_usrdata_omschr),
1,
3) = 'VEB')
GROUP BY md.ins_discipline_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| md.ins_discipline_omschrijving) x
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
SELECT ' ',
0,
0,
0,
'999999',
' '
FROM DUAL;
-- Tov. SLA van melding of geplande einddatum van melding?
-- Lopend incl. meldingstatus 7-Uitgegeven, maar niet als opdracht belegd?
CREATE OR REPLACE VIEW UWVA_V_GRAPH_MLDOPEN_BHND
(
FCLT_3D_AFDELING_KEY,
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT prs_afdeling_key,
prs_perslid_naam_full,
ruimoptijd groen,
totaal - ruimoptijd - echttelaat oranje,
echttelaat rood,
TO_CHAR (999999 - totaal) || prs_perslid_naam_full volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1286'
|| '&'
|| 'hide_f_behandelaar_key='
|| TO_CHAR (prs_perslid_key)
FROM ( SELECT p.prs_afdeling_key,
pb.prs_perslid_key,
pb.prs_perslid_naam_full,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_melding m,
prs_perslid p,
prs_v_perslid_fullnames_all pb
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
AND m.mld_melding_behandelaar_key = p.prs_perslid_key
AND p.prs_perslid_key = pb.prs_perslid_key
--AND NOT EXISTS
-- (SELECT 1
-- FROM mld_opdr
-- WHERE mld_statusopdr_key IN (3, 4, 5, 8, 10) -- 3-Ter fiattering, 4-Gefiatteerd, 5-Uitgegeven, 8-Geaccepteerd, 10-Ter goedkeuring
-- AND mld_melding_key = m.mld_melding_key)
GROUP BY p.prs_afdeling_key,
pb.prs_perslid_key,
pb.prs_perslid_naam_full);
-- Per opdracht (>1 per melding)?
-- Tov. SLA van melding, geplande einddatum van melding of geplande einddatum van opdracht?
CREATE OR REPLACE VIEW UWVA_V_GRAPH_ORDOPEN_UITV_I
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT uitvoerende,
ruimoptijd groen,
totaal - ruimoptijd - echttelaat oranje,
echttelaat rood,
TO_CHAR (999999 - totaal) || uitvoerende volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1287'
|| '&'
|| 'hide_f_uitvoerende_key='
|| TO_CHAR (mld_uitvoerende_keys)
FROM ( SELECT o.mld_uitvoerende_keys,
COALESCE (b.prs_bedrijf_naam, puv.prs_perslid_naam_full)
uitvoerende,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_opdr o,
(SELECT * -- Alleen interne relaties (1200 is aangevinkt)!
FROM prs_bedrijf b
WHERE EXISTS
(SELECT 1
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = b.prs_bedrijf_key
AND kl.prs_kenmerk_key = 1200 -- Intern
AND kl.prs_kenmerklink_waarde = 1)) b,
prs_v_perslid_fullnames_all puv, -- Interne uitvoerder
mld_melding m
WHERE o.mld_statusopdr_key IN (3, 4, 5, 8, 10) -- 3-Ter fiattering, 4-Gefiatteerd, 5-Uitgegeven, 8-Geaccepteerd, 10-Ter goedkeuring
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = puv.prs_perslid_key(+)
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
GROUP BY o.mld_uitvoerende_keys,
COALESCE (b.prs_bedrijf_naam, puv.prs_perslid_naam_full))
WHERE uitvoerende IS NOT NULL;
CREATE OR REPLACE VIEW UWVA_V_GRAPH_ORDOPEN_UITV_E
(
FCLT_XAS_,
FCLT_YAS_, -- groen=ruim op tijd (<70% tijdigheid verstreken)
FCLT_YAS2_, -- oranje=krap op tijd (>70% tijdigheid verstreken)
FCLT_YAS3_, -- rood=echt te laat
VOLGORDE,
FCLT_URL
)
AS
SELECT uitvoerende,
ruimoptijd groen,
totaal - ruimoptijd - echttelaat oranje,
echttelaat rood,
TO_CHAR (999999 - totaal) || uitvoerende volgorde,
'appl/fac/fac_report.asp?mode=list'
|| '&'
|| 'usrrap_key=1287'
|| '&'
|| 'hide_f_uitvoerende_key='
|| TO_CHAR (mld_uitvoerende_keys)
FROM ( SELECT o.mld_uitvoerende_keys,
b.prs_bedrijf_naam uitvoerende,
COUNT ( * ) totaal,
SUM(DECODE (
SIGN(mld.geteinddatum (
m.mld_melding_datum,
m.mld_stdmelding_key,
m.mld_melding_spoed,
NULL, -- Plaats binnen/kleiner locatie!
NULL, -- Object met laagste uitvoertijd
MLD_T_UITVOERTIJD (
0.7
* m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid))
- TRUNC (SYSDATE, 'mi')),
1,
1,
0))
ruimoptijd,
SUM(DECODE (
SIGN(m.mld_melding_einddatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
1,
0))
echttelaat
FROM mld_opdr o,
(SELECT * -- Alleen externe relaties (1200 is uitgevinkt)!
FROM prs_bedrijf b
WHERE NOT EXISTS
(SELECT 1
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = b.prs_bedrijf_key
AND kl.prs_kenmerk_key = 1200 -- Intern
AND kl.prs_kenmerklink_waarde = 1)) b,
mld_melding m
WHERE o.mld_statusopdr_key IN (3, 4, 5, 8, 10) -- 3-Ter fiattering, 4-Gefiatteerd, 5-Uitgegeven, 8-Geaccepteerd, 10-Ter goedkeuring
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
GROUP BY o.mld_uitvoerende_keys, b.prs_bedrijf_naam);
CREATE OR REPLACE VIEW UWVA_V_GRAPH_PPI_ACP (FCLT_XAS_, FCLT_YAS_)
AS
SELECT SUM (acceptatieoptijd) aantal, COUNT (mld_key) totaal
FROM (SELECT DISTINCT
m.mld_melding_key mld_key,
DECODE (
SIGN(m.mld_melding_acceptdatum_std
- TRUNC (SYSDATE, 'mi')),
-1,
0,
1)
acceptatieoptijd
FROM mld_melding m
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
);
CREATE OR REPLACE VIEW UWVA_V_GRAPH_PPI_AFM (FCLT_XAS_, FCLT_YAS_)
AS
SELECT SUM (uitvoeringoptijd) aantal, COUNT (mld_key) totaal
FROM (SELECT DISTINCT
m.mld_melding_key mld_key,
DECODE (
SIGN (
m.mld_melding_einddatum_std - TRUNC (SYSDATE, 'mi')),
-1,
0,
1)
uitvoeringoptijd
FROM mld_melding m
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
);
CREATE OR REPLACE VIEW uwva_v_fac_notificatie
AS
SELECT * FROM fac_notificatie;
-- UWVA#33269
-- Bron-view 'uwva_v_afh_geb_grp' loopt via tabelizer tbv. performance!
CREATE OR REPLACE VIEW uwva_v_afh_geb_grp
(
maand,
alg_gebouw_key,
alg_gebouw_code,
ins_srtdiscipline_omschrijving,
mld_behandelgroep_naam,
aantal,
tot_doorlooptijd,
tot_verschilnorm_abs,
tot_verschilnorm_pct
)
AS
SELECT TO_CHAR (x.mldafm, 'yyyy-mm') maand,
x.alg_gebouw_key,
x.alg_gebouw_code,
x.ins_srtdiscipline_omschrijving,
x.mld_behandelgroep_naam,
COUNT ( * ) aantal,
SUM (x.doorlooptijd.tijdsduur) tot_doorlooptijd,
SUM (x.doorlooptijd.tijdsduur - x.norm.tijdsduur)
tot_verschilnorm_abs,
SUM(DECODE (
COALESCE (x.norm.tijdsduur, 0),
0,
0,
(x.doorlooptijd.tijdsduur - x.norm.tijdsduur)
/ x.norm.tijdsduur))
tot_verschilnorm_pct
--SUM(DECODE (COALESCE (x.norm.tijdsduur, 0),
-- 0, 1,
-- x.doorlooptijd.tijdsduur / x.norm.tijdsduur))
-- tot_doorloopnorm_pct
FROM (SELECT t.fac_tracking_datum mldafm, -- MLDAFM-datum
g.alg_gebouw_key,
g.alg_gebouw_code,
sd.ins_srtdiscipline_omschrijving,
bg.mld_behandelgroep_naam,
mld.getactualuitvoer (m.mld_melding_datum,
t.fac_tracking_datum,
sm.mld_stdmelding_key,
m.mld_melding_spoed,
NULL,
NULL,
'D')
doorlooptijd,
mld.getactualuitvoer (m.mld_melding_datum,
m.mld_melding_einddatum_std,
sm.mld_stdmelding_key,
m.mld_melding_spoed,
NULL,
NULL,
'D')
norm
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
mld_disc_params dp,
mld_behandelgroep bg,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
--AND t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -12), 'mm')
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (SYSDATE,
-12),
'mm')
AND TRUNC (SYSDATE, 'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = td.ins_discipline_key
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND sd.ins_srtdiscipline_key IN (1, 2, 9, 10) -- S/A/V/VO
AND td.ins_discipline_key = dp.mld_ins_discipline_key
AND dp.mld_behandelgroep_key = bg.mld_behandelgroep_key(+)
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)) x
GROUP BY TO_CHAR (x.mldafm, 'yyyy-mm'),
x.alg_gebouw_key,
x.alg_gebouw_code,
x.ins_srtdiscipline_omschrijving,
x.mld_behandelgroep_naam;
CREATE OR REPLACE VIEW uwva_v_rap_afh_geb
(
fclt_f_maand,
fclt_f_kavel,
fclt_f_gebouw,
aantal,
tot_doorlooptijd,
tot_verschilnorm_abs,
tot_verschilnorm_pct,
fclt_x_verschil_ok
)
AS
SELECT x.maand,
COALESCE (k.fac_usrdata_omschr, 'ONBEKEND') kavel,
x.alg_gebouw_code,
x.aantal,
x.tot_doorlooptijd, -- / x.aantal,
x.tot_verschilnorm_abs, -- / x.aantal,
x.tot_verschilnorm_pct, -- / x.aantal,
DECODE (SIGN (x.tot_verschilnorm_pct / x.aantal), 1, 'NOK', 'OK')
verschil_ok
FROM ( SELECT maand,
alg_gebouw_key,
alg_gebouw_code,
SUM (aantal) aantal,
SUM (tot_doorlooptijd) tot_doorlooptijd,
SUM (tot_verschilnorm_abs) tot_verschilnorm_abs,
SUM (tot_verschilnorm_pct) tot_verschilnorm_pct
FROM t_uwva_v_afh_geb_grp
GROUP BY maand, alg_gebouw_key, alg_gebouw_code) x
LEFT JOIN
(SELECT ok.alg_onrgoed_key, ud.fac_usrdata_omschr
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1420 -- Kavel (G-kenmerk!)
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) =
ud.fac_usrdata_key) k
ON x.alg_gebouw_key = k.alg_onrgoed_key;
CREATE OR REPLACE VIEW uwva_v_rap_afh_geb_grp
(
fclt_f_maand,
fclt_f_kavel,
fclt_f_gebouw,
fclt_f_soortmelding,
fclt_f_behandelgroep,
aantal,
tot_doorlooptijd,
tot_verschilnorm_abs,
tot_verschilnorm_pct,
fclt_x_verschil_ok
)
AS
SELECT x.maand,
COALESCE (k.fac_usrdata_omschr, 'ONBEKEND') kavel,
x.alg_gebouw_code,
x.ins_srtdiscipline_omschrijving,
x.mld_behandelgroep_naam,
x.aantal,
x.tot_doorlooptijd, -- / x.aantal,
x.tot_verschilnorm_abs, -- / x.aantal,
x.tot_verschilnorm_pct, -- / x.aantal,
DECODE (SIGN (x.tot_verschilnorm_pct / x.aantal), 1, 'NOK', 'OK')
verschil_ok
FROM t_uwva_v_afh_geb_grp x
LEFT JOIN
(SELECT ok.alg_onrgoed_key, ud.fac_usrdata_omschr
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1420 -- Kavel (G-kenmerk!)
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) =
ud.fac_usrdata_key) k
ON x.alg_gebouw_key = k.alg_onrgoed_key;
-- UWVA#33269
-- Bron-view 'uwva_v_st_kl_geb' loopt via tabelizer tbv. performance!
-- td.ins_discipline_key IN
-- (47, -- S-Beveiligingsinstallaties
-- 342, -- S-Beveiliging toegang
-- 33, -- S-Catering/VERVALLEN!
-- 315, -- S-Klimaatinstallaties
-- 36, -- S-Schoonmaak
-- 64, -- K-Beveiliging
-- 340, -- K-Beveiliging toegang
-- 74, -- K-Beveiligingsinstallaties
-- 131, -- K-Catering
-- 330, -- K-Klimaatinstallaties
-- 63) -- K-Schoonmaak
CREATE OR REPLACE VIEW uwva_v_st_kl_geb
(
maand,
kavel,
gebouw,
kl_overall,
st_beveiliging,
--st_catering,
st_klimaat,
st_schoonmaak,
kl_beveiliging,
kl_catering,
kl_klimaat,
kl_schoonmaak
)
AS
SELECT x.maand,
k.fac_usrdata_omschr,
x.alg_gebouw_code,
x.kl_overall,
x.st_beveiliging,
x.st_klimaat,
x.st_schoonmaak,
x.kl_beveiliging,
x.kl_catering,
x.kl_klimaat,
x.kl_schoonmaak
FROM ( SELECT TO_CHAR (x.mldafm, 'yyyy-mm') maand,
x.alg_gebouw_key,
x.alg_gebouw_code,
SUM (kl_overall) kl_overall,
SUM (st_beveiliging) st_beveiliging,
SUM (st_klimaat) st_klimaat,
SUM (st_schoonmaak) st_schoonmaak,
SUM (kl_beveiliging) kl_beveiliging,
SUM (kl_catering) kl_catering,
SUM (kl_klimaat) kl_klimaat,
SUM (kl_schoonmaak) kl_schoonmaak
FROM (SELECT t.fac_tracking_datum mldafm,
g.alg_gebouw_key,
g.alg_gebouw_code,
1 kl_overall,
0 st_beveiliging,
0 st_klimaat,
0 st_schoonmaak,
0 kl_beveiliging,
0 kl_catering,
0 kl_klimaat,
0 kl_schoonmaak
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (
SYSDATE,
-12),
'mm')
AND TRUNC (
SYSDATE,
'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key IN (3) -- K
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
UNION ALL
SELECT t.fac_tracking_datum mldafm,
g.alg_gebouw_key,
g.alg_gebouw_code,
0 kl_overall,
1 st_beveiliging,
0 st_klimaat,
0 st_schoonmaak,
0 kl_beveiliging,
0 kl_catering,
0 kl_klimaat,
0 kl_schoonmaak
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (
SYSDATE,
-12),
'mm')
AND TRUNC (
SYSDATE,
'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key IN (47, 342) -- S-Beveiligingsinstallaties/Beveiliging toegang
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
--UNION ALL
--SELECT t.fac_tracking_datum mldafm, g.alg_gebouw_key, g.alg_gebouw_code,
-- 0 kl_overall,
-- 0 st_beveiliging, 1 st_catering, 0 st_klimaat, 0 st_schoonmaak,
-- 0 kl_beveiliging, 0 kl_catering, 0 kl_klimaat, 0 kl_schoonmaak
-- FROM fac_tracking t, mld_melding m, mld_stdmelding sm, alg_v_allonroerendgoed aog, alg_gebouw g
-- WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
-- AND t.fac_tracking_datum BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'mm') AND TRUNC (SYSDATE, 'mm')
-- AND t.fac_tracking_refkey = m.mld_melding_key
-- AND m.mld_stdmelding_key = sm.mld_stdmelding_key
-- AND sm.mld_ins_discipline_key = 33 -- S-Catering
-- AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
-- AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
UNION ALL
SELECT t.fac_tracking_datum mldafm,
g.alg_gebouw_key,
g.alg_gebouw_code,
0 kl_overall,
0 st_beveiliging,
1 st_klimaat,
0 st_schoonmaak,
0 kl_beveiliging,
0 kl_catering,
0 kl_klimaat,
0 kl_schoonmaak
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (
SYSDATE,
-12),
'mm')
AND TRUNC (
SYSDATE,
'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = 315 -- S-Klimaatinstallaties
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
UNION ALL
SELECT t.fac_tracking_datum mldafm,
g.alg_gebouw_key,
g.alg_gebouw_code,
0 kl_overall,
0 st_beveiliging,
0 st_klimaat,
1 st_schoonmaak,
0 kl_beveiliging,
0 kl_catering,
0 kl_klimaat,
0 kl_schoonmaak
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (
SYSDATE,
-12),
'mm')
AND TRUNC (
SYSDATE,
'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = 36 -- S-Schoonmaak
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
UNION ALL
SELECT t.fac_tracking_datum mldafm,
g.alg_gebouw_key,
g.alg_gebouw_code,
0 kl_overall,
0 st_beveiliging,
0 st_klimaat,
0 st_schoonmaak,
1 kl_beveiliging,
0 kl_catering,
0 kl_klimaat,
0 kl_schoonmaak
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (
SYSDATE,
-12),
'mm')
AND TRUNC (
SYSDATE,
'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key IN (64, 340, 74) -- K-Beveiliging/Beveiliging toegang/Beveiligingsinstallaties
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
UNION ALL
SELECT t.fac_tracking_datum mldafm,
g.alg_gebouw_key,
g.alg_gebouw_code,
0 kl_overall,
0 st_beveiliging,
0 st_klimaat,
0 st_schoonmaak,
0 kl_beveiliging,
1 kl_catering,
0 kl_klimaat,
0 kl_schoonmaak
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (
SYSDATE,
-12),
'mm')
AND TRUNC (
SYSDATE,
'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = 131 -- K-Catering
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
UNION ALL
SELECT t.fac_tracking_datum mldafm,
g.alg_gebouw_key,
g.alg_gebouw_code,
0 kl_overall,
0 st_beveiliging,
0 st_klimaat,
0 st_schoonmaak,
0 kl_beveiliging,
0 kl_catering,
1 kl_klimaat,
0 kl_schoonmaak
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (
SYSDATE,
-12),
'mm')
AND TRUNC (
SYSDATE,
'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = 330 -- K-Klimaatinstallaties
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
UNION ALL
SELECT t.fac_tracking_datum mldafm,
g.alg_gebouw_key,
g.alg_gebouw_code,
0 kl_overall,
0 st_beveiliging,
0 st_klimaat,
0 st_schoonmaak,
0 kl_beveiliging,
0 kl_catering,
0 kl_klimaat,
1 kl_schoonmaak
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
alg_v_allonroerendgoed aog,
alg_gebouw g
WHERE t.fac_srtnotificatie_key = 18 -- MLDAFM/alleen?
AND t.fac_tracking_datum BETWEEN TRUNC (
ADD_MONTHS (
SYSDATE,
-12),
'mm')
AND TRUNC (
SYSDATE,
'mm')
AND t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = 63 -- K-Schoonmaak
AND m.mld_alg_onroerendgoed_keys =
aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)) x
GROUP BY TO_CHAR (x.mldafm, 'yyyy-mm'),
x.alg_gebouw_key,
x.alg_gebouw_code) x
LEFT JOIN
(SELECT ok.alg_onrgoed_key, ud.fac_usrdata_omschr
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1420 -- Kavel
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) =
ud.fac_usrdata_key) k
ON x.alg_gebouw_key = k.alg_onrgoed_key;
CREATE OR REPLACE VIEW uwva_v_rap_kl_geb
(
fclt_f_maand,
fclt_f_kavel,
fclt_f_gebouw,
aantal
)
AS
SELECT x.maand,
x.kavel,
x.gebouw,
x.kl_overall
FROM t_uwva_v_st_kl_geb x;
CREATE OR REPLACE VIEW uwva_v_rap_st_kl_geb
(
fclt_f_maand,
fclt_f_kavel,
fclt_f_gebouw,
st_beveiliging,
st_klimaat,
st_schoonmaak,
kl_beveiliging,
kl_catering,
kl_klimaat,
kl_schoonmaak
)
AS
SELECT x.maand,
x.kavel,
x.gebouw,
x.st_beveiliging,
x.st_klimaat,
x.st_schoonmaak,
x.kl_beveiliging,
x.kl_catering,
x.kl_klimaat,
x.kl_schoonmaak
FROM t_uwva_v_st_kl_geb x;
-- UWVA#33705 rap tbv bijlage inspectiekenmerken
CREATE OR REPLACE VIEW uwva_v_rap_inspect_file
(
fclt_f_object,
fclt_f_controle,
controle_datum,
fclt_f_locatie,
fclt_f_gebouw,
kenmerksoort_key,
kenmerksoort,
kenmerk_key,
fclt_f_verplicht,
controle_key,
fclt_f_bijlagen,
aantal_bijlagen
)
AS
SELECT d.ins_deel_omschrijving Object,
c.ins_srtcontrole_omschrijving Controle,
ins_deelsrtcontrole_datum Controle_datum,
l.alg_locatie_omschrijving locatie,
aog.alg_gebouw_naam gebouw,
t.ins_srtkenmerk_key Kenmerksoort_key,
t.ins_srtkenmerk_omschrijving Kenmerksoort,
k.ins_kenmerk_key Kenmkerk_key,
DECODE (k.ins_kenmerk_verplicht, 1, 'Ja', 'Nee') Verplicht,
dsc.ins_deelsrtcontrole_key controle_key,
'Nee' Bijlagen,
0 Aantal_bijlagen
FROM ins_srtkenmerk t,
ins_kenmerk k,
ins_srtcontrole c,
ins_deelsrtcontrole dsc,
ins_deel d,
alg_v_allonrgoed_gegevens aog,
alg_locatie l
WHERE k.ins_srtkenmerk_key = t.ins_srtkenmerk_key
AND k.ins_kenmerk_verwijder IS NULL
AND t.ins_srtkenmerk_verwijder IS NULL
AND k.ins_kenmerk_niveau = 'C'
AND k.ins_srtinstallatie_key = c.ins_srtcontrole_key
AND (t.ins_srtkenmerk_kenmerktype = 'M'
OR t.ins_srtkenmerk_kenmerktype = 'F')
AND dsc.ins_srtcontrole_key = c.ins_srtcontrole_key
AND d.ins_deel_key = dsc.ins_deel_key
AND d.ins_deel_verwijder IS NULL
AND ins_alg_ruimte_type = 'R'
AND aog.alg_ruimte_key = d.ins_alg_ruimte_key
AND l.alg_locatie_key = aog.alg_locatie_key
AND dsc.ins_deelsrtcontrole_key NOT IN
(SELECT ins_deelsrtcontrole_key
FROM ins_deelsrtcontrole dsc, uwva_flexfiles uf
WHERE uf.object_key = dsc.ins_deelsrtcontrole_key)
UNION ALL
SELECT d.ins_deel_omschrijving,
c.ins_srtcontrole_omschrijving,
ins_deelsrtcontrole_datum,
l.alg_locatie_omschrijving,
aog.alg_gebouw_naam,
t.ins_srtkenmerk_key,
t.ins_srtkenmerk_omschrijving,
k.ins_kenmerk_key,
DECODE (k.ins_kenmerk_verplicht, 1, 'Ja', 'Nee'),
dsc.ins_deelsrtcontrole_key,
'Ja',
COUNT (UF.FILE_NAME)
FROM ins_srtkenmerk t,
ins_kenmerk k,
ins_srtcontrole c,
ins_deelsrtcontrole dsc,
ins_deel d,
uwva_flexfiles uf,
alg_v_allonrgoed_gegevens aog,
alg_locatie l
WHERE k.ins_srtkenmerk_key = t.ins_srtkenmerk_key
AND k.ins_kenmerk_verwijder IS NULL
AND t.ins_srtkenmerk_verwijder IS NULL
AND k.ins_kenmerk_niveau = 'C'
AND k.ins_srtinstallatie_key = c.ins_srtcontrole_key
AND (t.ins_srtkenmerk_kenmerktype = 'M'
OR t.ins_srtkenmerk_kenmerktype = 'F')
AND dsc.ins_srtcontrole_key = c.ins_srtcontrole_key
AND d.ins_deel_key = dsc.ins_deel_key
AND d.ins_deel_verwijder IS NULL
AND uf.object_key = dsc.ins_deelsrtcontrole_key
AND ins_alg_ruimte_type = 'R'
AND aog.alg_ruimte_key = d.ins_alg_ruimte_key
AND l.alg_locatie_key = aog.alg_locatie_key
GROUP BY dsc.ins_deelsrtcontrole_key,
d.ins_deel_omschrijving,
c.ins_srtcontrole_omschrijving,
ins_deelsrtcontrole_datum,
aog.alg_gebouw_naam,
l.alg_locatie_omschrijving,
t.ins_srtkenmerk_key,
t.ins_srtkenmerk_omschrijving,
k.ins_kenmerk_key,
k.ins_kenmerk_verplicht;
-- UWVA#35516 rapport met inzicht vastgepinde tabs per gebruiker
CREATE OR REPLACE VIEW uwva_v_rap_menutab
(
perslid_key,
naam,
login,
last_login,
url,
zoeken,
module
)
AS
SELECT prs_perslid_key,
prs_perslid_naam_full,
prs_perslid_oslogin,
prs_perslid_login,
url,
CASE
WHEN LOWER (url) LIKE '%search%'
OR LOWER (url) LIKE '%phonebook%'
OR LOWER (url) LIKE '%overview%'
OR LOWER (url) LIKE '%fe_menu%'
THEN
'Ja'
ELSE
'Nee'
END
AS zoeken,
CASE
WHEN LOWER (url) LIKE '%/help%' THEN 'Help'
WHEN LOWER (url) LIKE '%/mld_%' THEN 'Meldingen'
WHEN LOWER (url) LIKE '%/bes_%' THEN 'Bestellingen'
WHEN LOWER (url) LIKE '%/res_%' THEN 'Reserveringen'
WHEN LOWER (url) LIKE '%deel%' THEN 'Objecten'
WHEN LOWER (url) LIKE '%/ins_%' THEN 'Objecten'
WHEN LOWER (url) LIKE '%phone%' THEN 'Telefoonboek'
WHEN LOWER (url) LIKE '%/prs_%' THEN 'Organisatiebeheer'
WHEN LOWER (url) LIKE '%/bez_%' THEN 'Bezoekers'
WHEN LOWER (url) LIKE '%/alg_%' THEN 'Ruimtebeheer'
WHEN LOWER (url) LIKE '%/cnt_%' THEN 'Contracten'
WHEN LOWER (url) LIKE '%portal%' THEN 'Portaal'
WHEN LOWER (url) LIKE '%cad%' THEN 'Graphics'
WHEN LOWER (url) LIKE '%/kpn_%' THEN 'Kostenplaatsen'
WHEN LOWER (url) LIKE '%fac_user%.asp%' THEN 'Gebruiker info'
WHEN LOWER (url) LIKE '%prodsearch%' THEN 'Zoek&Bestel'
WHEN LOWER (url) LIKE '%fac_usrrap%' THEN 'Rapporten'
WHEN LOWER (url) LIKE '%report%' THEN 'Rapporten'
WHEN LOWER (url) LIKE '%/fin_%' THEN 'Facturen'
WHEN LOWER (url) LIKE '%/sle_%' THEN 'Sleutels'
WHEN LOWER (url) LIKE '%fiat%' THEN 'Fiatteren'
ELSE 'Overig'
END
AS module
FROM (SELECT prs_perslid_key,
prs_perslid_naam_full,
prs_perslid_oslogin,
prs_perslid_login,
REPLACE (
REPLACE (REPLACE (optie, '"autoopen":[', ''),
'{"u":"',
''),
'"',
'')
url
FROM ( SELECT DISTINCT
p.prs_perslid_key,
prs_perslid_naam_full,
prs_perslid_oslogin,
prs_perslid_login,
TRIM (REGEXP_SUBSTR (p.prs_perslid_options,
'[^,]+',
1,
levels.COLUMN_VALUE))
AS optie
FROM prs_perslid p,
prs_v_perslid_fullnames pf,
TABLE(CAST (
MULTISET( SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <=
LENGTH(REGEXP_REPLACE (
p.prs_perslid_options,
'[^,]+'))
+ 1) AS SYS.odcinumberlist)) levels
WHERE prs_perslid_options LIKE '%{"u"%'
AND p.prs_perslid_key = pf.prs_perslid_key
ORDER BY prs_perslid_key)
WHERE optie LIKE '%{"u"%')
WHERE url NOT LIKE '%welcome%';
--- UWVA#36478 controlerapport met leasecontracten en gebruikersovereenkomsten waar geen auto aangekoppeld is
CREATE OR REPLACE VIEW UWVA_V_RAP_GOVK_LEASE
(
CONTRACTNUMMER,
INGANGSDATUM,
EINDDATUM,
CONTRACT_OMSCHR
)
AS
SELECT c.cnt_contract_nummer_intern,
cnt_contract_looptijd_van,
cnt_contract_looptijd_tot,
c.cnt_contract_omschrijving
FROM cnt_contract c
WHERE C.INS_DISCIPLINE_KEY IN (426, 425) --- gebruikersovereenkomst en leasecontract
AND C.CNT_CONTRACT_VERWIJDER IS NULL
AND c.cnt_contract_key NOT IN
(SELECT o.cnt_contract_key
FROM CNT_CONTRACT_OBJECT o
WHERE O.CNT_INS_SRTDEEL_KEY = 258658);
-- UWVA#36044 Overzicht om FIP voor leasecontracten mee te genereren
CREATE OR REPLACE VIEW UWVA_V_RAP_FIP_LEASE_CONTRACT
(
CONTRACTNR,
EXTERNNR,
CONTRACTSOORT,
BESCHRIJVING,
MANTELNR,
OMSCHRIJVING,
VERSIE,
DIENST,
EIGENAAR_AFD,
EIGENAAR_LOGIN,
BEHEERDER_LOGIN,
OPMERKING,
INGANGSDATUM,
RAPPELDATUM,
OPZEGDATUM,
EINDDATUM,
BEDRIJFNAAM,
CONTACTNAAM,
KOSTENPLAATSCODE,
CONTRACTBEDRAG,
TERMIJNBEDRAG,
UURTARIEF,
KORTING,
LOCATIEGEBOUW,
VERLENGEN,
SOORT_AUTO,
AANTAL_KM_JAAR,
KM_TOTAAL,
KM_MAXIMAAL,
LOOPTIJD_MAXIMAAL,
BRANDSTOFKOSTEN,
LEASETARIEF,
KENMERK8,
KENMERK9,
KENMERK10,
KENMERK11,
KENMERK12,
KENMERK13,
KENMERK14,
KENMERK15,
KENMERK16,
KENMERK17,
KENMERK18,
KENMERK19,
KENMERK20,
KENMERK21,
KENMERK22,
KENMERK23,
KENMERK24,
KENMERK25
)
AS
SELECT DISTINCT
c.cnt_contract_nummer_intern contractnr,
c.cnt_contract_nummer externnr,
d.ins_discipline_omschrijving contractsoort,
c.cnt_contract_omschrijving beschrijving,
'' mantelnr,
'' omschrijving,
c.cnt_contract_versie versie,
'' dienst,
a.prs_afdeling_upper eigenaar_afd,
'' eigenaar_login,
p.prs_perslid_oslogin beheerder_login,
c.cnt_contract_opmerking opmerking,
TO_CHAR (c.cnt_contract_looptijd_van, 'dd-mm-yyyy') ingangsdatum,
TO_CHAR (
ADD_MONTHS (c.cnt_contract_looptijd_tot,
- (rt.cnt_termijn_aantal)),
'dd-mm-yyyy')
rappeldatum,
TO_CHAR (
ADD_MONTHS (c.cnt_contract_looptijd_tot,
- (ot.cnt_termijn_aantal)),
'dd-mm-yyyy')
opzegdatum,
TO_CHAR (c.cnt_contract_looptijd_tot, 'dd-mm-yyyy') einddatum,
b.prs_bedrijf_naam bedrijfnaam,
'' contactnaam,
k.prs_kostenplaats_upper kostenplaatscode,
c.cnt_contract_kosten contractbedrag,
c.cnt_contract_termijnkosten termijnbedrag,
c.cnt_contract_uurloon uurtarief,
c.cnt_contract_korting korting,
'' locatiegebouw,
c.cnt_contract_verlenging verlengen,
soort_auto.fac_usrdata_code soort_auto,
aantal_km_jr.cnt_kenmerkcontract_waarde aantalkmperjaar,
km_tot.cnt_kenmerkcontract_waarde kmtotaal,
km_max.cnt_kenmerkcontract_waarde kmmaximaal,
looptijd_max.cnt_kenmerkcontract_waarde looptijdmaximaal,
brandstofkst.cnt_kenmerkcontract_waarde brandstofkosten,
lease_tar.cnt_kenmerkcontract_waarde leasetarief,
'' kenmerk8,
'' kenmerk9,
'' kenmerk10,
'' kenmerk11,
'' kenmerk12,
'' kenmerk13,
'' kenmerk14,
'' kenmerk15,
'' kenmerk16,
'' kenmerk17,
'' kenmerk18,
'' kenmerk19,
'' kenmerk20,
'' kenmerk21,
'' kenmerk22,
'' kenmerk23,
'' kenmerk24,
'' kenmerk25
FROM cnt_contract c,
ins_tab_discipline d,
prs_afdeling a,
prs_perslid p,
prs_bedrijf b,
prs_kostenplaats k,
(SELECT kc.*, kw.*
FROM cnt_kenmerkcontract kc, fac_usrdata kw
WHERE kc.cnt_kenmerk_key = 1053 -- kenmerk_key 1053 = Soort auto
AND kc.cnt_kenmerkcontract_waarde = kw.fac_usrdata_key)
soort_auto,
(SELECT kc.*
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 1041) aantal_km_jr, -- kenmerk_key 1041 = Aantal km per jaar
(SELECT kc.*
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 1042) brandstofkst, -- kenmerk_key 1042 = Brandstofkosten
(SELECT kc.*
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 1043) datum_uit, -- kenmerk_key 1043 = Datum uit
(SELECT kc.*
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 1045) km_max, -- kenmerk_key 1045 = Km maximaal
(SELECT kc.*
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 1046) km_tot, -- kenmerk_key 1046 = Km totaal
(SELECT kc.*
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 1048) lease_tar, -- kenmerk_key 1048 = Leasetarief
(SELECT kc.*
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 1049) looptijd_max, -- kenmerk_key 1049 = Looptijd maximaal
cnt_termijn rt,
cnt_termijn ot
WHERE c.ins_discipline_key = d.ins_discipline_key
AND c.ins_discipline_key = 425 -- 425 = lease contract
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
AND c.prs_perslid_key_beh = p.prs_perslid_key
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.prs_kostenplaats_key = k.prs_kostenplaats_key
AND c.cnt_contract_key = soort_auto.cnt_contract_key(+)
AND c.cnt_contract_key = aantal_km_jr.cnt_contract_key(+)
AND c.cnt_contract_key = datum_uit.cnt_contract_key(+)
AND c.cnt_contract_key = km_tot.cnt_contract_key(+)
AND c.cnt_contract_key = km_max.cnt_contract_key(+)
AND c.cnt_contract_key = looptijd_max.cnt_contract_key(+)
AND c.cnt_contract_key = brandstofkst.cnt_contract_key(+)
AND c.cnt_contract_key = lease_tar.cnt_contract_key(+)
AND ot.cnt_termijn_key = c.cnt_contract_opzegtermijn
AND rt.cnt_termijn_key = c.cnt_contract_rappeltermijn
AND C.CNT_CONTRACT_VERWIJDER IS NULL
AND TRUNC (C.CNT_CONTRACT_LOOPTIJD_TOT) >= TRUNC (SYSDATE)
AND C.CNT_CONTRACT_STATUS = 0;
CREATE OR REPLACE VIEW UWVA_V_ORG_STRUCTUUR
(
DIVISIE,
DIVISIE_OMSCH,
DIVISIE_KP,
AFD_NIV2,
AFD_NIV2_OMSCH,
AFD_NIV2_KP,
AFD_NIV3,
AFD_NIV3_OMSCH,
AFD_NIV3_KP,
AFD_NIV4,
AFD_NIV4_OMSCH,
AFD_NIV4_KP,
AFD_NIV5,
AFD_NIV5_OMSCH,
AFD_NIV5_KP
)
AS
SELECT divisie.prs_afdeling_naam divisie,
divisie.prs_afdeling_omschrijving divisie_omsch,
divisie.prs_kostenplaats_nr kp_divisie,
afd_niv2.prs_afdeling_naam afd_niv2,
afd_niv2.prs_afdeling_omschrijving omsch_afd_niv2,
afd_niv2.prs_kostenplaats_nr kp_afd_niv2,
afd_niv3.prs_afdeling_naam afd_niv3,
afd_niv3.prs_afdeling_omschrijving omsch_afd_niv3,
afd_niv3.prs_kostenplaats_nr kp_afd_niv3,
afd_niv4.prs_afdeling_naam afd_niv4,
afd_niv4.prs_afdeling_omschrijving omsch_afd_niv4,
afd_niv4.prs_kostenplaats_nr kp_afd_niv4,
afd_niv5.prs_afdeling_naam afd_niv5,
afd_niv5.prs_afdeling_omschrijving omsch_afd_niv5,
afd_niv5.prs_kostenplaats_nr kp_afd_niv5
FROM (SELECT prs_afdeling_key,
prs_afdeling_naam,
prs_afdeling_omschrijving,
k.prs_kostenplaats_nr,
k.prs_kostenplaats_omschrijving
FROM prs_afdeling a, prs_kostenplaats k
WHERE prs_bedrijf_key = 1
AND prs_afdeling_verwijder IS NULL
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key)
divisie,
(SELECT prs_afdeling_key,
prs_afdeling_naam,
prs_afdeling_parentkey,
prs_afdeling_omschrijving,
k.prs_kostenplaats_nr,
k.prs_kostenplaats_omschrijving
FROM prs_afdeling a, prs_kostenplaats k
WHERE prs_afdeling_verwijder IS NULL
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_bedrijf_key = 1
AND prs_afdeling_verwijder IS NULL))
afd_niv2,
(SELECT prs_afdeling_key,
prs_afdeling_naam,
prs_afdeling_parentkey,
prs_afdeling_omschrijving,
k.prs_kostenplaats_nr,
k.prs_kostenplaats_omschrijving
FROM prs_afdeling a, prs_kostenplaats k
WHERE prs_afdeling_verwijder IS NULL
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_bedrijf_key = 1
AND prs_afdeling_verwijder IS NULL)))
afd_niv3,
(SELECT prs_afdeling_key,
prs_afdeling_parentkey,
prs_afdeling_naam,
prs_afdeling_omschrijving,
k.prs_kostenplaats_nr,
k.prs_kostenplaats_omschrijving
FROM prs_afdeling a, prs_kostenplaats k
WHERE prs_afdeling_verwijder IS NULL
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_bedrijf_key =
1
AND prs_afdeling_verwijder IS NULL))))
afd_niv4,
(SELECT prs_afdeling_key,
prs_afdeling_parentkey,
prs_afdeling_naam,
prs_afdeling_omschrijving,
k.prs_kostenplaats_nr,
k.prs_kostenplaats_omschrijving
FROM prs_afdeling a, prs_kostenplaats k
WHERE prs_afdeling_verwijder IS NULL
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND prs_afdeling_parentkey IN
(SELECT prs_afdeling_key
FROM prs_afdeling
WHERE prs_bedrijf_key =
1
AND prs_afdeling_verwijder IS NULL)))))
afd_niv5
WHERE afd_niv2.prs_afdeling_parentkey(+) = divisie.prs_afdeling_key
AND afd_niv3.prs_afdeling_parentkey(+) = afd_niv2.prs_afdeling_key
AND afd_niv4.prs_afdeling_parentkey(+) = afd_niv3.prs_afdeling_key
AND afd_niv5.prs_afdeling_parentkey(+) = afd_niv4.prs_afdeling_key;
CREATE OR REPLACE VIEW UWVA_V_RAP_FACTUUR_WAGENP
(
NR,
FACTUURDATUM,
UITVOERENDE,
FACTUURNR,
CONTRACTTYPE,
KOSTENSOORT,
OPDRACHTNR,
BERIJDER,
STATUS,
BUDGETHOUDER,
DIVISIE,
KOSTENPLAATS,
OMSCHRIJVING,
SRT_FACTUURREGEL,
REGELNR,
EXCL_BTW,
BTW,
INCL_BTW
)
AS
SELECT DISTINCT
f.fin_factuur_key nr,
TRUNC (fin_factuur_datum) factuurdatum,
b.prs_bedrijf_naam uitvoerende,
f.fin_factuur_nr factuurnummer,
d.ins_discipline_omschrijving TYPE,
ks.prs_kostensoort_oms kostensoort,
'C' || leasecontracten.cnt_contract_nummer_intern opdrachtnummer,
gebruikersovk.berijder berijder,
CASE f.fin_factuur_statuses_key
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'In behandeling'
WHEN 3 THEN 'Onbekend'
WHEN 4 THEN 'Onbekend'
WHEN 5 THEN 'Onbekend'
WHEN 6 THEN 'Akkoord'
WHEN 7 THEN 'Verwerkt'
END
status,
budgethouder.prs_perslid_naam_full budgethouder,
divisie.divisie || ' ' || divisie.divisie_omsch divisie,
kp.prs_kostenplaats_nr || ' ' || kp.prs_kostenplaats_omschrijving
kostenplaats,
fr.fin_factuurregel_omschrijving omschrijving,
srt_fr.fac_usrdata_code || ' ' || srt_fr.fac_usrdata_omschr
srt_factuurregel,
regel.fin_kenmerkfactregel_waarde regelnummer,
fr.fin_factuurregel_totaal excl_btw,
btw.fin_btwtabelwaarde_perc btw_tarief,
fr.fin_factuurregel_totaal + fin_factuurregel_btw
FROM fin_factuur f,
(SELECT *
FROM cnt_contract
WHERE ins_discipline_key = 425) leasecontracten,
prs_bedrijf b,
ins_tab_discipline d,
prs_kostensoort ks,
cnt_contract_object co,
ins_deel auto,
(SELECT x.*,
DECODE (y.aantal,
NULL, NULL,
1, y.prs_perslid_naam_full,
'Meerdere berijders')
berijder
FROM (SELECT f.fin_factuur_key,
TRUNC (fin_factuur_datum) factuurdatum,
f.fin_factuur_nr factuurnummer,
'C' || leasecontracten.cnt_contract_nummer_intern
opdrachtnummer,
auto.ins_deel_key
FROM fin_factuur f,
(SELECT *
FROM cnt_contract
WHERE ins_discipline_key = 425) leasecontracten,
cnt_contract_object co,
ins_deel auto
WHERE f.cnt_contract_key =
leasecontracten.cnt_contract_key
AND leasecontracten.cnt_contract_key =
co.cnt_contract_key
AND co.cnt_ins_deel_key = auto.ins_deel_key) x
LEFT JOIN
( SELECT f.fin_factuur_key,
auto.ins_deel_key,
COUNT ( * ) aantal,
MAX (P.PRS_PERSLID_NAAM_FULL) PRS_PERSLID_NAAM_FULL
FROM fin_factuur f,
(SELECT *
FROM cnt_contract
WHERE ins_discipline_key = 425) leasecontracten,
cnt_contract_object co,
ins_deel auto,
(SELECT c.cnt_contract_key,
o.cnt_ins_deel_key,
C.CNT_PRS_PERSLID_KEY,
cnt_contract_looptijd_van,
cnt_contract_looptijd_tot
FROM cnt_contract c, cnt_contract_object o
WHERE ins_discipline_key = 426
AND o.cnt_contract_key = c.cnt_contract_key)
gebruikersovk,
prs_v_perslid_fullnames_all p
WHERE f.cnt_contract_key =
leasecontracten.cnt_contract_key
AND leasecontracten.cnt_contract_key =
co.cnt_contract_key
AND gebruikersovk.cnt_prs_perslid_key =
p.prs_perslid_key
AND co.cnt_ins_deel_key = auto.ins_deel_key
AND auto.ins_deel_key =
gebruikersovk.cnt_ins_deel_key(+)
AND (TRUNC (
gebruikersovk.cnt_contract_looptijd_van) <=
TRUNC (fin_factuur_datum)
AND TRUNC (
gebruikersovk.cnt_contract_looptijd_tot) >=
TRUNC (fin_factuur_datum))
GROUP BY f.fin_factuur_key, auto.ins_deel_key) y
ON x.ins_deel_key = y.ins_deel_key
AND x.fin_factuur_key = y.fin_factuur_key
WHERE y.aantal IS NOT NULL) gebruikersovk,
prs_kostenplaats kp,
prs_v_perslid_fullnames_all budgethouder,
fin_factuurregel fr,
(SELECT km.*, fac_usrdata_omschr, fac_usrdata_code
FROM fin_kenmerkfactregel km, fac_usrdata kw
WHERE km.fin_kenmerk_key = 1
AND km.fin_kenmerkfactregel_waarde = kw.fac_usrdata_key)
srt_fr,
(SELECT km.*
FROM fin_kenmerkfactregel km
WHERE km.fin_kenmerk_key = 2) regel,
fin_btwtabelwaarde btw,
(SELECT DISTINCT divisie, divisie_omsch, divisie_kp kpl
FROM uwva_v_org_structuur org
UNION ALL
SELECT DISTINCT divisie, divisie_omsch, afd_niv2_kp kpl
FROM uwva_v_org_structuur org
UNION ALL
SELECT DISTINCT divisie, divisie_omsch, afd_niv3_kp kpl
FROM uwva_v_org_structuur org
UNION ALL
SELECT DISTINCT divisie, divisie_omsch, afd_niv4_kp kpl
FROM uwva_v_org_structuur org
UNION ALL
SELECT DISTINCT divisie, divisie_omsch, afd_niv5_kp kpl
FROM uwva_v_org_structuur org) divisie
WHERE f.cnt_contract_key = leasecontracten.cnt_contract_key
AND leasecontracten.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
AND leasecontracten.ins_discipline_key = d.ins_discipline_key
AND d.prs_kostensoort_key = ks.prs_kostensoort_key
AND leasecontracten.cnt_contract_key = co.cnt_contract_key
AND co.cnt_ins_deel_key = auto.ins_deel_key
-- AND auto.ins_deel_key = gebruikersovk.cnt_ins_deel_key(+)
AND f.fin_factuur_key = gebruikersovk.fin_factuur_key(+)
AND leasecontracten.prs_kostenplaats_key = kp.prs_kostenplaats_key
AND kp.prs_perslid_key = budgethouder.prs_perslid_key(+)
AND fr.fin_factuur_key = f.fin_factuur_key
AND srt_fr.fin_factuurregel_key(+) = fr.fin_factuurregel_key
AND regel.fin_factuurregel_key(+) = fr.fin_factuurregel_key
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
AND kp.prs_kostenplaats_nr = divisie.kpl(+)
AND f.fin_factuur_verwijder IS NULL
UNION ALL
SELECT DISTINCT
f.fin_factuur_key nr,
TRUNC (fin_factuur_datum) factuurdatum,
'' uitvoerende,
f.fin_factuur_nr factuurnummer,
d.ins_discipline_omschrijving TYPE,
ks.prs_kostensoort_oms kostensoort,
'C' || gebruikersovereenkomst.cnt_contract_nummer_intern
opdrachtnummer,
p.prs_perslid_naam_full berijder,
CASE f.fin_factuur_statuses_key
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'In behandeling'
WHEN 3 THEN 'Onbekend'
WHEN 4 THEN 'Onbekend'
WHEN 5 THEN 'Onbekend'
WHEN 6 THEN 'Akkoord'
WHEN 7 THEN 'Verwerkt'
END
status,
budgethouder.prs_perslid_naam_full budgethouder,
divisie.divisie || ' ' || divisie.divisie_omsch divisie,
kp.prs_kostenplaats_nr || ' ' || kp.prs_kostenplaats_omschrijving
kostenplaats,
fr.fin_factuurregel_omschrijving omschrijving,
srt_fr.fac_usrdata_code || ' ' || srt_fr.fac_usrdata_omschr
srt_factuurregel,
regel.fin_kenmerkfactregel_waarde regelnummer,
fr.fin_factuurregel_totaal excl_btw,
btw.fin_btwtabelwaarde_perc btw_tarief,
fr.fin_factuurregel_totaal + fin_factuurregel_btw
FROM fin_factuur f,
(SELECT *
FROM cnt_contract
WHERE ins_discipline_key = 426) gebruikersovereenkomst,
ins_tab_discipline d,
prs_kostensoort ks,
prs_v_perslid_fullnames_all p,
cnt_contract_object co,
ins_deel auto,
prs_kostenplaats kp,
prs_v_perslid_fullnames_all budgethouder,
fin_factuurregel fr,
(SELECT km.*, fac_usrdata_omschr, fac_usrdata_code
FROM fin_kenmerkfactregel km, fac_usrdata kw
WHERE km.fin_kenmerk_key = 1
AND km.fin_kenmerkfactregel_waarde = kw.fac_usrdata_key)
srt_fr,
(SELECT km.*
FROM fin_kenmerkfactregel km
WHERE km.fin_kenmerk_key = 2) regel,
fin_btwtabelwaarde btw,
(SELECT DISTINCT divisie, divisie_omsch, divisie_kp kpl
FROM uwva_v_org_structuur org
UNION ALL
SELECT DISTINCT divisie, divisie_omsch, afd_niv2_kp kpl
FROM uwva_v_org_structuur org
UNION ALL
SELECT DISTINCT divisie, divisie_omsch, afd_niv3_kp kpl
FROM uwva_v_org_structuur org
UNION ALL
SELECT DISTINCT divisie, divisie_omsch, afd_niv4_kp kpl
FROM uwva_v_org_structuur org
UNION ALL
SELECT DISTINCT divisie, divisie_omsch, afd_niv5_kp kpl
FROM uwva_v_org_structuur org) divisie
WHERE f.cnt_contract_key = gebruikersovereenkomst.cnt_contract_key
AND gebruikersovereenkomst.cnt_prs_perslid_key = p.prs_perslid_key(+)
AND gebruikersovereenkomst.ins_discipline_key = d.ins_discipline_key
AND d.prs_kostensoort_key = ks.prs_kostensoort_key
AND gebruikersovereenkomst.cnt_contract_key = co.cnt_contract_key
AND co.cnt_ins_deel_key = auto.ins_deel_key
AND gebruikersovereenkomst.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND kp.prs_perslid_key = budgethouder.prs_perslid_key(+)
AND fr.fin_factuur_key = f.fin_factuur_key
AND regel.fin_factuurregel_key(+) = fr.fin_factuurregel_key
AND srt_fr.fin_factuurregel_key(+) = fr.fin_factuurregel_key
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
AND kp.prs_kostenplaats_nr = divisie.kpl(+)
AND f.fin_factuur_verwijder IS NULL;
-- UWVA#38333 personen op vervallen werkplekken
CREATE OR REPLACE VIEW uwva_v_rap_prs_vervallenwp
(
prs_perslid_key,
volledige_naam,
naam,
voornaam,
login,
email,
werkplek,
locatie_code,
locatie_omschrijving,
gebouw_code,
gebouw_omschrijving,
verdieping_code,
verdieping_omschrijving,
ruimte_nr,
ruimte_omschrijving,
werkplek_volgnr
)
AS
SELECT p.prs_perslid_key,
pf.prs_perslid_naam_full,
prs_perslid_naam,
prs_perslid_voornaam,
prs_perslid_oslogin,
prs_perslid_email,
l.alg_locatie_code || '-' || aog.alg_plaatsaanduiding plaats,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
aog.alg_gebouw_code,
aog.alg_gebouw_naam,
aog.alg_verdieping_code,
alg_verdieping_omschrijving,
alg_ruimte_nr,
alg_ruimte_omschrijving,
prs_perslidwerkplek_volgnr
FROM prs_perslid p,
prs_perslidwerkplek pw,
prs_v_perslid_fullnames_all pf,
prs_werkplek w,
alg_v_allonrgoed_gegevens aog,
alg_gebouw g,
alg_locatie l
WHERE p.prs_perslid_key = pw.prs_perslid_key
AND p.prs_perslid_key = pf.prs_perslid_key
AND pw.prs_werkplek_key = w.prs_werkplek_key
AND w.prs_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_locatie_key = l.alg_locatie_key
AND g.alg_gebouw_key = aog.alg_gebouw_key
AND g.alg_gebouw_verwijder IS NULL
AND g.alg_gebouw_vervaldatum < TRUNC (SYSDATE)
AND p.prs_perslid_verwijder IS NULL;
create or replace view uwva_v_rap_werkplek_werkloc
(
naam,
personeelsnummer,
account1,
account2,
type_medewerker,
werklocatie,
toon_in_gids,
werkplek_volgnr,
werkplek,
locatie_werkplek,
gebouw_werkplek,
verdieping_werkplek,
ruimtenr_werkplek,
prs_perslid_key
)
as
select pf.prs_perslid_naam_full naam,
p.prs_perslid_nr,
p.prs_perslid_oslogin,
p.prs_perslid_oslogin2,
(select fac_usrdata_omschr
from prs_kenmerklink, fac_usrdata
where prs_kenmerk_key = 1040
and fac_usrtab_key = 301
and prs_kenmerklink_waarde = to_char (fac_usrdata_key)
and prs_link_key = p.prs_perslid_key)
type,
wloc.werklocatie,
p.prs_perslid_ingids,
pwp.prs_perslidwerkplek_volgnr,
l.alg_locatie_code || '-' || aog.alg_plaatsaanduiding,
l.alg_locatie_code,
aog.alg_gebouw_code,
aog.alg_verdieping_code,
aog.alg_ruimte_nr,
p.prs_perslid_key
from prs_perslid p,
prs_v_perslid_fullnames_all pf,
(select p.prs_perslid_key,
l.alg_locatie_code || '-' || aog.alg_plaatsaanduiding
werklocatie
from prs_perslid p, alg_v_allonrgoed_gegevens aog, alg_locatie l
where aog.alg_onroerendgoed_keys = p.alg_onroerendgoed_keys
and p.prs_perslid_verwijder is null
and p.alg_onroerendgoed_type != 'L'
and l.alg_locatie_key = aog.alg_locatie_key
union
select p.prs_perslid_key, l.alg_locatie_code
from prs_perslid p, alg_locatie l
where p.alg_onroerendgoed_keys = l.alg_locatie_key
and p.prs_perslid_verwijder is null
and p.alg_onroerendgoed_type = 'L') wloc,
alg_v_allonrgoed_gegevens aog,
prs_perslidwerkplek pwp,
prs_werkplek pw,
alg_locatie l
where p.prs_perslid_key = pf.prs_perslid_key
and wloc.prs_perslid_key(+) = p.prs_perslid_key
and p.prs_perslid_key = pwp.prs_perslid_key
and p.prs_perslid_verwijder is null
and l.alg_locatie_key = aog.alg_locatie_key
and pw.prs_werkplek_key = pwp.prs_werkplek_key
and pw.prs_alg_ruimte_key = aog.alg_onroerendgoed_keys
and l.alg_locatie_key = aog.alg_locatie_key;
CREATE OR REPLACE VIEW uwva_v_rap_cntauto_noscope
(
cnt_contract_key,
contractnummer,
contractsoort,
ingangsdatum,
einddatum,
kostenplaats
)
AS
SELECT cnt_contract_key,
COALESCE (cnt_contract_nummer_intern, TO_CHAR (cnt_contract_key))
contractnummer,
cd.ins_discipline_omschrijving contractsoort,
cnt_contract_looptijd_van,
cnt_contract_looptijd_tot,
(SELECT NVL2 (
k.prs_kostenplaats_nr,
prs_kostenplaats_nr || ' '
|| lcl.x ('prs_kostenplaats_omschrijving',
k.prs_kostenplaats_key,
k.prs_kostenplaats_omschrijving),
'')
FROM prs_kostenplaats k
WHERE prs_kostenplaats_key = c.prs_kostenplaats_key)
kostenplaats
FROM cnt_contract c, cnt_discipline cd
WHERE cnt_contract_verwijder IS NULL
AND c.ins_discipline_key IN (425, 426)
AND cd.ins_discipline_key = c.ins_discipline_key
AND c.cnt_contract_key NOT IN
(SELECT cnt_contract_key
FROM cnt_contract_object
WHERE cnt_contract_object_verwijder IS NULL);
-- UWVA#51959: Afhandelen CR-meldingen!
CREATE OR REPLACE PROCEDURE UWVA_processemail (
pfrom IN VARCHAR2,
pto IN VARCHAR2,
psubject IN VARCHAR2,
pbody IN VARCHAR2,
psessionid IN VARCHAR2,
pemailkey IN NUMBER)
AS
-- Soortmelding=3581=Call/service verzoek onder Vakgroep=468=Call registratie onder Vakgroeptype=2=Aanvragen met Kenmerk=3181=Bijlage!
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_perslid_key NUMBER (10);
v_kostenplaats_key NUMBER (10);
v_stdmelding_key NUMBER (10);
v_melding_key NUMBER (10) := NULL;
v_count NUMBER (10) := NULL;
BEGIN
CASE
WHEN UPPER (pto) LIKE 'CALL_REGISTRATIE@%'
THEN
-- Bepaal persoon met loginnaam _HMAIL.
v_errormsg := 'Fout bepalen CR-melder';
SELECT p.prs_perslid_key, a.prs_kostenplaats_key
INTO v_perslid_key, v_kostenplaats_key
FROM prs_v_aanwezigperslid p, prs_afdeling a
WHERE p.prs_perslid_key = 91592 -- _Service Center
AND p.prs_afdeling_key = a.prs_afdeling_key;
-- Bepaal Soortmelding met afgesproken key=3581 <20>n Kenmerk met afgesproken key=3181.
v_errormsg := 'Fout bepalen CR-soortmelding/kenmerk';
SELECT sm.mld_stdmelding_key
INTO v_stdmelding_key
FROM mld_discipline md, mld_stdmelding sm
WHERE md.ins_discipline_verwijder IS NULL
--AND md.ins_srtdiscipline_key = 2 -- Aanvragen
AND md.ins_discipline_key = sm.mld_ins_discipline_key
AND sm.mld_stdmelding_key = 3581 -- Call/service verzoek
AND EXISTS (SELECT 1
FROM mld_kenmerk
WHERE mld_kenmerk_verwijder IS NULL
AND mld_kenmerk_key = 3181 -- Bijlage
AND mld_kenmerk_niveau = 'D'
AND mld_stdmelding_key = md.ins_discipline_key);
-- Suggested extensions:
-- - Check for MLDUSE-write autorisations
-- - Parse the subject to find the appropriate stdmelding, if uniquely possible
-- - Append (as a note?) to an existing melding if #key is found in the subject
v_errormsg := 'Fout toevoegen CR-melding';
INSERT INTO mld_melding (mld_melding_module,
mld_meldbron_key,
mld_alg_locatie_key,
mld_alg_onroerendgoed_keys,
mld_melding_datum,
mld_melding_omschrijving,
mld_stdmelding_key,
mld_melding_t_uitvoertijd,
prs_kostenplaats_key,
prs_perslid_key,
prs_perslid_key_voor,
mld_melding_status,
mld_melding_spoed,
mld_melding_onderwerp)
VALUES ('MLD',
4, -- email
70, -- TODO/AMSG bij gebrek aan iets anders ter bepaling?
NULL,
SYSDATE,
SUBSTR (pbody, 1, 4000),
v_stdmelding_key,
NULL,
v_kostenplaats_key,
v_perslid_key,
v_perslid_key,
NULL,
3, -- prio normaal
SUBSTR (pfrom || ': ' || psubject, 1, 80))
RETURNING mld_melding_key
INTO v_melding_key;
mld.setmeldingstatus (v_melding_key, 2, v_perslid_key);
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_melding_key);
-- Bijlagen worden op basis van onderstaande door HMAIL-server geplaatst in de juiste folder!
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'kenmerkpath', 'MLD\M' || TO_CHAR (TRUNC (v_melding_key/1000), 'FM0000') || '___\M' || v_melding_key || '\3181\'); -- ' tbv. opmaak
ELSE
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'errormsg', 'Ontvanger ongeldig - Neem contact op met uw systeembeheerder ');
END CASE;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('PROCESSEMAIL', 'E', 'UWVA_processemail afgebroken!', '[' || pfrom || '] ' || v_errormsg);
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'errormsg', 'Database fout - Neem contact op met uw systeembeheerder ');
COMMIT;
END;
/
CREATE OR REPLACE VIEW uwva_v_rap_mail_error
(
hide_f_offset,
datum,
hint,
error
)
AS
SELECT SYSDATE - imp_log_datum, imp_log_datum, imp_log_hint, imp_log_omschrijving
FROM imp_log
WHERE imp_log_applicatie = 'PROCESSEMAIL' AND imp_log_datum > SYSDATE - 30;
-- UWVA#54031: Overschrijding acceptatietijd
-- UWVA#57192: Inbouwen 3d autorisatie op locatie (en daarmee regio)
CREATE OR REPLACE VIEW uwva_v_rap_overschrijding
(
vakgroeptype,
vakgroep,
soortmelding,
regio,
district,
locatiecode,
behandelaar,
melding_key,
meldingnr,
mldnew_dat,
status,
mldacp_sla,
mldacp_std,
mldacp_dat,
overschrijding_hh,
overschrijding_mm,
fclt_3d_locatie_key
)
AS
SELECT x.ins_srtdiscipline_omschrijving vakgroeptype,
x.ins_discipline_omschrijving vakgroep,
x.mld_stdmelding_omschrijving soortmelding,
x.alg_regio_omschrijving regio,
x.alg_district_omschrijving district,
x.alg_locatie_code locatiecode,
x.prs_perslid_naam_full behandelaar,
x.mld_melding_key melding_key,
x.ins_srtdiscipline_prefix || TO_CHAR (x.mld_melding_key) meldingnr,
x.mld_melding_datum mldnew_dat,
x.mld_statuses_omschrijving status,
TO_CHAR (x.tijdsduur) || x.eenheid mldacp_sla,
x.mld_melding_acceptdatum_std mldacp_std,
mldacp.fac_tracking_datum mldacp_dat,
DECODE (SIGN (mldacp.fac_tracking_datum - x.mld_melding_acceptdatum_std),
-1, TO_NUMBER (NULL),
ROUND (uwva.bepaal_uwv_doorlooptijd (x.mld_melding_acceptdatum_std, mldacp.fac_tracking_datum), 0))
overschrijding_hh,
DECODE (SIGN (mldacp.fac_tracking_datum - x.mld_melding_acceptdatum_std),
-1, TO_NUMBER (NULL),
ROUND (uwva.bepaal_uwv_doorlooptijd (x.mld_melding_acceptdatum_std, mldacp.fac_tracking_datum) * 60, 0))
overschrijding_mm,
x.alg_locatie_key
FROM (SELECT m.mld_melding_key,
m.mld_stdmelding_key,
sd.ins_srtdiscipline_prefix,
sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
m.mld_melding_datum,
ms.mld_statuses_omschrijving,
r.alg_regio_omschrijving,
d.alg_district_omschrijving,
l.alg_locatie_key,
l.alg_locatie_code,
pf.prs_perslid_naam_full,
m.mld_melding_t_accepttijd.tijdsduur tijdsduur,
m.mld_melding_t_accepttijd.eenheid eenheid,
m.mld_melding_acceptdatum_std
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
mld_statuses ms,
alg_locatie l,
alg_district d,
alg_regio r,
prs_v_perslid_fullnames pf
WHERE m.mld_melding_datum > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_melding_status = ms.mld_statuses_key
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = d.alg_district_key(+)
AND d.alg_regio_key = r.alg_regio_key(+)
AND m.mld_melding_behandelaar_key = pf.prs_perslid_key(+)) x
LEFT JOIN
( SELECT fac_tracking_refkey, MAX (fac_tracking_datum) fac_tracking_datum
FROM fac_tracking
WHERE fac_srtnotificatie_key IN (17, 22) -- MLDACP/MLDREJ
GROUP BY fac_tracking_refkey) mldacp
ON x.mld_melding_key = mldacp.fac_tracking_refkey
WHERE mldacp.fac_tracking_datum > x.mld_melding_acceptdatum_std;
-- UWVA#56770: Nieuw rapport Acceptatie- en doorlooptijden meldingen + bronview
CREATE OR REPLACE VIEW uwva_v_mld_actual_all
(
mld_key,
mld_begindatum,
mld_einddatum,
mld_accpttijd,
mld_afmtijd,
acpt_telaat,
uitv_telaat,
mldacp_date,
mldrej_date,
mldafm_date
)
AS
SELECT meld.mld_key,
meld.begindatum,
meld.einddatum,
TO_CHAR(FLOOR(uwva.bepaal_uwv_doorlooptijd (
meld.begindatum,
mldacp.fac_tracking_datum)))
|| ':'
|| TO_CHAR(MOD (
ROUND (
uwva.bepaal_uwv_doorlooptijd (
meld.begindatum,
mldacp.fac_tracking_datum)
* 60,
0),
60))
accepttijd,
TO_CHAR(FLOOR(uwva.bepaal_uwv_doorlooptijd (
meld.begindatum,
mldafm.fac_tracking_datum)))
|| ':'
|| TO_CHAR(MOD (
ROUND (
uwva.bepaal_uwv_doorlooptijd (
meld.begindatum,
mldafm.fac_tracking_datum)
* 60,
0),
60))
afmeldtijd,
DECODE (SIGN (meld.mld_melding_acceptdatum_std
- COALESCE (mldrej.fac_tracking_datum,
mldacp.fac_tracking_datum,
mldafm.fac_tracking_datum,
SYSDATE)),
-1, 1,
0)
acpt_telaat,
DECODE (
SIGN(meld.mld_melding_einddatum_std
- COALESCE (mldrej.fac_tracking_datum,
mldafm.fac_tracking_datum,
SYSDATE)),
-1,
1,
0)
uitv_telaat,
mldacp.fac_tracking_datum,
mldrej.fac_tracking_datum,
mldafm.fac_tracking_datum
FROM (SELECT m.mld_melding_key mld_key,
m.mld_melding_datum begindatum,
m.mld_melding_einddatum einddatum,
m.mld_melding_acceptdatum_std,
m.mld_melding_einddatum_std
FROM mld_melding m) meld
LEFT JOIN (SELECT t.fac_tracking_refkey,
t.fac_tracking_datum,
t.prs_perslid_key
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key = 17
AND t.fac_tracking_key IN
(SELECT MAX (fac_tracking_key)
FROM fac_tracking
WHERE fac_srtnotificatie_key = 17
AND fac_tracking_refkey =
t.fac_tracking_refkey))
mldacp
ON meld.mld_key = mldacp.fac_tracking_refkey
LEFT JOIN fac_tracking mldrej
ON meld.mld_key = mldrej.fac_tracking_refkey
AND mldrej.fac_srtnotificatie_key = 22
LEFT JOIN fac_tracking mldafm
ON meld.mld_key = mldafm.fac_tracking_refkey
AND mldafm.fac_srtnotificatie_key = 18;
CREATE OR REPLACE VIEW uwva_v_rap_doorloopmld
(
mld_key,
meldingsnummer,
fclt_f_soort_melding,
fclt_f_productgroep,
fclt_f_melding,
fclt_f_regio,
fclt_f_district,
fclt_3d_locatie_key,
locatie,
fclt_f_gebouw,
fclt_f_behandelgroep,
behandelaar,
uitvoerende,
registratiedatum,
registratietijd,
sla_acceptatie,
acceptatiedatum,
acceptatietijd,
werkelijk_accptijd,
binnen_sla_accp,
delta_sla_accp,
sla_uitvoertijd,
afmelddatum,
afmeldtijd,
werkelijk_afmtijd,
binnen_sla_afm,
delta_sla_afm
)
AS
SELECT m.mld_melding_key,
sd.ins_srtdiscipline_prefix || m.mld_melding_key,
sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_omschrijving,
mstd.mld_stdmelding_omschrijving,
ar.alg_regio_omschrijving,
ad.alg_district_omschrijving,
al.alg_locatie_key,
al.alg_locatie_omschrijving,
v.alg_gebouw_naam,
bg.mld_behandelgroep_naam,
pf.prs_perslid_naam_friendly,
COALESCE (b.prs_bedrijf_naam, 'Intern: ' || p.prs_perslid_naam) uitvoerende,
TRUNC (m.mld_melding_datum) registratiedatum,
TO_CHAR (m.mld_melding_datum, 'HH24:MI') registratietijd,
CASE
WHEN MSTD.MLD_STDMELDING_T_ACCEPTTIJD.eenheid = 'D'
THEN
MSTD.MLD_STDMELDING_T_ACCEPTTIJD.tijdsduur * 10.5 -- aantal dagen X 10,5 uur (werkdag)
ELSE
mstd.mld_stdmelding_t_accepttijd.tijdsduur
END
accepttijd,
TRUNC (ua.mldacp_date) accptdatum,
TO_CHAR (ua.mldacp_date, 'HH24:MI') accpttijd,
fac.safe_to_number ( ROUND (
fac.safe_to_number(SUBSTR (ua.mld_accpttijd,
0,
INSTR (ua.mld_accpttijd, ':') - 1)
+ (SUBSTR (ua.mld_accpttijd,
INSTR (ua.mld_accpttijd, ':') + 1)
/ 60)),
2)) werkelijkaccp,
DECODE (SIGN (m.mld_melding_acceptdatum_std - ua.mldacp_date),
-1, 'Nee',
'Ja')
binnen_sla,
ROUND (
uwva.bepaal_uwv_doorlooptijd (m.mld_melding_acceptdatum_std,
ua.mldacp_date),
2)
delatacp,
CASE
WHEN mstd.mld_stdmelding_t_uitvoertijd.eenheid = 'D'
THEN
mstd.mld_stdmelding_t_uitvoertijd.tijdsduur * 10.5 -- aantal dagen X 10,5 uur (werkdag)
ELSE
mstd.mld_stdmelding_t_uitvoertijd.tijdsduur
END
eindtijd,
TRUNC (ua.mldafm_date) afmdatum,
TO_CHAR (ua.mldafm_date, 'HH24:MI') afmtijd,
fac.safe_to_number ( ROUND (
fac.safe_to_number(SUBSTR (ua.mld_afmtijd,
0,
INSTR (ua.mld_afmtijd, ':') - 1)
+ (SUBSTR (ua.mld_afmtijd,
INSTR (ua.mld_afmtijd, ':') + 1)
/ 60)),
2)) werkelijkafm,
DECODE (SIGN (m.mld_melding_einddatum_std - ua.mldafm_date),
-1, 'Nee',
'Ja')
binnen_sla_afm,
ROUND (
uwva.bepaal_uwv_doorlooptijd (m.mld_melding_einddatum_std,
ua.mldafm_date),
2)
delatafm
FROM mld_melding m,
mld_stdmelding mstd,
mld_discipline md,
ins_srtdiscipline sd,
alg_locatie al,
alg_district ad,
alg_regio ar,
alg_v_onroerendgoed_gegevens v,
mld_behandelgroep bg,
mld_disc_params dc,
prs_v_perslid_fullnames pf,
uwva_v_mld_actual_all ua,
mld_opdr o,
prs_bedrijf b,
prs_perslid p
WHERE m.mld_stdmelding_key = mstd.mld_stdmelding_key
AND mstd.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_alg_locatie_key = al.alg_locatie_key
AND al.alg_district_key = ad.alg_district_key
AND ad.alg_regio_key = ar.alg_regio_key
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys
AND md.ins_discipline_key = dc.mld_ins_discipline_key
AND dc.mld_behandelgroep_key = bg.mld_behandelgroep_key
AND m.mld_melding_behandelaar_key = pf.prs_perslid_key(+)
AND m.mld_melding_status IN (1, 5, 6) -- Afgewezen, afgemeld en historie
AND m.mld_melding_key = ua.mld_key
AND m.mld_melding_key = o.mld_melding_key
AND o.mld_uitvoerende_keys = p.prs_perslid_key(+)
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+);
-- UWVA#71910: Toevoegen keys 407=Workshopruimtes, 408=Klantbalies en 490=Ketentest E-Afspraak.
CREATE OR REPLACE VIEW UWVA_V_RAP_EAFSPRAAK1
(
LOCATIE_ID,
LOCATIE_CODE,
CATALOG_ID,
CATALOG_NAME,
RUIMTE_ID,
RUIMTE_NAAM,
RUIMTE_OMSCHRIJVING,
AANTAL_PERS,
STARTDATUM,
VERVALDATUM,
VASTGOED_RUIMTE_ID
)
AS
SELECT al.alg_locatie_key,
al.alg_locatie_code,
rd.ins_discipline_key,
rd.ins_discipline_omschrijving,
rr.res_ruimte_key,
rr.res_ruimte_nr,
rr.res_ruimte_omschrijving,
(SELECT MAX (rro.res_ruimte_opstel_bezoekers)
FROM res_ruimte_opstelling rro
WHERE rr.res_ruimte_key = rro.res_ruimte_key)
pers,
rr.res_ruimte_startdatum,
rr.res_ruimte_vervaldatum,
ar.alg_ruimte_key
FROM res_ruimte rr,
res_alg_ruimte rar,
alg_ruimte ar,
alg_verdieping av,
alg_gebouw ag,
alg_locatie al,
res_discipline rd
WHERE rr.res_ruimte_key = rar.res_ruimte_key
AND rar.alg_ruimte_key = ar.alg_ruimte_key
AND ar.alg_verdieping_key = av.alg_verdieping_key
AND av.alg_gebouw_key = ag.alg_gebouw_key
AND ag.alg_locatie_key = al.alg_locatie_key
AND rr.res_discipline_key = rd.ins_discipline_key
AND rd.ins_discipline_key IN (121, 122, 123, 124, 125, 138, 140, 407, 408, 490, 491)
AND ar.alg_ruimte_verwijder IS NULL
AND rr.res_ruimte_verwijder IS NULL
AND rar.res_alg_ruimte_verwijder IS NULL
AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE)
AND (rr.res_ruimte_startdatum IS NULL OR rr.res_ruimte_startdatum <= SYSDATE);
CREATE OR REPLACE VIEW UWVA_V_RAP_EAFSPRAAK2
(
RUIMTE_ID,
LOCATIE_ID,
VAN,
TOT,
VERVALDATUM
)
AS
SELECT rr.res_ruimte_key,
al.alg_locatie_key,
vr.res_rsv_ruimte_van,
vr.res_rsv_ruimte_tot,
rr.res_ruimte_vervaldatum
FROM res_v_rsv_ruimte_2_alg_ruimte vr,
res_ruimte rr,
alg_ruimte ar,
alg_verdieping av,
alg_gebouw ag,
alg_locatie al
WHERE vr.res_ruimte_key = rr.res_ruimte_key(+)
AND vr.alg_ruimte_key = ar.alg_ruimte_key
AND ar.alg_verdieping_key = av.alg_verdieping_key
AND av.alg_gebouw_key = ag.alg_gebouw_key
AND ag.alg_locatie_key = al.alg_locatie_key
AND TRUNC (vr.res_rsv_ruimte_van) >= TRUNC (SYSDATE) - 14
AND rr.res_discipline_key IN (121, 122, 124, 125, 140, 407, 408, 490, 491)
AND rr.res_ruimte_verwijder IS NULL
AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE);
CREATE OR REPLACE VIEW UWVA_V_RAP_EAFSPRAAK2a
(
RUIMTE_ID,
LOCATIE_ID,
VAN,
TOT,
VERVALDATUM,
ACTIEF
)
AS
SELECT rr.res_ruimte_key,
al.alg_locatie_key,
vr.res_rsv_ruimte_van,
vr.res_rsv_ruimte_tot,
rr.res_ruimte_vervaldatum,
'ACTIEF'
FROM res_v_rsv_ruimte_2_alg_ruimte vr,
res_ruimte rr,
alg_ruimte ar,
alg_verdieping av,
alg_gebouw ag,
alg_locatie al
WHERE vr.res_ruimte_key = rr.res_ruimte_key(+)
AND vr.alg_ruimte_key = ar.alg_ruimte_key
AND ar.alg_verdieping_key = av.alg_verdieping_key
AND av.alg_gebouw_key = ag.alg_gebouw_key
AND ag.alg_locatie_key = al.alg_locatie_key
AND TRUNC (vr.res_rsv_ruimte_van) >= TRUNC (SYSDATE) - 14
AND rr.res_discipline_key IN (121, 122, 124, 125, 140, 407, 408, 490, 491)
AND rr.res_ruimte_verwijder IS NULL
AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE)
UNION ALL
SELECT DISTINCT rr.res_ruimte_key,
NULL,
NULL,
NULL,
rr.res_ruimte_vervaldatum,
'ACTIEF'
FROM res_ruimte rr
WHERE rr.res_discipline_key IN (121, 122, 124, 125, 140, 407, 408, 490, 491)
AND rr.res_ruimte_verwijder IS NULL
AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE);
CREATE OR REPLACE VIEW UWVA_V_RAP_EAFSPRAAK2b
(
RUIMTE_ID,
LOCATIE_ID,
VAN,
TOT,
VERVALDATUM,
ACTIEF
)
AS
SELECT RUIMTE_ID, LOCATIE_ID, NVL (VAN, SYSDATE), TOT, VERVALDATUM, ACTIEF
FROM UWVA_V_RAP_EAFSPRAAK2a;
CREATE OR REPLACE VIEW UWVA_V_RAP_EAFSPRAAK3
(
RES_ID,
RUIMTE_ID,
AFSPRAAK_ID,
BEZOEKER_ID,
BEZOEKER_NAAM,
BEZOEKER_BEDRIJF,
BEZOEKER_TIJDSTIP_IN,
BEZOEKER_TIJDSTIP_UIT,
BEZOEKER_OPMERKING
)
AS
SELECT vr.res_reservering_key,
rr.res_ruimte_key,
ba.bez_afspraak_key,
bb.bez_bezoekers_key,
bb.bez_afspraak_naam,
bb.bez_afspraak_bedrijf,
ba.bez_afspraak_datum,
ba.bez_afspraak_eind,
ba.bez_afspraak_opmerking
FROM res_v_rsv_ruimte_2_alg_ruimte vr,
res_ruimte rr,
bez_bezoekers bb,
bez_afspraak ba,
fac_tracking ft,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_oslogin = '_COMM') sub
WHERE vr.res_ruimte_key = rr.res_ruimte_key
AND bb.bez_afspraak_key = ba.bez_afspraak_key
AND ba.res_rsv_ruimte_key = vr.res_rsv_ruimte_key
AND ft.prs_perslid_key = sub.prs_perslid_key -- API account CommUnited
AND ft.fac_srtnotificatie_key = 30 -- RESNEW
AND ft.fac_tracking_refkey = vr.res_rsv_ruimte_key
AND vr.res_alg_ruimte_verwijder IS NULL
AND rr.res_ruimte_verwijder IS NULL
AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE);
CREATE OR REPLACE VIEW UWVA_V_RAP_EAFSPRAAK4 (PRS_PERSLID_KEY, PUIK)
AS
SELECT prs_perslid_key, prs_perslid_oslogin
FROM prs_perslid
WHERE prs_perslid_verwijder IS NULL;
-- UWVA#53488/UWVA#73260: Tbv. Livewords-koppeling!
CREATE OR REPLACE VIEW uwva_v_rap_livewords
AS
SELECT x.mld_opdr_key opdrachtid,
x.ins_srtdiscipline_prefix || TO_CHAR (x.mld_melding_key) || '/' || TO_CHAR (x.mld_opdr_bedrijfopdr_volgnr) opdrachtnummer,
TO_CHAR (x.mld_statusopdr_key) opdrachtstatus_key,
--(SELECT mld_statusopdr_omschrijving FROM mld_statusopdr WHERE mld_statusopdr_key = x.mld_statusopdr_key) opdrachtstatus,
TO_CHAR (x.ins_discipline_key) vakgroep_key,
--x.ins_discipline_omschrijving vakgroep,
TO_CHAR (x.mld_stdmelding_key) melding_key,
--x.mld_stdmelding_omschrijving melding,
x.mld_melding_spoed prioriteit,
x.alg_locatie_adres loc_bezoekadres,
x.alg_locatie_postcode loc_bezoekpostcode,
x.alg_locatie_plaats loc_bezoekplaats,
x.melder,
x.melder_email,
x.melder_telefoon,
DECODE (x.melder_geslacht, 1, 'M', 'V') melder_geslacht,
x.behandelaar,
x.mld_opdr_datumbegin opdrachtdatum,
x.mld_opdr_einddatum einddatum,
x.prs_kostenplaats_nr kostenplaats_code,
x.prs_kostenplaats_omschrijving kostenplaats_oms,
x.mld_opdr_kosten totaal_kosten,
reflev.mld_kenmerkmelding_waarde projectnummer,
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames WHERE prs_perslid_key = uwv_mdw.prs_perslid_key) naam_uwv_medew,
uwv_mdw.prs_perslid_email email_uwv_medew,
uwv_mdw.prs_perslid_mobiel mobiel_uwv_medew,
k2.mld_kenmerkmelding_waarde naam_klant,
k3.mld_kenmerkmelding_waarde datum,
k4.mld_kenmerkmelding_waarde aanvangstijd,
k5.mld_kenmerkmelding_waarde eindtijd,
k6.mld_kenmerkmelding_waarde te_vertalen_key,
--(SELECT fac_usrdata_omschr FROM fac_v_aanwezigusrdata WHERE fac_usrdata_key = fac.safe_to_number (k6.mld_kenmerkmelding_waarde)) te_vertalen,
k7.mld_kenmerkmelding_waarde beedigd,
k8.mld_kenmerkmelding_waarde soort_gespr_key,
--(SELECT fac_usrdata_omschr FROM fac_v_aanwezigusrdata WHERE fac_usrdata_key = fac.safe_to_number (k8.mld_kenmerkmelding_waarde)) soort_gespr,
k9.mld_kenmerkmelding_waarde kenm_gespr_key,
--(SELECT fac_usrdata_omschr FROM fac_v_aanwezigusrdata WHERE fac_usrdata_key = fac.safe_to_number (k9.mld_kenmerkmelding_waarde)) kenm_gespr,
k10.mld_kenmerkmelding_waarde aanv_kenm_gesp_key,
--(SELECT fac_usrdata_omschr FROM fac_v_aanwezigusrdata WHERE fac_usrdata_key = fac.safe_to_number (k10.mld_kenmerkmelding_waarde)) aanv_kenm_gespr,
k11.mld_kenmerkmelding_waarde voorkeur_tolk,
k12.mld_kenmerkmelding_waarde de_gespr_key,
--(SELECT fac_usrdata_omschr FROM fac_v_aanwezigusrdata WHERE fac_usrdata_key = fac.safe_to_number (k12.mld_kenmerkmelding_waarde)) de_gespr,
k21.mld_kenmerkmelding_waarde locatie1,
k22.mld_kenmerkmelding_waarde adres1,
k23.mld_kenmerkmelding_waarde postcode1,
k24.mld_kenmerkmelding_waarde plaats1,
k25.mld_kenmerkmelding_waarde tijd1,
k31.mld_kenmerkmelding_waarde locatie2,
k32.mld_kenmerkmelding_waarde adres2,
k33.mld_kenmerkmelding_waarde postcode2,
k34.mld_kenmerkmelding_waarde plaats2,
k35.mld_kenmerkmelding_waarde tijd2,
k41.mld_kenmerkmelding_waarde locatie3,
k42.mld_kenmerkmelding_waarde adres3,
k43.mld_kenmerkmelding_waarde postcode3,
k44.mld_kenmerkmelding_waarde plaats3,
k45.mld_kenmerkmelding_waarde tijd3,
k51.mld_kenmerkmelding_waarde locatie4,
k52.mld_kenmerkmelding_waarde adres4,
k53.mld_kenmerkmelding_waarde postcode4,
k54.mld_kenmerkmelding_waarde plaats4,
k55.mld_kenmerkmelding_waarde tijd4,
k61.mld_kenmerkmelding_waarde locatie5,
k62.mld_kenmerkmelding_waarde adres5,
k63.mld_kenmerkmelding_waarde postcode5,
k64.mld_kenmerkmelding_waarde plaats5,
k65.mld_kenmerkmelding_waarde tijd5,
k71.mld_kenmerkmelding_waarde locatie6,
k72.mld_kenmerkmelding_waarde adres6,
k73.mld_kenmerkmelding_waarde postcode6,
k74.mld_kenmerkmelding_waarde plaats6,
k75.mld_kenmerkmelding_waarde tijd6
FROM (SELECT o.mld_opdr_key,
sd.ins_srtdiscipline_prefix,
o.mld_melding_key,
o.mld_opdr_bedrijfopdr_volgnr,
o.mld_statusopdr_key,
md.ins_discipline_key,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_key,
sm.mld_stdmelding_omschrijving,
l.alg_locatie_adres,
l.alg_locatie_postcode,
l.alg_locatie_plaats,
pfm.prs_perslid_naam_full melder,
pm.prs_perslid_email melder_email,
COALESCE (pm.prs_perslid_mobiel, pm.prs_perslid_telefoonnr) melder_telefoon,
pm.prs_perslid_geslacht melder_geslacht,
m.mld_melding_spoed,
pfb.prs_perslid_naam_full behandelaar,
o.mld_opdr_datumbegin,
o.mld_opdr_einddatum,
kp.prs_kostenplaats_nr,
kp.prs_kostenplaats_omschrijving,
o.mld_opdr_kosten
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
alg_locatie l,
prs_perslid pm,
prs_v_perslid_fullnames pfm,
prs_v_perslid_fullnames pfb,
prs_kostenplaats kp
WHERE o.mld_statusopdr_key IN (3, 4, 5, 8, 10)
AND o.mld_melding_key = m.mld_melding_key
--AND m.mld_melding_status IN (4, 7, 99) -- In behandeling/Uitgegeven/Niet opgelost
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_discipline_key IN (264, 461) -- Tolkdiensten/Tolkdiensten bijzondere zaken
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND m.prs_perslid_key = pm.prs_perslid_key
AND pm.prs_perslid_key = pfm.prs_perslid_key
AND o.prs_perslid_key = pfb.prs_perslid_key(+)
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)) x
LEFT JOIN mld_v_aanwezigkenmerkmelding reflev
ON x.mld_melding_key = reflev.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1461 AND mld_kenmerk_key = reflev.mld_kenmerk_key) -- Referentie leverancier
LEFT JOIN mld_v_aanwezigkenmerkmelding k1
ON x.mld_melding_key = k1.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1264 AND mld_kenmerk_key = k1.mld_kenmerk_key) -- Naam UWV medewerker
LEFT JOIN prs_perslid uwv_mdw
ON fac.safe_to_number (k1.mld_kenmerkmelding_waarde) = uwv_mdw.prs_perslid_key
LEFT JOIN mld_v_aanwezigkenmerkmelding k2
ON x.mld_melding_key = k2.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1500 AND mld_kenmerk_key = k2.mld_kenmerk_key) -- Naam klant
LEFT JOIN mld_v_aanwezigkenmerkmelding k3
ON x.mld_melding_key = k3.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 674 AND mld_kenmerk_key = k3.mld_kenmerk_key) -- Datum
LEFT JOIN mld_v_aanwezigkenmerkmelding k4
ON x.mld_melding_key = k4.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 2121 AND mld_kenmerk_key = k4.mld_kenmerk_key) -- Aanvangstijd
LEFT JOIN mld_v_aanwezigkenmerkmelding k5
ON x.mld_melding_key = k5.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 2122 AND mld_kenmerk_key = k5.mld_kenmerk_key) -- Eindtijd
LEFT JOIN mld_v_aanwezigkenmerkmelding k6
ON x.mld_melding_key = k6.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1266 AND mld_kenmerk_key = k6.mld_kenmerk_key) -- Te vertalen taal
LEFT JOIN mld_v_aanwezigkenmerkmelding k7
ON x.mld_melding_key = k7.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1162 AND mld_kenmerk_key = k7.mld_kenmerk_key) -- Beedigd
LEFT JOIN mld_v_aanwezigkenmerkmelding k8
ON x.mld_melding_key = k8.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1261 AND mld_kenmerk_key = k8.mld_kenmerk_key) -- Soort gesprek
LEFT JOIN mld_v_aanwezigkenmerkmelding k9
ON x.mld_melding_key = k9.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1262 AND mld_kenmerk_key = k9.mld_kenmerk_key) -- Kenmerken gesprek
LEFT JOIN mld_v_aanwezigkenmerkmelding k10
ON x.mld_melding_key = k10.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1263 AND mld_kenmerk_key = k10.mld_kenmerk_key) -- Aanvullende kenmerken gesprek
LEFT JOIN mld_v_aanwezigkenmerkmelding k11
ON x.mld_melding_key = k11.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1265 AND mld_kenmerk_key = k11.mld_kenmerk_key) -- Eventuele voorkeur tolk
LEFT JOIN mld_v_aanwezigkenmerkmelding k12
ON x.mld_melding_key = k12.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1366 AND mld_kenmerk_key = k12.mld_kenmerk_key) -- De gesprekken
LEFT JOIN mld_v_aanwezigkenmerkmelding k21
ON x.mld_melding_key = k21.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1282 AND mld_kenmerk_key = k21.mld_kenmerk_key) -- Naam locatie 1
LEFT JOIN mld_v_aanwezigkenmerkmelding k22
ON x.mld_melding_key = k22.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1267 AND mld_kenmerk_key = k22.mld_kenmerk_key) -- Adres
LEFT JOIN mld_v_aanwezigkenmerkmelding k23
ON x.mld_melding_key = k23.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 671 AND mld_kenmerk_key = k23.mld_kenmerk_key) -- Postcode
LEFT JOIN mld_v_aanwezigkenmerkmelding k24
ON x.mld_melding_key = k24.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 672 AND mld_kenmerk_key = k24.mld_kenmerk_key) -- Plaats
LEFT JOIN mld_v_aanwezigkenmerkmelding k25
ON x.mld_melding_key = k25.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1387 AND mld_kenmerk_key = k25.mld_kenmerk_key) -- Tijd
LEFT JOIN mld_v_aanwezigkenmerkmelding k31
ON x.mld_melding_key = k31.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1372 AND mld_kenmerk_key = k31.mld_kenmerk_key) -- Naam locatie 2
LEFT JOIN mld_v_aanwezigkenmerkmelding k32
ON x.mld_melding_key = k32.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1361 AND mld_kenmerk_key = k32.mld_kenmerk_key) -- Adres
LEFT JOIN mld_v_aanwezigkenmerkmelding k33
ON x.mld_melding_key = k33.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1382 AND mld_kenmerk_key = k33.mld_kenmerk_key) -- Postcode
LEFT JOIN mld_v_aanwezigkenmerkmelding k34
ON x.mld_melding_key = k34.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1377 AND mld_kenmerk_key = k34.mld_kenmerk_key) -- Plaats
LEFT JOIN mld_v_aanwezigkenmerkmelding k35
ON x.mld_melding_key = k35.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1388 AND mld_kenmerk_key = k35.mld_kenmerk_key) -- Tijd
LEFT JOIN mld_v_aanwezigkenmerkmelding k41
ON x.mld_melding_key = k41.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1373 AND mld_kenmerk_key = k41.mld_kenmerk_key) -- Naam locatie 3
LEFT JOIN mld_v_aanwezigkenmerkmelding k42
ON x.mld_melding_key = k42.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1362 AND mld_kenmerk_key = k42.mld_kenmerk_key) -- Adres
LEFT JOIN mld_v_aanwezigkenmerkmelding k43
ON x.mld_melding_key = k43.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1383 AND mld_kenmerk_key = k43.mld_kenmerk_key) -- Postcode
LEFT JOIN mld_v_aanwezigkenmerkmelding k44
ON x.mld_melding_key = k44.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1378 AND mld_kenmerk_key = k44.mld_kenmerk_key) -- Plaats
LEFT JOIN mld_v_aanwezigkenmerkmelding k45
ON x.mld_melding_key = k45.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1389 AND mld_kenmerk_key = k45.mld_kenmerk_key) -- Tijd
LEFT JOIN mld_v_aanwezigkenmerkmelding k51
ON x.mld_melding_key = k51.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1374 AND mld_kenmerk_key = k51.mld_kenmerk_key) -- Naam locatie 4
LEFT JOIN mld_v_aanwezigkenmerkmelding k52
ON x.mld_melding_key = k52.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1363 AND mld_kenmerk_key = k52.mld_kenmerk_key) -- Adres
LEFT JOIN mld_v_aanwezigkenmerkmelding k53
ON x.mld_melding_key = k53.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1384 AND mld_kenmerk_key = k53.mld_kenmerk_key) -- Postcode
LEFT JOIN mld_v_aanwezigkenmerkmelding k54
ON x.mld_melding_key = k54.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1379 AND mld_kenmerk_key = k54.mld_kenmerk_key) -- Plaats
LEFT JOIN mld_v_aanwezigkenmerkmelding k55
ON x.mld_melding_key = k55.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1390 AND mld_kenmerk_key = k55.mld_kenmerk_key) -- Tijd
LEFT JOIN mld_v_aanwezigkenmerkmelding k61
ON x.mld_melding_key = k61.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1375 AND mld_kenmerk_key = k61.mld_kenmerk_key) -- Naam locatie 5
LEFT JOIN mld_v_aanwezigkenmerkmelding k62
ON x.mld_melding_key = k62.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1364 AND mld_kenmerk_key = k62.mld_kenmerk_key) -- Adres
LEFT JOIN mld_v_aanwezigkenmerkmelding k63
ON x.mld_melding_key = k63.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1385 AND mld_kenmerk_key = k63.mld_kenmerk_key) -- Postcode
LEFT JOIN mld_v_aanwezigkenmerkmelding k64
ON x.mld_melding_key = k64.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1380 AND mld_kenmerk_key = k64.mld_kenmerk_key) -- Plaats
LEFT JOIN mld_v_aanwezigkenmerkmelding k65
ON x.mld_melding_key = k65.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1391 AND mld_kenmerk_key = k65.mld_kenmerk_key) -- Tijd
LEFT JOIN mld_v_aanwezigkenmerkmelding k71
ON x.mld_melding_key = k71.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1376 AND mld_kenmerk_key = k71.mld_kenmerk_key) -- Naam locatie 6
LEFT JOIN mld_v_aanwezigkenmerkmelding k72
ON x.mld_melding_key = k72.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1365 AND mld_kenmerk_key = k72.mld_kenmerk_key) -- Adres
LEFT JOIN mld_v_aanwezigkenmerkmelding k73
ON x.mld_melding_key = k73.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1386 AND mld_kenmerk_key = k73.mld_kenmerk_key) -- Postcode
LEFT JOIN mld_v_aanwezigkenmerkmelding k74
ON x.mld_melding_key = k74.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1381 AND mld_kenmerk_key = k74.mld_kenmerk_key) -- Plaats
LEFT JOIN mld_v_aanwezigkenmerkmelding k75
ON x.mld_melding_key = k75.mld_melding_key
AND EXISTS
(SELECT 1 FROM mld_kenmerk WHERE mld_kenmerk_verwijder IS NULL AND mld_srtkenmerk_key = 1392 AND mld_kenmerk_key = k75.mld_kenmerk_key) -- Tijd
;
-- UWVA#62756: Reserveren werkplekken!
CREATE OR REPLACE VIEW uwva_v_thema_srtruimtesensor
(
alg_ruimte_key,
waarde
)
AS
SELECT alg_ruimte_key, -- Ruimten met sensor!
DECODE (MAX (status), 0, 'Uit', 2, 'Aan', 'NoShow')
FROM (SELECT r.alg_ruimte_key,
DECODE (
INITCAP (d.ins_deel_state),
'0', -- Als sensor uit, dan kijken naar de reservering
DECODE (r2a.res_reservering_key,
NULL, 0, -- Geen reservering, dan dus Uit(0)
DECODE (eerste10min, 1, 2, 1)), -- Eerste 10 minuten nog Aan(2), daarna NoShow(1)
2)
status
FROM alg_v_aanwezigruimte r,
ins_v_aanwezigdeel d,
ins_srtdeel sd,
(SELECT alg_ruimte_key,
res_reservering_key,
CASE
WHEN (SYSDATE - res_rsv_ruimte_van > 10 / 1440)
THEN 0
ELSE 1
END
eerste10min
FROM res_v_rsv_ruimte_2_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
AND res_rsv_ruimte_dirtlevel = 0
AND res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen!
AND res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC (SYSDATE + 1)) r2a
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key
AND d.ins_discipline_key = 474 -- Werkplekvoorzieningen
AND d.ins_alg_ruimte_type = 'R'
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = fac.getsetting ('ins_occupationsensors_srtgroep_key')
AND d.ins_deel_state IS NOT NULL
AND r.alg_ruimte_key = r2a.alg_ruimte_key(+))
GROUP BY alg_ruimte_key
UNION ALL -- Ruimten zonder sensor!
SELECT r.alg_ruimte_key,
DECODE (rr.res_ruimte_key, -- Is dit een vergaderruimte?
NULL, '*' || sr.alg_srtruimte_omschrijving,
DECODE (r2a.res_reservering_key, NULL, 'Uit', 'Aan')) -- Uit(0)/NoShow(1)/Aan(2)
FROM alg_v_aanwezigruimte r,
alg_srtruimte sr,
(SELECT alg_ruimte_key, res_reservering_key
FROM res_v_rsv_ruimte_2_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
AND res_rsv_ruimte_dirtlevel = 0
AND res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen!
AND res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC (SYSDATE + 1)) r2a,
( SELECT alg_ruimte_key, MAX (res_ruimte_key) res_ruimte_key
FROM res_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
GROUP BY alg_ruimte_key) rr
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
AND r.alg_ruimte_key = r2a.alg_ruimte_key(+)
AND r.alg_ruimte_key = rr.alg_ruimte_key(+)
AND EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d, res_v_aanwezigdeel rd, alg_ruimte r2
WHERE d.ins_discipline_key = 474 -- Werkplekvoorzieningen
AND COALESCE (d.ins_deel_vervaldatum, SYSDATE + 1) > TRUNC (SYSDATE) -- Niet vervallen
AND d.ins_deel_key = rd.res_ins_deel_key -- Reserveerbaar!
AND rd.res_discipline_key = 475 -- Werkplek (liefst geen keys van RES-catalogi, maar okay)!
AND COALESCE (rd.res_deel_vervaldatum, SYSDATE + 1) > TRUNC (SYSDATE) -- Niet vervallen
AND d.ins_alg_ruimte_key = r2.alg_ruimte_key
AND r2.alg_verdieping_key = r.alg_verdieping_key)
AND NOT EXISTS
(SELECT r.alg_ruimte_key
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
WHERE d.ins_alg_ruimte_type = 'R'
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = fac.getsetting ('ins_occupationsensors_srtgroep_key')
AND d.ins_deel_state IS NOT NULL
AND d.ins_alg_ruimte_key = r.alg_ruimte_key);
CREATE OR REPLACE VIEW uwva_v_thema_srtruimtesen484
(
alg_ruimte_key,
waarde
)
AS
SELECT alg_ruimte_key, -- Ruimten met sensor!
DECODE (MAX (status), 0, 'Uit', 2, 'Aan', 'NoShow')
FROM (SELECT r.alg_ruimte_key,
DECODE (
INITCAP (d.ins_deel_state),
'0', -- Als sensor uit, dan kijken naar de reservering
DECODE (r2a.res_reservering_key,
NULL, 0, -- Geen reservering, dan dus Uit(0)
DECODE (eerste10min, 1, 2, 1)), -- Eerste 10 minuten nog Aan(2), daarna NoShow(1)
2)
status
FROM alg_v_aanwezigruimte r,
ins_v_aanwezigdeel d,
ins_srtdeel sd,
(SELECT alg_ruimte_key,
res_reservering_key,
CASE
WHEN (SYSDATE - res_rsv_ruimte_van > 10 / 1440)
THEN 0
ELSE 1
END
eerste10min
FROM res_v_rsv_ruimte_2_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
AND res_rsv_ruimte_dirtlevel = 0
AND res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen!
AND res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC (SYSDATE + 1)) r2a
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key
AND d.ins_discipline_key = 474 -- Werkplekvoorzieningen
AND d.ins_alg_ruimte_type = 'R'
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = fac.getsetting ('ins_occupationsensors_srtgroep_key')
AND d.ins_deel_state IS NOT NULL
AND r.alg_ruimte_key = r2a.alg_ruimte_key(+))
GROUP BY alg_ruimte_key
UNION ALL -- Ruimten zonder sensor!
SELECT r.alg_ruimte_key,
DECODE (rr.res_ruimte_key, -- Is dit een vergaderruimte?
NULL, '*' || sr.alg_srtruimte_omschrijving,
DECODE (r2a.res_reservering_key, NULL, 'Uit', 'Aan')) -- Uit(0)/NoShow(1)/Aan(2)
FROM alg_v_aanwezigruimte r,
alg_srtruimte sr,
(SELECT alg_ruimte_key, res_reservering_key
FROM res_v_rsv_ruimte_2_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
AND res_rsv_ruimte_dirtlevel = 0
AND res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen!
AND res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC (SYSDATE + 1)) r2a,
( SELECT alg_ruimte_key, MAX (res_ruimte_key) res_ruimte_key
FROM res_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
GROUP BY alg_ruimte_key) rr
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
AND r.alg_ruimte_key = r2a.alg_ruimte_key(+)
AND r.alg_ruimte_key = rr.alg_ruimte_key(+)
AND EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d, res_v_aanwezigdeel rd, alg_ruimte r2
WHERE d.ins_discipline_key = 474 -- Werkplekvoorzieningen
AND COALESCE (d.ins_deel_vervaldatum, SYSDATE + 1) > TRUNC (SYSDATE) -- Niet vervallen
AND d.ins_deel_key = rd.res_ins_deel_key -- Reserveerbaar!
AND rd.res_discipline_key = 484 -- Flexplek (liefst geen keys van RES-catalogi, maar okay)!
AND COALESCE (rd.res_deel_vervaldatum, SYSDATE + 1) > TRUNC (SYSDATE) -- Niet vervallen
AND d.ins_alg_ruimte_key = r2.alg_ruimte_key
AND r2.alg_verdieping_key = r.alg_verdieping_key)
AND NOT EXISTS
(SELECT r.alg_ruimte_key
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
WHERE d.ins_alg_ruimte_type = 'R'
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = fac.getsetting ('ins_occupationsensors_srtgroep_key')
AND d.ins_deel_state IS NOT NULL
AND d.ins_alg_ruimte_key = r.alg_ruimte_key);
--UWVA#63374: Versnellen laden tekeningen.
--Deze view wordt overbodig met 2020.1 (dan weer thema cad_v_label_deel_res_datum gebruiken)?
CREATE OR REPLACE VIEW uwva_v_label_deel_res_datum
(
fclt_f_datum,
ins_deel_key,
res_deel_omschrijving,
waarde1,
waarde,
waarde3,
waarde_html,
waarde_html2
)
AS
WITH datums AS ( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
FROM DUAL
CONNECT BY LEVEL <= 31)
SELECT datums.datum fclt_f_datum,
isd.res_ins_deel_key ins_deel_key,
res_deel_omschrijving,
CHR (10)
|| listagg (
DECODE (
prs_perslid_naam_friendly,
NULL,
'',
'Gereserveerd van '
|| CHR (10)
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| ' tot '
|| DECODE (TRUNC (res_rsv_deel_tot),
TRUNC (res_rsv_deel_van),
TO_CHAR (res_rsv_deel_tot, 'HH24:MI'),
TO_CHAR (res_rsv_deel_tot, 'DD-MM-YYYY HH24:MI'))),
CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde1,
CHR (10)
|| listagg (
DECODE (
prs_perslid_naam_friendly,
NULL,
'',
'Gereserveerd van '
|| CHR (10)
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| ' tot '
|| DECODE (TRUNC (res_rsv_deel_tot),
TRUNC (res_rsv_deel_van),
TO_CHAR (res_rsv_deel_tot, 'HH24:MI'),
TO_CHAR (res_rsv_deel_tot, 'DD-MM-YYYY HH24:MI'))),
CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde2,
CHR (10)
|| listagg (TO_CHAR (res_rsv_deel_van, 'HH24:MI'), CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde3,
CHR (10)
|| listagg (
DECODE (
prs_perslid_naam_friendly,
NULL,
'',
'Gereserveerd van '
|| CHR (10)
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| ' tot '
|| DECODE (TRUNC (res_rsv_deel_tot),
TRUNC (res_rsv_deel_van),
TO_CHAR (res_rsv_deel_tot, 'HH24:MI'),
TO_CHAR (res_rsv_deel_tot, 'DD-MM-YYYY HH24:MI'))),
CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde_html,
CHR (10)
|| listagg (TO_CHAR (res_rsv_deel_van, 'HH24:MI'), CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde_html2
FROM res_v_aanwezigdeel isd,
datums,
(SELECT datum,
res_ins_deel_key,
prs_perslid_naam_friendly,
res_rsv_deel_van,
res_rsv_deel_tot
FROM res_v_aanwezigdeel r,
res_v_aanwezigrsv_deel rrd,
res_rsv_ruimte rrr,
prs_v_perslid_fullnames p,
datums
WHERE r.res_deel_key = rrd.res_deel_key
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
AND datum >= TRUNC (res_rsv_deel_van)
AND datum < TRUNC (res_rsv_deel_tot + 1)) res -- Bezet
WHERE isd.res_ins_deel_key = res.res_ins_deel_key(+)
AND datums.datum = res.datum(+)
GROUP BY datums.datum, isd.res_ins_deel_key, res_deel_omschrijving;
-- UWVA#67971: Thema WP-bezetting met andere beschikbaar-kleur per catalogus.
-- waarde1: Voor hele dagen: Vrij(0) of Bezet (3)
-- waarde: Voor halve dagen: Vrij(0), Ochtendbezet(1), MiddagBezet(2), Helemaalbezet(3)
-- waarde3: Voor tellen: Het aantal reservering op de dag, met 0 is dus Vrij
CREATE OR REPLACE VIEW uwva_v_thema_deel_res_datum
AS
WITH datums AS ( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
FROM DUAL
CONNECT BY LEVEL <= 31)
SELECT datum fclt_f_datum,
ins_deel_key,
MIN (res_rsv_deel_van) min_van,
MAX (res_rsv_deel_tot) max_tot,
CASE
WHEN MAX (res_rsv_deel_tot) IS NULL
THEN DECODE (res_discipline_key, 484, 5, 4) -- Werkplekken 475=? en 484=?!
ELSE 3 -- Hele dag bezet
END
waarde1,
CASE
WHEN MAX (res_rsv_deel_tot) IS NULL
THEN DECODE (res_discipline_key, 484, 5, 4) -- Werkplekken 475=? en 484=?!
WHEN TO_CHAR (MAX (res_rsv_deel_tot), 'HH24') <= 13
THEN 1 -- Ochtend
WHEN TO_CHAR (MIN (res_rsv_deel_van), 'HH24') >= 12
THEN 2 -- Middag
ELSE 3 -- Hele dag bezet
END
waarde,
COUNT (res_rsv_deel_tot) -- Aantal reservering deze dag
waarde3
FROM (SELECT datums.datum, res_ins_deel_key ins_deel_key, res_rsv_deel_van, res_rsv_deel_tot, res_discipline_key
FROM res_v_aanwezigdeel r,
ins_deel d,
datums,
(SELECT datum, res_deel_key, res_rsv_deel_van, res_rsv_deel_tot
FROM datums, res_v_aanwezigrsv_deel rrd
WHERE res_rsv_deel_van > TRUNC(SYSDATE) - 1 -- Negeer alle irrelevante historie sowieso!
AND datum >= TRUNC (res_rsv_deel_van)
AND datum < TRUNC (res_rsv_deel_tot) + 1)
blokkerend -- Vandaag en nog niet afgelopen
WHERE r.res_ins_deel_key = d.ins_deel_key
AND datums.datum = blokkerend.datum(+)
AND r.res_deel_key = blokkerend.res_deel_key(+)
AND (r.res_deel_vervaldatum IS NULL OR r.res_deel_vervaldatum > datums.datum))
GROUP BY datum, ins_deel_key, res_discipline_key
ORDER BY datum, ins_deel_key;
CREATE OR REPLACE VIEW uwva_v_thema_deel_resdat475
AS
WITH datums AS ( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
FROM DUAL
CONNECT BY LEVEL <= 31)
SELECT datum fclt_f_datum,
ins_deel_key,
MIN (res_rsv_deel_van) min_van,
MAX (res_rsv_deel_tot) max_tot,
CASE
WHEN MAX (res_rsv_deel_tot) IS NULL
THEN DECODE (res_discipline_key, 484, 5, 4) -- Werkplekken 475=? en 484=?!
ELSE 3 -- Hele dag bezet
END
waarde1,
CASE
WHEN MAX (res_rsv_deel_tot) IS NULL
THEN DECODE (res_discipline_key, 484, 5, 4) -- Werkplekken 475=? en 484=?!
WHEN TO_CHAR (MAX (res_rsv_deel_tot), 'HH24') <= 13
THEN 1 -- Ochtend
WHEN TO_CHAR (MIN (res_rsv_deel_van), 'HH24') >= 12
THEN 2 -- Middag
ELSE 3 -- Hele dag bezet
END
waarde,
COUNT (res_rsv_deel_tot) -- Aantal reservering deze dag
waarde3
FROM (SELECT datums.datum, res_ins_deel_key ins_deel_key, res_rsv_deel_van, res_rsv_deel_tot, res_discipline_key
FROM res_v_aanwezigdeel r,
ins_deel d,
datums,
(SELECT datum, res_deel_key, res_rsv_deel_van, res_rsv_deel_tot
FROM datums, res_v_aanwezigrsv_deel rrd
WHERE res_rsv_deel_van > TRUNC(SYSDATE) - 1 -- Negeer alle irrelevante historie sowieso!
AND datum >= TRUNC (res_rsv_deel_van)
AND datum < TRUNC (res_rsv_deel_tot) + 1)
blokkerend -- Vandaag en nog niet afgelopen
WHERE r.res_ins_deel_key = d.ins_deel_key
AND datums.datum = blokkerend.datum(+)
AND r.res_deel_key = blokkerend.res_deel_key(+)
AND (r.res_deel_vervaldatum IS NULL OR r.res_deel_vervaldatum > datums.datum)
AND r.res_discipline_key = 475)
GROUP BY datum, ins_deel_key, res_discipline_key
ORDER BY datum, ins_deel_key;
CREATE OR REPLACE VIEW uwva_v_thema_deel_resdat484
AS
WITH datums AS ( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
FROM DUAL
CONNECT BY LEVEL <= 31)
SELECT datum fclt_f_datum,
ins_deel_key,
MIN (res_rsv_deel_van) min_van,
MAX (res_rsv_deel_tot) max_tot,
CASE
WHEN MAX (res_rsv_deel_tot) IS NULL
THEN DECODE (res_discipline_key, 484, 5, 4) -- Werkplekken 475=? en 484=?!
ELSE 3 -- Hele dag bezet
END
waarde1,
CASE
WHEN MAX (res_rsv_deel_tot) IS NULL
THEN DECODE (res_discipline_key, 484, 5, 4) -- Werkplekken 475=? en 484=?!
WHEN TO_CHAR (MAX (res_rsv_deel_tot), 'HH24') <= 13
THEN 1 -- Ochtend
WHEN TO_CHAR (MIN (res_rsv_deel_van), 'HH24') >= 12
THEN 2 -- Middag
ELSE 3 -- Hele dag bezet
END
waarde,
COUNT (res_rsv_deel_tot) -- Aantal reservering deze dag
waarde3
FROM (SELECT datums.datum, res_ins_deel_key ins_deel_key, res_rsv_deel_van, res_rsv_deel_tot, res_discipline_key
FROM res_v_aanwezigdeel r,
ins_deel d,
datums,
(SELECT datum, res_deel_key, res_rsv_deel_van, res_rsv_deel_tot
FROM datums, res_v_aanwezigrsv_deel rrd
WHERE res_rsv_deel_van > TRUNC(SYSDATE) - 1 -- Negeer alle irrelevante historie sowieso!
AND datum >= TRUNC (res_rsv_deel_van)
AND datum < TRUNC (res_rsv_deel_tot) + 1)
blokkerend -- Vandaag en nog niet afgelopen
WHERE r.res_ins_deel_key = d.ins_deel_key
AND datums.datum = blokkerend.datum(+)
AND r.res_deel_key = blokkerend.res_deel_key(+)
AND (r.res_deel_vervaldatum IS NULL OR r.res_deel_vervaldatum > datums.datum)
AND r.res_discipline_key = 484)
GROUP BY datum, ins_deel_key, res_discipline_key
ORDER BY datum, ins_deel_key;
-- UWVA#61083: Bewaartermijnen/automatische schoning!
CREATE OR REPLACE VIEW uwva_v_rap_cnt_schoning
(
ins_discipline_key,
huur_jn,
contractsoort,
cnt_contract_key,
contractnr,
cnt_contract_omschrijving,
cnt_contract_looptijd_tot,
cnt_contract_status,
bes_bestelling_key,
verwijderd
)
AS
WITH c
AS (SELECT c.ins_discipline_key,
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_versie,
c.cnt_contract_omschrijving,
c.cnt_contract_verwijder,
c.cnt_contract_looptijd_tot,
c.cnt_contract_status,
c.cnt_contract_mantel_key,
cp.cnt_alg_plaats_code,
COALESCE (aog.alg_locatie_key, cp.cnt_alg_plaats_key) alg_locatie_key,
c.bes_bestelopdr_key
FROM cnt_contract c, cnt_contract_plaats cp, alg_v_allonrgoed_gegevens aog
WHERE c.ins_discipline_key IN (198, 412) -- Huurcontracten/Mantel huurcontracten
AND c.cnt_contract_key = cp.cnt_contract_key(+)
AND cp.cnt_alg_plaats_code = aog.alg_type(+)
AND cp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys(+))
SELECT DISTINCT
c.ins_discipline_key,
'J' huur_jn,
cd.ins_discipline_omschrijving,
c.cnt_contract_key,
c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
contractnr,
c.cnt_contract_omschrijving,
c.cnt_contract_looptijd_tot,
c.cnt_contract_status,
(SELECT MAX (bbi.bes_bestelling_key)
FROM bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_key = c.bes_bestelopdr_key) bes_bestelling_key,
c.cnt_contract_verwijder
FROM c, cnt_discipline cd
WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy') -- Verlopen > 10 jaar geleden
AND c.ins_discipline_key = cd.ins_discipline_key
AND NOT EXISTS -- Geen dossier-contract op dezelfde plaats <= 10 jaar geleden
(SELECT 1
FROM c dc
WHERE dc.cnt_contract_verwijder IS NULL
AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy')
AND dc.alg_locatie_key = c.alg_locatie_key)
AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 10 jaar geleden of ander contract op dezelfde plaats <= 10 jaar geleden
(SELECT 1
FROM c dc
WHERE dc.cnt_contract_verwijder IS NULL
AND (dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy')
OR EXISTS
(SELECT 1
FROM c ac
WHERE ac.cnt_contract_verwijder IS NULL
AND ac.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy')
AND ac.alg_locatie_key = dc.alg_locatie_key
AND ac.cnt_contract_key != dc.cnt_contract_key))
AND dc.cnt_contract_mantel_key = c.cnt_contract_key)
AND NOT EXISTS -- Geen lopende facturen op contract!
(SELECT 1
FROM fin_factuur
WHERE fin_factuur_verwijder IS NULL
AND fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND cnt_contract_key = c.cnt_contract_key)
UNION ALL
SELECT DISTINCT
c.ins_discipline_key,
'N' huur_jn,
cd.ins_discipline_omschrijving,
c.cnt_contract_key,
c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
contractnr,
c.cnt_contract_omschrijving,
c.cnt_contract_looptijd_tot,
c.cnt_contract_status,
(SELECT MAX (bbi.bes_bestelling_key)
FROM bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_key = c.bes_bestelopdr_key) bes_bestelling_key,
c.cnt_contract_verwijder
FROM cnt_contract c, cnt_discipline cd
WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Verlopen > 7 jaar geleden
AND c.ins_discipline_key = cd.ins_discipline_key
AND cd.ins_discipline_key NOT IN (198, 412) -- Huurcontracten/Mantel huurcontracten
AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 7 jaar geleden
(SELECT 1
FROM cnt_contract dc
WHERE dc.cnt_contract_verwijder IS NULL
AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')
AND dc.cnt_contract_mantel_key = c.cnt_contract_key)
AND NOT EXISTS -- Geen lopende facturen op contract!
(SELECT 1
FROM fin_factuur
WHERE fin_factuur_verwijder IS NULL
AND fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND cnt_contract_key = c.cnt_contract_key);
-- TODO: Periodieke bestelaanvragen/opdrachten niet beschouwen? => Bij UWV niet gebruikt!
CREATE OR REPLACE VIEW uwva_v_rap_bes_schoning
(
jaar,
bes_bestelling_key,
contracten
)
AS
WITH b
AS (SELECT bes_bestelling_key,
bes_bestelling_datum,
bes_bestelling_retourvan_key,
COALESCE (
fac.gettrackingdate ('BESREJ', bes_bestelling_key),
--fac.gettrackingdate ('BESXXX', bes_bestelling_key), -- key=257 (1x voor 164572 in 2012)
--fac.gettrackingdate ('BESINF', bes_bestelling_key), -- key=44
fac.gettrackingdate ('BESOTV', bes_bestelling_key))
gesloten
FROM bes_bestelling
WHERE bes_bestelling_status IN (1, 6, 7, 8, 9) -- Gesloten bestelling
AND bes_bestelling_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden
SELECT TO_CHAR (b.bes_bestelling_datum, 'yyyy') jaar, b.bes_bestelling_key, c.contracten
FROM b,
( SELECT bes_bestelling_key, COUNT (DISTINCT cnt_contract_key) contracten
FROM uwva_v_rap_cnt_schoning
GROUP BY bes_bestelling_key) c
WHERE 1 = 1 --b.gesloten < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Gesloten > 7 jaar geleden
AND bes_bestelling_retourvan_key IS NULL -- Alleen bron-bestelling (dus zonder de retouren)
AND b.bes_bestelling_key = c.bes_bestelling_key(+)
AND (c.bes_bestelling_key IS NOT NULL -- Gekoppeld contract ook geschoond? => Apart tellen!
OR NOT EXISTS -- Geen enkel gekoppeld contract!
(SELECT 1
FROM cnt_contract c, bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE c.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.bes_bestelling_key = b.bes_bestelling_key))
--AND NOT EXISTS
-- (SELECT 1
-- FROM bes_bestelling_item bbi, bes_bestelopdr_item boi, bes_bestelopdr bo
-- WHERE bbi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
-- AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
-- AND bo.bes_bestelopdr_status IN (2, 3, 4, 5) -- Lopende bestelopdracht
-- AND bbi.bes_bestelling_key = b.bes_bestelling_key)
AND NOT EXISTS -- Geen later gewijzigde child-bestelopdrachten!
(SELECT 1
FROM fac_tracking t, fac_srtnotificatie sn, bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'bestelopdracht'
AND t.fac_tracking_refkey = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.bes_bestelling_key = b.bes_bestelling_key)
--AND NOT EXISTS -- Evt. retour-bestelling ook > 7 jaar gesloten!
-- (SELECT 1
-- FROM bes_bestelling rb, -- Retour-bestelling!
-- fac_tracking t,
-- fac_srtnotificatie sn
-- WHERE rb.bes_bestelling_retourvan_key = b.bes_bestelling_key
-- AND rb.bes_bestelling_key = t.fac_tracking_refkey
-- AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
-- AND sn.fac_srtnotificatie_xmlnode = 'bestelling'
-- AND (rb.bes_bestelling_status NOT IN (1, 6, 7, 8, 9) -- Lopend
-- OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy'))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Geen lopende facturen op child-bestelopdrachten!
(SELECT 1
FROM fin_factuur f, bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND f.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.bes_bestelling_key = b.bes_bestelling_key);
CREATE OR REPLACE VIEW uwva_v_rap_bez_schoning
(
jaar,
bez_afspraak_key,
bezoekers
)
AS
WITH a
AS ( SELECT a.bez_afspraak_key,
a.bez_afspraak_datum,
COUNT (*) bezoekers
FROM bez_afspraak a, bez_bezoekers b
WHERE a.bez_afspraak_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Aangemaakt > 7 jaar geleden
AND a.bez_afspraak_key = b.bez_afspraak_key
GROUP BY a.bez_afspraak_key, a.bez_afspraak_datum)
SELECT TO_CHAR (a.bez_afspraak_datum, 'yyyy') jaar, bez_afspraak_key, bezoekers
FROM a;
CREATE OR REPLACE VIEW uwva_v_rap_res_schoning
(
jaar,
verwijderd,
res_rsv_ruimte_key
)
AS
WITH r
AS (SELECT res_rsv_ruimte_key,
res_reservering_key,
res_rsv_ruimte_volgnr,
res_rsv_ruimte_tot,
res_rsv_ruimte_verwijder
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden
SELECT TO_CHAR (res_rsv_ruimte_tot, 'yyyy') jaar, DECODE (res_rsv_ruimte_verwijder, NULL, 'N', 'J') verwijderd, res_rsv_ruimte_key
FROM r
WHERE NOT EXISTS -- Geen latere child-reserveringen!
(SELECT 1
FROM res_rsv_ruimte cr -- Child-reserveringen!
WHERE cr.res_rsv_ruimte_tot > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')
AND cr.res_reservering_key = r.res_reservering_key);
-- TODO: Periodieke meldingen/opdrachten niet beschouwen? => Bij UWV niet gebruikt!
-- TODO: Geantedateerde meldingen/opdrachten?
CREATE OR REPLACE VIEW uwva_v_rap_mld_schoning
(
jaar,
datum,
mld_melding_key
)
AS
WITH m
AS (SELECT mld_melding_key,
mld_melding_datum,
mld_melding_start_key,
mld_melding_parentkey,
COALESCE (
fac.gettrackingdate ('MLDREJ', mld_melding_key),
fac.gettrackingdate ('MLDAFM', mld_melding_key), -- Soms niet Afgemeld?
fac.gettrackingdate ('MLDVER', mld_melding_key))
gesloten
FROM mld_melding
WHERE mld_melding_status IN (1, 5, 6) -- Gesloten
AND mld_melding_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden
SELECT TO_CHAR (m.mld_melding_datum, 'yyyy') jaar, m.mld_melding_datum datum, mld_melding_key
FROM m
WHERE m.gesloten < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Gesloten > 7 jaar geleden
AND (m.mld_melding_start_key IS NULL OR m.mld_melding_key = m.mld_melding_start_key) -- Alleen bron-melding
AND m.mld_melding_parentkey IS NULL -- Alleen bron-melding
AND NOT EXISTS -- Geen later gewijzigde child-opdrachten!
(SELECT 1
FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')
AND t.fac_srtnotificatie_key <> 742 -- ORDANO!
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
AND t.fac_tracking_refkey = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key)
AND EXISTS -- Eventuele start-melding ook > 7 jaar gesloten!
(SELECT 1
FROM m sm -- Start-meldingen!
WHERE sm.mld_melding_key = COALESCE (m.mld_melding_start_key, m.mld_melding_key))
AND EXISTS -- Eventuele parent-melding ook > 7 jaar gesloten!
(SELECT 1
FROM m pm -- Parent-meldingen!
WHERE pm.mld_melding_key = COALESCE (m.mld_melding_parentkey, m.mld_melding_key))
AND NOT EXISTS -- Eventuele vervolg-melding ook > 7 jaar gesloten!
(SELECT 1
FROM mld_melding vm, -- Vervolg-meldingen!
fac_tracking t,
fac_srtnotificatie sn
WHERE vm.mld_melding_start_key = m.mld_melding_key
AND vm.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'melding'
AND (vm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy'))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Eventuele child-melding ook > 7 jaar gesloten!
(SELECT 1
FROM mld_melding cm, -- Child-meldingen!
fac_tracking t,
fac_srtnotificatie sn
WHERE cm.mld_melding_parentkey = m.mld_melding_key
AND cm.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'melding'
AND (cm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy'))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Geen lopende facturen op child-opdrachten!
(SELECT 1
FROM fin_factuur f, mld_opdr o
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key);
CREATE OR REPLACE VIEW uwva_v_rap_auto_schoning
(
module,
jaar,
groepering_key,
aantal,
subaantal,
onderdeel_key,
onderdeel_id,
omschrijving
)
AS
SELECT 'BES', jaar, NULL ins_discipline_key, COUNT (*) aantal, SUM (contracten) subaantal, NULL fac_key, NULL fac_id, NULL omschrijving
FROM uwva_v_rap_bes_schoning
GROUP BY 'BES', jaar
UNION ALL
SELECT 'BEZ', jaar, NULL ins_discipline_key, COUNT (*) aantal, SUM (bezoekers) subaantal, NULL fac_key, NULL fac_id, NULL omschrijving
FROM uwva_v_rap_bez_schoning
GROUP BY 'BEZ', jaar
UNION ALL
SELECT 'RES', jaar, NULL ins_discipline_key, COUNT (*) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving
FROM uwva_v_rap_res_schoning
GROUP BY 'RES', jaar
UNION ALL
SELECT 'MLD', jaar, NULL ins_discipline_key, COUNT (*) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving
FROM uwva_v_rap_mld_schoning
GROUP BY 'MLD', jaar
UNION ALL
SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, ins_discipline_key, 1 aantal, NULL subaantal, cnt_contract_key fac_key, contractnr fac_id, cnt_contract_omschrijving omschrijving
FROM uwva_v_rap_cnt_schoning
WHERE ins_discipline_key IN (198, 412)
UNION ALL
SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, ins_discipline_key, COUNT ( * ) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving
FROM uwva_v_rap_cnt_schoning
WHERE ins_discipline_key NOT IN (198, 412)
GROUP BY 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy'), ins_discipline_key
;
CREATE OR REPLACE PROCEDURE uwva_daily
AS
-- BES per jaar!
CURSOR cbes (p_jaar VARCHAR2)
IS
SELECT bes_bestelling_key FROM uwva_v_rap_bes_schoning WHERE jaar <= p_jaar ORDER BY 1;
-- BEZ per jaar (samen met RES)!
CURSOR cbez (p_jaar VARCHAR2)
IS
SELECT bez_afspraak_key FROM uwva_v_rap_bez_schoning WHERE jaar <= p_jaar ORDER BY 1;
-- RES per jaar (samen met BEZ)!
CURSOR cres (p_jaar VARCHAR2)
IS
SELECT res_rsv_ruimte_key FROM uwva_v_rap_res_schoning WHERE jaar <= p_jaar ORDER BY 1;
-- MLD per jaar (of maand)!
CURSOR cmld (p_datum DATE)
IS
SELECT mld_melding_key FROM uwva_v_rap_mld_schoning WHERE TRUNC (datum) <= p_datum ORDER BY 1;
-- CNT allemaal tegelijk!
CURSOR ccnt --(p_datum DATE)
IS
SELECT ins_discipline_key, cnt_contract_key FROM uwva_v_rap_cnt_schoning ORDER BY 1, 2;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER (10);
v_jaar1 VARCHAR2 (4);
v_jaar2 VARCHAR2 (4);
v_datum DATE;
v_datum1 DATE;
v_datum2 DATE;
v_contracten NUMBER;
BEGIN
-- Aanname dat er in elk jaar minimaal te schonen BEZ zijn!
v_errormsg := 'Fout bepalen of er nog iets te schonen valt';
SELECT SUM (aantal)
INTO v_count
FROM uwva_v_rap_auto_schoning;
-- Initieel dagelijks een jaartje schonen totdat achterstand ingelopen!
IF TO_CHAR (SYSDATE, 'mm-dd') >= '03-01' AND v_count > 0
THEN
v_count := 0;
v_datum1 := SYSDATE;
v_errormsg := 'Fout bepalen van-jaar!';
SELECT MIN (jaar)
INTO v_jaar1
FROM uwva_v_rap_bes_schoning;
v_errormsg := 'Fout bepalen tot-jaar!';
SELECT MAX (jaar)
INTO v_jaar2
FROM uwva_v_rap_bes_schoning
WHERE jaar > '1999';
v_errormsg := 'Fout bepalen contracten!';
SELECT SUM (contracten)
INTO v_contracten
FROM uwva_v_rap_bes_schoning
WHERE jaar <= v_jaar2;
FOR r IN cbes (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Fout schonen bestelling: ' || TO_CHAR (r.bes_bestelling_key);
bes.remove (r.bes_bestelling_key);
v_count := v_count + 1;
-- Elke 1000 BES een COMMIT!
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('DAILY', 'E', v_errormsg, 'BES-loop');
END;
END LOOP;
v_datum2 := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog ('DAILY', 'S', '#Bestellingen geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog ('DAILY', 'S', '#Bestellingen geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
END IF;
IF v_contracten > 0
THEN
fac.writelog ('DAILY', 'S', '#B-Contracten geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_contracten), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
v_count := 0;
v_datum1 := SYSDATE;
-- Fout bepalen jaar tbv. BEZ+RES (aanname dat elk jaar wel 1 bezoeker)!
v_errormsg := 'Fout bepalen van-jaar!';
--SELECT MIN (jaar)
-- INTO v_jaar1
-- FROM uwva_v_rap_bez_schoning;
SELECT MIN (jaar)
INTO v_jaar1
FROM (SELECT MIN (jaar) jaar FROM uwva_v_rap_bez_schoning
UNION ALL
SELECT MIN (jaar) jaar FROM uwva_v_rap_res_schoning);
v_errormsg := 'Fout bepalen tot-jaar!';
--SELECT MAX (jaar)
-- INTO v_jaar2
-- FROM uwva_v_rap_bez_schoning
-- WHERE jaar > '1999';
SELECT MAX (jaar)
INTO v_jaar2
FROM (SELECT MAX (jaar) jaar FROM uwva_v_rap_bez_schoning
UNION ALL
SELECT MAX (jaar) jaar FROM uwva_v_rap_res_schoning);
FOR r IN cbez (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Fout schonen afspraak: ' || TO_CHAR (r.bez_afspraak_key);
bez.remove (r.bez_afspraak_key);
v_count := v_count + 1;
-- Elke 1000 BEZ een COMMIT!
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('DAILY', 'E', v_errormsg, 'BEZ-loop');
END;
END LOOP;
v_datum2 := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog ('DAILY', 'S', '#Afspraken geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog ('DAILY', 'S', '#Afspraken geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
v_count := 0;
v_datum1 := SYSDATE;
-- Fout bepalen jaar (zie BEZ)!
FOR r IN cres (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Fout schonen reservering: ' || TO_CHAR (r.res_rsv_ruimte_key);
res.remove (r.res_rsv_ruimte_key);
v_count := v_count + 1;
-- Elke 1000 RES een COMMIT!
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('DAILY', 'E', v_errormsg, 'RES-loop');
END;
END LOOP;
v_datum2 := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog ('DAILY', 'S', '#Reserveringen geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog ('DAILY', 'S', '#Reserveringen geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
v_count := 0;
v_datum1 := SYSDATE;
-- Fout bepalen jaar tbv. MLD!
v_errormsg := 'Fout bepalen van-jaar!';
SELECT MIN (jaar)
INTO v_jaar1
FROM uwva_v_rap_mld_schoning;
v_errormsg := 'Fout bepalen tot-jaar!';
SELECT MAX (jaar)
INTO v_jaar2
FROM uwva_v_rap_mld_schoning
WHERE jaar > '1999';
v_errormsg := 'Fout bepalen oudste datum!';
--SELECT MIN (datum)
-- INTO v_datum
-- FROM uwva_v_rap_mld_schoning
-- WHERE jaar > '1999';
--v_datum := TRUNC (ADD_MONTHS (v_datum, 1), 'mm');
--v_datum := TRUNC (ADD_MONTHS (v_datum, 12), 'yyyy');
v_datum := fac.safe_to_date ('31-12-' || v_jaar2, 'dd-mm-yyyy');
FOR r IN cmld (v_datum)
LOOP
BEGIN
v_errormsg := 'Fout schonen melding: ' || TO_CHAR (r.mld_melding_key);
mld.remove (r.mld_melding_key);
v_count := v_count + 1;
-- Elke 1000 MLD een COMMIT!
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('DAILY', 'E', v_errormsg, 'MLD-loop');
END;
END LOOP;
v_datum2 := SYSDATE;
--fac.writelog ('DAILY', 'S', '#Meldingen geschoond (maand=' || TO_CHAR (v_datum - 1, 'yyyy-mm') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
--fac.writelog ('DAILY', 'S', '#Meldingen geschoond (jaar=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
IF v_jaar1 = v_jaar2
THEN
fac.writelog ('DAILY', 'S', '#Meldingen geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog ('DAILY', 'S', '#Meldingen geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
v_count := 0;
v_datum1 := SYSDATE;
--v_errormsg := 'Fout bepalen oudste datum!';
--SELECT MIN (cnt_contract_looptijd_tot)
-- INTO v_datum
-- FROM uwva_v_rap_cnt_schoning
-- WHERE cnt_contract_looptijd_tot > TO_DATE ( '01-01-1999', 'dd-mm-yyyy');
--v_datum := TRUNC (ADD_MONTHS (v_datum, 12), 'yyyy');
v_errormsg := 'Fout bepalen van-jaar!';
SELECT MIN (cnt_contract_looptijd_tot)
INTO v_datum
FROM uwva_v_rap_cnt_schoning;
v_jaar1 := TO_CHAR (v_datum, 'yyyy');
v_errormsg := 'Fout bepalen tot-jaar!';
SELECT MAX (cnt_contract_looptijd_tot)
INTO v_datum
FROM uwva_v_rap_cnt_schoning;
v_jaar2 := TO_CHAR (v_datum, 'yyyy');
-- Alle te schonen contracten(-dossiers) in 1x!
FOR r IN ccnt --(v_datum)
LOOP
BEGIN
v_errormsg := 'Fout schonen contract: ' || TO_CHAR (r.cnt_contract_key);
cnt.remove (r.cnt_contract_key);
v_count := v_count + 1;
-- Elke 1000 CNT een COMMIT!
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('DAILY', 'E', v_errormsg, 'CNT-loop');
END;
END LOOP;
v_datum2 := SYSDATE;
--fac.writelog ('DAILY', 'S', '#Contracten geschoond (jaar=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
IF v_jaar1 = v_jaar2
THEN
fac.writelog ('DAILY', 'S', '#Contracten geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog ('DAILY', 'S', '#Contracten geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('DAILY', 'E', 'Proces DAILY afgebroken!', v_errormsg);
COMMIT;
END;
/
-- UWVA#69803: Bezettingspercentage (WP-reserveringen uit catalogi 475 en 484)!
CREATE OR REPLACE VIEW UWVA_V_RAP_RES_WP_BZG
(
fclt_3d_locatie_key,
datum,
locatie,
ruimte,
catalogus,
beschikbaar,
ochtend,
middag,
heledag,
totaal
)
AS
SELECT l.alg_locatie_key,
resbes.dag,
l.alg_locatie_code locatie,
aog.alg_plaatsaanduiding ruimte,
rd.ins_discipline_omschrijving catalogus,
resbes.aant beschikbaar,
SUM (resbez.ochtend) ochtend,
SUM (resbez.middag) middag,
SUM (resbez.heledag) heledag,
SUM ((0.5 * (resbez.ochtend + resbez.middag)) + resbez.heledag) totaal
FROM ( SELECT p.dag,
rd.res_discipline_key,
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
COUNT ( * ) aant
FROM res_deel rd, ins_deel d,
(SELECT TRUNC (SYSDATE + 7, 'iw') - LEVEL dag FROM DUAL CONNECT BY LEVEL <= TRUNC (SYSDATE + 7, 'iw') - TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy')) p
WHERE rd.res_discipline_key IN (475, 484) -- Werkplek+Flexplek
AND rd.res_ins_deel_key = d.ins_deel_key
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
AND rd.res_deel_aanmaak < p.dag
AND (rd.res_deel_verwijder IS NULL OR rd.res_deel_verwijder >= p.dag)
GROUP BY p.dag,
rd.res_discipline_key,
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key)) resbes,
(SELECT TRUNC (rrd.res_rsv_deel_tot) dag,
rd.res_discipline_key,
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
CASE WHEN TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') < '13' THEN 1 ELSE 0 END ochtend,
CASE WHEN TO_CHAR (rrd.res_rsv_deel_van, 'hh24') > '12' THEN 1 ELSE 0 END middag,
CASE WHEN TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '12' AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '13' THEN 1 ELSE 0 END heledag
FROM res_rsv_deel rrd, res_rsv_ruimte rrr, res_deel rd, ins_deel d
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rrd.res_rsv_deel_dirtlevel = 0
AND TRUNC (rrd.res_rsv_deel_van) = TRUNC (rrd.res_rsv_deel_tot) -- Eendaags!
AND rrd.res_rsv_deel_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (SYSDATE + 7, 'iw')
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_discipline_key IN (475, 484) -- Werkplek+Flexplek
AND rd.res_ins_deel_key = d.ins_deel_key
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'd') BETWEEN '2' AND '6'
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrd.res_rsv_deel_tot))
UNION ALL -- Meerdaagse voorzieningen?
SELECT p.dag,
rd.res_discipline_key,
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
0 ochtend,
0 middag,
1 heledag
FROM res_rsv_deel rrd, res_rsv_ruimte rrr, res_deel rd, ins_deel d,
(SELECT TRUNC (SYSDATE + 7, 'iw') - LEVEL dag FROM DUAL CONNECT BY LEVEL <= TRUNC (SYSDATE + 7, 'iw') - TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy')) p
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rrd.res_rsv_deel_dirtlevel = 0
AND TRUNC (rrd.res_rsv_deel_van) != TRUNC (rrd.res_rsv_deel_tot) -- Meerdaags!
AND rrd.res_rsv_deel_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (SYSDATE + 7, 'iw')
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_discipline_key IN (475, 484) -- Werkplek+Flexplek
AND rd.res_ins_deel_key = d.ins_deel_key
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
--AND TO_CHAR (p.dag, 'd') BETWEEN '2' AND '6'
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (p.dag))) resbez,
AND p.dag BETWEEN TRUNC (rrd.res_rsv_deel_van) AND TRUNC (rrd.res_rsv_deel_tot)) resbez,
res_discipline rd, -- Ook verwijderde catalogi!
alg_v_allonrgoed_gegevens aog, -- Ook verwijderde ruimten!
alg_locatie l -- Ook verwijderde locaties!
WHERE resbes.dag = resbez.dag(+)
AND resbes.res_discipline_key = resbez.res_discipline_key(+)
AND resbes.alg_ruimte_key = resbez.alg_ruimte_key(+)
AND resbes.res_discipline_key = rd.ins_discipline_key(+)
AND resbes.alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_locatie_key = l.alg_locatie_key
GROUP BY l.alg_locatie_key,
resbes.dag,
l.alg_locatie_code,
aog.alg_plaatsaanduiding,
rd.ins_discipline_omschrijving,
resbes.aant;
/*
WITH rescatr -- Per catalogus/ruimte de reserveringen van WP-objecten!
AS ( SELECT resbes.dag,
--l.alg_locatie_key,
l.alg_locatie_code locatie,
aog.alg_plaatsaanduiding ruimte,
rd.ins_discipline_omschrijving catalogus,
SUM (resbes.aant) beschikbaar,
--SUM (resbez.aant) aantal_reserveringen,
--SUM (ROUND (resbes.uren, 2)) bes_uren,
--SUM (ROUND (resbez.uren, 2)) bez_uren
SUM (resbez.ochtend) ochtend,
SUM (resbez.middag) middag,
SUM (resbez.heledag) heledag,
SUM ((0.5 * (resbez.ochtend + resbez.middag)) + resbez.heledag) totaal
FROM ( SELECT p.dag, -- DISTINCT per definitie!
rd.res_discipline_key,
--rd.res_deel_key resource_key,
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
COUNT (*) aant
FROM res_deel rd, ins_deel d,
(SELECT TRUNC (SYSDATE + 7, 'iw') - LEVEL dag FROM DUAL CONNECT BY LEVEL <= TRUNC (SYSDATE + 7, 'iw') - TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy')) p
WHERE rd.res_discipline_key IN (475, 484) -- Werkplek+Flexplek
AND rd.res_ins_deel_key = d.ins_deel_key
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
AND rd.res_deel_aanmaak < p.dag
AND (rd.res_deel_verwijder IS NULL OR rd.res_deel_verwijder >= p.dag)
GROUP BY p.dag, -- DISTINCT per definitie!
rd.res_discipline_key,
--rd.res_deel_key resource_key,
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key)) resbes,
( SELECT TRUNC (rrd.res_rsv_deel_tot) dag,
rd.res_discipline_key,
--rd.res_deel_key resource_key,
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
1 aant,
--SUM (LEAST ((rrd.res_rsv_deel_tot - TRUNC (rrd.res_rsv_deel_tot)) * 24, 17)
-- - GREATEST ((rrd.res_rsv_deel_van - TRUNC (rrd.res_rsv_deel_van)) * 24, 8))
-- uren
CASE WHEN TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') < '13' THEN 1 ELSE 0 END ochtend,
CASE WHEN TO_CHAR (rrd.res_rsv_deel_van, 'hh24') > '12' THEN 1 ELSE 0 END middag,
CASE WHEN TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '12' AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '13' THEN 1 ELSE 0 END heledag
FROM res_rsv_deel rrd, res_rsv_ruimte rrr, res_deel rd, ins_deel d
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rrd.res_rsv_deel_dirtlevel = 0
AND TRUNC (rrd.res_rsv_deel_van) = TRUNC (rrd.res_rsv_deel_tot) -- Eendaags!
AND rrd.res_rsv_deel_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (SYSDATE + 7, 'iw')
AND TO_CHAR (rrd.res_rsv_deel_tot, 'd') BETWEEN '2' AND '6'
AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrd.res_rsv_deel_tot))
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_discipline_key IN (475, 484) -- Werkplek+Flexplek
AND rd.res_ins_deel_key = d.ins_deel_key
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
UNION ALL -- Meerdaagse voorzieningen?
SELECT p.dag,
rd.res_discipline_key,
--rd.res_deel_key resource_key,
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
1 aant,
--SUM (DECODE (p.dag,
-- TRUNC (rrd.res_rsv_deel_van), 17 - GREATEST ((rrd.res_rsv_deel_van - TRUNC (rrd.res_rsv_deel_van)) * 24, 8),
-- TRUNC (rrd.res_rsv_deel_tot), LEAST ((rrd.res_rsv_deel_tot - TRUNC (rrd.res_rsv_deel_tot)) * 24, 17) - 8,
-- 9)) -- = 17-8
-- uren
CASE WHEN TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') < '13' THEN 1 ELSE 0 END ochtend,
CASE WHEN TO_CHAR (rrd.res_rsv_deel_van, 'hh24') > '12' THEN 1 ELSE 0 END middag,
CASE WHEN TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '12' AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '13' THEN 1 ELSE 0 END heledag
FROM res_rsv_deel rrd, res_rsv_ruimte rrr, res_deel rd, ins_deel d,
(SELECT TRUNC (SYSDATE + 7, 'iw') - LEVEL dag FROM DUAL CONNECT BY LEVEL <= TRUNC (SYSDATE + 7, 'iw') - TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy')) p
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rrd.res_rsv_deel_dirtlevel = 0
AND TRUNC (rrd.res_rsv_deel_van) != TRUNC (rrd.res_rsv_deel_tot) -- Meerdaags!
AND rrd.res_rsv_deel_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (SYSDATE + 7, 'iw')
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_discipline_key IN (475, 484) -- Werkplek+Flexplek
AND rd.res_ins_deel_key = d.ins_deel_key
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
AND p.dag BETWEEN TRUNC (rrd.res_rsv_deel_van) AND TRUNC (rrd.res_rsv_deel_tot)
AND TO_CHAR (p.dag, 'd') BETWEEN '2' AND '6'
AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (p.dag))) resbez,
res_discipline rd, -- Ook verwijderde catalogi!
alg_v_allonrgoed_gegevens aog, -- Ook verwijderde ruimten!
alg_locatie l -- Ook verwijderde locaties!
WHERE resbes.dag = resbez.dag(+)
AND resbes.res_discipline_key = resbez.res_discipline_key(+)
--AND resbes.resource_key = resbez.resource_key(+)
AND resbes.alg_ruimte_key = resbez.alg_ruimte_key(+)
AND resbes.res_discipline_key = rd.ins_discipline_key(+)
AND resbes.alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_locatie_key = l.alg_locatie_key
--AND resbes.uren > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van reserveerbare ruimte = res_ruimte)!
--AND COALESCE (resbez.uren, 1) > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van res_rsv_ruimte/deel)!
GROUP BY resbes.dag,
--l.alg_locatie_key,
l.alg_locatie_code,
aog.alg_plaatsaanduiding,
rd.ins_discipline_omschrijving)
SELECT dag,
locatie,
ruimte,
catalogus,
ochtend,
middag,
heledag,
totaal
FROM rescatr;
*/
/*
SELECT loc.alg_locatie_key, nl.dag, nl.catalogus,
loc.locatie_oms,
TO_CHAR (nl.ant_nl, '999990'),
TO_CHAR (loc.ant_loc, '999990'),
TO_CHAR (100 * nl.bzg_nl, '990') || '%',
TO_CHAR (100 * loc.bzg_loc, '990') || '%'
FROM ( SELECT dag, catalogus, SUM (aantal_reserveringen) ant_nl, SUM (COALESCE (bez_uren, 0)) / SUM (bes_uren) bzg_nl
FROM rescatl
GROUP BY dag, catalogus) nl
LEFT JOIN (SELECT dag, catalogus, alg_locatie_key, locatie_oms, aantal_reserveringen ant_loc, COALESCE (bez_uren, 0) / bes_uren bzg_loc
FROM rescatl) loc
ON nl.dag = loc.dag AND nl.catalogus = loc.catalogus;
*/
-- UWVA#71759: Rapportage Locatie-Dienst-Bedrijf!
CREATE OR REPLACE VIEW UWVA_V_RAP_LOC_DIENST_BEDR
(
district,
locatie_key,
locatie_code,
locatie_oms,
dienst,
relatie,
padres,
ppostcode,
pplaats,
pland,
badres,
bpostcode,
bplaats,
bland,
telefoon,
email,
l,
u,
c,
h,
kanaal_type,
kanaal_opdrachttype,
kanaal_url,
kanaal_xsl,
vakgroeptype,
vakgroep,
standaardmelding,
behandelgroep_naam,
behandelgroep_oms
)
AS
SELECT d.alg_district_omschrijving district,
l.alg_locatie_key,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
dst.prs_dienst_omschrijving dienst,
b.prs_bedrijf_naam,
b.prs_bedrijf_post_adres,
b.prs_bedrijf_post_postcode,
b.prs_bedrijf_post_plaats,
b.prs_bedrijf_post_land,
b.prs_bedrijf_bezoek_adres,
b.prs_bedrijf_bezoek_postcode,
b.prs_bedrijf_bezoek_plaats,
b.prs_bedrijf_bezoek_land,
b.prs_bedrijf_telefoon,
b.prs_bedrijf_email,
b.prs_bedrijf_leverancier l,
b.prs_bedrijf_uitvoerende u,
b.prs_bedrijf_contract c,
b.prs_bedrijf_huurder h,
ba.prs_bedrijfadres_type kanaal_type,
DECODE (ba.prs_bedrijfadres_type, 'O', DECODE (ot.mld_typeopdr_key, NULL, 'Overige', ot.mld_typeopdr_omschrijving), NULL) kanaal_opdrachttype,
ba.prs_bedrijfadres_url kanaal_url,
ba.prs_bedrijfadres_xsl kanaal_xsl,
sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
bg.mld_behandelgroep_naam,
bg.mld_behandelgroep_oms
FROM (SELECT prs_bedrijf_key, prs_dienst_key, alg_locatie_key
FROM prs_bedrijfdienstlocatie
WHERE alg_locatie_key IS NOT NULL
UNION
SELECT bdl.prs_bedrijf_key, bdl.prs_dienst_key, g.alg_locatie_key
FROM prs_bedrijfdienstlocatie bdl, alg_gebouw g
WHERE bdl.alg_gebouw_key = g.alg_gebouw_key
UNION
SELECT bdl.prs_bedrijf_key, bdl.prs_dienst_key, l.alg_locatie_key
FROM prs_bedrijfdienstlocatie bdl, alg_locatie l
WHERE bdl.alg_locatie_key IS NULL AND bdl.alg_gebouw_key IS NULL) bdl,
alg_locatie l,
alg_district d,
prs_dienst dst,
prs_v_aanwezigbedrijf b,
prs_bedrijfadres ba,
mld_typeopdr ot,
(SELECT *
FROM mld_stdmelding
WHERE COALESCE (mld_stdmelding_verwijder, mld_stdmelding_vervaldatum, SYSDATE) > TRUNC (SYSDATE)) sm,
mld_discipline md,
ins_srtdiscipline sd,
mld_disc_params dp,
mld_behandelgroep bg
WHERE bdl.alg_locatie_key = l.alg_locatie_key
AND COALESCE (l.alg_locatie_verwijder, l.alg_locatie_vervaldatum, SYSDATE) > TRUNC (SYSDATE)
AND l.alg_district_key = d.alg_district_key
AND bdl.prs_dienst_key = dst.prs_dienst_key
AND bdl.prs_bedrijf_key = b.prs_bedrijf_key
AND b.prs_bedrijf_key = ba.prs_bedrijf_key(+)
AND ba.mld_typeopdr_key = ot.mld_typeopdr_key(+)
AND dst.prs_dienst_key = sm.prs_dienst_key(+)
AND sm.mld_ins_discipline_key = md.ins_discipline_key(+)
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND md.ins_discipline_key = dp.mld_ins_discipline_key(+)
AND dp.mld_behandelgroep_key = bg.mld_behandelgroep_key(+);
-- UWVA#77362: QR-codes/Verbeteren klantreis!
CREATE OR REPLACE VIEW UWVA_V_RAP_QRC
AS
SELECT b.fac_bookmark_naam || '|' || pa.alg_plaatsaanduiding hide_f_sort,
b.fac_bookmark_naam fclt_f_bookmark,
--'Plaats' gekoppeld_aan,
l.alg_locatie_omschrijving fclt_f_locatie,
pa.alg_plaatsaanduiding || ' / ' || r.alg_ruimte_omschrijving fclt_f_plaats,
--NULL fclt_f_persoon,
pa.alg_plaatsaanduiding fclt_f_identificatie,
l.alg_locatie_key fclt_3d_locatie_key,
--'R' alg_onroerendgoed_type,
r.alg_ruimte_key alg_onroerendgoed_keys,
NULL ins_deel_key,
NULL res_ruimte_key,
b.fac_bookmark_id hide_f_bookmark_id
FROM --fac_bookmark b,
(SELECT fac_bookmark_naam, fac_bookmark_id
FROM fac_bookmark
WHERE (fac_bookmark_expire IS NULL OR fac_bookmark_expire > SYSDATE)
--AND UPPER (TRIM (fac_bookmark_path)) = 'APPL/PDA/MELDING.ASP'
--AND INSTR (UPPER (fac_bookmark_query), 'STDM_KEYS=') > 0
AND INSTR (fac_bookmark_id, 'dQ2oGB1GCAdm13yV') > 0) b, -- Bookmark tbv. ruimtemeldingen SANITAIR!
alg_v_aanwezigruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l,
alg_v_plaatsaanduiding pa
WHERE r.alg_srtruimte_key = 306 -- Sanitair!
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
AND pa.alg_onroerendgoed_type = 'R'
AND r.alg_ruimte_key = pa.alg_onroerendgoed_keys
UNION ALL
SELECT b.fac_bookmark_naam || '|' || d.ins_deel_omschrijving hide_f_sort,
b.fac_bookmark_naam fclt_f_bookmark,
--'Plaats' gekoppeld_aan,
l.alg_locatie_omschrijving fclt_f_locatie,
o.alg_plaatsaanduiding fclt_f_plaats,
--NULL fclt_f_persoon,
d.ins_deel_omschrijving fclt_f_identificatie,
l.alg_locatie_key fclt_3d_locatie_key,
--d.ins_alg_ruimte_type alg_onroerendgoed_type,
d.ins_alg_ruimte_key alg_onroerendgoed_keys,
d.ins_deel_key,
NULL res_ruimte_key,
b.fac_bookmark_id hide_f_bookmark_id
FROM --fac_bookmark b,
(SELECT fac_bookmark_naam, fac_bookmark_id
FROM fac_bookmark
WHERE (fac_bookmark_expire IS NULL OR fac_bookmark_expire > SYSDATE)
--AND UPPER (TRIM (fac_bookmark_path)) = 'APPL/PDA/INS_DEEL.ASP'
--AND INSTR (UPPER (fac_bookmark_query), 'STDMKINA=') > 0
AND INSTR (fac_bookmark_id, 'KIx4a1nTxSUEMVU-') > 0) b, -- Bookmark tbv. objectmeldingen KOFFIEAUTOMAAT!
ins_v_aanwezigdeel d,
ins_srtdeel sd,
ins_srtgroep sg,
--ins_discipline dd,
alg_locatie l,
ins_v_alg_overzicht o
--mld_stdmelding sm,
--mld_stdmelding_srtinst smsd
WHERE d.ins_srtdeel_key IN (258830) -- 454=Automaten/1232=Koffieautomaat/258830=Koffieautomaat
AND d.ins_deel_actief = 1
AND (d.ins_deel_vervaldatum IS NULL OR d.ins_deel_vervaldatum > SYSDATE)
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
--AND sg.ins_discipline_key = dd.ins_discipline_key
AND d.ins_deel_parent_key IS NULL
AND d.ins_alg_ruimte_type IN ('R') --TODO:IN ('T', 'R', 'W')
AND d.ins_alg_locatie_key = l.alg_locatie_key
AND d.ins_alg_ruimte_type = o.alg_onroerendgoed_type
AND d.ins_alg_ruimte_key = o.alg_onroerendgoed_keys
--AND sm.mld_stdmelding_key = smsd.mld_stdmelding_key
--AND smsd.ins_srtinstallatie_key = DECODE (smsd.ins_srtinstallatie_niveau, 'S', sd.ins_srtdeel_key, 'G', sg.ins_srtgroep_key, 'D', dd.ins_discipline_key)
UNION ALL
SELECT b.fac_bookmark_naam || '|' || l.alg_locatie_code || rr.res_ruimte_nr hide_f_sort,
b.fac_bookmark_naam fclt_f_bookmark,
--NULL gekoppeld_aan,
l.alg_locatie_omschrijving fclt_f_locatie,
l.alg_locatie_code || ' / ' || rr.res_ruimte_nr fclt_f_plaats,
--NULL fclt_f_persoon,
rr.res_ruimte_nr fclt_f_identificatie,
l.alg_locatie_key fclt_3d_locatie_key,
--NULL alg_onroerendgoed_type,
NULL alg_onroerendgoed_keys,
NULL ins_deel_key,
rr.res_ruimte_key,
b.fac_bookmark_id
FROM --fac_bookmark b,
(SELECT fac_bookmark_naam, fac_bookmark_id
FROM fac_bookmark
WHERE (fac_bookmark_expire IS NULL OR fac_bookmark_expire > SYSDATE)
--AND UPPER (TRIM (fac_bookmark_path)) = 'APPL/PDA/RESERVERINGEN.ASP'
AND INSTR (fac_bookmark_id, '3XaYsCdQbN36seGf') > 0) b, -- Bookmark tbv. ruimtereserveringen VERGADERING!
res_ruimte rr,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
FROM res_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
GROUP BY res_ruimte_key) rar,
alg_ruimte r,
ins_v_alg_overzicht o,
alg_locatie l
WHERE rr.res_ruimte_verwijder IS NULL
AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE)
AND rr.res_discipline_key IN (89, 276, 492, 500) -- Vergaderruimte/Video-overleg/Vergaderruimte Hybride/Kolf- en gebedsruimte
AND rr.res_ruimte_key = rar.res_ruimte_key
AND rar.alg_ruimte_key = r.alg_ruimte_key
AND o.alg_onroerendgoed_type = 'R'
AND r.alg_ruimte_key = o.alg_onroerendgoed_keys
AND o.alg_locatie_key = l.alg_locatie_key
;
/*
UNION ALL
SELECT b.fac_bookmark_naam || '|' || d.ins_deel_omschrijving hide_f_sort,
b.fac_bookmark_naam fclt_f_bookmark,
--'Persoon' gekoppeld_aan,
NULL fclt_f_locatie,
NULL fclt_f_plaats,
--pf.prs_perslid_naam_full fclt_f_persoon,
d.ins_deel_omschrijving fclt_f_identificatie,
NULL fclt_3d_locatie_key,
--NULL alg_onroerendgoed_type,
NULL alg_onroerendgoed_keys,
d.ins_deel_key,
b.fac_bookmark_id hide_f_bookmark_id
FROM --fac_bookmark b,
(SELECT fac_bookmark_naam, fac_bookmark_id
FROM fac_bookmark
WHERE (fac_bookmark_expire IS NULL OR fac_bookmark_expire > SYSDATE)
AND UPPER (TRIM (fac_bookmark_path)) = 'APPL/PDA/INS_DEEL.ASP'
AND INSTR (UPPER (fac_bookmark_query), 'STDMKINA=') > 0) b, -- Bookmark tbv. objectmeldingen PERSOONSGEBONDEN!
ins_v_aanwezigdeel d,
ins_srtdeel sd,
ins_srtgroep sg,
ins_discipline dd,
prs_v_perslid_fullnames pf
--mld_stdmelding sm,
--mld_stdmelding_srtinst smsd
WHERE 1 = 1 --d.ins_srtdeel_key IN (-1)
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_discipline_key = dd.ins_discipline_key
AND d.ins_deel_parent_key IS NULL
AND d.ins_alg_ruimte_type IN ('P')
AND d.ins_alg_ruimte_key = pf.prs_perslid_key
--AND sm.mld_stdmelding_key = smsd.mld_stdmelding_key
--AND smsd.ins_srtinstallatie_key = DECODE (smsd.ins_srtinstallatie_niveau, 'S', sd.ins_srtdeel_key, 'G', sg.ins_srtgroep_key, 'D', dd.ins_discipline_key)
;
*/
-- UWVA#88120: KPI per kwartaal+domein!
/*
1843 Hospitality & Veiligheid
1844 Gebouwbeheer
1845 Eten & Drinken
*/
CREATE OR REPLACE VIEW UWVA_V_UDR_MLD_DOMEIN
AS
WITH
domeinsm
AS
(SELECT ut.fac_usrtab_key domein_key,
ut.fac_usrtab_omschrijving domein,
ud.fac_usrdata_aanmaak,
sm.mld_stdmelding_key,
sm.mld_stdmelding_omschrijving,
sm.mld_ins_discipline_key
FROM fac_usrtab ut, fac_v_aanwezigusrdata ud, mld_stdmelding sm
WHERE ut.fac_usrtab_key IN (1843, 1844, 1845) -- Hospitality & Veiligheid/Gebouwbeheer/Eten & Drinken
AND ut.fac_usrtab_key = ud.fac_usrtab_key
AND fac.safe_to_number (ud.fac_usrdata_code) = sm.mld_stdmelding_key)
SELECT x.domein_key,
x.domein,
--TO_CHAR (x.mldafm), 'yyyy-q') kwartaal,
x.ins_srtdiscipline_omschrijving vakgroeptype,
x.ins_discipline_omschrijving vakgroep,
x.mld_stdmelding_omschrijving soortmelding,
x.alg_regio_omschrijving regio,
x.alg_district_omschrijving district,
x.alg_locatie_code locatiecode,
x.mld_melding_key melding_key,
x.ins_srtdiscipline_prefix || TO_CHAR (x.mld_melding_key) meldingnr,
x.mld_melding_datum mldnew,
x.mld_statuses_omschrijving status,
TO_CHAR (x.acp_tijdsduur) || x.acp_eenheid mldacp_sla,
x.mld_melding_acceptdatum_std mldacp_std,
TO_CHAR (x.afm_tijdsduur) || x.afm_eenheid mldafm_sla,
x.mld_melding_einddatum_std mldafm_std,
x.mldacp,
x.mldafm,
DECODE (SIGN (COALESCE (x.mldacp, x.mldafm) - x.mld_melding_acceptdatum_std), -1, 1, 0) acp_optijd,
DECODE (SIGN (x.mldafm - x.mld_melding_einddatum_std), -1, 1, 0) afm_optijd
FROM (SELECT m.mld_melding_key,
dsm.domein_key,
dsm.domein,
sd.ins_srtdiscipline_prefix,
sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_omschrijving,
dsm.mld_stdmelding_omschrijving,
m.mld_melding_datum,
ms.mld_statuses_omschrijving,
r.alg_regio_omschrijving,
d.alg_district_omschrijving,
l.alg_locatie_key,
l.alg_locatie_code,
m.mld_melding_t_accepttijd.tijdsduur acp_tijdsduur,
m.mld_melding_t_accepttijd.eenheid acp_eenheid,
m.mld_melding_acceptdatum_std,
m.mld_melding_t_uitvoertijd.tijdsduur afm_tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid afm_eenheid,
m.mld_melding_einddatum_std,
fac.gettrackingdate ('MLDACP', m.mld_melding_key) mldacp,
fac.gettrackingdate ('MLDAFM', m.mld_melding_key) mldafm
FROM mld_melding m,
domeinsm dsm,
mld_discipline md,
ins_srtdiscipline sd,
mld_statuses ms,
alg_locatie l,
alg_district d,
alg_regio r
WHERE m.mld_stdmelding_key = dsm.mld_stdmelding_key
AND dsm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_melding_datum > GREATEST (TRUNC (dsm.fac_usrdata_aanmaak, 'q'), TRUNC (ADD_MONTHS (SYSDATE, -36), 'yyyy'))
AND m.mld_melding_status = ms.mld_statuses_key
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = d.alg_district_key(+)
AND d.alg_regio_key = r.alg_regio_key(+)) x;
CREATE OR REPLACE VIEW UWVA_V_RAP_MLD_DOMEIN_KW
AS
SELECT x.domein_key,
x.domein,
--TO_CHAR (x.mldafm, 'yyyy-q') kwartaal,
TO_CHAR (x.mldafm, 'yyyy-q') || DECODE (TO_CHAR (x.mldafm, 'yyyy-q'), TO_CHAR (SYSDATE, 'yyyy-q'), '*', '') kwartaal,
x.locatiecode gebied,
x.vakgroep,
'95%' norm_sla,
COUNT (*) aantal,
SUM (x.acp_optijd) acp_optijd,
ROUND ((SUM (x.acp_optijd) / COUNT (*)) * 100, 2) acp_perc,
SUM (x.afm_optijd) afm_optijd,
ROUND ((SUM (x.afm_optijd) / COUNT (*)) * 100, 2) afm_perc
FROM uwva_v_udr_mld_domein x
WHERE x.mldafm IS NOT NULL
GROUP BY x.domein_key,
x.domein,
TO_CHAR (x.mldafm, 'yyyy-q'),
x.locatiecode,
x.vakgroep
UNION ALL
SELECT x.domein_key,
x.domein,
--TO_CHAR (x.mldafm, 'yyyy-q') kwartaal,
TO_CHAR (x.mldafm, 'yyyy-q') || DECODE (TO_CHAR (x.mldafm, 'yyyy-q'), TO_CHAR (SYSDATE, 'yyyy-q'), '*', '') kwartaal,
'*** Landelijk ***' gebied,
x.vakgroep,
'95%' norm_sla,
COUNT (*) aantal,
SUM (x.acp_optijd) acp_optijd,
ROUND ((SUM (x.acp_optijd) / COUNT (*)) * 100, 2) acp_perc,
SUM (x.afm_optijd) afm_optijd,
ROUND ((SUM (x.afm_optijd) / COUNT (*)) * 100, 2) afm_perc
FROM uwva_v_udr_mld_domein x
WHERE x.mldafm IS NOT NULL
GROUP BY x.domein_key,
x.domein,
TO_CHAR (x.mldafm, 'yyyy-q'),
'Landelijk',
x.vakgroep;
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 0); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile