-- -- $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éé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)), '') || '";"' || 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'), '') || '";"' || NVL (TO_CHAR (ingediend.fac_tracking_datum, 'HH24:MI:SS'), '') || '";"' || NVL (TO_CHAR (opgepakt.fac_tracking_datum, 'YYYY-MM-DD '), '') || '";"' || NVL (TO_CHAR (opgepakt.fac_tracking_datum, 'HH24:MI:SS'), '') || '";"' || NVL ( TO_CHAR (mld_melding_acceptdatum_std, 'YYYY-MM-DD HH24:MI:SS'), '') || '";"' || NVL ( TO_CHAR (mld_melding_einddatum_std, 'YYYY-MM-DD HH24:MI:SS'), '') || '";"' || 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)), '') || '";"' || 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), '') --gaat niet door|| '";"' --gaat niet door|| NVL (TO_CHAR (vervolg), '') --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), '') || '";"' || 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, '') alg_district_omschrijving, NVL (alg_locatie_code, '') locatie, NVL (alg_locatie_omschrijving, '') locatie_omschrijving, NVL ( (SELECT k.prs_kostenplaats_nr FROM prs_kostenplaats k WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key), '') kostenplaats, NVL ( (SELECT k.prs_kostenplaats_omschrijving FROM prs_kostenplaats k WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key), '') kostenplaats_oms, NVL ( (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all pf WHERE pf.prs_perslid_key = m.prs_perslid_key), '') 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)), '') invoerder, NVL (sd.ins_srtdiscipline_omschrijving, '') soortmelding, TO_CHAR (sd.ins_srtdiscipline_key) soortmelding_key, NVL (md.ins_discipline_omschrijving, '') productgroep, TO_CHAR (md.ins_discipline_key) productgroep_key, NVL (bg.mld_behandelgroep_naam, '') behandelgroep, NVL (s.mld_stdmelding_omschrijving, '') 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 ; tzt. nader afstemmen WHEN m.mld_melding_t_accepttijd.eenheid = 'U' THEN TO_CHAR (m.mld_melding_t_accepttijd.tijdsduur) ELSE '' END sla_acpuren, CASE -- Aanname dagen, anders ; tzt. nader afstemmen WHEN m.mld_melding_t_accepttijd.eenheid = 'D' THEN TO_CHAR (m.mld_melding_t_uitvoertijd.tijdsduur) ELSE '' 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)), '') 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'), '')) 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)))), '') doorlooptijd_werkdgn, NVL (m.mld_melding_omschrijving, '') omschrijving, NVL (m.mld_melding_opmerking, '') 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), '') opdracht_volgnummer, NVL ( (SELECT mld_statusopdr_omschrijving FROM mld_statusopdr sta WHERE sta.mld_statusopdr_key = o.mld_statusopdr_key), '') opdracht_status, --DECODE (o.mld_opdr_datumbegin, -- NULL, '', -- m.mld_melding_datum, 'J', -- 'N') -- opdracht_automatisch, NVL ( TO_CHAR(fac.count_work_days (o.mld_opdr_datumbegin, o.mld_opdr_einddatum)), '') opdracht_duur_gepland, NVL (TO_CHAR (o.mld_opdr_datumbegin, 'YYYY-MM-DD'), '') opdracht_datum, NVL ( TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), 'YYYY-MM-DD'), DECODE (o.mld_opdr_key, NULL, '', '')) opdracht_afgemeld, NVL ( TO_CHAR(fac.count_work_days ( o.mld_opdr_datumbegin, fac.gettrackingdate ('ORDAFM', o.mld_opdr_key))), '') opdracht_doorlooptijd, NVL (o.mld_opdr_omschrijving, '') opdracht_omschrijving, NVL (o.mld_opdr_opmerking, '') opdracht_opmerking, NVL ( (SELECT naam FROM mld_v_uitvoerende u WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys), '') opdracht_uitvoerende, '' opdracht_contract, '' opdracht_contactpersoon, NVL ( REPLACE (TO_CHAR (o.mld_opdr_uren, '9999990.99'), '.', ','), '') opdracht_uren, NVL ( REPLACE ( TO_CHAR ( o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon), '9999990.99'), '.', ','), '') opdracht_correctie, NVL ( REPLACE (TO_CHAR (o.mld_opdr_materiaal, '9999990.99'), '.', ','), '') opdracht_materiaal, NVL ( REPLACE (TO_CHAR (o.mld_opdr_uurloon, '9999990.99'), '.', ','), '') opdracht_uurtarief, NVL ( REPLACE (TO_CHAR (o.mld_opdr_kosten, '9999990.99'), '.', ','), '') 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'), '') 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), '') 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), '') district_omschijving, NVL (ma.mld_adres_naam, '') 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, '') personeelsnr, '' 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, '') 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'), '') 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, '') 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), '') gefiatteerddoor, NVL ('O-' || bo.bes_bestelopdr_key, '') 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'), '') || '";"' || (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, '') || '";"' || NVL (k.prs_kostenplaats_omschrijving, '') || '";"' || NVL (a.prs_afdeling_naam, '') || '";"' || NVL (a.prs_afdeling_omschrijving, '') || '";"' || (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, '') || '";"' || '' || '";"' || NVL (wp2.prs_werkplek_aanduiding, '') || '";"' || 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), '') || '";"' || DECODE (rrr.alg_ruimte_key, NULL, 'Ja', 'Nee') || '";"' || NVL (TO_CHAR (rrr.res_rsv_ruimte_bezoekers), '') || '";"' || NVL (TO_CHAR (rrr.res_rsv_ruimte_van, 'hh24:mi'), '') || '";"' || NVL (TO_CHAR (rrr.res_rsv_ruimte_tot, 'hh24:mi'), '') || '";"' || NVL ( REPLACE ( TO_CHAR ( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24), '.', ','), '') || '";"' || NVL ( (SELECT res_status_fo_omschrijving FROM res_status_fo rs WHERE rs.res_status_fo_key = rrr.res_status_fo_key), '') || '";"' || NVL ( (SELECT res_activiteit_omschrijving FROM res_activiteit ra WHERE ra.res_activiteit_key = rrr.res_activiteit_key), '') || '";"' || NVL (voorz.catalogus, '') || '";"' || NVL (voorz.product, '') || '";"' || NVL (REPLACE (TO_CHAR (voorz.totaalprijs), '.', ','), '') || '";"' || NVL (TO_CHAR (voorz.van, 'hh24:mi'), '') || '";"' || NVL (TO_CHAR (voorz.tot, 'hh24:mi'), '') || '";"' || NVL (REPLACE (TO_CHAR (voorz.aantal), '.', ','), '') || '";"' || NVL (REPLACE (TO_CHAR (voorz.prijs), '.', ','), '') || '";"' || CASE WHEN voorz.status_bo < 5 THEN '' WHEN voorz.status_bo >= 5 THEN NVL (TO_CHAR (voorz.afgemeld, 'ddmmyyyy'), '') ELSE '' 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), '.', ','), '') || '";"' || NVL (REPLACE (TO_CHAR (fr.fin_factuurregel_btw), '.', ','), '') || '";"' || NVL ( REPLACE ( TO_CHAR ( fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw), '.', ','), '') || '";"' || 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) 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 é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 é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) || ''); END; BEGIN DELETE fac_rapport WHERE fac_rapport_node = SUBSTR (p_applname, 1, 12); COMMIT; add_row (''); 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 (''); 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 -- éé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/éé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 é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