24219 lines
1.1 MiB
24219 lines
1.1 MiB
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific db-configuration for FMHN.
|
||
DEFINE thisfile = 'FMHN.SQL'
|
||
DEFINE dbuser = 'FMHN'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||
SPOOL &fcltlogfile
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
---------------------------------------
|
||
PROMPT &fcltcusttxt
|
||
---------------------------------------
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
-- Aangepaste import voor ruimten i.v.m. beperkingen export Stabicad
|
||
CREATE OR REPLACE PROCEDURE fmhn_import_ruimten (p_import_key IN NUMBER
|
||
)
|
||
AS
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
v_count NUMBER;
|
||
v_ongeldig NUMBER (1);
|
||
v_mode NUMBER (1);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_alg_kenmerk_key1 VARCHAR2 (255);
|
||
v_alg_kenmerk_key2 VARCHAR2 (255);
|
||
v_alg_kenmerk_key3 VARCHAR2 (255);
|
||
v_alg_kenmerk_key4 VARCHAR2 (255);
|
||
v_alg_kenmerk_key5 VARCHAR2 (255);
|
||
v_bouwdeel NUMBER (1);
|
||
-- De importvelden:
|
||
v_locatie_code VARCHAR2 (255); -- 10
|
||
v_gebouw_code VARCHAR2 (255); -- 12
|
||
v_verdieping_volgnr VARCHAR2 (255); -- 3,0
|
||
v_verdieping_volgnr_n NUMBER (3, 0); -- 3,0
|
||
v_srtruimte_omschrijving VARCHAR2 (255); -- 30
|
||
v_ruimte_nr VARCHAR2 (255); -- 10
|
||
v_ruimte_omschrijving VARCHAR2 (255); -- 30
|
||
v_ruimte_bruto_vloeropp VARCHAR2 (255); -- 8,2
|
||
v_ruimte_bruto_vloeropp_n NUMBER (8, 2); -- 8,2
|
||
v_afdeling_naam VARCHAR2 (255); -- 10
|
||
v_ruimte_afdeling_bezetting VARCHAR2 (255); -- 8,5
|
||
v_ruimte_afdeling_bezetting_n VARCHAR2 (255); -- 8,5
|
||
v_reserveerbaar VARCHAR2 (255); -- 1
|
||
v_res_discipline_omschrijving VARCHAR2 (255); -- 60
|
||
v_res_discipline_expire_dagen VARCHAR2 (255); -- 3
|
||
v_res_disc_expire_dagen_n NUMBER (3, 0); -- 3
|
||
v_res_ruimte_prijs VARCHAR2 (255); -- 7,2
|
||
v_res_ruimte_prijs_n NUMBER (7, 2); -- 7,2
|
||
v_res_opstelling_omschrijving VARCHAR2 (255); -- 30
|
||
v_res_ruimte_opstel_bezoekers VARCHAR2 (255); -- 5,0
|
||
v_res_ruimte_opstel_bez_n NUMBER (5, 0); -- 5,0
|
||
v_res_ruimte_nr VARCHAR2 (255); -- 40
|
||
v_res_ruimte_omschrijving VARCHAR2 (255); -- 255
|
||
v_alg_kenmerkwaarde1 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde2 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde3 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde4 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde5 VARCHAR2 (255);
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
-- Controleer tijdens import-fase op bestaan van kenmerk
|
||
FUNCTION bepaal_kenmerk_key (kw IN VARCHAR)
|
||
RETURN NUMBER
|
||
IS
|
||
v_kenmerk_key NUMBER;
|
||
BEGIN
|
||
IF fac.safe_to_number (kw) IS NULL
|
||
THEN -- kenmerkwaarde is alfanumeriek (dus omschrijving)!
|
||
SELECT alg_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM alg_kenmerk
|
||
WHERE alg_kenmerk_upper = UPPER (kw)
|
||
AND alg_kenmerk_verwijder IS NULL
|
||
AND alg_kenmerk_niveau = 'R'
|
||
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
|
||
ELSE -- kenmerkwaarde is numeriek (dus key)!
|
||
SELECT alg_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM alg_kenmerk
|
||
WHERE alg_kenmerk_key = fac.safe_to_number (kw)
|
||
AND alg_kenmerk_verwijder IS NULL
|
||
AND alg_kenmerk_niveau = 'R'
|
||
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
|
||
END IF;
|
||
|
||
RETURN v_kenmerk_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
IF kw IS NULL OR UPPER (kw) LIKE 'KENMERK%'
|
||
THEN
|
||
RETURN NULL;
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Fout bij bepalen kenmerk [' || kw || ']',
|
||
'Bestaat niet of type ongeldig');
|
||
COMMIT;
|
||
RETURN NULL;
|
||
END IF;
|
||
END;
|
||
BEGIN
|
||
DELETE FROM fac_imp_onrgoed2;
|
||
|
||
header_is_valid := 0;
|
||
v_count := 0;
|
||
|
||
SELECT COUNT (*) bouwdelen
|
||
INTO v_bouwdeel
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
AND fac_imp_file_line LIKE '%Verdiepingsnummer%'
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
-- Bepaal of er meer dan 1 bouwdeel wordt ingelezen (ieder bouwdeel heeft een header regel in de CSV
|
||
IF v_bouwdeel > 1
|
||
THEN
|
||
v_bouwdeel := 1;
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Er zijn bouwdelen gevonden.',
|
||
'Tijdens het verwerken zullen de verdiepingen worden gesplitst per bouwdeel.'
|
||
);
|
||
ELSE
|
||
v_bouwdeel := 0;
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Geen bouwdelen gevonden.',
|
||
'Deze verdieping wordt op de normale manier verwerkt.'
|
||
);
|
||
END IF;
|
||
|
||
-- Update de headerregel, die uit Stabicad is onbruikbaar
|
||
UPDATE fac_imp_file
|
||
SET fac_imp_file_line = 'Ruimtenummer;Ruimteomschrijving;Vloeroppervlak;Locatiecode;Gebouwcode;Bouwlaagvolgnummer;Ruimtefunctie;Afdelingscode;Bezetting;ReserveerbareRuimte;Categorie;Expiredagen;Prijs;Opstelling;AantalBezoekers;Naam;Omschrijving;kenmerk1;kenmerk2;kenmerk3;kenmerk4;kenmerk5'
|
||
WHERE fac_import_key = p_import_key
|
||
AND fac_imp_file_index = 1;
|
||
|
||
-- Nu de bouwdelen zijn geteld en de header is omgehangen mogen andere eventuele header regels weg.
|
||
DELETE fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
AND fac_imp_file_line LIKE '%Verdiepingsnummer%';
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout FETCH te importeren rij';
|
||
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout opvragen te importeren rij';
|
||
v_aanduiding := '';
|
||
v_errorhint := '';
|
||
v_ongeldig := 0;
|
||
|
||
-- Lees alle veldwaarden, aangepast op export uit Stabicad
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_ruimte_nr);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_ruimte_omschrijving);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_ruimte_bruto_vloeropp);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_code);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_gebouw_code);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_verdieping_volgnr);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_srtruimte_omschrijving);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_afdeling_naam); -- Alles vanaf hier is NULL
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_ruimte_afdeling_bezetting);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_reserveerbaar);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_discipline_omschrijving);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_discipline_expire_dagen);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_ruimte_prijs);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_opstelling_omschrijving);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_ruimte_opstel_bezoekers);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_ruimte_nr);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_ruimte_omschrijving);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_kenmerkwaarde1);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_kenmerkwaarde2);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_kenmerkwaarde3);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_kenmerkwaarde4);
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_kenmerkwaarde5);
|
||
|
||
v_aanduiding :=
|
||
v_locatie_code || '|' || v_gebouw_code || '|' || v_verdieping_volgnr || '|' || v_ruimte_nr || '| ';
|
||
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_locatie_code) = 'LOCATIECODE'
|
||
AND UPPER (v_ruimte_nr) = 'RUIMTENUMMER'
|
||
AND UPPER (v_res_ruimte_omschrijving) = 'OMSCHRIJVING'
|
||
THEN
|
||
v_alg_kenmerk_key1 := bepaal_kenmerk_key (v_alg_kenmerkwaarde1);
|
||
v_alg_kenmerk_key2 := bepaal_kenmerk_key (v_alg_kenmerkwaarde2);
|
||
v_alg_kenmerk_key3 := bepaal_kenmerk_key (v_alg_kenmerkwaarde3);
|
||
v_alg_kenmerk_key4 := bepaal_kenmerk_key (v_alg_kenmerkwaarde4);
|
||
v_alg_kenmerk_key5 := bepaal_kenmerk_key (v_alg_kenmerkwaarde5);
|
||
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count := v_count + 1;
|
||
v_errormsg := 'Fout inlezen locatie [' || v_locatie_code || ']';
|
||
|
||
v_locatie_code := TRIM(v_locatie_code);
|
||
IF LENGTH (v_locatie_code) > 10
|
||
THEN
|
||
v_locatie_code := SUBSTR (v_locatie_code, 1, 10);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Locatie-aanduiding is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_locatie_code || '>'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen gebouw [' || v_gebouw_code || ']';
|
||
|
||
v_gebouw_code := TRIM(v_gebouw_code);
|
||
IF LENGTH (v_gebouw_code) > 12
|
||
THEN
|
||
v_gebouw_code := SUBSTR (v_gebouw_code, 1, 12);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Gebouwcode-aanduiding is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_gebouw_code || '>'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := '1 Fout inlezen verdiepingvolgnr [' || v_verdieping_volgnr || ']';
|
||
v_errorhint := 'Geef een geheel getal niet groter dan 3 posities';
|
||
|
||
IF (NVL (LENGTH (ROUND (fac.safe_to_number (v_verdieping_volgnr))), 10)) > 3
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || 'xyz Ongeldig verdiepingvolgnummer [' || v_verdieping_volgnr || ']',
|
||
v_errorhint
|
||
);
|
||
v_ongeldig := 1;
|
||
ELSE
|
||
v_verdieping_volgnr_n := ROUND (fac.safe_to_number (v_verdieping_volgnr));
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen ruimtefunctie [' || v_srtruimte_omschrijving || ']';
|
||
|
||
v_srtruimte_omschrijving := TRIM(v_srtruimte_omschrijving);
|
||
IF LENGTH (v_srtruimte_omschrijving) > 50
|
||
THEN
|
||
v_srtruimte_omschrijving := SUBSTR (v_srtruimte_omschrijving, 1, 50);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Ruimtefunctie-aanduiding is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_srtruimte_omschrijving || '>'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen ruimtenummer [' || v_ruimte_nr || ']';
|
||
|
||
v_ruimte_nr := TRIM(v_ruimte_nr);
|
||
IF LENGTH (v_ruimte_nr) > 20
|
||
THEN
|
||
v_ruimte_nr := SUBSTR (v_ruimte_nr, -20);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Ruimtenr-aanduiding is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_ruimte_nr || '>'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen ruimte [' || v_ruimte_omschrijving || ']';
|
||
|
||
v_ruimte_omschrijving := TRIM(v_ruimte_omschrijving);
|
||
IF LENGTH (v_ruimte_omschrijving) > 30
|
||
THEN
|
||
v_ruimte_omschrijving := SUBSTR (v_ruimte_omschrijving, 1, 30);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Ruimte-aanduiding is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_ruimte_omschrijving || '>'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen ruimte oppervlakte [' || v_ruimte_bruto_vloeropp || ']';
|
||
v_errorhint := 'Maximaal grootte getal is 99999.99';
|
||
|
||
IF v_ruimte_bruto_vloeropp IS NULL
|
||
THEN
|
||
v_ruimte_bruto_vloeropp_n := TO_NUMBER (NULL);
|
||
ELSE
|
||
-- nls_numeric_characters wordt verondersteld
|
||
-- eerst m2 van de naam afhalen als dit aan de hand is
|
||
v_ruimte_bruto_vloeropp := REGEXP_SUBSTR (v_ruimte_bruto_vloeropp,'[^ ]+',1,1);
|
||
v_ruimte_bruto_vloeropp_n := TO_NUMBER (TRIM (REPLACE (v_ruimte_bruto_vloeropp, ',', '.')), '999999D99');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen afdelingscode [' || v_afdeling_naam || ']';
|
||
|
||
v_afdeling_naam := TRIM(v_afdeling_naam);
|
||
IF LENGTH (v_afdeling_naam) > 15
|
||
THEN
|
||
v_afdeling_naam := SUBSTR (v_afdeling_naam, 1, 15);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Afdelingscode is te lang',
|
||
'Afdelingscode wordt afgebroken tot <' || v_afdeling_naam || '>'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen ruimtebezetting [' || v_ruimte_afdeling_bezetting || ']';
|
||
v_errorhint := 'Maximaal grootte getal is 999.99999';
|
||
|
||
IF TRIM (v_ruimte_afdeling_bezetting) IS NULL
|
||
THEN
|
||
v_ruimte_afdeling_bezetting_n := TO_NUMBER (NULL);
|
||
ELSE
|
||
-- nls_numeric_characters wordt verondersteld
|
||
v_ruimte_afdeling_bezetting_n := TO_NUMBER (TRIM (REPLACE (v_ruimte_afdeling_bezetting, ',', '.')), '999D99999');
|
||
END IF;
|
||
|
||
--
|
||
v_reserveerbaar := SUBSTR (TRIM (v_reserveerbaar), 1, 1);
|
||
--
|
||
v_errormsg := 'Fout inlezen catalogus [' || v_res_discipline_omschrijving || ']';
|
||
|
||
v_res_discipline_omschrijving := TRIM(v_res_discipline_omschrijving);
|
||
IF LENGTH (v_res_discipline_omschrijving) > 60
|
||
THEN
|
||
v_res_discipline_omschrijving := SUBSTR (v_res_discipline_omschrijving, 1, 60);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Categorie-aanduiding ruimte is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_res_discipline_omschrijving || '>'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen expire dagen [' || v_res_discipline_expire_dagen || ']';
|
||
v_errorhint := 'Geef geheel getal niet groter dan 3 posities';
|
||
|
||
IF TRIM (v_res_discipline_expire_dagen) IS NULL
|
||
THEN
|
||
v_res_disc_expire_dagen_n := 0;
|
||
ELSE
|
||
v_res_disc_expire_dagen_n := TO_NUMBER (v_res_discipline_expire_dagen);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen prijs reserveerbare ruimte [' || v_res_ruimte_prijs || ']';
|
||
v_errorhint := 'Maximaal grootte getal is 99999.99 ';
|
||
|
||
IF (TRIM (v_res_ruimte_prijs) IS NULL)
|
||
THEN
|
||
v_res_ruimte_prijs_n := TO_NUMBER (NULL);
|
||
ELSE
|
||
-- nls_numeric_characters wordt verondersteld
|
||
v_res_ruimte_prijs_n := TO_NUMBER (TRIM (REPLACE (v_res_ruimte_prijs, ',', '.')), '999999D99');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen opstelling [' || v_res_opstelling_omschrijving || ']';
|
||
|
||
v_res_opstelling_omschrijving := TRIM(v_res_opstelling_omschrijving);
|
||
IF LENGTH (v_res_opstelling_omschrijving) > 30
|
||
THEN
|
||
v_res_opstelling_omschrijving := SUBSTR (v_res_opstelling_omschrijving, 1, 30);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Ruimteopstelling-aanduiding is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_res_opstelling_omschrijving || '>'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen aantal bezoekers [' || v_res_ruimte_opstel_bezoekers || ']';
|
||
v_errorhint := 'Geef geheel getal niet groter dan 5 posities';
|
||
|
||
IF TRIM (v_res_ruimte_opstel_bezoekers) IS NULL
|
||
THEN
|
||
v_res_ruimte_opstel_bez_n := TO_NUMBER (NULL);
|
||
ELSE
|
||
v_res_ruimte_opstel_bez_n := TO_NUMBER (v_res_ruimte_opstel_bezoekers);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Fout inlezen ruimte nummer reserveerbare ruimte omschrijving [' || v_res_ruimte_nr || ']';
|
||
|
||
v_res_ruimte_nr := TRIM(v_res_ruimte_nr);
|
||
IF LENGTH (v_res_ruimte_nr) > 40
|
||
THEN
|
||
v_errormsg := 'Fout inlezen ruimte nummer reserveerbare ruimte omschrijving [' || v_res_ruimte_nr || ']';
|
||
v_res_ruimte_nr := SUBSTR (v_res_ruimte_nr, 1, 40);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Ruimtenr-aanduiding reserveerbare ruimte is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_res_ruimte_nr || '>'
|
||
);
|
||
v_errormsg := 'Fout inlezen ruimte nummer reserveerbare ruimte omschrijving [' || v_res_ruimte_nr || ']';
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout inlezen ruimte nummer reserveerbare ruimte omschrijving [' || v_res_ruimte_nr || ']';
|
||
--
|
||
v_errormsg := 'Fout inlezen reserveerbare ruimte [' || 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 || 'Ruimte-aanduiding reserveerbare ruimte is te lang',
|
||
'Aanduiding wordt afgebroken tot <' || v_res_ruimte_omschrijving || '>'
|
||
);
|
||
END IF;
|
||
|
||
v_alg_kenmerkwaarde1 := TRIM (v_alg_kenmerkwaarde1);
|
||
v_alg_kenmerkwaarde2 := TRIM (v_alg_kenmerkwaarde2);
|
||
v_alg_kenmerkwaarde3 := TRIM (v_alg_kenmerkwaarde3);
|
||
v_alg_kenmerkwaarde4 := TRIM (v_alg_kenmerkwaarde4);
|
||
v_alg_kenmerkwaarde5 := TRIM (v_alg_kenmerkwaarde5);
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen te impoteren ruimte [' || v_res_ruimte_omschrijving || ']';
|
||
|
||
INSERT INTO fac_imp_onrgoed2 (
|
||
alg_locatie_code,
|
||
alg_gebouw_code,
|
||
alg_verdieping_volgnr,
|
||
alg_srtruimte_omschrijving,
|
||
alg_ruimte_nr,
|
||
alg_ruimte_omschrijving,
|
||
alg_ruimte_bruto_vloeropp,
|
||
prs_afdeling_naam,
|
||
prs_ruimteafdeling_bezetting,
|
||
reserveerbaar,
|
||
res_discipline_omschrijving,
|
||
res_discipline_expire_dagen,
|
||
res_ruimte_prijs,
|
||
res_opstelling_omschrijving,
|
||
res_ruimte_opstel_bezoekers,
|
||
res_ruimte_nr,
|
||
res_ruimte_omschrijving,
|
||
alg_kenmerkwaarde1,
|
||
alg_kenmerkwaarde2,
|
||
alg_kenmerkwaarde3,
|
||
alg_kenmerkwaarde4,
|
||
alg_kenmerkwaarde5
|
||
)
|
||
VALUES (
|
||
v_locatie_code,
|
||
v_gebouw_code,
|
||
v_verdieping_volgnr_n,
|
||
v_srtruimte_omschrijving,
|
||
v_ruimte_nr,
|
||
v_ruimte_omschrijving,
|
||
v_ruimte_bruto_vloeropp_n,
|
||
v_afdeling_naam,
|
||
v_ruimte_afdeling_bezetting_n,
|
||
v_reserveerbaar,
|
||
v_res_discipline_omschrijving,
|
||
v_res_disc_expire_dagen_n,
|
||
v_res_ruimte_prijs_n,
|
||
v_res_opstelling_omschrijving,
|
||
v_res_ruimte_opstel_bez_n,
|
||
v_res_ruimte_nr,
|
||
v_res_ruimte_omschrijving,
|
||
DECODE (v_alg_kenmerk_key1,
|
||
NULL, v_alg_kenmerkwaarde1,
|
||
TO_CHAR (v_alg_kenmerk_key1)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde1, 1, 200)
|
||
),
|
||
DECODE (v_alg_kenmerk_key2,
|
||
NULL, v_alg_kenmerkwaarde2,
|
||
TO_CHAR (v_alg_kenmerk_key2)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde2, 1, 200)
|
||
),
|
||
DECODE (v_alg_kenmerk_key3,
|
||
NULL, v_alg_kenmerkwaarde3,
|
||
TO_CHAR (v_alg_kenmerk_key3)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde3, 1, 200)
|
||
),
|
||
DECODE (v_alg_kenmerk_key4,
|
||
NULL, v_alg_kenmerkwaarde4,
|
||
TO_CHAR (v_alg_kenmerk_key4)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde4, 1, 200)
|
||
), -- We parkeren het bouwdeel verdiepingnummer even in kenmerk 5
|
||
DECODE (v_bouwdeel, 1, SUBSTR (v_ruimte_nr, 1, 1) || '-' || v_verdieping_volgnr_n,
|
||
DECODE (v_alg_kenmerk_key5,
|
||
NULL, v_alg_kenmerkwaarde5,
|
||
TO_CHAR (v_alg_kenmerk_key5)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde5, 1, 200)
|
||
))
|
||
);
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || 'Ongeldig importbestand',
|
||
'Geen geldige headerregel aanwezig'
|
||
);
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'S', 'Ruimte: aantal ingelezen regels: ' || TO_CHAR (v_count), '');
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := v_errormsg || ' Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
'Eventeel resterende regels worden niet meer ingelezen!'
|
||
);
|
||
END fmhn_import_ruimten;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_update_ruimten (
|
||
p_import_key IN NUMBER
|
||
) IS
|
||
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
|
||
v_count NUMBER(10);
|
||
v_count_update NUMBER(10);
|
||
v_count_tot NUMBER(10);
|
||
v_bouwdeel NUMBER(10);
|
||
v_vvolgnr NUMBER(10);
|
||
|
||
-- De importvelden:
|
||
v_regio_omschrijving VARCHAR2(255); -- 30
|
||
v_district_omschrijving VARCHAR2(255); -- 30
|
||
v_locatie_code VARCHAR2(255); -- 10
|
||
v_locatie_omschrijving VARCHAR2(255); -- 60
|
||
v_gebouw_code VARCHAR2(255); -- 12
|
||
v_gebouw_naam VARCHAR2(255); -- 30
|
||
v_srtgebouw_omschrijving VARCHAR2(255); -- 30
|
||
v_locatie_verantw VARCHAR2(255); -- 30
|
||
v_locatie_verantw_tel VARCHAR2(255); -- 15
|
||
v_locatie_adres VARCHAR2(255); -- 50
|
||
v_locatie_postcode VARCHAR2(255); -- 12
|
||
v_locatie_plaats VARCHAR2(255); -- 30
|
||
v_locatie_land VARCHAR2(255); -- 30
|
||
v_locatie_post_adres VARCHAR2(255); -- 50
|
||
v_locatie_post_postcode VARCHAR2(255); -- 12
|
||
v_locatie_post_plaats VARCHAR2(255); -- 30
|
||
v_locatie_post_land VARCHAR2(255); -- 30
|
||
|
||
v_regio_key NUMBER(10);
|
||
v_district_key NUMBER(10);
|
||
v_locatie_key NUMBER(10);
|
||
v_srtgebouw_key NUMBER(10);
|
||
v_gebouw_key NUMBER(10);
|
||
v_verdieping_key NUMBER(10);
|
||
v_verdieping_volgnr NUMBER(3);
|
||
v_srtruimte_key NUMBER(10);
|
||
v_ruimte_key NUMBER(10);
|
||
v_res_ruimte_key NUMBER(10);
|
||
v_ruimte_omschrijving res_ruimte.res_ruimte_nr%TYPE; -- 40
|
||
|
||
v_discipline_key NUMBER(10);
|
||
v_opstelling_key NUMBER(10);
|
||
v_ruimteafdeling_key NUMBER(10);
|
||
|
||
CURSOR cVerdieping
|
||
IS
|
||
SELECT min(alg_locatie_code) alg_locatie_code
|
||
,min(alg_gebouw_code) alg_gebouw_code
|
||
,alg_verdieping_volgnr alg_verdieping_volgnr
|
||
,alg_kenmerkwaarde5 verdiepingnummer
|
||
FROM fac_imp_onrgoed2
|
||
GROUP BY upper(alg_locatie_code), upper(alg_gebouw_code), alg_verdieping_volgnr, alg_kenmerkwaarde5;
|
||
|
||
recVerdieping cVerdieping%ROWTYPE;
|
||
|
||
CURSOR cBouwdeel
|
||
IS
|
||
SELECT ROWNUM getal, sub.waarde verdiepingnummer
|
||
FROM (SELECT DISTINCT alg_kenmerkwaarde5 waarde FROM fac_imp_onrgoed2) sub;
|
||
|
||
CURSOR cSrtRuimte
|
||
IS
|
||
SELECT min(alg_srtruimte_omschrijving) alg_srtruimte_omschrijving
|
||
FROM fac_imp_onrgoed2
|
||
GROUP BY alg_srtruimte_omschrijving;
|
||
|
||
recSrtRuimte cSrtRuimte%ROWTYPE;
|
||
|
||
CURSOR cRuimte
|
||
IS
|
||
SELECT alg_locatie_code,
|
||
alg_gebouw_code,
|
||
alg_verdieping_volgnr,
|
||
alg_srtruimte_omschrijving,
|
||
alg_ruimte_nr,
|
||
alg_ruimte_omschrijving,
|
||
alg_ruimte_bruto_vloeropp,
|
||
reserveerbaar,
|
||
res_discipline_omschrijving,
|
||
res_ruimte_prijs,
|
||
res_opstelling_omschrijving,
|
||
res_ruimte_opstel_bezoekers,
|
||
res_ruimte_nr,
|
||
res_ruimte_omschrijving,
|
||
i.prs_afdeling_naam,
|
||
prs_afdeling_key,
|
||
prs_ruimteafdeling_bezetting,
|
||
fac.safe_to_number (SUBSTR (alg_kenmerkwaarde1, 1, INSTR (alg_kenmerkwaarde1, '=') - 1))
|
||
kenmerk_key1,
|
||
SUBSTR (alg_kenmerkwaarde1, INSTR (alg_kenmerkwaarde1, '=') + 1) waarde1,
|
||
fac.safe_to_number (SUBSTR (alg_kenmerkwaarde2, 1, INSTR (alg_kenmerkwaarde2, '=') - 1))
|
||
kenmerk_key2,
|
||
SUBSTR (alg_kenmerkwaarde2, INSTR (alg_kenmerkwaarde2, '=') + 1) waarde2,
|
||
fac.safe_to_number (SUBSTR (alg_kenmerkwaarde3, 1, INSTR (alg_kenmerkwaarde3, '=') - 1))
|
||
kenmerk_key3,
|
||
SUBSTR (alg_kenmerkwaarde3, INSTR (alg_kenmerkwaarde3, '=') + 1) waarde3,
|
||
fac.safe_to_number (SUBSTR (alg_kenmerkwaarde4, 1, INSTR (alg_kenmerkwaarde4, '=') - 1))
|
||
kenmerk_key4,
|
||
SUBSTR (alg_kenmerkwaarde4, INSTR (alg_kenmerkwaarde4, '=') + 1) waarde4,
|
||
fac.safe_to_number (SUBSTR (alg_kenmerkwaarde5, 1, INSTR (alg_kenmerkwaarde5, '=') - 1))
|
||
kenmerk_key5,
|
||
SUBSTR (alg_kenmerkwaarde5, INSTR (alg_kenmerkwaarde5, '=') + 1) waarde5
|
||
FROM fac_imp_onrgoed2 i,
|
||
prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND UPPER(i.prs_afdeling_naam) = a.prs_afdeling_upper(+);
|
||
|
||
recRuimte cRuimte%ROWTYPE;
|
||
|
||
CURSOR cOpstelling
|
||
IS
|
||
SELECT min(res_opstelling_omschrijving) res_opstelling_omschrijving
|
||
,UPPER(res_opstelling_omschrijving) res_opstelling_upper
|
||
FROM FAC_IMP_ONRGOED2
|
||
WHERE res_opstelling_omschrijving IS NOT NULL
|
||
GROUP BY UPPER(res_opstelling_omschrijving);
|
||
|
||
recOpstelling cOpstelling%ROWTYPE;
|
||
|
||
CURSOR cCategorie
|
||
IS
|
||
SELECT min(res_discipline_omschrijving) res_discipline_omschrijving
|
||
,upper(res_discipline_omschrijving) res_discipline_upper
|
||
,NVL(res_discipline_expire_dagen,0) res_discipline_expire_dagen
|
||
FROM FAC_IMP_ONRGOED2
|
||
WHERE reserveerbaar in ('Y','y','J','j')
|
||
GROUP BY upper(res_discipline_omschrijving)
|
||
, res_discipline_expire_dagen;
|
||
|
||
recCategorie cCategorie%ROWTYPE;
|
||
|
||
CURSOR cResRuimte
|
||
IS
|
||
SELECT *
|
||
FROM FAC_IMP_ONRGOED2
|
||
WHERE RESERVEERBAAR in ('J','j','Y','y');
|
||
|
||
recResRuimte cResRuimte%ROWTYPE;
|
||
|
||
-- SUBPROC
|
||
PROCEDURE upsert_algkenmerk (p_ruimte_key IN NUMBER,
|
||
p_kenmerk_key IN NUMBER,
|
||
p_waarde IN VARCHAR2)
|
||
AS
|
||
v_kenmerk_type VARCHAR2 (1);
|
||
ccount NUMBER;
|
||
v_waarde VARCHAR2 (255);
|
||
v_objectnaam VARCHAR2 (30);
|
||
v_kolomnaam VARCHAR2 (30);
|
||
v_kolomtxt VARCHAR2 (30);
|
||
sql_stmt VARCHAR2 (1000);
|
||
l_cursor_1 INTEGER;
|
||
l_rowsprocessed NUMBER DEFAULT 0;
|
||
BEGIN
|
||
IF (p_kenmerk_key IS NOT NULL AND p_waarde IS NOT NULL)
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen kenmerktype';
|
||
SELECT alg_kenmerk_kenmerktype
|
||
INTO v_kenmerk_type
|
||
FROM alg_kenmerk
|
||
WHERE alg_kenmerk_verwijder IS NULL
|
||
AND alg_kenmerk_key = p_kenmerk_key
|
||
AND alg_kenmerk_niveau = 'R';
|
||
|
||
IF v_kenmerk_type IN ('R', 'S')
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen eigen tabel';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM alg_kenmerk k, fac_kenmerkdomein d
|
||
WHERE k.alg_kenmerk_key = p_kenmerk_key
|
||
AND k.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
||
AND d.fac_usrtab_key IS NOT NULL;
|
||
|
||
v_errormsg := 'Fout bij bepalen nieuwe waarde [' || p_waarde || ']';
|
||
|
||
IF ccount = 1
|
||
THEN -- Eigen tabel
|
||
SELECT TO_CHAR (ud.fac_usrdata_key)
|
||
INTO v_waarde
|
||
FROM alg_kenmerk k, fac_kenmerkdomein d, fac_v_aanwezigusrdata ud
|
||
WHERE k.alg_kenmerk_key = p_kenmerk_key
|
||
AND k.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
||
AND d.fac_usrtab_key = ud.fac_usrtab_key
|
||
AND UPPER (TRIM (ud.fac_usrdata_omschr)) = UPPER (p_waarde);
|
||
ELSE -- FACILITOR view/tabel
|
||
SELECT d.fac_kenmerkdomein_objectnaam, d.fac_kenmerkdomein_kolomnaam, d.fac_kenmerkdomein_kolomtxt
|
||
INTO v_objectnaam, v_kolomnaam, v_kolomtxt
|
||
FROM alg_kenmerk k, fac_kenmerkdomein d
|
||
WHERE k.alg_kenmerk_key = p_kenmerk_key
|
||
AND k.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
||
AND d.fac_usrtab_key IS NULL;
|
||
|
||
sql_stmt := 'SELECT MAX ('
|
||
|| v_kolomnaam
|
||
|| ') FROM '
|
||
|| v_objectnaam
|
||
|| ' WHERE UPPER (TRIM ('
|
||
|| v_kolomtxt
|
||
|| ')) = UPPER (:pwaarde)';
|
||
l_cursor_1 := DBMS_SQL.open_cursor;
|
||
DBMS_SQL.parse (l_cursor_1, sql_stmt, DBMS_SQL.native);
|
||
DBMS_SQL.BIND_VARIABLE(l_cursor_1,':pwaarde', p_waarde);
|
||
DBMS_SQL.define_column(l_cursor_1, 1, v_waarde, 255);
|
||
l_rowsprocessed := DBMS_SQL.execute_and_fetch (l_cursor_1);
|
||
DBMS_SQL.column_value (l_cursor_1, 1, v_waarde);
|
||
DBMS_SQL.close_cursor(l_cursor_1);
|
||
END IF;
|
||
ELSE -- C(Karakter)/D(Datum)/N(Numeriek)/X(Bestandsnaam)
|
||
v_waarde := p_waarde;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij toevoegen/bijwerken kenmerk';
|
||
alg.upsertkenmerk (p_kenmerk_key,
|
||
p_ruimte_key,
|
||
v_waarde);
|
||
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.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'upsert_algkenmerk');
|
||
END;
|
||
|
||
BEGIN
|
||
|
||
SELECT COUNT (DISTINCT alg_kenmerkwaarde5) INTO v_bouwdeel FROM fac_imp_onrgoed2;
|
||
|
||
-- Wanneer er bouwdelen zijn dan plakken we een extra getal achter het verdiepingvolgnummer zodat ieder bouwdeel zijn eigen nummer heeft.
|
||
-- Zijn er geen bouwdelen (of wordt er maar 1 bouwdeel ingelezen) dan updaten we de verdieping met het al bestaande volgnummer.
|
||
IF v_bouwdeel > 0
|
||
THEN
|
||
FOR rec IN cBouwdeel
|
||
LOOP
|
||
BEGIN
|
||
UPDATE fac_imp_onrgoed2
|
||
SET alg_verdieping_volgnr = fac.safe_to_number (alg_verdieping_volgnr || rec.getal) -- verdieping 14 met 3 bouwdelen wordt dus 141 142 143
|
||
WHERE alg_kenmerkwaarde5 = rec.verdiepingnummer;
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
ELSE
|
||
SELECT MAX (v.alg_verdieping_volgnr)
|
||
INTO v_vvolgnr
|
||
FROM alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r,
|
||
fac_imp_onrgoed2 imp
|
||
WHERE imp.alg_gebouw_code = g.alg_gebouw_code
|
||
AND imp.alg_ruimte_nr = r.alg_ruimte_nr
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND r.alg_ruimte_verwijder IS NULL;
|
||
END IF;
|
||
|
||
IF v_vvolgnr > 0
|
||
THEN
|
||
UPDATE fac_imp_onrgoed2
|
||
SET alg_verdieping_volgnr = v_vvolgnr;
|
||
END IF;
|
||
|
||
-- ****************
|
||
-- ***VERDIEPING***
|
||
-- ****************
|
||
OPEN cVerdieping;
|
||
v_count_update := 0;
|
||
v_count_tot := 0;
|
||
IF cVerdieping%ISOPEN THEN
|
||
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
v_aanduiding := '';
|
||
|
||
FETCH cVerdieping INTO recVerdieping;
|
||
EXIT WHEN cVerdieping%NOTFOUND;
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := recVerdieping.ALG_LOCATIE_CODE||'|'||recVerdieping.ALG_GEBOUW_CODE||'|'||recVerdieping.ALG_VERDIEPING_VOLGNR||'| ';
|
||
|
||
v_errorhint := ' Fout bij bepalen locatie ['||recVerdieping.ALG_LOCATIE_CODE||']';
|
||
|
||
SELECT ALG_LOCATIE_KEY
|
||
INTO v_locatie_key
|
||
FROM ALG_LOCATIE
|
||
WHERE UPPER(ALG_LOCATIE_CODE) = UPPER(recVerdieping.ALG_LOCATIE_CODE)
|
||
AND ALG_LOCATIE_VERWIJDER IS NULL;
|
||
|
||
v_errorhint := ' Fout bij bepalen gebouw ['||recVerdieping.ALG_GEBOUW_CODE||']';
|
||
|
||
SELECT ALG_GEBOUW_KEY
|
||
INTO v_gebouw_key
|
||
FROM ALG_GEBOUW
|
||
WHERE UPPER(ALG_GEBOUW_CODE) = UPPER(recVerdieping.ALG_GEBOUW_CODE)
|
||
AND ALG_LOCATIE_KEY = v_locatie_key
|
||
AND ALG_GEBOUW_VERWIJDER IS NULL;
|
||
|
||
v_errorhint := 'Fout bij toevoegen verdieping';
|
||
|
||
SELECT count(*)
|
||
INTO v_count
|
||
FROM alg_v_aanwezigverdieping
|
||
WHERE alg_gebouw_key = v_gebouw_key
|
||
AND ALG_VERDIEPING_VOLGNR = recVerdieping.ALG_VERDIEPING_VOLGNR;
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
insert into ALG_VERDIEPING
|
||
(ALG_GEBOUW_KEY
|
||
,ALG_VERDIEPING_VOLGNR
|
||
,ALG_VERDIEPING_CODE
|
||
,ALG_VERDIEPING_OMSCHRIJVING
|
||
)
|
||
values
|
||
(v_gebouw_key
|
||
,recVerdieping.ALG_VERDIEPING_VOLGNR
|
||
,DECODE (recVerdieping.verdiepingnummer, NULL, to_char(recVerdieping.ALG_VERDIEPING_VOLGNR), recVerdieping.verdiepingnummer)
|
||
,DECODE (recVerdieping.verdiepingnummer, NULL, 'Verdieping '||to_char(recVerdieping.ALG_VERDIEPING_VOLGNR), 'Verdieping '||to_char(recVerdieping.verdiepingnummer))
|
||
);
|
||
|
||
END IF;
|
||
|
||
commit;
|
||
|
||
v_count_update := v_count_update + 1;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR(SQLERRM, 1, 200);
|
||
v_errormsg := 'Fout tijdens verwerken verdieping ['||recVerdieping.ALG_LOCATIE_CODE||'-'||recVerdieping.ALG_GEBOUW_CODE||'-'||to_number(recVerdieping.ALG_VERDIEPING_VOLGNR)||']';
|
||
v_errorhint := v_errorhint||': ' || oracle_err_mes;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
commit;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Verdieping: verwerkte regels zonder foutmelding: '||to_char(v_count_update),
|
||
''
|
||
);
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Verdieping: verwerkte regels met foutmelding: '||to_char(v_count_tot-v_count_update),
|
||
''
|
||
);
|
||
END IF;
|
||
CLOSE cVerdieping;
|
||
|
||
-- Maak kenmerk5 nu maar weer leeg als deze gebruikt is voor bouwdelen.
|
||
IF v_bouwdeel > 0 THEN
|
||
UPDATE fac_imp_onrgoed2
|
||
SET alg_kenmerkwaarde5 = NULL
|
||
WHERE alg_kenmerkwaarde5 IS NOT NULL;
|
||
END IF;
|
||
|
||
-- *******************
|
||
-- ***RUIMTEFUNCTIE***
|
||
-- *******************
|
||
OPEN cSrtRuimte;
|
||
v_count_update := 0;
|
||
v_count_tot := 0;
|
||
IF cSrtRuimte%ISOPEN THEN
|
||
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
v_aanduiding := '';
|
||
|
||
FETCH cSrtRuimte INTO recSrtRuimte;
|
||
EXIT WHEN cSrtRuimte%NOTFOUND;
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := recSrtRuimte.ALG_SRTRUIMTE_OMSCHRIJVING||'| ';
|
||
|
||
v_errorhint := ' Fout bij toevoegen ruimtefunctie';
|
||
|
||
SELECT count(*)
|
||
INTO v_count
|
||
FROM alg_srtruimte
|
||
WHERE upper(alg_srtruimte_omschrijving) = upper(recSrtRuimte.ALG_SRTRUIMTE_OMSCHRIJVING)
|
||
AND alg_srtruimte_verwijder is null;
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
insert into ALG_SRTRUIMTE
|
||
(ALG_SRTRUIMTE_OMSCHRIJVING
|
||
)
|
||
values
|
||
(recSrtRuimte.ALG_SRTRUIMTE_OMSCHRIJVING
|
||
);
|
||
|
||
END IF;
|
||
|
||
commit;
|
||
|
||
v_count_update := v_count_update + 1;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR(SQLERRM, 1, 200);
|
||
v_errormsg := 'Fout tijdens verwerken ruimtefunctie ['||recSrtRuimte.ALG_SRTRUIMTE_OMSCHRIJVING||']';
|
||
v_errorhint := v_errorhint||': ' || oracle_err_mes;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
commit;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Ruimtefunctie: verwerkte regels zonder foutmelding: '||to_char(v_count_update),
|
||
''
|
||
);
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Ruimtefunctie: verwerkte regels met foutmelding: '||to_char(v_count_tot-v_count_update),
|
||
''
|
||
);
|
||
END IF;
|
||
CLOSE cSrtRuimte;
|
||
|
||
-- ************
|
||
-- ***RUIMTE***
|
||
-- ************
|
||
OPEN cRuimte;
|
||
v_count_update := 0;
|
||
v_count_tot := 0;
|
||
IF cRuimte%ISOPEN THEN
|
||
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
v_aanduiding := '';
|
||
v_ruimte_key := NULL;
|
||
|
||
FETCH cRuimte INTO recRuimte;
|
||
EXIT WHEN cRuimte%NOTFOUND;
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := recRuimte.ALG_LOCATIE_CODE||'|'||recRuimte.ALG_GEBOUW_CODE||'|'||recRuimte.ALG_VERDIEPING_VOLGNR||'|'||recRuimte.ALG_RUIMTE_NR||'| ';
|
||
|
||
v_errorhint := ' Fout bij bepalen locatie';
|
||
|
||
SELECT ALG_LOCATIE_KEY
|
||
INTO v_locatie_key
|
||
FROM ALG_LOCATIE
|
||
WHERE UPPER(ALG_LOCATIE_CODE) = UPPER(recRuimte.ALG_LOCATIE_CODE)
|
||
AND ALG_LOCATIE_verwijder is null;
|
||
|
||
v_errorhint := ' Fout bij bepalen gebouw';
|
||
|
||
SELECT ALG_GEBOUW_KEY
|
||
INTO v_gebouw_key
|
||
FROM ALG_GEBOUW
|
||
WHERE UPPER(ALG_GEBOUW_CODE) = UPPER(recRuimte.ALG_GEBOUW_CODE)
|
||
AND ALG_LOCATIE_KEY = v_locatie_key
|
||
AND ALG_GEBOUW_verwijder is null;
|
||
|
||
v_errorhint := ' Fout bij bepalen verdieping';
|
||
|
||
SELECT ALG_VERDIEPING_KEY
|
||
INTO v_verdieping_key
|
||
FROM ALG_VERDIEPING
|
||
WHERE ALG_GEBOUW_KEY = v_gebouw_key
|
||
AND ALG_VERDIEPING_VOLGNR = recRuimte.ALG_VERDIEPING_VOLGNR
|
||
AND ALG_VERDIEPING_verwijder is null;
|
||
|
||
v_errorhint := ' Fout bij bepalen ruimtefunctie'||' ['||recRuimte.alg_srtruimte_omschrijving||']';
|
||
|
||
SELECT ALG_SRTRUIMTE_KEY
|
||
INTO v_srtruimte_key
|
||
FROM ALG_SRTRUIMTE
|
||
WHERE upper(alg_srtruimte_omschrijving) = upper(recRuimte.ALG_SRTRUIMTE_OMSCHRIJVING)
|
||
AND ALG_SRTRUIMTE_verwijder is null;
|
||
|
||
SELECT count(*)
|
||
INTO v_count
|
||
FROM ALG_RUIMTE
|
||
WHERE ALG_VERDIEPING_KEY = v_verdieping_key
|
||
AND UPPER(ALG_RUIMTE_NR) = UPPER(recRuimte.ALG_RUIMTE_NR)
|
||
-- als ruimteomschrijving in sheet afwijkt geeft dit een onduidelijke error, dan liever
|
||
-- de omschrijving negeren en gewoon niet bijwerken
|
||
-- AND UPPER(ALG_RUIMTE_OMSCHRIJVING) = UPPER(recRuimte.ALG_RUIMTE_OMSCHRIJVING)
|
||
AND alg_ruimte_verwijder is null;
|
||
|
||
v_errorhint := ' Fout bij toevoegen ruimte';
|
||
|
||
IF v_count = 0 THEN
|
||
|
||
insert into ALG_RUIMTE
|
||
(ALG_VERDIEPING_KEY
|
||
,ALG_SRTRUIMTE_KEY
|
||
,ALG_RUIMTE_NR
|
||
,ALG_RUIMTE_OMSCHRIJVING
|
||
,ALG_RUIMTE_OPMERKING
|
||
,ALG_RUIMTE_BRUTO_VLOEROPP
|
||
)
|
||
values
|
||
(v_verdieping_key
|
||
,v_srtruimte_key
|
||
,recRuimte.ALG_RUIMTE_NR
|
||
,recRuimte.ALG_RUIMTE_OMSCHRIJVING
|
||
,''
|
||
,TO_NUMBER(recRuimte.ALG_RUIMTE_BRUTO_VLOEROPP)
|
||
)
|
||
RETURNING ALG_RUIMTE_KEY
|
||
INTO v_ruimte_key;
|
||
|
||
END IF;
|
||
|
||
commit;
|
||
|
||
v_count_update := v_count_update + 1;
|
||
|
||
-- Als de ruimte al bestaat, dan nog de key ophalen, zodat we 'm hieronder kunnen gebruiken.
|
||
IF (v_ruimte_key IS NULL)
|
||
THEN
|
||
v_errorhint := ' Fout bij bepalen ruimte';
|
||
|
||
SELECT ALG_RUIMTE_KEY
|
||
INTO v_ruimte_key
|
||
FROM ALG_RUIMTE
|
||
WHERE ALG_VERDIEPING_KEY = v_verdieping_key
|
||
AND UPPER(ALG_RUIMTE_NR) = UPPER(recRuimte.ALG_RUIMTE_NR)
|
||
AND alg_ruimte_verwijder is null;
|
||
END IF;
|
||
|
||
-- Als er vastgoedgegevens zijn gewijzigd bij een bestaande ruimte willen we deze wel bijwerken.
|
||
IF v_count = 1 THEN
|
||
|
||
UPDATE ALG_RUIMTE
|
||
SET ALG_RUIMTE_NR = recRuimte.ALG_RUIMTE_NR,
|
||
ALG_SRTRUIMTE_KEY = v_srtruimte_key,
|
||
ALG_RUIMTE_OMSCHRIJVING = recRuimte.ALG_RUIMTE_OMSCHRIJVING,
|
||
ALG_RUIMTE_BRUTO_VLOEROPP = TO_NUMBER(recRuimte.ALG_RUIMTE_BRUTO_VLOEROPP)
|
||
WHERE ALG_RUIMTE_KEY = v_ruimte_key;
|
||
|
||
END IF;
|
||
|
||
commit;
|
||
|
||
-- ********************
|
||
-- ***RUIMTEAFDELING***
|
||
-- ********************
|
||
-- AAES#25942: koppel afdeling(en) aan ruimte; <20><>n afdeling per regel, ruimte kan meerdere keren voorkomen.
|
||
IF (recRuimte.prs_afdeling_naam IS NOT NULL)
|
||
THEN
|
||
IF (recRuimte.prs_afdeling_key IS NULL)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding||' afdeling ['||recRuimte.prs_afdeling_naam||']',
|
||
'Afdeling niet gevonden'
|
||
);
|
||
ELSE
|
||
IF (recRuimte.prs_ruimteafdeling_bezetting IS NULL)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding||' afdeling ['||recRuimte.prs_afdeling_naam||']',
|
||
'Fout: afdeling gevuld, bezetting leeg!'
|
||
);
|
||
ELSIF (recRuimte.prs_ruimteafdeling_bezetting > 100 OR recRuimte.prs_ruimteafdeling_bezetting < 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding||' afdeling ['||recRuimte.prs_afdeling_naam||']',
|
||
'Ongeldige ruimtebezetting ['||TO_CHAR(recRuimte.prs_ruimteafdeling_bezetting)||'] verwacht 0 <= bezetting <= 100'
|
||
);
|
||
ELSE
|
||
BEGIN
|
||
SELECT COUNT(*), MAX(prs_ruimteafdeling_key)
|
||
INTO v_count, v_ruimteafdeling_key
|
||
FROM prs_ruimteafdeling
|
||
WHERE prs_ruimteafdeling_verwijder IS NULL
|
||
AND prs_afdeling_key = recRuimte.prs_afdeling_key
|
||
AND alg_ruimte_key = v_ruimte_key;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
v_errorhint := ' Fout bij toevoegen ruimtebezetting';
|
||
|
||
INSERT INTO prs_ruimteafdeling
|
||
(prs_afdeling_key
|
||
,alg_ruimte_key
|
||
,prs_ruimteafdeling_bezetting)
|
||
VALUES
|
||
(recRuimte.prs_afdeling_key
|
||
,v_ruimte_key
|
||
,recRuimte.prs_ruimteafdeling_bezetting
|
||
);
|
||
END IF;
|
||
|
||
IF (v_count = 1)
|
||
THEN
|
||
v_errorhint := ' Fout bij aanpassen ruimtebezetting';
|
||
|
||
UPDATE prs_ruimteafdeling
|
||
SET prs_ruimteafdeling_bezetting = recRuimte.prs_ruimteafdeling_bezetting
|
||
WHERE prs_ruimteafdeling_key = v_ruimteafdeling_key;
|
||
END IF;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR(SQLERRM, 1, 200);
|
||
v_errormsg := 'Fout tijdens verwerken ruimteafdeling ['||
|
||
recRuimte.ALG_LOCATIE_CODE||'-'||recRuimte.ALG_GEBOUW_CODE||'-'||recRuimte.ALG_VERDIEPING_VOLGNR||'-'||recRuimte.ALG_RUIMTE_NR
|
||
||'] / ['||recRuimte.PRS_AFDELING_NAAM||']';
|
||
v_errorhint := v_errorhint||': ' || oracle_err_mes;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
commit;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- *******************
|
||
-- ***FLEXKENMERKEN***
|
||
-- *******************
|
||
v_errorhint := ' Fout bij toevoegen/bijwerken flexkenmerken';
|
||
|
||
upsert_algkenmerk (v_ruimte_key, recRuimte.kenmerk_key1, recRuimte.waarde1);
|
||
upsert_algkenmerk (v_ruimte_key, recRuimte.kenmerk_key2, recRuimte.waarde2);
|
||
upsert_algkenmerk (v_ruimte_key, recRuimte.kenmerk_key3, recRuimte.waarde3);
|
||
upsert_algkenmerk (v_ruimte_key, recRuimte.kenmerk_key4, recRuimte.waarde4);
|
||
upsert_algkenmerk (v_ruimte_key, recRuimte.kenmerk_key5, recRuimte.waarde5);
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR(SQLERRM, 1, 200);
|
||
v_errormsg := 'Fout tijdens verwerken ruimte ['||recRuimte.ALG_LOCATIE_CODE||'-'||recRuimte.ALG_GEBOUW_CODE||'-'||recRuimte.ALG_VERDIEPING_VOLGNR||'-'||recRuimte.ALG_RUIMTE_NR||']';
|
||
v_errorhint := v_errorhint||': ' || oracle_err_mes;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
commit;
|
||
END;
|
||
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Ruimte: verwerkte regels zonder foutmelding: '||to_char(v_count_update),
|
||
''
|
||
);
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Ruimte: verwerkte regels met foutmelding: '||to_char(v_count_tot-v_count_update),
|
||
''
|
||
);
|
||
END IF;
|
||
CLOSE cRuimte;
|
||
|
||
-- ****************
|
||
-- ***OPSTELLING***
|
||
-- ****************
|
||
OPEN cOpstelling;
|
||
v_count_update := 0;
|
||
v_count_tot := 0;
|
||
IF cOpstelling%ISOPEN THEN
|
||
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
v_aanduiding := '';
|
||
|
||
FETCH cOpstelling INTO recOpstelling;
|
||
EXIT WHEN cOpstelling%NOTFOUND;
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := recOpstelling.RES_OPSTELLING_OMSCHRIJVING||'| ';
|
||
|
||
v_errorhint := ' Fout bij toevoegen opstelling';
|
||
|
||
select count(*)
|
||
into v_count
|
||
from RES_OPSTELLING
|
||
where RES_OPSTELLING_verwijder is null
|
||
and trim(RES_OPSTELLING_upper) = upper(trim(recOpstelling.RES_OPSTELLING_OMSCHRIJVING));
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
insert into RES_OPSTELLING
|
||
(RES_OPSTELLING_OMSCHRIJVING
|
||
)
|
||
values
|
||
(trim(recOpstelling.RES_OPSTELLING_OMSCHRIJVING)
|
||
);
|
||
|
||
END IF;
|
||
|
||
commit;
|
||
|
||
v_count_update := v_count_update + 1;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR(SQLERRM, 1, 200);
|
||
v_errormsg := 'Fout tijdens verwerken opstelling ['||recOpstelling.RES_OPSTELLING_OMSCHRIJVING||']';
|
||
v_errorhint := v_errorhint||': ' || oracle_err_mes;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
commit;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Opstelling: verwerkte regels zonder foutmelding: '||to_char(v_count_update),
|
||
''
|
||
);
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Opstelling: verwerkte regels met foutmelding: '||to_char(v_count_tot-v_count_update),
|
||
''
|
||
);
|
||
END IF;
|
||
CLOSE cOpstelling;
|
||
|
||
-- ***************
|
||
-- ***CATEGORIE***
|
||
-- ***************
|
||
OPEN cCategorie;
|
||
v_count_update := 0;
|
||
v_count_tot := 0;
|
||
IF cCategorie%ISOPEN THEN
|
||
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
v_aanduiding := '';
|
||
|
||
FETCH cCategorie INTO recCategorie;
|
||
EXIT WHEN cCategorie%NOTFOUND;
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := recCategorie.res_discipline_omschrijving||'| ';
|
||
|
||
v_errorhint := ' Fout bij toevoegen categorie';
|
||
|
||
select count(*)
|
||
into v_count
|
||
from ins_tab_discipline
|
||
where ins_discipline_verwijder is null
|
||
and ins_discipline_module='RES'
|
||
and upper(trim(ins_discipline_omschrijving)) = upper(trim(recCategorie.res_discipline_omschrijving));
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
INSERT INTO ins_tab_discipline
|
||
(ins_discipline_module
|
||
,ins_discipline_omschrijving
|
||
,ins_discipline_verwijder
|
||
,ins_discipline_min_level)
|
||
VALUES
|
||
('RES'
|
||
,trim(recCategorie.res_discipline_omschrijving)
|
||
,to_date(null)
|
||
,3)
|
||
RETURNING ins_discipline_key
|
||
INTO v_discipline_key;
|
||
|
||
INSERT INTO res_disc_params
|
||
(res_ins_discipline_key
|
||
,res_disc_params_expire_dagen)
|
||
VALUES
|
||
(v_discipline_key
|
||
,recCategorie.res_discipline_expire_dagen
|
||
);
|
||
|
||
END IF;
|
||
|
||
commit;
|
||
|
||
v_count_update := v_count_update + 1;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR(SQLERRM, 1, 200);
|
||
v_errormsg := 'Fout tijdens verwerken catalogus ['||recCategorie.res_discipline_omschrijving||']';
|
||
v_errorhint := v_errorhint||': ' || oracle_err_mes;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
commit;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Categorie: verwerkte regels zonder foutmelding: '||to_char(v_count_update),
|
||
''
|
||
);
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Categorie: verwerkte regels met foutmelding: '||to_char(v_count_tot-v_count_update),
|
||
''
|
||
);
|
||
END IF;
|
||
CLOSE cCategorie;
|
||
|
||
-- ***************
|
||
-- ***RESRUIMTE***
|
||
-- ***************
|
||
OPEN cResRuimte;
|
||
v_count_update := 0;
|
||
v_count_tot := 0;
|
||
IF cResRuimte%ISOPEN THEN
|
||
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
v_aanduiding := '';
|
||
|
||
FETCH cResRuimte INTO recResRuimte;
|
||
EXIT WHEN cResRuimte%NOTFOUND;
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := recResRuimte.ALG_LOCATIE_CODE||'|'||recResRuimte.ALG_GEBOUW_CODE||'|'||recResRuimte.ALG_VERDIEPING_VOLGNR||'|'||recResRuimte.ALG_RUIMTE_NR||'| ';
|
||
|
||
v_errorhint := ' Fout bij bepalen locatie';
|
||
|
||
SELECT ALG_LOCATIE_KEY
|
||
INTO v_locatie_key
|
||
FROM ALG_LOCATIE
|
||
WHERE UPPER(ALG_LOCATIE_CODE) = UPPER(recResRuimte.ALG_LOCATIE_CODE)
|
||
AND alg_locatie_verwijder is null;
|
||
|
||
v_errorhint := ' Fout bij bepalen gebouw';
|
||
|
||
SELECT ALG_GEBOUW_KEY
|
||
INTO v_gebouw_key
|
||
FROM ALG_GEBOUW
|
||
WHERE UPPER(ALG_GEBOUW_CODE) = UPPER(recResRuimte.ALG_GEBOUW_CODE)
|
||
AND ALG_LOCATIE_KEY = v_locatie_key
|
||
AND alg_gebouw_verwijder is null;
|
||
|
||
v_errorhint := ' Fout bij bepalen verdieping';
|
||
|
||
SELECT ALG_VERDIEPING_KEY, ALG_VERDIEPING_VOLGNR
|
||
INTO v_verdieping_key, v_verdieping_volgnr
|
||
FROM ALG_VERDIEPING
|
||
WHERE ALG_GEBOUW_KEY = v_gebouw_key
|
||
AND ALG_VERDIEPING_VOLGNR = recResRuimte.ALG_VERDIEPING_VOLGNR;
|
||
|
||
v_errorhint := ' Fout bij bepalen ruimte';
|
||
|
||
SELECT ALG_RUIMTE_KEY
|
||
INTO v_ruimte_key
|
||
FROM ALG_V_AANWEZIGRUIMTE
|
||
WHERE ALG_VERDIEPING_KEY = v_verdieping_key
|
||
AND ALG_RUIMTE_UPPER_NR = UPPER(recResRuimte.ALG_RUIMTE_NR);
|
||
|
||
v_errorhint := ' Fout bij bepalen catalogus ['||recResRuimte.res_discipline_omschrijving||']';
|
||
|
||
SELECT ins_discipline_key
|
||
INTO v_discipline_key
|
||
FROM RES_V_RES_CATALOGUS
|
||
WHERE ins_discipline_verwijder IS NULL
|
||
AND ins_discipline_min_level = 3
|
||
AND upper(trim(ins_discipline_omschrijving)) = upper(trim(recResRuimte.res_discipline_omschrijving));
|
||
|
||
v_errorhint := ' Fout bij bepalen opstelling ['||recResRuimte.RES_OPSTELLING_OMSCHRIJVING||']';
|
||
|
||
SELECT RES_OPSTELLING_KEY
|
||
INTO v_opstelling_key
|
||
FROM RES_OPSTELLING
|
||
WHERE UPPER(trim(RES_OPSTELLING_OMSCHRIJVING)) = UPPER(trim(recResRuimte.RES_OPSTELLING_OMSCHRIJVING))
|
||
AND RES_OPSTELLING_verwijder is null;
|
||
|
||
v_errorhint := ' Fout bij samenstellen ruimte-omschrijving';
|
||
|
||
IF (recResRuimte.RES_RUIMTE_NR IS NULL) THEN
|
||
v_ruimte_omschrijving := SUBSTR( recResRuimte.ALG_LOCATIE_CODE || '-' || recResRuimte.ALG_GEBOUW_CODE || '-' || TO_CHAR(recResRuimte.ALG_VERDIEPING_VOLGNR) || '-' || recResRuimte.ALG_RUIMTE_NR,1,40);
|
||
ELSE
|
||
v_ruimte_omschrijving := recResRuimte.RES_RUIMTE_NR;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bij bepalen reserveerbare ruimte';
|
||
|
||
SELECT count(*)
|
||
INTO v_count
|
||
FROM RES_RUIMTE
|
||
WHERE RES_RUIMTE_UPPER = upper(v_ruimte_omschrijving)
|
||
AND res_ruimte_verwijder is null;
|
||
|
||
IF v_count = 0 THEN
|
||
|
||
v_errorhint := 'Fout bij toevoegen reserveerbare ruimte';
|
||
|
||
INSERT INTO RES_RUIMTE
|
||
(RES_RUIMTE_NR
|
||
,RES_RUIMTE_UPPER
|
||
,RES_RUIMTE_PRIJS
|
||
,RES_RUIMTE_OMSCHRIJVING
|
||
,RES_DISCIPLINE_KEY
|
||
)
|
||
VALUES
|
||
(v_ruimte_omschrijving
|
||
,upper(v_ruimte_omschrijving)
|
||
,recResRuimte.RES_RUIMTE_PRIJS
|
||
,recResRuimte.RES_RUIMTE_OMSCHRIJVING
|
||
,v_discipline_key
|
||
)
|
||
RETURNING RES_RUIMTE_KEY
|
||
INTO v_res_ruimte_key;
|
||
|
||
v_errorhint := 'Fout bij koppelen ruimte en reserveerbare ruimte';
|
||
|
||
insert into RES_ALG_RUIMTE
|
||
(RES_RUIMTE_KEY
|
||
,ALG_RUIMTE_KEY
|
||
)
|
||
values
|
||
(v_res_ruimte_key
|
||
,v_ruimte_key
|
||
);
|
||
|
||
ELSE
|
||
|
||
SELECT RES_RUIMTE_KEY
|
||
INTO v_res_ruimte_key
|
||
FROM RES_RUIMTE
|
||
WHERE RES_RUIMTE_UPPER = upper(v_ruimte_omschrijving)
|
||
AND res_ruimte_verwijder IS NULL;
|
||
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bij koppelen opstelling en reserveerbare ruimte';
|
||
|
||
insert into RES_RUIMTE_OPSTELLING
|
||
(RES_RUIMTE_KEY
|
||
,RES_OPSTELLING_KEY
|
||
,RES_RUIMTE_OPSTEL_BEZOEKERS
|
||
)
|
||
values
|
||
(v_res_ruimte_key
|
||
,v_opstelling_key
|
||
,NVL(recResRuimte.RES_RUIMTE_OPSTEL_BEZOEKERS, 0)
|
||
);
|
||
|
||
commit;
|
||
|
||
v_count_update := v_count_update + 1;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR(SQLERRM, 1, 200);
|
||
v_errormsg := 'Reserveerbare ruimte ['||recResRuimte.RES_RUIMTE_OMSCHRIJVING||']';
|
||
v_errorhint := v_errorhint||': ' || oracle_err_mes;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
commit;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Res. ruimte: verwerkte regels zonder foutmelding: '||to_char(v_count_update),
|
||
''
|
||
);
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Res. ruimte: verwerkte regels met foutmelding: '||to_char(v_count_tot-v_count_update),
|
||
''
|
||
);
|
||
END IF;
|
||
CLOSE cResRuimte;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Fout tijdens importeren van onroerend goed (verdieping en ruimte) ',
|
||
''
|
||
);
|
||
END fmhn_update_ruimten;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_import_log
|
||
(
|
||
fclt_f_applicatie,
|
||
datum,
|
||
fclt_f_status,
|
||
omschrijving,
|
||
hint
|
||
)
|
||
AS
|
||
SELECT COALESCE (fac_import_app_code, imp_log_applicatie),
|
||
TO_CHAR (imp_log_datum, 'dd-mm-yyyy hh24:mi'),
|
||
imp_log_status,
|
||
imp_log_omschrijving,
|
||
imp_log_hint
|
||
FROM imp_log il1, fac_import fi1, fac_import_app fia1
|
||
WHERE il1.fac_import_key = fi1.fac_import_key(+)
|
||
AND fi1.fac_import_app_key = fia1.fac_import_app_key(+)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM imp_log il2, fac_import fi2
|
||
WHERE il2.fac_import_key = fi2.fac_import_key
|
||
AND fi2.fac_import_app_key = fi1.fac_import_app_key
|
||
AND il2.fac_import_key > il1.fac_import_key);
|
||
/*
|
||
CREATE TABLE fmhn_imp_bez
|
||
(
|
||
reservering_id VARCHAR2 (30),
|
||
afspraak_key NUMBER (10),
|
||
locatiecode VARCHAR2 (10),
|
||
gebouwcode VARCHAR2 (12),
|
||
verdiepingcode VARCHAR2 (10),
|
||
ruimtenr VARCHAR2 (14),
|
||
datum DATE,
|
||
van DATE,
|
||
tot DATE,
|
||
contactpersoon VARCHAR2 (50),
|
||
naam VARCHAR2 (30),
|
||
bedrijf VARCHAR2 (60),
|
||
parkeerplaats VARCHAR2 (1),
|
||
actie VARCHAR2 (60),
|
||
telefoon VARCHAR2 (20),
|
||
email VARCHAR2 (200),
|
||
kenteken VARCHAR2 (10)
|
||
);
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_import_bez (p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- 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_reservering_id VARCHAR2 (255); -- C/res_reservering_key+'/'+res_rsv_ruimte_volgnr
|
||
v_afspraak_id VARCHAR2 (255); -- N10/bez_afspraak_key
|
||
v_locatiecode VARCHAR2 (255); -- C10/alg_locatie_code
|
||
--TODO:
|
||
--v_gebouwcode VARCHAR2 (255); -- C12/alg_gebouw_code
|
||
--v_verdiepingcode VARCHAR2 (255); -- C10/alg_verdieping_code
|
||
--v_ruimtenr VARCHAR2 (255); -- C14/alg_ruimte_nr
|
||
v_datum VARCHAR2 (255); -- D/bez_afspraak_datum
|
||
v_van VARCHAR2 (255); -- D/bez_afspraak_datum
|
||
v_van_d DATE;
|
||
v_tot VARCHAR2 (255); -- D/bez_afspraak_eind
|
||
v_tot_d DATE;
|
||
v_contactpersoon VARCHAR2 (255); -- C50/bez_afspraak_gastheer
|
||
v_naam VARCHAR2 (255); -- C30/bez_afspraak_naam
|
||
v_bedrijf VARCHAR2 (255); -- C60/bez_afspraak_bedrijf
|
||
v_p VARCHAR2 (255); -- C/J(a) of N(ee)=>res_rsv_deel
|
||
v_actie VARCHAR2 (255); -- C/Ophalen of Doorlopen=>bez_kenmerkwaarde_waarde
|
||
v_telefoon VARCHAR2 (255); -- C20/bez_bezoekers_telefoon
|
||
v_email VARCHAR2 (255); -- C200/bez_bezoekers_email
|
||
v_kenteken VARCHAR2 (255); -- C10/bez_bezoekers_kenteken
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE FROM fmhn_imp_bez;
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
header_is_valid := 0; -- Geen header, dus altijd valid!
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout opvragen importregel';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
-- Lees alle veldwaarden
|
||
-- ReserveringId;AfspraakId;Locatiecode;Datum;Van;Tot;Contactpersoon;Naam;Bedrijf;P;Actie;Telefoon;Email;Kenteken
|
||
fac.imp_getfield (v_newline, c_delim, v_reservering_id);
|
||
fac.imp_getfield (v_newline, c_delim, v_afspraak_id);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatiecode);
|
||
--fac.imp_getfield (v_newline, c_delim, v_gebouwcode);
|
||
--fac.imp_getfield (v_newline, c_delim, v_verdiepingcode);
|
||
--fac.imp_getfield (v_newline, c_delim, v_ruimtenr);
|
||
fac.imp_getfield (v_newline, c_delim, v_datum);
|
||
fac.imp_getfield (v_newline, c_delim, v_van);
|
||
fac.imp_getfield (v_newline, c_delim, v_tot);
|
||
fac.imp_getfield (v_newline, c_delim, v_contactpersoon);
|
||
fac.imp_getfield (v_newline, c_delim, v_naam);
|
||
fac.imp_getfield (v_newline, c_delim, v_bedrijf);
|
||
fac.imp_getfield (v_newline, c_delim, v_p);
|
||
fac.imp_getfield (v_newline, c_delim, v_actie);
|
||
fac.imp_getfield (v_newline, c_delim, v_telefoon);
|
||
fac.imp_getfield (v_newline, c_delim, v_email);
|
||
fac.imp_getfield (v_newline, c_delim, v_kenteken);
|
||
v_aanduiding :=
|
||
'['
|
||
|| TRIM (v_reservering_id)
|
||
|| '|'
|
||
|| TRIM (v_afspraak_id)
|
||
|| '|'
|
||
|| TRIM (v_locatiecode)
|
||
|| '|'
|
||
|| TRIM (v_datum) || ' ' || TRIM (v_van) || '-' || TRIM (v_tot)
|
||
|| '|'
|
||
|| TRIM (v_contactpersoon)
|
||
|| '|'
|
||
|| TRIM (v_naam)
|
||
|| '|'
|
||
|| TRIM (v_bedrijf)
|
||
|| '] ';
|
||
|
||
-- 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 (TRIM (v_reservering_id)) = 'RESERVERINGID'
|
||
AND UPPER (TRIM (v_afspraak_id)) = 'AFSPRAAKID'
|
||
AND UPPER (TRIM (v_locatiecode)) = 'LOCATIECODE'
|
||
--AND UPPER (TRIM (v_gebouwcode)) = 'GEBOUWCODE'
|
||
--AND UPPER (TRIM (v_verdiepingcode)) = 'VERDIEPINGCODE'
|
||
--AND UPPER (TRIM (v_ruimtenr)) = 'RUIMTENR'
|
||
AND UPPER (TRIM (v_datum)) = 'DATUM'
|
||
AND UPPER (TRIM (v_van)) = 'VAN'
|
||
AND UPPER (TRIM (v_tot)) = 'TOT'
|
||
AND UPPER (TRIM (v_contactpersoon)) = 'CONTACTPERSOON'
|
||
AND UPPER (TRIM (v_naam)) = 'NAAM'
|
||
AND UPPER (TRIM (v_bedrijf)) = 'BEDRIJF'
|
||
AND UPPER (TRIM (v_p)) = 'P'
|
||
AND UPPER (TRIM (v_actie)) = 'ACTIE'
|
||
AND UPPER (TRIM (v_telefoon)) = 'TELEFOON'
|
||
AND UPPER (TRIM (v_email)) = 'EMAIL'
|
||
AND UPPER (TRIM (v_kenteken)) = 'KENTEKEN'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errormsg := 'ReserveringId ongeldig; formaat niet <numeriek>/<numeriek>';
|
||
v_reservering_id := TRIM (v_reservering_id);
|
||
|
||
IF v_reservering_id IS NOT NULL
|
||
AND (fac.safe_to_number (SUBSTR (v_reservering_id, 1, INSTR (v_reservering_id, '/') - 1)) IS NULL
|
||
OR fac.safe_to_number (SUBSTR (v_reservering_id, INSTR (v_reservering_id, '/') + 1)) IS NULL)
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'AfspraakId ongeldig; formaat niet <numeriek>';
|
||
v_afspraak_id := TRIM (v_afspraak_id);
|
||
|
||
IF v_afspraak_id IS NOT NULL AND fac.safe_to_number (v_afspraak_id) IS NULL
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Locatiecode ongeldig; ongedefinieerd of te lang';
|
||
v_locatiecode := TRIM (v_locatiecode);
|
||
|
||
IF COALESCE (v_reservering_id, v_afspraak_id) IS NULL
|
||
THEN
|
||
IF v_locatiecode IS NOT NULL AND LENGTH (v_locatiecode) > 10
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!');
|
||
END IF;
|
||
ELSE
|
||
IF v_locatiecode IS NOT NULL
|
||
THEN
|
||
v_locatiecode := NULL;
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Locatiecode wordt genegeerd!');
|
||
END IF;
|
||
END IF;
|
||
|
||
-- TODO:Gebouwcode/Verdiepingcode/Ruimtenr!
|
||
|
||
-- TODO:Controle op binnen openingstijden?
|
||
v_errormsg := 'Datum/van ongeldig; ongedefinieerd';
|
||
v_datum := TRIM (v_datum);
|
||
v_van := TRIM (v_van);
|
||
v_van_d := fac.safe_to_date (v_datum || ' ' || SUBSTR ('0' || v_van, -5), 'dd-mm-yyyy hh24:mi');
|
||
|
||
IF COALESCE (v_reservering_id, v_afspraak_id) IS NULL
|
||
THEN
|
||
IF v_van_d IS NULL
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!');
|
||
END IF;
|
||
ELSE
|
||
IF v_datum IS NOT NULL OR v_van IS NOT NULL
|
||
THEN
|
||
v_van_d := NULL;
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Datum/van wordt genegeerd!');
|
||
END IF;
|
||
END IF;
|
||
|
||
-- TODO:Controle op binnen openingstijden?
|
||
v_errormsg := 'Datum/tot ongeldig; ongedefinieerd of voor van-tijdstip';
|
||
v_datum := TRIM (v_datum);
|
||
v_tot := TRIM (v_tot);
|
||
v_tot_d := fac.safe_to_date (v_datum || ' ' || SUBSTR ('0' || v_tot, -5), 'dd-mm-yyyy hh24:mi');
|
||
|
||
IF COALESCE (v_reservering_id, v_afspraak_id) IS NULL
|
||
THEN
|
||
IF v_tot_d IS NULL OR v_tot_d < v_van_d
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!');
|
||
END IF;
|
||
ELSE
|
||
IF v_datum IS NOT NULL OR v_tot IS NOT NULL
|
||
THEN
|
||
v_tot_d := NULL;
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Datum/tot wordt genegeerd!');
|
||
END IF;
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Contactpersoon ongeldig; ongedefinieerd of te lang';
|
||
v_contactpersoon := TRIM (v_contactpersoon);
|
||
|
||
IF COALESCE (v_reservering_id, v_afspraak_id) IS NULL
|
||
THEN
|
||
IF v_contactpersoon IS NULL
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!');
|
||
ELSIF LENGTH (v_contactpersoon) > 50
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Contactpersoon wordt afgekapt!');
|
||
END IF;
|
||
ELSE
|
||
IF v_contactpersoon IS NOT NULL
|
||
THEN
|
||
v_contactpersoon := NULL;
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Contactpersoon wordt genegeerd!');
|
||
END IF;
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Naam ongeldig; ongedefinieerd of te lang';
|
||
v_naam := TRIM (v_naam);
|
||
|
||
IF v_naam IS NULL OR LENGTH (v_naam) > 30
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding || v_errormsg, 'Naam wordt afgekapt!');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Bedrijf ongeldig; ongedefinieerd of te lang';
|
||
v_bedrijf := TRIM (v_bedrijf);
|
||
|
||
IF v_bedrijf IS NULL OR LENGTH (v_bedrijf) > 60
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding || v_errormsg, 'Bedrijf wordt afgekapt!');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'P ongeldig; formaat niet J(a) of N(ee)';
|
||
v_p := TRIM (v_p);
|
||
|
||
IF v_p IS NOT NULL AND NOT (UPPER (v_p) = 'J' OR UPPER (v_p) = 'N' OR UPPER (v_p) = 'JA' OR UPPER (v_p) = 'NEE')
|
||
THEN
|
||
--v_p := 'N';
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding || v_errormsg, v_p || ' Bezoeker krijgt geen parkeerplaats!');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Actie ongeldig; formaat niet Ophalen of Doorlopen';
|
||
v_actie := TRIM (v_actie);
|
||
|
||
IF v_actie IS NOT NULL AND NOT (UPPER (v_actie) = 'OPHALEN' OR UPPER (v_actie) = 'DOORLOPEN')
|
||
THEN
|
||
--v_actie := 'Ophalen';
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding || v_errormsg, v_actie || ' Bezoeker wordt opgehaald!');
|
||
END IF;
|
||
|
||
-- TODO:Telefooon/Email/Kenteken!
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout wegschrijven importregel';
|
||
|
||
INSERT INTO fmhn_imp_bez (reservering_id,
|
||
afspraak_key,
|
||
locatiecode,
|
||
datum,
|
||
van,
|
||
tot,
|
||
contactpersoon,
|
||
naam,
|
||
bedrijf,
|
||
parkeerplaats,
|
||
actie,
|
||
telefoon,
|
||
email,
|
||
kenteken)
|
||
VALUES (v_reservering_id,
|
||
fac.safe_to_number (v_afspraak_id),
|
||
v_locatiecode,
|
||
v_van_d,
|
||
v_van_d,
|
||
v_tot_d,
|
||
SUBSTR (v_contactpersoon, 1, 50),
|
||
SUBSTR (v_naam, 1, 30),
|
||
SUBSTR (v_bedrijf, 1, 60),
|
||
SUBSTR (v_p, 1, 1),
|
||
v_actie,
|
||
NULL,
|
||
NULL,
|
||
NULL);
|
||
|
||
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, 'W', 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', 'Bezoekers/#ingelezen importregels: ' || TO_CHAR (v_count_tot), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Bezoekers/#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, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Inleesproces bezoekers afgebroken!');
|
||
END fmhn_import_bez;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_update_bez (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000) := '-';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_importeur_key NUMBER (10);
|
||
v_actie_key_def NUMBER (10);
|
||
v_actie_key_all NUMBER (10);
|
||
v_prev_rsv_ruimte_key NUMBER (10);
|
||
v_prev_afspraak_key NUMBER (10);
|
||
v_prev_locatie_key NUMBER (10);
|
||
v_prev_datum_van DATE;
|
||
v_prev_datum_tot DATE;
|
||
v_prev_contactpersoon VARCHAR2 (50);
|
||
v_cur_afspraak_key NUMBER (10);
|
||
v_cur_bezoekers_key NUMBER (10);
|
||
v_cur_deel_key NUMBER (10);
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_new NUMBER (10) := 0;
|
||
v_count NUMBER (10);
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT i.reservering_id,
|
||
COALESCE (rrr.res_rsv_ruimte_key, -1) res_rsv_ruimte_key,
|
||
i.afspraak_key,
|
||
COALESCE (a.bez_afspraak_key, -1) bez_afspraak_key,
|
||
i.locatiecode,
|
||
COALESCE (rrr.alg_locatie_key, a.alg_locatie_key, l.alg_locatie_key, -1) alg_locatie_key,
|
||
COALESCE (rrr.res_rsv_ruimte_van, a.bez_afspraak_datum, i.van) van,
|
||
COALESCE (rrr.res_rsv_ruimte_tot, a.bez_afspraak_eind, i.tot) tot,
|
||
COALESCE (rph.prs_perslid_naam_friendly, aph.prs_perslid_naam_friendly, i.contactpersoon) contactpersoon,
|
||
i.bedrijf, i.naam, i.parkeerplaats, i.actie,
|
||
COALESCE (rrr.res_rsv_ruimte_host_key, a.bez_afspraak_host_key) host_key,
|
||
COALESCE (rrr.res_rsv_ruimte_contact_key, a.bez_afspraak_contact_key) contact_key
|
||
FROM (SELECT * FROM fmhn_imp_bez) i
|
||
LEFT JOIN (SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_host_key,
|
||
rrr.res_rsv_ruimte_contact_key,
|
||
aog.alg_locatie_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( 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) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key) rrr
|
||
ON i.reservering_id = TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr)
|
||
LEFT JOIN prs_v_perslid_fullnames_all rph
|
||
ON rrr.res_rsv_ruimte_host_key = rph.prs_perslid_key
|
||
LEFT JOIN bez_afspraak a
|
||
ON i.afspraak_key = a.bez_afspraak_key
|
||
LEFT JOIN prs_v_perslid_fullnames_all aph
|
||
ON a.bez_afspraak_host_key = aph.prs_perslid_key
|
||
LEFT JOIN alg_v_aanweziglocatie l
|
||
ON UPPER (i.locatiecode) = UPPER (l.alg_locatie_code)
|
||
ORDER BY 1, 3, 5, 7, 8, 9, 10, 11;
|
||
BEGIN
|
||
v_errormsg := 'Fout bepalen importeur';
|
||
SELECT prs_perslid_key
|
||
INTO v_importeur_key
|
||
FROM fac_import
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
v_errormsg := 'Fout bepalen actie';
|
||
SELECT MAX (DECODE (bez_actie_default, 1, bez_actie_key, -1)),
|
||
MAX (DECODE (COALESCE (bez_actie_default, 0), 0, bez_actie_key, -1))
|
||
INTO v_actie_key_def,
|
||
v_actie_key_all
|
||
FROM bez_actie
|
||
WHERE bez_actie_verwijder IS NULL
|
||
AND bez_actie_flags = 0;
|
||
|
||
v_prev_rsv_ruimte_key := -1;
|
||
v_prev_afspraak_key := -1;
|
||
v_prev_locatie_key := -1;
|
||
v_prev_datum_van := TRUNC (SYSDATE);
|
||
v_prev_datum_tot := TRUNC (SYSDATE);
|
||
v_prev_contactpersoon := '';
|
||
v_cur_afspraak_key := -1;
|
||
v_cur_bezoekers_key := -1;
|
||
v_cur_deel_key := -1;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
'['
|
||
|| TO_CHAR (rec.res_rsv_ruimte_key)
|
||
|| '|'
|
||
|| TO_CHAR (rec.bez_afspraak_key)
|
||
|| '|'
|
||
|| TO_CHAR (rec.alg_locatie_key)
|
||
|| '|'
|
||
|| TO_CHAR (rec.van, 'dd-mm-yyyy hh24:mi') || '-' || TO_CHAR (rec.tot, 'hh24:mi')
|
||
|| '|'
|
||
|| rec.contactpersoon
|
||
|| '|'
|
||
|| rec.bedrijf
|
||
|| '|'
|
||
|| rec.naam
|
||
|| '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- TODO:Autorisaties strakker controleren?
|
||
v_errormsg := 'Fout bepalen autorisatie';
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM (SELECT *
|
||
FROM fac_gebruikersgroep gg
|
||
WHERE gg.prs_perslid_key = 10321 -- Simone=28142
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM fac_groeprechten
|
||
WHERE fac_functie_key = 15 -- BEZUSE
|
||
AND fac_groep_key = gg.fac_groep_key)
|
||
AND (gg.prs_perslid_key = COALESCE (rec.contact_key, v_importeur_key) -- Importeur = contact!
|
||
OR EXISTS -- Importeur zit in een VERVANGER-groep met contact voor betreffende afspraak!
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep gg2, fac_groep g2
|
||
WHERE gg2.prs_perslid_key = rec.contact_key -- Saskia=10321
|
||
AND gg2.fac_groep_key = g2.fac_groep_key
|
||
AND g2.fac_groep_collega = 1
|
||
AND g2.fac_groep_key = gg.fac_groep_key))
|
||
UNION ALL
|
||
SELECT *
|
||
FROM fac_gebruikersgroep gg
|
||
WHERE gg.prs_perslid_key = v_importeur_key -- Simone=28142
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM fac_groeprechten
|
||
WHERE fac_functie_key = 321 -- BEZFOF
|
||
AND fac_gebruiker_prs_level_write < 9
|
||
AND fac_gebruiker_alg_level_write < 9
|
||
AND fac_groep_key = gg.fac_groep_key));
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || 'Niet geautoriseerd om deze bezoeker aan te melden', '');
|
||
ELSIF rec.van < SYSDATE
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || 'Bezoek aanmelden terug in de tijd niet toegestaan', '');
|
||
ELSIF rec.reservering_id IS NOT NULL AND rec.res_rsv_ruimte_key = -1
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || 'Fout bepalen bestaande reservering', '');
|
||
ELSIF rec.afspraak_key IS NOT NULL AND rec.bez_afspraak_key = -1
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || 'Fout bepalen bestaande afspraak', '');
|
||
ELSIF rec.locatiecode IS NOT NULL AND rec.alg_locatie_key = -1
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || 'Fout bepalen locatie nieuwe afspraak', '');
|
||
ELSIF v_prev_rsv_ruimte_key != rec.res_rsv_ruimte_key
|
||
OR v_prev_afspraak_key != rec.bez_afspraak_key
|
||
OR v_prev_locatie_key != rec.alg_locatie_key
|
||
OR v_prev_datum_van != rec.van
|
||
OR v_prev_datum_tot != rec.tot
|
||
OR UPPER (v_prev_contactpersoon) != UPPER (rec.contactpersoon)
|
||
THEN
|
||
v_errormsg := 'Fout bepalen bestaande/nieuwe afspraak';
|
||
IF rec.res_rsv_ruimte_key != -1 -- Bestaande reservering
|
||
THEN
|
||
v_prev_rsv_ruimte_key := rec.res_rsv_ruimte_key;
|
||
v_prev_afspraak_key := -1;
|
||
|
||
-- Bepalen bestaande/nieuwe afspraak bij bestaande reservering!
|
||
SELECT COUNT (*)
|
||
INTO v_count
|
||
FROM bez_afspraak
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
-- Toevoegen afspraak bij reservering!
|
||
v_errormsg := 'Fout toevoegen afspraak bij reservering';
|
||
INSERT INTO bez_afspraak (prs_perslid_key,
|
||
bez_afspraak_datum,
|
||
bez_actie_key,
|
||
bez_afspraak_ruimte,
|
||
bez_afspraak_opmerking,
|
||
bez_afspraak_eind,
|
||
bez_afspraak_gastheer,
|
||
bez_afspraak_telefoonnr,
|
||
alg_locatie_key,
|
||
res_rsv_ruimte_key,
|
||
alg_onrgoed_keys,
|
||
bez_afspraak_host_key,
|
||
bez_afspraak_contact_key)
|
||
VALUES (NULL,
|
||
rec.van,
|
||
COALESCE (v_actie_key_def, v_actie_key_all),
|
||
NULL,
|
||
NULL, -- Opmerking
|
||
rec.tot,
|
||
rec.contactpersoon,
|
||
NULL, -- Telefoon
|
||
rec.alg_locatie_key,
|
||
rec.res_rsv_ruimte_key,
|
||
NULL,
|
||
rec.host_key,
|
||
rec.contact_key)
|
||
RETURNING bez_afspraak_key
|
||
INTO v_cur_afspraak_key;
|
||
|
||
fac.trackaction ('BEZMUT', v_cur_afspraak_key, v_importeur_key, NULL, '');
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding || 'Afspraak ' || TO_CHAR (v_cur_afspraak_key) || ' aangemaakt', '');
|
||
ELSE
|
||
SELECT bez_afspraak_key
|
||
INTO v_cur_afspraak_key
|
||
FROM bez_afspraak
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
END IF;
|
||
ELSIF rec.bez_afspraak_key != -1 -- Bestaande losse afspraak
|
||
THEN
|
||
v_prev_rsv_ruimte_key := -1;
|
||
v_prev_afspraak_key := rec.bez_afspraak_key;
|
||
|
||
v_cur_afspraak_key := rec.bez_afspraak_key;
|
||
ELSE -- Nieuwe losse afspraak
|
||
v_prev_rsv_ruimte_key := -1;
|
||
v_prev_afspraak_key := -1;
|
||
|
||
-- Toevoegen losse afspraak!
|
||
v_errormsg := 'Fout toevoegen losse afspraak';
|
||
INSERT INTO bez_afspraak (prs_perslid_key,
|
||
bez_afspraak_datum,
|
||
bez_actie_key,
|
||
bez_afspraak_ruimte,
|
||
bez_afspraak_opmerking,
|
||
bez_afspraak_eind,
|
||
bez_afspraak_gastheer,
|
||
bez_afspraak_telefoonnr,
|
||
alg_locatie_key,
|
||
res_rsv_ruimte_key,
|
||
alg_onrgoed_keys,
|
||
bez_afspraak_host_key,
|
||
bez_afspraak_contact_key)
|
||
VALUES (v_importeur_key,
|
||
rec.van,
|
||
COALESCE (v_actie_key_def, v_actie_key_all),
|
||
NULL,
|
||
NULL, -- Opmerking
|
||
rec.tot,
|
||
rec.contactpersoon, -- TODO:Bij huidige BEZ-settings genegeerd en geldt host=importeur!
|
||
NULL, -- Telefoon
|
||
rec.alg_locatie_key,
|
||
NULL,
|
||
NULL,
|
||
v_importeur_key,
|
||
v_importeur_key)
|
||
RETURNING bez_afspraak_key
|
||
INTO v_cur_afspraak_key;
|
||
|
||
fac.trackaction ('BEZMUT', v_cur_afspraak_key, v_importeur_key, NULL, '');
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding || 'Afspraak ' || TO_CHAR (v_cur_afspraak_key) || ' aangemaakt', '');
|
||
END IF;
|
||
|
||
v_prev_locatie_key := rec.alg_locatie_key;
|
||
v_prev_datum_van := rec.van;
|
||
v_prev_datum_tot := rec.tot;
|
||
v_prev_contactpersoon := rec.contactpersoon;
|
||
|
||
-- Verwijderen huidige bezoeker(s) inclusief kenmerken/parkeerplaatsen!
|
||
v_errormsg := 'Fout verwijderen bezoeker(s)';
|
||
DELETE FROM bez_kenmerkwaarde bk
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM bez_bezoekers
|
||
WHERE bez_afspraak_key = v_cur_afspraak_key
|
||
AND bez_bezoekers_key = bk.bez_bezoekers_key);
|
||
DELETE FROM res_rsv_deel rrd
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM bez_bezoekers
|
||
WHERE bez_afspraak_key = v_cur_afspraak_key
|
||
AND bez_bezoekers_key = rrd.bez_bezoekers_key);
|
||
DELETE FROM bez_bezoekers WHERE bez_afspraak_key = v_cur_afspraak_key;
|
||
|
||
SELECT MIN (rd.res_deel_key)
|
||
INTO v_cur_deel_key
|
||
FROM res_deel rd, ins_deel d
|
||
WHERE rd.res_deel_verwijder IS NULL
|
||
AND rd.res_discipline_key = 781 -- TODO:Minder hard-coded!
|
||
AND rd.res_ins_deel_key = d.ins_deel_key
|
||
AND d.ins_alg_locatie_key = rec.alg_locatie_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE res_deel_key = rd.res_deel_key
|
||
AND res_rsv_deel_van <= rec.tot
|
||
AND res_rsv_deel_tot >= rec.van);
|
||
|
||
-- Toevoegen eerste bezoeker!
|
||
v_errormsg := 'Fout toevoegen eerste bezoeker';
|
||
INSERT INTO bez_bezoekers (bez_afspraak_key, bez_afspraak_naam, bez_afspraak_bedrijf, bez_afspraak_opmerking)
|
||
VALUES (v_cur_afspraak_key, rec.naam, rec.bedrijf, NULL)
|
||
RETURNING bez_bezoekers_key
|
||
INTO v_cur_bezoekers_key;
|
||
|
||
IF rec.parkeerplaats = 'J'
|
||
THEN
|
||
-- Toevoegen parkeerplaats!
|
||
v_errormsg := 'Fout bepalen eerste bezoeker-parkeerplaats';
|
||
SELECT MIN (rd.res_deel_key)
|
||
INTO v_cur_deel_key
|
||
FROM res_deel rd, ins_deel d
|
||
WHERE rd.res_deel_verwijder IS NULL
|
||
AND rd.res_discipline_key = 781 -- TODO:Minder hard-coded!
|
||
AND rd.res_ins_deel_key = d.ins_deel_key
|
||
AND d.ins_alg_locatie_key = rec.alg_locatie_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE res_deel_key = rd.res_deel_key
|
||
AND res_rsv_deel_van <= rec.tot
|
||
AND res_rsv_deel_tot >= rec.van);
|
||
|
||
IF v_cur_deel_key IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen eerste bezoeker-parkeerplaats';
|
||
INSERT INTO res_rsv_deel (res_deel_key, res_rsv_deel_aantal, res_rsv_deel_van, res_rsv_deel_tot, res_status_bo_key, res_rsv_ruimte_key, bez_bezoekers_key, res_rsv_deel_dirtlevel)
|
||
VALUES (v_cur_deel_key, 1, rec.van, rec.tot, 2, DECODE (rec.res_rsv_ruimte_key, -1, NULL, rec.res_rsv_ruimte_key), v_cur_bezoekers_key, 0);
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || 'Geen parkeerplaats beschikbaar', '');
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Toevoegen Ophalen/Doorlopen! TODO:Minder hard-coded!
|
||
v_errormsg := 'Fout toevoegen eerste bezoeker-actie';
|
||
INSERT INTO bez_kenmerkwaarde (bez_bezoekers_key, bez_kenmerk_key, bez_kenmerkwaarde_waarde)
|
||
VALUES (v_cur_bezoekers_key, 1160, DECODE (rec.actie, 'Doorlopen', '2002', '2001'));
|
||
|
||
fac.trackaction ('BEZUPD', v_cur_afspraak_key, v_importeur_key, NULL, 'Afspraak ' || TO_CHAR (v_cur_afspraak_key) || ' is gewijzigd' || CHR (13) || CHR (10) || 'Bezoekers via import toegevoegd/bijgewerkt');
|
||
-- TODO:Verwijderen (BEZUPD-tracking wordt standaard al getoond bij eventueel gekoppelde reservering)!
|
||
--IF rec.res_rsv_ruimte_key != -1
|
||
--THEN
|
||
-- fac.trackaction ('RESUPD', rec.res_rsv_ruimte_key, v_importeur_key, NULL, 'Afspraak ' || TO_CHAR (v_cur_afspraak_key) || ' is gewijzigd' || CHR (13) || CHR (10) || 'Bezoekers via import toegevoegd/bijgewerkt');
|
||
--END IF;
|
||
ELSE
|
||
-- Toevoegen volgende bezoeker!
|
||
v_errormsg := 'Fout toevoegen volgende bezoeker';
|
||
INSERT INTO bez_bezoekers (bez_afspraak_key, bez_afspraak_naam, bez_afspraak_bedrijf, bez_afspraak_opmerking)
|
||
VALUES (v_cur_afspraak_key, rec.naam, rec.bedrijf, NULL)
|
||
RETURNING bez_bezoekers_key
|
||
INTO v_cur_bezoekers_key;
|
||
|
||
-- Toevoegen parkeerplaats!
|
||
IF rec.parkeerplaats = 'J'
|
||
THEN
|
||
-- Toevoegen parkeerplaats!
|
||
v_errormsg := 'Fout bepalen eerste bezoeker-parkeerplaats';
|
||
SELECT MIN (rd.res_deel_key)
|
||
INTO v_cur_deel_key
|
||
FROM res_deel rd, ins_deel d
|
||
WHERE rd.res_deel_verwijder IS NULL
|
||
AND rd.res_discipline_key = 781 -- TODO:Minder hard-coded!
|
||
AND rd.res_ins_deel_key = d.ins_deel_key
|
||
AND d.ins_alg_locatie_key = rec.alg_locatie_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE res_deel_key = rd.res_deel_key
|
||
AND res_rsv_deel_van <= rec.tot
|
||
AND res_rsv_deel_tot >= rec.van);
|
||
|
||
IF v_cur_deel_key IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen eerste bezoeker-parkeerplaats';
|
||
INSERT INTO res_rsv_deel (res_deel_key, res_rsv_deel_aantal, res_rsv_deel_van, res_rsv_deel_tot, res_status_bo_key, res_rsv_ruimte_key, bez_bezoekers_key, res_rsv_deel_dirtlevel)
|
||
VALUES (v_cur_deel_key, 1, rec.van, rec.tot, 2, DECODE (rec.res_rsv_ruimte_key, -1, NULL, rec.res_rsv_ruimte_key), v_cur_bezoekers_key, 0);
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || 'Geen parkeerplaats beschikbaar', '');
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Toevoegen Ophalen/Doorlopen! TODO:Minder hard-coded!
|
||
v_errormsg := 'Fout toevoegen volgende bezoeker-actie';
|
||
INSERT INTO bez_kenmerkwaarde (bez_bezoekers_key, bez_kenmerk_key, bez_kenmerkwaarde_waarde)
|
||
VALUES (v_cur_bezoekers_key, 1160, DECODE (rec.actie, 'Doorlopen', '2002', '2001'));
|
||
END IF;
|
||
|
||
v_count_new := v_count_new + 1;
|
||
COMMIT;
|
||
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, '');
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key, 'S', 'Bezoekers/#ingelezen: ' || TO_CHAR (v_count_tot), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Bezoekers/#toegevoegd: ' || TO_CHAR (v_count_new), '');
|
||
COMMIT;
|
||
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 bezoekers afgebroken!');
|
||
END fmhn_update_bez;
|
||
/
|
||
*/
|
||
|
||
/* Formatted on 3-10-2021 15:33:48 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_CATERING
|
||
(
|
||
HIDE_F_SRT,
|
||
NR,
|
||
FCLT_F_GEBOUW,
|
||
DATUM,
|
||
BEGINTIJD,
|
||
EINDTIJD,
|
||
RUIMTENUMMER,
|
||
FCLT_F_RUIMTE,
|
||
OPSTELLING,
|
||
AANTAL,
|
||
OMSCHRIJVING,
|
||
TIJDSTIP,
|
||
ARTIKEL,
|
||
TOELICHTING,
|
||
KEY
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'yyyy-mm-dd')
|
||
|| rg.alg_gebouw_upper
|
||
|| TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi')
|
||
hide_f_srt,
|
||
rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr nr,
|
||
rg.alg_gebouw_omschrijving fclt_f_gebouw,
|
||
rr.res_rsv_ruimte_van datum,
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi') begintijd,
|
||
TO_CHAR (rr.res_rsv_ruimte_tot, 'hh24:mi') eindtijd,
|
||
rui.alg_ruimte_nr ruimtenummer,
|
||
r.res_ruimte_nr fclt_f_ruimte,
|
||
o.res_opstelling_omschrijving opstelling,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
rr.res_rsv_ruimte_omschrijving omschrijving,
|
||
rra.res_rsv_artikel_levering tijdstip,
|
||
ra.res_artikel_omschrijving artikel,
|
||
rka.res_kenmerkartikel_waarde toelichting,
|
||
rr.res_rsv_ruimte_key key
|
||
FROM res_rsv_ruimte rr,
|
||
res_ruimte_opstelling ro,
|
||
res_opstelling o,
|
||
res_ruimte r,
|
||
res_alg_ruimte ar,
|
||
alg_v_ruimte_gegevens rg,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
res_kenmerkartikel rka,
|
||
alg_ruimte rui
|
||
WHERE rr.res_rsv_ruimte_verwijder IS NULL
|
||
AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
|
||
AND o.res_opstelling_key = ro.res_opstelling_key
|
||
AND r.res_ruimte_key = ro.res_ruimte_key
|
||
AND ar.res_ruimte_key = r.res_ruimte_key
|
||
AND ar.alg_ruimte_key = rui.alg_ruimte_key
|
||
AND ar.res_alg_ruimte_verwijder IS NULL
|
||
AND rg.alg_ruimte_key = ar.alg_ruimte_key
|
||
AND rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rra.RES_RSV_artikel_verwijder IS NULL
|
||
AND ra.res_artikel_key = rra.res_artikel_key
|
||
AND rra.res_rsv_ruimte_key IS NOT NULL
|
||
AND rra.res_rsv_artikel_key = rka.res_rsv_artikel_key
|
||
AND rka.res_kenmerk_key = 25
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'yyyy-mm-dd')
|
||
|| rg.alg_gebouw_upper
|
||
|| TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi')
|
||
hide_f_srt,
|
||
rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr nr,
|
||
rg.alg_gebouw_omschrijving fclt_f_gebouw,
|
||
rr.res_rsv_ruimte_van datum,
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi') begintijd,
|
||
TO_CHAR (rr.res_rsv_ruimte_tot, 'hh24:mi') eindtijd,
|
||
rui.alg_ruimte_nr ruimtenummer,
|
||
NULL fclt_f_ruimte,
|
||
NULL opstelling,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
rr.res_rsv_ruimte_omschrijving omschrijving,
|
||
rra.res_rsv_artikel_levering tijdstip,
|
||
ra.res_artikel_omschrijving artikel,
|
||
rka.res_kenmerkartikel_waarde toelichting,
|
||
rr.res_rsv_ruimte_key key
|
||
FROM res_rsv_ruimte rr,
|
||
res_ruimte r,
|
||
alg_v_ruimte_gegevens rg,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
res_kenmerkartikel rka,
|
||
alg_ruimte rui
|
||
WHERE rr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rg.alg_ruimte_key = rr.alg_ruimte_key
|
||
AND rg.alg_ruimte_key = rui.alg_ruimte_key
|
||
AND rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rra.RES_RSV_artikel_verwijder IS NULL
|
||
AND ra.res_artikel_key = rra.res_artikel_key
|
||
AND rra.res_rsv_ruimte_key IS NOT NULL
|
||
AND rra.res_rsv_artikel_key = rka.res_rsv_artikel_key
|
||
AND rka.res_kenmerk_key = 25;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_res_looplijst
|
||
(
|
||
hide_f_srt,
|
||
nr,
|
||
fclt_f_gebouw,
|
||
datum,
|
||
begintijd,
|
||
eindtijd,
|
||
fclt_f_ruimte,
|
||
opstelling,
|
||
aantal,
|
||
omschrijving,
|
||
meldingen,
|
||
voorzieningen,
|
||
catering,
|
||
beveiliging,
|
||
schoonmaak,
|
||
res_rsv_ruimte_key
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'yyyy-mm-dd') || rg.alg_gebouw_upper || TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi')
|
||
hide_f_srt,
|
||
rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr nr,
|
||
rg.alg_gebouw_omschrijving fclt_f_gebouw,
|
||
rr.res_rsv_ruimte_van datum,
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi') begintijd,
|
||
TO_CHAR (rr.res_rsv_ruimte_tot, 'hh24:mi') eindtijd,
|
||
r.res_ruimte_nr fclt_f_ruimte,
|
||
o.res_opstelling_omschrijving opstelling,
|
||
rr.res_rsv_ruimte_bezoekers aantal,
|
||
rr.res_rsv_ruimte_omschrijving omschrijving,
|
||
mld.aant meldingen,
|
||
--voorzieningen,
|
||
CASE
|
||
WHEN LENGTH (voorzieningen) > 75
|
||
THEN SUBSTR (voorzieningen, 1, 75) || ' ...'
|
||
ELSE voorzieningen
|
||
END
|
||
voorzieningen,
|
||
CASE
|
||
WHEN LENGTH (catering) > 75
|
||
THEN SUBSTR (catering, 1, 75) || ' ...'
|
||
ELSE catering
|
||
END
|
||
catering,
|
||
CASE
|
||
WHEN LENGTH (beveiliging) > 75
|
||
THEN SUBSTR (beveiliging, 1, 75) || ' ...'
|
||
ELSE beveiliging
|
||
END
|
||
beveiliging,
|
||
CASE
|
||
WHEN LENGTH (schoonmaak) > 75
|
||
THEN SUBSTR (schoonmaak, 1, 75) || ' ...'
|
||
ELSE schoonmaak
|
||
END
|
||
schoonmaak,
|
||
rr.res_rsv_ruimte_key
|
||
FROM res_rsv_ruimte rr,
|
||
res_ruimte_opstelling ro,
|
||
res_opstelling o,
|
||
res_ruimte r,
|
||
res_alg_ruimte ar,
|
||
alg_v_ruimte_gegevens rg,
|
||
( SELECT res_rsv_ruimte_key,
|
||
'ja (' || COUNT (res_rsv_ruimte_key) || ')' aant
|
||
FROM mld_melding
|
||
WHERE res_rsv_ruimte_key IS NOT NULL
|
||
GROUP BY res_rsv_ruimte_key) mld,
|
||
( SELECT res_rsv_ruimte_key,
|
||
listagg (voorziening, ', ') WITHIN GROUP (ORDER BY voorziening)
|
||
AS voorzieningen
|
||
FROM (SELECT res_rsv_ruimte_key,
|
||
res_deel_omschrijving voorziening
|
||
FROM res_deel rd, res_rsv_deel rrd
|
||
WHERE res_rsv_deel_verwijder IS NULL
|
||
AND rd.res_deel_key = rrd.res_deel_key
|
||
AND res_rsv_ruimte_key IS NOT NULL)
|
||
GROUP BY res_rsv_ruimte_key) voorz,
|
||
( SELECT res_rsv_ruimte_key,
|
||
listagg (artikel, ', ') WITHIN GROUP (ORDER BY artikel)
|
||
AS catering
|
||
FROM (SELECT res_rsv_ruimte_key,
|
||
res_rsv_artikel_aantal || ' x ' || res_artikel_omschrijving
|
||
artikel
|
||
FROM res_rsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_rsv_ruimte_key IS NOT NULL
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (3590, 3591)) -- Reguliere catering
|
||
GROUP BY res_rsv_ruimte_key) cat,
|
||
( SELECT res_rsv_ruimte_key,
|
||
listagg (artikel, ', ') WITHIN GROUP (ORDER BY artikel desc)
|
||
AS beveiliging
|
||
FROM (SELECT res_rsv_ruimte_key,
|
||
res_rsv_artikel_aantal || ' x ' || res_artikel_omschrijving
|
||
artikel
|
||
FROM res_rsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_rsv_ruimte_key IS NOT NULL
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = 3590) -- Beveiliging
|
||
GROUP BY res_rsv_ruimte_key) beveiliging,
|
||
( SELECT res_rsv_ruimte_key,
|
||
listagg (artikel, ', ') WITHIN GROUP (ORDER BY artikel desc)
|
||
AS schoonmaak
|
||
FROM (SELECT res_rsv_ruimte_key,
|
||
res_rsv_artikel_aantal || ' x ' || res_artikel_omschrijving
|
||
artikel
|
||
FROM res_rsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_rsv_ruimte_key IS NOT NULL
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = 3591) -- Schoonmaak
|
||
GROUP BY res_rsv_ruimte_key) schoonmaak
|
||
WHERE TRUNC (rr.res_rsv_ruimte_van) > TO_DATE ('01-07-2020', 'dd-mm-yyyy')
|
||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_opstelling_key = o.res_opstelling_key
|
||
AND ro.res_ruimte_key = r.res_ruimte_key
|
||
AND r.res_ruimte_key = ar.res_ruimte_key
|
||
AND ar.res_alg_ruimte_verwijder IS NULL
|
||
AND ar.alg_ruimte_key = rg.alg_ruimte_key
|
||
AND rr.res_rsv_ruimte_key = mld.res_rsv_ruimte_key(+)
|
||
AND rr.res_rsv_ruimte_key = voorz.res_rsv_ruimte_key(+)
|
||
AND rr.res_rsv_ruimte_key = cat.res_rsv_ruimte_key(+)
|
||
AND rr.res_rsv_ruimte_key = beveiliging.res_rsv_ruimte_key(+)
|
||
AND rr.res_rsv_ruimte_key = schoonmaak.res_rsv_ruimte_key(+);
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_cateringtoday
|
||
(
|
||
hide_f_srt,
|
||
nr,
|
||
fclt_f_gebouw,
|
||
datum,
|
||
begintijd,
|
||
eindtijd,
|
||
fclt_f_ruimte,
|
||
opstelling,
|
||
aantal,
|
||
omschrijving,
|
||
meldingen,
|
||
voorzieningen,
|
||
catering,
|
||
res_rsv_ruimte_key,
|
||
afgeleverd
|
||
)
|
||
AS
|
||
SELECT dvr.hide_f_srt,
|
||
dvr.nr,
|
||
dvr.fclt_f_gebouw,
|
||
dvr.datum,
|
||
dvr.begintijd,
|
||
dvr.eindtijd,
|
||
dvr.fclt_f_ruimte,
|
||
dvr.opstelling,
|
||
dvr.aantal,
|
||
dvr.omschrijving,
|
||
dvr.meldingen,
|
||
dvr.voorzieningen,
|
||
dvr.catering,
|
||
dvr.res_rsv_ruimte_key,
|
||
DECODE (st.res_kenmerkreservering_waarde,
|
||
1, lcl.l ('lcl_yes'),
|
||
lcl.l ('lcl_no'))
|
||
afgeleverd
|
||
FROM fmhn_v_rap_res_looplijst dvr,
|
||
(SELECT rk.res_rsv_ruimte_key,
|
||
sk.res_srtkenmerk_omschrijving,
|
||
res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde rk, res_kenmerk k, res_srtkenmerk sk
|
||
WHERE rk.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||
AND sk.res_srtkenmerk_key = 101) st
|
||
WHERE TRUNC (dvr.datum) = TRUNC (SYSDATE)
|
||
AND dvr.catering IS NOT NULL
|
||
AND dvr.res_rsv_ruimte_key = st.res_rsv_ruimte_key(+);
|
||
|
||
CREATE OR REPLACE VIEW res_v_rap_rescat
|
||
(
|
||
KEY,
|
||
NUMMER,
|
||
RES_OMSCHRIJVING,
|
||
INVOERDATUM,
|
||
DATUM,
|
||
GASTHEER,
|
||
CONTACT,
|
||
GASTHEER_EMAIL,
|
||
CONTACT_EMAIL,
|
||
INVOERDER,
|
||
KOSTENSOORTGROEP,
|
||
KOSTENSOORT,
|
||
KPN,
|
||
KPN_OMSCHRIJVING,
|
||
KPN_EXTERN,
|
||
FCLT_3D_DIVISIE_KEY,
|
||
DIVISIE_NAAM,
|
||
DIVISIE_OMSCHRIJVING,
|
||
FCLT_3D_AFDELING_KEY,
|
||
AFDELING_CODE,
|
||
AFDELING_OMSCHRIJVING,
|
||
AFDELING_IS_FMH,
|
||
REGIO_OMSCHRIJVING,
|
||
DISTRICT_OMSCHIJVING,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
LOCATIE,
|
||
LOCATIE_OMSCHRIJVING,
|
||
LOCATIE_PLAATS,
|
||
GEBOUW,
|
||
VERDIEPING,
|
||
RUIMTE,
|
||
OPSTELLING,
|
||
CAPACITEIT,
|
||
NO_SHOW,
|
||
MANDAAT,
|
||
PERSONEELSNR,
|
||
FCLT_3D_DISCIPLINE_KEY,
|
||
CATALOGUS_KEY,
|
||
CATALOGUS,
|
||
RESERVEERBARE_RUIMTE,
|
||
BEZOEKERS,
|
||
VAN,
|
||
TOT,
|
||
DUUR,
|
||
STATUS,
|
||
BOSTATUS,
|
||
ACTIVITEIT,
|
||
SRTACTIVITEIT_KEY,
|
||
ACTIVITEITSOORT,
|
||
OPMERKING,
|
||
VOORZIENING_DISCIPLINE_KEY,
|
||
VOORZIENING_TYPE,
|
||
VOORZIENING_CATALOGUS,
|
||
LEVERANCIER,
|
||
VOORZIENING_PRODUCT_KEY,
|
||
VOORZIENING_PRODUCT,
|
||
VOORZIENING_TOTAALPRIJS,
|
||
VOORZIENING_VAN,
|
||
VOORZIENING_TOT,
|
||
VOORZIENING_AANTAL,
|
||
VOORZIENING_PRIJS
|
||
)
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
res.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
COALESCE (rrr.res_rsv_ruimte_aanmaak, voorz.van),
|
||
rrr.res_rsv_ruimte_van,
|
||
(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 ph.prs_perslid_email
|
||
FROM prs_perslid ph
|
||
WHERE ph.prs_perslid_key = rrr.res_rsv_ruimte_host_key),
|
||
(SELECT pc.prs_perslid_email
|
||
FROM prs_perslid pc
|
||
WHERE pc.prs_perslid_key = rrr.res_rsv_ruimte_contact_key),
|
||
(SELECT MAX(pf.prs_perslid_naam_full)
|
||
FROM fac_tracking tr,
|
||
fac_srtnotificatie str,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE tr.prs_perslid_key = pf.prs_perslid_key
|
||
AND str.fac_srtnotificatie_code = 'RESNEW'
|
||
AND tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key
|
||
AND tr.fac_tracking_refkey = rrr.res_rsv_ruimte_key),
|
||
(SELECT ksg.prs_kostensoortgrp_oms
|
||
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
||
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
|
||
AND ks.prs_kostensoort_key =
|
||
(SELECT disc.prs_kostensoort_key
|
||
FROM res_discipline disc
|
||
WHERE disc.ins_discipline_key =
|
||
COALESCE (
|
||
voorz.ins_discipline_key,
|
||
(SELECT ins_discipline_key
|
||
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))))
|
||
kostensoortgroep,
|
||
(SELECT ks.prs_kostensoort_oms
|
||
FROM prs_kostensoort ks
|
||
WHERE ks.prs_kostensoort_key =
|
||
(SELECT disc.prs_kostensoort_key
|
||
FROM res_discipline disc
|
||
WHERE disc.ins_discipline_key =
|
||
COALESCE (
|
||
voorz.ins_discipline_key,
|
||
(SELECT ins_discipline_key
|
||
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))))
|
||
kostensoort,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving,
|
||
k.prs_kostenplaats_extern,
|
||
an.prs_afdeling_key,
|
||
an.prs_afdeling_naam,
|
||
an.prs_afdeling_omschrijving,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_naam,
|
||
a.prs_afdeling_omschrijving,
|
||
CASE
|
||
WHEN a.prs_afdeling_omschrijving LIKE '%FMH%'
|
||
THEN 'Ja'
|
||
ELSE 'Nee'
|
||
END,
|
||
(SELECT rg.alg_regio_omschrijving
|
||
FROM alg_regio rg,
|
||
alg_district d,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE rg.alg_regio_key = d.alg_regio_key
|
||
AND 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 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 l.alg_locatie_key
|
||
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_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_locatie_plaats
|
||
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),
|
||
r2a.ruimte_nr,
|
||
r2a.opstelling,
|
||
r2a.capaciteit,
|
||
rrr.res_rsv_ruimte_noshow,
|
||
NVL ( (SELECT pr.fac_profiel_limiet
|
||
FROM fac_profiel pr
|
||
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0),
|
||
prs_perslid_nr,
|
||
COALESCE (
|
||
voorz.ins_discipline_key,
|
||
(SELECT ins_discipline_key
|
||
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)),
|
||
(SELECT ins_discipline_key
|
||
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),
|
||
(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'),
|
||
rrr.res_rsv_ruimte_bezoekers,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
COALESCE ( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24,
|
||
0),
|
||
(SELECT res_status_fo_omschrijving
|
||
FROM res_status_fo rs
|
||
WHERE rs.res_status_fo_key = rrr.res_status_fo_key),
|
||
(SELECT res_status_bo_omschrijving
|
||
FROM res_status_bo rs
|
||
WHERE rs.res_status_bo_key = rrr.res_status_bo_key),
|
||
ra.res_activiteit_omschrijving,
|
||
rsa.res_srtactiviteit_key,
|
||
rsa.res_srtactiviteit_omschrijving,
|
||
rrr.res_rsv_ruimte_opmerking,
|
||
voorz.ins_discipline_key,
|
||
voorz.vtype,
|
||
voorz.catalogus,
|
||
(SELECT prs_bedrijf_naam
|
||
FROM res_disc_params rdp, prs_bedrijf b
|
||
WHERE rdp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND rdp.res_ins_discipline_key = voorz.ins_discipline_key),
|
||
voorz.product_key,
|
||
voorz.product,
|
||
voorz.totaalprijs,
|
||
TO_CHAR (voorz.van, 'hh24:mi'),
|
||
TO_CHAR (voorz.tot, 'hh24:mi'),
|
||
voorz.aantal,
|
||
voorz.prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ra,
|
||
res_srtactiviteit rsa,
|
||
res_reservering res,
|
||
prs_kostenplaats k,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_afdeling an,
|
||
prs_v_afdeling_boom ab,
|
||
( SELECT res_rsv_ruimte_key,
|
||
MAX (o.res_opstelling_omschrijving) opstelling,
|
||
MAX (ro.res_ruimte_opstel_bezoekers) capaciteit,
|
||
MAX (ra.alg_ruimte_key) alg_ruimte_key,
|
||
MAX (rr.res_ruimte_nr) ruimte_nr
|
||
FROM res_rsv_ruimte r,
|
||
res_ruimte_opstelling ro,
|
||
res_opstelling o,
|
||
res_ruimte rr,
|
||
res_alg_ruimte ra
|
||
WHERE (r.res_rsv_ruimte_verwijder IS NULL OR (r.res_rsv_ruimte_verwijder IS NOT NULL AND r.res_status_fo_key = 4)) -- vervallen maar wel doorbelast
|
||
AND r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = rr.res_ruimte_key
|
||
AND ro.res_opstelling_key = o.res_opstelling_key
|
||
AND rr.res_ruimte_key = ra.res_ruimte_key
|
||
GROUP BY res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT res_rsv_ruimte_key,
|
||
'' opstelling,
|
||
NULL capaciteit,
|
||
rrr.alg_ruimte_key,
|
||
r.alg_ruimte_nr
|
||
FROM res_rsv_ruimte rrr, alg_ruimte r
|
||
WHERE rrr.alg_ruimte_key IS NOT NULL
|
||
AND r.alg_ruimte_key = rrr.alg_ruimte_key) r2a,
|
||
(SELECT rra.res_rsv_ruimte_key res_rsv_ruimte_key,
|
||
ra.res_artikel_key product_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,
|
||
c.ins_discipline_key ins_discipline_key,
|
||
c.ins_discipline_omschrijving catalogus,
|
||
'consumable' vtype
|
||
FROM res_rsv_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
|
||
WHERE (rrr.res_rsv_ruimte_verwijder IS NULL OR (rrr.res_rsv_ruimte_verwijder IS NOT NULL AND rrr.res_status_fo_key = 4)) -- vervallen maar wel doorbelast
|
||
AND 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_activiteit_key = ra.res_activiteit_key
|
||
AND ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key1 = an.prs_afdeling_key
|
||
AND (rrr.res_ruimte_opstel_key IS NOT NULL
|
||
OR voorz.res_rsv_ruimte_key IS NOT NULL)
|
||
AND rrr.res_rsv_ruimte_van >= TO_DATE ('01-01-2010', 'DD-MM-YYYY');
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_kostencatbron
|
||
AS
|
||
SELECT ru.*,
|
||
NULL conversie_naam,
|
||
(SELECT res_artikel_btw
|
||
FROM res_artikel
|
||
WHERE res_artikel_key = ru.voorziening_product_key)
|
||
BTW
|
||
FROM res_v_rap_rescat ru
|
||
WHERE ru.voorziening_product_key <> 501
|
||
AND ru.voorziening_type = 'consumable'
|
||
AND ru.voorziening_catalogus IS NOT NULL
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
ru.*,
|
||
sub.res_kenmerkartikel_waarde,
|
||
fac.safe_to_number(DECODE (
|
||
SUBSTR (sub.res_kenmerkartikel_waarde, -7, 1),
|
||
'1',
|
||
'21',
|
||
SUBSTR (sub.res_kenmerkartikel_waarde, -7, 1)))
|
||
BTW
|
||
FROM res_v_rap_rescat ru,
|
||
(SELECT ra.res_rsv_ruimte_key,
|
||
ra.res_artikel_key,
|
||
ra.res_rsv_artikel_aantal,
|
||
ra.res_rsv_artikel_prijs,
|
||
TO_CHAR (ra.res_rsv_artikel_levering, 'HH:MI') van,
|
||
rk.res_kenmerkartikel_waarde
|
||
FROM res_kenmerkartikel rk, res_rsv_artikel ra
|
||
WHERE rk.res_rsv_artikel_key = ra.res_rsv_artikel_key
|
||
AND rk.res_kenmerk_key IN (25)) sub
|
||
WHERE ru.voorziening_type = 'consumable'
|
||
AND ru.voorziening_catalogus IS NOT NULL
|
||
AND sub.res_rsv_ruimte_key = ru.key
|
||
AND sub.res_artikel_key = ru.voorziening_product_key
|
||
AND sub.res_rsv_artikel_aantal = ru.voorziening_aantal
|
||
AND sub.res_rsv_artikel_prijs = ru.voorziening_totaalprijs
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
ru.*,
|
||
sub.res_kenmerkartikel_waarde,
|
||
sub.res_artikel_btw
|
||
BTW
|
||
FROM res_v_rap_rescat ru,
|
||
(SELECT ra.res_rsv_ruimte_key,
|
||
ra.res_artikel_key,
|
||
ra.res_rsv_artikel_aantal,
|
||
ra.res_rsv_artikel_prijs,
|
||
r.res_artikel_btw,
|
||
TO_CHAR (ra.res_rsv_artikel_levering, 'HH:MI') van,
|
||
rk.res_kenmerkartikel_waarde
|
||
FROM res_kenmerkartikel rk, res_rsv_artikel ra, res_artikel r
|
||
WHERE rk.res_rsv_artikel_key = ra.res_rsv_artikel_key
|
||
AND ra.res_artikel_key = r.res_artikel_key
|
||
AND rk.res_kenmerk_key IN (121, 122, 123)) sub
|
||
WHERE ru.voorziening_type = 'consumable'
|
||
AND ru.voorziening_catalogus IS NOT NULL
|
||
AND sub.res_rsv_ruimte_key = ru.key
|
||
AND sub.res_artikel_key = ru.voorziening_product_key
|
||
AND sub.res_rsv_artikel_aantal = ru.voorziening_aantal
|
||
AND sub.res_rsv_artikel_prijs = ru.voorziening_totaalprijs;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_kostencatbron2
|
||
AS
|
||
SELECT c.*,
|
||
DECODE (c.voorziening_product,
|
||
'Artikel uit conversie', c.conversie_naam, 'Conversie 0 BTW', c.conversie_naam, 'Conversie 9 BTW', c.conversie_naam, 'Conversie 21 BTW', c.conversie_naam,
|
||
c.voorziening_product)
|
||
product,
|
||
CASE WHEN c.BTW = 0 THEN ROUND (c.voorziening_totaalprijs, 2) END BTW_0,
|
||
CASE
|
||
WHEN c.BTW = 9
|
||
AND (c.voorziening_product NOT IN ('Artikel uit conversie', 'Conversie 0 BTW', 'Conversie 9 BTW', 'Conversie 21 BTW') OR c.fclt_3d_locatie_key IN (5, 3, 6))
|
||
THEN
|
||
ROUND (c.voorziening_totaalprijs * 1.09, 2)
|
||
WHEN c.BTW = 9
|
||
AND c.voorziening_product IN ('Artikel uit conversie', 'Conversie 0 BTW', 'Conversie 9 BTW', 'Conversie 21 BTW')
|
||
AND c.fclt_3d_locatie_key NOT IN (5, 3, 6)
|
||
THEN
|
||
ROUND (c.voorziening_totaalprijs, 2)
|
||
END
|
||
BTW_9,
|
||
CASE
|
||
WHEN c.BTW = 21
|
||
AND (c.voorziening_product NOT IN ('Artikel uit conversie', 'Conversie 0 BTW', 'Conversie 9 BTW', 'Conversie 21 BTW') OR c.fclt_3d_locatie_key IN (5, 3, 6))
|
||
THEN
|
||
ROUND (c.voorziening_totaalprijs * 1.21, 2)
|
||
WHEN c.BTW = 21
|
||
AND c.voorziening_product IN ('Artikel uit conversie', 'Conversie 0 BTW', 'Conversie 9 BTW', 'Conversie 21 BTW')
|
||
AND c.fclt_3d_locatie_key NOT IN (5, 3, 6)
|
||
THEN
|
||
ROUND (c.voorziening_totaalprijs, 2)
|
||
END
|
||
BTW_21
|
||
FROM fmhn_v_rap_kostencatbron c;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_kostencatering
|
||
AS
|
||
SELECT c.*, ROUND (COALESCE (c.btw_0,
|
||
c.btw_9,
|
||
c.btw_21,
|
||
c.voorziening_totaalprijs), 2)
|
||
totaal_incl
|
||
FROM fmhn_v_rap_kostencatbron2 c;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_res_middelen
|
||
(
|
||
hide_f_srt,
|
||
nr,
|
||
fclt_f_gebouw,
|
||
datum,
|
||
begintijd,
|
||
eindtijd,
|
||
fclt_f_ruimte,
|
||
opstelling,
|
||
aantal,
|
||
omschrijving,
|
||
meldingen,
|
||
--voorzieningen,
|
||
catering, -- Middelen
|
||
res_rsv_ruimte_key,
|
||
afgeleverd
|
||
)
|
||
AS
|
||
SELECT dvr.hide_f_srt,
|
||
dvr.nr,
|
||
dvr.fclt_f_gebouw,
|
||
dvr.datum,
|
||
dvr.begintijd,
|
||
dvr.eindtijd,
|
||
dvr.fclt_f_ruimte,
|
||
dvr.opstelling,
|
||
dvr.aantal,
|
||
dvr.omschrijving,
|
||
dvr.meldingen,
|
||
--dvr.voorzieningen,
|
||
dvr.voorzieningen catering,
|
||
dvr.res_rsv_ruimte_key,
|
||
DECODE (st.res_kenmerkreservering_waarde,
|
||
1, lcl.l ('lcl_yes'),
|
||
lcl.l ('lcl_no'))
|
||
afgeleverd
|
||
FROM fmhn_v_rap_res_looplijst dvr,
|
||
(SELECT rk.res_rsv_ruimte_key,
|
||
sk.res_srtkenmerk_omschrijving,
|
||
res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde rk, res_kenmerk k, res_srtkenmerk sk
|
||
WHERE rk.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||
AND sk.res_srtkenmerk_key = 101) st -- Afgeleverd-vinkveld
|
||
WHERE TRUNC (dvr.datum) = TRUNC (SYSDATE)
|
||
AND dvr.voorzieningen IS NOT NULL
|
||
AND dvr.res_rsv_ruimte_key = st.res_rsv_ruimte_key(+);
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_res_catering
|
||
(
|
||
hide_f_srt,
|
||
nr,
|
||
fclt_f_gebouw,
|
||
datum,
|
||
begintijd,
|
||
eindtijd,
|
||
fclt_f_ruimte,
|
||
opstelling,
|
||
aantal,
|
||
omschrijving,
|
||
meldingen,
|
||
--voorzieningen,
|
||
catering, -- Catering
|
||
res_rsv_ruimte_key,
|
||
afgeleverd
|
||
)
|
||
AS
|
||
SELECT dvr.hide_f_srt,
|
||
dvr.nr,
|
||
dvr.fclt_f_gebouw,
|
||
dvr.datum,
|
||
dvr.begintijd,
|
||
dvr.eindtijd,
|
||
dvr.fclt_f_ruimte,
|
||
dvr.opstelling,
|
||
dvr.aantal,
|
||
dvr.omschrijving,
|
||
dvr.meldingen,
|
||
--dvr.voorzieningen,
|
||
dvr.catering,
|
||
dvr.res_rsv_ruimte_key,
|
||
DECODE (st.res_kenmerkreservering_waarde,
|
||
1, lcl.l ('lcl_yes'),
|
||
lcl.l ('lcl_no'))
|
||
afgeleverd
|
||
FROM fmhn_v_rap_res_looplijst dvr,
|
||
(SELECT rk.res_rsv_ruimte_key,
|
||
sk.res_srtkenmerk_omschrijving,
|
||
res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde rk, res_kenmerk k, res_srtkenmerk sk
|
||
WHERE rk.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||
AND sk.res_srtkenmerk_key = 101) st -- Afgeleverd-vinkveld
|
||
WHERE TRUNC (dvr.datum) = TRUNC (SYSDATE)
|
||
AND dvr.catering IS NOT NULL
|
||
AND dvr.res_rsv_ruimte_key = st.res_rsv_ruimte_key(+);
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_res_beveiliging
|
||
(
|
||
hide_f_srt,
|
||
nr,
|
||
fclt_f_gebouw,
|
||
datum,
|
||
begintijd,
|
||
eindtijd,
|
||
fclt_f_ruimte,
|
||
opstelling,
|
||
aantal,
|
||
omschrijving,
|
||
meldingen,
|
||
--voorzieningen,
|
||
catering, -- Beveiliging
|
||
res_rsv_ruimte_key,
|
||
afgeleverd
|
||
)
|
||
AS
|
||
SELECT dvr.hide_f_srt,
|
||
dvr.nr,
|
||
dvr.fclt_f_gebouw,
|
||
dvr.datum,
|
||
dvr.begintijd,
|
||
dvr.eindtijd,
|
||
dvr.fclt_f_ruimte,
|
||
dvr.opstelling,
|
||
dvr.aantal,
|
||
dvr.omschrijving,
|
||
dvr.meldingen,
|
||
--dvr.voorzieningen,
|
||
dvr.beveiliging catering,
|
||
dvr.res_rsv_ruimte_key,
|
||
DECODE (st.res_kenmerkreservering_waarde,
|
||
1, lcl.l ('lcl_yes'),
|
||
lcl.l ('lcl_no'))
|
||
afgeleverd
|
||
FROM fmhn_v_rap_res_looplijst dvr,
|
||
(SELECT rk.res_rsv_ruimte_key,
|
||
sk.res_srtkenmerk_omschrijving,
|
||
res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde rk, res_kenmerk k, res_srtkenmerk sk
|
||
WHERE rk.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||
AND sk.res_srtkenmerk_key = 101) st -- Afgeleverd-vinkveld
|
||
WHERE TRUNC (dvr.datum) = TRUNC (SYSDATE)
|
||
AND dvr.beveiliging IS NOT NULL
|
||
AND dvr.res_rsv_ruimte_key = st.res_rsv_ruimte_key(+);
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_res_schoonmaak
|
||
(
|
||
hide_f_srt,
|
||
nr,
|
||
fclt_f_gebouw,
|
||
datum,
|
||
begintijd,
|
||
eindtijd,
|
||
fclt_f_ruimte,
|
||
opstelling,
|
||
aantal,
|
||
omschrijving,
|
||
meldingen,
|
||
--voorzieningen,
|
||
catering, -- Schoonmaak
|
||
res_rsv_ruimte_key,
|
||
afgeleverd
|
||
)
|
||
AS
|
||
SELECT dvr.hide_f_srt,
|
||
dvr.nr,
|
||
dvr.fclt_f_gebouw,
|
||
dvr.datum,
|
||
dvr.begintijd,
|
||
dvr.eindtijd,
|
||
dvr.fclt_f_ruimte,
|
||
dvr.opstelling,
|
||
dvr.aantal,
|
||
dvr.omschrijving,
|
||
dvr.meldingen,
|
||
--dvr.voorzieningen,
|
||
dvr.schoonmaak catering,
|
||
dvr.res_rsv_ruimte_key,
|
||
DECODE (st.res_kenmerkreservering_waarde,
|
||
1, lcl.l ('lcl_yes'),
|
||
lcl.l ('lcl_no'))
|
||
afgeleverd
|
||
FROM fmhn_v_rap_res_looplijst dvr,
|
||
(SELECT rk.res_rsv_ruimte_key,
|
||
sk.res_srtkenmerk_omschrijving,
|
||
res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde rk, res_kenmerk k, res_srtkenmerk sk
|
||
WHERE rk.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||
AND sk.res_srtkenmerk_key = 101) st -- Afgeleverd-vinkveld
|
||
WHERE TRUNC (dvr.datum) = TRUNC (SYSDATE)
|
||
AND dvr.schoonmaak IS NOT NULL
|
||
AND dvr.res_rsv_ruimte_key = st.res_rsv_ruimte_key(+);
|
||
|
||
-- Dummy export die feitelijk niets exporteert, maar elke 5 minuten draait
|
||
-- voor zaken die liefst real-time zouden gebeuren!
|
||
-- UITBEREIDING (FMHN#72352): export zorgt dat gewijzigde offert aanvragen RS8 weer via putorders worden uitgegeven
|
||
CREATE OR REPLACE PROCEDURE fmhn_select_elke_5min (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_curdatetime DATE := SYSDATE;
|
||
v_f2p_runtime NUMBER (10); -- In seconden!
|
||
v_count_tot NUMBER (10) := 0;
|
||
|
||
CURSOR c_ord2mld
|
||
IS
|
||
SELECT DISTINCT
|
||
'[' || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) || '|ORDAFM] '
|
||
aanduiding,
|
||
o.mld_melding_key,
|
||
o.mld_opdr_key,
|
||
'ORDAFM' actie,
|
||
NULL mld_opdr_opmerking
|
||
FROM fac_tracking t, mld_opdr o
|
||
WHERE t.fac_srtnotificatie_key = 74 -- ORDAFM
|
||
AND t.prs_perslid_key = 44 -- _API-user tbv. Prequest
|
||
AND t.fac_tracking_refkey = o.mld_opdr_key
|
||
AND o.mld_typeopdr_key = 582 -- Uitvoeringsopdracht PC
|
||
AND t.fac_tracking_datum > COALESCE (o.mld_opdr_externsyncdate, SYSDATE - (1 / 24))
|
||
UNION ALL
|
||
SELECT '[' || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) || '|ORDUPD] '
|
||
aanduiding,
|
||
o.mld_melding_key,
|
||
o.mld_opdr_key,
|
||
'ORDUPD' actie,
|
||
o.mld_opdr_opmerking
|
||
FROM fac_tracking t, mld_opdr o
|
||
WHERE t.fac_srtnotificatie_key = 76 -- ORDUPD
|
||
AND t.prs_perslid_key = 44 -- _API-user tbv. Prequest
|
||
AND INSTR (UPPER (t.fac_tracking_oms), 'AFHANDELING:') > 0
|
||
AND t.fac_tracking_refkey = o.mld_opdr_key
|
||
AND o.mld_typeopdr_key = 582 -- Uitvoeringsopdracht PC
|
||
AND o.mld_statusopdr_key = 6 -- Afgemeld
|
||
AND o.mld_opdr_opmerking IS NOT NULL -- Voor de zekerheid
|
||
AND t.fac_tracking_datum > COALESCE (o.mld_opdr_externsyncdate, SYSDATE - (1 / 24))
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 76
|
||
AND prs_perslid_key = 44
|
||
AND INSTR (UPPER (fac_tracking_oms), 'AFHANDELING:') > 0
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key)
|
||
UNION ALL
|
||
SELECT '[' || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) || '|ORDCAE] '
|
||
aanduiding,
|
||
o.mld_melding_key,
|
||
o.mld_opdr_key,
|
||
'ORDCAE' actie,
|
||
o.mld_opdr_opmerking
|
||
FROM fac_tracking t, mld_opdr o, mld_melding m
|
||
WHERE t.fac_srtnotificatie_key = 221 -- ORDCAE
|
||
AND t.prs_perslid_key <> 44 -- *NIET* _API-user tbv. Prequest
|
||
AND t.fac_tracking_refkey = o.mld_opdr_key
|
||
AND o.mld_typeopdr_key IN (581, 582) -- Offerteaanvraag PC/Uitvoeringsopdracht PC
|
||
AND o.mld_statusopdr_key = 1 -- Afgewezen/Geannuleerd
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND o.mld_opdr_opmerking <> COALESCE (m.mld_melding_opmerking, 'Quqelequ')
|
||
--AND t.fac_tracking_datum > COALESCE (o.mld_opdr_externsyncdate, SYSDATE - (1 / 24)) -- Want bij annuleren gezet vanuit koppeling!
|
||
AND TRUNC (t.fac_tracking_datum) = TRUNC (SYSDATE)
|
||
ORDER BY 2, 3, 4;
|
||
|
||
CURSOR c_updopd2npq
|
||
IS
|
||
SELECT o.mld_opdr_key mld_opdr_key
|
||
FROM mld_opdr o, mld_kenmerkopdr ok, mld_kenmerk mk,
|
||
(SELECT fac_tracking_refkey, MAX(ft.fac_tracking_datum) AS last_mut
|
||
FROM fac_tracking ft
|
||
WHERE ft.fac_srtnotificatie_key=76
|
||
AND ft.fac_tracking_oms like '%gewijzigd%Omschrijving:%'
|
||
GROUP BY fac_tracking_refkey ) factr,
|
||
(SELECT fac_tracking_refkey, MAX(ft.fac_tracking_datum) AS last_exp
|
||
FROM fac_tracking ft
|
||
WHERE ft.fac_srtnotificatie_key=88
|
||
AND ft.fac_tracking_oms like 'PC:%'
|
||
AND ft.prs_perslid_key=3
|
||
GROUP BY fac_tracking_refkey) npq_exp
|
||
WHERE ok.mld_opdr_key = o.mld_opdr_key
|
||
AND ok.mld_kenmerk_key=mk.mld_kenmerk_key
|
||
AND mk.mld_kenmerk_key IN (1181,1182)
|
||
AND o.mld_statusopdr_key IN (8)
|
||
AND o.mld_typeopdr_key = 581
|
||
AND factr.fac_tracking_refkey=o.mld_opdr_key
|
||
AND npq_exp.fac_tracking_refkey=o.mld_opdr_key
|
||
AND factr.last_mut> npq_exp.last_exp
|
||
AND o.mld_opdr_verzonden IS NOT NULL; -- alleen opdrachten die reeds eerder verzonden zijn (FMHN#77738)
|
||
|
||
|
||
|
||
BEGIN
|
||
-- Bepalen van de tijd verstreken tussen begin van 1e taak in bat-bestand
|
||
-- (RESERVERING) en begin van deze taak (ELKE_5MIN)!
|
||
SELECT (v_curdatetime - COALESCE (fac_export_app_datum, v_curdatetime)) * 24 * 60 * 60
|
||
INTO v_f2p_runtime -- In seconden!
|
||
FROM fac_export_app
|
||
WHERE fac_export_app_key = 1;
|
||
|
||
IF v_f2p_runtime > 60
|
||
THEN
|
||
fac.writelog ('F2P', 'I', 'Runtime > 60s', '');
|
||
ELSIF v_f2p_runtime > 300
|
||
THEN
|
||
fac.writelog ('F2P', 'E', 'Runtime > 5m', '');
|
||
END IF;
|
||
|
||
v_count_tot := 0;
|
||
|
||
-- Toevoegen melding-notitie na afmelden Uitvoeringsopdracht door Prequest
|
||
-- en kopi<70>ren opdracht-opmerking naar melding-opmerking na bijwerken door
|
||
-- Prequest van afgemelde Uitvoeringsopdracht.
|
||
FOR rec IN c_ord2mld
|
||
LOOP
|
||
BEGIN
|
||
IF rec.actie = 'ORDAFM'
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen MLD-notitie';
|
||
INSERT INTO mld_melding_note (mld_melding_key,
|
||
mld_melding_note_omschrijving,
|
||
prs_perslid_key,
|
||
mld_melding_note_flag)
|
||
VALUES (rec.mld_melding_key,
|
||
'PoortCentraal heeft uw melding afgehandeld. Momenteel zijn wij bezig met de administratieve afhandeling. De afhandeltekst volgt uiterlijk de volgende werkdag en is dan zichtbaar in het informatiescherm van uw melding.',
|
||
44,
|
||
1);
|
||
ELSIF rec.actie IN ('ORDUPD', 'ORDCAE')
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen MLD-afhandeling';
|
||
UPDATE mld_melding
|
||
SET mld_melding_opmerking = rec.mld_opdr_opmerking
|
||
WHERE mld_melding_key = rec.mld_melding_key;
|
||
|
||
-- TODO: Ook nog afmelden melding igv. ORDCAE?
|
||
ELSE
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || 'Actie ongedefinieerd', 'Ord2Mld-loop');
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken lastchange';
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_externsyncdate = v_curdatetime
|
||
WHERE mld_opdr_key = rec.mld_opdr_key;
|
||
|
||
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.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'Ord2Mld-loop');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF v_count_tot > 0
|
||
THEN
|
||
fac.writelog (p_applname, 'S', 'Meldingen/#bijgewerkt: ' || TO_CHAR (v_count_tot), '');
|
||
END IF;
|
||
|
||
v_count_tot :=0;
|
||
FOR rec_updopd IN c_updopd2npq
|
||
LOOP
|
||
-- update zorgt er voor dat de opdracht weer via de putorders wordt verzonden.
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_teverzenden=2, mld_opdr_verzonden=NULL
|
||
WHERE mld_opdr_key=rec_updopd.mld_opdr_key;
|
||
|
||
v_count_tot := v_count_tot + 1;
|
||
END LOOP;
|
||
IF v_count_tot > 0
|
||
THEN
|
||
fac.writelog (p_applname, 'S', 'Opdracht update NPQ : ' || TO_CHAR (v_count_tot), '');
|
||
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 (p_applname, 'E', 'Proces afgebroken!', v_errormsg);
|
||
END fmhn_select_elke_5min;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_import_org (p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';'; -- Field seperator
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Import line
|
||
v_errormsg VARCHAR2 (1000) := '';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
header_is_valid NUMBER := 0;
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_imp NUMBER (10) := 0;
|
||
v_count NUMBER (10);
|
||
-- De importvelden
|
||
v_mincode VARCHAR2 (255);
|
||
v_afdid VARCHAR2 (255);
|
||
v_afdcode VARCHAR2 (255);
|
||
v_afdoms VARCHAR2 (255);
|
||
v_afdidparent VARCHAR2 (255);
|
||
v_kpnr VARCHAR2 (255);
|
||
v_kpoms VARCHAR2 (255);
|
||
v_begindat VARCHAR2 (255);
|
||
v_einddat VARCHAR2 (255);
|
||
v_operator VARCHAR2 (255);
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT fac_imp_file_line, LENGTH (TRIM (REPLACE (fac_imp_file_line, c_delim, ''))) regellengte
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
--DELETE FROM fmhn_imp_org;
|
||
--COMMIT;
|
||
|
||
-- Het aangeleverde bestand heeft soms een komma als scheidingsteken. Deze
|
||
-- wordt hier maar even vervangen.
|
||
--UPDATE fac_imp_file
|
||
-- SET fac_imp_file_line = fmhn.change_delimitor (fac_imp_file_line, ',')
|
||
-- WHERE fac_import_key = p_import_key
|
||
-- AND EXISTS (SELECT 1 FROM fac_imp_file WHERE fac_import_key = p_import_key AND INSTR (UPPER (fac_imp_file_line), 'MINCODE,AFDID,AFDCODE,AFDOMS,AFDIDPARENT,KPNR,KPOMS,BEGINDAT,EINDDAT') > 0);
|
||
SELECT fac_imp_file_line
|
||
INTO v_newline
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key AND fac_imp_file_index = 1;
|
||
|
||
IF INSTR (UPPER (v_newline), 'MINCODE,AFDID,AFDCODE,AFDOMS,AFDIDPARENT,KPNR,KPOMS,BEGINDAT,EINDDAT') > 0
|
||
THEN
|
||
c_delim := ',';
|
||
END IF;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout opvragen importregel';
|
||
v_aanduiding := '';
|
||
-- Lees alle veldwaarden
|
||
-- mincode;afdid;afdcode;afdoms;afdidparent;kpnr;kpoms;begindat;einddat
|
||
fac.imp_getfield (v_newline, c_delim, v_mincode);
|
||
fac.imp_getfield (v_newline, c_delim, v_afdid);
|
||
fac.imp_getfield (v_newline, c_delim, v_afdcode);
|
||
fac.imp_getfield (v_newline, c_delim, v_afdoms);
|
||
fac.imp_getfield (v_newline, c_delim, v_afdidparent);
|
||
fac.imp_getfield (v_newline, c_delim, v_kpnr);
|
||
fac.imp_getfield (v_newline, c_delim, v_kpoms);
|
||
fac.imp_getfield (v_newline, c_delim, v_begindat);
|
||
fac.imp_getfield (v_newline, c_delim, v_einddat);
|
||
fac.imp_getfield (v_newline, c_delim, v_operator);
|
||
|
||
v_aanduiding := '[' || v_mincode || '|' || v_afdid || '|' || v_afdcode || v_afdoms || '] ';
|
||
|
||
-- 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 v_mincode = 'mincode'
|
||
AND v_afdid = 'afdid'
|
||
AND v_afdcode = 'afdcode'
|
||
AND v_afdoms = 'afdoms'
|
||
AND v_afdidparent = 'afdidparent'
|
||
AND v_kpnr = 'kpnr'
|
||
AND v_kpoms = 'kpoms'
|
||
AND v_begindat = 'begindat'
|
||
AND v_einddat = 'einddat'
|
||
--AND v_operator = 'operator'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSIF (rec1.regellengte > 0) -- Lege regels overslaan
|
||
THEN
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Direct wegschrijven; controleer alle veldwaarden maar niet.
|
||
v_errormsg := 'Fout wegschrijven importregel';
|
||
|
||
INSERT INTO fmhn_imp_org (fac_import_key,
|
||
volgnr,
|
||
mincode,
|
||
afdid,
|
||
afdcode,
|
||
afdoms,
|
||
afdidparent,
|
||
kpnr,
|
||
kpoms,
|
||
begindat,
|
||
einddat,
|
||
operator)
|
||
VALUES (p_import_key,
|
||
v_count_tot,
|
||
SUBSTR (TRIM (v_mincode), 1, 10), -- C6
|
||
SUBSTR (TRIM (v_afdid), 1, 101), -- C100
|
||
SUBSTR (TRIM (v_afdcode), 1, 15), -- C15
|
||
SUBSTR (TRIM (v_afdoms), 1, 70), -- C60 vs. C70 in IDM
|
||
SUBSTR (TRIM (v_afdidparent), 1, 101), -- C100
|
||
SUBSTR (TRIM (v_kpnr), 1, 30), -- C20
|
||
SUBSTR (TRIM (v_kpoms), 1, 60), -- C60
|
||
--fac.safe_to_date (TRIM (v_begindat), 'yyyy-mm-dd'),
|
||
fac.safe_to_date (SUBSTR (TRIM (v_begindat), 1, 10), 'yyyy-mm-dd'),
|
||
--fac.safe_to_date (TRIM (v_einddat), 'yyyy-mm-dd'),
|
||
fac.safe_to_date (SUBSTR (TRIM (v_einddat), 1, 10), 'yyyy-mm-dd'),
|
||
SUBSTR (TRIM (v_operator), 1, 6));
|
||
|
||
v_count_imp := v_count_imp + 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, '');
|
||
END;
|
||
|
||
IF MOD (v_count_tot, 500) = 0 THEN COMMIT; 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 afspraak!');
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'S', 'Afdelingen/#ingelezen importregels: ' || TO_CHAR (v_count_tot), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Afdelingen/#ongeldige niet ingelezen importregels: ' || TO_CHAR (v_count_tot - v_count_imp), '');
|
||
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.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Inleesproces Afdelingen afgebroken!');
|
||
|
||
-- Maak importtabel leeg om import van foutieve bestanden te voorkomen!
|
||
--DELETE FROM fmhn_imp_org;
|
||
END;
|
||
/
|
||
/*
|
||
SELECT x1.prs_afdeling_naam oud, '#' || x1.prs_afdeling_naam nieuw
|
||
FROM fmhn_imp_org x1
|
||
WHERE x1.prs_bedrijf_naam IS NOT NULL AND x1.prs_afdeling_naam IS NOT NULL -- Geen lege/ongeldige regels
|
||
AND COALESCE (x1.einddatum, SYSDATE + 1) > TRUNC (SYSDATE)
|
||
AND UPPER (x1.prs_afdeling_naam_parent) = UPPER (x1.prs_afdeling_naam);
|
||
|
||
UPDATE fmhn_imp_org x1
|
||
SET x1.prs_afdeling_naam = '#' || x1.prs_afdeling_naam
|
||
WHERE x1.prs_bedrijf_naam IS NOT NULL AND x1.prs_afdeling_naam IS NOT NULL -- Geen lege/ongeldige regels
|
||
AND COALESCE (x1.einddatum, SYSDATE + 1) > TRUNC (SYSDATE)
|
||
AND UPPER (x1.prs_afdeling_naam_parent) = UPPER (x1.prs_afdeling_naam);
|
||
|
||
SELECT x1.prs_bedrijf_naam, x1.prs_afdeling_naam_parent, x1.prs_afdeling_naam
|
||
FROM fmhn_imp_org x1
|
||
WHERE x1.prs_bedrijf_naam IS NOT NULL AND x1.prs_afdeling_naam IS NOT NULL -- Geen lege/ongeldige regels
|
||
AND COALESCE (x1.einddatum, SYSDATE + 1) > TRUNC (SYSDATE)
|
||
AND EXISTS -- Dezelfde afdeling ook onder andere parent!
|
||
(SELECT 1
|
||
FROM fmhn_imp_org x2
|
||
WHERE x2.prs_bedrijf_naam IS NOT NULL AND x2.prs_afdeling_naam IS NOT NULL -- Geen lege/ongeldige regels
|
||
AND COALESCE (x2.einddatum, SYSDATE + 1) > TRUNC (SYSDATE)
|
||
AND x2.prs_afdeling_naam_parent != x1.prs_afdeling_naam_parent
|
||
AND x2.prs_afdeling_naam = x1.prs_afdeling_naam)
|
||
AND EXISTS -- Afdelingen onder dezelfde afdelingen onder andere parent!
|
||
(SELECT 1
|
||
FROM fmhn_imp_org x3
|
||
WHERE x3.prs_bedrijf_naam IS NOT NULL AND x3.prs_afdeling_naam IS NOT NULL -- Geen lege/ongeldige regels
|
||
AND COALESCE (x3.einddatum, SYSDATE + 1) > TRUNC (SYSDATE)
|
||
AND x3.prs_afdeling_naam_parent != x1.prs_afdeling_naam_parent
|
||
AND x3.prs_afdeling_naam_parent = x1.prs_afdeling_naam);
|
||
*/
|
||
CREATE OR REPLACE PROCEDURE fmhn_update_org (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000) := '';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_upd NUMBER (10) := 0;
|
||
v_count NUMBER;
|
||
l_impcountafd NUMBER;
|
||
v_mincode VARCHAR2 (6);
|
||
v_bedrijf_key prs_bedrijf.prs_bedrijf_key%TYPE;
|
||
v_minomschr_key fac_usrdata.fac_usrdata_key%TYPE;
|
||
v_minomschr fac_usrdata.fac_usrdata_omschr%TYPE;
|
||
v_afdidroot prs_kenmerklink.prs_kenmerklink_waarde%TYPE;
|
||
v_minafko VARCHAR2 (10);
|
||
l_oldcountafd NUMBER;
|
||
--l_oldcountkpn NUMBER;
|
||
v_rootvolgnr NUMBER;
|
||
v_afdid fmhn_imp_org.afdid%TYPE;
|
||
v_afdcode fmhn_imp_org.afdcode%TYPE;
|
||
v_afdoms fmhn_imp_org.afdoms%TYPE;
|
||
v_afdidparent fmhn_imp_org.afdidparent%TYPE;
|
||
v_begindat VARCHAR2 (10);
|
||
v_einddat VARCHAR2 (10);
|
||
l_cur_lev NUMBER;
|
||
lafdelingkey prs_afdeling.prs_afdeling_key%TYPE;
|
||
l_cur_parentkey prs_afdeling.prs_afdeling_parentkey%TYPE;
|
||
l_cur_afdcode prs_kenmerklink.prs_kenmerklink_waarde%TYPE;
|
||
l_cur_afdoms prs_afdeling.prs_afdeling_omschrijving%TYPE;
|
||
l_new_lev NUMBER;
|
||
l_new_parentkey prs_afdeling.prs_afdeling_parentkey%TYPE;
|
||
l_new_grandparentkey prs_afdeling.prs_afdeling_parentkey%TYPE;
|
||
l_afdpadparent prs_kenmerklink.prs_kenmerklink_waarde%TYPE;
|
||
lkostenplaatskey prs_kostenplaats.prs_kostenplaats_key%TYPE;
|
||
v_kpnr prs_kostenplaats.prs_kostenplaats_nr%TYPE;
|
||
v_kpoms prs_kostenplaats.prs_kostenplaats_omschrijving%TYPE;
|
||
l_vervcountafd NUMBER;
|
||
--l_vervcountkpn NUMBER;
|
||
l_newcountafd NUMBER;
|
||
--l_newcountkpn NUMBER;
|
||
|
||
-- Uitgangspunt is dat afbeelding in Facilitor stuctureel gelijk blijft aan
|
||
-- structuur zoals geimporteerd uit IDM.
|
||
-- Wel geldt dat er in Facilitor slechts 5 niveaus zijn (excl. bedrijf)
|
||
-- en in IDM meer. De "lagere" regionen worden daarom op niveau 5 gehangen
|
||
-- (onder niveau 4)!
|
||
CURSOR cafdboomdelta (p_volgnr NUMBER)
|
||
IS
|
||
SELECT LEVEL imp_lev,
|
||
volgnr, mincode, afdid, afdcode, SUBSTR (afdoms, 1, 60) afdoms, afdidparent,
|
||
NULL kpnr, NULL kpoms, -- Bewust negeren evt. ontvangen kostenplaats-velden!
|
||
begindat, einddat,
|
||
operator
|
||
FROM (SELECT * FROM fmhn_imp_org WHERE fac_import_key = p_import_key)
|
||
CONNECT BY PRIOR afdid = afdidparent
|
||
START WITH volgnr = p_volgnr
|
||
ORDER BY LEVEL;
|
||
BEGIN
|
||
-- Hoeveel afdelingen ontvangen?
|
||
SELECT COUNT ( * )
|
||
INTO l_impcountafd
|
||
FROM fmhn_imp_org
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
-- Randvoorwaarde dat alle afdelingen in importbestand dezelfde mincode!
|
||
v_errormsg := 'Fout (uniek) bepalen mincode';
|
||
SELECT DISTINCT mincode
|
||
INTO v_mincode
|
||
FROM fmhn_imp_org
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
-- Randvoorwaarde dat <20><>n intern bedrijf bestaat met bepaalde mincode!
|
||
v_errormsg := 'Fout (uniek) bepalen bedrijf';
|
||
SELECT b.prs_bedrijf_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr, afdid.prs_kenmerklink_waarde
|
||
INTO v_bedrijf_key, v_minomschr_key, v_minomschr, v_afdidroot
|
||
FROM prs_v_aanwezigbedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1020) mincode, -- Ministeriecode (bij Bedrijf)
|
||
fac_v_aanwezigusrdata ud,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1021) afdid -- Organisatieonderdeelcode (bij Bedrijf)
|
||
WHERE b.prs_bedrijf_intern = 1
|
||
AND b.prs_bedrijf_key = mincode.prs_link_key
|
||
AND fac.safe_to_number (mincode.prs_kenmerklink_waarde) = ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_upper = UPPER (v_mincode)
|
||
AND b.prs_bedrijf_key = afdid.prs_link_key(+);
|
||
v_minafko := TRIM (SUBSTR (v_minomschr, INSTR (v_minomschr, '-') + 1));
|
||
|
||
-- Hoeveel afdelingen actief voor ministerie in Facilitor?
|
||
SELECT COUNT ( * )
|
||
INTO l_oldcountafd
|
||
FROM prs_v_afdeling_boom ab, prs_afdeling afd
|
||
WHERE ab.prs_bedrijf_key = v_bedrijf_key
|
||
AND ab.prs_afdeling_key = afd.prs_afdeling_key
|
||
AND afd.prs_afdeling_verwijder IS NULL
|
||
AND UPPER (COALESCE (afd.prs_afdeling_omschrijving, '-')) NOT LIKE 'VERVALLEN:%';
|
||
|
||
-- Hoeveel kostenplaatsen actief voor ministerie in Facilitor?
|
||
--SELECT COUNT ( * )
|
||
-- INTO l_oldcountkpn
|
||
-- FROM prs_v_aanwezigkostenplaats
|
||
-- WHERE prs_kostenplaats_module = 'PRS'
|
||
-- AND UPPER (prs_kostenplaats_nr) LIKE UPPER (v_minafko) || '%'
|
||
-- AND UPPER (COALESCE (prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%';
|
||
/*
|
||
-- Controles op problemen in ontvangen bericht (igv. full-load).
|
||
SELECT afdid FROM fmhn_imp_org
|
||
MINUS
|
||
SELECT afdid
|
||
FROM fmhn_imp_org
|
||
CONNECT BY PRIOR afdid = afdidparent
|
||
START WITH afdidparent IS NULL;
|
||
|
||
-- Bijwerken dat het 'Organisatielevel (in IDM)'-kenmerk correct gevuld!
|
||
-- Check op verplichte velden bij INSERT: afdcode, afdoms!
|
||
*/
|
||
-- Voorkennis: CSV-import zou full-load moeten zijn met <20><>n afdeling zonder
|
||
-- parent. Bij >1 afdelingen zonder parent, pak laagste volgnr!
|
||
-- IDM-import zou een XML-bericht per afdeling moeten aanbieden
|
||
-- met volgnr=1 (in de juiste volgorde). Bij >1 afdelingen, dan
|
||
-- op volgnr verwerken!
|
||
|
||
-- Bepaal volgnr van root in ontvangen afdelingsboom.
|
||
v_errormsg := 'Fout (uniek) bepalen root';
|
||
SELECT COUNT ( * ), MIN (volgnr)
|
||
INTO v_count, v_rootvolgnr
|
||
FROM fmhn_imp_org
|
||
WHERE fac_import_key = p_import_key
|
||
AND afdidparent IS NULL;
|
||
|
||
IF l_impcountafd > 1 AND (v_count > 1 OR v_rootvolgnr IS NULL)
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Full-load ongeldig(/fout bepalen root)', 'Importproces Afdelingen afgebroken!');
|
||
RETURN;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bepalen SEARCH-request';
|
||
SELECT COUNT ( * ), MAX (afdid)
|
||
INTO v_count, v_afdid
|
||
FROM fmhn_imp_org
|
||
WHERE fac_import_key = p_import_key
|
||
AND UPPER (operator) = 'SEARCH';
|
||
|
||
IF v_count > 0 -- SEARCH-request ontvangen?
|
||
THEN
|
||
IF l_impcountafd > 1
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Ongeldige operator voor >1 afdeling', 'Importproces Afdelingen afgebroken!');
|
||
ELSE
|
||
IF v_afdidroot = v_afdid -- Hoogste niveau=intern bedrijf!
|
||
THEN
|
||
v_afdcode := NULL; -- TODO?:Niet geregistreerd bij bedrijf!
|
||
v_afdoms := NULL; -- TODO?:Niet geregistreerd bij bedrijf!
|
||
v_afdidparent := NULL;
|
||
v_begindat := NULL; -- TODO?:Niet geregistreerd bij bedrijf!
|
||
v_einddat := NULL; -- TODO?:Niet geregistreerd bij bedrijf!
|
||
|
||
fac.imp_writelog (p_import_key, 'S', '#Afdelingen/SEARCH: 1 -> Succesvol: 1', '');
|
||
--fac.imp_writelog (p_import_key, 'X', '<mincode>' || xml.char_to_html (v_mincode) || '</mincode><afdid>' || xml.char_to_html (v_afdid) || '</afdid><afdcode>' || xml.char_to_html (v_afdcode) || '</afdcode><afdoms>' || xml.char_to_html (v_afdoms) || '</afdoms><afdidparent>' || xml.char_to_html (v_afdidparent) || '</afdidparent><begindat>' || xml.char_to_html (v_begindat) || '</begindat><einddat>' || xml.char_to_html (v_einddat) || '</einddat>', '');
|
||
fac.imp_writelog (p_import_key, 'X', xml.char_to_html (v_mincode) || '#;#' || xml.char_to_html (v_afdid) || '#;#' || xml.char_to_html (v_afdcode) || '#;#' || xml.char_to_html (v_afdoms) || '#;#' || xml.char_to_html (v_afdidparent) || '#;#' || xml.char_to_html (v_begindat) || '#;#' || xml.char_to_html (v_einddat), '');
|
||
ELSE
|
||
BEGIN
|
||
v_errormsg := 'Fout bepalen afdeling';
|
||
SELECT afdcode.prs_kenmerklink_waarde afdcode,
|
||
a.prs_afdeling_omschrijving afdoms,
|
||
--DECODE (a.prs_afdeling_parentkey, NULL, DECODE (v_afdid, v_afdidroot, NULL, v_afdidroot), SUBSTR (ap.prs_afdeling_externid, 3)) afdidparent, -- TODO:Als wij de root ook gaan registreren als afdeling-1 (dus naast intern bedrijf)!
|
||
DECODE (a.prs_afdeling_parentkey, NULL, v_afdidroot, SUBSTR (ap.prs_afdeling_externid, 3)) afdidparent,
|
||
SUBSTR (begindat.prs_kenmerklink_waarde, 7) || '-' || SUBSTR (begindat.prs_kenmerklink_waarde, 4, 2) || '-' || SUBSTR (begindat.prs_kenmerklink_waarde, 1, 2) begindat,
|
||
SUBSTR (einddat.prs_kenmerklink_waarde, 7) || '-' || SUBSTR (einddat.prs_kenmerklink_waarde, 4, 2) || '-' || SUBSTR (einddat.prs_kenmerklink_waarde, 1, 2) einddat
|
||
INTO v_afdcode,
|
||
v_afdoms,
|
||
v_afdidparent,
|
||
v_begindat,
|
||
v_einddat
|
||
FROM prs_afdeling a, -- LET OP: Niet prs_v_aanwezigafdeling (want soms "lager" dan 5)!
|
||
prs_afdeling ap,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1001) afdcode, -- Afdelingscode
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1005) begindat, -- Begindatum
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1006) einddat -- Einddatum
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND UPPER (a.prs_afdeling_externid) = UPPER (v_mincode || v_afdid)
|
||
AND a.prs_afdeling_parentkey = ap.prs_afdeling_key(+)
|
||
AND a.prs_afdeling_key = afdcode.prs_link_key(+)
|
||
AND a.prs_afdeling_key = begindat.prs_link_key(+)
|
||
AND a.prs_afdeling_key = einddat.prs_link_key(+);
|
||
|
||
fac.imp_writelog (p_import_key, 'S', '#Afdelingen/SEARCH: 1 -> Succesvol: 1', '');
|
||
--fac.imp_writelog (p_import_key, 'X', '<mincode>' || xml.char_to_html (v_mincode) || '</mincode><afdid>' || xml.char_to_html (v_afdid) || '</afdid><afdcode>' || xml.char_to_html (v_afdcode) || '</afdcode><afdoms>' || xml.char_to_html (v_afdoms) || '</afdoms><afdidparent>' || xml.char_to_html (v_afdidparent) || '</afdidparent><begindat>' || xml.char_to_html (v_begindat) || '</begindat><einddat>' || xml.char_to_html (v_einddat) || '</einddat>', '');
|
||
fac.imp_writelog (p_import_key, 'X', xml.char_to_html (v_mincode) || '#;#' || xml.char_to_html (v_afdid) || '#;#' || xml.char_to_html (v_afdcode) || '#;#' || xml.char_to_html (v_afdoms) || '#;#' || xml.char_to_html (v_afdidparent) || '#;#' || xml.char_to_html (v_begindat) || '#;#' || xml.char_to_html (v_einddat), '');
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'S', '#Afdelingen/SEARCH: 1 -> Succesvol: 0', '');
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
|
||
RETURN;
|
||
END IF;
|
||
|
||
-- Geen SEARCH-request ontvangen!
|
||
v_aanduiding := '[' || TO_CHAR (v_rootvolgnr) || '|' || v_mincode || '|' || v_minafko || '|' || v_afdidroot || '] ';
|
||
v_errormsg := 'Fout bepalen afdeling (afdid=afdidparent?)';
|
||
FOR rc IN cafdboomdelta (COALESCE (v_rootvolgnr, 1))
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '[' || TO_CHAR (rc.volgnr) || '|' || rc.mincode || '|' || rc.afdid || '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Is de ontvangen afdeling het hoogste niveau=interne bedrijf? Dit
|
||
-- is het geval als geldt: Geen parent ontvangen en INSERT!
|
||
-- Randvoorwaarde is dat in IDM op hoogste niveau maar <20><>n afdeling
|
||
-- bestaat! Zo niet, dan wint <20><>n tak van de boom!
|
||
IF rc.afdidparent IS NULL AND COALESCE (UPPER (rc.operator), 'INSERT') = 'INSERT'
|
||
THEN
|
||
--v_errormsg := 'Fout bijwerken bedrijfsnaam';
|
||
--UPDATE prs_bedrijf
|
||
-- SET prs_bedrijf_naam = SUBSTR (rc.afdoms, 1, 60)
|
||
-- WHERE prs_bedrijf_key = v_bedrijf_key;
|
||
|
||
IF v_afdidroot IS NULL -- Organisatieonderdeelcode nog niet gevuld (of gewijzigd)?
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken bedrijf';
|
||
prs.upsertkenmerk (1021, v_bedrijf_key, rc.afdid); -- Organisatieonderdeelcode
|
||
v_afdidroot := rc.afdid;
|
||
ELSIF v_afdidroot <> rc.afdid
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken bedrijf';
|
||
prs.upsertkenmerk (1021, v_bedrijf_key, rc.afdid); -- Organisatieonderdeelcode
|
||
v_afdidroot := rc.afdid;
|
||
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Organisatieonderdeelcode van ministerie gewijzigd');
|
||
END IF;
|
||
END IF;
|
||
|
||
--fac.imp_writelog (p_import_key, 'S', TO_CHAR (v_count_tot), v_afdidroot || '/' || rc.afdid ); -- Logging!
|
||
IF v_afdidroot = rc.afdid -- Hoogste niveau=intern bedrijf!
|
||
THEN
|
||
v_errormsg := 'Doe verder niets (geen level, pad, etc.)';
|
||
ELSE
|
||
-- Vanaf hier hebben ontvangen afdelingen bij INSERT een parent.
|
||
-- Bestaat afdeling al en wat is dan huidige parent?
|
||
v_errormsg := 'Fout bepalen afdeling';
|
||
BEGIN
|
||
SELECT fac.safe_to_number (orglev.prs_kenmerklink_waarde),
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_parentkey,
|
||
afdcode.prs_kenmerklink_waarde,
|
||
a.prs_afdeling_omschrijving
|
||
INTO l_cur_lev,
|
||
lafdelingkey,
|
||
l_cur_parentkey,
|
||
l_cur_afdcode,
|
||
l_cur_afdoms
|
||
FROM prs_afdeling a, -- LET OP: Niet prs_v_aanwezigafdeling (want soms "lager" dan 5)!
|
||
--prs_v_afdeling_boom ab,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1003) orglev, -- Organisatielevel (in IDM)
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1001) afdcode -- Afdelingscode
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND UPPER (a.prs_afdeling_externid) = UPPER (rc.mincode || rc.afdid)
|
||
--AND a.prs_afdeling_key = ab.prs_afdeling_key(+) -- LET OP: Kan tijdelijk uit beeld raken ("lager" dan 5)!
|
||
AND a.prs_afdeling_key = orglev.prs_link_key(+)
|
||
AND a.prs_afdeling_key = afdcode.prs_link_key(+);
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
l_cur_lev := -1;
|
||
lafdelingkey := -1;
|
||
l_cur_parentkey := -1;
|
||
l_cur_afdcode := rc.afdcode; -- Verplicht bij INSERT!
|
||
l_cur_afdoms := rc.afdoms; -- Verplicht bij INSERT!
|
||
END;
|
||
|
||
-- Bepaal parent en parent van (soms zelf verschoven) parent!
|
||
-- Parent verplicht vanaf level=2 bij CSV-import, INSERT en indien
|
||
-- ontvangen!
|
||
v_errormsg := 'Fout bepalen parent';
|
||
IF rc.afdidparent IS NULL -- Geen parent ontvangen!
|
||
THEN
|
||
-- Geen huidige parent?
|
||
IF l_cur_parentkey IS NULL
|
||
THEN -- UPDATE/DELETE van een Afdeling-1!
|
||
l_new_lev := 2;
|
||
l_new_parentkey := TO_NUMBER (NULL);
|
||
l_new_grandparentkey := TO_NUMBER (NULL);
|
||
l_afdpadparent := v_minafko; -- Root meenemen in pad!
|
||
ELSE -- UPDATE/DELETE van een Afdeling-2 of lager!
|
||
-- Bepaal gegevens van bestaande parent!
|
||
SELECT fac.safe_to_number (orglev.prs_kenmerklink_waarde) + 1,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_parentkey,
|
||
afdpad.prs_kenmerklink_waarde
|
||
INTO l_new_lev, -- = l_cur_lev
|
||
l_new_parentkey, -- = l_cur_parentkey
|
||
l_new_grandparentkey,
|
||
l_afdpadparent
|
||
FROM prs_afdeling a, -- LET OP: Of prs_v_aanwezigafdeling (parent nooit "lager" dan 5)!
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1003) orglev, -- Organisatielevel (in IDM)
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1004) afdpad -- Afdelingspad
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_key = l_cur_parentkey
|
||
AND a.prs_afdeling_key = orglev.prs_link_key(+)
|
||
AND a.prs_afdeling_key = afdpad.prs_link_key(+);
|
||
END IF;
|
||
ELSE -- Parent ontvangen!
|
||
-- Parent is root?
|
||
IF rc.afdidparent = v_afdidroot
|
||
THEN -- UPDATE/DELETE van een Afdeling-1!
|
||
l_new_lev := 2;
|
||
l_new_parentkey := TO_NUMBER (NULL);
|
||
l_new_grandparentkey := TO_NUMBER (NULL);
|
||
l_afdpadparent := v_minafko; -- Root meenemen in pad!
|
||
ELSE -- UPDATE/DELETE van een Afdeling-2 of lager!
|
||
-- Bepaal gegevens van ontvangen parent!
|
||
SELECT fac.safe_to_number (orglev.prs_kenmerklink_waarde) + 1,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_parentkey,
|
||
afdpad.prs_kenmerklink_waarde
|
||
INTO l_new_lev,
|
||
l_new_parentkey,
|
||
l_new_grandparentkey,
|
||
l_afdpadparent
|
||
FROM prs_afdeling a, -- LET OP: Of prs_v_aanwezigafdeling (parent nooit "lager" dan 5)!
|
||
--prs_v_afdeling_boom ab,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1003) orglev, -- Organisatielevel (in IDM)
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1004) afdpad -- Afdelingspad
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND UPPER (a.prs_afdeling_externid) = UPPER (rc.mincode || rc.afdidparent)
|
||
--AND a.prs_afdeling_key = ab.prs_afdeling_key -- LET OP: Parent kan nooit uit beeld raken ("lager" dan 5)!
|
||
AND a.prs_afdeling_key = orglev.prs_link_key(+)
|
||
AND a.prs_afdeling_key = afdpad.prs_link_key(+);
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Bij mapping van IDM-afdelingen slaan we geen level over en geldt:
|
||
-- level=1 => Bedrijf
|
||
-- level=2 => Afdeling-1
|
||
-- level=3 => Afdeling-2
|
||
-- level=4 => Afdeling-3
|
||
-- level=5 => Afdeling-4
|
||
-- level=6 => Afdeling-5
|
||
-- :
|
||
-- level=n => Afdeling-5
|
||
-- Waarde in rc.afdid voor een (of enkele) ministeries >15 doordat
|
||
-- een prefix is toegevoegd en daarom prs_afdeling_naam gevuld met
|
||
-- laatste 15 posities!
|
||
IF lafdelingkey = -1 -- Nieuwe afdeling -> toevoegen!
|
||
THEN
|
||
v_errormsg := 'Ongeldige operator voor niet bestaande afdeling';
|
||
IF COALESCE (UPPER (rc.operator), 'INSERT') = 'INSERT'
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen afdeling';
|
||
IF l_new_lev = 2 -- Ingelezen afdeling betreft Afdeling-1
|
||
THEN
|
||
INSERT INTO prs_afdeling (prs_bedrijf_key,
|
||
prs_afdeling_parentkey,
|
||
prs_afdeling_naam,
|
||
prs_afdeling_omschrijving,
|
||
--prs_kostenplaats_key,
|
||
prs_afdeling_externid,
|
||
prs_afdeling_externsyncdate)
|
||
VALUES (v_bedrijf_key,
|
||
NULL, -- l_new_parentkey = NULL
|
||
SUBSTR (rc.afdid, GREATEST (-LENGTH (rc.afdid), -15)),
|
||
rc.afdoms,
|
||
--lkostenplaatskey,
|
||
UPPER (rc.mincode || rc.afdid),
|
||
SYSDATE)
|
||
RETURNING prs_afdeling_key
|
||
INTO lafdelingkey;
|
||
ELSIF l_new_lev <= 6 -- Afdeling-2 t/m Afdeling-5
|
||
THEN
|
||
INSERT INTO prs_afdeling (prs_bedrijf_key,
|
||
prs_afdeling_parentkey,
|
||
prs_afdeling_naam,
|
||
prs_afdeling_omschrijving,
|
||
--prs_kostenplaats_key,
|
||
prs_afdeling_externid,
|
||
prs_afdeling_externsyncdate)
|
||
VALUES (NULL,
|
||
l_new_parentkey,
|
||
SUBSTR (rc.afdid, GREATEST (-LENGTH (rc.afdid), -15)),
|
||
rc.afdoms,
|
||
--lkostenplaatskey,
|
||
UPPER (rc.mincode || rc.afdid),
|
||
SYSDATE)
|
||
RETURNING prs_afdeling_key
|
||
INTO lafdelingkey;
|
||
ELSE -- Omhoog geschoven afdeling op niveau Afdeling-5
|
||
-- Doordat cursor van hoog naar laag door organisatie
|
||
-- loopt, komen afdelingen vanaf level>=7 keurig onder
|
||
-- gewenste Afdeling-4 te hangen.
|
||
INSERT INTO prs_afdeling (prs_bedrijf_key,
|
||
prs_afdeling_parentkey,
|
||
prs_afdeling_naam,
|
||
prs_afdeling_omschrijving,
|
||
--prs_kostenplaats_key,
|
||
prs_afdeling_externid,
|
||
prs_afdeling_externsyncdate)
|
||
VALUES (NULL,
|
||
l_new_grandparentkey,
|
||
SUBSTR (rc.afdid, GREATEST (-LENGTH (rc.afdid), -15)),
|
||
rc.afdoms,
|
||
--lkostenplaatskey,
|
||
UPPER (rc.mincode || rc.afdid),
|
||
SYSDATE)
|
||
RETURNING prs_afdeling_key
|
||
INTO lafdelingkey;
|
||
END IF;
|
||
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Afdeling toegevoegd');
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
||
END IF;
|
||
ELSE -- Bestaande afdeling -> bijwerken (misschien)!
|
||
v_errormsg := 'Ongeldige operator voor bestaande afdeling';
|
||
IF COALESCE (UPPER (rc.operator), 'INSERT') = 'INSERT' OR COALESCE (UPPER (rc.operator), 'UPDATE') = 'UPDATE'
|
||
THEN
|
||
/*
|
||
-- Check op welke afdelingen buiten de boot vallen, want dan niet in prs_v_afdeling_boom!
|
||
SELECT *
|
||
FROM prs_afdeling a
|
||
WHERE NOT EXISTS (SELECT 1 FROM prs_v_afdeling_boom WHERE prs_afdeling_key = a.prs_afdeling_key);
|
||
*/
|
||
-- Check of bij te werken afdeling geen voorouder is van de
|
||
-- (nieuwe) parent voorkoming van loops!
|
||
v_errormsg := 'Fout bepalen hierarchie (loop)';
|
||
SELECT COUNT (*)
|
||
INTO v_count
|
||
FROM prs_v_afdeling_boom
|
||
WHERE prs_afdeling_key = l_new_parentkey
|
||
AND (prs_afdeling_key1 = lafdelingkey
|
||
OR prs_afdeling_key2 = lafdelingkey
|
||
OR prs_afdeling_key3 = lafdelingkey
|
||
OR prs_afdeling_key4 = lafdelingkey);
|
||
|
||
IF v_count > 0
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Importproces Afdelingen afgebroken!');
|
||
RETURN;
|
||
END IF;
|
||
|
||
-- Zonodig bijwerken omschrijving (kon eerder vervallen
|
||
-- zijn) en/of omhangen naar de juiste plek in de boom.
|
||
v_errormsg := 'Fout bijwerken afdeling';
|
||
IF l_new_lev = 2 -- Ingelezen afdeling betreft Afdeling-1
|
||
THEN
|
||
UPDATE prs_afdeling
|
||
SET prs_bedrijf_key = v_bedrijf_key,
|
||
prs_afdeling_parentkey = NULL,
|
||
prs_afdeling_naam = SUBSTR (rc.afdid, GREATEST (-LENGTH (rc.afdid), -15)),
|
||
prs_afdeling_omschrijving = COALESCE (rc.afdoms, prs_afdeling_omschrijving),
|
||
--prs_kostenplaats_key = COALESCE (lkostenplaatskey, prs_kostenplaats_key),
|
||
prs_afdeling_externsyncdate = SYSDATE
|
||
WHERE prs_afdeling_key = lafdelingkey;
|
||
ELSIF l_new_lev <= 6 -- Afdeling-2 t/m Afdeling-5
|
||
THEN
|
||
UPDATE prs_afdeling
|
||
SET prs_bedrijf_key = NULL,
|
||
prs_afdeling_parentkey = l_new_parentkey,
|
||
prs_afdeling_naam = SUBSTR (rc.afdid, GREATEST (-LENGTH (rc.afdid), -15)),
|
||
prs_afdeling_omschrijving = COALESCE (rc.afdoms, prs_afdeling_omschrijving),
|
||
--prs_kostenplaats_key = COALESCE (lkostenplaatskey, prs_kostenplaats_key),
|
||
prs_afdeling_externsyncdate = SYSDATE
|
||
WHERE prs_afdeling_key = lafdelingkey;
|
||
ELSE -- Omhoog geschoven afdeling op niveau Afdeling-5
|
||
-- Doordat cursor van hoog naar laag door organisatie
|
||
-- loopt, komen afdelingen vanaf level>=7 keurig onder
|
||
-- gewenste Afdeling-4 te hangen.
|
||
UPDATE prs_afdeling
|
||
SET prs_bedrijf_key = NULL,
|
||
prs_afdeling_parentkey = l_new_grandparentkey,
|
||
prs_afdeling_naam = SUBSTR (rc.afdid, GREATEST (-LENGTH (rc.afdid), -15)),
|
||
prs_afdeling_omschrijving = COALESCE (rc.afdoms, prs_afdeling_omschrijving),
|
||
--prs_kostenplaats_key = COALESCE (lkostenplaatskey, prs_kostenplaats_key),
|
||
prs_afdeling_externsyncdate = SYSDATE
|
||
WHERE prs_afdeling_key = lafdelingkey;
|
||
END IF;
|
||
|
||
IF l_new_lev <> l_cur_lev
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'I', v_aanduiding, 'Afdeling omgehangen naar level=' || TO_CHAR (l_new_lev));
|
||
|
||
-- TODO:Subafdelingsboom bijwerken beginnen wij niet aan,
|
||
-- want dat is potentieel - hoog in de boom - zo'n beetje
|
||
-- de hele ORG-import!
|
||
END IF;
|
||
ELSIF UPPER (rc.operator) = 'DELETE'
|
||
THEN
|
||
-- Zet afdeling en eventueel kostenplaats op VERVALLEN; de rest handmatig verder maar regelen!
|
||
v_errormsg := 'Fout inactiveren afdeling';
|
||
UPDATE prs_afdeling
|
||
SET prs_afdeling_omschrijving = SUBSTR ('VERVALLEN:' || COALESCE (prs_afdeling_omschrijving, '-'), 1, 60),
|
||
prs_afdeling_externsyncdate = SYSDATE
|
||
WHERE prs_afdeling_key = lafdelingkey
|
||
AND UPPER (COALESCE (prs_afdeling_omschrijving, '-')) NOT LIKE 'VERVALLEN:%';
|
||
|
||
v_errormsg := 'Fout inactiveren kostenplaats';
|
||
UPDATE prs_kostenplaats
|
||
SET prs_kostenplaats_omschrijving = SUBSTR ('VERVALLEN:' || COALESCE (prs_kostenplaats_omschrijving, '-'), 1, 60),
|
||
prs_kostenplaats_extsyncdate = SYSDATE
|
||
WHERE prs_kostenplaats_key = lkostenplaatskey
|
||
AND UPPER (COALESCE (prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_afdeling
|
||
WHERE prs_kostenplaats_key = lkostenplaatskey
|
||
AND prs_afdeling_key <> lafdelingkey);
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Kostenplaats-afhandeling bij INSERT of UPDATE!
|
||
IF COALESCE (UPPER (rc.operator), 'INSERT') <> 'DELETE'
|
||
THEN
|
||
-- Bepaal huidige kostenplaats van - hier bekende - afdeling!
|
||
v_errormsg := 'Fout bepalen afdelingskostenplaats';
|
||
SELECT prs_kostenplaats_key
|
||
INTO lkostenplaatskey
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = lafdelingkey;
|
||
|
||
-- Als eerder een kostenplaats standaard was aangemaakt en nu
|
||
-- wordt een kostenplaats ontvangen, dan standaard kostenplaats
|
||
-- niet bijwerken, maar nieuwe kostenplaats aanmaken/koppelen!
|
||
-- Het schonen van niet gebruikte standaard kostenplaatsen komt
|
||
-- later nog wel een keertje.
|
||
IF lkostenplaatskey IS NULL OR rc.kpnr IS NOT NULL -- Afdeling zonder kostenplaats of kpnnr ontvangen!
|
||
THEN
|
||
v_errormsg := 'Fout bepalen kostenplaats';
|
||
IF rc.kpnr IS NULL -- Bij INSERT beide niet ontvangen! Bij UPDATE anders omschrijving mogelijk op '-'!
|
||
THEN
|
||
v_kpnr := SUBSTR (v_minafko || rc.afdid, GREATEST (-LENGTH (v_minafko || rc.afdid), -30));
|
||
v_kpoms := SUBSTR (l_afdpadparent || '#' || COALESCE (rc.afdoms, l_cur_afdoms), GREATEST (-LENGTH (l_afdpadparent || '#' || COALESCE (rc.afdoms, l_cur_afdoms)), -60));
|
||
ELSE -- Bij INSERT beide ontvangen! Bij UPDATE anders omschrijving mogelijk op '-'!
|
||
v_kpnr := SUBSTR (v_minafko || rc.kpnr, GREATEST (-LENGTH (v_minafko || rc.kpnr), -30));
|
||
v_kpoms := COALESCE (rc.kpoms, SUBSTR (l_afdpadparent || '#' || COALESCE (rc.afdcode, l_cur_afdcode), GREATEST (-LENGTH (l_afdpadparent || '#' || COALESCE (rc.afdcode, l_cur_afdcode)), -60)));
|
||
END IF;
|
||
|
||
BEGIN
|
||
SELECT prs_kostenplaats_key
|
||
INTO lkostenplaatskey
|
||
FROM prs_v_aanwezigkostenplaats
|
||
WHERE prs_kostenplaats_upper = UPPER (v_kpnr);
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
lkostenplaatskey := -1;
|
||
END;
|
||
|
||
IF lkostenplaatskey = -1 -- Kostenplaats bestaat niet!
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen kostenplaats';
|
||
INSERT INTO prs_kostenplaats (prs_kostenplaats_nr,
|
||
prs_kostenplaats_omschrijving,
|
||
prs_kostenplaats_module,
|
||
prs_kostenplaats_begin,
|
||
prs_kostenplaats_eind,
|
||
prs_kostenplaats_extsyncdate)
|
||
VALUES (v_kpnr,
|
||
SUBSTR (v_kpoms, 1, 60),
|
||
'PRS',
|
||
SYSDATE,
|
||
NULL,
|
||
SYSDATE)
|
||
RETURNING prs_kostenplaats_key
|
||
INTO lkostenplaatskey;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken afdelingskostenplaats';
|
||
UPDATE prs_afdeling
|
||
SET prs_kostenplaats_key = lkostenplaatskey,
|
||
prs_afdeling_externsyncdate = SYSDATE
|
||
WHERE prs_afdeling_key = lafdelingkey;
|
||
ELSE -- Tja, afdeling met kostenplaats en geen kpnr ontvangen, dan mogelijk bijwerken omschrijving!
|
||
-- TODO (maar laat FMH daar eerst maar eens achter komen):
|
||
-- Eerst nog checken op dubbel gebruik van kostenplaatsen?
|
||
v_errormsg := 'Fout bijwerken kostenplaats';
|
||
v_kpoms := COALESCE (rc.kpoms, SUBSTR (l_afdpadparent || '#' || COALESCE (rc.afdoms, l_cur_afdoms), GREATEST (-LENGTH (l_afdpadparent || '#' || COALESCE (rc.afdoms, l_cur_afdoms)), -60)));
|
||
|
||
UPDATE prs_kostenplaats
|
||
SET prs_kostenplaats_omschrijving = SUBSTR (v_kpoms, 1, 60),
|
||
prs_kostenplaats_extsyncdate = SYSDATE
|
||
WHERE prs_kostenplaats_key = lkostenplaatskey;
|
||
END IF;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken mincode';
|
||
prs.upsertkenmerk (1000, lafdelingkey, TO_CHAR (v_minomschr_key)); -- Ministeriecode
|
||
IF rc.afdcode IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken afdcode';
|
||
prs.upsertkenmerk (1001, lafdelingkey, rc.afdcode); -- Afdelingscode
|
||
END IF;
|
||
IF rc.afdidparent IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken afdidparent';
|
||
prs.upsertkenmerk (1002, lafdelingkey, rc.afdidparent); -- Identificatie parentafd.
|
||
END IF;
|
||
IF l_new_lev <> COALESCE (l_cur_lev, -1)
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken orglevel';
|
||
prs.upsertkenmerk (1003, lafdelingkey, TO_CHAR (l_new_lev)); -- Organisatielevel (in IDM)
|
||
END IF;
|
||
-- TODO (maar laat FMH daar eerst maar eens achter komen):
|
||
-- Als parent wordt verschoven (omhoog of omlaag), dan blijven
|
||
-- code+parent ongewijzigd, maar zal level+pad wijzigen!
|
||
-- Zonder updates vanuit IDM voor de onderliggende afdelingen,
|
||
-- gebeurt niets in Facilitor en kloppen level+pad niet meer!
|
||
IF rc.afdcode IS NOT NULL OR rc.afdidparent IS NOT NULL OR l_new_lev <> COALESCE (l_cur_lev, -1)
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken afdpad';
|
||
prs.upsertkenmerk (1004, lafdelingkey, l_afdpadparent || '#' || COALESCE (rc.afdcode, l_cur_afdcode)); -- Afdelingspad
|
||
END IF;
|
||
IF rc.begindat IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken begindat';
|
||
prs.upsertkenmerk (1005, lafdelingkey, TO_CHAR (rc.begindat, 'dd-mm-yyyy')); -- Begindatum
|
||
END IF;
|
||
IF rc.einddat IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken einddat';
|
||
prs.upsertkenmerk (1006, lafdelingkey, TO_CHAR (rc.einddat, 'dd-mm-yyyy')); -- Einddatum
|
||
END IF;
|
||
|
||
v_count_upd := v_count_upd + 1;
|
||
IF MOD (v_count_upd, 500) = 0 THEN COMMIT; END IF;
|
||
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.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Niet succesvol verwerkt');
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key, 'S', '#Afdelingen/Ontvangen: ' || TO_CHAR (v_count_tot) || ' -> Succesvol: ' || TO_CHAR (v_count_upd), '');
|
||
/*
|
||
-- Zet kostenplaatsen op VERVALLEN; de rest handmatig verder maar regelen!
|
||
v_errormsg := 'Fout inactiveren kostenplaatsen';
|
||
SELECT COUNT ( * )
|
||
INTO l_vervcountkpn
|
||
FROM prs_v_aanwezigkostenplaats kp
|
||
WHERE kp.prs_kostenplaats_module = 'PRS'
|
||
AND UPPER (COALESCE (kp.prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fmhn_imp_org
|
||
WHERE UPPER (prs_kostenplaats_nr) = kp.prs_kostenplaats_upper);
|
||
|
||
UPDATE prs_kostenplaats kp
|
||
SET kp.prs_kostenplaats_omschrijving = SUBSTR ('VERVALLEN:' || COALESCE (prs_kostenplaats_omschrijving, '-'), 1, 60)
|
||
WHERE kp.prs_kostenplaats_verwijder IS NULL
|
||
AND kp.prs_kostenplaats_module = 'PRS'
|
||
AND UPPER (COALESCE (prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fmhn_imp_org
|
||
WHERE UPPER (prs_kostenplaats_nr) = kp.prs_kostenplaats_upper);
|
||
*/
|
||
-- For summary only.
|
||
SELECT COUNT ( * )
|
||
INTO l_newcountafd
|
||
FROM prs_v_aanwezigafdeling a, prs_v_afdeling_boom ab
|
||
WHERE UPPER (COALESCE (a.prs_afdeling_omschrijving, '-')) NOT LIKE 'VERVALLEN:%'
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = v_bedrijf_key;
|
||
/*
|
||
SELECT COUNT ( * )
|
||
INTO l_newcountkpn
|
||
FROM prs_v_aanwezigkostenplaats
|
||
WHERE prs_kostenplaats_module = 'PRS'
|
||
AND UPPER (COALESCE (prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%';
|
||
*/
|
||
fac.imp_writelog (p_import_key, 'S', 'Aantal afdelingen in importbestand: ' || TO_CHAR (l_impcountafd), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Aantal actieve afdelingen vooraf: ' || TO_CHAR (l_oldcountafd) || ' -> nu: ' || TO_CHAR (l_newcountafd), '');
|
||
/*
|
||
fac.imp_writelog (p_import_key, 'S', 'Aantal actieve kostenplaatsen vooraf: ' || TO_CHAR (l_oldcountkpn) || ' -> nu: ' || TO_CHAR (l_newcountkpn), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Aantal kostenplaatsen vervallen: ' || TO_CHAR (l_vervcountkpn), '');
|
||
*/
|
||
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, 'Importproces Afdelingen afgebroken!');
|
||
END;
|
||
/
|
||
/*
|
||
SELECT afdid, LENGTH (afdid) FROM fmhn_imp_org;
|
||
|
||
SELECT afdcode, LENGTH (afdcode) FROM fmhn_imp_org;
|
||
|
||
SELECT afdid, COUNT ( * )
|
||
FROM fmhn_imp_org
|
||
GROUP BY afdid;
|
||
|
||
SELECT LEVEL imp_lev,
|
||
volgnr,
|
||
mincode,
|
||
afdid,
|
||
afdcode,
|
||
afdoms,
|
||
afdidparent,
|
||
kpnr,
|
||
kpoms,
|
||
begindat,
|
||
einddat
|
||
FROM fmhn_imp_org
|
||
--WHERE fac_import_key = p_import_key
|
||
CONNECT BY PRIOR afdid = afdidparent
|
||
START WITH afdidparent IS NULL -- TODO:Of '0'?
|
||
ORDER BY LEVEL;
|
||
*/
|
||
CREATE OR REPLACE PROCEDURE fmhn_import_prs (p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';'; -- Field seperator
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Import line
|
||
v_errormsg VARCHAR2 (1000) := '';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
header_is_valid NUMBER := 0;
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_imp NUMBER (10) := 0;
|
||
-- De importvelden
|
||
v_mincode VARCHAR2 (255);
|
||
v_prsnr VARCHAR2 (255);
|
||
v_afdid VARCHAR2 (255);
|
||
v_achternaam VARCHAR2 (255);
|
||
v_tussenvoegsel VARCHAR2 (255);
|
||
v_voorletters VARCHAR2 (255);
|
||
v_voornaam VARCHAR2 (255);
|
||
v_mv VARCHAR2 (255);
|
||
v_tel VARCHAR2 (255);
|
||
v_mob VARCHAR2 (255);
|
||
v_email VARCHAR2 (255);
|
||
v_begindat VARCHAR2 (255);
|
||
v_einddat VARCHAR2 (255);
|
||
v_stamgeb VARCHAR2 (255);
|
||
v_operator VARCHAR2 (255);
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT fac_imp_file_line, LENGTH (TRIM (REPLACE (fac_imp_file_line, c_delim, ''))) regellengte
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
--DELETE FROM fmhn_imp_prs;
|
||
--COMMIT;
|
||
|
||
-- Het aangeleverde bestand heeft soms een komma als scheidingsteken. Deze
|
||
-- wordt hier maar even vervangen.
|
||
--UPDATE fac_imp_file
|
||
-- SET fac_imp_file_line = fmhn.change_delimitor (fac_imp_file_line, ',')
|
||
-- WHERE fac_import_key = p_import_key
|
||
-- AND EXISTS (SELECT 1 FROM fac_imp_file WHERE fac_import_key = p_import_key AND INSTR (UPPER (fac_imp_file_line), 'MINCODE,PRSNR,AFDID,ACHTERNAAM,TUSSENVOEGSEL,VOORLETTERS,VOORNAAM,MV,TEL,MOB,EMAIL,BEGINDAT,EINDDAT,STAMGEB') > 0);
|
||
SELECT fac_imp_file_line
|
||
INTO v_newline
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key AND fac_imp_file_index = 1;
|
||
|
||
IF INSTR (UPPER (v_newline), 'MINCODE,PRSNR,AFDID,ACHTERNAAM,TUSSENVOEGSEL,VOORLETTERS,VOORNAAM,MV,TEL,MOB,EMAIL,BEGINDAT,EINDDAT,STAMGEB') > 0
|
||
THEN
|
||
c_delim := ',';
|
||
END IF;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout opvragen importregel';
|
||
v_aanduiding := '';
|
||
-- Lees alle veldwaarden
|
||
-- mincode;prsnr;afdid;achternaam;tussenvoegsel;voorletters;voornaam;mv;tel;mobiel;email;begindat;einddat;stamgeb
|
||
fac.imp_getfield (v_newline, c_delim, v_mincode);
|
||
fac.imp_getfield (v_newline, c_delim, v_prsnr);
|
||
fac.imp_getfield (v_newline, c_delim, v_afdid);
|
||
fac.imp_getfield (v_newline, c_delim, v_achternaam);
|
||
fac.imp_getfield (v_newline, c_delim, v_tussenvoegsel);
|
||
fac.imp_getfield (v_newline, c_delim, v_voorletters);
|
||
fac.imp_getfield (v_newline, c_delim, v_voornaam);
|
||
fac.imp_getfield (v_newline, c_delim, v_mv);
|
||
fac.imp_getfield (v_newline, c_delim, v_tel);
|
||
fac.imp_getfield (v_newline, c_delim, v_mob);
|
||
fac.imp_getfield (v_newline, c_delim, v_email);
|
||
fac.imp_getfield (v_newline, c_delim, v_begindat);
|
||
fac.imp_getfield (v_newline, c_delim, v_einddat);
|
||
fac.imp_getfield (v_newline, c_delim, v_stamgeb);
|
||
fac.imp_getfield (v_newline, c_delim, v_operator);
|
||
|
||
v_aanduiding := '[' || v_mincode || '|' || v_prsnr || '|' || v_afdid || v_email || '] ';
|
||
|
||
-- 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 v_mincode = 'mincode'
|
||
AND v_prsnr = 'prsnr'
|
||
AND v_afdid = 'afdid'
|
||
AND v_achternaam = 'achternaam'
|
||
AND v_tussenvoegsel = 'tussenvoegsel'
|
||
AND v_voorletters = 'voorletters'
|
||
AND v_voornaam = 'voornaam'
|
||
AND v_mv = 'mv'
|
||
AND v_tel = 'tel'
|
||
AND v_mob = 'mob'
|
||
AND v_email = 'email'
|
||
AND v_begindat = 'begindat'
|
||
AND v_einddat = 'einddat'
|
||
AND v_stamgeb = 'stamgeb'
|
||
--AND v_operator = 'operator'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSIF (rec1.regellengte > 0) -- Lege regels overslaan
|
||
THEN
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Strippen overbodige tekens uit vaste en mobiele nummers >15
|
||
-- posities!
|
||
IF LENGTH (v_tel) > 15
|
||
THEN
|
||
v_tel := REPLACE (REPLACE (v_tel, ' ', ''), '-', '');
|
||
END IF;
|
||
|
||
IF LENGTH (v_mob) > 15
|
||
THEN
|
||
v_mob := REPLACE (REPLACE (v_mob, ' ', ''), '-', '');
|
||
END IF;
|
||
|
||
-- Direct wegschrijven; controleer alle veldwaarden maar niet.
|
||
v_errormsg := 'Fout wegschrijven importregel';
|
||
INSERT INTO fmhn_imp_prs (fac_import_key,
|
||
volgnr,
|
||
mincode,
|
||
prsnr,
|
||
afdid,
|
||
achternaam,
|
||
tussenvoegsel,
|
||
voorletters,
|
||
voornaam,
|
||
mv,
|
||
tel,
|
||
mob,
|
||
email,
|
||
begindat,
|
||
einddat,
|
||
stamgeb,
|
||
operator)
|
||
VALUES (p_import_key,
|
||
v_count_imp,
|
||
SUBSTR (TRIM (v_mincode), 1, 10), -- C6
|
||
SUBSTR (TRIM (v_prsnr), 1, 20), -- C20
|
||
SUBSTR (TRIM (v_afdid), 1, 101), -- C100
|
||
SUBSTR (TRIM (v_achternaam), 1, 60), -- C60
|
||
SUBSTR (TRIM (v_tussenvoegsel), 1, 15), -- C15 (of '[wis]')
|
||
SUBSTR (TRIM (v_voorletters), 1, 15), -- C15
|
||
SUBSTR (TRIM (v_voornaam), 1, 30), -- C30
|
||
DECODE (v_mv, '[wis]', 'X', SUBSTR (TRIM (v_mv), 1, 1)), -- C1 (X, M, V of NULL)
|
||
SUBSTR (TRIM (v_tel), 1, 15), -- C15
|
||
SUBSTR (TRIM (v_mob), 1, 15), -- C15 (of '[wis]')
|
||
SUBSTR (TRIM (v_email), 1, 200), -- C200
|
||
fac.safe_to_date (TRIM (v_begindat), 'yyyy-mm-dd'),
|
||
fac.safe_to_date (TRIM (v_einddat), 'yyyy-mm-dd'),
|
||
SUBSTR (TRIM (v_stamgeb), 1, 30), -- C30
|
||
SUBSTR (TRIM (v_operator), 1, 6));
|
||
|
||
v_count_imp := v_count_imp + 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, '');
|
||
END;
|
||
|
||
IF MOD (v_count_tot, 500) = 0 THEN COMMIT; 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 afspraak!');
|
||
ELSE
|
||
IF v_count_tot <> 1 OR v_count_tot <> v_count_imp
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'S', 'Personen/#ingelezen importregels: ' || TO_CHAR (v_count_tot), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Personen/#ongeldige niet ingelezen importregels: ' || TO_CHAR (v_count_tot - v_count_imp), '');
|
||
END IF;
|
||
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.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Inleesproces Personen afgebroken!');
|
||
|
||
-- Maak importtabel leeg om import van foutieve bestanden te voorkomen!
|
||
--DELETE FROM fmhn_imp_prs;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_update_prs (p_import_key IN NUMBER)
|
||
AS
|
||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail
|
||
c_max_delta_percentage NUMBER (10) := 50; -- 50%!
|
||
c_functie VARCHAR2 (60) := 'Medewerker';
|
||
v_errormsg VARCHAR2 (1000) := '';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
v_count_prs_import NUMBER (10); -- #actieve personen na import!
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_upd NUMBER (10) := 0;
|
||
v_count NUMBER;
|
||
v_mincode VARCHAR2 (6);
|
||
v_bedrijf_key prs_bedrijf.prs_bedrijf_key%TYPE;
|
||
v_minomschr_key fac_usrdata.fac_usrdata_key%TYPE;
|
||
v_minomschr fac_usrdata.fac_usrdata_omschr%TYPE;
|
||
v_afdidroot prs_kenmerklink.prs_kenmerklink_waarde%TYPE;
|
||
v_prsnr fmhn_imp_prs.prsnr%TYPE;
|
||
v_afdid fmhn_imp_prs.afdid%TYPE;
|
||
v_achternaam fmhn_imp_prs.achternaam%TYPE;
|
||
v_tussenvoegsel fmhn_imp_prs.tussenvoegsel%TYPE;
|
||
v_voorletters fmhn_imp_prs.voorletters%TYPE;
|
||
v_voornaam fmhn_imp_prs.voornaam%TYPE;
|
||
v_mv fmhn_imp_prs.mv%TYPE;
|
||
v_tel fmhn_imp_prs.tel%TYPE;
|
||
v_mob fmhn_imp_prs.mob%TYPE;
|
||
v_email fmhn_imp_prs.email%TYPE;
|
||
v_begindat VARCHAR2 (10);
|
||
v_einddat VARCHAR2 (10);
|
||
v_srtperslid_key prs_srtperslid.prs_srtperslid_key%TYPE;
|
||
v_afdeling_key prs_afdeling.prs_afdeling_key%TYPE;
|
||
v_perslid_key prs_perslid.prs_perslid_key%TYPE;
|
||
v_ruimte_key alg_ruimte.alg_ruimte_key%TYPE;
|
||
v_afdeling_key_old prs_afdeling.prs_afdeling_key%TYPE;
|
||
v_bedrijf_key_old prs_bedrijf.prs_bedrijf_key%TYPE;
|
||
|
||
CURSOR cprsdelta
|
||
IS
|
||
SELECT volgnr,
|
||
mincode,
|
||
prsnr,
|
||
afdid,
|
||
achternaam,
|
||
tussenvoegsel,
|
||
voorletters,
|
||
voornaam,
|
||
mv,
|
||
tel,
|
||
mob,
|
||
email,
|
||
begindat,
|
||
einddat,
|
||
NULL stamgeb, -- Bewust negeren evt. ontvangen stamgebouw-veld!
|
||
operator
|
||
FROM fmhn_imp_prs
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY volgnr;
|
||
BEGIN
|
||
-- Randvoorwaarde dat alle personen in importbestand dezelfde mincode!
|
||
v_errormsg := 'Fout (uniek) bepalen mincode';
|
||
SELECT DISTINCT mincode
|
||
INTO v_mincode
|
||
FROM fmhn_imp_prs
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
-- Randvoorwaarde dat <20><>n intern bedrijf bestaat met bepaalde mincode!
|
||
v_errormsg := 'Fout (uniek) bepalen bedrijf';
|
||
SELECT b.prs_bedrijf_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr, afdid.prs_kenmerklink_waarde
|
||
INTO v_bedrijf_key, v_minomschr_key, v_minomschr, v_afdidroot
|
||
FROM prs_v_aanwezigbedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1020) mincode, -- Ministeriecode (bij Bedrijf)
|
||
fac_v_aanwezigusrdata ud,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1021) afdid -- Organisatieonderdeelcode (bij Bedrijf)
|
||
WHERE b.prs_bedrijf_intern = 1
|
||
AND b.prs_bedrijf_key = mincode.prs_link_key
|
||
AND fac.safe_to_number (mincode.prs_kenmerklink_waarde) = ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_upper = UPPER (v_mincode)
|
||
AND b.prs_bedrijf_key = afdid.prs_link_key(+);
|
||
|
||
-- Bepaal distinct aantal personen in bestand voor mincode.
|
||
--SELECT COUNT (DISTINCT mincode || prsnr)
|
||
--SELECT COUNT (*)
|
||
SELECT COUNT (DISTINCT prsnr)
|
||
INTO v_count_prs_import
|
||
FROM fmhn_imp_prs
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
v_errormsg := 'Fout bepalen SEARCH-request';
|
||
SELECT COUNT ( * ), MAX (prsnr)
|
||
INTO v_count, v_prsnr
|
||
FROM fmhn_imp_prs
|
||
WHERE fac_import_key = p_import_key
|
||
AND UPPER (operator) = 'SEARCH';
|
||
|
||
IF v_count > 0 -- SEARCH-request ontvangen?
|
||
THEN
|
||
IF v_count_prs_import > 1
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Ongeldige operator voor >1 persoon', 'Importproces Personen afgebroken!');
|
||
ELSE
|
||
BEGIN
|
||
v_errormsg := 'Fout bepalen persoon';
|
||
SELECT SUBSTR (a.prs_afdeling_externid, 3) afdid,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_tussenvoegsel,
|
||
p.prs_perslid_voorletters,
|
||
p.prs_perslid_voornaam,
|
||
DECODE (p.prs_perslid_geslacht, 1, 'M', 0, 'V', ''),
|
||
p.prs_perslid_telefoonnr,
|
||
p.prs_perslid_mobiel,
|
||
p.prs_perslid_email,
|
||
TO_CHAR (p.prs_perslid_ingangsdatum, 'yyyy-mm-dd'),
|
||
TO_CHAR (p.prs_perslid_einddatum, 'yyyy-mm-dd')
|
||
INTO v_afdid,
|
||
v_achternaam,
|
||
v_tussenvoegsel,
|
||
v_voorletters,
|
||
v_voornaam,
|
||
v_mv,
|
||
v_tel,
|
||
v_mob,
|
||
v_email,
|
||
v_begindat,
|
||
v_einddat
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a
|
||
WHERE UPPER (p.prs_perslid_externid) = UPPER (v_mincode || v_prsnr)
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key;
|
||
|
||
fac.imp_writelog (p_import_key, 'S', '#Personen/SEARCH: 1 -> Succesvol: 1', '');
|
||
--fac.imp_writelog (p_import_key, 'X', '<mincode>' || xml.char_to_html (v_mincode) || '</mincode><prsnr>' || xml.char_to_html (v_prsnr) || '</prsnr><afdid>' || xml.char_to_html (v_afdid) || '</afdid><achternaam>' || xml.char_to_html (v_achternaam) || '</achternaam><tussenvoegsel>' || xml.char_to_html (v_tussenvoegsel) || '</tussenvoegsel><voorletters>' || xml.char_to_html (v_voorletters) || '</voorletters><voornaam>' || xml.char_to_html (v_voornaam) || '</voornaam><mv>' || xml.char_to_html (v_mv) || '</mv><tel>' || xml.char_to_html (v_tel) || '</tel><mob>' || xml.char_to_html (v_mob) || '</mob><email>' || xml.char_to_html (v_email) || '</email><begindat>' || xml.char_to_html (v_begindat) || '</begindat><einddat>' || xml.char_to_html (v_einddat) || '</einddat>', '');
|
||
fac.imp_writelog (p_import_key, 'X', xml.char_to_html (v_mincode) || '#;#' || xml.char_to_html (v_prsnr) || '#;#' || xml.char_to_html (v_afdid) || '#;#' || xml.char_to_html (v_achternaam) || '#;#' || xml.char_to_html (v_tussenvoegsel) || '#;#' || xml.char_to_html (v_voorletters) || '#;#' || xml.char_to_html (v_voornaam) || '#;#' || xml.char_to_html (v_mv) || '#;#' || xml.char_to_html (v_tel) || '#;#' || xml.char_to_html (v_mob) || '#;#' || xml.char_to_html (v_email) || '#;#' || xml.char_to_html (v_begindat) || '#;#' || xml.char_to_html (v_einddat), '');
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'S', '#Afdelingen/SEARCH: 1 -> Succesvol: 0', '');
|
||
END;
|
||
END IF;
|
||
|
||
RETURN;
|
||
END IF;
|
||
|
||
FOR rc IN cprsdelta
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '[' || rc.mincode || '|' || rc.prsnr || '|' || rc.afdid || '|' || rc.email || '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Afdeling moet bestaan bij bulk-import en INSERT!
|
||
v_errormsg := 'Fout bepalen functie';
|
||
IF COALESCE (UPPER (rc.operator), 'INSERT') = 'INSERT'
|
||
THEN
|
||
-- Bestaat functie?
|
||
SELECT prs_srtperslid_key
|
||
INTO v_srtperslid_key
|
||
FROM prs_srtperslid
|
||
WHERE prs_srtperslid_verwijder IS NULL
|
||
AND UPPER (prs_srtperslid_omschrijving) = UPPER (c_functie);
|
||
ELSE
|
||
v_srtperslid_key := TO_NUMBER (NULL); -- Don't care!
|
||
END IF;
|
||
|
||
-- Afdeling moet bestaan bij bulk-import, INSERT en indien ontvangen!
|
||
v_errormsg := 'Fout bepalen afdeling';
|
||
IF COALESCE (rc.operator,'INSERT') = 'INSERT' OR rc.afdid IS NOT NULL
|
||
THEN
|
||
-- Bestaat afdeling?
|
||
SELECT prs_afdeling_key
|
||
INTO v_afdeling_key
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_verwijder IS NULL
|
||
AND UPPER (prs_afdeling_externid) = UPPER (rc.mincode || rc.afdid);
|
||
ELSE
|
||
v_afdeling_key := TO_NUMBER (NULL); -- Don't care!
|
||
END IF;
|
||
|
||
-- Welk bedrijf (departement) hoort de persoon bij
|
||
v_errormsg := 'Fout bepalen departement';
|
||
|
||
IF v_afdeling_key IS NOT NULL
|
||
THEN
|
||
-- Bestaat bedrijf
|
||
SELECT afd.prs_bedrijf_key
|
||
INTO v_bedrijf_key
|
||
FROM prs_v_afdeling afd
|
||
WHERE v_afdeling_key = afd.prs_afdeling_key;
|
||
ELSE
|
||
v_bedrijf_key := TO_NUMBER (NULL); -- Don't care!
|
||
END IF;
|
||
|
||
v_achternaam := SUBSTR (rc.achternaam, 1, 60);
|
||
IF LENGTH (rc.achternaam) > 60
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || 'Achternaam afgebroken tot ' || v_achternaam, 'Achternaam te lang');
|
||
END IF;
|
||
|
||
-- Bestaat persoon?
|
||
v_errormsg := 'Fout bepalen persoon';
|
||
SELECT MAX (prs_perslid_key), COUNT ( * )
|
||
INTO v_perslid_key, v_count
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE UPPER (prs_perslid_externid) = UPPER (rc.mincode || rc.prsnr);
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
-- FMHN#71214: Als er al een persoon met dit e-mail adres bestaat,
|
||
-- dan voortaan error (= staan wij niet langer toe)!
|
||
v_errormsg := 'E-mail adres niet uniek';
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE UPPER (prs_perslid_email) = UPPER (rc.email);
|
||
|
||
IF v_count > 0
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
||
v_perslid_key := -1;
|
||
ELSE
|
||
v_errormsg := 'Ongeldige operator voor niet bestaande persoon';
|
||
IF COALESCE (UPPER (rc.operator), 'INSERT') = 'INSERT'
|
||
AND (rc.einddat > SYSDATE OR rc.einddat IS NULL)
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen persoon';
|
||
INSERT INTO prs_perslid (prs_perslid_module,
|
||
prs_srtperslid_key,
|
||
prs_afdeling_key,
|
||
prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel,
|
||
prs_perslid_voorletters,
|
||
prs_perslid_voornaam,
|
||
--prs_perslid_titel,
|
||
prs_perslid_geslacht,
|
||
--prs_perslid_nr,
|
||
--prs_perslid_oslogin,
|
||
--prs_perslid_apikey,
|
||
--prs_perslid_dienstverband,
|
||
prs_perslid_ingangsdatum,
|
||
prs_perslid_einddatum,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel,
|
||
prs_perslid_email,
|
||
prs_perslid_externid,
|
||
prs_perslid_externsyncdate)
|
||
VALUES ('PRS',
|
||
v_srtperslid_key,
|
||
v_afdeling_key,
|
||
v_achternaam,
|
||
rc.tussenvoegsel,
|
||
rc.voorletters,
|
||
rc.voornaam,
|
||
--rc.titel,
|
||
DECODE (UPPER (rc.mv), 'M', 1, 'V', 0, NULL),
|
||
--rc.prsnr,
|
||
--NULL,
|
||
--NULL,
|
||
--NULL,
|
||
COALESCE (rc.begindat, SYSDATE),
|
||
rc.einddat,
|
||
rc.tel,
|
||
rc.mob,
|
||
rc.email,
|
||
rc.mincode || rc.prsnr,
|
||
SYSDATE)
|
||
RETURNING prs_perslid_key
|
||
INTO v_perslid_key;
|
||
|
||
-- Alleen initieel vullen bij INSERT (daarna nooit meer)!
|
||
v_errormsg := 'Fout bijwerken mincode';
|
||
prs.upsertkenmerk (1008, v_perslid_key, TO_CHAR (v_minomschr_key)); -- Ministeriecode
|
||
|
||
v_errormsg := 'Fout bijwerken prsnr';
|
||
prs.upsertkenmerk (1009, v_perslid_key, rc.prsnr); -- Identificatie persoon
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Operator ongeldig');
|
||
v_perslid_key := -1;
|
||
END IF;
|
||
END IF;
|
||
ELSIF v_count = 1
|
||
THEN
|
||
-- FMHN#71214: Als bestaande persoon wordt bijgewerkt, dan geen
|
||
-- controle op uniciteit van - evt. gewijzigd - e-mail
|
||
-- adres (als uniek bij aanmaken, dan onwaarschijnlijk
|
||
-- dat later ineens dubbel?)!
|
||
-- NB. Even los van dubbele adressen v<><76>r FMHN#71214!
|
||
|
||
-- FMHN#74750: Bij wijziging van afdeling binnen BZK (bedrijf_key = 921):
|
||
-- Autorisaties mogen worden verwijderd
|
||
-- Werkplekken mogen worden verwijderd (en daarna conform stamgebouw weer toegevoegd).
|
||
-- Dit voorkomt eventuele ge-erfde rechten vanuit een voorgaande functie.
|
||
|
||
-- Welke Afdeling / Departement hoort de persoon NU bij
|
||
v_errormsg := 'Fout bepalen huidige afdeling / departement';
|
||
|
||
IF v_perslid_key IS NOT NULL
|
||
THEN
|
||
SELECT p.prs_afdeling_key, b.prs_bedrijf_key
|
||
INTO v_afdeling_key_old, v_bedrijf_key_old
|
||
FROM prs_perslid p, prs_v_afdeling b
|
||
WHERE b.prs_afdeling_key = p.prs_afdeling_key
|
||
AND p.prs_perslid_key = v_perslid_key;
|
||
|
||
-- FMHN#84596: Heractiveren account (ongeacht operator)
|
||
v_errormsg := 'Fout heractiveren persoon';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_inactief = NULL
|
||
WHERE prs_perslid_key = v_perslid_key
|
||
AND ( TRUNC (rc.einddat) > TRUNC (SYSDATE)
|
||
OR rc.einddat = NULL)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerk_key = 1100 -- Handmatige inactiefdatum
|
||
AND kl.PRS_LINK_KEY =
|
||
v_perslid_key
|
||
AND kl.prs_kenmerklink_verwijder
|
||
IS NULL);
|
||
|
||
ELSE
|
||
v_afdeling_key_old := TO_NUMBER (NULL); -- Don't care!
|
||
v_bedrijf_key_old := TO_NUMBER (NULL); -- Don't care!
|
||
END IF;
|
||
|
||
v_errormsg := 'Ongeldige operator voor bestaande persoon';
|
||
IF COALESCE (UPPER (rc.operator), 'INSERT') = 'INSERT'
|
||
THEN
|
||
--Bij een verhuizing van afdeling binnen BZK mogen werkplekken en autorisaties verwijderd worden.
|
||
--In FMHN#76140 is dit tijdelijk (vanaf januari 2023) uitgeschakeld geweest en mogen de autorisaties vanaf november 2023 weer verwijderd worden
|
||
IF v_bedrijf_key = 921
|
||
AND v_bedrijf_key_old = 921
|
||
AND v_afdeling_key <> v_afdeling_key_old
|
||
AND v_afdeling_key IS NOT NULL
|
||
THEN
|
||
v_errormsg :=
|
||
'Opp instellen tbv herstellen werkplekken';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_opp = 1 -- Hiermee in de nachtrun de werkplekken verwijderen (en opnieuw instellen)
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
|
||
v_errormsg :=
|
||
'Verwijderen niet-standaard autorisatiegroepen BZK';
|
||
|
||
DELETE FROM
|
||
fac_gebruikersgroep
|
||
WHERE prs_perslid_key = v_perslid_key
|
||
AND fac_groep_key NOT IN (102, 167); --Autorisatiegroepen 'MLD_BZK_Iedereen' en 'RES klant'
|
||
|
||
v_errormsg := 'Logging afdelingswijzing binnen BZK';
|
||
fac.trackaction ('PRSUPD',
|
||
v_perslid_key,
|
||
3,
|
||
SYSDATE,
|
||
'IDM - BZK afdeling gewijzigd');
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken persoon';
|
||
UPDATE prs_perslid
|
||
SET prs_afdeling_key = COALESCE (v_afdeling_key, prs_afdeling_key),
|
||
prs_perslid_naam = COALESCE (v_achternaam, prs_perslid_naam),
|
||
prs_perslid_tussenvoegsel = rc.tussenvoegsel,
|
||
prs_perslid_voorletters = rc.voorletters,
|
||
prs_perslid_voornaam = rc.voornaam,
|
||
prs_perslid_geslacht = DECODE (rc.mv, 'X', NULL, DECODE (UPPER (rc.mv), 'M', 1, 'V', 0, NULL)),
|
||
prs_perslid_ingangsdatum = COALESCE (rc.begindat, SYSDATE),
|
||
prs_perslid_einddatum = rc.einddat,
|
||
prs_perslid_telefoonnr = rc.tel,
|
||
prs_perslid_mobiel = rc.mob,
|
||
prs_perslid_email = rc.email,
|
||
prs_perslid_externsyncdate = SYSDATE
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
|
||
-- Alleen bij nieuwe persoon of ook bij bestaande persoon?
|
||
v_errormsg := 'Fout bijwerken mincode';
|
||
prs.upsertkenmerk (1008, v_perslid_key, TO_CHAR (v_minomschr_key)); -- Ministeriecode
|
||
|
||
v_errormsg := 'Fout bijwerken prsnr';
|
||
prs.upsertkenmerk (1009, v_perslid_key, rc.prsnr); -- Identificatie persoon
|
||
ELSIF COALESCE (UPPER (rc.operator), 'UPDATE') = 'UPDATE'
|
||
THEN
|
||
--Bij een verhuizing van afdeling binnen BZK mogen werkplekken en autorisaties verwijderd worden.
|
||
IF v_bedrijf_key = 921
|
||
AND v_bedrijf_key_old = 921
|
||
AND v_afdeling_key <> v_afdeling_key_old
|
||
AND v_afdeling_key IS NOT NULL
|
||
THEN
|
||
v_errormsg :=
|
||
'Opp instellen tbv herstellen werkplekken';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_opp = 1 -- Hiermee in de nachtrun de werkplekken verwijderen (en opnieuw instellen)
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
|
||
v_errormsg :=
|
||
'Verwijderen niet-standaard autorisatiegroepen BZK';
|
||
|
||
DELETE FROM
|
||
fac_gebruikersgroep
|
||
WHERE prs_perslid_key = v_perslid_key
|
||
AND fac_groep_key NOT IN (102, 167); --Autorisatiegroepen 'MLD_BZK_Iedereen' en 'RES klant'
|
||
|
||
v_errormsg := 'Logging afdelingswijzing binnen BZK';
|
||
fac.trackaction ('PRSUPD',
|
||
v_perslid_key,
|
||
3,
|
||
SYSDATE,
|
||
'IDM - BZK afdeling gewijzigd');
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken persoon';
|
||
UPDATE prs_perslid
|
||
SET prs_afdeling_key = COALESCE (v_afdeling_key, prs_afdeling_key),
|
||
prs_perslid_naam = COALESCE (v_achternaam, prs_perslid_naam),
|
||
prs_perslid_tussenvoegsel = DECODE (rc.tussenvoegsel, '[wis]', NULL, COALESCE (rc.tussenvoegsel, prs_perslid_tussenvoegsel)),
|
||
prs_perslid_voorletters = COALESCE (rc.voorletters, prs_perslid_voorletters),
|
||
prs_perslid_voornaam = COALESCE (rc.voornaam, prs_perslid_voornaam),
|
||
prs_perslid_geslacht = DECODE (rc.mv, 'X', NULL, DECODE (UPPER (rc.mv), 'M', 1, 'V', 0, prs_perslid_geslacht)),
|
||
prs_perslid_ingangsdatum = COALESCE (rc.begindat, prs_perslid_ingangsdatum),
|
||
prs_perslid_einddatum = COALESCE (rc.einddat, prs_perslid_einddatum),
|
||
prs_perslid_telefoonnr = COALESCE (rc.tel, prs_perslid_telefoonnr),
|
||
prs_perslid_mobiel = DECODE (rc.mob, '[wis]', NULL, COALESCE (rc.mob, prs_perslid_mobiel)),
|
||
prs_perslid_email = COALESCE (rc.email, prs_perslid_email),
|
||
prs_perslid_externsyncdate = SYSDATE
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
|
||
-- Alleen bij nieuwe persoon of ook bij bestaande persoon?
|
||
v_errormsg := 'Fout bijwerken mincode';
|
||
prs.upsertkenmerk (1008, v_perslid_key, TO_CHAR (v_minomschr_key)); -- Ministeriecode
|
||
|
||
v_errormsg := 'Fout bijwerken prsnr';
|
||
prs.upsertkenmerk (1009, v_perslid_key, rc.prsnr); -- Identificatie persoon
|
||
ELSIF UPPER (rc.operator) = 'DELETE'
|
||
THEN
|
||
v_errormsg := 'Fout verwijderen persoon';
|
||
prs.delete_perslid (p_import_key, v_perslid_key);
|
||
v_perslid_key := -1;
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Operator ongeldig');
|
||
v_perslid_key := -1;
|
||
END IF;
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Personeelsnummer niet uniek');
|
||
v_perslid_key := -1;
|
||
END IF;
|
||
|
||
IF v_perslid_key > 0
|
||
THEN
|
||
IF rc.stamgeb IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bepalen huidige ruimte in gebouw';
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_perslidwerkplek pw, prs_werkplek w, alg_v_aanwezigruimte r, alg_verdieping v, alg_gebouw g
|
||
WHERE pw.prs_perslid_key = v_perslid_key
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND w.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 UPPER (g.alg_gebouw_code) = UPPER (rc.stamgeb);
|
||
|
||
-- Als persoon in gebouw reeds een werkplek heeft en de nieuwe zou
|
||
-- in de default ruimte zijn, dan wordt onderstaande overgeslagen.
|
||
IF v_count = 0
|
||
THEN
|
||
v_errormsg := 'Fout bepalen default ruimte of gebouw';
|
||
SELECT r1.alg_ruimte_key
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanweziggebouw g1, alg_verdieping v1, alg_v_aanwezigruimte r1
|
||
WHERE UPPER (g1.alg_gebouw_code) = UPPER (rc.stamgeb)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE UPPER (alg_gebouw_code) = UPPER (rc.stamgeb)
|
||
AND alg_locatie_key < g1.alg_locatie_key)
|
||
AND g1.alg_gebouw_key = v1.alg_gebouw_key
|
||
AND v1.alg_verdieping_key = r1.alg_verdieping_key
|
||
AND r1.alg_ruimte_nr = '_'
|
||
AND NOT EXISTS -- Geen ruimte '_' op lagere verdieping!
|
||
(SELECT 1
|
||
FROM alg_verdieping v2, alg_v_aanwezigruimte r2
|
||
WHERE v2.alg_verdieping_key = r2.alg_verdieping_key
|
||
AND r2.alg_ruimte_nr = '_'
|
||
AND v2.alg_gebouw_key = v1.alg_gebouw_key
|
||
AND v2.alg_verdieping_volgnr < v1.alg_verdieping_volgnr);
|
||
|
||
v_errormsg := 'Fout bijwerken ruimte';
|
||
prs.movetoruimte (v_perslid_key, v_ruimte_key, NULL);
|
||
END IF;
|
||
END IF;
|
||
v_count_upd := v_count_upd + 1;
|
||
END IF;
|
||
IF MOD (v_count_tot, 500) = 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.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Niet succesvol verwerkt');
|
||
END;
|
||
END LOOP;
|
||
|
||
IF v_count_tot <> 1 OR v_count_tot <> v_count_upd THEN
|
||
fac.imp_writelog (p_import_key, 'S', '#Personen/Ontvangen: ' || TO_CHAR (v_count_tot) || ' -> Succesvol: ' || TO_CHAR (v_count_upd), '');
|
||
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.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Importproces Personen afgebroken!');
|
||
END;
|
||
/
|
||
|
||
-- Kopie van ORG- en PRS-import met Charset op Windows-1252!
|
||
CREATE OR REPLACE PROCEDURE fmhn_import_org2 (p_import_key IN NUMBER)
|
||
AS
|
||
BEGIN
|
||
fmhn_import_org (p_import_key);
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE fmhn_update_org2 (p_import_key IN NUMBER)
|
||
AS
|
||
BEGIN
|
||
fmhn_update_org (p_import_key);
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE fmhn_import_prs2 (p_import_key IN NUMBER)
|
||
AS
|
||
BEGIN
|
||
fmhn_import_prs (p_import_key);
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE fmhn_update_prs2 (p_import_key IN NUMBER)
|
||
AS
|
||
BEGIN
|
||
fmhn_update_prs (p_import_key);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_import_rel (p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';'; -- Field seperator
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Import line
|
||
v_errormsg VARCHAR2 (1000) := '';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
header_is_valid NUMBER := 0;
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_imp NUMBER (10) := 0;
|
||
-- De importvelden
|
||
v_levnr VARCHAR2 (255);
|
||
v_bedrnaam VARCHAR2 (255);
|
||
v_postadres VARCHAR2 (255);
|
||
v_ppostcode VARCHAR2 (255);
|
||
v_pplaats VARCHAR2 (255);
|
||
v_pland VARCHAR2 (255);
|
||
v_bezoekadres VARCHAR2 (255);
|
||
v_bpostcode VARCHAR2 (255);
|
||
v_bplaats VARCHAR2 (255);
|
||
v_bland VARCHAR2 (255);
|
||
v_status VARCHAR2 (255);
|
||
v_classificatie VARCHAR2 (255);
|
||
v_sector VARCHAR2 (255);
|
||
v_subsector VARCHAR2 (255);
|
||
v_telefoon VARCHAR2 (255);
|
||
v_email VARCHAR2 (255);
|
||
v_contractant VARCHAR2 (255);
|
||
v_uitvoerende VARCHAR2 (255);
|
||
v_overeenkomstdatum VARCHAR2 (255);
|
||
v_einddatum VARCHAR2 (255);
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT fac_imp_file_line, LENGTH (TRIM (REPLACE (fac_imp_file_line, c_delim, ''))) regellengte
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE FROM fac_imp_ext_bedrijf;
|
||
COMMIT;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout opvragen importregel';
|
||
v_aanduiding := '';
|
||
-- Lees alle veldwaarden
|
||
--Leveranciernr;Bedrijfsnaam;Postadres;PPostcode;PPlaats;PLand;BezoekAdres;BPostcode;BPlaats;BLand;Status;Classificatie;Sector;SubSector;Telefoon;Email;Contractant;Uitvoerende;Overeenkomstdatum;Einddatum
|
||
fac.imp_getfield (v_newline, c_delim, v_levnr);
|
||
fac.imp_getfield (v_newline, c_delim, v_bedrnaam);
|
||
fac.imp_getfield (v_newline, c_delim, v_postadres);
|
||
fac.imp_getfield (v_newline, c_delim, v_ppostcode);
|
||
fac.imp_getfield (v_newline, c_delim, v_pplaats);
|
||
fac.imp_getfield (v_newline, c_delim, v_pland);
|
||
fac.imp_getfield (v_newline, c_delim, v_bezoekadres);
|
||
fac.imp_getfield (v_newline, c_delim, v_bpostcode);
|
||
fac.imp_getfield (v_newline, c_delim, v_bplaats);
|
||
fac.imp_getfield (v_newline, c_delim, v_bland);
|
||
fac.imp_getfield (v_newline, c_delim, v_status);
|
||
fac.imp_getfield (v_newline, c_delim, v_classificatie);
|
||
fac.imp_getfield (v_newline, c_delim, v_sector);
|
||
fac.imp_getfield (v_newline, c_delim, v_subsector);
|
||
fac.imp_getfield (v_newline, c_delim, v_telefoon);
|
||
fac.imp_getfield (v_newline, c_delim, v_email);
|
||
fac.imp_getfield (v_newline, c_delim, v_contractant);
|
||
fac.imp_getfield (v_newline, c_delim, v_uitvoerende);
|
||
fac.imp_getfield (v_newline, c_delim, v_overeenkomstdatum);
|
||
fac.imp_getfield (v_newline, c_delim, v_einddatum);
|
||
|
||
v_aanduiding := '[' || v_levnr || '|' || v_bedrnaam || '] ';
|
||
|
||
-- 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_levnr) = 'LEVERANCIERNR'
|
||
AND UPPER (v_bedrnaam) = 'BEDRIJFSNAAM'
|
||
AND UPPER (v_postadres) = 'POSTADRES'
|
||
AND UPPER (v_ppostcode) = 'PPOSTCODE'
|
||
AND UPPER (v_pplaats) = 'PPLAATS'
|
||
AND UPPER (v_pland) = 'PLAND'
|
||
AND UPPER (v_bezoekadres) = 'BEZOEKADRES'
|
||
AND UPPER (v_bpostcode) = 'BPOSTCODE'
|
||
AND UPPER (v_bplaats) = 'BPLAATS'
|
||
AND UPPER (v_bland) = 'BLAND'
|
||
AND UPPER (v_status) = 'STATUS'
|
||
AND UPPER (v_classificatie) = 'CLASSIFICATIE'
|
||
AND UPPER (v_sector) = 'SECTOR'
|
||
AND UPPER (v_subsector) = 'SUBSECTOR'
|
||
AND UPPER (v_telefoon) = 'TELEFOON'
|
||
AND UPPER (v_email) = 'EMAIL'
|
||
AND UPPER (v_contractant) = 'CONTRACTANT'
|
||
AND UPPER (v_uitvoerende) = 'UITVOERENDE'
|
||
AND UPPER (v_overeenkomstdatum) = 'OVEREENKOMSTDATUM'
|
||
AND UPPER (v_einddatum) = 'EINDDATUM'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSIF (rec1.regellengte > 0) -- Lege regels overslaan
|
||
THEN
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Direct wegschrijven; controleer alle veldwaarden maar niet.
|
||
v_errormsg := 'Fout wegschrijven importregel';
|
||
INSERT INTO fac_imp_ext_bedrijf (prs_leverancier_nr,
|
||
prs_bedrijf_naam,
|
||
prs_bedrijf_bezoek_adres,
|
||
prs_bedrijf_bezoek_postcode,
|
||
prs_bedrijf_bezoek_plaats,
|
||
prs_bedrijf_bezoek_land,
|
||
prs_bedrijf_post_adres,
|
||
prs_bedrijf_post_postcode,
|
||
prs_bedrijf_post_plaats,
|
||
prs_bedrijf_post_land,
|
||
prs_bedrijf_contract,
|
||
prs_bedrijf_telefoon,
|
||
prs_bedrijf_email,
|
||
prs_dienst_omschrijving, -- Status
|
||
prs_bedrijf_overig1,
|
||
prs_bedrijf_overig2,
|
||
prs_bedrijf_overig3,
|
||
prs_bedrijf_uitvoerende,
|
||
prs_overeenkomst_datum,
|
||
prs_bedrijf_contact_fax) -- Einddatum
|
||
VALUES (TRIM (v_levnr),
|
||
SUBSTR (TRIM (v_bedrnaam), 1, 60),
|
||
SUBSTR (TRIM (v_bezoekadres), 1, 50),
|
||
SUBSTR (TRIM (v_bpostcode), 1, 12),
|
||
SUBSTR (TRIM (v_bplaats), 1, 30),
|
||
SUBSTR (TRIM (v_bland), 1, 30),
|
||
SUBSTR (TRIM (v_postadres), 1, 50),
|
||
SUBSTR (TRIM (v_ppostcode), 1, 12),
|
||
SUBSTR (TRIM (v_pplaats), 1, 30),
|
||
SUBSTR (TRIM (v_pland), 1, 30),
|
||
--DECODE (SUBSTR (UPPER (COALESCE (TRIM (v_contractant), 'N')), 1, 1), 'N', 0, 'J', 1, 9), -- 9=Error!
|
||
DECODE (SUBSTR (UPPER (COALESCE (TRIM (v_contractant), '0')), 1, 1), '0', 0, '1', 1, 9), -- 9=Error!
|
||
SUBSTR (TRIM (v_telefoon), 1, 20),
|
||
SUBSTR (TRIM (v_email), 1, 100),
|
||
SUBSTR (TRIM (v_status), 1, 60),
|
||
TRIM (v_classificatie),
|
||
TRIM (v_sector),
|
||
TRIM (v_subsector),
|
||
DECODE (SUBSTR (UPPER (COALESCE (TRIM (v_uitvoerende), '0')), 1, 1), '0', 0, '1', 1, 9), -- 9=Error!
|
||
TO_DATE (v_overeenkomstdatum, 'DD-MM-YYYY'),
|
||
TO_DATE (v_einddatum, 'DD-MM-YYYY'));
|
||
|
||
v_count_imp := v_count_imp + 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, '');
|
||
END;
|
||
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 afspraak!');
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'S', 'Relaties/#ingelezen importregels: ' || TO_CHAR (v_count_tot), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Relaties/#ongeldige niet ingelezen importregels: ' || TO_CHAR (v_count_tot - v_count_imp), '');
|
||
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.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Inleesproces Relaties afgebroken!');
|
||
END fmhn_import_rel;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_update_rel (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000) := '';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
v_count NUMBER (10);
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_new NUMBER (10) := 0;
|
||
v_count_upd NUMBER (10) := 0;
|
||
v_count_del NUMBER (10) := 0;
|
||
|
||
-- SUBPROC
|
||
PROCEDURE add_bedrijf (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT ib.*, ud.fac_usrdata_key
|
||
FROM fac_imp_ext_bedrijf ib,
|
||
(SELECT * FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 3) ud -- Lifecycle REL
|
||
WHERE UPPER (ib.prs_dienst_omschrijving) = TRIM (ud.fac_usrdata_upper)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_ext_bedrijf
|
||
WHERE UPPER (prs_bedrijf_naam) = UPPER (ib.prs_bedrijf_naam)
|
||
AND prs_leverancier_nr < ib.prs_leverancier_nr)
|
||
ORDER BY ib.prs_bedrijf_naam, ib.prs_leverancier_nr;
|
||
|
||
v_bedrijf_key NUMBER (10);
|
||
BEGIN
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '[' || rec.prs_leverancier_nr || '|' || rec.prs_bedrijf_naam || '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
v_errormsg := 'Fout bepalen bedrijf';
|
||
IF rec.prs_leverancier_nr IS NULL
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Leveranciersnummer ongedefinieerd');
|
||
-- COMMIT;
|
||
ELSE
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_v_aanwezigbedrijf
|
||
WHERE UPPER (TRIM (prs_leverancier_nr)) = UPPER (rec.prs_leverancier_nr);
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen bedrijf';
|
||
INSERT INTO prs_bedrijf (prs_leverancier_nr,
|
||
prs_bedrijf_naam,
|
||
prs_bedrijf_bezoek_adres,
|
||
prs_bedrijf_bezoek_postcode,
|
||
prs_bedrijf_bezoek_plaats,
|
||
prs_bedrijf_bezoek_land,
|
||
prs_bedrijf_post_adres,
|
||
prs_bedrijf_post_postcode,
|
||
prs_bedrijf_post_plaats,
|
||
prs_bedrijf_post_land,
|
||
--prs_bedrijf_leverancier,
|
||
prs_bedrijf_uitvoerende,
|
||
prs_bedrijf_contract,
|
||
--prs_bedrijf_huurder,
|
||
prs_bedrijf_telefoon,
|
||
prs_bedrijf_email,
|
||
prs_overeenkomst_datum)
|
||
VALUES (rec.prs_leverancier_nr,
|
||
rec.prs_bedrijf_naam,
|
||
rec.prs_bedrijf_bezoek_adres,
|
||
rec.prs_bedrijf_bezoek_postcode,
|
||
rec.prs_bedrijf_bezoek_plaats,
|
||
rec.prs_bedrijf_bezoek_land,
|
||
rec.prs_bedrijf_post_adres,
|
||
rec.prs_bedrijf_post_postcode,
|
||
rec.prs_bedrijf_post_plaats,
|
||
rec.prs_bedrijf_post_land,
|
||
--NULL,
|
||
DECODE (rec.prs_bedrijf_uitvoerende, 1, 1, NULL),
|
||
DECODE (rec.prs_bedrijf_contract, 1, 1, NULL),
|
||
--NULL,
|
||
rec.prs_bedrijf_telefoon,
|
||
rec.prs_bedrijf_email,
|
||
rec.prs_overeenkomst_datum)
|
||
RETURNING prs_bedrijf_key
|
||
INTO v_bedrijf_key;
|
||
|
||
v_count_new := v_count_new + 1;
|
||
ELSE -- v_count > 0
|
||
SELECT prs_bedrijf_key
|
||
INTO v_bedrijf_key
|
||
FROM prs_v_aanwezigbedrijf
|
||
WHERE UPPER (prs_leverancier_nr) = UPPER (rec.prs_leverancier_nr);
|
||
|
||
v_errormsg := 'Fout bijwerken bedrijf';
|
||
UPDATE prs_bedrijf
|
||
SET prs_bedrijf_naam = COALESCE (rec.prs_bedrijf_naam, prs_bedrijf_naam),
|
||
prs_bedrijf_bezoek_adres = COALESCE (rec.prs_bedrijf_bezoek_adres, prs_bedrijf_bezoek_adres),
|
||
prs_bedrijf_bezoek_postcode = COALESCE (rec.prs_bedrijf_bezoek_postcode, prs_bedrijf_bezoek_postcode),
|
||
prs_bedrijf_bezoek_plaats = COALESCE (rec.prs_bedrijf_bezoek_plaats, prs_bedrijf_bezoek_plaats),
|
||
prs_bedrijf_bezoek_land = COALESCE (rec.prs_bedrijf_bezoek_land, prs_bedrijf_bezoek_land),
|
||
prs_bedrijf_post_adres = COALESCE (rec.prs_bedrijf_post_adres, prs_bedrijf_post_adres),
|
||
prs_bedrijf_post_postcode = COALESCE (rec.prs_bedrijf_post_postcode, prs_bedrijf_post_postcode),
|
||
prs_bedrijf_post_plaats = COALESCE (rec.prs_bedrijf_post_plaats, prs_bedrijf_post_plaats),
|
||
prs_bedrijf_post_land = COALESCE (rec.prs_bedrijf_post_land, prs_bedrijf_post_land),
|
||
--prs_bedrijf_leverancier = prs_bedrijf_leverancier,
|
||
prs_bedrijf_uitvoerende = DECODE (rec.prs_bedrijf_uitvoerende, 1, 1, NULL),
|
||
prs_bedrijf_contract = DECODE (rec.prs_bedrijf_contract, 1, 1, NULL),
|
||
--prs_bedrijf_huurder = prs_bedrijf_huurder,
|
||
prs_bedrijf_telefoon = COALESCE (rec.prs_bedrijf_telefoon, prs_bedrijf_telefoon),
|
||
prs_bedrijf_email = COALESCE (rec.prs_bedrijf_email, prs_bedrijf_email),
|
||
prs_overeenkomst_datum = COALESCE (rec.prs_overeenkomst_datum, prs_overeenkomst_datum)
|
||
|
||
WHERE prs_bedrijf_key = v_bedrijf_key;
|
||
|
||
v_count_upd := v_count_upd + 1;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken Status';
|
||
prs.upsertkenmerk (1043, v_bedrijf_key, TO_CHAR (rec.fac_usrdata_key)); -- Status
|
||
v_errormsg := 'Fout bijwerken Classificatie';
|
||
prs.upsertkenmerk (1040, v_bedrijf_key, rec.prs_bedrijf_overig1); -- Classificatie
|
||
v_errormsg := 'Fout bijwerken Sector';
|
||
prs.upsertkenmerk (1041, v_bedrijf_key, rec.prs_bedrijf_overig2); -- Sector
|
||
v_errormsg := 'Fout bijwerken Subsector';
|
||
prs.upsertkenmerk (1042, v_bedrijf_key, rec.prs_bedrijf_overig3); -- Subsector
|
||
v_errormsg := 'Fout bijwerken Einddatum';
|
||
prs.upsertkenmerk (1080, v_bedrijf_key, TO_CHAR(TO_DATE (SUBSTR (rec.prs_bedrijf_contact_fax, 0, 10), 'YYYY-MM-DD'), 'DD/MM/YYYY') ); -- Einddatum
|
||
|
||
--IF MOD (v_count_tot, 500) = 0 THEN COMMIT; END IF;
|
||
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.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
||
-- COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key, 'S', 'Relaties/#ingelezen: ' || TO_CHAR (v_count_tot), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Relaties/#toegevoegd: ' || TO_CHAR (v_count_new), '');
|
||
fac.imp_writelog (p_import_key, 'S', 'Relaties/#bijgewerkt: ' || TO_CHAR (v_count_upd), '');
|
||
-- COMMIT;
|
||
END;
|
||
|
||
-- SUBPROC
|
||
PROCEDURE del_bedrijf (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT b.*
|
||
FROM prs_v_aanwezigbedrijf b
|
||
WHERE b.prs_bedrijf_intern IS NULL
|
||
AND b.prs_leverancier_nr IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_ext_bedrijf
|
||
WHERE prs_leverancier_nr = b.prs_leverancier_nr)
|
||
ORDER BY b.prs_bedrijf_naam, b.prs_leverancier_nr;
|
||
|
||
v_vervallen_key NUMBER (10);
|
||
BEGIN
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '[' || rec.prs_leverancier_nr || '|' || rec.prs_bedrijf_naam || '] ';
|
||
|
||
v_errormsg := 'Fout bijwerken Status=Vervallen';
|
||
SELECT fac_usrdata_key INTO v_vervallen_key FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 3 AND fac_usrdata_upper = 'VERVALLEN';
|
||
prs.upsertkenmerk (1043, rec.prs_bedrijf_key, TO_CHAR (v_vervallen_key)); -- Status
|
||
|
||
v_count_del := v_count_del + 1;
|
||
|
||
BEGIN
|
||
v_errormsg := 'Fout verwijderen bedrijf';
|
||
UPDATE prs_bedrijf
|
||
SET prs_bedrijf_verwijder = SYSDATE
|
||
WHERE prs_bedrijf_key = rec.prs_bedrijf_key;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, '');
|
||
END;
|
||
|
||
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 LOOP;
|
||
|
||
fac.imp_writelog (p_import_key, 'S', 'Relaties/#vervallen: ' || TO_CHAR (v_count_del), '');
|
||
-- COMMIT;
|
||
END;
|
||
-- MAIN
|
||
BEGIN
|
||
SELECT COUNT ( * ) INTO v_count FROM fac_imp_ext_bedrijf;
|
||
|
||
IF v_count < 10
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Het aantal te importeren relaties is te klein (' || TO_CHAR (v_count) || ')', '');
|
||
RETURN;
|
||
END IF;
|
||
|
||
-- Toevoegen Status-entries in Eigen tabel 221='Lifecycle REL'!
|
||
-- v_errormsg := 'Fout bijwerken Status-entries';
|
||
-- INSERT INTO fac_usrdata (fac_usrtab_key, fac_usrdata_code, fac_usrdata_omschr)
|
||
-- SELECT 3, 'Vervallen', 'Vervallen'
|
||
-- FROM DUAL
|
||
-- WHERE NOT EXISTS
|
||
-- (SELECT 1
|
||
-- FROM fac_usrdata
|
||
-- WHERE fac_usrtab_key = 3 -- Lifecycle REL
|
||
-- AND UPPER (TRIM (fac_usrdata_omschr)) = UPPER ('Vervallen'));
|
||
-- INSERT INTO fac_usrdata (fac_usrtab_key, fac_usrdata_code, fac_usrdata_omschr)
|
||
-- SELECT DISTINCT 3, SUBSTR (ib.prs_dienst_omschrijving, 1, 40), SUBSTR (ib.prs_dienst_omschrijving, 1, 60)
|
||
-- FROM fac_imp_ext_bedrijf ib
|
||
-- WHERE NOT EXISTS
|
||
-- (SELECT 1
|
||
-- FROM fac_usrdata
|
||
-- WHERE fac_usrtab_key = 3 -- Lifecycle REL
|
||
-- AND UPPER (TRIM (fac_usrdata_omschr)) = UPPER (ib.prs_dienst_omschrijving));
|
||
-- COMMIT;
|
||
|
||
add_bedrijf (p_import_key);
|
||
del_bedrijf (p_import_key); -- Zet op Status-kenmerkveld op 'Vervallen'!
|
||
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.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Importproces relaties afgebroken!');
|
||
END fmhn_update_rel;
|
||
/
|
||
|
||
-- View voor Burgertelefonie
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_faq_kenm
|
||
(
|
||
kb_key,
|
||
vraag,
|
||
antwoord,
|
||
datum,
|
||
wijzigdatum,
|
||
oorsprong,
|
||
url,
|
||
taal,
|
||
zichtbaar,
|
||
zichtbaar_code,
|
||
productgroep,
|
||
subproductgroep,
|
||
zoekwoorden,
|
||
invoerder,
|
||
scope,
|
||
plaats,
|
||
aantalmeldingen,
|
||
aantalplaatsen,
|
||
organisatieonderdeel,
|
||
afdeling,
|
||
telefoonnummer,
|
||
bgg,
|
||
mobiel,
|
||
email,
|
||
opmerking,
|
||
contactpersoon,
|
||
contactgegevens
|
||
)
|
||
AS
|
||
SELECT f.fac_faq_key kb_key,
|
||
f.fac_faq_question vraag,
|
||
f.fac_faq_answer antwoord,
|
||
f.fac_faq_datum datum,
|
||
f.fac_faq_wijzigdatum wijzigdatum,
|
||
f.fac_faq_source oorsprong,
|
||
f.fac_faq_url url,
|
||
f.fac_faq_lang taal,
|
||
DECODE (f.fac_faq_level,
|
||
1, lcl.l ('lcl_faq_level1'),
|
||
2, lcl.l ('lcl_faq_level2'),
|
||
3, lcl.l ('lcl_faq_level3'))
|
||
zichtbaar,
|
||
f.fac_faq_level zichtbaar_code,
|
||
(SELECT MIN(CASE
|
||
WHEN sd.ins_srtdiscipline_prefix IS NULL THEN ''
|
||
ELSE sd.ins_srtdiscipline_prefix || '-'
|
||
END
|
||
|| m1.ins_discipline_omschrijving)
|
||
FROM mld_v_aanwezigdiscipline m1,
|
||
ins_srtdiscipline sd,
|
||
mld_stdmeldingfaq mf
|
||
WHERE m1.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m1.ins_discipline_key = mf.ins_discipline_key
|
||
AND mf.fac_faq_key = f.fac_faq_key)
|
||
productgroep,
|
||
(SELECT MIN (sm.mld_stdmelding_omschrijving)
|
||
FROM mld_stdmeldingfaq mf, mld_stdmelding sm
|
||
WHERE mf.mld_stdmelding_key = sm.mld_stdmelding_key(+)
|
||
AND mf.fac_faq_key = f.fac_faq_key)
|
||
subproductgroep,
|
||
fac_faq_hint zoekwoorden,
|
||
pf.prs_perslid_naam_full invoerder,
|
||
(SELECT MIN (NVL (o.alg_type, 'L'))
|
||
FROM alg_v_allonroerendgoed o, alg_algfaq af
|
||
WHERE af.alg_onroerendgoed_keys = o.alg_onroerendgoed_keys(+)
|
||
AND af.fac_faq_key = f.fac_faq_key)
|
||
scope,
|
||
(SELECT MIN(l.alg_locatie_code
|
||
|| DECODE (o.alg_plaatsaanduiding,
|
||
NULL, NULL,
|
||
'-' || o.alg_plaatsaanduiding))
|
||
FROM alg_v_aanweziglocatie l,
|
||
alg_v_onroerendgoed_gegevens o,
|
||
alg_algfaq af
|
||
WHERE af.alg_onroerendgoed_keys = o.alg_onroerendgoed_keys(+)
|
||
AND af.alg_locatie_key = l.alg_locatie_key
|
||
AND af.fac_faq_key = f.fac_faq_key)
|
||
plaats,
|
||
(SELECT COUNT ( * )
|
||
FROM mld_stdmeldingfaq mf
|
||
WHERE mf.fac_faq_key = f.fac_faq_key)
|
||
aantalmeldingen,
|
||
(SELECT COUNT ( * )
|
||
FROM alg_algfaq af
|
||
WHERE af.fac_faq_key = f.fac_faq_key)
|
||
aantalplaatsen,
|
||
(SELECT faq_kenmerkwaarde_waarde
|
||
FROM faq_kenmerkwaarde kmwa, faq_kenmerk kma
|
||
WHERE f.fac_faq_key = kmwa.fac_faq_key
|
||
AND kma.faq_kenmerk_key = kmwa.faq_kenmerk_key
|
||
AND UPPER (kma.faq_kenmerk_omschrijving) =
|
||
'ORGANISATIEONDERDEEL')
|
||
AS organisatieonderdeel,
|
||
(SELECT faq_kenmerkwaarde_waarde
|
||
FROM faq_kenmerkwaarde kmwa, faq_kenmerk kma
|
||
WHERE f.fac_faq_key = kmwa.fac_faq_key
|
||
AND kma.faq_kenmerk_key = kmwa.faq_kenmerk_key
|
||
AND UPPER (kma.faq_kenmerk_omschrijving) = 'AFDELING')
|
||
AS afdeling,
|
||
(SELECT faq_kenmerkwaarde_waarde
|
||
FROM faq_kenmerkwaarde kmwa, faq_kenmerk kma
|
||
WHERE f.fac_faq_key = kmwa.fac_faq_key
|
||
AND kma.faq_kenmerk_key = kmwa.faq_kenmerk_key
|
||
AND UPPER (kma.faq_kenmerk_omschrijving) = 'TELEFOONNUMMER')
|
||
AS telefoonnummer,
|
||
(SELECT faq_kenmerkwaarde_waarde
|
||
FROM faq_kenmerkwaarde kmwa, faq_kenmerk kma
|
||
WHERE f.fac_faq_key = kmwa.fac_faq_key
|
||
AND kma.faq_kenmerk_key = kmwa.faq_kenmerk_key
|
||
AND UPPER (kma.faq_kenmerk_omschrijving) = 'BGG')
|
||
AS bgg,
|
||
(SELECT faq_kenmerkwaarde_waarde
|
||
FROM faq_kenmerkwaarde kmwa, faq_kenmerk kma
|
||
WHERE f.fac_faq_key = kmwa.fac_faq_key
|
||
AND kma.faq_kenmerk_key = kmwa.faq_kenmerk_key
|
||
AND UPPER (kma.faq_kenmerk_omschrijving) = 'MOBIEL')
|
||
AS mobiel,
|
||
(SELECT faq_kenmerkwaarde_waarde
|
||
FROM faq_kenmerkwaarde kmwa, faq_kenmerk kma
|
||
WHERE f.fac_faq_key = kmwa.fac_faq_key
|
||
AND kma.faq_kenmerk_key = kmwa.faq_kenmerk_key
|
||
AND UPPER (kma.faq_kenmerk_omschrijving) = 'EMAIL')
|
||
AS email,
|
||
(SELECT faq_kenmerkwaarde_waarde
|
||
FROM faq_kenmerkwaarde kmwa, faq_kenmerk kma
|
||
WHERE f.fac_faq_key = kmwa.fac_faq_key
|
||
AND kma.faq_kenmerk_key = kmwa.faq_kenmerk_key
|
||
AND UPPER (kma.faq_kenmerk_omschrijving) = 'OPMERKING')
|
||
AS opmerking,
|
||
(SELECT faq_kenmerkwaarde_waarde
|
||
FROM faq_kenmerkwaarde kmwa, faq_kenmerk kma
|
||
WHERE f.fac_faq_key = kmwa.fac_faq_key
|
||
AND kma.faq_kenmerk_key = kmwa.faq_kenmerk_key
|
||
AND UPPER (kma.faq_kenmerk_omschrijving) = 'CONTACTPERSOON')
|
||
AS contactpersoon,
|
||
contact.kenmerken AS contactgegevens
|
||
FROM fac_faq f,
|
||
prs_v_perslid_fullnames_all pf,
|
||
( SELECT kb_key,
|
||
listagg (kenmerken, CHR (10))
|
||
WITHIN GROUP (ORDER BY kb_key)
|
||
kenmerken
|
||
FROM (SELECT kb_key, (kenmerk || ': ' || waarde_c) AS kenmerken
|
||
FROM fac_v_udr_faqkenmerk_cnd
|
||
WHERE kenmerk IN
|
||
('Telefoonnummer',
|
||
'Mobiel',
|
||
'BGG',
|
||
'Email',
|
||
'Contactpersoon'))
|
||
GROUP BY kb_key) contact
|
||
WHERE f.prs_perslid_key = pf.prs_perslid_key(+)
|
||
AND f.fac_faq_key = contact.kb_key(+);
|
||
|
||
-- CAD sync-view, de orginele ruimtenummers landen in een kenmerk bij de ruimte.
|
||
CREATE OR REPLACE VIEW fmhn_v_sync_alg_ruimte
|
||
(
|
||
alg_ruimte_key,
|
||
alg_verdieping_key,
|
||
cadlabel
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_key,
|
||
r.alg_verdieping_key,
|
||
COALESCE (k.alg_onrgoedkenmerk_waarde, r.alg_ruimte_nr) cadlabel
|
||
FROM alg_ruimte r, alg_onrgoedkenmerk k
|
||
WHERE r.alg_ruimte_key = k.alg_onrgoed_key AND k.alg_kenmerk_key = 1000;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_idm_afdeling
|
||
AS
|
||
SELECT prs_bedrijf_key,
|
||
prs_afdeling_key,
|
||
prs_afdeling_parentkey,
|
||
prs_kostenplaats_key,
|
||
mincode,
|
||
LEVEL - 1 idmlevel,
|
||
extid afdid,
|
||
afdoms,
|
||
afdidparent,
|
||
SYS_CONNECT_BY_PATH (afdoms, '/') pad,
|
||
SYS_CONNECT_BY_PATH (afdid, '/') idpad,
|
||
AFDVERWIJDER
|
||
FROM (SELECT NULL prs_bedrijf_key,
|
||
NULL prs_afdeling_key,
|
||
NULL prs_afdeling_parentkey,
|
||
NULL prs_kostenplaats_key,
|
||
NULL mincode,
|
||
'IDM' extid,
|
||
'IDM' afdid,
|
||
'IDM' afdoms,
|
||
NULL afdidparent,
|
||
NULL afdverwijder
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_key,
|
||
NULL prs_afdeling_key,
|
||
NULL prs_afdeling_parentkey,
|
||
NULL prs_kostenplaats_key,
|
||
mc_ud.fac_usrdata_code mincode,
|
||
UPPER (mc_ud.fac_usrdata_code || oc.prs_kenmerklink_waarde) extid, -- UPPER!
|
||
UPPER (mc_ud.fac_usrdata_code || REPLACE (oc.prs_kenmerklink_waarde, '/', '#')) afdid, -- UPPER!
|
||
b.prs_bedrijf_naam afdoms, -- Alleen gedeelte tussen haakjes?
|
||
'IDM' afdidparent,
|
||
NULL afdverwijder
|
||
FROM prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1020) mc, -- Ministeriecode (bij Bedrijf)
|
||
fac_v_aanwezigusrdata mc_ud,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1021) oc -- Organisatieonderdeelcode (bij Bedrijf)
|
||
WHERE b.prs_bedrijf_verwijder IS NULL
|
||
AND b.prs_bedrijf_intern = 1
|
||
AND b.prs_bedrijf_key = mc.prs_link_key
|
||
AND fac.safe_to_number (mc.prs_kenmerklink_waarde) = mc_ud.fac_usrdata_key
|
||
AND b.prs_bedrijf_key = oc.prs_link_key
|
||
UNION ALL
|
||
SELECT NULL prs_bedrijf_key,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_parentkey,
|
||
a.prs_kostenplaats_key,
|
||
SUBSTR (a.prs_afdeling_externid, 1, 2) mincode,
|
||
a.prs_afdeling_externid extid, -- UPPER-gevuld!
|
||
REPLACE (a.prs_afdeling_externid, '/', '#') afdid, -- UPPER-gevuld!
|
||
REPLACE (a.prs_afdeling_omschrijving, '/', '#') afdoms,
|
||
REPLACE (UPPER (SUBSTR (a.prs_afdeling_externid, 1, 2) || kl.prs_kenmerklink_waarde), '/', '#') afdidparent, -- UPPER!
|
||
a.prs_afdeling_verwijder afdverwijder
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl
|
||
WHERE 1 = 1 --a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = 1002) -- Identificatie parentafd.
|
||
WHERE afdid IS NOT NULL
|
||
CONNECT BY PRIOR afdid = afdidparent
|
||
START WITH afdidparent IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_idm_afdboom
|
||
AS
|
||
SELECT x.mincode || SUBSTR ('0' || TO_CHAR (x.idmlevel), -2) || x.afdid sortering,
|
||
x.prs_bedrijf_key,
|
||
x.prs_afdeling_key,
|
||
x.prs_afdeling_parentkey,
|
||
x.prs_kostenplaats_key,
|
||
x.mincode,
|
||
x.idmlevel,
|
||
x.afdid,
|
||
afdcode.prs_kenmerklink_waarde afdcode,
|
||
x.afdoms,
|
||
x.afdidparent,
|
||
SUBSTR (x.pad, 6) pad,
|
||
SUBSTR (x.idpad, 6) idpad,
|
||
x.afdverwijder
|
||
FROM fmhn_v_idm_afdeling x,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1001) afdcode -- Afdelingscode
|
||
WHERE x.idmlevel > 0
|
||
AND x.prs_afdeling_key = afdcode.prs_link_key(+);
|
||
|
||
-- Beter niet gebruiken, maar noodzakelijk voor fmhn.update_afd2geb()!
|
||
CREATE OR REPLACE VIEW fmhn_v_afdeling_boom
|
||
(
|
||
niveau,
|
||
prs_bedrijf_key,
|
||
prs_afdeling_key,
|
||
prs_afdeling_key1,
|
||
prs_afdeling_key2,
|
||
prs_afdeling_key3,
|
||
prs_afdeling_key4,
|
||
prs_afdeling_key5,
|
||
prs_afdeling_key6,
|
||
prs_afdeling_key7,
|
||
prs_afdeling_key8,
|
||
prs_afdeling_key9,
|
||
prs_afdeling_key10,
|
||
prs_afdeling_key11,
|
||
prs_afdeling_key12,
|
||
prs_afdeling_key13
|
||
)
|
||
AS
|
||
SELECT '1' niveau, -- IDM=2
|
||
a1.prs_bedrijf_key,
|
||
a1.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1
|
||
WHERE a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '2' niveau, -- IDM=3
|
||
a1.prs_bedrijf_key,
|
||
a2.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1, prs_afdeling a2
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '3' niveau, -- IDM=4
|
||
a1.prs_bedrijf_key,
|
||
a3.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '4' niveau, -- IDM=5
|
||
a1.prs_bedrijf_key,
|
||
a4.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '5' niveau, -- IDM=6
|
||
a1.prs_bedrijf_key,
|
||
a5.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
a5.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
fmhn_v_rap_idm_afdboom a5
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a5.afdidparent = a4.prs_afdeling_externid
|
||
AND a5.idmlevel = '6'
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '6' niveau, -- IDM=7
|
||
a1.prs_bedrijf_key,
|
||
a6.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
a5.prs_afdeling_key,
|
||
a6.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
fmhn_v_rap_idm_afdboom a5,
|
||
fmhn_v_rap_idm_afdboom a6
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a5.afdidparent = a4.prs_afdeling_externid
|
||
AND a5.idmlevel = '6'
|
||
AND a6.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a6.afdidparent = a5.afdid
|
||
AND a6.idmlevel = '7'
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '7' niveau, -- IDM=8
|
||
a1.prs_bedrijf_key,
|
||
a7.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
a5.prs_afdeling_key,
|
||
a6.prs_afdeling_key,
|
||
a7.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
fmhn_v_rap_idm_afdboom a5,
|
||
fmhn_v_rap_idm_afdboom a6,
|
||
fmhn_v_rap_idm_afdboom a7
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a5.afdidparent = a4.prs_afdeling_externid
|
||
AND a5.idmlevel = '6'
|
||
AND a6.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a6.afdidparent = a5.afdid
|
||
AND a6.idmlevel = '7'
|
||
AND a7.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a7.afdidparent = a6.afdid
|
||
AND a7.idmlevel = '8'
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '8' niveau, -- IDM=9
|
||
a1.prs_bedrijf_key,
|
||
a8.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
a5.prs_afdeling_key,
|
||
a6.prs_afdeling_key,
|
||
a7.prs_afdeling_key,
|
||
a8.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
fmhn_v_rap_idm_afdboom a5,
|
||
fmhn_v_rap_idm_afdboom a6,
|
||
fmhn_v_rap_idm_afdboom a7,
|
||
fmhn_v_rap_idm_afdboom a8
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a5.afdidparent = a4.prs_afdeling_externid
|
||
AND a5.idmlevel = '6'
|
||
AND a6.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a6.afdidparent = a5.afdid
|
||
AND a6.idmlevel = '7'
|
||
AND a7.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a7.afdidparent = a6.afdid
|
||
AND a7.idmlevel = '8'
|
||
AND a8.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a8.afdidparent = a7.afdid
|
||
AND a8.idmlevel = '9'
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '9' niveau, -- IDM=10
|
||
a1.prs_bedrijf_key,
|
||
a9.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
a5.prs_afdeling_key,
|
||
a6.prs_afdeling_key,
|
||
a7.prs_afdeling_key,
|
||
a8.prs_afdeling_key,
|
||
a9.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
fmhn_v_rap_idm_afdboom a5,
|
||
fmhn_v_rap_idm_afdboom a6,
|
||
fmhn_v_rap_idm_afdboom a7,
|
||
fmhn_v_rap_idm_afdboom a8,
|
||
fmhn_v_rap_idm_afdboom a9
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a5.afdidparent = a4.prs_afdeling_externid
|
||
AND a5.idmlevel = '6'
|
||
AND a6.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a6.afdidparent = a5.afdid
|
||
AND a6.idmlevel = '7'
|
||
AND a7.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a7.afdidparent = a6.afdid
|
||
AND a7.idmlevel = '8'
|
||
AND a8.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a8.afdidparent = a7.afdid
|
||
AND a8.idmlevel = '9'
|
||
AND a9.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a9.afdidparent = a8.afdid
|
||
AND a9.idmlevel = '10'
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '10' niveau, -- IDM=11
|
||
a1.prs_bedrijf_key,
|
||
a10.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
a5.prs_afdeling_key,
|
||
a6.prs_afdeling_key,
|
||
a7.prs_afdeling_key,
|
||
a8.prs_afdeling_key,
|
||
a9.prs_afdeling_key,
|
||
a10.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
fmhn_v_rap_idm_afdboom a5,
|
||
fmhn_v_rap_idm_afdboom a6,
|
||
fmhn_v_rap_idm_afdboom a7,
|
||
fmhn_v_rap_idm_afdboom a8,
|
||
fmhn_v_rap_idm_afdboom a9,
|
||
fmhn_v_rap_idm_afdboom a10
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a5.afdidparent = a4.prs_afdeling_externid
|
||
AND a5.idmlevel = '6'
|
||
AND a6.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a6.afdidparent = a5.afdid
|
||
AND a6.idmlevel = '7'
|
||
AND a7.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a7.afdidparent = a6.afdid
|
||
AND a7.idmlevel = '8'
|
||
AND a8.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a8.afdidparent = a7.afdid
|
||
AND a8.idmlevel = '9'
|
||
AND a9.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a9.afdidparent = a8.afdid
|
||
AND a9.idmlevel = '10'
|
||
AND a10.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a10.afdidparent = a9.afdid
|
||
AND a10.idmlevel = '11'
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '11' niveau, -- IDM=12
|
||
a1.prs_bedrijf_key,
|
||
a11.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
a5.prs_afdeling_key,
|
||
a6.prs_afdeling_key,
|
||
a7.prs_afdeling_key,
|
||
a8.prs_afdeling_key,
|
||
a9.prs_afdeling_key,
|
||
a10.prs_afdeling_key,
|
||
a11.prs_afdeling_key,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
fmhn_v_rap_idm_afdboom a5,
|
||
fmhn_v_rap_idm_afdboom a6,
|
||
fmhn_v_rap_idm_afdboom a7,
|
||
fmhn_v_rap_idm_afdboom a8,
|
||
fmhn_v_rap_idm_afdboom a9,
|
||
fmhn_v_rap_idm_afdboom a10,
|
||
fmhn_v_rap_idm_afdboom a11
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a5.afdidparent = a4.prs_afdeling_externid
|
||
AND a5.idmlevel = '6'
|
||
AND a6.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a6.afdidparent = a5.afdid
|
||
AND a6.idmlevel = '7'
|
||
AND a7.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a7.afdidparent = a6.afdid
|
||
AND a7.idmlevel = '8'
|
||
AND a8.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a8.afdidparent = a7.afdid
|
||
AND a8.idmlevel = '9'
|
||
AND a9.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a9.afdidparent = a8.afdid
|
||
AND a9.idmlevel = '10'
|
||
AND a10.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a10.afdidparent = a9.afdid
|
||
AND a10.idmlevel = '11'
|
||
AND a11.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a11.afdidparent = a10.afdid
|
||
AND a11.idmlevel = '12'
|
||
AND a1.prs_afdeling_parentkey IS NULL
|
||
UNION
|
||
SELECT '12' niveau, -- IDM=13
|
||
a1.prs_bedrijf_key,
|
||
a12.prs_afdeling_key,
|
||
a1.prs_afdeling_key,
|
||
a2.prs_afdeling_key,
|
||
a3.prs_afdeling_key,
|
||
a4.prs_afdeling_key,
|
||
a5.prs_afdeling_key,
|
||
a6.prs_afdeling_key,
|
||
a7.prs_afdeling_key,
|
||
a8.prs_afdeling_key,
|
||
a9.prs_afdeling_key,
|
||
a10.prs_afdeling_key,
|
||
a11.prs_afdeling_key,
|
||
a12.prs_afdeling_key,
|
||
TO_NUMBER (NULL)
|
||
FROM prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
fmhn_v_rap_idm_afdboom a5,
|
||
fmhn_v_rap_idm_afdboom a6,
|
||
fmhn_v_rap_idm_afdboom a7,
|
||
fmhn_v_rap_idm_afdboom a8,
|
||
fmhn_v_rap_idm_afdboom a9,
|
||
fmhn_v_rap_idm_afdboom a10,
|
||
fmhn_v_rap_idm_afdboom a11,
|
||
fmhn_v_rap_idm_afdboom a12
|
||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a5.afdidparent = a4.prs_afdeling_externid
|
||
AND a5.idmlevel = '6'
|
||
AND a6.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a6.afdidparent = a5.afdid
|
||
AND a6.idmlevel = '7'
|
||
AND a7.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a7.afdidparent = a6.afdid
|
||
AND a7.idmlevel = '8'
|
||
AND a8.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a8.afdidparent = a7.afdid
|
||
AND a8.idmlevel = '9'
|
||
AND a9.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a9.afdidparent = a8.afdid
|
||
AND a9.idmlevel = '10'
|
||
AND a10.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a10.afdidparent = a9.afdid
|
||
AND a10.idmlevel = '11'
|
||
AND a11.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a11.afdidparent = a10.afdid
|
||
AND a11.idmlevel = '12'
|
||
AND a12.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||
AND a12.afdidparent = a11.afdid
|
||
AND a12.idmlevel = '13'
|
||
AND a1.prs_afdeling_parentkey IS NULL;
|
||
|
||
-- Domein-view tbv. alle medewerkers uit IDM!
|
||
-- Als P-kenmerk 1009=Identificatie persoon gevuld, dan uiteindelijk (in mijn
|
||
-- wijsheid, maar twijfel) besloten om medewerker te beschouwen als uit IDM.
|
||
-- Bewust niet op basis B-kenmerk 1020=Ministeriecode of prs_perslid_externid!
|
||
CREATE OR REPLACE VIEW FMHN_V_IDM_MEDEWERKER
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM_FULL,
|
||
PRS_PERSLID_NAAM_FRIENDLY,
|
||
PRS_PERSLID_VERWIJDER,
|
||
PRS_AFD,
|
||
PRS_DEP,
|
||
PRS_DEP_AFD
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
pf.prs_perslid_naam_friendly,
|
||
p.prs_perslid_verwijder,
|
||
pf.prs_perslid_naam_full
|
||
|| ' - ['
|
||
|| a.prs_afdeling_omschrijving
|
||
|| ']',
|
||
pf.prs_perslid_naam_full || ' [' || dep.prs_bedrijf_naam || ']',
|
||
pf.prs_perslid_naam_full
|
||
|| ' - ['
|
||
|| SUBSTR (dep.prs_bedrijf_naam,
|
||
0,
|
||
INSTR (dep.prs_bedrijf_naam, ' ') - 1)
|
||
|| '; '
|
||
|| a.prs_afdeling_omschrijving
|
||
|| ']'
|
||
FROM prs_perslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_v_afdeling a,
|
||
prs_bedrijf dep
|
||
WHERE p.prs_perslid_apikey IS NULL
|
||
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'X'), 1, 1) != '_'
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_bedrijf_key = dep.prs_bedrijf_key;
|
||
/*
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigkenmerklink
|
||
WHERE prs_kenmerk_key = 1009 -- Identificatie persoon
|
||
AND prs_link_key = p.prs_perslid_key);
|
||
*/
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_IDM_MEDEWERKER_BZK
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM_FULL,
|
||
PRS_PERSLID_NAAM_FRIENDLY,
|
||
PRS_PERSLID_VERWIJDER,
|
||
PRS_AFD,
|
||
PRS_DEP,
|
||
PRS_DEP_AFD,
|
||
PRS_AFDELING_OMSCHRIJVING
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
pf.prs_perslid_naam_friendly,
|
||
p.prs_perslid_verwijder,
|
||
pf.prs_perslid_naam_full
|
||
|| ' - ['
|
||
|| a.prs_afdeling_omschrijving
|
||
|| ']',
|
||
pf.prs_perslid_naam_full || ' [' || dep.prs_bedrijf_naam || ']',
|
||
pf.prs_perslid_naam_full
|
||
|| ' - ['
|
||
|| SUBSTR (dep.prs_bedrijf_naam,
|
||
0,
|
||
INSTR (dep.prs_bedrijf_naam, ' ') - 1)
|
||
|| '; '
|
||
|| a.prs_afdeling_omschrijving
|
||
|| ']',
|
||
a.prs_afdeling_omschrijving
|
||
FROM prs_perslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_v_afdeling a,
|
||
prs_bedrijf dep
|
||
WHERE p.prs_perslid_apikey IS NULL
|
||
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'X'), 1, 1) != '_'
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND dep.prs_bedrijf_key = 921 --BZK
|
||
AND a.prs_bedrijf_key = dep.prs_bedrijf_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_IDM_MEDEWERKER_FMH
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM_FULL,
|
||
PRS_PERSLID_NAAM_FRIENDLY,
|
||
PRS_PERSLID_VERWIJDER,
|
||
PRS_AFD,
|
||
PRS_DEP,
|
||
PRS_DEP_AFD,
|
||
PRS_AFDELING_OMSCHRIJVING
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
pf.prs_perslid_naam_friendly,
|
||
p.prs_perslid_verwijder,
|
||
pf.prs_perslid_naam_full
|
||
|| ' - ['
|
||
|| a.prs_afdeling_omschrijving
|
||
|| ']',
|
||
pf.prs_perslid_naam_full || ' [' || dep.prs_bedrijf_naam || ']',
|
||
pf.prs_perslid_naam_full
|
||
|| ' - ['
|
||
|| SUBSTR (dep.prs_bedrijf_naam,
|
||
0,
|
||
INSTR (dep.prs_bedrijf_naam, ' ') - 1)
|
||
|| '; '
|
||
|| a.prs_afdeling_omschrijving
|
||
|| ']',
|
||
a.prs_afdeling_omschrijving
|
||
FROM prs_perslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_v_afdeling a,
|
||
prs_bedrijf dep,
|
||
fmhn_v_rap_idm_afdboom k2a
|
||
WHERE p.prs_perslid_apikey IS NULL
|
||
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'X'), 1, 1) != '_'
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND dep.prs_bedrijf_key = 921 --BZK
|
||
AND a.prs_bedrijf_key = dep.prs_bedrijf_key
|
||
AND SUBSTR (k2a.idpad, 0, 36) =
|
||
'04O354/04O372/04O2514/04O4366/04O653' --FM Haaglanden
|
||
AND a.prs_afdeling_key = k2a.prs_afdeling_key;
|
||
|
||
-- Rapportages tbv. Personenvervoer(/Flowlogics).
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_medewerkers
|
||
(
|
||
person_id,
|
||
mincode,
|
||
prsnr,
|
||
--department_id,
|
||
--afdeling,
|
||
account_id,
|
||
kostenplaats,
|
||
achternaam,
|
||
tussenvoegsel,
|
||
voorletters,
|
||
voornaam,
|
||
titel,
|
||
telefoon,
|
||
mobiel,
|
||
email
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
TRIM (SUBSTR (ud.fac_usrdata_omschr, INSTR (ud.fac_usrdata_omschr, '-') + 1)),
|
||
SUBSTR (p.prs_perslid_externid, 3),
|
||
--a.prs_afdeling_key,
|
||
--afdpad.prs_kenmerklink_waarde,
|
||
kp.prs_kostenplaats_key,
|
||
kp.prs_kostenplaats_omschrijving,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_tussenvoegsel,
|
||
p.prs_perslid_voorletters,
|
||
p.prs_perslid_voornaam,
|
||
--p.prs_perslid_titel,
|
||
DECODE (p.prs_perslid_geslacht, 1, 'Dhr', 0, 'Mevr', 'Onbekend'),
|
||
p.prs_perslid_telefoonnr,
|
||
p.prs_perslid_mobiel,
|
||
p.prs_perslid_email
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab,
|
||
prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1020) mincode, -- Ministeriecode (bij Bedrijf)
|
||
fac_v_aanwezigusrdata ud,
|
||
--(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1009) prsnr, -- Identificatie persoon
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1004) afdpad, -- Afdelingspad
|
||
prs_kostenplaats kp
|
||
WHERE p.prs_perslid_apikey IS NULL
|
||
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'X'), 1, 1) != '_'
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = mincode.prs_link_key(+)
|
||
AND fac.safe_to_number (mincode.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)
|
||
--AND p.prs_perslid_key = prsnr.prs_link_key(+)
|
||
AND a.prs_afdeling_key = afdpad.prs_link_key(+)
|
||
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key(+);
|
||
/*
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigkenmerklink
|
||
WHERE prs_kenmerk_key = 1009 -- Identificatie persoon
|
||
AND prs_link_key = p.prs_perslid_key);
|
||
*/
|
||
|
||
-- Kostenplaats2 is de specifieke kostenplaats gebruikt voor ritten.
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_ritkosten
|
||
(
|
||
tertaal,
|
||
startdatum,
|
||
einddatum,
|
||
aanvrager, -- Aangevraagd door
|
||
meldingnummer,
|
||
type_rit_nummer,
|
||
type_rit,
|
||
van_adres,
|
||
van_plaats,
|
||
naar_adres,
|
||
naar_plaats,
|
||
aangevraagd_voor,
|
||
kostenplaats,
|
||
inhuur_jn,
|
||
normbedrag,
|
||
aantal_uren,
|
||
kosten,
|
||
ritnummer_fl,
|
||
kosten_voor,
|
||
dienst,
|
||
departement,
|
||
debiteur,
|
||
kostendrager,
|
||
kostenplaats2
|
||
)
|
||
AS
|
||
SELECT DECODE (ed.mld_kenmerkmelding_waarde,
|
||
NULL, 'Ongeldig',
|
||
TO_CHAR (ADD_MONTHS (fac.safe_to_date (ed.mld_kenmerkmelding_waarde, 'dd-mm-yyyy'), 2), 'yyyy') || '-'
|
||
|| DECODE (
|
||
TO_CHAR (fac.safe_to_date (ed.mld_kenmerkmelding_waarde, 'dd-mm-yyyy'), 'mm'),
|
||
'10', '3',
|
||
'09', '3',
|
||
'08', '2',
|
||
'07', '2',
|
||
'06', '2',
|
||
'05', '2',
|
||
'1'))
|
||
tertaal,
|
||
fac.safe_to_date (sd.mld_kenmerkmelding_waarde, 'dd-mm-yyyy')
|
||
startdatum,
|
||
fac.safe_to_date (ed.mld_kenmerkmelding_waarde, 'dd-mm-yyyy')
|
||
einddatum,
|
||
pfd.prs_perslid_naam_full aanvrager,
|
||
x.mld_melding_key meldingnummer,
|
||
SUBSTR (tr_ud.fac_usrdata_code, INSTR (tr_ud.fac_usrdata_code, '/') + 1)
|
||
type_rit_nummer,
|
||
tr_ud.fac_usrdata_omschr type_rit,
|
||
va.mld_kenmerkmelding_waarde || ' ' || vhn.mld_kenmerkmelding_waarde
|
||
van_adres,
|
||
vp.mld_kenmerkmelding_waarde van_plaats,
|
||
na.mld_kenmerkmelding_waarde || ' ' || nhn.mld_kenmerkmelding_waarde
|
||
naar_adres,
|
||
np.mld_kenmerkmelding_waarde naar_plaats,
|
||
pfv.prs_perslid_naam_full aangevraagd_voor,
|
||
kp.prs_kostenplaats_omschrijving kostenplaats,
|
||
DECODE (ih.mld_kenmerkmelding_waarde, NULL, 'N', 0, 'N', 'J') inhuur_jn,
|
||
COALESCE (tr_ud.fac_usrdata_prijs, 0) normbedrag,
|
||
ROUND ((fac.safe_to_date (ed.mld_kenmerkmelding_waarde || ' ' || et.mld_kenmerkmelding_waarde, 'dd-mm-yyyy hh24:mi')
|
||
- fac.safe_to_date (sd.mld_kenmerkmelding_waarde || ' ' || st.mld_kenmerkmelding_waarde, 'dd-mm-yyyy hh24:mi'))
|
||
* 24, 2)
|
||
aantal_uren,
|
||
COALESCE (tr_ud.fac_usrdata_prijs, 0)
|
||
* ROUND ((fac.safe_to_date (ed.mld_kenmerkmelding_waarde || ' ' || et.mld_kenmerkmelding_waarde, 'dd-mm-yyyy hh24:mi')
|
||
- fac.safe_to_date (sd.mld_kenmerkmelding_waarde || ' ' || st.mld_kenmerkmelding_waarde, 'dd-mm-yyyy hh24:mi'))
|
||
* 24, 2)
|
||
kosten,
|
||
rn.mld_kenmerkmelding_waarde ritnummer_fl,
|
||
k2a.pad,--FMHN#83135: DECODE(TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1)),'BZ',SUBSTR(k2a.pad,0,INSTR(k2a.pad, '/',-1)-1),k2a.pad) pad,
|
||
'2442.02 Overig vervoer' dienst,
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1))
|
||
departement,
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1))
|
||
debiteur,
|
||
a2d.kostendrager_vervoer kostendrager,
|
||
'600-' || TO_CHAR (a2d.kostendrager_vervoer) kostenplaats2
|
||
FROM (SELECT mld_melding_key, prs_perslid_key_voor, prs_kostenplaats_key
|
||
FROM mld_melding
|
||
WHERE mld_stdmelding_key = 1 -- Rit
|
||
AND mld_melding_status != 1) x -- FMHN#71928: Niet Afgewezen
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding ad
|
||
ON x.mld_melding_key = ad.mld_melding_key
|
||
AND ad.mld_kenmerk_key = 461 -- Aangevraagd door
|
||
LEFT JOIN prs_v_perslid_fullnames_all pfd
|
||
ON fac.safe_to_number (ad.mld_kenmerkmelding_waarde) = pfd.prs_perslid_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding tr
|
||
ON x.mld_melding_key = tr.mld_melding_key
|
||
AND tr.mld_kenmerk_key = 479 -- Type rit
|
||
LEFT JOIN fac_v_aanwezigusrdata tr_ud
|
||
ON fac.safe_to_number (tr.mld_kenmerkmelding_waarde) = tr_ud.fac_usrdata_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding va
|
||
ON x.mld_melding_key = va.mld_melding_key
|
||
AND va.mld_kenmerk_key = 472 -- Startlocatie adres
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding vhn
|
||
ON x.mld_melding_key = vhn.mld_melding_key
|
||
AND vhn.mld_kenmerk_key = 474 -- Startlocatie huisnummer
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding vp
|
||
ON x.mld_melding_key = vp.mld_melding_key
|
||
AND vp.mld_kenmerk_key = 476 -- Startlocatie plaats
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding na
|
||
ON x.mld_melding_key = na.mld_melding_key
|
||
AND na.mld_kenmerk_key = 462 -- Eindlocatie adres
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding nhn
|
||
ON x.mld_melding_key = nhn.mld_melding_key
|
||
AND nhn.mld_kenmerk_key = 464 -- Eindlocatie huisnummer
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding np
|
||
ON x.mld_melding_key = np.mld_melding_key
|
||
AND np.mld_kenmerk_key = 466 -- Eindlocatie plaats
|
||
LEFT JOIN prs_v_perslid_fullnames_all pfv
|
||
ON x.prs_perslid_key_voor = pfv.prs_perslid_key -- Aanvraag voor
|
||
LEFT JOIN prs_v_aanwezigkostenplaats kp
|
||
ON x.prs_kostenplaats_key = kp.prs_kostenplaats_key -- Kostenpl.
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding ih
|
||
ON x.mld_melding_key = ih.mld_melding_key
|
||
AND ih.mld_kenmerk_key = 469 -- Inhuur
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding sd
|
||
ON x.mld_melding_key = sd.mld_melding_key
|
||
AND sd.mld_kenmerk_key = 473 -- Startlocatie datum
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding st
|
||
ON x.mld_melding_key = st.mld_melding_key
|
||
AND st.mld_kenmerk_key = 478 -- Startlocatie tijd
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding ed
|
||
ON x.mld_melding_key = ed.mld_melding_key
|
||
AND ed.mld_kenmerk_key = 463 -- Eindlocatie datum
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding et
|
||
ON x.mld_melding_key = et.mld_melding_key
|
||
AND et.mld_kenmerk_key = 468 -- Eindlocatie tijd
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding rn
|
||
ON x.mld_melding_key = rn.mld_melding_key
|
||
AND rn.mld_kenmerk_key = 471 -- Ritnummer
|
||
LEFT JOIN fmhn_v_rap_idm_afdboom k2a -- Kostenplaats2Afdeling
|
||
ON x.prs_kostenplaats_key = k2a.prs_kostenplaats_key
|
||
LEFT JOIN fmhn_v_rap_afd2debnr a2d
|
||
ON a2d.prs_afdeling_key = k2a.prs_afdeling_key
|
||
WHERE ed.mld_kenmerkmelding_waarde IS NULL -- Ongeldig
|
||
OR TO_CHAR (ADD_MONTHS (fac.safe_to_date (ed.mld_kenmerkmelding_waarde, 'dd-mm-yyyy'), 2)) > '2022'
|
||
;
|
||
|
||
CREATE OR REPLACE PACKAGE FMHN
|
||
AS
|
||
PROCEDURE sluiten_ritten;
|
||
PROCEDURE sluiten_aw;
|
||
PROCEDURE schonen_lessen;
|
||
PROCEDURE afmelden_res;
|
||
--FUNCTION change_delimitor (p_string VARCHAR2, p_delimitor VARCHAR2) RETURN VARCHAR2;
|
||
PROCEDURE movetoruimte (p_perslid_key NUMBER, p_gebouw_key NUMBER, p_virtueel NUMBER);
|
||
PROCEDURE movetopp (p_bezoekers_key NUMBER, p_afspraak_van DATE, p_afspraak_tot DATE, p_terrein_key NUMBER, p_max_cap NUMBER);
|
||
PROCEDURE update_fegroep;
|
||
PROCEDURE update_min2geb;
|
||
PROCEDURE update_afd2geb;
|
||
PROCEDURE delete_wps_nok;
|
||
PROCEDURE add_xml_element (p_bestand VARCHAR2, p_tag VARCHAR2, p_value VARCHAR2);
|
||
PROCEDURE add_xml_row (p_bestand VARCHAR2, p_regel VARCHAR2);
|
||
PROCEDURE mld_after_insert (p_key IN NUMBER);
|
||
PROCEDURE mld_update_ruimtenr (p_key IN NUMBER);
|
||
PROCEDURE ruimte_events;
|
||
PROCEDURE inactiveren_accounts;
|
||
PROCEDURE verwijderen_accounts;
|
||
PROCEDURE archiveren_meldingen;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY FMHN
|
||
AS
|
||
-- Maandelijks sluiten lopende Rit-meldingen over voorgaande maand zoals
|
||
-- vanuit Flowlogic aangemaakt!
|
||
PROCEDURE sluiten_ritten
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'SLUITEN_RITTEN';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_count_tot NUMBER (10) := 0;
|
||
|
||
CURSOR c_ritten
|
||
IS
|
||
SELECT m.mld_melding_key, m.mld_melding_onderwerp, m.mld_melding_status
|
||
FROM mld_melding m,
|
||
(SELECT * FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 463) ed -- Einddatum
|
||
WHERE m.mld_stdmelding_key = 1 -- Rit vanuit Flowlogic aangemaakt
|
||
--AND m.mld_melding_key = 1
|
||
AND m.mld_melding_status IN (2, 3, 4, 5, 99) -- Nieuw/Te accepteren/In behandeling/Afgemeld
|
||
AND m.mld_melding_key = ed.mld_melding_key
|
||
AND fac.safe_to_date (ed.mld_kenmerkmelding_waarde, 'dd-mm-yyyy') < TRUNC (SYSDATE, 'mm');
|
||
BEGIN
|
||
-- LET OP: DAILY-taak draait dagelijks na middernacht (begin van dag) en
|
||
-- ritten - over de voorgaande maand - worden alleen in de nacht
|
||
-- na 22e dag van de maand gesloten.
|
||
IF TO_CHAR (SYSDATE, 'dd') = '23' -- Nacht na 22e dag van de maand!
|
||
THEN
|
||
FOR rec IN c_ritten
|
||
LOOP
|
||
v_aanduiding := '[' || TO_CHAR (rec.mld_melding_key) || '|' || rec.mld_melding_onderwerp || '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
IF rec.mld_melding_key <> 5 -- Nog niet handmatig Afgemeld!
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- Afgemeld (incl. tracking)
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- Verwerkt (incl. tracking)
|
||
IF MOD (v_count_tot, 500) = 0 THEN COMMIT; END IF;
|
||
END LOOP;
|
||
fac.writelog (c_applname, 'S', '#Ritten gesloten: ' || TO_CHAR (v_count_tot), '');
|
||
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 (c_applname, 'E', v_aanduiding || v_errormsg, 'Daily achtergrond taak afgebroken!');
|
||
END;
|
||
|
||
-- Dagelijkse sluiten AW-meldingen(=WF) bij Niet akkoord of na verstrijken
|
||
-- termijn (Korte route na 5 werkdagen en Lange route na 10 werkdagen)!
|
||
PROCEDURE sluiten_aw
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'SLUITEN_AW';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_count_tot NUMBER (10) := 0;
|
||
|
||
CURSOR c_aw
|
||
IS
|
||
SELECT vm.mld_melding_start_key, vm.mld_melding_key, vm.mld_melding_onderwerp, vm.mld_melding_status
|
||
FROM mld_melding m, mld_melding vm
|
||
WHERE m.mld_stdmelding_key IN (741, 1241) -- Aanvraag AW & Aanvraag AW Spoed (Startmelding)
|
||
AND m.mld_melding_status = 4 -- In behandeling
|
||
AND m.mld_melding_key = vm.mld_melding_start_key
|
||
AND vm.mld_melding_key != m.mld_melding_key -- Niet de startmelding zelf!
|
||
AND EXISTS -- Doorgang gisteren gezet op Niet akkoord!
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (2582, 2584, 4342) -- Doorgang=Niet akkoord
|
||
AND TRUNC (km.mld_kenmerkmelding_aanmaak) = TRUNC (SYSDATE - 1)
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
UNION
|
||
SELECT vm.mld_melding_start_key, vm.mld_melding_key, vm.mld_melding_onderwerp, vm.mld_melding_status
|
||
FROM mld_melding m, mld_melding vm
|
||
WHERE m.mld_stdmelding_key = 741 -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_status = 4 -- In behandeling
|
||
AND m.mld_melding_key = vm.mld_melding_start_key
|
||
AND vm.mld_melding_key != m.mld_melding_key -- Niet de startmelding zelf!
|
||
AND fac.count_work_days (fac.gettrackingdate ('MLDNEW', m.mld_melding_key), SYSDATE) = DECODE (vm.mld_stdmelding_key, 742, 5, 10) -- 742=Korte route=5 werkdagen, anders 743/744=Lange route=10 werkdagen!
|
||
AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Vandaag is werkdag
|
||
AND NOT EXISTS -- en geen vrije dag!
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE))
|
||
UNION
|
||
SELECT vm.mld_melding_start_key, vm.mld_melding_key, vm.mld_melding_onderwerp, vm.mld_melding_status
|
||
FROM mld_melding m, mld_melding vm
|
||
WHERE m.mld_stdmelding_key = 1241 -- Aanvraag AW & Aanvraag AW Spoed (Startmelding)
|
||
AND m.mld_melding_status = 4 -- In behandeling
|
||
AND m.mld_melding_key = vm.mld_melding_start_key
|
||
AND vm.mld_melding_key != m.mld_melding_key -- Niet de startmelding zelf!
|
||
AND fac.count_work_days (fac.gettrackingdate ('MLDNEW', m.mld_melding_key), SYSDATE) = 1 -- Bij Aanvraag AW Spoed: 24 uur.
|
||
AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Vandaag is werkdag
|
||
AND NOT EXISTS -- en geen vrije dag!
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE))
|
||
ORDER BY 1, 2;
|
||
BEGIN
|
||
FOR rec IN c_aw
|
||
LOOP
|
||
v_aanduiding := '[' || TO_CHAR (rec.mld_melding_key) || '|' || rec.mld_melding_onderwerp || '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
IF rec.mld_melding_key <> 5 -- Nog niet handmatig Afgemeld!
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- Afgemeld (incl. tracking)
|
||
END IF;
|
||
MLD.mld_nextworkflowstep (rec.mld_melding_key, 1); -- 1=Completed
|
||
COMMIT;
|
||
END LOOP;
|
||
fac.writelog (c_applname, 'S', '#AW gesloten: ' || TO_CHAR (v_count_tot), '');
|
||
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 (c_applname, 'E', v_aanduiding || v_errormsg, 'Daily achtergrond taak afgebroken!');
|
||
END;
|
||
|
||
-- Jaarlijks schonen gevolgde (herhalings)lessen door bhv-ers!
|
||
PROCEDURE schonen_lessen
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'SCHONEN_LESSEN';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10) := 0;
|
||
BEGIN
|
||
-- LET OP: DAILY-taak draait dagelijks na middernacht (begin van dag) en
|
||
-- (herhalings)lessen worden in de nacht na 31 januari gewist.
|
||
-- Dit betreft de volgende datum-kenmerkvelden:
|
||
-- 17=Basis herhaling op
|
||
-- 8=Allround1 herhaling op
|
||
-- 9=Allround2 herhaling op
|
||
-- 35=Ploegleider herhaling op
|
||
-- 27=HBHV herhaling op
|
||
IF TO_CHAR (SYSDATE, 'ddmm') = '0102' -- Nacht na 31 januari!
|
||
THEN
|
||
v_errormsg := 'Fout verwijderen lessen';
|
||
SELECT COUNT (*) INTO v_count_tot FROM ins_kenmerkdeel WHERE ins_kenmerk_key IN (17, 8, 9, 35, 27);
|
||
DELETE FROM ins_kenmerkdeel WHERE ins_kenmerk_key IN (17, 8, 9, 35, 27);
|
||
fac.writelog (c_applname, 'S', '#Lessen geschoond: ' || TO_CHAR (v_count_tot), '');
|
||
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 (c_applname, 'E', v_errormsg, 'Daily achtergrond taak afgebroken!');
|
||
END;
|
||
|
||
-- Dagelijks afmelden alle (RS8-)reserveringen in de nacht <20><>n dag na de
|
||
-- (tot-)datum van de reservering!
|
||
PROCEDURE afmelden_res
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'AFMELDEN_RES';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_old_rsv_ruimte_key NUMBER (10);
|
||
v_prijs NUMBER (9, 2);
|
||
|
||
-- Afmelden reserveringen (in juiste volgorde)!
|
||
CURSOR c_res
|
||
IS
|
||
SELECT '[' || TO_CHAR (rra.res_rsv_ruimte_key) || '|' || TO_CHAR (rra.res_rsv_artikel_key) || '] ' aanduiding,
|
||
rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_key,
|
||
NULL res_rsv_deel_key,
|
||
rra.res_status_bo_key,
|
||
rra.res_artikel_key,
|
||
TO_CHAR (rra.res_rsv_artikel_levering, 'yyyy') jaar
|
||
FROM res_v_aanwezigrsv_artikel rra, res_v_aanwezigrsv_ruimte rrr
|
||
WHERE rra.res_status_bo_key = 2
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE - 7)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT '[' || TO_CHAR (rrd.res_rsv_ruimte_key) || '|' || TO_CHAR (rrd.res_rsv_deel_key) || '] ' aanduiding,
|
||
rrd.res_rsv_ruimte_key,
|
||
NULL res_rsv_artikel_key,
|
||
rrd.res_rsv_deel_key,
|
||
rrd.res_status_bo_key,
|
||
NULL res_artikel_key,
|
||
TO_CHAR (rrd.res_rsv_deel_tot, 'yyyy') jaar
|
||
FROM res_v_aanwezigrsv_deel rrd, res_v_aanwezigrsv_ruimte rrr
|
||
WHERE rrd.res_status_bo_key = 2
|
||
AND rrd.res_rsv_deel_tot < TRUNC (SYSDATE - 7)
|
||
AND rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rrd.res_rsv_ruimte_key IS NOT NULL -- Geen parkeerplaatsen bij niet reservering-gebonden afspraken?
|
||
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] ' aanduiding,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_rsv_artdeel_key,
|
||
NULL res_rsv_deel_key,
|
||
rrr.res_status_bo_key,
|
||
NULL res_artikel_key,
|
||
TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy') jaar
|
||
FROM res_v_aanwezigrsv_ruimte rrr
|
||
WHERE rrr.res_status_bo_key = 2 -- Dit sluit "roomservice" al uit?
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE - 7)
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_ruimte_opstel_key IS NOT NULL -- Geen "roomservice"
|
||
ORDER BY 2, 3;
|
||
BEGIN
|
||
v_old_rsv_ruimte_key := -1;
|
||
FOR rec IN c_res
|
||
LOOP
|
||
BEGIN
|
||
IF v_old_rsv_ruimte_key = -1
|
||
THEN
|
||
v_old_rsv_ruimte_key := rec.res_rsv_ruimte_key;
|
||
ELSIF rec.res_rsv_ruimte_key != v_old_rsv_ruimte_key
|
||
THEN
|
||
COMMIT; -- Per res_rsv_ruimte_key 1x COMMIT
|
||
v_old_rsv_ruimte_key := rec.res_rsv_ruimte_key;
|
||
END IF;
|
||
|
||
IF rec.res_rsv_artikel_key IS NOT NULL
|
||
THEN -- Verbruiksartikel-regel
|
||
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
|
||
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_artikel';
|
||
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 = rec.res_artikel_key),
|
||
res_rsv_artikel_btw =
|
||
(SELECT res_artikel_btw
|
||
FROM res_artikel
|
||
WHERE res_artikel_key = rec.res_artikel_key)
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering afgemeld');
|
||
ELSIF rec.res_rsv_deel_key IS NOT NULL
|
||
THEN -- Voorziening-regel
|
||
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
|
||
SELECT res.getdeelprijs (rec.res_rsv_deel_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_deel';
|
||
UPDATE res_rsv_deel
|
||
SET res_status_bo_key = 5, res_rsv_deel_prijs = v_prijs
|
||
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Voorziening(en) afgemeld');
|
||
ELSE -- Ruimte-regel
|
||
v_errormsg := 'Fout bepalen res_rsv_ruimte_prijs';
|
||
SELECT res.getruimteprijs (rec.res_rsv_ruimte_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_ruimte';
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 5, res_rsv_ruimte_prijs = v_prijs
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
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 (c_applname, 'W', rec.aanduiding || v_errormsg, 'Afmelden RS8-RES');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
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 (c_applname, 'E', v_aanduiding || v_errormsg, 'Daily achtergrond taak afgebroken!');
|
||
END;
|
||
/*
|
||
FUNCTION change_delimitor (p_string VARCHAR2, p_delimitor VARCHAR2)
|
||
RETURN VARCHAR2
|
||
AS
|
||
v_line VARCHAR2 (2000);
|
||
v_field VARCHAR2 (255);
|
||
v_result VARCHAR2 (2000);
|
||
BEGIN
|
||
v_line := p_string;
|
||
|
||
WHILE v_line IS NOT NULL
|
||
LOOP
|
||
fac.imp_getfield (v_line, p_delimitor, v_field);
|
||
v_result := v_result || '"' || v_field || '";';
|
||
END LOOP;
|
||
|
||
RETURN v_result;
|
||
END;
|
||
*/
|
||
PROCEDURE movetoruimte (p_perslid_key NUMBER, p_gebouw_key NUMBER, p_virtueel NUMBER)
|
||
AS
|
||
v_ruimte_key NUMBER (10);
|
||
v_verdieping_key NUMBER (10);
|
||
BEGIN
|
||
SELECT MIN (x.alg_ruimte_key)
|
||
INTO v_ruimte_key
|
||
FROM (SELECT r1.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r1, alg_verdieping v1
|
||
WHERE r1.alg_srtruimte_key = 101 -- Fictief
|
||
AND SUBSTR (r1.alg_ruimte_nr, 1, 1) = '_'
|
||
AND r1.alg_verdieping_key = v1.alg_verdieping_key
|
||
AND v1.alg_gebouw_key = p_gebouw_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanwezigruimte r2, alg_verdieping v2
|
||
WHERE r2.alg_srtruimte_key = 101 -- Fictief
|
||
AND SUBSTR (r2.alg_ruimte_nr, 1, 1) = '_'
|
||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||
AND v2.alg_gebouw_key = v1.alg_gebouw_key
|
||
AND v2.alg_verdieping_volgnr < v1.alg_verdieping_volgnr)) x
|
||
LEFT JOIN
|
||
( SELECT prs_alg_ruimte_key, COUNT ( * ) aant
|
||
FROM prs_werkplek wp
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek
|
||
WHERE prs_werkplek_key = wp.prs_werkplek_key)
|
||
GROUP BY prs_alg_ruimte_key) wp
|
||
ON x.alg_ruimte_key = wp.prs_alg_ruimte_key
|
||
WHERE COALESCE (wp.aant, 0) < 9999;
|
||
|
||
IF v_ruimte_key IS NULL
|
||
THEN
|
||
SELECT MIN (v1.alg_verdieping_key)
|
||
INTO v_verdieping_key
|
||
FROM alg_v_aanwezigruimte r1, alg_verdieping v1
|
||
WHERE r1.alg_srtruimte_key = 101 -- Fictief
|
||
AND SUBSTR (r1.alg_ruimte_nr, 1, 1) = '_'
|
||
AND r1.alg_verdieping_key = v1.alg_verdieping_key
|
||
AND v1.alg_gebouw_key = p_gebouw_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanwezigruimte r2, alg_verdieping v2
|
||
WHERE r2.alg_srtruimte_key = 101 -- Fictief
|
||
AND SUBSTR (r2.alg_ruimte_nr, 1, 1) = '_'
|
||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||
AND v2.alg_gebouw_key = v1.alg_gebouw_key
|
||
AND v2.alg_verdieping_volgnr < v1.alg_verdieping_volgnr);
|
||
|
||
IF v_verdieping_key IS NULL
|
||
THEN
|
||
-- Als er geen verdieping met een underscore-ruimte is, dan is er
|
||
-- misschien zelfs helemaal nog geen verdieping en houdt het op
|
||
-- (zie ook specificatie Periodieke import IDM-persoonsgegevens).
|
||
RETURN;
|
||
END IF;
|
||
|
||
INSERT INTO alg_ruimte (alg_verdieping_key, alg_srtruimte_key, alg_ruimte_nr)
|
||
VALUES (v_verdieping_key, 101, '_Quqelequ')
|
||
RETURNING alg_ruimte_key
|
||
INTO v_ruimte_key;
|
||
|
||
UPDATE alg_ruimte
|
||
SET alg_ruimte_nr = '_' || TO_CHAR (v_ruimte_key)
|
||
WHERE alg_ruimte_key = v_ruimte_key;
|
||
END IF;
|
||
|
||
PRS.movetoruimte (p_perslid_key, v_ruimte_key, 'L', p_virtueel); -- Eventueel andere impliciete WPs op Locatie verwijderen!
|
||
END;
|
||
|
||
-- Tijdelijke procedure tbv. migratie, daarna kan deze weg!
|
||
PROCEDURE movetopp (p_bezoekers_key NUMBER,
|
||
p_afspraak_van DATE,
|
||
p_afspraak_tot DATE,
|
||
p_terrein_key NUMBER,
|
||
p_max_cap NUMBER)
|
||
AS
|
||
v_count NUMBER (10);
|
||
v_res_deel_key NUMBER (10);
|
||
BEGIN
|
||
-- Bepaal hoeveel bezet
|
||
SELECT COUNT ( * ) aant
|
||
INTO v_count
|
||
FROM ins_v_aanwezigdeel pp, res_v_aanwezigdeel rd
|
||
WHERE pp.ins_alg_ruimte_type = 'T'
|
||
AND pp.ins_alg_ruimte_key = p_terrein_key
|
||
--AND pp.ins_discipline_key = rd.res_discipline_key
|
||
AND pp.ins_deel_key = rd.res_ins_deel_key
|
||
AND EXISTS -- Bezet
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE TRUNC (res_rsv_deel_van) = TRUNC (p_afspraak_van)
|
||
AND res_deel_key = rd.res_deel_key);
|
||
|
||
IF (v_count < p_max_cap)
|
||
THEN
|
||
-- Bepaal vrije PP
|
||
SELECT MIN (rd.res_deel_key)
|
||
INTO v_res_deel_key
|
||
FROM res_v_aanwezigdeel rd
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM ins_v_aanwezigdeel d -- Voorkomen op terrein
|
||
WHERE d.ins_alg_ruimte_type = 'T'
|
||
AND d.ins_alg_ruimte_key = p_terrein_key
|
||
AND d.ins_deel_key = rd.res_ins_deel_key)
|
||
AND NOT EXISTS -- Vrij zijn
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE TRUNC (res_rsv_deel_van) = TRUNC (p_afspraak_van)
|
||
AND res_deel_key = rd.res_deel_key);
|
||
|
||
-- Toekennen PP.
|
||
INSERT INTO res_rsv_deel (res_deel_key,
|
||
bez_bezoekers_key,
|
||
res_rsv_deel_aantal,
|
||
res_status_bo_key,
|
||
res_rsv_deel_van,
|
||
res_rsv_deel_tot)
|
||
VALUES (v_res_deel_key,
|
||
p_bezoekers_key,
|
||
1,
|
||
2,
|
||
p_afspraak_van,
|
||
p_afspraak_tot);
|
||
ELSE
|
||
-- Geen PP meer beschikbaar (handmatig corrigeren).
|
||
fac.writelog ('MOVETOPP', 'I', '[' || TO_CHAR (p_terrein_key) || '|' || TO_CHAR (p_bezoekers_key) || '|' || TO_CHAR (p_afspraak_van, 'dd-mm-yyyy') || ']',
|
||
'Geen PP beschikbaar');
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END;
|
||
|
||
PROCEDURE update_fegroep
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'UPDATE_FEGROEP';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER;
|
||
v_datum1 DATE;
|
||
v_datum2 DATE;
|
||
|
||
CURSOR c_gg_bzk_del
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
SUBSTR (p.prs_perslid_externid, 1, 2) mincode
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_externid IS NOT NULL -- Alleen voor uit IDM geimporteerde personen!
|
||
AND SUBSTR (p.prs_perslid_externid, 1, 2) IN ('04') -- Enkel BZK
|
||
AND p.prs_perslid_opp = '1'
|
||
ORDER BY prs_perslid_key;
|
||
|
||
CURSOR c_gg_ienw -- FMHN#80377 Rechten van alle IenW medewerkers veranderen
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '03' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR c_gg_ienw_anvs -- IenW-uitzondering: 76=ANVS (en geen RES Klant)
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '03' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND prs_afdeling_externid IN
|
||
('0363362976', -- ANVS
|
||
'0363303402')) -- ANVS
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND prs_afdeling_externid IN
|
||
('0363362976', -- ANVS
|
||
'0363303402')) -- ANVS
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND prs_afdeling_externid IN
|
||
('0363362976', -- ANVS
|
||
'0363303402')) -- ANVS
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND prs_afdeling_externid IN
|
||
('0363362976', -- ANVS
|
||
'0363303402')) -- ANVS
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND prs_afdeling_externid IN
|
||
('0363362976', -- ANVS
|
||
'0363303402'))) -- ANVS
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR c_gg_ienw_nea -- IenW-uitzondering: 73=NEA (en geen RES Klant)
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '03' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND prs_afdeling_externid IN
|
||
('0363032557', -- NEA
|
||
'0363562066')) -- NEA
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND prs_afdeling_externid IN
|
||
('0363032557', -- NEA
|
||
'0363562066')) -- NEA
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND prs_afdeling_externid IN
|
||
('0363032557', -- NEA
|
||
'0363562066')) -- NEA
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND prs_afdeling_externid IN
|
||
('0363032557', -- NEA
|
||
'0363562066')) -- NEA
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND prs_afdeling_externid IN
|
||
('0363032557', -- NEA
|
||
'0363562066'))) -- NEA
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR c_gg_ocw_duo -- OCW-uitzondering: 87=DUO
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '05' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND prs_afdeling_externid = '0510000000') -- DUO
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND prs_afdeling_externid = '0510000000') -- DUO
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND prs_afdeling_externid = '0510000000') -- DUO
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND prs_afdeling_externid = '0510000000') -- DUO
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND prs_afdeling_externid = '0510000000')) -- DUO
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR c_gg_jenv_dtenv -- JenV-uitzondering: 106=DTenV
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '07' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND prs_afdeling_externid = '0763141006') -- DTenV
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND prs_afdeling_externid = '0763141006') -- DTenV
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND prs_afdeling_externid = '0763141006') -- DTenV
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND prs_afdeling_externid = '0763141006') -- DTenV
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND prs_afdeling_externid = '0763141006')) -- DTenV
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR c_gg_jenv_ind -- JenV-uitzondering: 98=IND
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '07' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND prs_afdeling_externid = '0763387873') -- IND
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND prs_afdeling_externid = '0763387873') -- IND
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND prs_afdeling_externid = '0763387873') -- IND
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND prs_afdeling_externid = '0763387873') -- IND
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND prs_afdeling_externid = '0763387873')) -- IND
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR c_gg_jenv_rvdk -- JenV-uitzondering: 108=RvdK
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '07' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND prs_afdeling_externid = '0763596496') -- RvdK
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND prs_afdeling_externid = '0763596496') -- RvdK
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND prs_afdeling_externid = '0763596496') -- RvdK
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND prs_afdeling_externid = '0763596496') -- RvdK
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND prs_afdeling_externid = '0763596496')) -- RvdK
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR c_gg_iedereen
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
SUBSTR (p.prs_perslid_externid, 1, 2) mincode
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_externid IS NOT NULL -- Alleen voor uit IDM geimporteerde personen!
|
||
AND SUBSTR (p.prs_perslid_externid, 1, 2) IN ('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '14', '27', '29', '30')
|
||
AND NOT EXISTS -- Persoon geen uitzondering!
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key IN (73, 76, 87, 98, 106, 108)
|
||
AND prs_perslid_key = p.prs_perslid_key)
|
||
ORDER BY prs_perslid_key;
|
||
|
||
CURSOR c_gg_bzk_fmh -- BZK-uitzondering: 1382=RS8 FMH (RES-zalen)
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '04' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND prs_afdeling_externid = '04O653') -- FMH
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND prs_afdeling_externid = '04O653') -- FMH
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND prs_afdeling_externid = '04O653') -- FMH
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND prs_afdeling_externid = '04O653') -- FMH
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND prs_afdeling_externid = '04O653')) -- FMH
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR c_gg_bzk_sscict -- BZK-uitzondering: 1381=RS8 SSC-ICT (RES-zalen)
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_externid
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab
|
||
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '04' -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND prs_afdeling_externid = '04O1070') -- SSC-ICT
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND prs_afdeling_externid = '04O1070') -- SSC-ICT
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND prs_afdeling_externid = '04O1070') -- SSC-ICT
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND prs_afdeling_externid = '04O1070') -- SSC-ICT
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND prs_afdeling_externid = '04O1070')) -- SSC-ICT
|
||
ORDER BY p.prs_perslid_key;
|
||
|
||
CURSOR wp_auth_toekenning
|
||
IS
|
||
SELECT 'LOGIUS' afdeling, p.prs_perslid_key, 1062 groep
|
||
FROM prs_v_afdeling_perslid p, prs_v_aanwezigperslid pp
|
||
WHERE UPPER (p.prs_afdeling_omschrijving) LIKE '%LOGIUS%'
|
||
AND p.prs_perslid_key IS NOT NULL
|
||
AND p.prs_perslid_key = pp.prs_perslid_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1062 -- wp logius
|
||
AND prs_perslid_key = p.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 'FMH' afdeling, p.prs_perslid_key, 701 groep
|
||
FROM prs_v_afdeling_perslid p, prs_v_aanwezigperslid pp
|
||
WHERE UPPER (p.prs_afdeling_omschrijving) LIKE '%FMH%'
|
||
AND p.prs_perslid_key IS NOT NULL
|
||
AND p.prs_perslid_key = pp.prs_perslid_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 701 -- wp fmh
|
||
AND prs_perslid_key = p.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 'EZK DICTU' afdeling, p.prs_perslid_key, 1121 groep
|
||
FROM prs_perslid p
|
||
WHERE UPPER (p.prs_perslid_email) LIKE '%DICTU%' -- dictu is alleen te herkennen aan email
|
||
AND p.prs_perslid_key IS NOT NULL
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1121 -- wp ezk dictu
|
||
AND prs_perslid_key = p.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 'DOC DIREKT' afdeling, p.prs_perslid_key, 1141 groep
|
||
FROM prs_v_afdeling_perslid p, prs_v_aanwezigperslid pp
|
||
WHERE UPPER (p.prs_afdeling_omschrijving) LIKE '%DOC-DIREKT%'
|
||
AND p.prs_perslid_key IS NOT NULL
|
||
AND p.prs_perslid_key = pp.prs_perslid_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1141 -- wp doc-direkt
|
||
AND prs_perslid_key = p.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 'DUS-I' afdeling, p.prs_perslid_key, 1142 groep
|
||
FROM prs_v_afdeling_perslid p, prs_v_aanwezigperslid pp
|
||
WHERE UPPER (p.prs_afdeling_omschrijving) LIKE '%DUS-I%'
|
||
AND p.prs_perslid_key IS NOT NULL
|
||
AND p.prs_perslid_key = pp.prs_perslid_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1142 -- wp dus-i
|
||
AND prs_perslid_key = p.prs_perslid_key);
|
||
BEGIN
|
||
-- LET OP: Eerst opschonen BZK medewerkers die van afdeling zijn gewisseld (FMHN#74750)
|
||
FOR rec IN c_gg_bzk_del
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout verwijderen BZK werkplekken';
|
||
DELETE FROM prs_perslidwerkplek
|
||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||
|
||
v_errormsg := 'Fout verwijderen BZK werkplekken, reset opp';
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_opp = NULL
|
||
WHERE prs_perslid_key = rec.prs_perslid_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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- LET OP: Eerst de MLD-uitzonderingen!
|
||
FOR rec IN c_gg_ienw -- FMHN#80377: Rechten van alle IenW medewerkers veranderen
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_IenW-Iedereen';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 167, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 167
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_IenW-Iedereen/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- LET OP: Eerst de MLD-uitzonderingen!
|
||
FOR rec IN c_gg_ienw_anvs -- 76=ANVS (en geen RES Klant)/Sinds FMHN#8037 wel RES Klant via c_gg_ienw???
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_IenW-ANVS';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 76, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 76
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_IenW-ANVS/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- LET OP: Eerst de uitzonderingen!
|
||
FOR rec IN c_gg_ienw_nea -- 73=NEA (en geen RES Klant)/Sinds FMHN#8037 wel RES Klant via c_gg_ienw???
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_IenW-NEA';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 73, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 73
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_IenW-NEA/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- LET OP: Eerst de uitzonderingen!
|
||
FOR rec IN c_gg_ocw_duo -- 87=DUO
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_OCW-DUO';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 87, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 87
|
||
AND prs_perslid_key = rec.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 167, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 167
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_OCW-DUO/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- LET OP: Eerst de uitzonderingen!
|
||
FOR rec IN c_gg_jenv_dtenv -- 106=DTenV
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_JenV-DTenV';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 106, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 106
|
||
AND prs_perslid_key = rec.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 167, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 167
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_JenV-DTenV/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- LET OP: Eerst de uitzonderingen!
|
||
FOR rec IN c_gg_jenv_ind -- 98=IND
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_JenV-IND';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 98, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 98
|
||
AND prs_perslid_key = rec.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 167, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 167
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_JenV-IND/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- LET OP: Eerst de uitzonderingen!
|
||
FOR rec IN c_gg_jenv_rvdk -- 108=RvdK
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_JenV-RvdK';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 108, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 108
|
||
AND prs_perslid_key = rec.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 167, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 167
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_JenV-RvdK/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
FOR rec IN c_gg_iedereen
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_Iedereen';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT DECODE (rec.mincode,
|
||
'01', 47, -- BZ
|
||
'02', 88, -- SZW
|
||
'03', 56, -- IenW (hierboven: 73=NEA/76=ANVS)
|
||
--'04', 102, -- BZK
|
||
'05', 113, -- OCW (hierboven: 67=RCE/87=DUO)
|
||
'06', 81, -- VWS
|
||
'07', 85, -- JenV (95=COA geen uitzondering, hierboven: 98=IND/106=DTenV/108=RvdK)
|
||
'08', 55, -- EZK (93=LNV geen uitzondering)
|
||
'09', 93, -- LNV
|
||
'10', 84, -- AZ/FMHN#89062
|
||
'11', 83, -- DEF
|
||
--'12', -1, -- FIN
|
||
--'13', -1, -- RvdR
|
||
'14', 95, -- COA
|
||
--'15', -1, -- AR
|
||
--'16', -1, -- COHO
|
||
--'17', -1, -- AP
|
||
--'18', -1, -- PC
|
||
--'19', -1, -- TK
|
||
--'20', -1, -- KdNO
|
||
--'21', -1, -- NFI
|
||
--'22', -1, -- NP
|
||
--'23', -1, -- HR
|
||
--'24', 109, -- KSA (autorisatiegroep 109 verwijderd?)
|
||
--'25', -1, -- BD
|
||
--'26', -1, -- TL
|
||
'27', 60, -- RIVM
|
||
'29', 4421, -- EK/FMHN#87484
|
||
'30', 4421, -- FENM/FMHN#88257
|
||
102), -- BZK
|
||
rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS -- Persoon niet al in groep!
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key =
|
||
DECODE (rec.mincode,
|
||
'01', 47, -- BZ
|
||
'02', 88, -- SZW
|
||
'03', 56, -- IenW
|
||
--'04', 102, -- BZK
|
||
'05', 113, -- OCW
|
||
'06', 81, -- VWS
|
||
'07', 85, -- JenV
|
||
'08', 55, -- EZK
|
||
'09', 93, -- LNV
|
||
'10', 84, -- AZ/FMHN#89062
|
||
'11', 83, -- DEF
|
||
--'12', -1, -- FIN
|
||
--'13', -1, -- RvdR
|
||
'14', 95, -- COA
|
||
--'15', -1, -- AR
|
||
--'16', -1, -- COHO
|
||
--'17', -1, -- AP
|
||
--'18', -1, -- PC
|
||
--'19', -1, -- TK
|
||
--'20', -1, -- KdNO
|
||
--'21', -1, -- NFI
|
||
--'22', -1, -- NP
|
||
--'23', -1, -- HR
|
||
--'24', 109, -- KSA
|
||
--'25', -1, -- BD
|
||
--'26', -1, -- TL
|
||
'27', 60, -- RIVM
|
||
'29', 4421, -- EK/FMHN#87484
|
||
'30', 4421, -- FENM/FMHN#88257
|
||
102) -- BZK
|
||
AND prs_perslid_key = rec.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT 167, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE rec.mincode <> '03' -- Persoon niet van IenW!
|
||
AND NOT EXISTS -- Persoon niet al in groep!
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 167
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_Iedereen/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- Extra RS8-rol voor FMH!
|
||
FOR rec IN c_gg_bzk_fmh -- 1382=RS8 FMH
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_BZK-FMH';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 1382, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1382
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_BZK-FMH/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
-- Extra RS8-rol voor SSC-ICT!
|
||
FOR rec IN c_gg_bzk_sscict -- 1381=RS8 SSC-ICT
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout behouden GG_BZK-SSCICT';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT 1381, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1381
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
|
||
-- TODO:DELETE FROM eventuele andere Iedereen-groepen!
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#GG_BZK-SSCICT/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
FOR rec IN wp_auth_toekenning
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toekennen autorisaties WP-reserveringen';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT rec.groep, rec.prs_perslid_key
|
||
FROM DUAL;
|
||
|
||
v_count := v_count + 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.writelog (c_applname, 'E', '[' || rec.afdeling || '|' || rec.prs_perslid_key || '] ' || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#WP_Uitzonderingen/toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
END;
|
||
|
||
PROCEDURE update_min2geb
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'UPDATE_MIN2GEB';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER;
|
||
v_datum1 DATE;
|
||
v_datum2 DATE;
|
||
|
||
CURSOR c_wp
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
g.alg_gebouw_key,
|
||
DECODE (vwp.aantal, NULL, 0, 1) virtueel
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
fac_v_aanwezigusrdata ud,
|
||
alg_v_aanweziggebouw g,
|
||
( SELECT pw.prs_perslid_key, COUNT (*) aantal
|
||
FROM prs_perslidwerkplek pw, prs_werkplek wp
|
||
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
|
||
AND wp.prs_werkplek_virtueel = 1
|
||
GROUP BY pw.prs_perslid_key) vwp -- Virtuele WP
|
||
WHERE p.prs_perslid_externid IS NOT NULL -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND ud.fac_usrtab_key = 141 -- Min2Geb
|
||
AND COALESCE (ud.fac_usrdata_vervaldatum, SYSDATE) > TRUNC (SYSDATE)
|
||
AND SUBSTR (ud.fac_usrdata_code, 1, 2) = SUBSTR (a.prs_afdeling_externid, 1, 2) -- Hoofdzetel ministerie van persoon!
|
||
AND UPPER (SUBSTR (ud.fac_usrdata_code, 4)) = TRIM (g.alg_gebouw_upper)
|
||
AND p.prs_perslid_key = vwp.prs_perslid_key(+)
|
||
AND NOT EXISTS (SELECT 1 -- Nog geen WP op hoofdzetel!
|
||
FROM prs_perslidwerkplek pw, prs_werkplek wp, alg_ruimte r, alg_verdieping v
|
||
WHERE 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 pw.prs_perslid_key = p.prs_perslid_key)
|
||
AND NOT EXISTS (SELECT 1 -- Niet in groep 1081=RES Cateraar!
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1081 -- RES Cateraar
|
||
AND prs_perslid_key = p.prs_perslid_key)
|
||
ORDER BY p.prs_perslid_key;
|
||
BEGIN
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
FOR rec IN c_wp
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toekennen fictieve hoofd-WP';
|
||
fmhn.movetoruimte (rec.prs_perslid_key, rec.alg_gebouw_key, rec.virtueel);
|
||
v_count := v_count + 1;
|
||
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 (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#WPs toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
END;
|
||
|
||
PROCEDURE update_afd2geb
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'UPDATE_AFD2GEB';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER;
|
||
v_datum1 DATE;
|
||
v_datum2 DATE;
|
||
|
||
CURSOR c_wp
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
p.prs_perslid_key,
|
||
g.alg_gebouw_key,
|
||
--ab.niveau,
|
||
ab.idmlevel,
|
||
ud.fac_usrdata_code,
|
||
DECODE (vwp.aantal, NULL, 0, 1) virtueel
|
||
FROM prs_v_aanwezigperslid p,
|
||
--fmhn_v_afdeling_boom ab,
|
||
fmhn_v_rap_idm_afdboom ab,
|
||
fac_v_aanwezigusrdata ud,
|
||
alg_v_aanweziggebouw g,
|
||
( SELECT pw.prs_perslid_key, COUNT (*) aantal
|
||
FROM prs_perslidwerkplek pw, prs_werkplek wp
|
||
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
|
||
AND wp.prs_werkplek_virtueel = 1
|
||
GROUP BY pw.prs_perslid_key) vwp -- Virtuele WP
|
||
WHERE p.prs_perslid_externid IS NOT NULL -- Alleen voor uit IDM geimporteerde personen!
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ud.fac_usrtab_key = 142 -- Afd2Geb
|
||
AND COALESCE (ud.fac_usrdata_vervaldatum, SYSDATE) > TRUNC (SYSDATE)
|
||
AND INSTR ('/' || ab.idpad, '/' || UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1))) > 0
|
||
AND UPPER (SUBSTR (ud.fac_usrdata_code, INSTR (ud.fac_usrdata_code, '/') + 1)) = TRIM (g.alg_gebouw_upper)
|
||
AND p.prs_perslid_key = vwp.prs_perslid_key(+)
|
||
AND NOT EXISTS (SELECT 1 -- Nog geen WP op satellietzetel!
|
||
FROM prs_perslidwerkplek pw, prs_werkplek wp, alg_ruimte r, alg_verdieping v
|
||
WHERE 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 pw.prs_perslid_key = p.prs_perslid_key)
|
||
AND NOT EXISTS (SELECT 1 -- Niet in groep 1081=RES Cateraar!
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1081 -- RES Cateraar
|
||
AND prs_perslid_key = p.prs_perslid_key)
|
||
ORDER BY p.prs_perslid_key;
|
||
/*
|
||
AND (EXISTS
|
||
(SELECT 1 -- Satellietzetel op bedrijf van persoon (kan ook)!
|
||
FROM prs_v_aanwezigkenmerklink
|
||
WHERE prs_kenmerk_key = 1021 -- Organisatieonderdeelcode (bij Bedrijf)
|
||
AND prs_link_key = ab.prs_bedrijf_key
|
||
AND UPPER (SUBSTR (p.prs_perslid_externid, 1, 2) || prs_kenmerklink_waarde) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling6 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling7 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key6
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling8 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key7
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling9 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key8
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1)))
|
||
OR EXISTS
|
||
(SELECT 1 -- Satellietzetel op afdeling10 van persoon!
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = ab.prs_afdeling_key9
|
||
AND UPPER (prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1))))
|
||
*/
|
||
BEGIN
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
FOR rec IN c_wp
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toekennen fictieve satelliet-WP';
|
||
fmhn.movetoruimte (rec.prs_perslid_key, rec.alg_gebouw_key, rec.virtueel);
|
||
v_count := v_count + 1;
|
||
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 (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#WPs toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
END;
|
||
|
||
-- Verwijderen (normale en virtuele) prs_perslidwerkplek anders dan op hoofd- of satellietzetel!
|
||
PROCEDURE delete_wps_nok
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'DELETE_WPS_NOK';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER;
|
||
v_datum1 DATE;
|
||
v_datum2 DATE;
|
||
|
||
CURSOR c_wp
|
||
IS
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
--(SELECT prs_srtperslid_omschrijving FROM prs_srtperslid WHERE prs_srtperslid_key = p.prs_srtperslid_key) functie,
|
||
--(SELECT prs_bedrijf_naam FROM prs_bedrijf WHERE prs_bedrijf_key = ab.prs_bedrijf_key) bedrijf,
|
||
--SUBSTR (pw.prs_werkplek_aanduiding, 1, INSTR (pw.prs_werkplek_aanduiding, '-') - 1) locatiecode,
|
||
--pw.alg_gebouw_code gebouwcode,
|
||
pw.prs_perslidwerkplek_key
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_v_perslidwerkplek_gegevens pw,
|
||
fmhn_v_rap_idm_afdboom ab
|
||
WHERE p.prs_perslid_externid IS NOT NULL -- Alleen voor uit IDM geimporteerde personen!
|
||
AND NOT EXISTS -- Alle medewerkers met Catering in hun functie uitsluiten!
|
||
(SELECT 1
|
||
FROM prs_srtperslid
|
||
WHERE INSTR (UPPER (prs_srtperslid_omschrijving), 'CATERING') > 0
|
||
AND prs_srtperslid_key = p.prs_srtperslid_key)
|
||
AND p.prs_perslid_key = pw.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.mincode <> 28 -- Alle medewerkers die vallen onder bedrijf LEVFMH (Leveranciers FMH) uitsluiten!
|
||
AND NOT EXISTS
|
||
(SELECT 1 -- Geen hoofdzetel van persoon!
|
||
FROM fac_v_aanwezigusrdata
|
||
WHERE fac_usrtab_key = 141 -- Min2Geb
|
||
AND COALESCE (fac_usrdata_vervaldatum, SYSDATE) > TRUNC (SYSDATE)
|
||
AND SUBSTR (fac_usrdata_code, 1, 2) = SUBSTR (p.prs_perslid_externid, 1, 2)
|
||
--AND UPPER (SUBSTR (fac_usrdata_code, 4)) = TRIM (pw.alg_gebouw_upper)
|
||
AND UPPER (SUBSTR (fac_usrdata_code, INSTR (fac_usrdata_code, '/') + 1)) = TRIM (pw.alg_gebouw_upper))
|
||
AND NOT EXISTS
|
||
(SELECT 1 -- Geen satellietzetel op afdeling van persoon!
|
||
FROM fac_v_aanwezigusrdata
|
||
WHERE fac_usrtab_key = 142 -- Afd2Geb
|
||
AND COALESCE (fac_usrdata_vervaldatum, SYSDATE) > TRUNC (SYSDATE)
|
||
AND INSTR ('/' || ab.idpad, '/' || UPPER (SUBSTR (fac_usrdata_code, 1, INSTR (fac_usrdata_code, '/') - 1))) > 0
|
||
AND UPPER (SUBSTR (fac_usrdata_code, INSTR (fac_usrdata_code, '/') + 1)) = TRIM (pw.alg_gebouw_upper))
|
||
UNION -- Bij alle medewerkers met PoortCentraal in hun functie alle WP verwijderen behalve op RS8=Rijnstraat 8!
|
||
SELECT '[' || p.prs_perslid_email || '] ' aanduiding,
|
||
--(SELECT prs_srtperslid_omschrijving FROM prs_srtperslid WHERE prs_srtperslid_key = p.prs_srtperslid_key) functie,
|
||
--(SELECT prs_bedrijf_naam FROM prs_bedrijf WHERE prs_bedrijf_key = ab.prs_bedrijf_key) bedrijf,
|
||
--SUBSTR (pw.prs_werkplek_aanduiding, 1, INSTR (pw.prs_werkplek_aanduiding, '-') - 1) locatiecode,
|
||
--pw.alg_gebouw_code gebouwcode,
|
||
pw.prs_perslidwerkplek_key
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_v_perslidwerkplek_gegevens pw,
|
||
prs_v_afdeling_boom ab
|
||
WHERE p.prs_perslid_externid IS NOT NULL -- Alleen voor uit IDM geimporteerde personen!
|
||
AND EXISTS -- Alle medewerkers met PoortCentraal in hun functie!
|
||
(SELECT 1
|
||
FROM prs_srtperslid
|
||
WHERE INSTR (UPPER (prs_srtperslid_omschrijving), 'POORTCENTRAAL') > 0
|
||
AND prs_srtperslid_key = p.prs_srtperslid_key)
|
||
AND p.prs_perslid_key = pw.prs_perslid_key
|
||
AND pw.alg_locatie_key <> 18 -- Alle WP verwijderen behalve op RS8=Rijnstraat 8!
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
ORDER BY 1, 2;
|
||
/*
|
||
AND NOT EXISTS
|
||
(SELECT 1 -- Geen satellietzetel op bedrijf van persoon (kan ook)!
|
||
FROM prs_v_aanwezigkenmerklink kl, fac_v_aanwezigusrdata ud
|
||
WHERE kl.prs_kenmerk_key = 1021 -- Organisatieonderdeelcode (bij Bedrijf)
|
||
AND kl.prs_link_key = ab.prs_bedrijf_key
|
||
AND fac_usrtab_key = 142 -- Afd2Geb
|
||
AND UPPER (SUBSTR (p.prs_perslid_externid, 1, 2) || kl.prs_kenmerklink_waarde) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1))
|
||
AND UPPER (SUBSTR (ud.fac_usrdata_code, INSTR (ud.fac_usrdata_code, '/') + 1)) = TRIM (pw.alg_gebouw_upper))
|
||
AND NOT EXISTS
|
||
(SELECT 1 -- Geen satellietzetel op afdeling1 van persoon!
|
||
FROM prs_afdeling a, fac_v_aanwezigusrdata ud
|
||
WHERE a.prs_afdeling_key = ab.prs_afdeling_key1
|
||
AND fac_usrtab_key = 142 -- Afd2Geb
|
||
AND UPPER (a.prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1))
|
||
AND UPPER (SUBSTR (ud.fac_usrdata_code, INSTR (ud.fac_usrdata_code, '/') + 1)) = TRIM (pw.alg_gebouw_upper))
|
||
AND NOT EXISTS
|
||
(SELECT 1 -- Geen satellietzetel op afdeling2 van persoon!
|
||
FROM prs_afdeling a, fac_v_aanwezigusrdata ud
|
||
WHERE a.prs_afdeling_key = ab.prs_afdeling_key2
|
||
AND fac_usrtab_key = 142 -- Afd2Geb
|
||
AND UPPER (a.prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1))
|
||
AND UPPER (SUBSTR (ud.fac_usrdata_code, INSTR (ud.fac_usrdata_code, '/') + 1)) = TRIM (pw.alg_gebouw_upper))
|
||
AND NOT EXISTS
|
||
(SELECT 1 -- Geen satellietzetel op afdeling3 van persoon!
|
||
FROM prs_afdeling a, fac_v_aanwezigusrdata ud
|
||
WHERE a.prs_afdeling_key = ab.prs_afdeling_key3
|
||
AND fac_usrtab_key = 142 -- Afd2Geb
|
||
AND UPPER (a.prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1))
|
||
AND UPPER (SUBSTR (ud.fac_usrdata_code, INSTR (ud.fac_usrdata_code, '/') + 1)) = TRIM (pw.alg_gebouw_upper))
|
||
AND NOT EXISTS
|
||
(SELECT 1 -- Geen satellietzetel op afdeling4 van persoon!
|
||
FROM prs_afdeling a, fac_v_aanwezigusrdata ud
|
||
WHERE a.prs_afdeling_key = ab.prs_afdeling_key4
|
||
AND fac_usrtab_key = 142 -- Afd2Geb
|
||
AND UPPER (a.prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1))
|
||
AND UPPER (SUBSTR (ud.fac_usrdata_code, INSTR (ud.fac_usrdata_code, '/') + 1)) = TRIM (pw.alg_gebouw_upper))
|
||
AND NOT EXISTS
|
||
(SELECT 1 -- Geen satellietzetel op afdeling5 van persoon!
|
||
FROM prs_afdeling a, fac_v_aanwezigusrdata ud
|
||
WHERE a.prs_afdeling_key = ab.prs_afdeling_key5
|
||
AND fac_usrtab_key = 142 -- Afd2Geb
|
||
AND UPPER (a.prs_afdeling_externid) =
|
||
UPPER (SUBSTR (ud.fac_usrdata_code, 1, INSTR (ud.fac_usrdata_code, '/') - 1))
|
||
AND UPPER (SUBSTR (ud.fac_usrdata_code, INSTR (ud.fac_usrdata_code, '/') + 1)) = TRIM (pw.alg_gebouw_upper))
|
||
*/
|
||
BEGIN
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
FOR rec IN c_wp
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout verwijderen ongeldige WP';
|
||
DELETE FROM prs_perslidwerkplek WHERE prs_perslidwerkplek_key = rec.prs_perslidwerkplek_key;
|
||
v_count := v_count + 1;
|
||
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 (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_datum2 := SYSDATE;
|
||
fac.writelog (c_applname, 'S', '#WPs verwijderd: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
END;
|
||
|
||
PROCEDURE add_xml_row (p_bestand IN VARCHAR2, p_regel IN VARCHAR2)
|
||
AS
|
||
v_index NUMBER;
|
||
BEGIN
|
||
SELECT COALESCE (MAX (fac_rapport_volgnr), 0) + 1 INTO v_index FROM fac_rapport WHERE fac_rapport_node = p_bestand;
|
||
|
||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel)
|
||
VALUES (p_bestand, v_index, p_regel);
|
||
END;
|
||
|
||
PROCEDURE add_xml_element (p_bestand IN VARCHAR2, p_tag IN VARCHAR2, p_value IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
fmhn.add_xml_row (p_bestand, '<' || p_tag || '>' || xml.char_to_html (p_value) || '</' || p_tag || '>');
|
||
END;
|
||
|
||
PROCEDURE mld_update_ruimtenr( p_key in NUMBER)
|
||
AS
|
||
v_srtmelding_key NUMBER;
|
||
v_ruimtenr_key NUMBER;
|
||
BEGIN
|
||
v_ruimtenr_key:=-1;
|
||
|
||
SELECT m.mld_stdmelding_key
|
||
INTO v_srtmelding_key
|
||
FROM mld_melding m
|
||
WHERE m.mld_melding_key=p_key;
|
||
|
||
CASE v_srtmelding_key
|
||
WHEN 392 THEN
|
||
v_ruimtenr_key:=23040; -- RS8 arbo bestelling moet naar postkamer
|
||
ELSE
|
||
v_ruimtenr_key:=-1;
|
||
END CASE;
|
||
|
||
IF v_ruimtenr_key > 0
|
||
THEN
|
||
UPDATE mld_melding m SET m.mld_alg_onroerendgoed_keys = v_ruimtenr_key WHERE m.mld_melding_key=p_key;
|
||
fac.trackaction('MLDUPD',p_key,3,SYSDATE,'Ruimtenr gewijzigd naar 05.C.008');
|
||
END IF;
|
||
END;
|
||
|
||
-- Hook functie die na het invoeren van een melding aangeroepen wordt.
|
||
PROCEDURE mld_after_insert (p_key IN NUMBER)
|
||
AS
|
||
v_melding_status NUMBER;
|
||
v_locatie_key NUMBER;
|
||
v_kenmerk_projectnr NUMBER; -- Kenmerk_key projectnummer
|
||
v_kenmerk_offertenr NUMBER; -- Kenmerk_key offertenummer
|
||
v_perslid_key NUMBER; -- melder
|
||
v_discipline_key NUMBER;
|
||
v_stdmelding_key NUMBER;
|
||
v_melding_oms_old VARCHAR2 (100);
|
||
v_melding_oms_new VARCHAR2 (100);
|
||
v_mld_uitvoertijd_old mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
|
||
v_mld_accepttijd_old mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE;
|
||
v_mld_uitvoertijd_new mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
|
||
v_mld_accepttijd_new mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE;
|
||
v_melding_omschrijving mld_melding.mld_melding_omschrijving%TYPE;
|
||
v_melding_onderwerp mld_melding.mld_melding_onderwerp%TYPE;
|
||
v_melding_datum DATE;
|
||
v_dienst_key NUMBER (10);
|
||
v_typeopdr_key NUMBER (10);
|
||
v_bedrijf_key NUMBER (10);
|
||
v_opdr_key NUMBER (10);
|
||
v_stdmelding_autoorder mld_stdmelding.mld_stdmelding_autoorder%TYPE;
|
||
v_locatie_change NUMBER (1);
|
||
v_projectnr_gevuld NUMBER (10);
|
||
v_projectnr_next NUMBER (10);
|
||
v_melding_key_next mld_melding.mld_melding_key%TYPE;
|
||
v_offertenr_gevuld NUMBER (10);
|
||
v_offertenr_next NUMBER (10);
|
||
v_melding_cat VARCHAR2 (400);
|
||
v_locatie_code VARCHAR2 (100);
|
||
v_locatie VARCHAR2 (100);
|
||
v_gebouw_code VARCHAR2 (100);
|
||
v_errormsg VARCHAR2 (100);
|
||
BEGIN
|
||
v_errormsg := 'Ophalen meldinggegevens';
|
||
|
||
BEGIN
|
||
v_locatie_change := 0;
|
||
|
||
SELECT m.mld_melding_status,
|
||
m.mld_alg_locatie_key,
|
||
m.prs_perslid_key,
|
||
m.mld_stdmelding_key,
|
||
m.mld_melding_datum,
|
||
m.mld_melding_omschrijving,
|
||
sm.mld_ins_discipline_key
|
||
INTO v_melding_status,
|
||
v_locatie_key,
|
||
v_perslid_key,
|
||
v_stdmelding_key,
|
||
v_melding_datum,
|
||
v_melding_omschrijving,
|
||
v_discipline_key
|
||
FROM mld_melding m, mld_stdmelding sm
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND mld_melding_key = p_key;
|
||
|
||
IF v_stdmelding_key IN (662, 667) -- Aanvraag formulieren nieuwe projecten
|
||
THEN
|
||
BEGIN
|
||
SELECT DISTINCT k.mld_kenmerk_key
|
||
INTO v_kenmerk_projectnr
|
||
FROM mld_kenmerk k, mld_stdmelding s, mld_melding m
|
||
WHERE k.mld_srtkenmerk_key = 296 -- Kenmerksoort 'Projectnummer (automatisch)'
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND k.mld_stdmelding_key = s.mld_stdmelding_key
|
||
AND m.mld_melding_key = p_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_kenmerk_projectnr := NULL;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT k.mld_kenmerk_key
|
||
INTO v_projectnr_gevuld
|
||
FROM mld_kenmerk k, mld_kenmerkmelding km
|
||
WHERE k.mld_srtkenmerk_key = 296 -- Kenmerksoort 'Projectnummer (automatisch)'
|
||
AND k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL
|
||
AND km.mld_melding_key = p_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_projectnr_gevuld := NULL;
|
||
END;
|
||
|
||
IF v_kenmerk_projectnr IS NOT NULL
|
||
AND v_projectnr_gevuld IS NULL -- Alleen bij nieuwe melding, niet bij mutaties
|
||
THEN
|
||
BEGIN
|
||
INSERT INTO mld_kenmerkmelding (
|
||
mld_melding_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkmelding_waarde)
|
||
VALUES (
|
||
p_key,
|
||
(SELECT k.mld_kenmerk_key
|
||
FROM mld_kenmerk k,
|
||
mld_stdmelding s,
|
||
mld_melding m
|
||
WHERE k.mld_srtkenmerk_key =
|
||
296 -- Kenmerksoort 'Projectnummer (automatisch)'
|
||
AND s.mld_stdmelding_key =
|
||
m.mld_stdmelding_key
|
||
AND k.mld_stdmelding_key =
|
||
s.mld_stdmelding_key
|
||
AND m.mld_melding_key = p_key),
|
||
(SELECT ( TO_CHAR (SYSDATE, 'yy')
|
||
* 1000000)
|
||
+ 2000000000
|
||
+ 1
|
||
+ COALESCE (
|
||
MAX (
|
||
fac.safe_to_number (
|
||
SUBSTR (
|
||
kmm.mld_kenmerkmelding_waarde,
|
||
5,
|
||
6))),
|
||
0)
|
||
FROM mld_kenmerkmelding kmm,
|
||
(SELECT k.mld_kenmerk_key
|
||
FROM mld_kenmerk k,
|
||
mld_melding m
|
||
WHERE k.mld_srtkenmerk_key =
|
||
296 -- Kenmerksoort 'Projectnummer (automatisch)'
|
||
AND m.mld_melding_key =
|
||
p_key) km
|
||
WHERE kmm.mld_kenmerk_key =
|
||
km.mld_kenmerk_key))
|
||
RETURNING mld_kenmerkmelding_waarde
|
||
INTO v_projectnr_next;
|
||
|
||
--Ook projectnummer vullen bij volgende stap
|
||
--Bepalen melding key van de tweede stap in de workflow.
|
||
IF v_stdmelding_key = 667 --Aanvraag project (RM/PM)
|
||
THEN
|
||
BEGIN
|
||
SELECT MIN (m.mld_melding_key)
|
||
INTO v_melding_key_next
|
||
FROM mld_melding m
|
||
WHERE m.mld_stdmelding_key = 663 -- Specificeren
|
||
AND m.mld_melding_start_key = p_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_melding_key_next := NULL;
|
||
END;
|
||
|
||
IF v_melding_key_next IS NOT NULL
|
||
THEN
|
||
INSERT INTO mld_kenmerkmelding (
|
||
mld_melding_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkmelding_waarde)
|
||
VALUES (v_melding_key_next,
|
||
1806, -- Kenmerk projectnummer bij stdmelding Specificeren (2e melding in workflow)
|
||
v_projectnr_next);
|
||
END IF;
|
||
END IF;
|
||
|
||
IF v_stdmelding_key = 662 --Aanvraag project (Klant)
|
||
THEN
|
||
BEGIN
|
||
SELECT MIN (m.mld_melding_key)
|
||
INTO v_melding_key_next
|
||
FROM mld_melding m
|
||
WHERE m.mld_stdmelding_key = 666 -- Beoordeling
|
||
AND m.mld_melding_start_key = p_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_melding_key_next := NULL;
|
||
END;
|
||
|
||
IF v_melding_key_next IS NOT NULL
|
||
THEN
|
||
INSERT INTO mld_kenmerkmelding (
|
||
mld_melding_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkmelding_waarde)
|
||
VALUES (v_melding_key_next,
|
||
1807, -- Kenmerk projectnummer bij stdmelding Beoordeling (2e melding in workflow)
|
||
v_projectnr_next);
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Hieronder proberen we kenmerk offertenummer volgnummer automatisch te vullen
|
||
-- Binnen een project-workflow kunnen meerdere offertes worden aangemaakt (handmatige vervolgmeldingen).
|
||
-- Die moeten allen een nieuw (opvolgend) offertevolgnummer krijgen (001, 002, etc.)
|
||
IF v_stdmelding_key IN (665) -- Standaardmelding 'Offerte opstellen'
|
||
THEN
|
||
BEGIN
|
||
SELECT DISTINCT k.mld_kenmerk_key
|
||
INTO v_kenmerk_offertenr
|
||
FROM mld_kenmerk k, mld_stdmelding s, mld_melding m
|
||
WHERE k.mld_srtkenmerk_key = 282 -- Kenmerksoort 'Offertenummer'
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND k.mld_stdmelding_key = s.mld_stdmelding_key
|
||
AND m.mld_melding_key = p_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_kenmerk_offertenr := NULL;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT k.mld_kenmerk_key
|
||
INTO v_offertenr_gevuld
|
||
FROM mld_kenmerk k, mld_kenmerkmelding km
|
||
WHERE k.mld_srtkenmerk_key = 282 -- Kenmerksoort 'Offertenummer'
|
||
AND k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL
|
||
AND km.mld_melding_key = p_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_offertenr_gevuld := NULL;
|
||
END;
|
||
|
||
SELECT COALESCE ((MAX (offertenummer)) + 1, 1)
|
||
INTO v_offertenr_next
|
||
FROM (SELECT (kmm1.mld_kenmerkmelding_waarde)
|
||
AS offertenummer,
|
||
m_flow.mld_melding_key
|
||
AS melding_key
|
||
FROM mld_melding m,
|
||
mld_melding m_flow,
|
||
mld_kenmerkmelding kmm1
|
||
WHERE m.mld_melding_key = p_key
|
||
AND m.mld_melding_start_key =
|
||
m_flow.mld_melding_start_key
|
||
AND m_flow.mld_stdmelding_key = 665 -- Standaardmelding 'Offerte opstellen'
|
||
AND kmm1.mld_melding_key =
|
||
m_flow.mld_melding_key
|
||
AND kmm1.mld_kenmerk_key = v_kenmerk_offertenr); -- Kenmerk 'Offertenummer' bij standaardmelding 'Offerte opstellen'
|
||
|
||
IF v_kenmerk_offertenr IS NOT NULL
|
||
AND v_offertenr_gevuld IS NULL -- Alleen bij nieuwe melding, niet bij mutaties
|
||
THEN
|
||
BEGIN
|
||
INSERT INTO mld_kenmerkmelding (
|
||
mld_melding_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkmelding_waarde)
|
||
VALUES (p_key,
|
||
v_kenmerk_offertenr,
|
||
v_offertenr_next);
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
-- FMHN#72353 Aanmaken reservering n.a.v. melding 'Aanvraag Evenement'
|
||
-- Overweging vanuit CAB is om niet vanuit een hook-functie gegevens naar de reservering door te zetten, zeker geen flexkenmerken uit meldingen.
|
||
-- Getracht wordt zoveel mogelijk automatisch mee te nemen uit de aanvraag (melding) naar de reservering
|
||
-- Aanvrager, kostenplaats en locatie wordt meegenomen door #71733 (core)
|
||
-- Ook reserveringsomschrijving wordt automatisch gevuld vanuit het onderwerp van de melding door #71733. Maar dit veld gebruikt FMH niet op dit formulier en is leeg.
|
||
-- Onderstaande verhelpt dat.
|
||
IF v_stdmelding_key IN (25) -- Standaardmelding 'Evenement aanvragen'
|
||
THEN
|
||
BEGIN
|
||
SELECT SUBSTR(kmm.mld_kenmerkmelding_waarde,0,80)
|
||
INTO v_melding_onderwerp
|
||
FROM mld_kenmerkmelding kmm, mld_melding m
|
||
WHERE kmm.mld_kenmerk_key = 235 --Kenmerksoort 'Naam evenement'
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND m.mld_melding_key = p_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_melding_onderwerp := NULL;
|
||
END;
|
||
IF v_melding_onderwerp IS NOT NULL
|
||
THEN
|
||
BEGIN
|
||
UPDATE mld_melding
|
||
SET mld_melding_onderwerp = v_melding_onderwerp
|
||
WHERE mld_melding_key = p_key;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END;
|
||
|
||
--Servicemedewerkers verwachten enkele velden/kenmerken gevuld bij de melding, wanneer deze als actie is aangemaakt vanuit een reservering.
|
||
PROCEDURE ruimte_events
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'RUIMTE_EVENTS';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_mld_datum DATE;
|
||
v_mld_van VARCHAR2 (200);
|
||
v_mld_tot VARCHAR2 (200);
|
||
v_res_datum DATE;
|
||
v_res_van VARCHAR2 (200);
|
||
v_res_tot VARCHAR2 (200);
|
||
|
||
CURSOR c IS
|
||
SELECT m.mld_melding_key,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_key)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = 3161 --Kenmerk Datum bij Inrichten tbv een evenement/vergadering
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS kmkey_datum,
|
||
(SELECT DISTINCT (fac.safe_to_date(mld_kenmerkmelding_waarde, 'DD-MM-YYYY'))
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = 3161 --Kenmerk Datum bij Inrichten tbv een evenement/vergadering
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS mld_datum,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_key)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = 3162 --Kenmerk Starttijd bij Inrichten tbv een evenement/vergadering
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS kmkey_van,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = 3162 --Kenmerk Starttijd bij Inrichten tbv een evenement/vergadering
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS mld_van,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_key)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = 3163 --Kenmerk Eindtijd bij Inrichten tbv een evenement/vergadering
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS kmkey_tot,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = 3163 --Kenmerk Eindtijd bij Inrichten tbv een evenement/vergadering
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS mld_tot,
|
||
TRUNC (rrr.res_rsv_ruimte_van)
|
||
AS res_datum, -- waarde datum reservering
|
||
TO_CHAR (rrr.res_rsv_ruimte_van, 'HH24:MI')
|
||
AS res_van, -- waarde tijd van reservering
|
||
TO_CHAR (rrr.res_rsv_ruimte_tot, 'HH24:MI')
|
||
AS res_tot -- waarde tijd tot reservering
|
||
FROM mld_melding m, res_rsv_ruimte rrr
|
||
WHERE m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND TRUNC (res_rsv_ruimte_van) >= TRUNC (SYSDATE)
|
||
AND m.mld_stdmelding_key = 203 -- Standaardmelding Inrichten ruimten tbv een evenement/vergadering
|
||
AND m.mld_melding_status IN (0,
|
||
2,
|
||
3,
|
||
4,
|
||
7);
|
||
BEGIN
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
'['
|
||
|| TO_CHAR (rec.mld_melding_key)
|
||
|| ' kenmerken bijwerken';
|
||
|
||
v_mld_datum := TRUNC (rec.mld_datum);
|
||
v_res_datum := TRUNC (rec.res_datum);
|
||
v_mld_van := rec.mld_van;
|
||
v_res_van := rec.res_van;
|
||
v_mld_tot := rec.mld_tot;
|
||
v_res_tot := rec.res_tot;
|
||
|
||
IF v_mld_datum IS NULL -- Alleen toevoegen indien leeg
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout gewenste datum vullen';
|
||
|
||
INSERT INTO mld_kenmerkmelding (
|
||
mld_melding_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkmelding_waarde)
|
||
VALUES (rec.mld_melding_key,
|
||
3161, --Kenmerk Datum bij Inrichten tbv een evenement/vergadering
|
||
rec.res_datum);
|
||
|
||
v_errormsg := 'Fout tracken datum vullen';
|
||
fac.trackaction ('MLDUPD',
|
||
rec.mld_melding_key,
|
||
3,
|
||
SYSDATE,
|
||
'Kenmerk Gewenste datum vullen');
|
||
END;
|
||
END IF;
|
||
|
||
IF v_mld_datum IS NOT NULL AND v_mld_datum <> v_res_datum -- Alleen wijzigen indien verschillend
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout gewenste datum wijzigen';
|
||
|
||
UPDATE mld_kenmerkmelding km
|
||
SET km.mld_kenmerkmelding_waarde =
|
||
TRUNC (rec.res_datum)
|
||
WHERE km.mld_kenmerkmelding_key = rec.kmkey_datum;
|
||
|
||
v_errormsg := 'Fout tracken gewenste datum wijzigen';
|
||
fac.trackaction ('MLDUPD',
|
||
rec.mld_melding_key,
|
||
3,
|
||
SYSDATE,
|
||
'Kenmerk gewenste datum gewijzigd');
|
||
END;
|
||
END IF;
|
||
|
||
IF rec.mld_van IS NULL -- Alleen toevoegen indien leeg
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout starttijd vullen';
|
||
|
||
INSERT INTO mld_kenmerkmelding (
|
||
mld_melding_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkmelding_waarde)
|
||
VALUES (rec.mld_melding_key, 3162, rec.res_van); --Kenmerk Starttijd bij Inrichten tbv een evenement/vergadering
|
||
|
||
v_errormsg := 'Fout tracken starttijd vullen';
|
||
fac.trackaction ('MLDUPD',
|
||
rec.mld_melding_key,
|
||
3,
|
||
SYSDATE,
|
||
'Kenmerk starttijd gevuld');
|
||
END;
|
||
END IF;
|
||
|
||
IF v_mld_van <> v_res_van -- Alleen wijzigen indien verschillend
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout starttijd wijzigen';
|
||
|
||
UPDATE mld_kenmerkmelding km
|
||
SET km.mld_kenmerkmelding_waarde =
|
||
TO_CHAR (v_res_van)
|
||
WHERE km.mld_kenmerkmelding_key = rec.kmkey_van;
|
||
|
||
v_errormsg := 'Fout tracken starttijd wijzigen';
|
||
fac.trackaction ('MLDUPD',
|
||
rec.mld_melding_key,
|
||
3,
|
||
SYSDATE,
|
||
'Kenmerk starttijd gewijzigd');
|
||
END;
|
||
END IF;
|
||
|
||
IF rec.mld_tot IS NULL -- Alleen toevoegen indien leeg
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout eindtijd vullen';
|
||
|
||
INSERT INTO mld_kenmerkmelding (
|
||
mld_melding_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkmelding_waarde)
|
||
VALUES (rec.mld_melding_key, 3163, rec.res_tot); --Kenmerk Eindtijd bij Inrichten tbv een evenement/vergadering
|
||
|
||
v_errormsg := 'Fout tracken eindtijd vullen';
|
||
fac.trackaction ('MLDUPD',
|
||
rec.mld_melding_key,
|
||
3,
|
||
SYSDATE,
|
||
'Kenmerk eindtijd gevuld');
|
||
END;
|
||
END IF;
|
||
|
||
IF rec.mld_tot IS NOT NULL AND v_mld_tot <> v_res_tot -- Alleen wijzigen indien verschillend
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout eindtijd wijzigen';
|
||
|
||
UPDATE mld_kenmerkmelding km
|
||
SET km.mld_kenmerkmelding_waarde =
|
||
TO_CHAR (v_res_tot)
|
||
WHERE km.mld_kenmerkmelding_key = rec.kmkey_tot;
|
||
|
||
v_errormsg := 'Fout tracken eindtijd wijzigen';
|
||
fac.trackaction ('MLDUPD',
|
||
rec.mld_melding_key,
|
||
3,
|
||
SYSDATE,
|
||
'Kenmerk eindtijd gewijzigd');
|
||
END;
|
||
END IF;
|
||
END;
|
||
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 (c_applname,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Daily achtergrond taak afgebroken!');
|
||
END;
|
||
|
||
PROCEDURE inactiveren_accounts
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'INACTIVEREN_ACCOUNTS';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_count_tot NUMBER (10) := 0;
|
||
|
||
CURSOR c_inactiveren IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_email,
|
||
p.prs_perslid_ingangsdatum,
|
||
p.prs_perslid_einddatum,
|
||
p.prs_perslid_inactief,
|
||
p.prs_perslid_verwijder
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_verwijder IS NULL
|
||
AND p.prs_perslid_inactief IS NULL
|
||
AND ( ( TRUNC (p.prs_perslid_einddatum) < TRUNC (SYSDATE)
|
||
AND NOT EXISTS
|
||
(SELECT pk.prs_link_key
|
||
FROM prs_kenmerklink pk
|
||
WHERE pk.prs_kenmerklink_niveau = 'P'
|
||
AND pk.prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerk_key = 1100 --Kenmerk 'Handmatige inactiefdatum'
|
||
AND pk.prs_link_key = p.prs_perslid_key
|
||
AND fac.safe_to_date (
|
||
pk.prs_kenmerklink_waarde,
|
||
'DD-MM-YYYY') >
|
||
TRUNC (SYSDATE)))
|
||
OR EXISTS
|
||
(SELECT pk.prs_link_key
|
||
FROM prs_kenmerklink pk
|
||
WHERE pk.prs_kenmerklink_niveau = 'P'
|
||
AND pk.prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerk_key = 1100 --Kenmerk 'Handmatige inactiefdatum'
|
||
AND pk.prs_link_key = p.prs_perslid_key
|
||
AND fac.safe_to_date (pk.prs_kenmerklink_waarde,
|
||
'DD-MM-YYYY') <=
|
||
TRUNC (SYSDATE)));
|
||
BEGIN
|
||
-- LET OP: DAILY-taak draait dagelijks na middernacht (begin van dag)
|
||
-- Daarmee worden personen waarbij er een einddatum is gezet
|
||
FOR rec IN c_inactiveren
|
||
LOOP
|
||
v_aanduiding :=
|
||
'['
|
||
|| TO_CHAR (rec.prs_perslid_key)
|
||
|| '|'
|
||
|| rec.prs_perslid_email
|
||
|| '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_inactief = SYSDATE
|
||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||
END LOOP;
|
||
|
||
fac.writelog (c_applname,
|
||
'S',
|
||
'#Accounts geinactiveerd: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
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 (c_applname,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Daily achtergrond taak afgebroken!');
|
||
END;
|
||
|
||
PROCEDURE verwijderen_accounts
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'VERWIJDEREN_ACCOUNTS';
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER (10);
|
||
v_perslid_naam VARCHAR (100);
|
||
v_perslid_nr VARCHAR (30);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_count_tot NUMBER (10) := 0;
|
||
|
||
--- Als een persoon 3 maand inactief is, dan verwijderen we deze
|
||
CURSOR prs_del IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_email,
|
||
COUNT (vp.prs_perslid_key) aant
|
||
FROM prs_v_aanwezigperslid p, prs_v_verplichting_keys vp
|
||
WHERE p.prs_perslid_inactief IS NOT NULL
|
||
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
|
||
AND TRUNC(p.prs_perslid_inactief) < TRUNC(SYSDATE) - INTERVAL '3' MONTH
|
||
GROUP BY p.prs_perslid_key, p.prs_perslid_email;
|
||
BEGIN
|
||
-- Proberen de accounts te verwijderen
|
||
FOR rec IN prs_del
|
||
LOOP
|
||
BEGIN
|
||
IF rec.aant = 0
|
||
THEN
|
||
v_errormsg := 'Fout schonen collega';
|
||
|
||
DELETE FROM
|
||
prs_collega
|
||
WHERE prs_perslid_key = rec.prs_perslid_key
|
||
OR prs_perslid_key_alt = rec.prs_perslid_key;
|
||
|
||
v_errormsg := 'Fout schonen persoon';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_verwijder = SYSDATE
|
||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||
|
||
v_aanduiding :=
|
||
'['
|
||
|| TO_CHAR (rec.prs_perslid_key)
|
||
|| '|'
|
||
|| rec.prs_perslid_email
|
||
|| '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (c_applname,
|
||
'S',
|
||
'#Accounts verwijderd: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
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 (c_applname,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Daily achtergrond taak afgebroken!');
|
||
END;
|
||
|
||
PROCEDURE archiveren_meldingen
|
||
AS
|
||
c_applname VARCHAR2 (50) := 'ARCHIVEREN_MELDINGEN';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_count_tot NUMBER (10) := 0;
|
||
|
||
CURSOR c_mld IS
|
||
SELECT mld_melding_key
|
||
FROM mld_melding
|
||
WHERE mld_melding_status IN (1, 5, 99) -- Afgewezen, afgemeld, niet opgelost
|
||
AND mld_stdmelding_key IN
|
||
(SELECT fac.safe_to_number (fac_usrdata_code)
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1381 -- Eigen tabel Stdm_keysHistory
|
||
AND fac_usrdata_verwijder IS NULL)
|
||
AND COALESCE (
|
||
fac.gettrackingdate ('MLDREJ', mld_melding_key),
|
||
fac.gettrackingdate ('MLDAFM', mld_melding_key),
|
||
NULL) <
|
||
SYSDATE - fac.getSetting ('anonymize_period');
|
||
BEGIN
|
||
FOR rec IN c_mld
|
||
LOOP
|
||
v_aanduiding :=
|
||
'['
|
||
|| TO_CHAR (rec.mld_melding_key)
|
||
|| '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- Historie (incl. tracking)
|
||
END LOOP;
|
||
|
||
fac.writelog (
|
||
c_applname,
|
||
'S',
|
||
'#Meldingen op historie gezet: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
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 (c_applname,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Daily achtergrond taak afgebroken!');
|
||
END;
|
||
END;
|
||
/
|
||
|
||
-- Dagelijkse taak
|
||
CREATE OR REPLACE PROCEDURE FMHN_DAILY
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
-- Maandelijks sluiten geregistreerde ritten vanuit Flowlogic!
|
||
--fmhn.sluiten_ritten ();
|
||
|
||
-- Dagelijkse sluiten AW-meldingen(=WF) bij Niet akkoord of na verstrijken
|
||
-- termijn (Korte route na 5 werkdagen en Lange route na 10 werkdagen)!
|
||
fmhn.sluiten_aw ();
|
||
|
||
-- Jaarlijks schonen gevolgde (herhalings)lessen door bhv-ers!
|
||
fmhn.schonen_lessen ();
|
||
|
||
-- Dagelijks schonen alle reserveringen ouder dan 7 dagen!
|
||
fmhn.afmelden_res ();
|
||
|
||
-- Toekennen(/TODO:afnemen) FE-autorisatiegroepen volgens ministerie(onderdeel).
|
||
-- NB: Voor alle FE-autorisatiegroepen geldt Scope-beperking op Locatie!
|
||
fmhn.update_fegroep ();
|
||
|
||
-- Toekennen WPs op hoofdzetel volgens Eigen tabel 'min2geb'.
|
||
fmhn.update_min2geb ();
|
||
|
||
-- Toekennen WPs op satellietzetel volgens Eigen tabel 'afd2geb'.
|
||
fmhn.update_afd2geb ();
|
||
|
||
-- Verwijderen WPs anders dan op hoofd- of satellietzetel!
|
||
fmhn.delete_wps_nok ();
|
||
|
||
-- Bijwerken Inrichten ruimten tbv een evenement/vergadering
|
||
fmhn.ruimte_events ();
|
||
|
||
-- Inactiveren accounts
|
||
fmhn.inactiveren_accounts ();
|
||
|
||
-- Verwijderen accounts
|
||
fmhn.verwijderen_accounts ();
|
||
|
||
-- Verwijderen accounts
|
||
fmhn.archiveren_meldingen ();
|
||
|
||
END;
|
||
/
|
||
|
||
-- Domein-view tbv. te selecteren ILM-medewerkers bij 3 CNT-kenmerkvelden:
|
||
-- - 2e Aanspreekpunt
|
||
-- - ICB Medewerker#2
|
||
-- - ICB Senior
|
||
CREATE OR REPLACE VIEW FMHN_V_ILM_MEDEWERKER
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM_FULL,
|
||
PRS_PERSLID_NAAM_FRIENDLY,
|
||
PRS_PERSLID_VERWIJDER
|
||
)
|
||
AS -- Actuele inhoud van CNT-kenmerkvelden waarvoor dit domein is bedoeld!
|
||
SELECT p.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
pf.prs_perslid_naam_friendly,
|
||
p.prs_perslid_verwijder
|
||
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, prs_perslid p, prs_v_perslid_fullnames pf
|
||
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_srtkenmerk_key IN (2, 10, 11) -- 2e Aanspreekpunt/ICB Medewerker#2/ICB Senior
|
||
AND fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
UNION
|
||
SELECT p.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
pf.prs_perslid_naam_friendly,
|
||
p.prs_perslid_verwijder
|
||
FROM fac_gebruikersgroep gg, prs_perslid p, prs_v_perslid_fullnames pf
|
||
WHERE gg.fac_groep_key IN (161, 162) -- Contracten/Inzage+Beheer
|
||
AND gg.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_externid IS NOT NULL -- Uit IDM
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
UNION
|
||
SELECT p.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
pf.prs_perslid_naam_friendly,
|
||
p.prs_perslid_verwijder
|
||
FROM prs_perslid p, prs_v_perslid_fullnames pf
|
||
WHERE p.prs_perslid_key = 38625 -- Conversie
|
||
AND p.prs_perslid_key = pf.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_CNT
|
||
(
|
||
contractsoort,
|
||
cnt_contract_key,
|
||
contractnr,
|
||
beschr,
|
||
externnr,
|
||
mantelnr,
|
||
omschr,
|
||
contractafd,
|
||
aanspreekpunt1,
|
||
icbmedewerker1,
|
||
opmerking,
|
||
status,
|
||
ingangsdatum,
|
||
rappeldatum,
|
||
opzegdatum,
|
||
einddatum,
|
||
contractant,
|
||
contractbedrag,
|
||
planon_ref,
|
||
gemanaged_fmh,
|
||
beherende_cat,
|
||
aanspreekpunt2,
|
||
icbmedewerker2,
|
||
icb_senior,
|
||
actiedatum_beheer,
|
||
actiedatum,
|
||
einddatum_spend,
|
||
europese_aanbest,
|
||
verlenging_lt1,
|
||
verlenging_lt2,
|
||
max_einddatum,
|
||
werkgebied,
|
||
ingangsdat,
|
||
rappeldat,
|
||
opzegdat,
|
||
einddat,
|
||
actiedat_beheer,
|
||
actiedat,
|
||
einddat_spend,
|
||
max_einddat,
|
||
rappellijst
|
||
)
|
||
AS
|
||
SELECT x.contractsoort,
|
||
x.cnt_contract_key,
|
||
x.cnt_contract_nummer_intern || DECODE (x.cnt_contract_versie, NULL, '', '.' || cnt_contract_versie) contractnr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
x.cnt_contract_nummer externnr,
|
||
NULL mantelnr, -- Geen mantels, dus altijd NULL!
|
||
x.cnt_contract_document omschrijving,
|
||
x.eigenaar_afd,
|
||
x.eigenaar,
|
||
x.beheerder,
|
||
x.cnt_contract_opmerking opmerking,
|
||
DECODE (x.cnt_contract_status, 1, 'Gesloten', 2, 'Nieuw', 3, 'Ter goedkeuring', 'Definitief') status,
|
||
TO_CHAR (x.cnt_contract_looptijd_van, 'dd-mm-yyyy') ingangsdat,
|
||
TO_CHAR (cnt.cnt_getRappeldatum (x.cnt_contract_key), 'dd-mm-yyyy') rappeldat,
|
||
TO_CHAR (cnt.cnt_getOpzegdatum (x.cnt_contract_key), 'dd-mm-yyyy') opzegdat,
|
||
TO_CHAR (x.cnt_contract_looptijd_tot, 'dd-mm-yyyy') einddat,
|
||
x.contractant,
|
||
TO_CHAR (x.cnt_contract_kosten) contractbedrag,
|
||
pr.cnt_kenmerkcontract_waarde planon_referentie,
|
||
gfmh_ud.fac_usrdata_omschr gemanaged_fmh,
|
||
biuc_ud.fac_usrdata_omschr beherende_cat,
|
||
ap2_pf.prs_perslid_naam_full aanspreekpunt2,
|
||
icbm_pf.prs_perslid_naam_full icb_medewerker,
|
||
icbs_pf.prs_perslid_naam_full icb_senior,
|
||
adcb.cnt_kenmerkcontract_waarde actiedat_beheer,
|
||
ad.cnt_kenmerkcontract_waarde actiedat,
|
||
edsp.cnt_kenmerkcontract_waarde einddat_spend,
|
||
ea_ud.fac_usrdata_omschr europese_aanbest,
|
||
vl1.cnt_kenmerkcontract_waarde verlenging_lt1,
|
||
vl2.cnt_kenmerkcontract_waarde verlenging_lt2,
|
||
med.cnt_kenmerkcontract_waarde max_einddat,
|
||
wg_ud.fac_usrdata_omschr werkgebied,
|
||
x.cnt_contract_looptijd_van ingangsdat2,
|
||
cnt.cnt_getRappeldatum (x.cnt_contract_key) rappeldat2,
|
||
cnt.cnt_getOpzegdatum (x.cnt_contract_key) opzegdat2,
|
||
x.cnt_contract_looptijd_tot einddat2,
|
||
fac.safe_to_date (adcb.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') actiedat_beheer2,
|
||
fac.safe_to_date (ad.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') actiedat2,
|
||
fac.safe_to_date (edsp.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') einddat_spend2,
|
||
fac.safe_to_date (med.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') max_einddat2,
|
||
--DECODE (SIGN (LEAST (x.cnt_contract_looptijd_tot, fac.safe_to_date (med.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')) - ADD_MONTHS (SYSDATE, 5)), -1, 'Ja', 'Nee')
|
||
DECODE (SIGN (x.cnt_contract_looptijd_tot - SYSDATE),
|
||
1, -- Contract niet verlopen!
|
||
DECODE (SIGN (LEAST (x.cnt_contract_looptijd_tot, fac.safe_to_date (med.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')) - ADD_MONTHS (SYSDATE, 5)),
|
||
-1,
|
||
'Ja',
|
||
'Nee'),
|
||
'Nee')
|
||
rappellijst
|
||
FROM (SELECT c.*,
|
||
cd.ins_discipline_omschrijving contractsoort,
|
||
a.prs_afdeling_naam eigenaar_afd,
|
||
eig.prs_perslid_naam_full eigenaar,
|
||
beh.prs_perslid_naam_full beheerder,
|
||
b.prs_bedrijf_naam contractant
|
||
FROM cnt_v_aanwezigcontract c,
|
||
cnt_discipline cd,
|
||
prs_afdeling a,
|
||
prs_v_perslid_fullnames_all eig,
|
||
prs_v_perslid_fullnames_all beh,
|
||
prs_v_aanwezigbedrijf b
|
||
WHERE c.cnt_contract_looptijd_tot > TRUNC (SYSDATE) -- 23-12-2021/Sandrine Lau (via Chiwai): Alleen actieve contracten (geen verlopen contracten)!
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
||
AND c.prs_perslid_key_eig = eig.prs_perslid_key(+)
|
||
AND c.prs_perslid_key_beh = beh.prs_perslid_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x
|
||
LEFT JOIN cnt_kenmerkcontract pr
|
||
ON x.cnt_contract_key = pr.cnt_contract_key
|
||
AND pr.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 14 AND cnt_kenmerk_key = pr.cnt_kenmerk_key) -- Planon referentie
|
||
LEFT JOIN cnt_kenmerkcontract gfmh
|
||
ON x.cnt_contract_key = gfmh.cnt_contract_key
|
||
AND gfmh.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 9 AND cnt_kenmerk_key = gfmh.cnt_kenmerk_key) -- Gemanaged door FMH
|
||
LEFT JOIN fac_v_aanwezigusrdata gfmh_ud
|
||
ON fac.safe_to_number (gfmh.cnt_kenmerkcontract_waarde) = gfmh_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract biuc
|
||
ON x.cnt_contract_key = biuc.cnt_contract_key
|
||
AND biuc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 6 AND cnt_kenmerk_key = biuc.cnt_kenmerk_key) -- Beherende categorie
|
||
LEFT JOIN fac_v_aanwezigusrdata biuc_ud
|
||
ON fac.safe_to_number (biuc.cnt_kenmerkcontract_waarde) = biuc_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract ap2
|
||
ON x.cnt_contract_key = ap2.cnt_contract_key
|
||
AND ap2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 2 AND cnt_kenmerk_key = ap2.cnt_kenmerk_key) -- 2e Aanspreekpunt
|
||
LEFT JOIN prs_v_perslid_fullnames_all ap2_pf
|
||
ON fac.safe_to_number (ap2.cnt_kenmerkcontract_waarde) = ap2_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract icbm
|
||
ON x.cnt_contract_key = icbm.cnt_contract_key
|
||
AND icbm.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 10 AND cnt_kenmerk_key = icbm.cnt_kenmerk_key) -- ICB Medewerker#2
|
||
LEFT JOIN prs_v_perslid_fullnames_all icbm_pf
|
||
ON fac.safe_to_number (icbm.cnt_kenmerkcontract_waarde) = icbm_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract icbs
|
||
ON x.cnt_contract_key = icbs.cnt_contract_key
|
||
AND icbs.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 11 AND cnt_kenmerk_key = icbs.cnt_kenmerk_key) -- ICB Senior
|
||
LEFT JOIN prs_v_perslid_fullnames_all icbs_pf
|
||
ON fac.safe_to_number (icbs.cnt_kenmerkcontract_waarde) = icbs_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract adcb
|
||
ON x.cnt_contract_key = adcb.cnt_contract_key
|
||
AND adcb.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 5 AND cnt_kenmerk_key = adcb.cnt_kenmerk_key) -- Actiedatum contractbeheer
|
||
LEFT JOIN cnt_kenmerkcontract ad
|
||
ON x.cnt_contract_key = ad.cnt_contract_key
|
||
AND ad.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 4 AND cnt_kenmerk_key = ad.cnt_kenmerk_key) -- Actiedatum
|
||
LEFT JOIN cnt_kenmerkcontract edsp
|
||
ON x.cnt_contract_key = edsp.cnt_contract_key
|
||
AND edsp.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 7 AND cnt_kenmerk_key = edsp.cnt_kenmerk_key) -- Einddatum tbv. SPEND
|
||
LEFT JOIN cnt_kenmerkcontract ea
|
||
ON x.cnt_contract_key = ea.cnt_contract_key
|
||
AND ea.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 8 AND cnt_kenmerk_key = ea.cnt_kenmerk_key) -- Europese aanbesteding
|
||
LEFT JOIN fac_v_aanwezigusrdata ea_ud
|
||
ON fac.safe_to_number (ea.cnt_kenmerkcontract_waarde) = ea_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract vl1
|
||
ON x.cnt_contract_key = vl1.cnt_contract_key
|
||
AND vl1.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 1 AND cnt_kenmerk_key = vl1.cnt_kenmerk_key) -- 1e verlenging looptijd
|
||
LEFT JOIN cnt_kenmerkcontract vl2
|
||
ON x.cnt_contract_key = vl2.cnt_contract_key
|
||
AND vl2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 3 AND cnt_kenmerk_key = vl2.cnt_kenmerk_key) -- 2e verlenging looptijd
|
||
LEFT JOIN cnt_kenmerkcontract med
|
||
ON x.cnt_contract_key = med.cnt_contract_key
|
||
AND med.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 12 AND cnt_kenmerk_key = med.cnt_kenmerk_key) -- Maximale einddatum
|
||
LEFT JOIN cnt_kenmerkcontract wg
|
||
ON x.cnt_contract_key = wg.cnt_contract_key
|
||
AND wg.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 15 AND cnt_kenmerk_key = wg.cnt_kenmerk_key) -- Werkgebied
|
||
LEFT JOIN fac_v_aanwezigusrdata wg_ud
|
||
ON fac.safe_to_number (wg.cnt_kenmerkcontract_waarde) = wg_ud.fac_usrdata_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_CNT_EXPORT
|
||
(
|
||
contractsoort,
|
||
cnt_contract_key,
|
||
contractnr,
|
||
beschr,
|
||
externnr,
|
||
mantelnr,
|
||
omschr,
|
||
contractafd,
|
||
aanspreekpunt1,
|
||
icbmedewerker1,
|
||
opmerking,
|
||
status,
|
||
ingangsdatum,
|
||
rappeldatum,
|
||
opzegdatum,
|
||
einddatum,
|
||
contractant,
|
||
planon_bedrijf,
|
||
contractbedrag,
|
||
planon_ref,
|
||
gemanaged_fmh,
|
||
beherende_cat,
|
||
aanspreekpunt2,
|
||
icbmedewerker2,
|
||
icb_senior,
|
||
actiedatum_beheer,
|
||
actiedatum,
|
||
einddatum_spend,
|
||
europese_aanbest,
|
||
verlenging_lt1,
|
||
verlenging_lt2,
|
||
max_einddatum,
|
||
werkgebied,
|
||
ingangsdat,
|
||
rappeldat,
|
||
opzegdat,
|
||
einddat,
|
||
actiedat_beheer,
|
||
actiedat,
|
||
einddat_spend,
|
||
max_einddat,
|
||
rappellijst,
|
||
opzegtermijn,
|
||
rappeltermijn,
|
||
locatie_scope,
|
||
notitie_datum,
|
||
noteur,
|
||
notitie
|
||
)
|
||
AS
|
||
SELECT x.contractsoort,
|
||
x.cnt_contract_key,
|
||
x.cnt_contract_nummer_intern
|
||
|| DECODE (x.cnt_contract_versie,
|
||
NULL, '',
|
||
'.' || cnt_contract_versie)
|
||
contractnr,
|
||
x.cnt_contract_omschrijving
|
||
beschrijving,
|
||
x.cnt_contract_nummer
|
||
externnr,
|
||
NULL
|
||
mantelnr, -- Geen mantels, dus altijd NULL!
|
||
x.cnt_contract_document
|
||
omschrijving,
|
||
x.eigenaar_afd,
|
||
x.eigenaar,
|
||
x.beheerder,
|
||
x.cnt_contract_opmerking
|
||
opmerking,
|
||
DECODE (x.cnt_contract_status,
|
||
1, 'Gesloten',
|
||
2, 'Nieuw',
|
||
3, 'Ter goedkeuring',
|
||
'Definitief')
|
||
status,
|
||
TO_CHAR (x.cnt_contract_looptijd_van, 'dd-mm-yyyy')
|
||
ingangsdat,
|
||
TO_CHAR (cnt.cnt_getRappeldatum (x.cnt_contract_key),
|
||
'dd-mm-yyyy')
|
||
rappeldat,
|
||
TO_CHAR (cnt.cnt_getOpzegdatum (x.cnt_contract_key), 'dd-mm-yyyy')
|
||
opzegdat,
|
||
TO_CHAR (x.cnt_contract_looptijd_tot, 'dd-mm-yyyy')
|
||
einddat,
|
||
x.contractant,
|
||
x.planon_bedrijf,
|
||
TO_CHAR (x.cnt_contract_kosten)
|
||
contractbedrag,
|
||
pr.cnt_kenmerkcontract_waarde
|
||
planon_referentie,
|
||
gfmh_ud.fac_usrdata_omschr
|
||
gemanaged_fmh,
|
||
biuc_ud.fac_usrdata_omschr
|
||
beherende_cat,
|
||
ap2_pf.prs_perslid_naam_full
|
||
aanspreekpunt2,
|
||
icbm_pf.prs_perslid_naam_full
|
||
icb_medewerker,
|
||
icbs_pf.prs_perslid_naam_full
|
||
icb_senior,
|
||
adcb.cnt_kenmerkcontract_waarde
|
||
actiedat_beheer,
|
||
ad.cnt_kenmerkcontract_waarde
|
||
actiedat,
|
||
edsp.cnt_kenmerkcontract_waarde
|
||
einddat_spend,
|
||
ea_ud.fac_usrdata_omschr
|
||
europese_aanbest,
|
||
vl1.cnt_kenmerkcontract_waarde
|
||
verlenging_lt1,
|
||
vl2.cnt_kenmerkcontract_waarde
|
||
verlenging_lt2,
|
||
med.cnt_kenmerkcontract_waarde
|
||
max_einddat,
|
||
wg_ud.fac_usrdata_omschr
|
||
werkgebied,
|
||
x.cnt_contract_looptijd_van
|
||
ingangsdat2,
|
||
cnt.cnt_getRappeldatum (x.cnt_contract_key)
|
||
rappeldat2,
|
||
cnt.cnt_getOpzegdatum (x.cnt_contract_key)
|
||
opzegdat2,
|
||
x.cnt_contract_looptijd_tot
|
||
einddat2,
|
||
fac.safe_to_date (adcb.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
|
||
actiedat_beheer2,
|
||
fac.safe_to_date (ad.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
|
||
actiedat2,
|
||
fac.safe_to_date (edsp.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
|
||
einddat_spend2,
|
||
fac.safe_to_date (med.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
|
||
max_einddat2,
|
||
--DECODE (SIGN (LEAST (x.cnt_contract_looptijd_tot, fac.safe_to_date (med.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')) - ADD_MONTHS (SYSDATE, 5)), -1, 'Ja', 'Nee')
|
||
DECODE (
|
||
SIGN (x.cnt_contract_looptijd_tot - SYSDATE),
|
||
1, -- Contract niet verlopen!
|
||
DECODE (
|
||
SIGN (
|
||
LEAST (
|
||
x.cnt_contract_looptijd_tot,
|
||
fac.safe_to_date (
|
||
med.cnt_kenmerkcontract_waarde,
|
||
'dd-mm-yyyy'))
|
||
- ADD_MONTHS (SYSDATE, 5)),
|
||
-1, 'Ja',
|
||
'Nee'),
|
||
'Nee')
|
||
rappellijst,
|
||
x.opzegtermijn,
|
||
x.rappeltermijn,
|
||
x.locatie_scope,
|
||
x.notitie_datum,
|
||
x.noteur,
|
||
x.notitie
|
||
FROM (SELECT c.*,
|
||
opzt.cnt_termijn_omschrijving
|
||
AS opzegtermijn,
|
||
rapt.cnt_termijn_omschrijving
|
||
AS rappeltermijn,
|
||
cd.ins_discipline_omschrijving
|
||
contractsoort,
|
||
a.prs_afdeling_naam
|
||
eigenaar_afd,
|
||
eig.prs_perslid_naam_full
|
||
eigenaar,
|
||
beh.prs_perslid_naam_full
|
||
beheerder,
|
||
b.prs_bedrijf_naam
|
||
contractant,
|
||
(SELECT LISTAGG (ls.locatie, ';')
|
||
WITHIN GROUP (ORDER BY ls.locatie) AS locatie
|
||
FROM (SELECT cp.cnt_contract_plaats_key,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_code
|
||
|| ' ('
|
||
|| l.alg_locatie_omschrijving
|
||
|| ')' AS locatie
|
||
FROM cnt_contract_plaats cp, alg_locatie l
|
||
WHERE cp.cnt_alg_plaats_code = 'L'
|
||
AND cp.cnt_alg_plaats_key =
|
||
l.alg_locatie_key
|
||
AND cp.cnt_contract_key =
|
||
c.cnt_contract_key
|
||
UNION ALL
|
||
SELECT cp.cnt_contract_plaats_key,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_code
|
||
|| ' ('
|
||
|| l.alg_locatie_omschrijving
|
||
|| ')' AS locatie
|
||
FROM cnt_contract_plaats cp,
|
||
alg_locatie l,
|
||
alg_gebouw g
|
||
WHERE cp.cnt_alg_plaats_code = 'G'
|
||
AND cp.cnt_alg_plaats_key =
|
||
g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND cp.cnt_contract_key =
|
||
c.cnt_contract_key) ls)
|
||
locatie_scope,
|
||
cn.cnt_contract_note_aanmaak
|
||
AS notitie_datum,
|
||
(SELECT (prs_perslid_naam_friendly || ' - ')
|
||
FROM prs_v_perslid_fullnames_all p
|
||
WHERE p.prs_perslid_key = cn.prs_perslid_key)
|
||
AS noteur,
|
||
cn.cnt_contract_note_omschrijving
|
||
AS notitie,
|
||
(SELECT pbdr.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract pbdr, cnt_kenmerk pbdr_km
|
||
WHERE pbdr.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND pbdr_km.cnt_kenmerk_verwijder IS NULL
|
||
AND pbdr_km.cnt_srtkenmerk_key = 13
|
||
AND pbdr_km.cnt_kenmerk_key = pbdr.cnt_kenmerk_key
|
||
AND pbdr.cnt_contract_key = c.cnt_contract_key)
|
||
AS planon_bedrijf
|
||
FROM cnt_v_aanwezigcontract c,
|
||
cnt_discipline cd,
|
||
prs_afdeling a,
|
||
prs_v_perslid_fullnames_all eig,
|
||
prs_v_perslid_fullnames_all beh,
|
||
cnt_termijn rapt,
|
||
cnt_termijn opzt,
|
||
prs_v_aanwezigbedrijf b,
|
||
cnt_contract_note cn
|
||
WHERE c.ins_discipline_key = cd.ins_discipline_key
|
||
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
||
AND c.prs_perslid_key_eig = eig.prs_perslid_key(+)
|
||
AND c.prs_perslid_key_beh = beh.prs_perslid_key(+)
|
||
AND c.cnt_contract_rappeltermijn = rapt.cnt_termijn_key(+)
|
||
AND c.cnt_contract_opzegtermijn = opzt.cnt_termijn_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_key = cn.cnt_contract_key(+)) x
|
||
LEFT JOIN cnt_kenmerkcontract pr
|
||
ON x.cnt_contract_key = pr.cnt_contract_key
|
||
AND pr.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 14
|
||
AND cnt_kenmerk_key = pr.cnt_kenmerk_key) -- Planon referentie
|
||
LEFT JOIN cnt_kenmerkcontract gfmh
|
||
ON x.cnt_contract_key = gfmh.cnt_contract_key
|
||
AND gfmh.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 9
|
||
AND cnt_kenmerk_key = gfmh.cnt_kenmerk_key) -- Gemanaged door FMH
|
||
LEFT JOIN fac_v_aanwezigusrdata gfmh_ud
|
||
ON fac.safe_to_number (gfmh.cnt_kenmerkcontract_waarde) =
|
||
gfmh_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract biuc
|
||
ON x.cnt_contract_key = biuc.cnt_contract_key
|
||
AND biuc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 6
|
||
AND cnt_kenmerk_key = biuc.cnt_kenmerk_key) -- Beherende categorie
|
||
LEFT JOIN fac_v_aanwezigusrdata biuc_ud
|
||
ON fac.safe_to_number (biuc.cnt_kenmerkcontract_waarde) =
|
||
biuc_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract ap2
|
||
ON x.cnt_contract_key = ap2.cnt_contract_key
|
||
AND ap2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 2
|
||
AND cnt_kenmerk_key = ap2.cnt_kenmerk_key) -- 2e Aanspreekpunt
|
||
LEFT JOIN prs_v_perslid_fullnames_all ap2_pf
|
||
ON fac.safe_to_number (ap2.cnt_kenmerkcontract_waarde) =
|
||
ap2_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract icbm
|
||
ON x.cnt_contract_key = icbm.cnt_contract_key
|
||
AND icbm.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 10
|
||
AND cnt_kenmerk_key = icbm.cnt_kenmerk_key) -- ICB Medewerker#2
|
||
LEFT JOIN prs_v_perslid_fullnames_all icbm_pf
|
||
ON fac.safe_to_number (icbm.cnt_kenmerkcontract_waarde) =
|
||
icbm_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract icbs
|
||
ON x.cnt_contract_key = icbs.cnt_contract_key
|
||
AND icbs.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 11
|
||
AND cnt_kenmerk_key = icbs.cnt_kenmerk_key) -- ICB Senior
|
||
LEFT JOIN prs_v_perslid_fullnames_all icbs_pf
|
||
ON fac.safe_to_number (icbs.cnt_kenmerkcontract_waarde) =
|
||
icbs_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract adcb
|
||
ON x.cnt_contract_key = adcb.cnt_contract_key
|
||
AND adcb.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 5
|
||
AND cnt_kenmerk_key = adcb.cnt_kenmerk_key) -- Actiedatum contractbeheer
|
||
LEFT JOIN cnt_kenmerkcontract ad
|
||
ON x.cnt_contract_key = ad.cnt_contract_key
|
||
AND ad.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 4
|
||
AND cnt_kenmerk_key = ad.cnt_kenmerk_key) -- Actiedatum
|
||
LEFT JOIN cnt_kenmerkcontract edsp
|
||
ON x.cnt_contract_key = edsp.cnt_contract_key
|
||
AND edsp.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 7
|
||
AND cnt_kenmerk_key = edsp.cnt_kenmerk_key) -- Einddatum tbv. SPEND
|
||
LEFT JOIN cnt_kenmerkcontract ea
|
||
ON x.cnt_contract_key = ea.cnt_contract_key
|
||
AND ea.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 8
|
||
AND cnt_kenmerk_key = ea.cnt_kenmerk_key) -- Europese aanbesteding
|
||
LEFT JOIN fac_v_aanwezigusrdata ea_ud
|
||
ON fac.safe_to_number (ea.cnt_kenmerkcontract_waarde) =
|
||
ea_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract vl1
|
||
ON x.cnt_contract_key = vl1.cnt_contract_key
|
||
AND vl1.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 1
|
||
AND cnt_kenmerk_key = vl1.cnt_kenmerk_key) -- 1e verlenging looptijd
|
||
LEFT JOIN cnt_kenmerkcontract vl2
|
||
ON x.cnt_contract_key = vl2.cnt_contract_key
|
||
AND vl2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 3
|
||
AND cnt_kenmerk_key = vl2.cnt_kenmerk_key) -- 2e verlenging looptijd
|
||
LEFT JOIN cnt_kenmerkcontract med
|
||
ON x.cnt_contract_key = med.cnt_contract_key
|
||
AND med.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 12
|
||
AND cnt_kenmerk_key = med.cnt_kenmerk_key) -- Maximale einddatum
|
||
LEFT JOIN cnt_kenmerkcontract wg
|
||
ON x.cnt_contract_key = wg.cnt_contract_key
|
||
AND wg.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_kenmerk_verwijder IS NULL
|
||
AND cnt_srtkenmerk_key = 15
|
||
AND cnt_kenmerk_key = wg.cnt_kenmerk_key) -- Werkgebied
|
||
LEFT JOIN fac_v_aanwezigusrdata wg_ud
|
||
ON fac.safe_to_number (wg.cnt_kenmerkcontract_waarde) =
|
||
wg_ud.fac_usrdata_key;
|
||
|
||
|
||
/*
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_CNT_RAPPELLIJST
|
||
(
|
||
contractsoort,
|
||
cnt_contract_key,
|
||
contractnr,
|
||
beschr,
|
||
externnr,
|
||
mantelnr,
|
||
omschr,
|
||
--dienst,
|
||
contractafd,
|
||
aanspreekpunt1,
|
||
icbmedewerker1,
|
||
opmerking,
|
||
status,
|
||
ingangsdatum,
|
||
rappeldatum,
|
||
opzegdatum,
|
||
einddatum,
|
||
contractant,
|
||
--contactnaam,
|
||
--kostenplaatscode
|
||
--kostenplaatsomschr,
|
||
contractbedrag,
|
||
--termijnbedrag,
|
||
--uurtarief,
|
||
--korting,
|
||
--locatiegebouw,
|
||
--verlengen,
|
||
planon_ref,
|
||
gemanaged_fmh,
|
||
beherende_cat,
|
||
aanspreekpunt2,
|
||
icbmedewerker2,
|
||
icb_senior,
|
||
actiedatum_beheer,
|
||
actiedatum,
|
||
einddatum_spend,
|
||
europese_aanbest,
|
||
verlenging_lt1,
|
||
verlenging_lt2,
|
||
max_einddatum,
|
||
werkgebied,
|
||
ingangsdat,
|
||
rappeldat,
|
||
opzegdat,
|
||
einddat,
|
||
actiedat_beheer,
|
||
actiedat,
|
||
einddat_spend,
|
||
max_einddat
|
||
)
|
||
AS
|
||
SELECT x.contractsoort,
|
||
x.cnt_contract_key,
|
||
x.cnt_contract_nummer_intern || DECODE (x.cnt_contract_versie, NULL, '', '.' || cnt_contract_versie) contractnr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
x.cnt_contract_nummer externnr,
|
||
x.mantelnr,
|
||
x.cnt_contract_document omschrijving,
|
||
--x.dienst,
|
||
x.eigenaar_afd,
|
||
x.eigenaar,
|
||
x.beheerder,
|
||
x.cnt_contract_opmerking opmerking,
|
||
DECODE (x.cnt_contract_status, 1, 'Gesloten', 2, 'Nieuw', 3, 'Ter goedkeuring', 'Definitief') status,
|
||
TO_CHAR (x.cnt_contract_looptijd_van, 'dd-mm-yyyy') ingangsdat,
|
||
TO_CHAR (cnt.cnt_getRappeldatum (x.cnt_contract_key), 'dd-mm-yyyy') rappeldat,
|
||
TO_CHAR (cnt.cnt_getOpzegdatum (x.cnt_contract_key), 'dd-mm-yyyy') opzegdat,
|
||
TO_CHAR (x.cnt_contract_looptijd_tot, 'dd-mm-yyyy') einddat,
|
||
x.contractant,
|
||
--x.contactnaam,
|
||
--x.kostenplaatscode,
|
||
--x.kostenplaatsomschr,
|
||
TO_CHAR (x.cnt_contract_kosten) contractbedrag,
|
||
--TO_CHAR (x.cnt_contract_termijnkosten) termijnbedrag,
|
||
--TO_CHAR (x.cnt_contract_uurloon) uurtarief,
|
||
--TO_CHAR (x.cnt_contract_korting) korting,
|
||
--x.plaats locatiegebouw,
|
||
--TO_CHAR (x.cnt_contract_verlenging) verlengen,
|
||
pr.cnt_kenmerkcontract_waarde planon_referentie,
|
||
--pb.cnt_kenmerkcontract_waarde planon_bedrijf,
|
||
gfmh_ud.fac_usrdata_omschr gemanaged_fmh,
|
||
biuc_ud.fac_usrdata_omschr beherende_cat,
|
||
ap2_pf.prs_perslid_naam_full aanspreekpunt2,
|
||
icbm_pf.prs_perslid_naam_full icb_medewerker,
|
||
icbs_pf.prs_perslid_naam_full icb_senior,
|
||
adcb.cnt_kenmerkcontract_waarde actiedat_beheer,
|
||
ad.cnt_kenmerkcontract_waarde actiedat,
|
||
edsp.cnt_kenmerkcontract_waarde einddat_spend,
|
||
ea_ud.fac_usrdata_omschr europese_aanbest,
|
||
vl1.cnt_kenmerkcontract_waarde verlenging_lt1,
|
||
vl2.cnt_kenmerkcontract_waarde verlenging_lt2,
|
||
med.cnt_kenmerkcontract_waarde max_einddat,
|
||
wg_ud.fac_usrdata_omschr werkgebied,
|
||
x.cnt_contract_looptijd_van ingangsdat2,
|
||
cnt.cnt_getRappeldatum (x.cnt_contract_key) rappeldat2,
|
||
cnt.cnt_getOpzegdatum (x.cnt_contract_key) opzegdat2,
|
||
x.cnt_contract_looptijd_tot einddat2,
|
||
fac.safe_to_date (adcb.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') actiedat_beheer2,
|
||
fac.safe_to_date (ad.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') actiedat2,
|
||
fac.safe_to_date (edsp.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') einddat_spend2,
|
||
fac.safe_to_date (med.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') max_einddat2,
|
||
DECODE (SIGN (LEAST (x.cnt_contract_looptijd_tot, fac.safe_to_date (med.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')) - ADD_MONTHS (SYSDATE, 5)), -1, 'Nee', 'Ja') rappellijst
|
||
FROM (SELECT c.*,
|
||
cd.ins_discipline_omschrijving contractsoort,
|
||
cm.cnt_contract_nummer_intern mantelnr,
|
||
--d.prs_dienst_omschrijving dienst,
|
||
a.prs_afdeling_naam eigenaar_afd,
|
||
eig.prs_perslid_naam_full eigenaar,
|
||
beh.prs_perslid_naam_full beheerder,
|
||
b.prs_bedrijf_naam contractant
|
||
--cp.prs_contactpersoon_naam contactnaam,
|
||
--kp.prs_kostenplaats_nr kostenplaatscode,
|
||
--kp.prs_kostenplaats_omschrijving kostenplaatsomschr,
|
||
--p.plaats
|
||
FROM cnt_v_aanwezigcontract c,
|
||
cnt_discipline cd,
|
||
cnt_v_aanwezigcontract cm,
|
||
--prs_dienst d,
|
||
prs_afdeling a,
|
||
prs_v_perslid_fullnames_all eig,
|
||
prs_v_perslid_fullnames_all beh,
|
||
prs_v_aanwezigbedrijf b
|
||
--prs_contactpersoon cp,
|
||
--prs_kostenplaats kp,
|
||
--(SELECT DISTINCT
|
||
-- cp.cnt_contract_key,
|
||
-- COALESCE (l.alg_locatie_code, g.alg_gebouw_code) plaats
|
||
-- FROM cnt_contract_plaats cp
|
||
-- LEFT JOIN alg_v_aanweziglocatie l
|
||
-- ON cp.cnt_alg_plaats_key = l.alg_locatie_key
|
||
-- AND cp.cnt_alg_plaats_code = 'L'
|
||
-- LEFT JOIN alg_v_aanweziggebouw g
|
||
-- ON cp.cnt_alg_plaats_key = g.alg_gebouw_key
|
||
-- AND cp.cnt_alg_plaats_code = 'G'
|
||
-- WHERE cp.cnt_contract_plaats_verwijder IS NULL) p
|
||
WHERE c.ins_discipline_key = cd.ins_discipline_key
|
||
AND c.cnt_contract_mantel_key = cm.cnt_contract_key(+)
|
||
--AND c.prs_dienst_key = d.prs_dienst_key(+)
|
||
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
||
AND c.prs_perslid_key_eig = eig.prs_perslid_key(+)
|
||
AND c.prs_perslid_key_beh = beh.prs_perslid_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
--AND c.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
|
||
--AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
--AND c.cnt_contract_key = p.cnt_contract_key(+)
|
||
) x
|
||
LEFT JOIN cnt_kenmerkcontract pr
|
||
ON x.cnt_contract_key = pr.cnt_contract_key
|
||
AND pr.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 14 AND cnt_kenmerk_key = pr.cnt_kenmerk_key) -- Planon referentie
|
||
--LEFT JOIN cnt_kenmerkcontract pb
|
||
-- ON x.cnt_contract_key = pb.cnt_contract_key
|
||
-- AND pb.cnt_kenmerkcontract_verwijder IS NULL
|
||
-- AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 13 AND cnt_kenmerk_key = pb.cnt_kenmerk_key) -- Planon bedrijf
|
||
LEFT JOIN cnt_kenmerkcontract gfmh
|
||
ON x.cnt_contract_key = gfmh.cnt_contract_key
|
||
AND gfmh.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 9 AND cnt_kenmerk_key = gfmh.cnt_kenmerk_key) -- Gemanaged door FMH
|
||
LEFT JOIN fac_v_aanwezigusrdata gfmh_ud
|
||
ON fac.safe_to_number (gfmh.cnt_kenmerkcontract_waarde) = gfmh_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract biuc
|
||
ON x.cnt_contract_key = biuc.cnt_contract_key
|
||
AND biuc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 6 AND cnt_kenmerk_key = biuc.cnt_kenmerk_key) -- Beherende categorie
|
||
LEFT JOIN fac_v_aanwezigusrdata biuc_ud
|
||
ON fac.safe_to_number (biuc.cnt_kenmerkcontract_waarde) = biuc_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract ap2
|
||
ON x.cnt_contract_key = ap2.cnt_contract_key
|
||
AND ap2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 2 AND cnt_kenmerk_key = ap2.cnt_kenmerk_key) -- 2e Aanspreekpunt
|
||
LEFT JOIN prs_v_perslid_fullnames_all ap2_pf
|
||
ON fac.safe_to_number (ap2.cnt_kenmerkcontract_waarde) = ap2_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract icbm
|
||
ON x.cnt_contract_key = icbm.cnt_contract_key
|
||
AND icbm.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 10 AND cnt_kenmerk_key = icbm.cnt_kenmerk_key) -- ICB Medewerker#2
|
||
LEFT JOIN prs_v_perslid_fullnames_all icbm_pf
|
||
ON fac.safe_to_number (icbm.cnt_kenmerkcontract_waarde) = icbm_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract icbs
|
||
ON x.cnt_contract_key = icbs.cnt_contract_key
|
||
AND icbs.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 11 AND cnt_kenmerk_key = icbs.cnt_kenmerk_key) -- ICB Senior
|
||
LEFT JOIN prs_v_perslid_fullnames_all icbs_pf
|
||
ON fac.safe_to_number (icbs.cnt_kenmerkcontract_waarde) = icbs_pf.prs_perslid_key
|
||
LEFT JOIN cnt_kenmerkcontract adcb
|
||
ON x.cnt_contract_key = adcb.cnt_contract_key
|
||
AND adcb.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 5 AND cnt_kenmerk_key = adcb.cnt_kenmerk_key) -- Actiedatum contractbeheer
|
||
LEFT JOIN cnt_kenmerkcontract ad
|
||
ON x.cnt_contract_key = ad.cnt_contract_key
|
||
AND ad.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 4 AND cnt_kenmerk_key = ad.cnt_kenmerk_key) -- Actiedatum
|
||
LEFT JOIN cnt_kenmerkcontract edsp
|
||
ON x.cnt_contract_key = edsp.cnt_contract_key
|
||
AND edsp.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 7 AND cnt_kenmerk_key = edsp.cnt_kenmerk_key) -- Einddatum tbv. SPEND
|
||
LEFT JOIN cnt_kenmerkcontract ea
|
||
ON x.cnt_contract_key = ea.cnt_contract_key
|
||
AND ea.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 8 AND cnt_kenmerk_key = ea.cnt_kenmerk_key) -- Europese aanbesteding
|
||
LEFT JOIN fac_v_aanwezigusrdata ea_ud
|
||
ON fac.safe_to_number (ea.cnt_kenmerkcontract_waarde) = ea_ud.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract vl1
|
||
ON x.cnt_contract_key = vl1.cnt_contract_key
|
||
AND vl1.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 1 AND cnt_kenmerk_key = vl1.cnt_kenmerk_key) -- 1e verlenging looptijd
|
||
LEFT JOIN cnt_kenmerkcontract vl2
|
||
ON x.cnt_contract_key = vl2.cnt_contract_key
|
||
AND vl2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 2 AND cnt_kenmerk_key = vl2.cnt_kenmerk_key) -- 2e verlenging looptijd
|
||
LEFT JOIN cnt_kenmerkcontract med
|
||
ON x.cnt_contract_key = med.cnt_contract_key
|
||
AND med.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 12 AND cnt_kenmerk_key = med.cnt_kenmerk_key) -- Maximale einddatum
|
||
LEFT JOIN cnt_kenmerkcontract wg
|
||
ON x.cnt_contract_key = wg.cnt_contract_key
|
||
AND wg.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND EXISTS (SELECT 1 FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtkenmerk_key = 15 AND cnt_kenmerk_key = wg.cnt_kenmerk_key) -- Werkgebied
|
||
LEFT JOIN fac_v_aanwezigusrdata wg_ud
|
||
ON fac.safe_to_number (wg.cnt_kenmerkcontract_waarde) = wg_ud.fac_usrdata_key;
|
||
*/
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_CNTREMINDER
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
PAR1,
|
||
PAR2,
|
||
XKEY
|
||
--XEMAIL,
|
||
--XMOBILE,
|
||
--FAC_SRTNOTIFICATIE_KEY,
|
||
--ATTACHMENTS,
|
||
--XSENDER,
|
||
--PRS_BEDRIJFADRES_KEY
|
||
)
|
||
AS -- Op Rappeltermijn voor Actiedatum naar 1e Aanspreekpunt
|
||
SELECT 'CNTMAI',
|
||
NULL,
|
||
c.prs_perslid_key_eig,
|
||
'Actie: Contract ' || c.cnt_contract_nummer_intern || DECODE (cnt_contract_versie, NULL, '', '.' || cnt_contract_versie)
|
||
|| ' ' || b.prs_bedrijf_naam || ' ' || c.cnt_contract_omschrijving,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
fac.safe_to_date (kc.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy'),
|
||
NULL
|
||
--NULL xemail,
|
||
--NULL xmobile,
|
||
--NULL fac_srtnotificatie_key,
|
||
--NULL attachments,
|
||
--NULL xsender,
|
||
--NULL prs_bedrijfadres_key
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b, cnt_termijn ct,
|
||
--(SELECT * FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key IN (19, 20, 17, 18, 65, 83)) kc, -- Actiedatum contractbeheer
|
||
(SELECT * FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key IN (13, 15, 14, 16, 64, 84)) kc -- Actiedatum
|
||
WHERE c.cnt_contract_status = 0
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_rappeltermijn = ct.cnt_termijn_key
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND TRUNC (DECODE (ct.cnt_termijn_type,
|
||
'W', SYSDATE + (ct.cnt_termijn_aantal * 7),
|
||
'M', ADD_MONTHS (SYSDATE, ct.cnt_termijn_aantal),
|
||
'Y', ADD_MONTHS (SYSDATE, ct.cnt_termijn_aantal * 12),
|
||
SYSDATE + ct.cnt_termijn_aantal)) = fac.safe_to_date (kc.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
|
||
UNION -- Op Rappeldatum naar 1e Aanspreekpunt
|
||
SELECT 'CNTMAI',
|
||
NULL,
|
||
c.prs_perslid_key_eig,
|
||
'Rappel: Contract ' || c.cnt_contract_nummer_intern || DECODE (cnt_contract_versie, NULL, '', '.' || cnt_contract_versie)
|
||
|| ' ' || b.prs_bedrijf_naam || ' ' || c.cnt_contract_omschrijving,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
NULL
|
||
--NULL xemail,
|
||
--NULL xmobile,
|
||
--NULL fac_srtnotificatie_key,
|
||
--NULL attachments,
|
||
--NULL xsender,
|
||
--NULL prs_bedrijfadres_key
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||
WHERE c.cnt_contract_status = 0
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND cnt.cnt_getrappeldatum (c.cnt_contract_key) = TRUNC (SYSDATE);
|
||
|
||
-- Koppeling Sentido tbv. Hoftoren!
|
||
CREATE OR REPLACE VIEW fmhn_v_api_sentido
|
||
AS
|
||
SELECT TO_CHAR (rr.res_rsv_ruimte_van, 'YYYYMMDD-HH24MI') || TO_CHAR (rr.res_rsv_ruimte_tot, ',YYYYMMDD-HH24MI')
|
||
srt,
|
||
rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr nummer,
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'YYYY-MM-DD HH24:MI:SS') van,
|
||
TO_CHAR (rr.res_rsv_ruimte_tot, 'YYYY-MM-DD HH24:MI:SS') tot,
|
||
rr.res_rsv_ruimte_omschrijving omschrijving,
|
||
pf.prs_perslid_naam_full host,
|
||
TRIM (r.res_ruimte_nr) ruimte,
|
||
r.res_ruimte_key ruimte_key
|
||
FROM res_rsv_ruimte rr, res_ruimte_opstelling ro, res_ruimte r, prs_v_perslid_fullnames pf
|
||
WHERE rr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rr.res_status_fo_key NOT IN (3, 4)
|
||
AND COALESCE (rr.res_rsv_ruimte_bezoekers_shown, rr.res_rsv_ruimte_noshow) IS NULL
|
||
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = r.res_ruimte_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM res_alg_ruimte ar, alg_v_onroerendgoed aog
|
||
WHERE ar.res_ruimte_key = r.res_ruimte_key
|
||
AND ar.alg_ruimte_key = aog.alg_onroerendgoed_keys
|
||
AND aog.alg_type = 'R'
|
||
AND alg_gebouw_key = 4) -- Hoftoren
|
||
AND rr.res_rsv_ruimte_host_key = pf.prs_perslid_key
|
||
AND TRUNC (rr.res_rsv_ruimte_van) BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 3);
|
||
/*
|
||
-- Rapportje met res_ruimte-gegevens, inclusief volledige URL naar de booking
|
||
-- pagina van de door Sentido te genereren QR-code.
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_ruimtes_sentido
|
||
AS
|
||
SELECT res_ruimte_key ruimte_key,
|
||
res_ruimte_nr ruimte_nr,
|
||
'https://fmhn.facilitor.nl/?u=xxx&'||'res_ruimte_key=' || res_ruimte_key ruimte_url
|
||
FROM res_v_aanwezigruimte;
|
||
*/
|
||
-- Koppeling Smart Signs tbv. Turfmarkt (en Resident)!
|
||
/*
|
||
CREATE OR REPLACE VIEW pnbr_v_rap_dagstaat
|
||
(
|
||
res_rsv_ruimte_key,
|
||
res_rsv_ruimte_omschrijving,
|
||
res_rsv_ruimte_van,
|
||
res_rsv_ruimte_tot,
|
||
res_rsv_ruimte_bezoekers,
|
||
res_ruimte_key,
|
||
res_ruimte_nr
|
||
)
|
||
AS
|
||
SELECT r.res_rsv_ruimte_key,
|
||
res_rsv_ruimte_omschrijving,
|
||
TO_CHAR (r.res_rsv_ruimte_van, 'yyyy-mm-dd')
|
||
|| 'T'
|
||
|| TO_CHAR (r.res_rsv_ruimte_van, 'hh24:mi:ss'),
|
||
TO_CHAR (r.res_rsv_ruimte_tot, 'yyyy-mm-dd')
|
||
|| 'T'
|
||
|| TO_CHAR (r.res_rsv_ruimte_tot, 'hh24:mi:ss'),
|
||
COALESCE (res_rsv_ruimte_bezoekers, 0),
|
||
rr.res_ruimte_key,
|
||
DECODE (
|
||
INSTR (res_ruimte_nr, '('),
|
||
0, res_ruimte_nr,
|
||
SUBSTR (
|
||
res_ruimte_nr,
|
||
INSTR (res_ruimte_nr, '(') + 1,
|
||
INSTR (res_ruimte_nr, ')')
|
||
- INSTR (res_ruimte_nr, '(')
|
||
- 1))
|
||
FROM res_rsv_ruimte r,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
(SELECT rrr.res_rsv_ruimte_key,
|
||
(SELECT w.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde w, res_kenmerk k
|
||
WHERE w.res_kenmerk_key = k.res_kenmerk_key
|
||
AND w.res_kenmerk_key = k.res_kenmerk_key
|
||
AND rrr.res_rsv_ruimte_key = w.res_rsv_ruimte_key
|
||
AND k.res_srtkenmerk_key = 1 -- zichtbaar op planbord
|
||
AND k.res_activiteit_key = rrr.res_activiteit_key) res_kenmerkreservering_waarde
|
||
FROM res_rsv_ruimte rrr) ds
|
||
WHERE r.res_rsv_ruimte_verwijder IS NULL
|
||
AND r.res_status_fo_key = 2
|
||
AND r.res_rsv_ruimte_key = ds.res_rsv_ruimte_key
|
||
AND r.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND ( fac.safe_to_number (ds.res_kenmerkreservering_waarde) = 2
|
||
OR r.res_rsv_ruimte_contact_key = 30064) -- SmartSigns user
|
||
AND TRUNC (res_rsv_ruimte_van) = TRUNC (SYSDATE);
|
||
|
||
CREATE OR REPLACE VIEW PNBR_V_RAP_DAGSTAAT_BRON
|
||
(
|
||
FCLT_D_DATUM,
|
||
DAGVWEEK,
|
||
MAAND,
|
||
DAG,
|
||
JAAR,
|
||
NUMMER,
|
||
TIJDSORT,
|
||
RUIMTE_VAN,
|
||
RUIMTE_TOT,
|
||
BEZOEKERS,
|
||
ACTIVITEIT,
|
||
OMSCHRIJVING,
|
||
OPMERKING,
|
||
RUIMTE,
|
||
VERDIEPING,
|
||
LOCATIE,
|
||
MELDER,
|
||
TELEFOON,
|
||
KOSTENPLAATS,
|
||
BEGRPOST,
|
||
BESTELNR,
|
||
OPSTELLING,
|
||
AANTALCATERING,
|
||
V_VAN,
|
||
V_TOT,
|
||
V_OMSCHRIJVING,
|
||
V_AANTAL,
|
||
V_PRIJS,
|
||
V_TOTAAL,
|
||
GS,
|
||
CDK,
|
||
RES_RSV_RUIMTE_KEY,
|
||
RES_DISCIPLINE_KEY,
|
||
RES_BESNR_CATERAAR,
|
||
PROJECTMGR_EVENEMENT,
|
||
LM_MUT,
|
||
LM_DEL
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy')
|
||
datum,
|
||
DECODE (TO_CHAR (res_rsv_ruimte_van, 'd'),
|
||
1, 'zondag',
|
||
2, 'maandag',
|
||
3, 'dinsdag',
|
||
4, 'woensdag',
|
||
5, 'donderdag',
|
||
6, 'vrijdag',
|
||
7, 'zaterdag')
|
||
dagvweek,
|
||
DECODE (TO_CHAR (res_rsv_ruimte_van, 'mm'),
|
||
1, 'januari',
|
||
2, 'februari',
|
||
3, 'maart',
|
||
4, 'april',
|
||
5, 'mei',
|
||
6, 'juni',
|
||
7, 'juli',
|
||
8, 'augustus',
|
||
9, 'september',
|
||
10, 'oktober',
|
||
11, 'november',
|
||
12, 'december')
|
||
maand,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd')
|
||
dag,
|
||
TO_CHAR (res_rsv_ruimte_van, 'yyyy')
|
||
jaar,
|
||
res_reservering_key || '/' || res_rsv_ruimte_volgnr
|
||
nummer,
|
||
TO_CHAR (res_rsv_ruimte_van, 'yyyymmddhh24mi')
|
||
tijdsort,
|
||
TO_CHAR (res_rsv_ruimte_van, 'hh24:mi')
|
||
ruimte_van,
|
||
TO_CHAR (res_rsv_ruimte_tot, 'hh24:mi')
|
||
ruimte_tot,
|
||
res_rsv_ruimte_bezoekers
|
||
bezoekers,
|
||
res_activiteit_omschrijving,
|
||
DECODE (
|
||
rrr.res_activiteit_key,
|
||
150, 'GEBAK '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM res_kenmerkwaarde rk, fac_usrdata ud
|
||
WHERE rk.res_kenmerk_key = 262
|
||
AND ud.fac_usrtab_key = 1943 -- kenmerk + usertab zakelijk/prive
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number (
|
||
rk.res_kenmerkreservering_waarde)
|
||
AND rk.res_rsv_ruimte_key =
|
||
rrr.res_rsv_ruimte_key),
|
||
UPPER (res_rsv_ruimte_omschrijving)),
|
||
res_rsv_ruimte_opmerking
|
||
opmerking,
|
||
COALESCE (
|
||
(SELECT res_ruimte_nr
|
||
FROM res_v_ruimte_opstel_gegevens rog
|
||
WHERE rog.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key),
|
||
(SELECT MAX (alg_ruimte_aanduiding)
|
||
FROM alg_v_ruimte_gegevens rg
|
||
WHERE rrr.alg_ruimte_key = rg.alg_ruimte_key))
|
||
ruimte,
|
||
vg.alg_verdieping_omschrijving
|
||
verdieping,
|
||
vg.alg_locatie_omschrijving
|
||
locatie,
|
||
prs_perslid_naam_full
|
||
melder,
|
||
COALESCE (prs_perslid_telefoonnr, prs_perslid_mobiel)
|
||
telefoon,
|
||
k.prs_kostenplaats_nr
|
||
kostenplaats,
|
||
COALESCE (bp_extra.waarde, bp.waarde)
|
||
begrpost,
|
||
bnk.waarde
|
||
bestelnr,
|
||
(SELECT rog.res_opstelling_omschrijving
|
||
FROM res_v_ruimte_opstel_gegevens rog
|
||
WHERE rog.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key)
|
||
opstelling,
|
||
(SELECT COUNT (*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
aantalcatering,
|
||
TO_CHAR (v.van, 'hh24:mi')
|
||
v_van,
|
||
v.tot
|
||
v_tot,
|
||
v.omschrijving
|
||
v_omschrijving,
|
||
v.aantal
|
||
v_aantal,
|
||
v.prijs
|
||
v_prijs,
|
||
COALESCE (v.aantal, 0) * v.prijs
|
||
v_totaal,
|
||
COALESCE (gs.waarde, '0')
|
||
gs,
|
||
COALESCE (cdk.waarde, '0')
|
||
cdk,
|
||
rrr.res_rsv_ruimte_key,
|
||
v.res_discipline_key,
|
||
kn_bes_cateraar.waarde,
|
||
projmngr_evenement.prs_perslid_naam_friendly,
|
||
v.lm_mut,
|
||
v.lm_del
|
||
FROM res_rsv_ruimte rrr,
|
||
(SELECT res_rsv_ruimte_key,
|
||
res_rsv_artikel_aantal aantal,
|
||
res_artikel_prijs prijs,
|
||
res_rsv_artikel_levering van,
|
||
NULL tot,
|
||
ra.res_artikel_omschrijving omschrijving,
|
||
ra.res_discipline_key,
|
||
CASE
|
||
WHEN ( rra.res_rsv_artikel_aanmaak >=
|
||
referentie.ref_datum
|
||
OR rra.res_rsv_artikel_mutatie >=
|
||
referentie.ref_datum)
|
||
THEN
|
||
'Ja'
|
||
ELSE
|
||
'Nee'
|
||
END LM_MUT,
|
||
CASE
|
||
WHEN rra.res_rsv_artikel_verwijder >=
|
||
referentie.ref_datum
|
||
THEN
|
||
'Ja'
|
||
ELSE
|
||
'Nee'
|
||
END LM_DEL
|
||
FROM res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
(SELECT fac.safe_to_date (
|
||
( TO_CHAR (SYSDATE - 1, 'dd-mm-yyyy')
|
||
|| ' 16:00'), -- om te bekijken welke wijzigingen in de catering zijn doorgevoerd na 16 uur
|
||
'dd-mm-yyyy HH24:mi') AS ref_datum
|
||
FROM DUAL) referentie
|
||
WHERE rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
UNION ALL
|
||
SELECT res_rsv_ruimte_key,
|
||
1 aantal,
|
||
NULL,
|
||
res_rsv_deel_van van,
|
||
res_rsv_deel_tot tot,
|
||
ins_deel_omschrijving omschrijving,
|
||
rd.res_discipline_key,
|
||
'' lm_mut, -- dit beoordelen we alleen voor verbuiksartikelen
|
||
'' lm_del
|
||
FROM res_rsv_deel rrd,
|
||
res_deel rd,
|
||
ins_deel d,
|
||
ins_srtdeel sd
|
||
WHERE rrd.res_rsv_deel_verwijder IS NULL
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_ins_deel_key = d.ins_deel_key
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key) v,
|
||
(SELECT res_rsv_ruimte_key, fac_usrdata_code waarde
|
||
FROM res_kenmerkwaarde kw, fac_usrdata ud, res_kenmerk rk
|
||
WHERE rk.res_srtkenmerk_key = 21
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND fac.safe_to_number (res_kenmerkreservering_waarde) =
|
||
fac_usrdata_key) bp,
|
||
(SELECT res_rsv_ruimte_key, res_kenmerkreservering_waarde waarde
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE rk.res_srtkenmerk_key = 61
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key) bp_extra,
|
||
(SELECT res_rsv_ruimte_key, fac_usrdata_code waarde
|
||
FROM res_kenmerkwaarde kw, fac_usrdata ud, res_kenmerk rk
|
||
WHERE rk.res_srtkenmerk_key = 2
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND fac.safe_to_number (res_kenmerkreservering_waarde) =
|
||
fac_usrdata_key) gs,
|
||
(SELECT res_rsv_ruimte_key, fac_usrdata_code waarde
|
||
FROM res_kenmerkwaarde kw, fac_usrdata ud, res_kenmerk rk
|
||
WHERE rk.res_srtkenmerk_key = 22
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND fac.safe_to_number (res_kenmerkreservering_waarde) =
|
||
fac_usrdata_key) cdk,
|
||
(SELECT res_rsv_ruimte_key, res_kenmerkreservering_waarde waarde
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE rk.res_srtkenmerk_key = 281
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key) bnk,
|
||
(SELECT fac_usrdata_omschr waarde, kw.res_rsv_ruimte_key
|
||
FROM res_kenmerkwaarde kw, fac_usrdata ud, res_kenmerk rk
|
||
WHERE rk.res_srtkenmerk_key = 441
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND fac.safe_to_number (res_kenmerkreservering_waarde) =
|
||
fac_usrdata_key) kn_bes_cateraar,
|
||
(SELECT rrr2.res_rsv_ruimte_key,
|
||
rg.alg_verdieping_omschrijving,
|
||
rg.alg_locatie_omschrijving
|
||
FROM alg_v_ruimte_gegevens rg, res_rsv_ruimte rrr2
|
||
WHERE rg.alg_ruimte_key =
|
||
COALESCE (
|
||
rrr2.alg_ruimte_key,
|
||
(SELECT MIN (rar.alg_ruimte_key)
|
||
FROM res_v_rsv_ruimte_2_alg_ruimte rar
|
||
WHERE rar.res_rsv_ruimte_key =
|
||
rrr2.res_rsv_ruimte_key))) vg,
|
||
(SELECT res_rsv_ruimte_key, p.prs_perslid_naam_friendly
|
||
FROM res_kenmerk k,
|
||
res_srtkenmerk sk,
|
||
res_kenmerkwaarde kw,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND fac.safe_to_number (kw.res_kenmerkreservering_waarde) =
|
||
p.prs_perslid_key
|
||
AND sk.res_srtkenmerk_key = 521) projmngr_evenement,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_kostenplaats k,
|
||
res_activiteit a
|
||
WHERE rrr.res_rsv_ruimte_key = v.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_activiteit_key = a.res_activiteit_key
|
||
AND rrr.res_rsv_ruimte_contact_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||
AND rrr.res_rsv_ruimte_key = vg.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key = bp.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = bp_extra.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = gs.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = cdk.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = bnk.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key =
|
||
projmngr_evenement.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kn_bes_cateraar.res_rsv_ruimte_key(+);
|
||
|
||
CREATE OR REPLACE VIEW pnbr_v_rap_dagstaat_cat
|
||
(
|
||
fclt_f_datum,
|
||
dag,
|
||
dagvweek,
|
||
maand,
|
||
jaar,
|
||
nummer,
|
||
tijdsort,
|
||
ruimte_van,
|
||
ruimte_tot,
|
||
bezoekers,
|
||
activiteit,
|
||
omschrijving,
|
||
opmerking,
|
||
ruimte,
|
||
verdieping,
|
||
fclt_f_locatie,
|
||
melder,
|
||
telefoon,
|
||
kostenplaats,
|
||
begrpost,
|
||
bestelnr,
|
||
opstelling,
|
||
aantalcatering,
|
||
v_van,
|
||
v_tot,
|
||
v_omschrijving,
|
||
v_aantal,
|
||
v_prijs,
|
||
v_totaal,
|
||
gs,
|
||
cdk,
|
||
res_besnr_cateraar,
|
||
lm_mut,
|
||
lm_del
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (TO_DATE (fclt_d_datum, 'dd-mm-yyyy'), 'yyyy-mm-dd')
|
||
|| ' ('
|
||
|| dagvweek
|
||
|| ')',
|
||
dag,
|
||
dagvweek,
|
||
maand,
|
||
jaar,
|
||
nummer,
|
||
tijdsort,
|
||
ruimte_van,
|
||
ruimte_tot,
|
||
bezoekers,
|
||
activiteit,
|
||
omschrijving,
|
||
opmerking,
|
||
ruimte,
|
||
verdieping,
|
||
locatie,
|
||
melder,
|
||
telefoon,
|
||
kostenplaats,
|
||
begrpost,
|
||
bestelnr,
|
||
opstelling,
|
||
aantalcatering,
|
||
v_van,
|
||
v_tot,
|
||
v_omschrijving,
|
||
v_aantal,
|
||
v_prijs,
|
||
v_totaal,
|
||
gs,
|
||
cdk,
|
||
res_besnr_cateraar,
|
||
LM_MUT,
|
||
LM_DEL
|
||
FROM pnbr_v_rap_dagstaat_bron
|
||
WHERE TO_DATE (fclt_d_datum, 'dd-mm-yyyy') BETWEEN TRUNC (SYSDATE - 5)
|
||
AND TRUNC (SYSDATE + 10);
|
||
|
||
CREATE OR REPLACE VIEW pnbr_v_rap_dagstaat_even
|
||
(
|
||
fclt_d_datum,
|
||
dag,
|
||
dagvweek,
|
||
maand,
|
||
jaar,
|
||
nummer,
|
||
tijdsort,
|
||
ruimte_van,
|
||
ruimte_tot,
|
||
bezoekers,
|
||
activiteit,
|
||
omschrijving,
|
||
opmerking,
|
||
ruimte,
|
||
verdieping,
|
||
melder,
|
||
telefoon,
|
||
kostenplaats,
|
||
begrpost,
|
||
bestelnr,
|
||
opstelling,
|
||
v_van,
|
||
v_tot,
|
||
v_omschrijving,
|
||
v_aantal,
|
||
v_prijs,
|
||
v_totaal,
|
||
gs,
|
||
cdk,
|
||
res_besnr_cateraar,
|
||
projectmgr_evenement
|
||
)
|
||
AS
|
||
SELECT fclt_d_datum,
|
||
dag,
|
||
dagvweek,
|
||
maand,
|
||
jaar,
|
||
nummer,
|
||
tijdsort,
|
||
ruimte_van,
|
||
ruimte_tot,
|
||
bezoekers,
|
||
activiteit,
|
||
omschrijving,
|
||
opmerking,
|
||
ruimte,
|
||
verdieping,
|
||
melder,
|
||
telefoon,
|
||
kostenplaats,
|
||
begrpost,
|
||
bestelnr,
|
||
opstelling,
|
||
v_van,
|
||
v_tot,
|
||
v_omschrijving,
|
||
v_aantal,
|
||
v_prijs,
|
||
v_totaal,
|
||
gs,
|
||
cdk,
|
||
res_besnr_cateraar,
|
||
projectmgr_evenement
|
||
FROM pnbr_v_rap_dagstaat_bron b
|
||
WHERE activiteit = 'Evenement'
|
||
OR EXISTS -- of reserveringen met catering die de klant niet zelf mag bestellen
|
||
(SELECT res_rsv_ruimte_key
|
||
FROM pnbr_v_rap_dagstaat_bron b2, ins_tab_discipline d
|
||
WHERE b2.res_discipline_key IS NOT NULL
|
||
AND d.ins_discipline_min_level = 2
|
||
AND b2.res_discipline_key = d.ins_discipline_key
|
||
AND b.res_rsv_ruimte_key = b2.res_rsv_ruimte_key);
|
||
*/
|
||
CREATE OR REPLACE VIEW fmhn_v_api_smartsigns
|
||
(
|
||
van,
|
||
tot,
|
||
key,
|
||
resid,
|
||
locatiecode,
|
||
gebouwcode,
|
||
fclt_3d_gebouw_key,
|
||
verdiepingcode,
|
||
ruimtecode,
|
||
ruimtenaam,
|
||
rvck_vnr,
|
||
voorziening,
|
||
aantal,
|
||
prijs,
|
||
btw,
|
||
act_oms,
|
||
srtact_oms,
|
||
bezoekers,
|
||
fo_status_key,
|
||
fo_status,
|
||
bo_status_key,
|
||
bo_status,
|
||
contact,
|
||
host,
|
||
kostenplaats,
|
||
resruimtekey,
|
||
algruimtekey,
|
||
algruimtenr,
|
||
omschrijving,
|
||
opmerking,
|
||
dagstaat
|
||
)
|
||
AS
|
||
SELECT x.van van_datumtijd,
|
||
x.tot tot_datumtijd,
|
||
x.res_rsv_ruimte_key res_key,
|
||
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) res_id,
|
||
rvck.loc_code,
|
||
rvck.geb_code,
|
||
rvck.geb_key,
|
||
rvck.ver_code,
|
||
rvck.alg_ruimte_nr ruimtecode,
|
||
rvck.res_ruimte_nr ruimtenaam,
|
||
rvck.vnr,
|
||
rvck.voorziening,
|
||
rvck.aantal,
|
||
ROUND (COALESCE (rvck.res_rsv_prijs, rvck.aantal * rvck.ps), 2) prijs,
|
||
rvck.btw,
|
||
x.res_activiteit_omschrijving,
|
||
x.res_srtactiviteit_omschrijving,
|
||
x.res_rsv_ruimte_bezoekers bezoekers,
|
||
x.fo_status_key,
|
||
DECODE (x.fo_status_key,
|
||
1, 'RESOPT',
|
||
2, 'RESDEF',
|
||
3, 'RESBLK',
|
||
'RESDEL')
|
||
fo_status,
|
||
x.bo_status_key,
|
||
x.bo_status_oms,
|
||
x.contact_naam,
|
||
x.host_naam,
|
||
x.kp_nr,
|
||
rvck.res_ruimte_key,
|
||
rvck.alg_ruimte_key,
|
||
rvck.alg_ruimte_nr algruimtenr, -- 2e keer, maar weet niet of gebruikt door Smart Signs?
|
||
x.res_rsv_ruimte_omschrijving oms,
|
||
x.res_rsv_ruimte_opmerking opm,
|
||
--DECODE (x.contact_key,
|
||
-- 46, 'Ja', -- _API-user tbv. Smart Signs
|
||
-- DECODE (COALESCE ((SELECT res_kenmerkreservering_waarde
|
||
-- FROM res_kenmerkwaarde kw, res_kenmerk k
|
||
-- WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
-- AND k.res_srtkenmerk_key = -1 -- Zichtbaar op dagstaat
|
||
-- AND kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key), '1'),
|
||
-- '1', 'Nee',
|
||
-- 'Ja'))
|
||
'Ja' dagstaat
|
||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
a.res_activiteit_key,
|
||
a.res_activiteit_omschrijving,
|
||
sa.res_srtactiviteit_key,
|
||
sa.res_srtactiviteit_omschrijving,
|
||
rrr.res_rsv_ruimte_van van,
|
||
rrr.res_rsv_ruimte_tot tot,
|
||
rrr.res_rsv_ruimte_bezoekers,
|
||
fs.res_status_fo_key fo_status_key,
|
||
fs.res_status_fo_omschrijving fo_status_oms,
|
||
bs.res_status_bo_key bo_status_key,
|
||
bs.res_status_bo_omschrijving bo_status_oms,
|
||
pfc.prs_perslid_key contact_key,
|
||
pfc.prs_perslid_naam_full contact_naam,
|
||
pfh.prs_perslid_key host_key,
|
||
pfh.prs_perslid_naam_full host_naam,
|
||
k.prs_kostenplaats_nr kp_nr,
|
||
k.prs_kostenplaats_omschrijving kp_oms,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_rsv_ruimte_opmerking
|
||
FROM res_v_aanwezigrsv_ruimte rrr, -- Alleen aanwezige!
|
||
res_activiteit a,
|
||
res_srtactiviteit sa,
|
||
res_status_fo fs,
|
||
res_status_bo bs,
|
||
prs_v_perslid_fullnames_all pfc,
|
||
prs_v_perslid_fullnames_all pfh,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_rsv_ruimte_tot > TRUNC (SYSDATE, 'IW') - 7
|
||
AND rrr.res_ruimte_opstel_key IS NOT NULL -- Alleen ruimtereserveringen!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_activiteit_key = a.res_activiteit_key
|
||
AND a.res_activiteit_verwijder IS NULL
|
||
AND a.res_srtactiviteit_key = sa.res_srtactiviteit_key
|
||
AND sa.res_srtactiviteit_verwijder IS NULL
|
||
AND rrr.res_status_fo_key = fs.res_status_fo_key
|
||
AND rrr.res_status_bo_key = bs.res_status_bo_key
|
||
AND rrr.res_rsv_ruimte_contact_key = pfc.prs_perslid_key
|
||
AND rrr.res_rsv_ruimte_host_key = pfh.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN
|
||
(SELECT rrr.res_rsv_ruimte_key,
|
||
l.alg_locatie_code loc_code,
|
||
g.alg_gebouw_code geb_code,
|
||
g.alg_gebouw_key geb_key,
|
||
v.alg_verdieping_code ver_code,
|
||
r.alg_ruimte_nr,
|
||
rr.res_ruimte_nr,
|
||
r.alg_ruimte_key alg_ruimte_key,
|
||
rr.res_ruimte_key res_ruimte_key,
|
||
TO_NUMBER (NULL) vnr,
|
||
ro.res_opstelling_omschrijving voorziening,
|
||
ROUND ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, 2)
|
||
aantal, -- Duur in uren
|
||
rrr.res_rsv_ruimte_prijs res_rsv_prijs,
|
||
rr.res_ruimte_prijs ps, -- Uurtarief
|
||
rr.res_ruimte_prijs_ochtend po,
|
||
rr.res_ruimte_prijs_middag pm,
|
||
rr.res_ruimte_prijs_avond pa,
|
||
NULL btw
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key,
|
||
COUNT ( * ) aantal
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
res_opstelling ro
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.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_gebouw_key = g.alg_gebouw_key(+)
|
||
AND g.alg_locatie_key = l.alg_locatie_key(+)
|
||
AND rro.res_opstelling_key = ro.res_opstelling_key) rvck
|
||
ON x.res_rsv_ruimte_key = rvck.res_rsv_ruimte_key
|
||
--WHERE alg_gebouw_key IN (3, 5, 6) -- TODO:Turfmarkt 147/Parnassusplein 5 (Resident)/Turfmarkt 244
|
||
;
|
||
|
||
-- Bronview voor alle kosten van catering (tbv. sleutelbestand en noshow)!
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_res_cat_all
|
||
(
|
||
res_rsv_ruimte_key,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_volgnr,
|
||
planonnr,
|
||
alg_locatie_key,
|
||
alg_gebouw_key,
|
||
res_rsv_ruimte_contact_key,
|
||
res_rsv_ruimte_host_key,
|
||
res_rsv_artikel_levering,
|
||
res_rsv_artikel_afgemeld,
|
||
res_artikel_key,
|
||
--res_artikel_omschrijving,
|
||
--res_artikel_eenheid,
|
||
--res_artikel_prijs,
|
||
--res_artikel_btw,
|
||
--res_rsv_artikel_aantal,
|
||
res_rsv_artikel_prijs,
|
||
kosten_excl,
|
||
btw,
|
||
productdienstnr, -- nummer?
|
||
productdienstnaam, -- categorie?
|
||
prs_kostenplaats_key,
|
||
prs_kostensoort_key,
|
||
status,
|
||
noshow,
|
||
omschrijving
|
||
)
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
planonnr.res_kenmerkreservering_waarde planonnr,
|
||
aog.alg_locatie_key,
|
||
aog.alg_gebouw_key,
|
||
rrr.res_rsv_ruimte_contact_key,
|
||
rrr.res_rsv_ruimte_host_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rra.res_rsv_artikel_afgemeld,
|
||
ra.res_artikel_key,
|
||
--ra.res_artikel_omschrijving,
|
||
--ra.res_artikel_eenheid,
|
||
--ra.res_artikel_prijs,
|
||
--ra.res_artikel_btw,
|
||
--rra.res_rsv_artikel_aantal,
|
||
rra.res_rsv_artikel_prijs,
|
||
res.getartikelprijs (rra.res_rsv_artikel_key) kosten_excl,
|
||
--(100 + COALESCE (rra.res_rsv_artikel_btw, 0)) / 100 btw,
|
||
(100 + COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw, 0)) / 100 btw, -- Wanneer de reservering nog niet is afgemeld is de BTW nog niet gevuld, dus dan pakken we de artikel BTW.
|
||
DECODE (rrr.res_activiteit_key, 11, '2230.01', '1430.02')
|
||
productdienstnr, -- nummer?
|
||
DECODE (rrr.res_activiteit_key, 11, 'Roomservice', 'Reservering vergaderzalen')
|
||
productdienstnaam, -- categorie?
|
||
rrr.prs_kostenplaats_key,
|
||
rd.prs_kostensoort_key,
|
||
s.res_status_bo_omschrijving status,
|
||
DECODE (
|
||
COALESCE (rrr.res_rsv_ruimte_bezoekers_shown, rrr.res_rsv_ruimte_noshow),
|
||
NULL, 'Nee',
|
||
'Ja')
|
||
noshow,
|
||
rrr.res_rsv_ruimte_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
(SELECT * FROM res_v_aanwezigkenmerkwaarde WHERE res_kenmerk_key IN (21, 22, 23, 24, 363, 368)) planonnr, -- Referentienummer
|
||
res_ruimte_opstelling rro,
|
||
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) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
res_status_bo s
|
||
WHERE (rrr.res_rsv_ruimte_verwijder IS NULL
|
||
OR (rrr.res_rsv_ruimte_verwijder IS NOT NULL AND rrr.res_status_fo_key = 4))
|
||
AND rrr.res_rsv_ruimte_tot > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy')
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_rsv_ruimte_key = planonnr.res_rsv_ruimte_key(+)
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key(+)
|
||
AND rr.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rr.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
--AND COALESCE (rra.res_rsv_artikel_prijs, ra.res_artikel_prijs) <> 0 -- TODO:Reserveringen zonder kosten negeren???
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND rra.res_status_bo_key = s.res_status_bo_key;
|
||
|
||
-- Mapping van afdeling naar debiteurnummer (via Eigen tabel met key=361)!
|
||
-- Kostendrager_vervoer is het kostendrager nummer specifiek voor ritten.
|
||
-- LET OP: Debiteurnummers mogen alleen voor afdelingen t/m het 4e niveau
|
||
-- van Facilitor (= IDM-level 5) worden gedefinieerd, lager in de
|
||
-- boom loopt spaak!!!
|
||
-- Vanaf FMHN#82607 wordt er in in Facilitor tot niveau 5 gehanteerd, daarvoor was dit tot niveau 4.
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_afd2debnr
|
||
AS
|
||
SELECT ab.prs_afdeling_key,
|
||
(SELECT prs_afdeling_externid FROM prs_afdeling WHERE prs_afdeling_key = ab.prs_afdeling_key)
|
||
afdid,
|
||
COALESCE (ud5.fac_usrdata_omschr, ud4.fac_usrdata_omschr, ud3.fac_usrdata_omschr, ud2.fac_usrdata_omschr, ud1.fac_usrdata_omschr, ud0.fac_usrdata_omschr)
|
||
debiteur,
|
||
COALESCE (ud5.fac_usrdata_prijs, ud4.fac_usrdata_prijs, ud3.fac_usrdata_prijs, ud2.fac_usrdata_prijs, ud1.fac_usrdata_prijs, ud0.fac_usrdata_prijs)
|
||
kostendrager_vervoer
|
||
FROM prs_v_afdeling_boom ab,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1020) mc, -- Ministeriecode (bij Bedrijf)
|
||
fac_v_aanwezigusrdata mc_ud,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1021) a0, -- Organisatieonderdeelcode (bij Bedrijf)
|
||
prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_afdeling a3,
|
||
prs_afdeling a4,
|
||
prs_afdeling a5,
|
||
(SELECT * FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 361) ud0,
|
||
(SELECT * FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 361) ud1,
|
||
(SELECT * FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 361) ud2,
|
||
(SELECT * FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 361) ud3,
|
||
(SELECT * FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 361) ud4,
|
||
(SELECT * FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 361) ud5
|
||
WHERE ab.prs_bedrijf_key = mc.prs_link_key(+)
|
||
AND fac.safe_to_number (mc.prs_kenmerklink_waarde) = mc_ud.fac_usrdata_key(+)
|
||
AND ab.prs_bedrijf_key = a0.prs_link_key(+)
|
||
AND ab.prs_afdeling_key1 = a1.prs_afdeling_key(+)
|
||
AND ab.prs_afdeling_key2 = a2.prs_afdeling_key(+)
|
||
AND ab.prs_afdeling_key3 = a3.prs_afdeling_key(+)
|
||
AND ab.prs_afdeling_key4 = a4.prs_afdeling_key(+)
|
||
AND ab.prs_afdeling_key5 = a5.prs_afdeling_key(+)
|
||
AND UPPER (mc_ud.fac_usrdata_code || a0.prs_kenmerklink_waarde) = ud0.fac_usrdata_upper(+)
|
||
AND a1.prs_afdeling_externid = ud1.fac_usrdata_upper(+)
|
||
AND a2.prs_afdeling_externid = ud2.fac_usrdata_upper(+)
|
||
AND a3.prs_afdeling_externid = ud3.fac_usrdata_upper(+)
|
||
AND a4.prs_afdeling_externid = ud4.fac_usrdata_upper(+)
|
||
AND a5.prs_afdeling_externid = ud5.fac_usrdata_upper(+);
|
||
|
||
-- PRS Fullnames maar dan ook met verwijderde personen i.v.m. historie in facturatie rapportages.
|
||
CREATE OR REPLACE VIEW FMHN_V_PERSLID_FULLNAMES_HISTORY
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM_FULL,
|
||
PRS_PERSLID_NAAM_FRIENDLY
|
||
)
|
||
AS
|
||
SELECT prs_perslid_key,
|
||
prs_perslid_naam
|
||
|| DECODE (p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || p.prs_perslid_voorletters)
|
||
|| DECODE (p.prs_perslid_tussenvoegsel,
|
||
NULL, '',
|
||
' ' || p.prs_perslid_tussenvoegsel)
|
||
|| DECODE (p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || p.prs_perslid_voornaam || ')')
|
||
prs_perslid_naam_full,
|
||
DECODE (p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
p.prs_perslid_voornaam || ' ')
|
||
|| DECODE (p.prs_perslid_tussenvoegsel,
|
||
NULL, '',
|
||
p.prs_perslid_tussenvoegsel || ' ')
|
||
|| prs_perslid_naam
|
||
prs_perslid_naam_friendly
|
||
FROM prs_perslid p;
|
||
|
||
-- T.b.v. facturatie en verwerking in Exact van kostendragende RES / BES / MLD
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_SLEUTELBESTAND
|
||
(MODULE, DATUM, DATUM_GEREED, GEBOUW, MELDER,
|
||
AFDELING, PLANON_NR, NUMMER, PROJECT_NR, PDC_NUMMER,
|
||
PDC_NAAM, KOSTEN_INCL, KOSTEN_EXCL, AANVRAAG_VOOR, STATUS,
|
||
JAAR, MAAND, ARTIKEL, DIENST, DEPARTEMENT,
|
||
DEBITEUR, KOSTENDRAGER, KOSTENPLAATS, NOSHOW, OMSCHRIJVING,
|
||
GEKOPPELDE_RES, DATUM_GEKOPPELDE_RES, GEKOPPELDE_OBJ)
|
||
AS
|
||
SELECT
|
||
module,
|
||
TRUNC (tab.datum),
|
||
TRUNC (tab.datum_gereed),
|
||
l.alg_locatie_omschrijving,
|
||
pfa.prs_perslid_naam_full aanvrager,
|
||
DECODE (
|
||
fa.mincode,
|
||
'01',
|
||
(CASE WHEN idmlevel >= 7 THEN REGEXP_SUBSTR (pad, '^[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*') ELSE pad END),
|
||
fa.pad) organisatie,
|
||
planonnr,
|
||
tab.categorienummer,
|
||
(SELECT MAX (alg_onrgoedkenmerk_waarde) -- LET OP:Voorkennis dat <20><>n gebouw per locatie!
|
||
FROM alg_gebouw g, alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE g.alg_gebouw_verwijder IS NULL
|
||
AND g.alg_gebouw_key = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1040
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||
projectnummer,
|
||
tab.nummer,
|
||
tab.categorie,
|
||
SUM (tab.bedrag_incl) bedrag_incl,
|
||
SUM (tab.bedrag_excl) bedrag_excl,
|
||
pfv.prs_perslid_naam_full voor,
|
||
tab.status,
|
||
TO_CHAR (tab.datum_gereed, 'YYYY') jaar,
|
||
TRIM (TO_CHAR (tab.datum_gereed, 'MONTH')) maand,
|
||
artikel, -- Artikelnr uit Exact
|
||
dienst, -- Dienst uit Exact
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1))
|
||
departement,
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1))
|
||
debiteur,
|
||
(SELECT MAX (alg_onrgoedkenmerk_waarde) -- LET OP:Voorkennis dat <20><>n gebouw per locatie!
|
||
FROM alg_gebouw g, alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE g.alg_gebouw_verwijder IS NULL
|
||
AND g.alg_gebouw_key = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1020
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||
kostendrager,
|
||
'600-'
|
||
|| (SELECT MAX (alg_onrgoedkenmerk_waarde) -- LET OP:Voorkennis dat <20><>n gebouw per locatie!
|
||
FROM alg_gebouw g, alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE g.alg_gebouw_verwijder IS NULL
|
||
AND g.alg_gebouw_key = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1020
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||
kostenplaats,
|
||
noshow,
|
||
omschrijving,
|
||
gekoppelde_res,
|
||
datum_gekoppelde_res,
|
||
gekoppelde_obj
|
||
FROM (SELECT COALESCE (prs_kostenplaats_key, (SELECT a.prs_kostenplaats_key FROM prs_afdeling a, prs_perslid p WHERE p.prs_perslid_key = res_rsv_ruimte_host_key AND p.prs_afdeling_key = a.prs_afdeling_key)) prs_kostenplaats_key,
|
||
TRUNC (res_rsv_artikel_levering) datum,
|
||
COALESCE (res_rsv_artikel_afgemeld, DECODE (status, 'Afgemeld', res_rsv_artikel_levering, 'Verwerkt', res_rsv_artikel_levering, NULL)) datum_gereed,
|
||
res_rsv_ruimte_contact_key prs_perslid_key,
|
||
res_rsv_ruimte_host_key host_key,
|
||
planonnr,
|
||
productdienstnr nummer,
|
||
productdienstnaam categorie,
|
||
TO_CHAR (res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (res_rsv_ruimte_volgnr)
|
||
categorienummer,
|
||
CASE
|
||
WHEN alg_locatie_key IN (4, 7, 8, 13, 16, 20) -- Livegang 2 was nog met bedragen INCL. BTW voor conversie artikelen
|
||
THEN
|
||
DECODE (res_artikel_key,
|
||
501, res_rsv_artikel_prijs,
|
||
561, res_rsv_artikel_prijs,
|
||
562, res_rsv_artikel_prijs,
|
||
563, res_rsv_artikel_prijs,
|
||
kosten_excl * btw)
|
||
ELSE
|
||
DECODE (res_artikel_key,
|
||
501, res_rsv_artikel_prijs,
|
||
kosten_excl * btw)
|
||
END
|
||
bedrag_incl,
|
||
CASE
|
||
WHEN alg_locatie_key IN (4, 7, 8, 13, 16, 20) -- Livegang 2 was nog met bedragen INCL. BTW voor conversie artikelen
|
||
THEN
|
||
DECODE (res_artikel_key,
|
||
501, res_rsv_artikel_prijs / btw,
|
||
561, res_rsv_artikel_prijs / btw,
|
||
562, res_rsv_artikel_prijs / btw,
|
||
563, res_rsv_artikel_prijs / btw,
|
||
kosten_excl)
|
||
ELSE
|
||
DECODE (res_artikel_key,
|
||
501, res_rsv_artikel_prijs / btw,
|
||
kosten_excl)
|
||
END bedrag_excl,
|
||
status,
|
||
'Reservering -r' module,
|
||
CASE
|
||
WHEN alg_locatie_key = 18
|
||
THEN '040'
|
||
ELSE '602'
|
||
END artikel,
|
||
'2230.01 Vergaderservice' dienst,
|
||
prs_kostensoort_key,
|
||
NULL ordernr,
|
||
res_reservering_key kostenplaats_item_key,
|
||
res_rsv_ruimte_key kostenplaats_item_child_key,
|
||
alg_locatie_key locatie_key,
|
||
noshow,
|
||
omschrijving,
|
||
NULL gekoppelde_res,
|
||
NULL datum_gekoppelde_res,
|
||
NULL gekoppelde_obj
|
||
FROM fmhn_v_rap_res_cat_all
|
||
WHERE COALESCE (res_rsv_artikel_prijs, kosten_excl) <> 0
|
||
UNION ALL
|
||
SELECT mld.*
|
||
FROM
|
||
(SELECT COALESCE (o.prs_kostenplaats_key, (SELECT a.prs_kostenplaats_key FROM prs_afdeling a, prs_perslid p WHERE p.prs_perslid_key = m.prs_perslid_key_voor AND p.prs_afdeling_key = a.prs_afdeling_key)) prs_kostenplaats_key,
|
||
o.mld_opdr_datumbegin datum,
|
||
COALESCE ((SELECT MAX(t.fac_tracking_datum) FROM fac_tracking t WHERE t.fac_tracking_refkey = o.mld_opdr_key AND fac_srtnotificatie_key = 74), DECODE (o.mld_statusopdr_key, 6, o.mld_opdr_datumbegin, 7, o.mld_opdr_datumbegin, 9, o.mld_opdr_datumbegin, 1, o.mld_opdr_datumbegin, 2, o.mld_opdr_datumbegin), (SELECT MAX (t.fac_tracking_datum) FROM fac_tracking t WHERE t.fac_tracking_refkey = m.mld_melding_key AND fac_srtnotificatie_key = 46), NULL) datum_gereed,
|
||
m.prs_perslid_key prs_perslid_key,
|
||
m.prs_perslid_key_voor host_key,
|
||
o.mld_opdr_externnr planonnr,
|
||
CASE WHEN m.mld_stdmelding_key IN (301, 721)
|
||
THEN
|
||
'2230.04'
|
||
ELSE
|
||
DECODE (
|
||
md.ins_discipline_key,
|
||
683,
|
||
'2220.04',
|
||
47,
|
||
'2220.04',
|
||
REGEXP_REPLACE (
|
||
REGEXP_SUBSTR (md.ins_discipline_omschrijving,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1),
|
||
'[^0-9.]',
|
||
''))
|
||
END
|
||
nummer,
|
||
CASE WHEN m.mld_stdmelding_key IN (301, 721)
|
||
THEN
|
||
'Evenementenservice'
|
||
ELSE
|
||
DECODE (md.ins_discipline_key,
|
||
72, 'Evenementenservice',
|
||
74, 'Extra bewaking en beveiliging',
|
||
830, 'Extra bewaking en beveiliging',
|
||
1086, 'Extra bewaking en beveiliging',
|
||
683, 'Facilitair medewerker FCC',
|
||
47, 'Facilitair medewerker FCC',
|
||
1084, 'Algemeen (OG)',
|
||
56, 'Algemene ruimten en kantoorgebied',
|
||
126, 'Algemene ruimten en kantoorgebied',
|
||
984,'Algemene ruimten en kantoorgebied',
|
||
1028, 'Algemene ruimten en kantoorgebied',
|
||
1303, 'Algemene ruimten en kantoorgebied',
|
||
990, 'Bewegwijzering',
|
||
1032, 'Bewegwijzering',
|
||
62, 'Bloemen en boeketten op aanvraag',
|
||
992, 'Bloemen en boeketten op aanvraag',
|
||
76, 'Extra schoonmaak structureel en incidenteel',
|
||
994, 'Extra schoonmaak structureel en incidenteel',
|
||
1000, 'Kantoorartikelen buiten standaardassortiment',
|
||
1004, 'Parkeervoorzieningen extern',
|
||
1022, 'Vergaderservice',
|
||
1100, 'Warme dranken en koud water',
|
||
md.ins_discipline_omschrijving)
|
||
END
|
||
categorie,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
categorienummer,
|
||
CASE
|
||
WHEN m.mld_stdmelding_key IN
|
||
(SELECT fac.safe_to_number (
|
||
fac_usrdata_code)
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1281 --Eigen tabel 'FMHN#84446 BTW 0% fact.rapport'
|
||
AND fac_usrdata_verwijder
|
||
IS NULL)
|
||
THEN
|
||
COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1185,
|
||
1186,
|
||
1187,
|
||
1188,
|
||
5121,
|
||
5122,
|
||
445)),
|
||
o.mld_opdr_kosten,
|
||
0)
|
||
ELSE
|
||
DECODE (
|
||
COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
* 1.09
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1185, 1186, 5121)),
|
||
0)
|
||
+ COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
* 1.21
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1187,
|
||
1188,
|
||
5122,
|
||
445)),
|
||
0),
|
||
0, CASE
|
||
WHEN m.mld_alg_locatie_key =
|
||
18
|
||
AND ot.mld_typeopdr_key IN
|
||
(5, 582, 1481)
|
||
AND m.mld_stdmelding_key NOT IN
|
||
(26,
|
||
27,
|
||
475,
|
||
301)
|
||
THEN
|
||
o.mld_opdr_kosten
|
||
* 1.21
|
||
ELSE
|
||
o.mld_opdr_kosten
|
||
END,
|
||
COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
* 1.09
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1185, 1186, 5121)),
|
||
0)
|
||
+ COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
* 1.21
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1187, 1188, 5122)),
|
||
0)
|
||
+ COALESCE (
|
||
(SELECT fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde)
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key =
|
||
445),
|
||
0) -- RBO
|
||
)
|
||
END
|
||
bedrag_incl,
|
||
COALESCE (
|
||
(SELECT SUM (fac.safe_to_number (mk.mld_kenmerkopdr_waarde))
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key = o.mld_opdr_key
|
||
AND mld_kenmerk_key IN (1185, 1186, 1187, 1188, 5121, 5122, 445))
|
||
,o.mld_opdr_kosten, 0) bedrag_excl,
|
||
os.mld_statusopdr_omschrijving status,
|
||
'Melding -m' module,
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1161 --Eigen tabel Facturatierapportage MLD-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
artikel,
|
||
(SELECT COALESCE (
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 781 -- Eigen tabel Diensten Sleutel
|
||
AND fac_usrdata_volgnr =
|
||
sm.mld_stdmelding_key
|
||
AND fac_usrdata_verwijder IS NULL),
|
||
d.ins_discipline_omschrijving)
|
||
FROM mld_melding m1,
|
||
mld_stdmelding sm1,
|
||
ins_tab_discipline d
|
||
WHERE sm1.mld_stdmelding_key =
|
||
m.mld_stdmelding_key
|
||
AND sm1.mld_ins_discipline_key =
|
||
d.ins_discipline_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND m1.mld_melding_key = m.mld_melding_key)
|
||
dienst,
|
||
COALESCE (sm.prs_kostensoort_key, md.prs_kostensoort_key)
|
||
prs_kostensoort_key,
|
||
o.mld_opdr_ordernr ordernr,
|
||
o.mld_opdr_key kostenplaats_item_key,
|
||
-1 kostenplaats_item_child_key,
|
||
m.mld_alg_locatie_key locatie_key,
|
||
'NVT' noshow,
|
||
o.mld_opdr_omschrijving omschrijving,
|
||
DECODE (rrr.res_reservering_key, NULL, NULL,
|
||
TO_CHAR (rrr.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (rrr.res_rsv_ruimte_volgnr)) gekoppelde_res,
|
||
TRUNC(rrr.res_rsv_ruimte_van) datum_gekoppelde_res,
|
||
NULL gekoppelde_obj
|
||
FROM mld_opdr o,
|
||
mld_typeopdr ot,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_statusopdr os,
|
||
res_rsv_ruimte rrr
|
||
WHERE --o.mld_opdr_kosten <> 0
|
||
-- AND o.mld_statusopdr_key IN (5, 6, 7, 8, 9)
|
||
o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||
AND ot.mld_typeopdr_key IN (5, 157, 241, 361, 582, 1481) -- Uitvoeringsopdracht/RBO/Drank- en Snoepautomaat/RVB/Uitvoeringopdracht PC
|
||
AND 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_statusopdr_key = os.mld_statusopdr_key
|
||
AND m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key (+)) mld
|
||
WHERE mld.bedrag_excl <> 0
|
||
UNION ALL --FMHN#74606 Ook bedragen op specifieke meldingen: vakgroep 683 (VOR kaarten)
|
||
SELECT mld.*
|
||
FROM
|
||
(SELECT a.prs_kostenplaats_key prs_kostenplaats_key,
|
||
m.mld_melding_datum
|
||
datum,
|
||
COALESCE (
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND fac_srtnotificatie_key = 45), --MLDAFM
|
||
m.mld_melding_einddatum,
|
||
NULL)
|
||
datum_gereed,
|
||
m.prs_perslid_key
|
||
prs_perslid_key,
|
||
m.prs_perslid_key_voor
|
||
host_key,
|
||
m.mld_meldbron_nr
|
||
planonnr,
|
||
REGEXP_REPLACE (REGEXP_SUBSTR (md.ins_discipline_omschrijving,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1),
|
||
'[^0-9.]',
|
||
'')
|
||
nummer,
|
||
md.ins_discipline_omschrijving
|
||
categorie,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key)
|
||
categorienummer,
|
||
(SELECT SUM (
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_srtkenmerk_key = 221 --Kenmerksoort Bedrag (toegepast bij vakgroep 683)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
bedrag_incl,
|
||
(SELECT SUM (
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_srtkenmerk_key = 221 --Kenmerksoort Bedrag (toegepast bij vakgroep 683)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
bedrag_excl,
|
||
ms.mld_statuses_omschrijving
|
||
status,
|
||
'Melding -m'
|
||
module,
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1141 --Eigen tabel Facturatierapportage VOR-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
artikel,
|
||
(SELECT COALESCE (
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 781 -- Eigen tabel Diensten Sleutel
|
||
AND fac_usrdata_volgnr =
|
||
sm.mld_stdmelding_key
|
||
AND fac_usrdata_verwijder IS NULL),
|
||
d.ins_discipline_omschrijving)
|
||
FROM mld_melding m1,
|
||
mld_stdmelding sm1,
|
||
ins_tab_discipline d
|
||
WHERE sm1.mld_stdmelding_key =
|
||
m.mld_stdmelding_key
|
||
AND sm1.mld_ins_discipline_key =
|
||
d.ins_discipline_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND m1.mld_melding_key = m.mld_melding_key)
|
||
dienst,
|
||
COALESCE (sm.prs_kostensoort_key, md.prs_kostensoort_key)
|
||
prs_kostensoort_key,
|
||
NULL
|
||
ordernr,
|
||
m.mld_melding_key
|
||
kostenplaats_item_key,
|
||
-1
|
||
kostenplaats_item_child_key,
|
||
(SELECT (MAX (fac_usrdata_volgnr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1141 --Eigen tabel Facturatierapportage VOR-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
locatie_key,
|
||
'NVT'
|
||
noshow,
|
||
m.mld_melding_onderwerp omschrijving,
|
||
DECODE (
|
||
rrr.res_reservering_key,
|
||
NULL, NULL,
|
||
TO_CHAR (rrr.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (rrr.res_rsv_ruimte_volgnr))
|
||
gekoppelde_res,
|
||
TRUNC(rrr.res_rsv_ruimte_van) datum_gekoppelde_res,
|
||
o.ins_deel_omschrijving gekoppelde_obj
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_statuses ms,
|
||
res_rsv_ruimte rrr,
|
||
mld_melding_object mo,
|
||
ins_deel o,
|
||
prs_afdeling a
|
||
WHERE 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 sm.mld_ins_discipline_key IN (683) -- Facilitair medewerker FCC - VOR kaarten
|
||
AND m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
|
||
AND mo.mld_melding_key = m.mld_melding_key
|
||
AND o.ins_deel_key = mo.ins_deel_key
|
||
AND mo.mld_melding_object_verwijder IS NULL
|
||
AND o.ins_alg_ruimte_type = 'A'
|
||
AND o.ins_alg_ruimte_key = a.prs_afdeling_key) mld
|
||
WHERE mld.bedrag_excl <> 0
|
||
UNION ALL --FMHN#74606 Ook bedragen op specifieke meldingen: vakgroep 923 (Verzorgen lunch op gedekte tafels)
|
||
SELECT mld.*
|
||
FROM (SELECT COALESCE (
|
||
NULL,
|
||
(SELECT a.prs_kostenplaats_key
|
||
FROM prs_afdeling a, prs_perslid p
|
||
WHERE p.prs_perslid_key = m.prs_perslid_key_voor
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key))
|
||
prs_kostenplaats_key,
|
||
m.mld_melding_datum
|
||
datum,
|
||
COALESCE (
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND fac_srtnotificatie_key = 45), --MLDAFM
|
||
m.mld_melding_einddatum,
|
||
NULL)
|
||
datum_gereed,
|
||
m.prs_perslid_key
|
||
prs_perslid_key,
|
||
m.prs_perslid_key_voor
|
||
host_key,
|
||
m.mld_meldbron_nr
|
||
planonnr,
|
||
REGEXP_REPLACE (REGEXP_SUBSTR (md.ins_discipline_omschrijving,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1),
|
||
'[^0-9.]',
|
||
'')
|
||
nummer,
|
||
md.ins_discipline_omschrijving
|
||
categorie,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key)
|
||
categorienummer,
|
||
(SELECT SUM (
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_srtkenmerk_key = 221 --Kenmerksoort Bedrag (toegepast bij vakgroepen 923 & 683)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
bedrag_incl,
|
||
(SELECT SUM (
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_srtkenmerk_key = 221 --Kenmerksoort Bedrag (toegepast bij vakgroepen 923 & 683)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
bedrag_excl,
|
||
ms.mld_statuses_omschrijving
|
||
status,
|
||
'Melding -m'
|
||
module,
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1161 --Eigen tabel Facturatierapportage MLD-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
artikel,
|
||
(SELECT COALESCE (
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 781 -- Eigen tabel Diensten Sleutel
|
||
AND fac_usrdata_volgnr =
|
||
sm.mld_stdmelding_key
|
||
AND fac_usrdata_verwijder IS NULL),
|
||
d.ins_discipline_omschrijving)
|
||
FROM mld_melding m1,
|
||
mld_stdmelding sm1,
|
||
ins_tab_discipline d
|
||
WHERE sm1.mld_stdmelding_key =
|
||
m.mld_stdmelding_key
|
||
AND sm1.mld_ins_discipline_key =
|
||
d.ins_discipline_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND m1.mld_melding_key = m.mld_melding_key)
|
||
dienst,
|
||
COALESCE (sm.prs_kostensoort_key, md.prs_kostensoort_key)
|
||
prs_kostensoort_key,
|
||
NULL
|
||
ordernr,
|
||
m.mld_melding_key
|
||
kostenplaats_item_key,
|
||
-1
|
||
kostenplaats_item_child_key,
|
||
m.mld_alg_locatie_key
|
||
locatie_key,
|
||
'NVT'
|
||
noshow,
|
||
m.mld_melding_onderwerp omschrijving,
|
||
DECODE (
|
||
rrr.res_reservering_key,
|
||
NULL, NULL,
|
||
TO_CHAR (rrr.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (rrr.res_rsv_ruimte_volgnr))
|
||
gekoppelde_res,
|
||
TRUNC(rrr.res_rsv_ruimte_van) datum_gekoppelde_res,
|
||
(SELECT LISTAGG(o.ins_deel_omschrijving,';')
|
||
FROM mld_melding_object mo, ins_deel o
|
||
WHERE mo.mld_melding_key = m.mld_melding_key
|
||
AND o.ins_deel_key = mo.ins_deel_key
|
||
AND mo.mld_melding_object_verwijder IS NULL)
|
||
gekoppelde_obj
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_statuses ms,
|
||
res_rsv_ruimte rrr
|
||
WHERE 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 sm.mld_ins_discipline_key IN (923) -- Verzorgen van lunches op gedekte tafels (2220.04)
|
||
AND m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)) mld
|
||
WHERE mld.bedrag_excl <> 0
|
||
UNION ALL
|
||
SELECT b.prs_kostenplaats_key,
|
||
bo.bes_bestelopdr_datum datum,
|
||
COALESCE ((SELECT MAX(t.fac_tracking_datum) FROM fac_tracking t WHERE t.fac_tracking_refkey = bo.bes_bestelopdr_key AND fac_srtnotificatie_key = 20), DECODE (bo.bes_bestelopdr_status, 6, bes_bestelopdr_datum, 7, bes_bestelopdr_datum, NULL)) datum_gereed,
|
||
b.prs_perslid_key prs_perslid_key,
|
||
b.prs_perslid_key_voor host_key,
|
||
b.bes_bestelling_opmerking planonnr,
|
||
DECODE (bd.ins_discipline_key,
|
||
21, '2410.03',
|
||
22, '2410.03',
|
||
24, '2220.04',
|
||
26, '1230.02',
|
||
28, '1230.02',
|
||
29, '1230.02',
|
||
30, '1230.02',
|
||
31, '1230.02',
|
||
32, '1230.02',
|
||
'N/B') nummer,
|
||
DECODE (bd.ins_discipline_key,
|
||
21, 'Waardebonnen',
|
||
22, 'Waardebonnen',
|
||
24, 'VOR Kaarten',
|
||
26, 'Parkeervoorzieningen extern',
|
||
28, 'Parkeervoorzieningen extern',
|
||
29, 'Parkeervoorzieningen extern',
|
||
30, 'Parkeervoorzieningen extern',
|
||
31, 'Parkeervoorzieningen extern',
|
||
32, 'Parkeervoorzieningen extern',
|
||
'N/B') categorie,
|
||
TO_CHAR (b.bes_bestelling_key) categorienummer,
|
||
(boi.bes_bestelopdr_item_aantal
|
||
* boi.bes_bestelopdr_item_prijs)
|
||
bedrag_incl,
|
||
(boi.bes_bestelopdr_item_aantal
|
||
* boi.bes_bestelopdr_item_prijs)
|
||
bedrag_excl,
|
||
bos.bes_bestelopdrstatuses_omschr status,
|
||
'Bestelling -b' module,
|
||
CASE --###
|
||
WHEN ma.alg_locatie_key = 18
|
||
THEN
|
||
'040'
|
||
ELSE
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1181 --Eigen tabel Facturatierapportage BES-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND bd.ins_discipline_key = fac_usrdata_prijs)
|
||
END
|
||
artikel,
|
||
COALESCE (
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 801 -- Eigen tabel Diensten Sleutel BES
|
||
AND fac_usrdata_volgnr = bd.ins_discipline_key
|
||
AND fac_usrdata_verwijder IS NULL),
|
||
bd.ins_discipline_omschrijving)
|
||
dienst,
|
||
bd.prs_kostensoort_key,
|
||
b.bes_bestelling_ordernr ordernr,
|
||
b.bes_bestelling_key kostenplaats_item_key,
|
||
-1 kostenplaats_item_child_key,
|
||
ma.alg_locatie_key locatie_key,
|
||
'NVT' noshow,
|
||
'Bestelling' omschrijving,
|
||
NULL gekoppelde_res,
|
||
NULL datum_gekoppelde_res,
|
||
NULL gekoppelde_obj
|
||
FROM bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
bes_bestelling b,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_discipline bd,
|
||
bes_bestelopdrstatuses bos,
|
||
mld_adres ma
|
||
WHERE -- bo.bes_bestelopdr_status IN (4, 6, 7) -- In bestelling/Geleverd/Verwerkt
|
||
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 = bd.ins_discipline_key
|
||
AND ma.mld_adres_key = b.mld_adres_key_lev
|
||
AND bo.bes_bestelopdr_status =
|
||
bos.bes_bestelopdrstatuses_key) tab,
|
||
--fmhn_v_rap_idm_afdboom fa, --FMHN#88941, ook rekening houden met verwijderde afdelingen in afdeling_boom fa:
|
||
(SELECT *
|
||
FROM (SELECT fa.*,
|
||
ROW_NUMBER ()
|
||
OVER (
|
||
PARTITION BY prs_kostenplaats_key
|
||
ORDER BY
|
||
CASE
|
||
WHEN fa.afd_verwijder IS NULL THEN 1
|
||
ELSE 2
|
||
END) AS rn
|
||
FROM fmhn_v_rap_idm_afdboom fa)
|
||
WHERE rn = 1) fa,
|
||
fmhn_v_rap_afd2debnr a2d,
|
||
prs_kostensoort ks,
|
||
prs_kostensoortgrp ksg,
|
||
fmhn_v_perslid_fullnames_history pfa, -- Aanvrager
|
||
fmhn_v_perslid_fullnames_history pfv, -- Voor (= Aanvrager igv. MLD/BES)
|
||
alg_locatie l,
|
||
alg_district d,
|
||
alg_regio r
|
||
WHERE tab.prs_kostenplaats_key = fa.prs_kostenplaats_key(+)
|
||
AND fa.prs_afdeling_key = a2d.prs_afdeling_key(+)
|
||
AND tab.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND ks.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key(+)
|
||
AND tab.prs_perslid_key = pfa.prs_perslid_key(+)
|
||
AND tab.host_key = pfv.prs_perslid_key(+)
|
||
AND tab.locatie_key = l.alg_locatie_key(+)
|
||
AND l.alg_district_key = d.alg_district_key(+)
|
||
AND d.alg_regio_key = r.alg_regio_key(+)
|
||
GROUP BY
|
||
module,
|
||
TRUNC (tab.datum),
|
||
TRUNC (tab.datum_gereed),
|
||
l.alg_locatie_omschrijving,
|
||
pfa.prs_perslid_naam_full,
|
||
DECODE (
|
||
fa.mincode,
|
||
'01',
|
||
(CASE WHEN idmlevel >= 7 THEN REGEXP_SUBSTR (pad, '^[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*') ELSE pad END),
|
||
fa.pad),
|
||
planonnr,
|
||
artikel,
|
||
dienst,
|
||
tab.categorienummer,
|
||
tab.nummer,
|
||
tab.categorie,
|
||
pfv.prs_perslid_naam_full,
|
||
tab.status,
|
||
TO_CHAR (tab.datum_gereed, 'YYYY'),
|
||
TRIM (TO_CHAR (tab.datum_gereed, 'MONTH')),
|
||
COALESCE (SUBSTR (fa.pad, 0, INSTR (fa.pad, '/') - 1), fa.pad),
|
||
a2d.debiteur,
|
||
l.alg_locatie_key,
|
||
fa.pad,
|
||
noshow,
|
||
omschrijving,
|
||
gekoppelde_res,
|
||
datum_gekoppelde_res,
|
||
gekoppelde_obj;
|
||
|
||
-- Facturatie sleutelbestand maar dan met een regel per artikel
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_sleutelbestand_detail
|
||
(
|
||
Module,
|
||
Datum,
|
||
Datum_gereed,
|
||
Gebouw,
|
||
Melder,
|
||
Afdeling,
|
||
Planon_nr,
|
||
Nummer,
|
||
Project_nr,
|
||
PDC_nummer,
|
||
PDC_naam,
|
||
Artikelnr,
|
||
Artikelomschrijving,
|
||
Kosten_incl,
|
||
Kosten_excl,
|
||
Aanvraag_voor,
|
||
Status,
|
||
Jaar,
|
||
Maand,
|
||
Artikel,
|
||
Dienst,
|
||
Departement,
|
||
Debiteur,
|
||
Kostendrager,
|
||
Kostenplaats,
|
||
Noshow,
|
||
Omschrijving,
|
||
Gekoppelde_res,
|
||
Datum_gekoppelde_res,
|
||
Gekoppelde_obj
|
||
)
|
||
AS
|
||
SELECT
|
||
module,
|
||
TRUNC (tab.datum),
|
||
TRUNC (tab.datum_gereed),
|
||
l.alg_locatie_omschrijving,
|
||
pfa.prs_perslid_naam_full aanvrager,
|
||
DECODE (
|
||
fa.mincode,
|
||
'01',
|
||
(CASE WHEN idmlevel >= 7 THEN REGEXP_SUBSTR (pad, '^[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*') ELSE pad END),
|
||
fa.pad) organisatie,
|
||
planonnr,
|
||
tab.categorienummer,
|
||
(SELECT MAX (alg_onrgoedkenmerk_waarde) -- LET OP:Voorkennis dat <20><>n gebouw per locatie!
|
||
FROM alg_gebouw g, alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE g.alg_gebouw_verwijder IS NULL
|
||
AND g.alg_gebouw_key = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1040
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||
projectnummer,
|
||
tab.nummer,
|
||
tab.categorie,
|
||
tab.artikelnr,
|
||
tab.artikeloms,
|
||
SUM (tab.bedrag_incl) bedrag_incl,
|
||
SUM (tab.bedrag_excl) bedrag_excl,
|
||
pfv.prs_perslid_naam_full voor,
|
||
tab.status,
|
||
TO_CHAR (tab.datum_gereed, 'YYYY') jaar,
|
||
TRIM (TO_CHAR (tab.datum_gereed, 'MONTH')) maand,
|
||
artikel, -- Artikelnr uit Exact
|
||
dienst, -- Dienst uit Exact
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1))
|
||
departement,
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1))
|
||
debiteur,
|
||
(SELECT MAX (alg_onrgoedkenmerk_waarde) -- LET OP:Voorkennis dat <20><>n gebouw per locatie!
|
||
FROM alg_gebouw g, alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE g.alg_gebouw_verwijder IS NULL
|
||
AND g.alg_gebouw_key = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1020
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||
kostendrager,
|
||
'600-'
|
||
|| (SELECT MAX (alg_onrgoedkenmerk_waarde) -- LET OP:Voorkennis dat <20><>n gebouw per locatie!
|
||
FROM alg_gebouw g, alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE g.alg_gebouw_verwijder IS NULL
|
||
AND g.alg_gebouw_key = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1020
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||
kostenplaats,
|
||
noshow,
|
||
omschrijving,
|
||
gekoppelde_res,
|
||
datum_gekoppelde_res,
|
||
gekoppelde_obj
|
||
FROM (SELECT COALESCE (prs_kostenplaats_key, (SELECT a.prs_kostenplaats_key FROM prs_afdeling a, prs_perslid p WHERE p.prs_perslid_key = res_rsv_ruimte_host_key AND p.prs_afdeling_key = a.prs_afdeling_key)) prs_kostenplaats_key,
|
||
TRUNC (f.res_rsv_artikel_levering) datum,
|
||
COALESCE (f.res_rsv_artikel_afgemeld, DECODE (f.status, 'Afgemeld', f.res_rsv_artikel_levering, 'Verwerkt', f.res_rsv_artikel_levering, NULL)) datum_gereed,
|
||
f.res_rsv_ruimte_contact_key prs_perslid_key,
|
||
f.res_rsv_ruimte_host_key host_key,
|
||
f.planonnr,
|
||
f.productdienstnr nummer,
|
||
f.productdienstnaam categorie,
|
||
TO_CHAR (f.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (f.res_rsv_ruimte_volgnr)
|
||
categorienummer,
|
||
r.res_artikel_nr artikelnr,
|
||
r.res_artikel_omschrijving artikeloms,
|
||
CASE
|
||
WHEN f.alg_locatie_key IN (4, 7, 8, 13, 16, 20) -- Livegang 2 was nog met bedragen INCL. BTW voor conversie artikelen
|
||
THEN
|
||
DECODE (f.res_artikel_key,
|
||
501, f.res_rsv_artikel_prijs,
|
||
561, f.res_rsv_artikel_prijs,
|
||
562, f.res_rsv_artikel_prijs,
|
||
563, f.res_rsv_artikel_prijs,
|
||
f.kosten_excl * f.btw)
|
||
ELSE
|
||
DECODE (f.res_artikel_key,
|
||
501, f.res_rsv_artikel_prijs,
|
||
f.kosten_excl * f.btw)
|
||
END bedrag_incl,
|
||
CASE
|
||
WHEN f.alg_locatie_key IN (4, 7, 8, 13, 16, 20) -- Livegang 2 was nog met bedragen INCL. BTW voor conversie artikelen
|
||
THEN
|
||
DECODE (f.res_artikel_key,
|
||
501, f.res_rsv_artikel_prijs / f.btw,
|
||
561, f.res_rsv_artikel_prijs / f.btw,
|
||
562, f.res_rsv_artikel_prijs / f.btw,
|
||
563, f.res_rsv_artikel_prijs / f.btw,
|
||
f.kosten_excl)
|
||
ELSE
|
||
DECODE (f.res_artikel_key,
|
||
501, f.res_rsv_artikel_prijs / f.btw,
|
||
f.kosten_excl)
|
||
END bedrag_excl,
|
||
f.status,
|
||
'Reservering -r' module,
|
||
CASE
|
||
WHEN alg_locatie_key = 18
|
||
THEN '040'
|
||
ELSE '602'
|
||
END artikel,
|
||
'2230.01 Vergaderservice' dienst,
|
||
f.prs_kostensoort_key,
|
||
NULL ordernr,
|
||
f.res_reservering_key kostenplaats_item_key,
|
||
f.res_rsv_ruimte_key kostenplaats_item_child_key,
|
||
f.alg_locatie_key locatie_key,
|
||
f.noshow,
|
||
omschrijving,
|
||
NULL gekoppelde_res,
|
||
NULL datum_gekoppelde_res,
|
||
NULL gekoppelde_obj
|
||
FROM fmhn_v_rap_res_cat_all f, res_artikel r
|
||
WHERE COALESCE (f.res_rsv_artikel_prijs, kosten_excl) <> 0
|
||
AND f.res_artikel_key = r.res_artikel_key
|
||
UNION ALL
|
||
SELECT mld.*
|
||
FROM
|
||
(SELECT COALESCE (o.prs_kostenplaats_key, (SELECT a.prs_kostenplaats_key FROM prs_afdeling a, prs_perslid p WHERE p.prs_perslid_key = m.prs_perslid_key_voor AND p.prs_afdeling_key = a.prs_afdeling_key)) prs_kostenplaats_key,
|
||
o.mld_opdr_datumbegin datum,
|
||
COALESCE ((SELECT MAX(t.fac_tracking_datum) FROM fac_tracking t WHERE t.fac_tracking_refkey = o.mld_opdr_key AND fac_srtnotificatie_key = 74), DECODE (o.mld_statusopdr_key, 6, o.mld_opdr_datumbegin, 7, o.mld_opdr_datumbegin, 9, o.mld_opdr_datumbegin, 1, o.mld_opdr_datumbegin, 2, o.mld_opdr_datumbegin), (SELECT MAX (t.fac_tracking_datum) FROM fac_tracking t WHERE t.fac_tracking_refkey = m.mld_melding_key AND fac_srtnotificatie_key = 46), NULL) datum_gereed,
|
||
m.prs_perslid_key prs_perslid_key,
|
||
m.prs_perslid_key_voor host_key,
|
||
o.mld_opdr_externnr planonnr,
|
||
CASE WHEN m.mld_stdmelding_key IN (301, 721)
|
||
THEN
|
||
'2230.04'
|
||
ELSE
|
||
DECODE (
|
||
md.ins_discipline_key,
|
||
683,
|
||
'2220.04',
|
||
47,
|
||
'2220.04',
|
||
REGEXP_REPLACE (
|
||
REGEXP_SUBSTR (md.ins_discipline_omschrijving,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1),
|
||
'[^0-9.]',
|
||
''))
|
||
END
|
||
nummer,
|
||
CASE WHEN m.mld_stdmelding_key IN (301, 721)
|
||
THEN
|
||
'Evenementenservice'
|
||
ELSE
|
||
DECODE (md.ins_discipline_key,
|
||
72, 'Evenementenservice',
|
||
74, 'Extra bewaking en beveiliging',
|
||
830, 'Extra bewaking en beveiliging',
|
||
1086, 'Extra bewaking en beveiliging',
|
||
683, 'Facilitair medewerker FCC',
|
||
47, 'Facilitair medewerker FCC',
|
||
1084, 'Algemeen (OG)',
|
||
56, 'Algemene ruimten en kantoorgebied',
|
||
126, 'Algemene ruimten en kantoorgebied',
|
||
984,'Algemene ruimten en kantoorgebied',
|
||
1028, 'Algemene ruimten en kantoorgebied',
|
||
1303, 'Algemene ruimten en kantoorgebied',
|
||
990, 'Bewegwijzering',
|
||
1032, 'Bewegwijzering',
|
||
62, 'Bloemen en boeketten op aanvraag',
|
||
992, 'Bloemen en boeketten op aanvraag',
|
||
76, 'Extra schoonmaak structureel en incidenteel',
|
||
994, 'Extra schoonmaak structureel en incidenteel',
|
||
1000, 'Kantoorartikelen buiten standaardassortiment',
|
||
1004, 'Parkeervoorzieningen extern',
|
||
1022, 'Vergaderservice',
|
||
1100, 'Warme dranken en koud water',
|
||
md.ins_discipline_omschrijving)
|
||
END
|
||
categorie,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
categorienummer,
|
||
'NVT' artikelnr,
|
||
'NVT' artikeloms,
|
||
CASE
|
||
WHEN m.mld_stdmelding_key IN
|
||
(SELECT fac.safe_to_number (
|
||
fac_usrdata_code)
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1281 --Eigen tabel 'FMHN#84446 BTW 0% fact.rapport'
|
||
AND fac_usrdata_verwijder
|
||
IS NULL)
|
||
THEN
|
||
COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1185,
|
||
1186,
|
||
1187,
|
||
1188,
|
||
5121,
|
||
5122,
|
||
445)),
|
||
o.mld_opdr_kosten,
|
||
0)
|
||
ELSE
|
||
DECODE (
|
||
COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
* 1.09
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1185, 1186, 5121)),
|
||
0)
|
||
+ COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
* 1.21
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1187,
|
||
1188,
|
||
5122,
|
||
445)),
|
||
0),
|
||
0, CASE
|
||
WHEN m.mld_alg_locatie_key =
|
||
18
|
||
AND ot.mld_typeopdr_key IN
|
||
(5, 582, 1481)
|
||
AND m.mld_stdmelding_key NOT IN
|
||
(26,
|
||
27,
|
||
475,
|
||
301)
|
||
THEN
|
||
o.mld_opdr_kosten
|
||
* 1.21
|
||
ELSE
|
||
o.mld_opdr_kosten
|
||
END,
|
||
COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
* 1.09
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1185, 1186, 5121)),
|
||
0)
|
||
+ COALESCE (
|
||
(SELECT SUM (
|
||
fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde))
|
||
* 1.21
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key IN
|
||
(1187, 1188, 5122)),
|
||
0)
|
||
+ COALESCE (
|
||
(SELECT fac.safe_to_number (
|
||
mk.mld_kenmerkopdr_waarde)
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key =
|
||
o.mld_opdr_key
|
||
AND mld_kenmerk_key =
|
||
445),
|
||
0) -- RBO
|
||
)
|
||
END
|
||
bedrag_incl,
|
||
COALESCE (
|
||
(SELECT SUM (fac.safe_to_number (mk.mld_kenmerkopdr_waarde))
|
||
FROM mld_kenmerkopdr mk
|
||
WHERE mk.mld_opdr_key = o.mld_opdr_key
|
||
AND mld_kenmerk_key IN (1185, 1186, 1187, 1188, 5121, 5122, 455))
|
||
,o.mld_opdr_kosten, 0) bedrag_excl,
|
||
os.mld_statusopdr_omschrijving status,
|
||
'Melding -m' module,
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1161 --Eigen tabel Facturatierapportage MLD-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
artikel,
|
||
(SELECT COALESCE (
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 781 -- Eigen tabel Diensten Sleutel
|
||
AND fac_usrdata_volgnr =
|
||
sm.mld_stdmelding_key
|
||
AND fac_usrdata_verwijder IS NULL),
|
||
d.ins_discipline_omschrijving)
|
||
FROM mld_melding m1,
|
||
mld_stdmelding sm1,
|
||
ins_tab_discipline d
|
||
WHERE sm1.mld_stdmelding_key =
|
||
m.mld_stdmelding_key
|
||
AND sm1.mld_ins_discipline_key =
|
||
d.ins_discipline_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND m1.mld_melding_key = m.mld_melding_key)
|
||
dienst,
|
||
COALESCE (sm.prs_kostensoort_key, md.prs_kostensoort_key)
|
||
prs_kostensoort_key,
|
||
o.mld_opdr_ordernr ordernr,
|
||
o.mld_opdr_key kostenplaats_item_key,
|
||
-1 kostenplaats_item_child_key,
|
||
m.mld_alg_locatie_key locatie_key,
|
||
'NVT' noshow,
|
||
o.mld_opdr_omschrijving omschrijving,
|
||
DECODE (rrr.res_reservering_key, NULL, NULL,
|
||
TO_CHAR (rrr.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (rrr.res_rsv_ruimte_volgnr)) gekoppelde_res,
|
||
TRUNC(rrr.res_rsv_ruimte_van) datum_gekoppelde_res,
|
||
NULL gekoppelde_obj
|
||
FROM mld_opdr o,
|
||
mld_typeopdr ot,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_statusopdr os,
|
||
res_rsv_ruimte rrr
|
||
WHERE -- o.mld_opdr_kosten <> 0
|
||
-- AND o.mld_statusopdr_key IN (5, 6, 7, 8, 9)
|
||
o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||
AND ot.mld_typeopdr_key IN (5, 157, 241, 361, 582, 1481) -- Uitvoeringsopdracht/RBO/Drank- en Snoepautomaat/RVB/Uitvoeringopdracht PC
|
||
AND 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_statusopdr_key = os.mld_statusopdr_key
|
||
AND m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key (+)) mld
|
||
WHERE mld.bedrag_excl <> 0
|
||
UNION ALL --FMHN#74606 Ook bedragen op specifieke meldingen: vakgroep 683 (VOR kaarten)
|
||
SELECT mld.*
|
||
FROM (SELECT
|
||
a.prs_kostenplaats_key,
|
||
m.mld_melding_datum
|
||
datum,
|
||
COALESCE (
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND fac_srtnotificatie_key = 45), --MLDAFM
|
||
m.mld_melding_einddatum,
|
||
NULL)
|
||
datum_gereed,
|
||
m.prs_perslid_key
|
||
prs_perslid_key,
|
||
m.prs_perslid_key_voor
|
||
host_key,
|
||
m.mld_meldbron_nr
|
||
planonnr,
|
||
REGEXP_REPLACE (REGEXP_SUBSTR (md.ins_discipline_omschrijving,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1),
|
||
'[^0-9.]',
|
||
'')
|
||
nummer,
|
||
md.ins_discipline_omschrijving
|
||
categorie,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key)
|
||
categorienummer,
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1141 --Eigen tabel Facturatierapportage VOR-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
artikelnr,
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1141 --Eigen tabel Facturatierapportage VOR-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
artikeloms,
|
||
(SELECT SUM (
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_srtkenmerk_key = 221 --Kenmerksoort Bedrag (toegepast bij vakgroep 683)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
bedrag_incl,
|
||
(SELECT SUM (
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_srtkenmerk_key = 221 --Kenmerksoort Bedrag (toegepast bij vakgroep 683)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
bedrag_excl,
|
||
ms.mld_statuses_omschrijving
|
||
status,
|
||
'Melding -m'
|
||
module,
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1141 --Eigen tabel Facturatierapportage VOR-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
artikel,
|
||
(SELECT COALESCE (
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 781 -- Eigen tabel Diensten Sleutel
|
||
AND fac_usrdata_volgnr =
|
||
sm.mld_stdmelding_key
|
||
AND fac_usrdata_verwijder IS NULL),
|
||
d.ins_discipline_omschrijving)
|
||
FROM mld_melding m1,
|
||
mld_stdmelding sm1,
|
||
ins_tab_discipline d
|
||
WHERE sm1.mld_stdmelding_key =
|
||
m.mld_stdmelding_key
|
||
AND sm1.mld_ins_discipline_key =
|
||
d.ins_discipline_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND m1.mld_melding_key = m.mld_melding_key)
|
||
dienst,
|
||
COALESCE (sm.prs_kostensoort_key, md.prs_kostensoort_key)
|
||
prs_kostensoort_key,
|
||
NULL
|
||
ordernr,
|
||
m.mld_melding_key
|
||
kostenplaats_item_key,
|
||
-1
|
||
kostenplaats_item_child_key,
|
||
(SELECT (MAX (fac_usrdata_volgnr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1141 --Eigen tabel Facturatierapportage VOR-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
locatie_key,
|
||
'NVT'
|
||
noshow,
|
||
m.mld_melding_onderwerp omschrijving,
|
||
DECODE (
|
||
rrr.res_reservering_key,
|
||
NULL, NULL,
|
||
TO_CHAR (rrr.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (rrr.res_rsv_ruimte_volgnr))
|
||
gekoppelde_res,
|
||
TRUNC(rrr.res_rsv_ruimte_van) datum_gekoppelde_res,
|
||
o.ins_deel_omschrijving gekoppelde_obj
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_statuses ms,
|
||
res_rsv_ruimte rrr,
|
||
mld_melding_object mo,
|
||
ins_deel o,
|
||
prs_afdeling a
|
||
WHERE 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 sm.mld_ins_discipline_key IN (683) -- Facilitair medewerker FCC - VOR kaarten
|
||
AND m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
|
||
AND mo.mld_melding_key = m.mld_melding_key
|
||
AND o.ins_deel_key = mo.ins_deel_key
|
||
AND mo.mld_melding_object_verwijder IS NULL
|
||
AND o.ins_alg_ruimte_type = 'A'
|
||
AND o.ins_alg_ruimte_key = a.prs_afdeling_key) mld
|
||
WHERE mld.bedrag_excl <> 0
|
||
UNION ALL --FMHN#74606 Ook bedragen op specifieke meldingen: vakgroepen 923 (Verzorgen lunch op gedekte tafels)
|
||
SELECT mld.*
|
||
FROM (SELECT COALESCE (
|
||
NULL,
|
||
(SELECT a.prs_kostenplaats_key
|
||
FROM prs_afdeling a, prs_perslid p
|
||
WHERE p.prs_perslid_key = m.prs_perslid_key_voor
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key))
|
||
prs_kostenplaats_key,
|
||
m.mld_melding_datum
|
||
datum,
|
||
COALESCE (
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND fac_srtnotificatie_key = 45), --MLDAFM
|
||
m.mld_melding_einddatum,
|
||
NULL)
|
||
datum_gereed,
|
||
m.prs_perslid_key
|
||
prs_perslid_key,
|
||
m.prs_perslid_key_voor
|
||
host_key,
|
||
m.mld_meldbron_nr
|
||
planonnr,
|
||
REGEXP_REPLACE (REGEXP_SUBSTR (md.ins_discipline_omschrijving,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1),
|
||
'[^0-9.]',
|
||
'')
|
||
nummer,
|
||
md.ins_discipline_omschrijving
|
||
categorie,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key)
|
||
categorienummer,
|
||
'NVT' artikelnr,
|
||
'NVT' artikeloms,
|
||
(SELECT SUM (
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_srtkenmerk_key = 221 --Kenmerksoort Bedrag (toegepast bij vakgroepen 923)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
bedrag_incl,
|
||
(SELECT SUM (
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_srtkenmerk_key = 221 --Kenmerksoort Bedrag (toegepast bij vakgroepen 923)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
bedrag_excl,
|
||
ms.mld_statuses_omschrijving
|
||
status,
|
||
'Melding -m'
|
||
module,
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1161 --Eigen tabel Facturatierapportage MLD-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND m.mld_stdmelding_key =
|
||
fac_usrdata_prijs)
|
||
artikel,
|
||
(SELECT COALESCE (
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 781 -- Eigen tabel Diensten Sleutel
|
||
AND fac_usrdata_volgnr =
|
||
sm.mld_stdmelding_key
|
||
AND fac_usrdata_verwijder IS NULL),
|
||
d.ins_discipline_omschrijving)
|
||
FROM mld_melding m1,
|
||
mld_stdmelding sm1,
|
||
ins_tab_discipline d
|
||
WHERE sm1.mld_stdmelding_key =
|
||
m.mld_stdmelding_key
|
||
AND sm1.mld_ins_discipline_key =
|
||
d.ins_discipline_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND m1.mld_melding_key = m.mld_melding_key)
|
||
dienst,
|
||
COALESCE (sm.prs_kostensoort_key, md.prs_kostensoort_key)
|
||
prs_kostensoort_key,
|
||
NULL
|
||
ordernr,
|
||
m.mld_melding_key
|
||
kostenplaats_item_key,
|
||
-1
|
||
kostenplaats_item_child_key,
|
||
m.mld_alg_locatie_key
|
||
locatie_key,
|
||
'NVT'
|
||
noshow,
|
||
m.mld_melding_onderwerp omschrijving,
|
||
DECODE (
|
||
rrr.res_reservering_key,
|
||
NULL, NULL,
|
||
TO_CHAR (rrr.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (rrr.res_rsv_ruimte_volgnr))
|
||
gekoppelde_res,
|
||
TRUNC(rrr.res_rsv_ruimte_van) datum_gekoppelde_res,
|
||
(SELECT LISTAGG(o.ins_deel_omschrijving,';')
|
||
FROM mld_melding_object mo, ins_deel o
|
||
WHERE mo.mld_melding_key = m.mld_melding_key
|
||
AND o.ins_deel_key = mo.ins_deel_key
|
||
AND mo.mld_melding_object_verwijder IS NULL)
|
||
gekoppelde_obj
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_statuses ms,
|
||
res_rsv_ruimte rrr
|
||
WHERE 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 sm.mld_ins_discipline_key IN (923) -- Verzorgen van lunches op gedekte tafels (2220.04)
|
||
AND m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)) mld
|
||
WHERE mld.bedrag_excl <> 0
|
||
UNION ALL
|
||
SELECT b.prs_kostenplaats_key,
|
||
bo.bes_bestelopdr_datum datum,
|
||
COALESCE ((SELECT MAX(t.fac_tracking_datum) FROM fac_tracking t WHERE t.fac_tracking_refkey = bo.bes_bestelopdr_key AND fac_srtnotificatie_key = 20), DECODE (bo.bes_bestelopdr_status, 6, bes_bestelopdr_datum, 7, bes_bestelopdr_datum, NULL)) datum_gereed,
|
||
b.prs_perslid_key prs_perslid_key,
|
||
b.prs_perslid_key_voor host_key,
|
||
b.bes_bestelling_opmerking planonnr,
|
||
DECODE (bd.ins_discipline_key,
|
||
21, '2410.03',
|
||
22, '2410.03',
|
||
24, '2220.04',
|
||
26, '1230.02',
|
||
28, '1230.02',
|
||
29, '1230.02',
|
||
30, '1230.02',
|
||
31, '1230.02',
|
||
32, '1230.02',
|
||
'N/B') nummer,
|
||
DECODE (bd.ins_discipline_key,
|
||
21, 'Waardebonnen',
|
||
22, 'Waardebonnen',
|
||
24, 'VOR Kaarten',
|
||
26, 'Parkeervoorzieningen extern',
|
||
28, 'Parkeervoorzieningen extern',
|
||
29, 'Parkeervoorzieningen extern',
|
||
30, 'Parkeervoorzieningen extern',
|
||
31, 'Parkeervoorzieningen extern',
|
||
32, 'Parkeervoorzieningen extern',
|
||
'N/B') categorie,
|
||
TO_CHAR (b.bes_bestelling_key) categorienummer,
|
||
'NVT' artikelnr,
|
||
boi.bes_bestelopdr_item_omschrijv artikeloms,
|
||
(boi.bes_bestelopdr_item_aantal
|
||
* boi.bes_bestelopdr_item_prijs)
|
||
bedrag_incl,
|
||
(boi.bes_bestelopdr_item_aantal
|
||
* boi.bes_bestelopdr_item_prijs)
|
||
bedrag_excl,
|
||
bos.bes_bestelopdrstatuses_omschr status,
|
||
'Bestelling -b' module,
|
||
CASE --###
|
||
WHEN ma.alg_locatie_key = 18
|
||
THEN
|
||
'040'
|
||
ELSE
|
||
(SELECT (MAX (fac_usrdata_omschr))
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1181 --Eigen tabel Facturatierapportage BES-kaart
|
||
AND fac_usrdata_verwijder IS NULL
|
||
AND bd.ins_discipline_key = fac_usrdata_prijs)
|
||
END
|
||
artikel,
|
||
COALESCE (
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 801 -- Eigen tabel Diensten Sleutel BES
|
||
AND fac_usrdata_volgnr = bd.ins_discipline_key
|
||
AND fac_usrdata_verwijder IS NULL),
|
||
bd.ins_discipline_omschrijving)
|
||
dienst,
|
||
bd.prs_kostensoort_key,
|
||
b.bes_bestelling_ordernr ordernr,
|
||
b.bes_bestelling_key kostenplaats_item_key,
|
||
-1 kostenplaats_item_child_key,
|
||
ma.alg_locatie_key locatie_key,
|
||
'NVT' noshow,
|
||
'Bestelling' omschrijving,
|
||
NULL gekoppelde_res,
|
||
NULL datum_gekoppelde_res,
|
||
NULL gekoppelde_obj
|
||
FROM bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
bes_bestelling b,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_discipline bd,
|
||
bes_bestelopdrstatuses bos,
|
||
mld_adres ma
|
||
WHERE -- bo.bes_bestelopdr_status IN (4, 6, 7) -- In bestelling/Geleverd/Verwerkt
|
||
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 = bd.ins_discipline_key
|
||
AND ma.mld_adres_key = b.mld_adres_key_lev
|
||
AND bo.bes_bestelopdr_status =
|
||
bos.bes_bestelopdrstatuses_key) tab,
|
||
--fmhn_v_rap_idm_afdboom fa, --FMHN#88941, ook rekening houden met verwijderde afdelingen in afdeling_boom fa:
|
||
(SELECT *
|
||
FROM (SELECT fa.*,
|
||
ROW_NUMBER ()
|
||
OVER (
|
||
PARTITION BY prs_kostenplaats_key
|
||
ORDER BY
|
||
CASE
|
||
WHEN fa.afd_verwijder IS NULL THEN 1
|
||
ELSE 2
|
||
END) AS rn
|
||
FROM fmhn_v_rap_idm_afdboom fa)
|
||
WHERE rn = 1) fa,
|
||
fmhn_v_rap_afd2debnr a2d,
|
||
prs_kostensoort ks,
|
||
prs_kostensoortgrp ksg,
|
||
fmhn_v_perslid_fullnames_history pfa, -- Aanvrager
|
||
fmhn_v_perslid_fullnames_history pfv, -- Voor (= Aanvrager igv. MLD/BES)
|
||
alg_locatie l,
|
||
alg_district d,
|
||
alg_regio r
|
||
WHERE tab.prs_kostenplaats_key = fa.prs_kostenplaats_key(+)
|
||
AND fa.prs_afdeling_key = a2d.prs_afdeling_key(+)
|
||
AND tab.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND ks.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key(+)
|
||
AND tab.prs_perslid_key = pfa.prs_perslid_key(+)
|
||
AND tab.host_key = pfv.prs_perslid_key(+)
|
||
AND tab.locatie_key = l.alg_locatie_key(+)
|
||
AND l.alg_district_key = d.alg_district_key(+)
|
||
AND d.alg_regio_key = r.alg_regio_key(+)
|
||
GROUP BY
|
||
module,
|
||
TRUNC (tab.datum),
|
||
TRUNC (tab.datum_gereed),
|
||
l.alg_locatie_omschrijving,
|
||
pfa.prs_perslid_naam_full,
|
||
DECODE (
|
||
fa.mincode,
|
||
'01',
|
||
(CASE WHEN idmlevel >= 7 THEN REGEXP_SUBSTR (pad, '^[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*') ELSE pad END),
|
||
fa.pad),
|
||
tab.artikelnr,
|
||
tab.artikeloms,
|
||
planonnr,
|
||
artikel,
|
||
dienst,
|
||
tab.categorienummer,
|
||
tab.nummer,
|
||
tab.categorie,
|
||
pfv.prs_perslid_naam_full,
|
||
tab.status,
|
||
TO_CHAR (tab.datum_gereed, 'YYYY'),
|
||
TRIM (TO_CHAR (tab.datum_gereed, 'MONTH')),
|
||
COALESCE (SUBSTR (fa.pad, 0, INSTR (fa.pad, '/') - 1), fa.pad),
|
||
a2d.debiteur,
|
||
l.alg_locatie_key,
|
||
fa.pad,
|
||
noshow,
|
||
omschrijving,
|
||
gekoppelde_res,
|
||
datum_gekoppelde_res,
|
||
gekoppelde_obj;
|
||
|
||
--View tbv rapportage van passieve KTO
|
||
CREATE OR REPLACE VIEW fmhn_v_like_antwoorden
|
||
(
|
||
module,
|
||
aanvrager,
|
||
begunstigde,
|
||
key,
|
||
nummer,
|
||
cijfer,
|
||
opmerking,
|
||
disc_key,
|
||
vakgroep,
|
||
locatie_key,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
datum
|
||
)
|
||
AS
|
||
SELECT 'Melding',
|
||
mkto.prs_perslid_key,
|
||
mkto.prs_perslid_key_voor,
|
||
mkto.mld_melding_key,
|
||
TO_CHAR (mkto.mld_melding_key),
|
||
mkto.mld_melding_satisfaction,
|
||
mkto.mld_melding_satisfaction_op,
|
||
mkto.mld_ins_discipline_key,
|
||
disc.ins_discipline_omschrijving,
|
||
mkto.mld_alg_locatie_key,
|
||
alg.alg_locatie_code,
|
||
alg.alg_locatie_omschrijving,
|
||
TRUNC (mld_melding_datum)
|
||
FROM mld_melding mkto, ins_tab_discipline disc, alg_locatie alg
|
||
WHERE disc.ins_discipline_key = mkto.mld_ins_discipline_key
|
||
AND alg.alg_locatie_key = mkto.mld_alg_locatie_key
|
||
UNION ALL
|
||
SELECT 'Reservering',
|
||
rkto.res_rsv_ruimte_contact_key,
|
||
rkto.res_rsv_ruimte_host_key,
|
||
rkto.res_rsv_ruimte_key,
|
||
rkto.res_reservering_key || '/' || rkto.res_rsv_ruimte_volgnr,
|
||
rkto.res_rsv_ruimte_satisfaction,
|
||
rkto.res_rsv_ruimte_satisfaction_op,
|
||
disc.ins_discipline_key,
|
||
disc.ins_discipline_omschrijving,
|
||
res.fclt_3d_locatie_key,
|
||
res.locatie,
|
||
res.locatie_omschrijving,
|
||
TRUNC (res_rsv_ruimte_van)
|
||
FROM res_rsv_ruimte rkto,
|
||
res_v_udr_reservering res,
|
||
ins_tab_discipline disc
|
||
WHERE rkto.res_rsv_ruimte_key = res.key
|
||
AND disc.ins_discipline_key = res.catalogus_key
|
||
UNION ALL
|
||
SELECT 'Bestelling',
|
||
bkto.prs_perslid_key,
|
||
bkto.prs_perslid_key_voor,
|
||
bkto.bes_bestelling_key,
|
||
TO_CHAR (bkto.bes_bestelling_key),
|
||
bkto.bes_bestelling_satisfaction,
|
||
bkto.bes_bestelling_satisfaction_op,
|
||
disc.ins_discipline_key,
|
||
disc.ins_discipline_omschrijving,
|
||
alg.alg_locatie_key,
|
||
alg.alg_locatie_code,
|
||
alg.alg_locatie_omschrijving,
|
||
TRUNC (bes_bestelling_datum)
|
||
FROM bes_bestelling bkto,
|
||
bes_bestelling_item bi,
|
||
bes_srtdeel bsd,
|
||
bes_srtgroep bsg,
|
||
ins_tab_discipline disc,
|
||
mld_adres a,
|
||
alg_locatie alg
|
||
WHERE bkto.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bi.bes_srtdeel_key = bsd.bes_srtdeel_key
|
||
AND bsd.bes_srtgroep_key = bsg.bes_srtgroep_key
|
||
AND bsg.ins_discipline_key = disc.ins_discipline_key
|
||
AND bkto.mld_adres_key_lev = a.mld_adres_key
|
||
AND a.alg_locatie_key = alg.alg_locatie_key
|
||
GROUP BY bkto.prs_perslid_key,
|
||
bkto.prs_perslid_key_voor,
|
||
bkto.bes_bestelling_key,
|
||
TO_CHAR (bkto.bes_bestelling_key),
|
||
bkto.bes_bestelling_satisfaction,
|
||
bkto.bes_bestelling_satisfaction_op,
|
||
disc.ins_discipline_key,
|
||
disc.ins_discipline_omschrijving,
|
||
alg.alg_locatie_key,
|
||
alg.alg_locatie_code,
|
||
alg.alg_locatie_omschrijving,
|
||
TRUNC (bes_bestelling_datum);
|
||
|
||
--View tbv rapportage van passieve KTO
|
||
CREATE OR REPLACE VIEW fmhn_v_kto_passief
|
||
(
|
||
locatie_key,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
ministerie,
|
||
begunstigde,
|
||
aanvrager,
|
||
cijfer,
|
||
opmerking,
|
||
module,
|
||
nummer,
|
||
disc_key,
|
||
vakgroep,
|
||
datum,
|
||
jaar,
|
||
kwartaal,
|
||
maand
|
||
)
|
||
AS
|
||
SELECT locatie_key,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
b.prs_bedrijf_naam,
|
||
p_voor.prs_perslid_naam_friendly,
|
||
p_door.prs_perslid_naam_friendly,
|
||
fac.safe_to_number(cijfer),
|
||
opmerking,
|
||
module,
|
||
nummer,
|
||
disc_key,
|
||
vakgroep,
|
||
datum,
|
||
fac.safe_to_number (TO_CHAR (datum, 'YYYY')),
|
||
fac.safe_to_number (TO_CHAR (datum, 'Q')),
|
||
fac.safe_to_number (TO_CHAR (datum, 'MM'))
|
||
FROM fmhn_v_like_antwoorden,
|
||
prs_perslid p,
|
||
prs_v_aanwezigafdeling_boom pa,
|
||
prs_bedrijf b,
|
||
prs_v_perslid_fullnames_all p_voor,
|
||
prs_v_perslid_fullnames_all p_door
|
||
WHERE p.prs_perslid_key = fmhn_v_like_antwoorden.begunstigde
|
||
AND p.prs_afdeling_key = pa.prs_afdeling_key
|
||
AND pa.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND p.prs_perslid_key = p_voor.prs_perslid_key
|
||
AND fmhn_v_like_antwoorden.aanvrager = p_door.prs_perslid_key;
|
||
|
||
--View tbv rapportage van actieve KTO
|
||
CREATE OR REPLACE VIEW fmhn_v_kto_actief
|
||
(
|
||
locatie_key,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
ministerie,
|
||
begunstigde,
|
||
aanvrager,
|
||
vraag,
|
||
cijfer,
|
||
opmerking,
|
||
module,
|
||
nummer,
|
||
melding_key,
|
||
disc_key,
|
||
vakgroep,
|
||
datum,
|
||
jaar,
|
||
kwartaal,
|
||
maand
|
||
)
|
||
AS
|
||
SELECT l.alg_locatie_key,
|
||
l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
b.prs_bedrijf_naam,
|
||
p_voor.prs_perslid_naam_friendly,
|
||
p_door.prs_perslid_naam_friendly,
|
||
antwoorden.vraag,
|
||
fac.safe_to_number(antwoorden.cijfer),
|
||
antwoorden.toelichting,
|
||
'Melding',
|
||
m.mld_melding_kto_key,
|
||
m.mld_melding_key,
|
||
disc_kto.ins_discipline_key,
|
||
disc_kto.ins_discipline_omschrijving,
|
||
kto.mld_melding_datum,
|
||
fac.safe_to_number (TO_CHAR (kto.mld_melding_datum, 'YYYY')),
|
||
fac.safe_to_number (TO_CHAR (kto.mld_melding_datum, 'Q')),
|
||
fac.safe_to_number (TO_CHAR (kto.mld_melding_datum, 'MM'))
|
||
FROM mld_melding m,
|
||
mld_melding kto,
|
||
mld_stdmelding sm,
|
||
mld_stdmelding sm_kto,
|
||
ins_tab_discipline disc,
|
||
ins_tab_discipline disc_kto,
|
||
prs_perslid p,
|
||
prs_v_aanwezigafdeling_boom pa,
|
||
prs_bedrijf b,
|
||
prs_v_perslid_fullnames_all p_voor,
|
||
prs_v_perslid_fullnames_all p_door,
|
||
alg_locatie l,
|
||
(SELECT groep.mld_melding_key,
|
||
vraag.mld_kenmerk_omschrijving AS vraag,
|
||
groep.cijfer,
|
||
(SELECT DISTINCT (opm_kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding opm_kmm
|
||
WHERE opm_kmm.mld_kenmerk_key = opm.mld_kenmerk_key
|
||
AND opm_kmm.mld_melding_key = groep.mld_melding_key
|
||
AND opm_kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
AS toelichting
|
||
FROM mld_kenmerk vraag,
|
||
mld_srtkenmerk vraag_k,
|
||
mld_kenmerk opm,
|
||
mld_srtkenmerk opm_k,
|
||
( SELECT kto.mld_melding_key,
|
||
km.mld_stdmelding_key,
|
||
km.mld_kenmerk_groep,
|
||
ud.fac_usrdata_code AS cijfer
|
||
FROM mld_melding kto,
|
||
mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk skm,
|
||
fac_usrdata ud
|
||
WHERE kto.mld_melding_key = kmm.mld_melding_key
|
||
AND kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = skm.mld_srtkenmerk_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND TO_CHAR (ud.fac_usrdata_key) =
|
||
kmm.mld_kenmerkmelding_waarde
|
||
AND mld_srtkenmerk_kenmerktype = 'R'
|
||
GROUP BY kto.mld_melding_key,
|
||
km.mld_stdmelding_key,
|
||
km.mld_kenmerk_groep,
|
||
ud.fac_usrdata_code
|
||
ORDER BY kto.mld_melding_key,
|
||
km.mld_stdmelding_key,
|
||
km.mld_kenmerk_groep,
|
||
ud.fac_usrdata_code) groep
|
||
WHERE groep.mld_stdmelding_key = vraag.mld_stdmelding_key
|
||
AND groep.mld_kenmerk_groep = vraag.mld_kenmerk_groep
|
||
AND vraag.mld_srtkenmerk_key = vraag_k.mld_srtkenmerk_key
|
||
AND vraag_k.mld_srtkenmerk_kenmerktype = 'L'
|
||
AND groep.mld_stdmelding_key = opm.mld_stdmelding_key
|
||
AND groep.mld_kenmerk_groep = opm.mld_kenmerk_groep
|
||
AND opm.mld_srtkenmerk_key = opm_k.mld_srtkenmerk_key
|
||
AND opm_k.mld_srtkenmerk_kenmerktype = 'C') antwoorden
|
||
WHERE p.prs_perslid_key = kto.prs_perslid_key_voor
|
||
AND p.prs_afdeling_key = pa.prs_afdeling_key
|
||
AND pa.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND kto.prs_perslid_key_voor = p_voor.prs_perslid_key
|
||
AND kto.prs_perslid_key = p_door.prs_perslid_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND kto.mld_stdmelding_key = sm_kto.mld_stdmelding_key
|
||
AND sm_kto.mld_ins_discipline_key = disc_kto.ins_discipline_key
|
||
AND disc.ins_srtdiscipline_key = 41 --Vakgroeptype KTO
|
||
AND m.mld_melding_kto_type = 'M'
|
||
AND m.mld_melding_kto_key = kto.mld_melding_key
|
||
AND m.mld_melding_key = antwoorden.mld_melding_key
|
||
AND kto.mld_alg_locatie_key = l.alg_locatie_key
|
||
UNION ALL
|
||
SELECT res.fclt_3d_locatie_key,
|
||
res.locatie,
|
||
res.locatie_omschrijving,
|
||
b.prs_bedrijf_naam,
|
||
p_voor.prs_perslid_naam_friendly,
|
||
p_door.prs_perslid_naam_friendly,
|
||
antwoorden.vraag,
|
||
fac.safe_to_number(antwoorden.cijfer),
|
||
antwoorden.toelichting,
|
||
'Reservering',
|
||
m.mld_melding_kto_key,
|
||
m.mld_melding_key,
|
||
resdisc.ins_discipline_key,
|
||
resdisc.ins_discipline_omschrijving,
|
||
rkto.res_rsv_ruimte_van,
|
||
fac.safe_to_number (TO_CHAR (rkto.res_rsv_ruimte_van, 'YYYY')),
|
||
fac.safe_to_number (TO_CHAR (rkto.res_rsv_ruimte_van, 'Q')),
|
||
fac.safe_to_number (TO_CHAR (rkto.res_rsv_ruimte_van, 'MM'))
|
||
FROM mld_melding m,
|
||
res_rsv_ruimte rkto,
|
||
res_v_udr_reservering res,
|
||
ins_tab_discipline resdisc,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline disc,
|
||
prs_perslid p,
|
||
prs_v_aanwezigafdeling_boom pa,
|
||
prs_bedrijf b,
|
||
prs_v_perslid_fullnames_all p_voor,
|
||
prs_v_perslid_fullnames_all p_door,
|
||
(SELECT groep.mld_melding_key,
|
||
vraag.mld_kenmerk_omschrijving AS vraag,
|
||
groep.cijfer,
|
||
(SELECT DISTINCT (opm_kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding opm_kmm
|
||
WHERE opm_kmm.mld_kenmerk_key = opm.mld_kenmerk_key
|
||
AND opm_kmm.mld_melding_key = groep.mld_melding_key
|
||
AND opm_kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
AS toelichting
|
||
FROM mld_kenmerk vraag,
|
||
mld_srtkenmerk vraag_k,
|
||
mld_kenmerk opm,
|
||
mld_srtkenmerk opm_k,
|
||
( SELECT kto.mld_melding_key,
|
||
km.mld_stdmelding_key,
|
||
km.mld_kenmerk_groep,
|
||
ud.fac_usrdata_code AS cijfer
|
||
FROM mld_melding kto,
|
||
mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk skm,
|
||
fac_usrdata ud
|
||
WHERE kto.mld_melding_key = kmm.mld_melding_key
|
||
AND kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = skm.mld_srtkenmerk_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND TO_CHAR (ud.fac_usrdata_key) =
|
||
kmm.mld_kenmerkmelding_waarde
|
||
AND mld_srtkenmerk_kenmerktype = 'R'
|
||
GROUP BY kto.mld_melding_key,
|
||
km.mld_stdmelding_key,
|
||
km.mld_kenmerk_groep,
|
||
ud.fac_usrdata_code
|
||
ORDER BY kto.mld_melding_key,
|
||
km.mld_stdmelding_key,
|
||
km.mld_kenmerk_groep,
|
||
ud.fac_usrdata_code) groep
|
||
WHERE groep.mld_stdmelding_key = vraag.mld_stdmelding_key
|
||
AND groep.mld_kenmerk_groep = vraag.mld_kenmerk_groep
|
||
AND vraag.mld_srtkenmerk_key = vraag_k.mld_srtkenmerk_key
|
||
AND vraag_k.mld_srtkenmerk_kenmerktype = 'L'
|
||
AND groep.mld_stdmelding_key = opm.mld_stdmelding_key
|
||
AND groep.mld_kenmerk_groep = opm.mld_kenmerk_groep
|
||
AND opm.mld_srtkenmerk_key = opm_k.mld_srtkenmerk_key
|
||
AND opm_k.mld_srtkenmerk_kenmerktype = 'C') antwoorden
|
||
WHERE p.prs_perslid_key = rkto.res_rsv_ruimte_host_key
|
||
AND p.prs_afdeling_key = pa.prs_afdeling_key
|
||
AND pa.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND rkto.res_rsv_ruimte_host_key = p_voor.prs_perslid_key
|
||
AND rkto.res_rsv_ruimte_contact_key = p_door.prs_perslid_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND disc.ins_srtdiscipline_key = 41 --Vakgroeptype KTO
|
||
AND m.mld_melding_kto_type = 'R'
|
||
AND m.mld_melding_kto_key = rkto.res_rsv_ruimte_key
|
||
AND m.mld_melding_key = antwoorden.mld_melding_key
|
||
AND rkto.res_rsv_ruimte_key = res.key(+)
|
||
AND resdisc.ins_discipline_key = res.catalogus_key;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_departement
|
||
(
|
||
prs_bedrijf_key,
|
||
prs_bedrijf_naam
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, prs_bedrijf_naam
|
||
FROM prs_v_aanwezigbedrijf
|
||
WHERE prs_bedrijf_intern = 1;
|
||
|
||
-- KPIs (rapportages en dashboards)!
|
||
-- Doorlooptijd dienstverlening.
|
||
/* WEG???
|
||
CREATE OR REPLACE VIEW fmhn_v_udr_afh_mld_dv
|
||
AS
|
||
SELECT m.meldingnummer,
|
||
m.melding_start_key,
|
||
m.melding_regio,
|
||
m.melding_district,
|
||
m.melding_locatiecode,
|
||
m.melding_locatie,
|
||
m.melding_locatieplaats,
|
||
m.melding_gebouwcode,
|
||
m.melding_gebouw,
|
||
m.melding_verdieping,
|
||
m.melding_ruimtenr,
|
||
m.melding_ruimte,
|
||
m.kostensoortgroep,
|
||
m.kostensoort,
|
||
m.kostenplaats,
|
||
m.kostenplaats_oms,
|
||
m.melder,
|
||
m.afdeling,
|
||
m.afdeling_omschrijving afdeling_oms,
|
||
m.invoerder,
|
||
m.meldbron,
|
||
m.soortmelding vakgroeptype,
|
||
m.productgroep vakgroep,
|
||
m.subproductgroep soortmelding,
|
||
m.behandelgroep,
|
||
m.behandelaar,
|
||
m.actieve_behandelgroep,
|
||
m.actieve_behandelaar,
|
||
m.melding_status,
|
||
m.sla_nvt,
|
||
m.sla_accptdgn,
|
||
m.sla_accpturen,
|
||
m.sla_werkdgn,
|
||
m.sla_werkuren,
|
||
m.plan_uitvoertijd_sla,
|
||
m.melding_datum,
|
||
m.melding_einddatum,
|
||
m.melding_einddatum_std,
|
||
m.melding_acceptdatum,
|
||
m.melding_afgemeld,
|
||
m.melding_accepted,
|
||
m.doorlooptijd_werkdgn,
|
||
m.doorlooptijd_werkuren,
|
||
m.onderwerp,
|
||
m.vomschrijving omschrijving,
|
||
m.melding_opmerking,
|
||
m.prioriteit,
|
||
m.rating,
|
||
m.rating_opmerking rating_opm,
|
||
m.actiecode,
|
||
m.accept_sla_dagen,
|
||
m.accept_sla_uren,
|
||
m.uitvoering_sla_dagen,
|
||
m.uitvoering_sla_uren,
|
||
m.afspraak_sla_dagen,
|
||
m.afspraak_sla_uren,
|
||
DECODE (UPPER (m.accept_sla_optijd), 'JA', 1, 0) accept_sla_optijd,
|
||
1 - DECODE (UPPER (m.accept_sla_optijd), 'JA', 1, 0) accept_sla_telaat,
|
||
DECODE (UPPER (m.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_optijd,
|
||
1 - DECODE (UPPER (m.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_telaat,
|
||
DECODE (UPPER (m.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_optijd,
|
||
1 - DECODE (UPPER (m.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_telaat,
|
||
m.selfservice,
|
||
TO_CHAR (m.melding_afgemeld, 'yyyy-mm') maand
|
||
FROM mld_v_udr_melding m
|
||
WHERE m.melding_afgemeld > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') -- Of m.melding_datum
|
||
AND m.sla_nvt = 0
|
||
AND INSTR (UPPER (subproductgroep), 'KLACHT') = 0
|
||
AND prioriteit IN (3, 4);
|
||
|
||
SELECT m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
m.mld_melding_einddatum_std,
|
||
x.melding_datum,
|
||
x.melding_einddatum_std,
|
||
m.mld_melding_t_uitvoertijd,
|
||
x.sla_werkdgn,
|
||
x.sla_werkuren,
|
||
x.doorlooptijd_werkdgn,
|
||
x.doorlooptijd_werkuren
|
||
FROM mld_melding m, mld_v_udr_melding x
|
||
WHERE m.mld_meldbron_nr IS NOT NULL AND m.mld_melding_key = x.melding_key;
|
||
|
||
DECODE (TO_CHAR (x.melding_einddatum_std, 'yyyy'),
|
||
'1970', DECODE (SIGN (COALESCE (x.doorlooptijd_werkdgn, x.doorlooptijd_werkuren) - COALESCE (x.sla_werkdgn, x.sla_werkuren)), -1, 'Buiten norm', 'Binnen norm'),
|
||
DECODE (SIGN (x.melding_einddatum_std - x.melding_afgemeld), -1, 'Buiten norm', 'Binnen norm')),
|
||
*/
|
||
-- Tbv. de volgende tabs in Excel van P&C: PD doorlooptijd DV, PD exploitatie/maand, PD Facilitair oog, PD KWIS meldingen
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_doorlooptijd_dv
|
||
(
|
||
mld_melding_key,
|
||
binnen_norm,
|
||
buiten_norm_uren,
|
||
afhandelingstijd,
|
||
klant,
|
||
fm,
|
||
facilitair_oog,
|
||
locatieteam,
|
||
pand,
|
||
nummer,
|
||
gebruikerstype,
|
||
status,
|
||
omschrijving,
|
||
ruimtenr,
|
||
plaatsaanduiding,
|
||
prioriteit, -- Was urgentie
|
||
aanvrager, -- Was melder
|
||
kosten_voor,
|
||
kosten_incl,
|
||
aanvraag_voor,
|
||
toelichting,
|
||
standaardorder_code,
|
||
standaardorder_oms,
|
||
sla, -- Was prioriteit
|
||
nsk_of_overig,
|
||
productdienstnr,
|
||
productdienstnaam,
|
||
behandelteam, -- Was vakgroep
|
||
uitvoerder_intext,
|
||
uitvoerder_intern,
|
||
uitvoerder_extern,
|
||
datum_gemeld, --_datum
|
||
datum_gemeld_tijd,
|
||
datum_gemeld_maand,
|
||
datum_startdatum,
|
||
datum_startdatum_tijd,
|
||
datum_gewenst_gereed,
|
||
datum_gewenst_gereed_tijd,
|
||
datum_gereed, -- KV?
|
||
datum_gereed_tijd, -- KV?
|
||
datum_gereed_maand, -- Nieuw
|
||
datum_admgereed,
|
||
datum_admgereed_tijd,
|
||
datum_admgereed_maand,
|
||
datum_in_behandeling, -- / Res. def. / Offerte
|
||
datum_in_behandeling_tijd, -- / Res. def. / Offerte tijd
|
||
datum_in_behandeling_maand, -- / Res. def. / Offerte maand
|
||
datum_opdracht_gereed,
|
||
datum_opdracht_gereed_tijd,
|
||
datum_technisch_gereed,
|
||
datum_technisch_gereed_tijd,
|
||
gemigreerd,
|
||
fmh_sla_tijdsduur,
|
||
fmh_sla_eenheid,
|
||
fmh_sla_afspraak,
|
||
fmh_datum_gereed,
|
||
fmh_datum_gereed_tijd,
|
||
fmh_datum_gereed_maand,
|
||
fmh_binnen_norm
|
||
)
|
||
AS
|
||
SELECT x.melding_key,
|
||
CASE
|
||
WHEN m.mld_melding_status IN (5, 6)
|
||
THEN
|
||
DECODE (
|
||
TO_CHAR (x.melding_einddatum_std, 'yyyy'),
|
||
'1970', DECODE (
|
||
SIGN (
|
||
COALESCE (x.sla_werkdgn, x.sla_werkuren)
|
||
+ COALESCE (x.sla_respijtdgn,
|
||
x.sla_respijturen)
|
||
- COALESCE (x.doorlooptijd_werkdgn,
|
||
x.doorlooptijd_werkuren)),
|
||
-1, 'Buiten norm',
|
||
'Binnen norm'),
|
||
DECODE (
|
||
x.sla_werkuren,
|
||
NULL, DECODE (
|
||
SIGN (
|
||
x.melding_einddatum_std
|
||
+ x.sla_respijtdgn
|
||
- COALESCE (
|
||
x.melding_afgemeld,
|
||
fac.gettrackingdate (
|
||
'MLDAFR',
|
||
x.melding_key))),
|
||
-1, 'Buiten norm',
|
||
'Binnen norm'),
|
||
DECODE (
|
||
SIGN (
|
||
COALESCE (x.sla_werkdgn, x.sla_werkuren)
|
||
+ COALESCE (x.sla_respijtdgn,
|
||
x.sla_respijturen)
|
||
- COALESCE (x.doorlooptijd_werkdgn,
|
||
x.doorlooptijd_werkuren)),
|
||
-1, 'Buiten norm',
|
||
'Binnen norm')))
|
||
END
|
||
binnen_norm,
|
||
CASE
|
||
WHEN m.mld_melding_status IN (5, 6)
|
||
THEN
|
||
DECODE (
|
||
TO_CHAR (x.melding_einddatum_std, 'yyyy'),
|
||
'1970',
|
||
DECODE (
|
||
SIGN (COALESCE (x.sla_werkdgn, x.sla_werkuren) - COALESCE (x.doorlooptijd_werkdgn, x.doorlooptijd_werkuren)),
|
||
-1, DECODE (
|
||
m.mld_meldbron_nr,
|
||
NULL, COALESCE ((x.doorlooptijd_werkdgn - x.sla_werkdgn) * 9, x.doorlooptijd_werkuren - x.sla_werkuren),
|
||
mld.getactualuitvoer (
|
||
x.melding_einddatum_std,
|
||
COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)),
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'U').tijdsduur),
|
||
0),
|
||
DECODE (
|
||
SIGN (x.melding_einddatum_std - COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR',x.melding_key))),
|
||
-1, DECODE (
|
||
m.mld_meldbron_nr,
|
||
NULL, COALESCE ((x.doorlooptijd_werkdgn - x.sla_werkdgn) * 9, x.doorlooptijd_werkuren - x.sla_werkuren),
|
||
mld.getactualuitvoer (
|
||
x.melding_einddatum_std,
|
||
COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)),
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'U').tijdsduur),
|
||
0))
|
||
ELSE
|
||
NULL
|
||
END
|
||
buiten_norm_uren,
|
||
CASE
|
||
WHEN m.mld_melding_status IN (5, 6)
|
||
THEN
|
||
DECODE (
|
||
m.mld_meldbron_nr,
|
||
NULL,
|
||
COALESCE (x.doorlooptijd_werkdgn, x.doorlooptijd_werkuren / 9),
|
||
mld.getactualuitvoer ( -- Gemigreerde melding uit Planon!
|
||
x.melding_datum,
|
||
COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)),
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'D').tijdsduur)
|
||
ELSE
|
||
NULL
|
||
END
|
||
afhandelingstijd,
|
||
TRIM (SUBSTR (mc_ud.fac_usrdata_omschr, INSTR (mc_ud.fac_usrdata_omschr, '-') + 1))
|
||
klant,
|
||
pfm.prs_perslid_naam_full fm,
|
||
CASE
|
||
WHEN m.mld_stdmelding_key IN (SELECT fac_usrdata_volgnr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 761)
|
||
THEN
|
||
'N.v.t.'
|
||
WHEN ab.prs_afdeling_key4 = 97 -- Melder-afdeling o653=DGVBR/FMHaaglanden
|
||
OR INSTR ('/' || COALESCE (k2a.idpad, k2a_a.idpad), '/04O2086') > 0 -- FMHN#71415: Kosten voor-afdeling o2086=DGVBR/UBR/FBU/Rijksbeveiligingsorg.
|
||
OR INSTR (a.prs_afdeling_omschrijving, 'DGVBR/pDGVBR/RBL/RBO/A/DH1/RS8') > 0 -- FMHN#78782 Vervolg op 77993 - Aanpassing kenmerk 'Facilitair Oog'
|
||
OR SUBSTR (COALESCE (k2a.idpad, k2a_a.idpad), 0, 20) = '021001/021050/021436' -- FMHN#79806 Ook de afdeling Directie Schoonmaakorganisatie; afdelingspad=SZW#PSG#RSO (en alle onderliggende afdelingen)
|
||
OR INSTR (a.prs_afdeling_omschrijving, 'DGVBR/pDGVBR/O' || Chr(38) || 'PR/Binnenwerk') > 0 -- FMHN#81890 (Chr(38) = &)
|
||
OR SUBSTR (COALESCE (k2a.idpad, k2a_a.idpad), 0, 45) = '04O354/04O372/04O2514/04O4366/04O4367/04O3823' -- FMHN#81890 Ook de onderliggende afdelingen van DGVBR/pDGVBR/O&PR/Binnenwerk
|
||
OR SUBSTR (COALESCE (k2a.idpad, k2a_a.idpad), 0, 37) = '04O354/04O372/04O2514/04O4366/04O2077' -- FMHN#84299, voor 'BZK ***** /DGVBR#pDGVBR/DGVBR#pDGVBR#Rijksorg Beveiliging & Log' en onderliggende afdelingen
|
||
THEN
|
||
'Ja'
|
||
ELSE
|
||
'Nee'
|
||
END
|
||
facilitair_oog,
|
||
x.melding_district locatieteam,
|
||
x.melding_locatie pand,
|
||
x.meldingnummer nummer,
|
||
x.soortmelding gebruikerstype, -- Vakgroeptype
|
||
x.melding_status status,
|
||
m.mld_meldbron_nr omschrijving, -- Tijdelijk vullen met Planonnummer
|
||
aog.alg_ruimte_nr ruimtenr, -- FMHN#72026: Graag toch vullen!
|
||
aog.alg_plaatsaanduiding plaatsaanduiding, -- FMHN#72026: Graag toch vullen!
|
||
x.prioriteittxt,
|
||
pfa.prs_perslid_naam_full aanvrager, -- Vanwege AVG leeg gelaten/FMHN#71415: Graag toch vullen!
|
||
COALESCE (k2a.pad, k2a_a.pad) kosten_voor,
|
||
NULL kosten_incl,
|
||
NULL aanvraag_voor,
|
||
--TRIM (REPLACE (SUBSTR (m.mld_melding_omschrijving, 1, 200), '"', '''')) toelichting, -- FMHN#71415: Graag toch vullen!
|
||
m.mld_melding_omschrijving toelichting, -- FMHN#71415: Graag toch vullen!
|
||
TO_CHAR (m.mld_stdmelding_key) standaardorder_code,
|
||
x.subproductgroep standaardorder_oms,
|
||
DECODE (x.sla_werkuren, NULL, DECODE (x.sla_werkdgn, NULL, NULL, TO_CHAR (x.sla_werkdgn) || 'D'), TO_CHAR (x.sla_werkuren) || 'U') sla,
|
||
NULL nsk_of_overig,
|
||
REGEXP_REPLACE (REGEXP_SUBSTR (x.productgroep,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1), '[^0-9.]', '')
|
||
productdienstnr,
|
||
x.productgroep productdienstnaam,
|
||
x.actieve_behandelgroep behandelteam,
|
||
--DECODE (b.prs_bedrijf_key, NULL, 'Intern', 'Extern') uitvoerder_intext,
|
||
CASE
|
||
WHEN b.prs_bedrijf_key IS NOT NULL
|
||
OR INSTR (x.productgroep, '1310.01') > 0 -- FMHN#71415: Als productdienstnr=1310.01=Schoonmaak, dan Extern!
|
||
OR INSTR (x.productgroep, '1173.01') > 0 -- FMHN#72026: Als productdienstnr=1173.01=Reguliere reststoffen, dan Extern!
|
||
THEN
|
||
'Extern'
|
||
ELSE
|
||
'Intern'
|
||
END
|
||
uitvoerder_intext,
|
||
pfb.prs_perslid_naam_full uitvoerder_intern,
|
||
b.prs_bedrijf_naam uitvoerder_extern,
|
||
x.melding_datum datum_gemeld, -- MLDNEW?
|
||
TO_CHAR (x.melding_datum, 'hh24:mi') datum_gemeld_tijd, -- MLDNEW?
|
||
TRIM (TO_CHAR (x.melding_datum, 'month')) datum_gemeld_maand, -- MLDNEW?
|
||
NULL datum_startdatum, -- Planbare meldingen?
|
||
NULL datum_startdatum_tijd, -- Planbare meldingen?
|
||
x.melding_einddatum datum_gewenst_gereed,
|
||
TO_CHAR (x.melding_einddatum, 'hh24:mi') datum_gewenst_gereed_tijd,
|
||
COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)) datum_gereed, -- KV?
|
||
TO_CHAR (COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)), 'hh24:mi') datum_gereed_tijd, -- KV?
|
||
TRIM (TO_CHAR (COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)), 'month')) datum_gereed_maand,
|
||
NULL datum_admgereed,
|
||
NULL datum_admgereed_tijd,
|
||
NULL datum_admgereed_maand,
|
||
x.melding_accepted datum_in_behandeling, -- / Res. def. / Offerte
|
||
TO_CHAR (x.melding_accepted, 'hh24:mi') datum_in_behandeling_tijd, -- / Res. def. / Offerte tijd
|
||
TRIM (TO_CHAR (x.melding_accepted, 'month')) datum_in_behandeling_maand, -- / Res. def. / Offerte maand
|
||
o.opdracht_gereed datum_opdracht_gereed,
|
||
TO_CHAR (o.opdracht_gereed, 'hh24:mi') datum_opdracht_gereed_tijd,
|
||
NULL datum_technisch_gereed,
|
||
NULL datum_technisch_gereed_tijd,
|
||
DECODE (m.mld_meldbron_nr, NULL, 'Nee', 'Ja') gemigreerd,
|
||
COALESCE (sm.mld_stdmelding_t_accepttijd.tijdsduur,
|
||
sm.mld_stdmelding_t_uitvoertijd.tijdsduur)
|
||
AS fmh_sla_tijdsduur,
|
||
COALESCE (
|
||
DECODE (sm.mld_stdmelding_t_accepttijd.tijdsduur,
|
||
NULL, NULL,
|
||
sm.mld_stdmelding_t_accepttijd.eenheid),
|
||
sm.mld_stdmelding_t_uitvoertijd.eenheid)
|
||
AS fmh_sla_eenheid,
|
||
DECODE (sm.mld_stdmelding_t_accepttijd.tijdsduur,
|
||
NULL, 'Uitvoeren',
|
||
'Accepteren')
|
||
AS fmh_sla_afspraak,
|
||
DECODE (sm.mld_stdmelding_t_accepttijd.tijdsduur,
|
||
NULL,
|
||
fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
|
||
COALESCE(fac.gettrackingdate ('MLDACP', m.mld_melding_key),fac.gettrackingdate ('MLDREJ', m.mld_melding_key))
|
||
)
|
||
AS fmh_datum_gereed,
|
||
TO_CHAR (
|
||
DECODE (
|
||
sm.mld_stdmelding_t_accepttijd.tijdsduur,
|
||
NULL, fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
|
||
COALESCE (fac.gettrackingdate ('MLDACP', m.mld_melding_key),
|
||
fac.gettrackingdate ('MLDREJ', m.mld_melding_key))),
|
||
'hh24:mi')
|
||
fmh_datum_gereed_tijd, -- KV?
|
||
TRIM (
|
||
TO_CHAR (
|
||
DECODE (
|
||
sm.mld_stdmelding_t_accepttijd.tijdsduur,
|
||
NULL, fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
|
||
COALESCE (
|
||
fac.gettrackingdate ('MLDACP', m.mld_melding_key),
|
||
fac.gettrackingdate ('MLDREJ', m.mld_melding_key))),
|
||
'month'))
|
||
fmh_datum_gereed_maand,
|
||
(CASE
|
||
WHEN sm.mld_stdmelding_t_accepttijd.tijdsduur > 0
|
||
THEN --Dan controleren op overschrijding uitvoertijd.
|
||
DECODE (x.accept_sla_optijd, 'ja', 'Binnen', 'Buiten')
|
||
ELSE --Dan controleren op overschrijding acceptatietijd.
|
||
DECODE (x.uitvoering_sla_optijd, 'ja', 'Binnen', 'Buiten')
|
||
END)
|
||
AS fmh_binnen_norm
|
||
FROM mld_v_udr_melding x,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1008) mc, -- Ministeriecode
|
||
fac_v_aanwezigusrdata mc_ud,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pfa,
|
||
prs_v_afdeling_boom ab,
|
||
prs_afdeling a,
|
||
fmhn_v_rap_idm_afdboom k2a, -- Kostenplaats2Afdeling
|
||
fmhn_v_rap_idm_afdboom k2a_a, -- Kostenplaats2Afdeling_aanvrager
|
||
alg_locatie l,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
(SELECT * FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1060) fm, -- Facilitair Manager
|
||
prs_v_perslid_fullnames_all pfm,
|
||
--(SELECT o1.mld_melding_key, o1.mld_opdr_bedrijfopdr_volgnr volgnr, o1.mld_uitvoerende_keys prs_perslid_key
|
||
-- FROM mld_opdr o1
|
||
-- WHERE EXISTS (SELECT 1 FROM prs_perslid WHERE prs_perslid_key = o1.mld_uitvoerende_keys) -- Laatst uitgegeven interne opdracht!
|
||
-- AND NOT EXISTS (SELECT 1 FROM mld_opdr o2 WHERE o2.mld_melding_key = o1.mld_melding_key AND o2.mld_opdr_key > o1.mld_opdr_key)) int_o,
|
||
--(SELECT o1.mld_melding_key, o1.mld_opdr_bedrijfopdr_volgnr volgnr, o1.mld_uitvoerende_keys prs_bedrijf_key
|
||
-- FROM mld_opdr o1
|
||
-- WHERE EXISTS (SELECT 1 FROM prs_bedrijf WHERE prs_bedrijf_key = o1.mld_uitvoerende_keys) -- Laatst uitgegeven externe opdracht!
|
||
-- AND NOT EXISTS (SELECT 1 FROM mld_opdr o2 WHERE o2.mld_melding_key = o1.mld_melding_key AND o2.mld_opdr_key > o1.mld_opdr_key)) ext_o,
|
||
(SELECT o1.mld_melding_key, o1.mld_uitvoerende_keys, fac.gettrackingdate ('ORDAFM', o1.mld_opdr_key) opdracht_gereed -- Laatst uitgegeven opdracht!
|
||
FROM mld_opdr o1
|
||
WHERE NOT EXISTS (SELECT 1 FROM mld_opdr o2 WHERE o2.mld_melding_key = o1.mld_melding_key AND o2.mld_opdr_key > o1.mld_opdr_key)) o,
|
||
prs_v_perslid_fullnames_all pfb,
|
||
prs_bedrijf b
|
||
WHERE COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key), SYSDATE) > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') -- Of m.melding_datum???
|
||
AND x.sla_nvt = 0 -- Alleen meldingen waarvoor SLA bewaken aangevinkt!
|
||
--AND x.melding_start_key IS NULL -- Geen (WF-)vervolgmeldingen!
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_stdmelding sm, mld_discipline md
|
||
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND (md.ins_srtdiscipline_key IN (1, 25, 26, 28, 41, 42, 81) -- Personenvervoer/Compliment/Idee/Klacht/Klanttevredenheid/Incidenten/VOR Kaarten
|
||
OR md.ins_discipline_key IN (48, -- Functioneel beheer
|
||
243, -- Fube Quickcalls
|
||
823) -- Functioneelbeheer ICT aanvragen
|
||
OR sm.mld_stdmelding_key IN (47))) -- Functioneel beheer melding onder Overig diensten (13)
|
||
--AND x.prioriteit IN (3, 4) -- Alle prioriteiten, want bronrapport tbv. niet urgente en urgente meldingen!
|
||
AND x.melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
--AND m.mld_melding_status IN (5, 6) -- Gesloten (en niet afgewezen)
|
||
AND m.mld_melding_status <> 1 -- Niet afgewezen
|
||
AND m.prs_perslid_key_voor = mc.prs_link_key(+)
|
||
AND fac.safe_to_number (mc.prs_kenmerklink_waarde) = mc_ud.fac_usrdata_key(+)
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pfa.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key = a.prs_afdeling_key
|
||
AND m.prs_kostenplaats_key = k2a.prs_kostenplaats_key(+)
|
||
AND k2a.afdverwijder IS NULL
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
||
AND l.alg_district_key = fm.alg_onrgoed_key(+)
|
||
AND fac.safe_to_number (fm.alg_onrgoedkenmerk_waarde) = pfm.prs_perslid_key(+)
|
||
--AND m.mld_melding_key = int_o.mld_melding_key(+)
|
||
--AND m.mld_melding_key = ext_o.mld_melding_key(+)
|
||
AND m.mld_melding_key = o.mld_melding_key(+)
|
||
--AND COALESCE (int_o.prs_perslid_key, m.mld_melding_behandelaar2_key, m.mld_melding_behandelaar_key) = pf.prs_perslid_key(+)
|
||
AND COALESCE (m.mld_melding_behandelaar2_key, m.mld_melding_behandelaar_key) = pfb.prs_perslid_key(+)
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
|
||
AND p.prs_afdeling_key = k2a_a.prs_afdeling_key
|
||
AND ((m.mld_workflowstep_key IS NULL)
|
||
OR (m.mld_melding_start_key = m.mld_melding_key AND m.mld_workflowstep_key IS NOT NULL));
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_afh_kwis_mld
|
||
(
|
||
mld_melding_key,
|
||
binnen_norm,
|
||
buiten_norm_uren,
|
||
afhandelingstijd,
|
||
klant,
|
||
fm,
|
||
facilitair_oog,
|
||
locatieteam,
|
||
pand,
|
||
nummer,
|
||
gebruikerstype,
|
||
status,
|
||
omschrijving,
|
||
ruimtenr,
|
||
plaatsaanduiding,
|
||
prioriteit, -- Was urgentie
|
||
aanvrager, -- Was melder
|
||
kosten_voor,
|
||
kosten_incl,
|
||
aanvraag_voor,
|
||
toelichting,
|
||
standaardorder_code,
|
||
standaardorder_oms,
|
||
sla, -- Was prioriteit
|
||
nsk_of_overig,
|
||
productdienstnr,
|
||
productdienstnaam,
|
||
behandelteam, -- Was vakgroep
|
||
uitvoerder_intext,
|
||
uitvoerder_intern,
|
||
uitvoerder_extern,
|
||
datum_gemeld, --_datum
|
||
datum_gemeld_tijd,
|
||
datum_gemeld_maand,
|
||
datum_startdatum,
|
||
datum_startdatum_tijd,
|
||
datum_gewenst_gereed,
|
||
datum_gewenst_gereed_tijd,
|
||
datum_gereed, -- KV?
|
||
datum_gereed_tijd, -- KV?
|
||
datum_gereed_maand, -- Nieuw
|
||
datum_admgereed,
|
||
datum_admgereed_tijd,
|
||
datum_admgereed_maand,
|
||
datum_in_behandeling, -- / Res. def. / Offerte
|
||
datum_in_behandeling_tijd, -- / Res. def. / Offerte tijd
|
||
datum_in_behandeling_maand, -- / Res. def. / Offerte maand
|
||
datum_opdracht_gereed,
|
||
datum_opdracht_gereed_tijd,
|
||
datum_technisch_gereed,
|
||
datum_technisch_gereed_tijd,
|
||
gemigreerd
|
||
)
|
||
AS
|
||
SELECT x.melding_key,
|
||
--DECODE (
|
||
-- m.mld_meldbron_nr,
|
||
-- NULL,
|
||
-- DECODE (
|
||
-- --UPPER (x.uitvoering_sla_optijd),
|
||
-- SIGN (x.melding_einddatum_std - x.melding_afgemeld),
|
||
-- -1, 'Buiten norm',
|
||
-- 'Binnen norm'),
|
||
-- DECODE ( -- Gemigreerde melding uit Planon!
|
||
-- SIGN (x.melding_einddatum_std - COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key))),
|
||
-- -1, 'Buiten norm',
|
||
-- 'Binnen norm'))
|
||
CASE
|
||
WHEN m.mld_melding_status IN (5, 6)
|
||
THEN
|
||
DECODE (
|
||
TO_CHAR (x.melding_einddatum_std, 'yyyy'),
|
||
'1970',
|
||
DECODE (
|
||
SIGN (COALESCE (x.sla_werkdgn, x.sla_werkuren) - COALESCE (x.doorlooptijd_werkdgn, x.doorlooptijd_werkuren)),
|
||
-1, 'Buiten norm',
|
||
'Binnen norm'),
|
||
DECODE (
|
||
SIGN (x.melding_einddatum_std - COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR',x.melding_key))),
|
||
-1, 'Buiten norm',
|
||
'Binnen norm'))
|
||
ELSE
|
||
NULL
|
||
END
|
||
binnen_norm,
|
||
CASE
|
||
WHEN m.mld_melding_status IN (5, 6)
|
||
THEN
|
||
DECODE (
|
||
TO_CHAR (x.melding_einddatum_std, 'yyyy'),
|
||
'1970',
|
||
DECODE (
|
||
SIGN (COALESCE (x.sla_werkdgn, x.sla_werkuren) - COALESCE (x.doorlooptijd_werkdgn, x.doorlooptijd_werkuren)),
|
||
-1, DECODE (
|
||
m.mld_meldbron_nr,
|
||
NULL, COALESCE ((x.doorlooptijd_werkdgn - x.sla_werkdgn) * 9, x.doorlooptijd_werkuren - x.sla_werkuren),
|
||
mld.getactualuitvoer (
|
||
x.melding_einddatum_std,
|
||
COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)),
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'U').tijdsduur),
|
||
0),
|
||
DECODE (
|
||
SIGN (x.melding_einddatum_std - COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR',x.melding_key))),
|
||
-1, DECODE (
|
||
m.mld_meldbron_nr,
|
||
NULL, COALESCE ((x.doorlooptijd_werkdgn - x.sla_werkdgn) * 9, x.doorlooptijd_werkuren - x.sla_werkuren),
|
||
mld.getactualuitvoer (
|
||
x.melding_einddatum_std,
|
||
COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)),
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'U').tijdsduur),
|
||
0))
|
||
ELSE
|
||
NULL
|
||
END
|
||
buiten_norm_uren,
|
||
CASE
|
||
WHEN m.mld_melding_status IN (5, 6)
|
||
THEN
|
||
DECODE (
|
||
m.mld_meldbron_nr,
|
||
NULL,
|
||
COALESCE (x.doorlooptijd_werkdgn, x.doorlooptijd_werkuren / 9),
|
||
mld.getactualuitvoer ( -- Gemigreerde melding uit Planon!
|
||
x.melding_datum,
|
||
COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)),
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'D').tijdsduur)
|
||
ELSE
|
||
NULL
|
||
END
|
||
afhandelingstijd,
|
||
TRIM (SUBSTR (mc_ud.fac_usrdata_omschr, INSTR (mc_ud.fac_usrdata_omschr, '-') + 1))
|
||
klant,
|
||
pfm.prs_perslid_naam_full fm,
|
||
--DECODE (ab.prs_afdeling_key4, 97, 'Ja', 'Nee') facilitair_oog, -- 97=o653=DGVBR/FMHaaglanden;TODO:Klantverzoek=NVT???
|
||
CASE
|
||
WHEN ab.prs_afdeling_key4 = 97 -- Melder-afdeling o653=DGVBR/FMHaaglanden
|
||
OR INSTR ('/' || k2a.idpad, '/04O2086') > 0 -- FMHN#71415: Kosten voor-afdeling o2086=DGVBR/UBR/FBU/Rijksbeveiligingsorg.
|
||
THEN
|
||
'Ja'
|
||
ELSE
|
||
'Nee'
|
||
END
|
||
facilitair_oog,
|
||
x.melding_district locatieteam,
|
||
x.melding_locatie pand,
|
||
x.meldingnummer nummer,
|
||
x.soortmelding gebruikerstype, -- Vakgroeptype
|
||
x.melding_status status,
|
||
m.mld_meldbron_nr omschrijving, -- Tijdelijk vullen met Planonnummer
|
||
aog.alg_ruimte_nr ruimtenr, -- FMHN#72026: Graag toch vullen!
|
||
aog.alg_plaatsaanduiding plaatsaanduiding, -- FMHN#72026: Graag toch vullen!
|
||
DECODE (
|
||
INSTR (UPPER (x.subproductgroep), 'URGENT'),
|
||
0, x.prioriteittxt,
|
||
'Hoog')
|
||
prioriteit,
|
||
pfa.prs_perslid_naam_full aanvrager, -- Vanwege AVG leeg gelaten/FMHN#71415: Graag toch vullen!
|
||
k2a.pad kosten_voor,
|
||
NULL kosten_incl,
|
||
NULL aanvraag_voor,
|
||
--TRIM (REPLACE (SUBSTR (m.mld_melding_omschrijving, 1, 200), '"', '''')) toelichting, -- FMHN#71415: Graag toch vullen!
|
||
m.mld_melding_omschrijving toelichting, -- FMHN#71415: Graag toch vullen!
|
||
TO_CHAR (m.mld_stdmelding_key) standaardorder_code,
|
||
x.subproductgroep standaardorder_oms,
|
||
DECODE (x.sla_werkuren, NULL, DECODE (x.sla_werkdgn, NULL, NULL, TO_CHAR (x.sla_werkdgn) || 'D'), TO_CHAR (x.sla_werkuren) || 'U') sla,
|
||
NULL nsk_of_overig,
|
||
REGEXP_REPLACE (REGEXP_SUBSTR (x.productgroep,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1), '[^0-9.]', '')
|
||
productdienstnr,
|
||
x.productgroep productdienstnaam,
|
||
x.actieve_behandelgroep behandelteam,
|
||
--DECODE (b.prs_bedrijf_key, NULL, 'Intern', 'Extern') uitvoerder_intext,
|
||
CASE
|
||
WHEN b.prs_bedrijf_key IS NOT NULL
|
||
OR INSTR (x.productgroep, '1310.01') > 0 -- FMHN#71415: Als productdienstnr=1310.01=Schoonmaak, dan Extern!
|
||
OR INSTR (x.productgroep, '1173.01') > 0 -- FMHN#72026: Als productdienstnr=1173.01=Reguliere reststoffen, dan Extern!
|
||
THEN
|
||
'Extern'
|
||
ELSE
|
||
'Intern'
|
||
END
|
||
uitvoerder_intext,
|
||
pfb.prs_perslid_naam_full uitvoerder_intern,
|
||
b.prs_bedrijf_naam uitvoerder_extern,
|
||
x.melding_datum datum_gemeld, -- MLDNEW?
|
||
TO_CHAR (x.melding_datum, 'hh24:mi') datum_gemeld_tijd, -- MLDNEW?
|
||
TRIM (TO_CHAR (x.melding_datum, 'month')) datum_gemeld_maand, -- MLDNEW?
|
||
NULL datum_startdatum, -- Planbare meldingen?
|
||
NULL datum_startdatum_tijd, -- Planbare meldingen?
|
||
x.melding_einddatum datum_gewenst_gereed,
|
||
TO_CHAR (x.melding_einddatum, 'hh24:mi') datum_gewenst_gereed_tijd,
|
||
COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)) datum_gereed, -- KV?
|
||
TO_CHAR (COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)), 'hh24:mi') datum_gereed_tijd, -- KV?
|
||
TRIM (TO_CHAR (COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key)), 'month')) datum_gereed_maand,
|
||
NULL datum_admgereed,
|
||
NULL datum_admgereed_tijd,
|
||
NULL datum_admgereed_maand,
|
||
x.melding_accepted datum_in_behandeling, -- / Res. def. / Offerte
|
||
TO_CHAR (x.melding_accepted, 'hh24:mi') datum_in_behandeling_tijd, -- / Res. def. / Offerte tijd
|
||
TRIM (TO_CHAR (x.melding_accepted, 'month')) datum_in_behandeling_maand, -- / Res. def. / Offerte maand
|
||
o.opdracht_gereed datum_opdracht_gereed,
|
||
TO_CHAR (o.opdracht_gereed, 'hh24:mi') datum_opdracht_gereed_tijd,
|
||
NULL datum_technisch_gereed,
|
||
NULL datum_technisch_gereed_tijd,
|
||
DECODE (m.mld_meldbron_nr, NULL, 'Nee', 'Ja') gemigreerd
|
||
FROM mld_v_udr_melding x,
|
||
mld_melding m,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1008) mc, -- Ministeriecode
|
||
fac_v_aanwezigusrdata mc_ud,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pfa,
|
||
prs_v_afdeling_boom ab,
|
||
fmhn_v_rap_idm_afdboom k2a, -- Kostenplaats2Afdeling
|
||
alg_locatie l,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
(SELECT * FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1060) fm, -- Facilitair Manager
|
||
prs_v_perslid_fullnames_all pfm,
|
||
--(SELECT o1.mld_melding_key, o1.mld_opdr_bedrijfopdr_volgnr volgnr, o1.mld_uitvoerende_keys prs_perslid_key
|
||
-- FROM mld_opdr o1
|
||
-- WHERE EXISTS (SELECT 1 FROM prs_perslid WHERE prs_perslid_key = o1.mld_uitvoerende_keys) -- Laatst uitgegeven interne opdracht!
|
||
-- AND NOT EXISTS (SELECT 1 FROM mld_opdr o2 WHERE o2.mld_melding_key = o1.mld_melding_key AND o2.mld_opdr_key > o1.mld_opdr_key)) int_o,
|
||
--(SELECT o1.mld_melding_key, o1.mld_opdr_bedrijfopdr_volgnr volgnr, o1.mld_uitvoerende_keys prs_bedrijf_key
|
||
-- FROM mld_opdr o1
|
||
-- WHERE EXISTS (SELECT 1 FROM prs_bedrijf WHERE prs_bedrijf_key = o1.mld_uitvoerende_keys) -- Laatst uitgegeven externe opdracht!
|
||
-- AND NOT EXISTS (SELECT 1 FROM mld_opdr o2 WHERE o2.mld_melding_key = o1.mld_melding_key AND o2.mld_opdr_key > o1.mld_opdr_key)) ext_o,
|
||
(SELECT o1.mld_melding_key, o1.mld_uitvoerende_keys, fac.gettrackingdate ('ORDAFM', o1.mld_opdr_key) opdracht_gereed -- Laatst uitgegeven opdracht!
|
||
FROM mld_opdr o1
|
||
WHERE NOT EXISTS (SELECT 1 FROM mld_opdr o2 WHERE o2.mld_melding_key = o1.mld_melding_key AND o2.mld_opdr_key > o1.mld_opdr_key)) o,
|
||
prs_v_perslid_fullnames_all pfb,
|
||
prs_bedrijf b
|
||
WHERE COALESCE (x.melding_afgemeld, fac.gettrackingdate ('MLDAFR', x.melding_key), SYSDATE) > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') -- Of m.melding_datum???
|
||
--AND x.sla_nvt = 0 -- Alleen meldingen waarvoor SLA bewaken aangevinkt!
|
||
--AND x.melding_start_key IS NULL -- Geen (WF-)vervolgmeldingen!
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_stdmelding sm, mld_discipline md
|
||
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND (md.ins_srtdiscipline_key IN (1, 41, 42, 81) -- Personenvervoer/Klanttevredenheid/Incidenten/VOR Kaarten
|
||
OR md.ins_discipline_key IN (48, -- Functioneel beheer
|
||
243, -- Fube Quickcalls
|
||
823, -- Functioneelbeheer ICT aanvragen
|
||
823) -- Functioneelbeheer ICT aanvragen
|
||
OR sm.mld_stdmelding_key IN (47))) -- Functioneel beheer melding onder Overig diensten (13)
|
||
--AND x.prioriteit IN (3, 4) -- Alle prioriteiten, want bronrapport tbv. niet urgente en urgente meldingen!
|
||
AND x.melding_key = m.mld_melding_key
|
||
--AND m.mld_melding_status IN (5, 6) -- Gesloten (en niet afgewezen)
|
||
AND m.mld_melding_status <> 1 -- Niet afgewezen
|
||
AND m.prs_perslid_key_voor = mc.prs_link_key(+)
|
||
AND fac.safe_to_number (mc.prs_kenmerklink_waarde) = mc_ud.fac_usrdata_key(+)
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pfa.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND m.prs_kostenplaats_key = k2a.prs_kostenplaats_key(+)
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
||
AND l.alg_district_key = fm.alg_onrgoed_key(+)
|
||
AND fac.safe_to_number (fm.alg_onrgoedkenmerk_waarde) = pfm.prs_perslid_key(+)
|
||
--AND m.mld_melding_key = int_o.mld_melding_key(+)
|
||
--AND m.mld_melding_key = ext_o.mld_melding_key(+)
|
||
AND m.mld_melding_key = o.mld_melding_key(+)
|
||
--AND COALESCE (int_o.prs_perslid_key, m.mld_melding_behandelaar2_key, m.mld_melding_behandelaar_key) = pf.prs_perslid_key(+)
|
||
AND COALESCE (m.mld_melding_behandelaar2_key, m.mld_melding_behandelaar_key) = pfb.prs_perslid_key(+)
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+);
|
||
|
||
-- Afhandeling klachten.
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_AFH_KLACHTEN
|
||
(
|
||
MLD_MELDING_KEY,
|
||
KLACHT_IDEE_COMPLIMENT,
|
||
BINNEN_NORM,
|
||
BUITEN_NORM_UREN,
|
||
AFHANDELINGSTIJD,
|
||
KLANT,
|
||
FM,
|
||
FACILITAIR_OOG,
|
||
LOCATIETEAM,
|
||
PAND,
|
||
NUMMER,
|
||
GEBRUIKERSTYPE,
|
||
STATUS,
|
||
OMSCHRIJVING,
|
||
RUIMTENR,
|
||
PLAATSAANDUIDING,
|
||
PRIORITEIT,
|
||
AANVRAGER,
|
||
KOSTEN_VOOR,
|
||
AANVRAAG_VOOR,
|
||
TOELICHTING,
|
||
GEWENSTEOPL,
|
||
STANDAARDORDER_CODE,
|
||
STANDAARDORDER_OMS,
|
||
SLA,
|
||
PRODUCTDIENSTNR,
|
||
PRODUCTDIENSTNAAM,
|
||
BEHANDELTEAM,
|
||
UITVOERDER_INTERN,
|
||
DATUM_GEMELD,
|
||
DATUM_GEMELD_TIJD,
|
||
DATUM_GEMELD_MAAND,
|
||
DATUM_STARTDATUM,
|
||
DATUM_STARTDATUM_TIJD,
|
||
DATUM_GEWENST_GEREED,
|
||
DATUM_GEWENST_GEREED_TIJD,
|
||
DATUM_GEREED,
|
||
DATUM_GEREED_TIJD,
|
||
DATUM_GEREED_MAAND,
|
||
DATUM_ADMGEREED,
|
||
DATUM_ADMGEREED_TIJD,
|
||
DATUM_ADMGEREED_MAAND,
|
||
DATUM_IN_BEHANDELING,
|
||
DATUM_IN_BEHANDELING_TIJD,
|
||
DATUM_IN_BEHANDELING_MAAND,
|
||
DATUM_OPDRACHT_GEREED,
|
||
DATUM_OPDRACHT_GEREED_TIJD,
|
||
DATUM_TECHNISCH_GEREED,
|
||
DATUM_TECHNISCH_GEREED_TIJD,
|
||
GEMIGREERD
|
||
)
|
||
AS
|
||
SELECT x.melding_key,
|
||
tbv_ud.fac_usrdata_omschr
|
||
klacht_idee_compliment,
|
||
DECODE (
|
||
accp.melding_accepted,
|
||
NULL, NULL,
|
||
DECODE (
|
||
x.melding_acceptdatum,
|
||
NULL, DECODE (SIGN ( 1
|
||
- mld.getactualuitvoer (
|
||
x.melding_datum,
|
||
accp.melding_accepted,
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'D').tijdsduur),
|
||
-1, 'Buiten norm',
|
||
'Binnen norm'),
|
||
DECODE (
|
||
SIGN (x.melding_acceptdatum - accp.melding_accepted),
|
||
-1, 'Buiten norm',
|
||
'Binnen norm')))
|
||
binnen_norm,
|
||
DECODE (
|
||
accp.melding_accepted,
|
||
NULL, NULL,
|
||
DECODE (
|
||
x.melding_acceptdatum,
|
||
NULL, DECODE ( 1
|
||
- SIGN (mld.getactualuitvoer (
|
||
x.melding_datum,
|
||
accp.melding_accepted,
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'D').tijdsduur),
|
||
-1, ( mld.getactualuitvoer (
|
||
x.melding_datum,
|
||
accp.melding_accepted,
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'D').tijdsduur
|
||
- 1)
|
||
* 9,
|
||
0),
|
||
DECODE (
|
||
SIGN (x.melding_acceptdatum - accp.melding_accepted),
|
||
-1, ( mld.getactualuitvoer (x.melding_acceptdatum,
|
||
accp.melding_accepted,
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'D').tijdsduur
|
||
- 1)
|
||
* 9,
|
||
0)))
|
||
buiten_norm_uren,
|
||
DECODE (accp.melding_accepted,
|
||
NULL, NULL,
|
||
mld.getactualuitvoer (x.melding_datum,
|
||
accp.melding_accepted,
|
||
m.mld_stdmelding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'D').tijdsduur)
|
||
afhandelingstijd,
|
||
TRIM (
|
||
SUBSTR (mc_ud.fac_usrdata_omschr,
|
||
INSTR (mc_ud.fac_usrdata_omschr, '-') + 1))
|
||
klant,
|
||
pfm.prs_perslid_naam_full
|
||
fm,
|
||
--DECODE (ab.prs_afdeling_key4, 97, 'Ja', 'Nee') facilitair_oog, -- 97=o653=DGVBR/FMHaaglanden;TODO:Klantverzoek=NVT???
|
||
CASE
|
||
WHEN ab.prs_afdeling_key4 = 97 -- Melder-afdeling o653=DGVBR/FMHaaglanden
|
||
OR INSTR ('/' || k2a.idpad, '/04O2086') > 0 -- FMHN#71415: Kosten voor-afdeling o2086=DGVBR/UBR/FBU/Rijksbeveiligingsorg.
|
||
THEN
|
||
'Ja'
|
||
ELSE
|
||
'Nee'
|
||
END
|
||
facilitair_oog,
|
||
x.melding_district
|
||
locatieteam,
|
||
x.melding_locatie
|
||
pand,
|
||
x.meldingnummer
|
||
nummer,
|
||
x.soortmelding
|
||
gebruikerstype, -- Vakgroeptype
|
||
x.melding_status
|
||
status,
|
||
m.mld_meldbron_nr
|
||
omschrijving, -- Tijdelijk vullen met Planonnummer
|
||
aog.alg_ruimte_nr
|
||
ruimtenr, -- FMHN#72026: Graag toch vullen!
|
||
aog.alg_plaatsaanduiding
|
||
plaatsaanduiding, -- FMHN#72026: Graag toch vullen!
|
||
DECODE (INSTR (UPPER (x.subproductgroep), 'URGENT'),
|
||
0, x.prioriteittxt,
|
||
'Hoog')
|
||
prioriteit,
|
||
pfa.prs_perslid_naam_full
|
||
aanvrager, -- Vanwege AVG leeg gelaten/FMHN#71415: Graag toch vullen!
|
||
k2a.pad
|
||
kosten_voor,
|
||
--NULL kosten_incl,
|
||
NULL
|
||
aanvraag_voor,
|
||
--TRIM (REPLACE (SUBSTR (m.mld_melding_omschrijving, 1, 200), '"', '''')) toelichting, -- FMHN#71415: Graag toch vullen!
|
||
--m.mld_melding_omschrijving toelichting, -- FMHN#71415: Graag toch vullen!
|
||
omsk.mld_kenmerkmelding_waarde
|
||
toelichting, -- FMHN#71415: Graag toch vullen (uit kenmerkveld igv. Klacht)!
|
||
wowj.mld_kenmerkmelding_waarde
|
||
gewensteopl,
|
||
TO_CHAR (m.mld_stdmelding_key)
|
||
standaardorder_code,
|
||
x.subproductgroep
|
||
standaardorder_oms,
|
||
DECODE (
|
||
x.sla_accpturen,
|
||
NULL, DECODE (x.sla_accptdgn,
|
||
NULL, '1D',
|
||
TO_CHAR (x.sla_accptdgn) || 'D'),
|
||
TO_CHAR (x.sla_accpturen) || 'U')
|
||
sla,
|
||
--NULL nsk_of_overig,
|
||
REGEXP_REPLACE (REGEXP_SUBSTR (x.productgroep,
|
||
'\(([^}]+)\)',
|
||
1,
|
||
1,
|
||
NULL,
|
||
1),
|
||
'[^0-9.]',
|
||
'')
|
||
productdienstnr,
|
||
x.productgroep
|
||
productdienstnaam,
|
||
x.actieve_behandelgroep
|
||
behandelteam,
|
||
--DECODE (b.prs_bedrijf_key, NULL, 'Intern', 'Extern') uitvoerder_intext,
|
||
pfb.prs_perslid_naam_full
|
||
uitvoerder_intern,
|
||
--b.prs_bedrijf_naam uitvoerder_extern,
|
||
x.melding_datum
|
||
datum_gemeld, -- MLDNEW?
|
||
TO_CHAR (x.melding_datum, 'hh24:mi')
|
||
datum_gemeld_tijd, -- MLDNEW?
|
||
TRIM (TO_CHAR (x.melding_datum, 'month'))
|
||
datum_gemeld_maand, -- MLDNEW?
|
||
NULL
|
||
datum_startdatum, -- Planbare meldingen?
|
||
NULL
|
||
datum_startdatum_tijd, -- Planbare meldingen?
|
||
x.melding_einddatum
|
||
datum_gewenst_gereed,
|
||
TO_CHAR (x.melding_einddatum, 'hh24:mi')
|
||
datum_gewenst_gereed_tijd,
|
||
COALESCE (x.melding_afgemeld,
|
||
fac.gettrackingdate ('MLDAFR', x.melding_key))
|
||
datum_gereed, -- KV?
|
||
TO_CHAR (
|
||
COALESCE (x.melding_afgemeld,
|
||
fac.gettrackingdate ('MLDAFR', x.melding_key)),
|
||
'hh24:mi')
|
||
datum_gereed_tijd, -- KV?
|
||
TRIM (
|
||
TO_CHAR (
|
||
COALESCE (x.melding_afgemeld,
|
||
fac.gettrackingdate ('MLDAFR', x.melding_key)),
|
||
'month'))
|
||
datum_gereed_maand,
|
||
NULL
|
||
datum_admgereed,
|
||
NULL
|
||
datum_admgereed_tijd,
|
||
NULL
|
||
datum_admgereed_maand,
|
||
accp.melding_accepted
|
||
datum_in_behandeling, -- / Res. def. / Offerte
|
||
TO_CHAR (accp.melding_accepted, 'hh24:mi')
|
||
datum_in_behandeling_tijd, -- / Res. def. / Offerte tijd
|
||
TRIM (TO_CHAR (accp.melding_accepted, 'month'))
|
||
datum_in_behandeling_maand, -- / Res. def. / Offerte maand
|
||
NULL
|
||
datum_opdracht_gereed,
|
||
NULL
|
||
datum_opdracht_gereed_tijd,
|
||
NULL
|
||
datum_technisch_gereed,
|
||
NULL
|
||
datum_technisch_gereed_tijd,
|
||
DECODE (m.mld_meldbron_nr, NULL, 'Nee', 'Ja')
|
||
gemigreerd
|
||
FROM mld_v_udr_melding x,
|
||
mld_melding m,
|
||
(SELECT *
|
||
FROM prs_v_aanwezigkenmerklink
|
||
WHERE prs_kenmerk_key = 1008) mc, -- Ministeriecode
|
||
fac_v_aanwezigusrdata mc_ud,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pfa,
|
||
prs_v_afdeling_boom ab,
|
||
fmhn_v_rap_idm_afdboom k2a, -- Kostenplaats2Afdeling
|
||
alg_locatie l,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
(SELECT *
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_kenmerk_key = 1060) fm, -- Facilitair Manager
|
||
prs_v_perslid_fullnames_all pfm,
|
||
prs_v_perslid_fullnames_all pfb,
|
||
(SELECT *
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 279) tbv, -- Klacht tbv
|
||
fac_v_aanwezigusrdata tbv_ud,
|
||
(SELECT *
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 175) omsk, -- Omschrijving klacht
|
||
(SELECT *
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 181) wowj, -- Welke oplossing wil je?
|
||
(SELECT t.fac_tracking_refkey,
|
||
MIN (t.fac_tracking_datum) melding_accepted
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key = 44 --MLDACP
|
||
GROUP BY t.fac_tracking_refkey) accp
|
||
WHERE COALESCE (accp.melding_accepted, SYSDATE) >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') -- Of m.melding_datum???
|
||
--AND x.sla_nvt = 0 -- Alleen meldingen waarvoor SLA bewaken aangevinkt!
|
||
--AND x.melding_start_key IS NULL -- Geen (WF-)vervolgmeldingen!
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_stdmelding sm, mld_discipline md
|
||
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key =
|
||
md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 28) -- Klacht
|
||
--AND x.prioriteit IN (3, 4) -- Alle prioriteiten, want bronrapport tbv. niet urgente en urgente meldingen!
|
||
AND x.melding_key = m.mld_melding_key
|
||
--AND m.mld_melding_status IN (5, 6) -- Gesloten (en niet afgewezen)
|
||
AND m.mld_melding_status <> 1 -- Niet afgewezen
|
||
AND m.prs_perslid_key_voor = mc.prs_link_key(+)
|
||
AND fac.safe_to_number (mc.prs_kenmerklink_waarde) =
|
||
mc_ud.fac_usrdata_key(+)
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pfa.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND m.prs_kostenplaats_key = k2a.prs_kostenplaats_key(+)
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
||
AND l.alg_district_key = fm.alg_onrgoed_key(+)
|
||
AND fac.safe_to_number (fm.alg_onrgoedkenmerk_waarde) =
|
||
pfm.prs_perslid_key(+)
|
||
AND COALESCE (m.mld_melding_behandelaar2_key,
|
||
m.mld_melding_behandelaar_key) =
|
||
pfb.prs_perslid_key(+)
|
||
AND x.melding_key = tbv.mld_melding_key(+)
|
||
AND fac.safe_to_number (tbv.mld_kenmerkmelding_waarde) =
|
||
tbv_ud.fac_usrdata_key(+)
|
||
AND x.melding_key = omsk.mld_melding_key(+)
|
||
AND x.melding_key = wowj.mld_melding_key(+)
|
||
AND x.melding_key = accp.fac_tracking_refkey;
|
||
|
||
-- NoShow catering en reserveringen
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_res_noshow
|
||
AS
|
||
SELECT x.res_rsv_ruimte_key,
|
||
x.res_rsv_artikel_levering fact_datum,
|
||
l.alg_locatie_omschrijving gebouw,
|
||
--NULL aanvrager, -- Vanwege AVG leeg/Wel in sleutelbestand!
|
||
k2a.pad kosten_voor,
|
||
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) nummer,
|
||
x.productdienstnr,
|
||
x.productdienstnaam,
|
||
SUM (ROUND (kosten_excl * btw, 2)) kosten_incl,
|
||
--NULL aanvraag_voor, -- Wel in sleutelbestand!
|
||
x.status,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'yyyy') jaar,
|
||
TRIM (TO_CHAR (x.res_rsv_artikel_levering, 'month')) maand,
|
||
--NULL artikel, -- Wel in sleutelbestand!
|
||
--NULL dienst, -- Wel in sleutelbestand!
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1)) departement,
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1)) debiteur,
|
||
--kostendrager.alg_onrgoedkenmerk_waarde kostendrager, -- Wel in sleutelbestand!
|
||
--'600-' || kostendrager.alg_onrgoedkenmerk_waarde kostenplaats, -- Wel in sleutelbestand!
|
||
DECODE (rrr.res_rsv_ruimte_bezoekers_shown,
|
||
0, 'Ja',
|
||
NULL, 'Nee',
|
||
'Nee') noshow
|
||
FROM fmhn_v_rap_res_cat_all x,
|
||
alg_locatie l,
|
||
--(SELECT * FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1020) kostendrager,
|
||
fmhn_v_rap_idm_afdboom k2a, -- Kostenplaats2Afdeling
|
||
fmhn_v_rap_afd2debnr a2d,
|
||
res_rsv_ruimte rrr
|
||
WHERE x.alg_locatie_key = l.alg_locatie_key
|
||
--AND x.alg_gebouw_key = kostendrager.alg_onrgoed_key(+)
|
||
AND x.prs_kostenplaats_key = k2a.prs_kostenplaats_key
|
||
AND k2a.prs_afdeling_key = a2d.prs_afdeling_key
|
||
AND rrr.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
GROUP BY x.res_rsv_ruimte_key,
|
||
x.res_rsv_artikel_levering,
|
||
l.alg_locatie_omschrijving,
|
||
k2a.pad,
|
||
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr),
|
||
x.productdienstnr,
|
||
x.productdienstnaam,
|
||
x.status,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'yyyy'),
|
||
TRIM (TO_CHAR (x.res_rsv_artikel_levering, 'month')),
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1)),
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1)),
|
||
DECODE (rrr.res_rsv_ruimte_bezoekers_shown, 0, 'Ja', NULL, 'Nee', 'Nee');
|
||
|
||
-- NoShow catering en reserveringen, totalen per reservering
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_res_noshow_sum
|
||
AS
|
||
SELECT x.res_rsv_ruimte_key,
|
||
TRUNC (x.res_rsv_artikel_levering)
|
||
fact_datum,
|
||
l.alg_locatie_omschrijving
|
||
gebouw,
|
||
k2a.pad
|
||
kosten_voor,
|
||
TO_CHAR (x.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (x.res_rsv_ruimte_volgnr)
|
||
nummer,
|
||
x.productdienstnr,
|
||
x.productdienstnaam,
|
||
SUM (ROUND (kosten_excl * btw, 2))
|
||
kosten_incl,
|
||
x.status,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'yyyy')
|
||
jaar,
|
||
TRIM (TO_CHAR (x.res_rsv_artikel_levering, 'month'))
|
||
maand,
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1))
|
||
departement,
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1))
|
||
debiteur,
|
||
DECODE (rrr.res_rsv_ruimte_bezoekers_shown,
|
||
0, 'Ja',
|
||
NULL, 'Nee',
|
||
'Nee') noshow,
|
||
pc.prs_perslid_naam_friendly
|
||
aanvrager,
|
||
ph.prs_perslid_naam_friendly
|
||
bestemd_voor
|
||
FROM fmhn_v_rap_res_cat_all x,
|
||
alg_locatie l,
|
||
fmhn_v_rap_idm_afdboom k2a, -- Kostenplaats2Afdeling
|
||
fmhn_v_rap_afd2debnr a2d,
|
||
prs_v_perslid_fullnames ph,
|
||
prs_v_perslid_fullnames pc,
|
||
res_rsv_ruimte rrr
|
||
WHERE x.alg_locatie_key = l.alg_locatie_key
|
||
AND x.prs_kostenplaats_key = k2a.prs_kostenplaats_key
|
||
AND k2a.prs_afdeling_key = a2d.prs_afdeling_key
|
||
AND rrr.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND x.res_rsv_ruimte_host_key = ph.prs_perslid_key(+)
|
||
AND x.res_rsv_ruimte_contact_key = pc.prs_perslid_key(+)
|
||
GROUP BY x.res_rsv_ruimte_key,
|
||
TRUNC (x.res_rsv_artikel_levering),
|
||
l.alg_locatie_omschrijving,
|
||
k2a.pad,
|
||
TO_CHAR (x.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (x.res_rsv_ruimte_volgnr),
|
||
x.productdienstnr,
|
||
x.productdienstnaam,
|
||
x.status,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'yyyy'),
|
||
TRIM (TO_CHAR (x.res_rsv_artikel_levering, 'month')),
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1)),
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1)),
|
||
DECODE (rrr.res_rsv_ruimte_bezoekers_shown, 0, 'Ja', NULL, 'Nee', 'Nee'),
|
||
ph.prs_perslid_naam_friendly,
|
||
pc.prs_perslid_naam_friendly
|
||
UNION ALL
|
||
SELECT x.res_rsv_ruimte_key,
|
||
TRUNC (x.res_rsv_ruimte_van)
|
||
fact_datum,
|
||
l.alg_locatie_omschrijving
|
||
gebouw,
|
||
k2a.pad
|
||
kosten_voor,
|
||
TO_CHAR (x.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (x.res_rsv_ruimte_volgnr)
|
||
nummer,
|
||
x.productdienstnr,
|
||
x.productdienstnaam,
|
||
NULL
|
||
kosten_incl,
|
||
x.status,
|
||
TO_CHAR (x.res_rsv_ruimte_van, 'yyyy')
|
||
jaar,
|
||
TRIM (TO_CHAR (x.res_rsv_ruimte_van, 'month'))
|
||
maand,
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1))
|
||
departement,
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1))
|
||
debiteur,
|
||
x.noshow,
|
||
pc.prs_perslid_naam_friendly
|
||
aanvrager,
|
||
ph.prs_perslid_naam_friendly
|
||
bestemd_voor
|
||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
planonnr.res_kenmerkreservering_waarde
|
||
planonnr,
|
||
aog.alg_locatie_key,
|
||
aog.alg_gebouw_key,
|
||
rrr.res_rsv_ruimte_contact_key,
|
||
rrr.res_rsv_ruimte_host_key,
|
||
rrr.res_rsv_ruimte_van,
|
||
DECODE (rrr.res_activiteit_key, 11, '2230.01', '1430.02')
|
||
productdienstnr, -- nummer?
|
||
DECODE (rrr.res_activiteit_key,
|
||
11, 'Roomservice',
|
||
'Reservering vergaderzalen')
|
||
productdienstnaam, -- categorie?
|
||
rrr.prs_kostenplaats_key,
|
||
rd.prs_kostensoort_key,
|
||
s.res_status_bo_omschrijving
|
||
status,
|
||
DECODE (rrr.res_rsv_ruimte_bezoekers_shown,
|
||
0, 'Ja',
|
||
NULL, 'Nee',
|
||
'Nee')
|
||
noshow
|
||
FROM res_rsv_ruimte rrr,
|
||
(SELECT *
|
||
FROM res_v_aanwezigkenmerkwaarde
|
||
WHERE res_kenmerk_key IN (21,
|
||
22,
|
||
23,
|
||
24,
|
||
363,
|
||
368)) planonnr, -- Referentienummer
|
||
res_ruimte_opstelling rro,
|
||
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) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
res_discipline rd,
|
||
res_status_bo s
|
||
WHERE ( rrr.res_rsv_ruimte_verwijder IS NULL
|
||
OR ( rrr.res_rsv_ruimte_verwijder IS NOT NULL
|
||
AND rrr.res_status_fo_key = 4))
|
||
AND rrr.res_rsv_ruimte_tot >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy')
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_rsv_ruimte_key =
|
||
planonnr.res_rsv_ruimte_key(+)
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key(+)
|
||
AND rr.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rr.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key,
|
||
rrr.alg_ruimte_key) =
|
||
aog.alg_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key NOT IN
|
||
(SELECT res_rsv_ruimte_key FROM res_rsv_artikel)
|
||
AND rr.res_discipline_key = rd.ins_discipline_key
|
||
AND rrr.res_status_bo_key = s.res_status_bo_key) x,
|
||
alg_locatie l,
|
||
fmhn_v_rap_idm_afdboom k2a, -- Kostenplaats2Afdeling
|
||
fmhn_v_rap_afd2debnr a2d,
|
||
prs_v_perslid_fullnames ph,
|
||
prs_v_perslid_fullnames pc
|
||
WHERE x.alg_locatie_key = l.alg_locatie_key
|
||
AND x.prs_kostenplaats_key = k2a.prs_kostenplaats_key
|
||
AND k2a.prs_afdeling_key = a2d.prs_afdeling_key(+)
|
||
AND x.res_rsv_ruimte_host_key = ph.prs_perslid_key(+)
|
||
AND x.res_rsv_ruimte_contact_key = pc.prs_perslid_key(+)
|
||
GROUP BY x.res_rsv_ruimte_key,
|
||
TRUNC (x.res_rsv_ruimte_van),
|
||
l.alg_locatie_omschrijving,
|
||
k2a.pad,
|
||
TO_CHAR (x.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (x.res_rsv_ruimte_volgnr),
|
||
x.productdienstnr,
|
||
x.productdienstnaam,
|
||
x.status,
|
||
TO_CHAR (x.res_rsv_ruimte_van, 'yyyy'),
|
||
TRIM (TO_CHAR (x.res_rsv_ruimte_van, 'month')),
|
||
TRIM (SUBSTR (a2d.debiteur, 1, INSTR (a2d.debiteur, '/') - 1)),
|
||
TRIM (SUBSTR (a2d.debiteur, INSTR (a2d.debiteur, '/') + 1)),
|
||
x.noshow,
|
||
ph.prs_perslid_naam_friendly,
|
||
pc.prs_perslid_naam_friendly;
|
||
|
||
-- Af te handelen meldingen vandaag vs. komende 5 werkdagen
|
||
--CREATE OR REPLACE VIEW fmhn_v_udr_mld_oranje
|
||
CREATE OR REPLACE VIEW fmhn_v_udr_mld_open_d
|
||
AS
|
||
SELECT m.mld_melding_key melding_key,
|
||
vt.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnummer,
|
||
--x.melding_start_key,
|
||
--x.melding_regio,
|
||
d.alg_district_omschrijving melding_district,
|
||
l.alg_locatie_code locatiecode,
|
||
l.alg_locatie_omschrijving locatie,
|
||
--x.melding_locatieplaats,
|
||
--x.melding_gebouwcode,
|
||
--x.melding_gebouw,
|
||
--x.melding_verdieping,
|
||
--x.melding_ruimtenr,
|
||
--x.melding_ruimte,
|
||
--x.kostensoortgroep,
|
||
--x.kostensoort,
|
||
--x.kostenplaats,
|
||
--x.kostenplaats_oms,
|
||
--x.melder,
|
||
--x.afdeling,
|
||
--x.afdeling_omschrijving afdeling_oms,
|
||
--x.invoerder,
|
||
--x.meldbron,
|
||
vt.ins_srtdiscipline_omschrijving vakgroeptype,
|
||
v.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving soortmelding,
|
||
--x.behandelgroep,
|
||
--x.behandelaar,
|
||
COALESCE (bt.ins_discipline_omschrijving, 'Onbekend') behandelteam,
|
||
--x.actieve_behandelaar,
|
||
--x.melding_status,
|
||
--x.sla_nvt,
|
||
--x.sla_accptdgn,
|
||
--x.sla_accpturen,
|
||
--x.sla_werkdgn,
|
||
--x.sla_werkuren,
|
||
--x.plan_uitvoertijd_sla,
|
||
m.mld_melding_datum periode,
|
||
--x.melding_einddatum,
|
||
--x.melding_einddatum_std,
|
||
--x.melding_acceptdatum,
|
||
--x.melding_afgemeld,
|
||
--x.melding_accepted,
|
||
--x.doorlooptijd_werkdgn,
|
||
--x.doorlooptijd_werkuren,
|
||
--x.onderwerp,
|
||
--x.vomschrijving omschrijving,
|
||
--x.melding_opmerking,
|
||
--x.prioriteit,
|
||
--x.rating,
|
||
--x.rating_opmerking rating_opm,
|
||
--x.actiecode,
|
||
--x.accept_sla_dagen,
|
||
--x.accept_sla_uren,
|
||
--x.uitvoering_sla_dagen,
|
||
--x.uitvoering_sla_uren,
|
||
--x.afspraak_sla_dagen,
|
||
--x.afspraak_sla_uren,
|
||
--DECODE (UPPER (x.accept_sla_optijd), 'JA', 1, 0) accept_sla_optijd,
|
||
--1 - DECODE (UPPER (x.accept_sla_optijd), 'JA', 1, 0) accept_sla_telaat,
|
||
--DECODE (UPPER (x.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_optijd,
|
||
--1 - DECODE (UPPER (x.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_telaat,
|
||
--DECODE (UPPER (x.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_optijd,
|
||
--1 - DECODE (UPPER (x.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_telaat,
|
||
--x.selfservice,
|
||
--TO_CHAR (x.melding_afgemeld, 'yyyy-mm') maand,
|
||
DECODE (
|
||
SIGN (
|
||
TRUNC (
|
||
CASE
|
||
WHEN x.sla_respijtdgn IS NOT NULL
|
||
THEN
|
||
m.mld_melding_einddatum_std
|
||
+ x.sla_respijtdgn
|
||
WHEN x.sla_respijturen IS NOT NULL
|
||
THEN
|
||
m.mld_melding_einddatum_std
|
||
+ (x.sla_respijturen / 24)
|
||
ELSE
|
||
m.mld_melding_einddatum_std
|
||
END)
|
||
- TRUNC (SYSDATE)),
|
||
0, 1,
|
||
0)
|
||
sla_vandaag,
|
||
CASE
|
||
WHEN fac.count_work_days (
|
||
SYSDATE,
|
||
CASE
|
||
WHEN x.sla_respijtdgn IS NOT NULL
|
||
THEN
|
||
m.mld_melding_einddatum_std
|
||
+ x.sla_respijtdgn
|
||
WHEN x.sla_respijturen IS NOT NULL
|
||
THEN
|
||
m.mld_melding_einddatum_std
|
||
+ (x.sla_respijturen / 24)
|
||
ELSE
|
||
m.mld_melding_einddatum_std
|
||
END) BETWEEN 1
|
||
AND 5
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
sla_over5wd,
|
||
l.alg_locatie_key locatie_key,
|
||
m.mld_ins_discipline_key behandelteam_key
|
||
FROM mld_v_udr_melding x,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline v,
|
||
ins_srtdiscipline vt,
|
||
mld_discipline bt,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE --x.melding_datum < SYSDATE -- Niet in de toekomst!
|
||
--AND x.melding_afgemeld IS NULL -- Niet afgemeld, dus lopend!
|
||
x.melding_key = m.mld_melding_key
|
||
AND m.mld_melding_status NOT IN (1, 5, 6) -- Open (anders dan Afgewezen/Afgemeld/Historie)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.mld_ins_discipline_key NOT IN (48, 243, 823) -- Functioneel Beheer/Fube Quickcalls/Functioneelbeheer ICT Aanvragen
|
||
AND m.mld_ins_discipline_key NOT IN (683) -- Facilitair Medewerker FCC (VOR Kaarten!)
|
||
AND sm.mld_ins_discipline_key = v.ins_discipline_key
|
||
AND v.ins_srtdiscipline_key = vt.ins_srtdiscipline_key
|
||
AND vt.ins_srtdiscipline_key IN (21, 24, 201, 25, 26, 27, 28, 29, 30, 121, 122, 123, 141, 142, 143) -- Behandelteams/Aanvraag/Compliment/Idee/Incidentmelding/Klacht/Storing/Storing objecten/RS8 -- FMHN#72353: Vakgroeptype 201 'Evenement aanvragen' afgesplitst van 24 (Aanvragen)
|
||
AND m.mld_ins_discipline_key = bt.ins_discipline_key(+)
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND l.alg_district_key = d.alg_district_key(+)
|
||
AND ( SIGN (
|
||
TRUNC (m.mld_melding_einddatum_std) - TRUNC (SYSDATE)) =
|
||
0
|
||
OR fac.count_work_days (
|
||
SYSDATE,
|
||
CASE
|
||
WHEN x.sla_respijtdgn IS NOT NULL
|
||
THEN
|
||
M.mld_melding_einddatum_std + x.sla_respijtdgn
|
||
WHEN x.sla_respijturen IS NOT NULL
|
||
THEN
|
||
M.mld_melding_einddatum_std
|
||
+ (x.sla_respijturen / 24)
|
||
ELSE
|
||
M.mld_melding_einddatum_std
|
||
END) BETWEEN 0
|
||
AND 5);
|
||
|
||
-- Openstaande meldingen tussen [w1] en [w2] weken
|
||
--CREATE OR REPLACE VIEW fmhn_v_udr_mld_telaat
|
||
CREATE OR REPLACE VIEW fmhn_v_udr_mld_open_w
|
||
AS
|
||
SELECT m.mld_melding_key melding_key,
|
||
vt.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnummer,
|
||
--x.melding_start_key,
|
||
--x.melding_regio,
|
||
d.alg_district_omschrijving melding_district,
|
||
l.alg_locatie_code locatiecode,
|
||
l.alg_locatie_omschrijving locatie,
|
||
--x.melding_locatieplaats,
|
||
--x.melding_gebouwcode,
|
||
--x.melding_gebouw,
|
||
--x.melding_verdieping,
|
||
--x.melding_ruimtenr,
|
||
--x.melding_ruimte,
|
||
--x.kostensoortgroep,
|
||
--x.kostensoort,
|
||
--x.kostenplaats,
|
||
--x.kostenplaats_oms,
|
||
--x.melder,
|
||
--x.afdeling,
|
||
--x.afdeling_omschrijving afdeling_oms,
|
||
--x.invoerder,
|
||
--x.meldbron,
|
||
vt.ins_srtdiscipline_omschrijving vakgroeptype,
|
||
v.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving soortmelding,
|
||
--x.behandelgroep,
|
||
--x.behandelaar,
|
||
COALESCE (bt.ins_discipline_omschrijving, 'Onbekend') behandelteam,
|
||
--x.actieve_behandelaar,
|
||
--x.melding_status,
|
||
--x.sla_nvt,
|
||
--x.sla_accptdgn,
|
||
--x.sla_accpturen,
|
||
--x.sla_werkdgn,
|
||
--x.sla_werkuren,
|
||
--x.plan_uitvoertijd_sla,
|
||
m.mld_melding_datum periode,
|
||
--x.melding_einddatum,
|
||
--x.melding_einddatum_std,
|
||
--x.melding_acceptdatum,
|
||
--x.melding_afgemeld,
|
||
--x.melding_accepted,
|
||
--x.doorlooptijd_werkdgn,
|
||
--x.doorlooptijd_werkuren,
|
||
--x.onderwerp,
|
||
--x.vomschrijving omschrijving,
|
||
--x.melding_opmerking,
|
||
--x.prioriteit,
|
||
--x.rating,
|
||
--x.rating_opmerking rating_opm,
|
||
--x.actiecode,
|
||
--x.accept_sla_dagen,
|
||
--x.accept_sla_uren,
|
||
--x.uitvoering_sla_dagen,
|
||
--x.uitvoering_sla_uren,
|
||
--x.afspraak_sla_dagen,
|
||
--x.afspraak_sla_uren,
|
||
--DECODE (UPPER (x.accept_sla_optijd), 'JA', 1, 0) accept_sla_optijd,
|
||
--1 - DECODE (UPPER (x.accept_sla_optijd), 'JA', 1, 0) accept_sla_telaat,
|
||
DECODE (SIGN (m.mld_melding_einddatum_std - SYSDATE), -1, 0, 1) uitvoering_sla_optijd,
|
||
DECODE (SIGN (m.mld_melding_einddatum_std - SYSDATE), -1, 1, 0) uitvoering_sla_telaat,
|
||
--DECODE (UPPER (x.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_optijd,
|
||
--1 - DECODE (UPPER (x.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_telaat,
|
||
--x.selfservice,
|
||
--TO_CHAR (x.melding_afgemeld, 'yyyy-mm') maand,
|
||
l.alg_locatie_key locatie_key,
|
||
m.mld_ins_discipline_key behandelteam_key
|
||
FROM --mld_v_udr_melding x,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline v,
|
||
ins_srtdiscipline vt,
|
||
mld_discipline bt,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE --x.melding_datum < SYSDATE -- Niet in de toekomst!
|
||
--AND x.melding_afgemeld IS NULL -- Niet afgemeld, dus lopend!
|
||
--AND x.melding_key = m.mld_melding_key
|
||
m.mld_melding_status NOT IN (1, 5, 6) -- Open (anders dan Afgewezen/Afgemeld/Historie)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.mld_ins_discipline_key NOT IN (48, 243, 823) -- Functioneel Beheer/Fube Quickcalls/Functioneelbeheer ICT Aanvragen
|
||
AND m.mld_ins_discipline_key NOT IN (683) -- Facilitair Medewerker FCC (VOR Kaarten!)
|
||
AND sm.mld_ins_discipline_key = v.ins_discipline_key
|
||
AND v.ins_srtdiscipline_key = vt.ins_srtdiscipline_key
|
||
AND vt.ins_srtdiscipline_key IN (21, 24, 201, 25, 26, 27, 28, 29, 30, 121, 122, 123, 141, 142, 143) -- Behandelteams/Aanvraag/Compliment/Idee/Incidentmelding/Klacht/Storing/Storing objecten/RS8 -- FMHN#72353: Vakgroeptype 201 'Evenement aanvragen' afgesplitst van 24 (Aanvragen)
|
||
AND m.mld_ins_discipline_key = bt.ins_discipline_key(+)
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND l.alg_district_key = d.alg_district_key(+)
|
||
;
|
||
|
||
-- Reserveringen & evenementen
|
||
CREATE OR REPLACE VIEW fmhn_v_udr_res_aantallen
|
||
AS
|
||
SELECT DISTINCT
|
||
--b.prs_bedrijf_naam,
|
||
--p.prs_afdeling_key,
|
||
--SUBSTR (a.prs_afdeling_externid, 3) afdnr,
|
||
--a.prs_afdeling_naam afdcode,
|
||
--a.prs_afdeling_omschrijving afdoms,
|
||
d.alg_district_omschrijving district,
|
||
l.alg_locatie_code locatiecode,
|
||
l.alg_locatie_omschrijving locatie,
|
||
aog.alg_gebouw_code gebouwcode,
|
||
aog.alg_gebouw_naam gebouw,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr resid,
|
||
rrr.res_rsv_ruimte_van periode,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
act.res_activiteit_omschrijving activiteit,
|
||
rrr.res_rsv_ruimte_omschrijving omschrijving,
|
||
rrr.res_rsv_ruimte_bezoekers aantal_pers,
|
||
rrr.res_rsv_ruimte_bezoekers_shown aantal_show,
|
||
rrr.res_rsv_ruimte_noshow noshow,
|
||
rrr.res_status_fo_key fo_status,
|
||
rrr.res_status_bo_key bo_status,
|
||
rrr.res_rsv_ruimte_verwijder,
|
||
TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyy-mm') maand,
|
||
DECODE (
|
||
rrr.res_rsv_ruimte_dirtlevel,
|
||
0,
|
||
DECODE (
|
||
rrr.res_status_fo_key,
|
||
1,
|
||
DECODE (rrr.res_activiteit_key,
|
||
10, 'Vergadering-Optie',
|
||
11, 'Roomservice-Optie',
|
||
70, 'Roomservice-Optie', -- Pantry service RS8 als Roomservice???
|
||
71, 'Roomservice-Optie', -- Bestuurlijke Top service RS8 als Roomservice???
|
||
'Evenement-Optie'),
|
||
DECODE (rrr.res_activiteit_key,
|
||
10, 'Vergadering-Definitief',
|
||
11, 'Roomservice-Definitief',
|
||
70, 'Roomservice-Definitief', -- Pantry service RS8 als Roomservice???
|
||
71, 'Roomservice-Definitief', -- Bestuurlijke Top service RS8 als Roomservice???
|
||
'Evenement-Definitief')),
|
||
'Ongeldig')
|
||
soortreservering,
|
||
l.alg_locatie_key locatie_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_activiteit act,
|
||
--prs_perslid p,
|
||
--prs_v_afdeling_boom ab,
|
||
--prs_bedrijf b,
|
||
--prs_afdeling a,
|
||
res_ruimte_opstelling rro,
|
||
( 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) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE rrr.res_rsv_ruimte_tot BETWEEN TRUNC (SYSDATE, 'iw') AND TRUNC (SYSDATE, 'iw') + 28 -- Of rrr.res_rsv_ruimte_van
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_activiteit_key = act.res_activiteit_key
|
||
AND act.res_activiteit_key IN (10, 11, 30, 70, 71) -- Vergadering/Roomservice/Evenement/Pantry service RS8/Bestuurlijke Top service RS8
|
||
--AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
--AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
--AND ab.prs_bedrijf_key = b.prs_bedrijf_key
|
||
--AND ab.prs_afdeling_key = a.prs_afdeling_key
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key
|
||
;
|
||
/* WEG???
|
||
CREATE OR REPLACE VIEW fmhn_v_udr_ord_open
|
||
AS
|
||
SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype,
|
||
md.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving soortmelding,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key)
|
||
meldingnummer,
|
||
DECODE (mld_melding_spoed,
|
||
3, lcl.l ('lcl_mld_urg_normaal'),
|
||
1, lcl.l ('lcl_mld_urg_kritiek'),
|
||
2, lcl.l ('lcl_mld_urg_hoog'),
|
||
4, lcl.l ('lcl_mld_urg_laag'))
|
||
prio,
|
||
d.alg_district_omschrijving district,
|
||
l.alg_locatie_code locatiecode,
|
||
l.alg_locatie_omschrijving locatie,
|
||
aog.alg_gebouw_code gebouwcode,
|
||
aog.alg_gebouw_naam gebouw,
|
||
o.mld_opdr_key,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
opdrachtnummer,
|
||
ot.mld_typeopdr_omschrijving opdrachttype,
|
||
o.mld_opdr_datumbegin,
|
||
--TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy') datum,
|
||
--TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') tijd,
|
||
TO_CHAR (mld_statusopdr_key) status_key,
|
||
(SELECT mld_statusopdr_omschrijving
|
||
FROM mld_statusopdr
|
||
WHERE mld_statusopdr_key = o.mld_statusopdr_key)
|
||
status,
|
||
o.mld_opdr_einddatum,
|
||
--TO_CHAR (o.mld_opdr_einddatum, 'dd-mm-yyyy') einddatum,
|
||
--TO_CHAR (o.mld_opdr_einddatum, 'hh24:mi') eindtijd,
|
||
(SELECT naam
|
||
FROM mld_v_uitvoerende
|
||
WHERE mld_uitvoerende_key = o.mld_uitvoerende_keys)
|
||
opdracht_uitvoerende,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all
|
||
WHERE prs_perslid_key = o.prs_perslid_key)
|
||
behandelaar
|
||
FROM mld_opdr o,
|
||
mld_typeopdr ot,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_disc_params mdp,
|
||
alg_locatie l,
|
||
alg_district d,
|
||
alg_v_allonrgoed_gegevens aog
|
||
WHERE o.mld_statusopdr_key IN (3, 4, 5, 8, 10) -- Lopend (inclusief afgemelde Offerteaanvragen?)
|
||
AND o.mld_typeopdr_key = ot.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 = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND md.ins_discipline_key = mdp.mld_ins_discipline_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key
|
||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
||
;
|
||
*/
|
||
/*
|
||
CREATE OR REPLACE VIEW fmhn_v_udr_mld_beh
|
||
AS
|
||
SELECT x.meldingnummer,
|
||
x.melding_start_key,
|
||
x.melding_regio,
|
||
x.melding_district,
|
||
x.melding_locatiecode,
|
||
x.melding_locatie,
|
||
x.melding_locatieplaats,
|
||
x.melding_gebouwcode,
|
||
x.melding_gebouw,
|
||
x.melding_verdieping,
|
||
x.melding_ruimtenr,
|
||
x.melding_ruimte,
|
||
x.kostensoortgroep,
|
||
x.kostensoort,
|
||
x.kostenplaats,
|
||
x.kostenplaats_oms,
|
||
x.melder,
|
||
x.afdeling,
|
||
x.afdeling_omschrijving afdeling_oms,
|
||
x.invoerder,
|
||
x.meldbron,
|
||
x.soortmelding vakgroeptype,
|
||
x.productgroep vakgroep,
|
||
x.subproductgroep soortmelding,
|
||
x.behandelgroep,
|
||
x.behandelaar,
|
||
x.actieve_behandelgroep,
|
||
x.actieve_behandelaar,
|
||
x.melding_status,
|
||
x.sla_nvt,
|
||
x.sla_accptdgn,
|
||
x.sla_accpturen,
|
||
x.sla_werkdgn,
|
||
x.sla_werkuren,
|
||
x.plan_uitvoertijd_sla,
|
||
x.melding_datum,
|
||
x.melding_einddatum,
|
||
x.melding_einddatum_std,
|
||
x.melding_acceptdatum,
|
||
x.melding_afgemeld,
|
||
x.melding_accepted,
|
||
x.doorlooptijd_werkdgn,
|
||
x.doorlooptijd_werkuren,
|
||
x.onderwerp,
|
||
x.vomschrijving omschrijving,
|
||
x.melding_opmerking,
|
||
x.prioriteit,
|
||
x.rating,
|
||
x.rating_opmerking rating_opm,
|
||
x.actiecode,
|
||
x.accept_sla_dagen,
|
||
x.accept_sla_uren,
|
||
x.uitvoering_sla_dagen,
|
||
x.uitvoering_sla_uren,
|
||
x.afspraak_sla_dagen,
|
||
x.afspraak_sla_uren,
|
||
DECODE (UPPER (x.accept_sla_optijd), 'JA', 1, 0) accept_sla_optijd,
|
||
1 - DECODE (UPPER (x.accept_sla_optijd), 'JA', 1, 0) accept_sla_telaat,
|
||
DECODE (UPPER (x.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_optijd,
|
||
1 - DECODE (UPPER (x.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_telaat,
|
||
DECODE (UPPER (x.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_optijd,
|
||
1 - DECODE (UPPER (x.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_telaat,
|
||
x.selfservice,
|
||
TO_CHAR (x.melding_afgemeld, 'yyyy-mm') maand,
|
||
COALESCE (x.actieve_behandelaar, x.actieve_behandelgroep, x.behandelaar, '*Onbekend') in_behandeling_bij
|
||
FROM mld_v_udr_melding x,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md
|
||
WHERE x.melding_datum < SYSDATE -- Niet in de toekomst!
|
||
AND x.melding_afgemeld IS NULL -- Niet afgemeld, dus lopend!
|
||
AND x.melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.mld_ins_discipline_key NOT IN (48, 243, 823) -- Functioneel Beheer/Fube Quickcalls/Functioneelbeheer ICT Aanvragen
|
||
AND m.mld_ins_discipline_key NOT IN (683) -- Facilitair Medewerker FCC (VOR Kaarten!)
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key IN (21, 24, 201, 25, 26, 27, 28, 29, 30, 121, 122, 123, 141, 142, 143) -- Behandelteams/Aanvraag/Compliment/Idee/Incidentmelding/Klacht/Storing/Storing objecten/RS8 -- FMHN#72353: Vakgroeptype 201 'Evenement aanvragen' afgesplitst van 24 (Aanvragen)
|
||
;
|
||
*/
|
||
CREATE OR REPLACE VIEW FMHN_V_UDR_OPDRACHT_PLUS
|
||
(
|
||
OPDRACHT_KEY,
|
||
OPDRACHT_NUMMER,
|
||
OPDRACHT_REGIO,
|
||
OPDRACHT_DISTRICT,
|
||
LOCATIECODE,
|
||
LOCATIE,
|
||
OPDRACHT_LOCATIEPLAATS,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
OPDRACHT_GEBOUWCODE,
|
||
OPDRACHT_GEBOUW,
|
||
OPDRACHT_VERDIEPING,
|
||
OPDRACHT_RUIMTENR,
|
||
OPDRACHT_RUIMTE,
|
||
OPDRACHT_KOSTENPLAATS,
|
||
OPDRACHT_KOSTENPLAATS_OMS,
|
||
MELDING_KEY,
|
||
OPDRACHT_TYPE,
|
||
OPDRACHT_VOLGNUMMER,
|
||
OPDRACHT_STATUS,
|
||
OPDRACHT_DUUR_GEPLAND,
|
||
PERIODE, -- OPDRACHT_DATUM,
|
||
OPDRACHT_EINDDATUM,
|
||
OPDRACHT_PLANDATUM,
|
||
OPDRACHT_ACCEPTDATUM,
|
||
OPDRACHT_AFGEMELD,
|
||
OPDRACHT_DOORLOOPTIJD,
|
||
OPDRACHT_ACCEPTTIJD,
|
||
OPDRACHT_OMSCHRIJVING,
|
||
OPDRACHT_OPMERKING,
|
||
OPDRACHT_UITVOERENDE,
|
||
OPDRACHT_UITVOERENDE_CONTACT,
|
||
OPDRACHT_BEHANDELAAR,
|
||
OPDRACHT_CONTRACT,
|
||
OPDRACHT_CONTRACT_VERSIE,
|
||
OPDRACHT_CONTACTPERSOON,
|
||
OPDRACHT_UREN,
|
||
OPDRACHT_CORRECTIE,
|
||
OPDRACHT_MATERIAAL,
|
||
OPDRACHT_UURTARIEF,
|
||
OPDRACHT_KOSTEN,
|
||
OPDRACHT_PARENT_KEY,
|
||
OPDRACHT_PARENT_NUMMER,
|
||
OPDRACHT_PARENT_VOLGNUMMER,
|
||
OPDRACHT_VERSTREKTDATUM,
|
||
OPDRACHT_LEV_DOORLOOPDAGEN,
|
||
OPDRACHT_LEV_DOORLOOPUREN,
|
||
UITVOERENDE_OPDRACHTTYPE,
|
||
UITVOERENDE_KEY
|
||
)
|
||
AS
|
||
SELECT x.opdracht_key,
|
||
x.opdracht_nummer,
|
||
x.opdracht_regio,
|
||
x.opdracht_district,
|
||
x.opdracht_locatie_code,
|
||
x.opdracht_locatie,
|
||
x.opdracht_locatieplaats,
|
||
x.fclt_3d_locatie_key,
|
||
x.opdracht_gebouwcode,
|
||
x.opdracht_gebouw,
|
||
x.opdracht_verdieping,
|
||
x.opdracht_ruimtenr,
|
||
x.opdracht_ruimte,
|
||
x.opdracht_kostenplaats,
|
||
x.opdracht_kostenplaats_oms,
|
||
x.melding_key,
|
||
x.opdracht_type,
|
||
x.opdracht_volgnummer,
|
||
x.opdracht_status,
|
||
x.opdracht_duur_gepland,
|
||
x.opdracht_datum periode,
|
||
x.opdracht_einddatum,
|
||
x.opdracht_plandatum,
|
||
x.opdracht_acceptdatum,
|
||
x.opdracht_afgemeld,
|
||
x.opdracht_doorlooptijd,
|
||
x.opdracht_accepttijd,
|
||
x.opdracht_omschrijving,
|
||
x.opdracht_opmerking,
|
||
x.opdracht_uitvoerende,
|
||
x.opdracht_uitvoerende_contact,
|
||
x.opdracht_behandelaar,
|
||
x.opdracht_contract,
|
||
x.opdracht_contract_versie,
|
||
x.opdracht_contactpersoon,
|
||
x.opdracht_uren,
|
||
x.opdracht_correctie,
|
||
x.opdracht_materiaal,
|
||
x.opdracht_uurtarief,
|
||
x.opdracht_kosten,
|
||
x.opdracht_parent_key,
|
||
x.opdracht_parent_nummer,
|
||
x.opdracht_parent_volgnummer,
|
||
x.opdracht_verstrektdatum,
|
||
x.opdracht_lev_doorloopdagen,
|
||
x.opdracht_lev_doorloopuren,
|
||
x.opdracht_uitvoerende || '-' || opdracht_type uitvoerende,
|
||
o.mld_uitvoerende_keys uitvoerende_key
|
||
FROM mld_v_udr_opdracht x,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md
|
||
WHERE x.opdracht_key = o.mld_opdr_key
|
||
AND o.mld_statusopdr_key IN (3, 4, 5, 8, 10) -- Open
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
--AND m.mld_melding_status NOT IN (1, 5, 6) -- Open
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.mld_ins_discipline_key NOT IN (48, 243, 823) -- Functioneel Beheer/Fube Quickcalls/Functioneelbeheer ICT Aanvragen
|
||
AND m.mld_ins_discipline_key NOT IN (683) -- Facilitair Medewerker FCC (VOR Kaarten!)
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key IN
|
||
(21, -- Behandelteams
|
||
24, -- Aanvraag
|
||
201, -- Evenement aanvraag -- FMHN#72353: Vakgroeptype 201 'Evenement aanvragen' afgesplitst van 24 (Aanvragen)
|
||
25, -- Compliment
|
||
26, -- Idee
|
||
27, -- Incidentmelding
|
||
28, -- Klacht
|
||
29, -- Storing
|
||
30, -- Storing
|
||
121, -- RS8 Aanvraag
|
||
122, -- RS8 Klacht/Storing
|
||
123, -- RS8 Klacht/Storing object
|
||
141, -- RS8 Compliment
|
||
142, -- RS8 Idee
|
||
143) -- RS8 Incidentmelding
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_kpi
|
||
AS
|
||
SELECT m.meldingnummer,
|
||
m.melding_start_key,
|
||
m.melding_regio,
|
||
m.melding_district,
|
||
m.melding_locatiecode,
|
||
m.melding_locatie,
|
||
m.melding_locatieplaats,
|
||
m.melding_gebouwcode,
|
||
m.melding_gebouw,
|
||
m.melding_verdieping,
|
||
m.melding_ruimtenr,
|
||
m.melding_ruimte,
|
||
m.kostensoortgroep,
|
||
m.kostensoort,
|
||
m.kostenplaats,
|
||
m.kostenplaats_oms,
|
||
m.melder,
|
||
m.afdeling,
|
||
m.afdeling_omschrijving afdeling_oms,
|
||
m.invoerder,
|
||
m.meldbron,
|
||
m.soortmelding vakgroeptype,
|
||
m.productgroep vakgroep,
|
||
m.subproductgroep soortmelding,
|
||
m.behandelgroep,
|
||
m.behandelaar,
|
||
m.actieve_behandelgroep,
|
||
m.actieve_behandelaar,
|
||
m.melding_status,
|
||
m.sla_nvt,
|
||
m.sla_accptdgn,
|
||
m.sla_accpturen,
|
||
m.sla_werkdgn,
|
||
m.sla_werkuren,
|
||
m.plan_uitvoertijd_sla,
|
||
m.melding_datum,
|
||
m.melding_einddatum,
|
||
m.melding_einddatum_std,
|
||
m.melding_acceptdatum,
|
||
m.melding_afgemeld,
|
||
m.melding_accepted,
|
||
m.doorlooptijd_werkdgn,
|
||
m.doorlooptijd_werkuren,
|
||
m.onderwerp,
|
||
m.vomschrijving omschrijving,
|
||
m.melding_opmerking,
|
||
m.prioriteit,
|
||
m.rating,
|
||
m.rating_opmerking rating_opm,
|
||
m.actiecode,
|
||
m.accept_sla_dagen,
|
||
m.accept_sla_uren,
|
||
m.uitvoering_sla_dagen,
|
||
m.uitvoering_sla_uren,
|
||
m.afspraak_sla_dagen,
|
||
m.afspraak_sla_uren,
|
||
DECODE (UPPER (m.accept_sla_optijd), 'JA', 1, 0) accept_sla_optijd,
|
||
1 - DECODE (UPPER (m.accept_sla_optijd), 'JA', 1, 0) accept_sla_telaat,
|
||
DECODE (UPPER (m.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_optijd,
|
||
1 - DECODE (UPPER (m.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_telaat,
|
||
DECODE (UPPER (m.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_optijd,
|
||
1 - DECODE (UPPER (m.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_telaat,
|
||
m.selfservice,
|
||
TO_CHAR (m.melding_afgemeld, 'yyyy-mm') maand
|
||
FROM mld_v_udr_melding m
|
||
WHERE m.melding_afgemeld > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') -- Of m.melding_datum
|
||
AND m.sla_nvt = 0
|
||
AND INSTR (UPPER (subproductgroep), 'KLACHT') = 0
|
||
AND prioriteit IN (3, 4)
|
||
;
|
||
|
||
-- BHV rapportages en notificaties.
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_bhv_per_bedrijf
|
||
(
|
||
ministerie,
|
||
organisatie,
|
||
naam,
|
||
personeelsnummer, --objectomschrijving,
|
||
--objectopmerking,
|
||
vervaldatum,
|
||
locatiecode,
|
||
locatieomschrijving,
|
||
etage,
|
||
bouwdeel,
|
||
sectie,
|
||
geboortedatum,
|
||
datum_indienst,
|
||
profiel,
|
||
dienstjaren,
|
||
inzetmaanden,
|
||
datum_jubileum,
|
||
verlengingsdatum,
|
||
leverancier,
|
||
bhv_diplomanummer,
|
||
bhv_geldig_tot,
|
||
ehbo_diplomanummer,
|
||
ehbo_geldig_tot,
|
||
basis_herhaling_op,
|
||
allround1_herhaling_op,
|
||
allround2_herhaling_op,
|
||
ploegleider_herhaling_op,
|
||
hbhv_herhaling_op
|
||
)
|
||
AS
|
||
SELECT x.prs_bedrijf_naam,
|
||
x.prs_afdeling_naam,
|
||
x.prs_perslid_naam_full,
|
||
x.ins_deel_omschrijving,
|
||
--x.ins_deel_opmerking,
|
||
x.ins_deel_vervaldatum,
|
||
l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
eta_ud.fac_usrdata_omschr etage,
|
||
bd.ins_kenmerkdeel_waarde bouwdeel,
|
||
sec_ud.fac_usrdata_omschr sectie,
|
||
gbd.ins_kenmerkdeel_waarde geboortedatum,
|
||
did.ins_kenmerkdeel_waarde datum_indienst,
|
||
pro_ud.fac_usrdata_omschr profiel,
|
||
dj.ins_kenmerkdeel_waarde dienstjaren,
|
||
im.ins_kenmerkdeel_waarde inzetmaanden,
|
||
dju.ins_kenmerkdeel_waarde datum_jubileum,
|
||
vld.ins_kenmerkdeel_waarde verlengingsdatum,
|
||
lev_ud.fac_usrdata_omschr leverancier,
|
||
bdnr.ins_kenmerkdeel_waarde bhv_diplomanummer,
|
||
bt.ins_kenmerkdeel_waarde bhv_tot,
|
||
ednr.ins_kenmerkdeel_waarde ehbo_diplomanummer,
|
||
et.ins_kenmerkdeel_waarde ehbo_tot,
|
||
bho.ins_kenmerkdeel_waarde basis_herhaling_op,
|
||
a1ho.ins_kenmerkdeel_waarde allround1_herhaling_op,
|
||
a2ho.ins_kenmerkdeel_waarde allround2_herhaling_op,
|
||
pho.ins_kenmerkdeel_waarde ploegleider_herhaling_op,
|
||
hho.ins_kenmerkdeel_waarde hbhv_herhaling_op
|
||
FROM (SELECT d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
--d.ins_deel_opmerking,
|
||
d.ins_deel_vervaldatum,
|
||
pf.prs_perslid_naam_full,
|
||
a.prs_afdeling_naam,
|
||
b.prs_bedrijf_naam
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_v_afdeling_boom ab,
|
||
prs_bedrijf b,
|
||
prs_afdeling a
|
||
WHERE d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_discipline_key = 283 -- BHV
|
||
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = b.prs_bedrijf_key) x
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel loc
|
||
ON x.ins_deel_key = loc.ins_deel_key
|
||
AND loc.ins_kenmerk_key = 13 -- BHV-er voor locatie
|
||
LEFT JOIN alg_locatie l
|
||
ON fac.safe_to_number (loc.ins_kenmerkdeel_waarde) = l.alg_locatie_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel eta
|
||
ON x.ins_deel_key = eta.ins_deel_key
|
||
AND eta.ins_kenmerk_key = 23 -- Etage
|
||
LEFT JOIN fac_v_aanwezigusrdata eta_ud
|
||
ON fac.safe_to_number (eta.ins_kenmerkdeel_waarde) = eta_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bd
|
||
ON x.ins_deel_key = bd.ins_deel_key
|
||
AND bd.ins_kenmerk_key = 18 -- Bouwdeel
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel sec
|
||
ON x.ins_deel_key = sec.ins_deel_key
|
||
AND sec.ins_kenmerk_key = 38 -- Sectie
|
||
LEFT JOIN fac_v_aanwezigusrdata sec_ud
|
||
ON fac.safe_to_number (sec.ins_kenmerkdeel_waarde) = sec_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel gbd
|
||
ON x.ins_deel_key = gbd.ins_deel_key
|
||
AND gbd.ins_kenmerk_key = 24 -- Geboortedatum
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel did
|
||
ON x.ins_deel_key = did.ins_deel_key
|
||
AND did.ins_kenmerk_key = 19 -- Datum indienst
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel pro
|
||
ON x.ins_deel_key = pro.ins_deel_key
|
||
AND pro.ins_kenmerk_key = 37 -- Profiel
|
||
LEFT JOIN fac_v_aanwezigusrdata pro_ud
|
||
ON fac.safe_to_number (pro.ins_kenmerkdeel_waarde) = pro_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel dj
|
||
ON x.ins_deel_key = dj.ins_deel_key
|
||
AND dj.ins_kenmerk_key = 1 -- Aantal dienstjaren
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel im
|
||
ON x.ins_deel_key = im.ins_deel_key
|
||
AND im.ins_kenmerk_key = 2 -- Aantal maanden inzetbaar
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel dju
|
||
ON x.ins_deel_key = dju.ins_deel_key
|
||
AND dju.ins_kenmerk_key = 20 -- Datum jubileum
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel vld
|
||
ON x.ins_deel_key = vld.ins_deel_key
|
||
AND vld.ins_kenmerk_key = 40 -- Verlengingsdatum
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel lev
|
||
ON x.ins_deel_key = lev.ins_deel_key
|
||
AND lev.ins_kenmerk_key = 10 -- BHV leverancier
|
||
LEFT JOIN fac_v_aanwezigusrdata lev_ud
|
||
ON fac.safe_to_number (lev.ins_kenmerkdeel_waarde) = lev_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bdnr
|
||
ON x.ins_deel_key = bdnr.ins_deel_key
|
||
AND bdnr.ins_kenmerk_key = 12 -- BHV-diplomanummer
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bt
|
||
ON x.ins_deel_key = bt.ins_deel_key
|
||
AND bt.ins_kenmerk_key = 11 -- BHV-diploma geldig tot
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel ednr
|
||
ON x.ins_deel_key = ednr.ins_deel_key
|
||
AND ednr.ins_kenmerk_key = 22 -- EHBO-diplomanummer
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel et
|
||
ON x.ins_deel_key = et.ins_deel_key
|
||
AND et.ins_kenmerk_key = 21 -- EHBO-diploma geldig tot
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bho
|
||
ON x.ins_deel_key = bho.ins_deel_key
|
||
AND bho.ins_kenmerk_key = 17 -- Basis herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel a1ho
|
||
ON x.ins_deel_key = a1ho.ins_deel_key
|
||
AND a1ho.ins_kenmerk_key = 8 -- Allround1 herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel a2ho
|
||
ON x.ins_deel_key = a2ho.ins_deel_key
|
||
AND a2ho.ins_kenmerk_key = 9 -- Allround2 herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel pho
|
||
ON x.ins_deel_key = pho.ins_deel_key
|
||
AND pho.ins_kenmerk_key = 35 -- Ploegleider herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel hho
|
||
ON x.ins_deel_key = hho.ins_deel_key
|
||
AND hho.ins_kenmerk_key = 27 -- HBHV herhaling op
|
||
;
|
||
/*
|
||
Basishulpverlener <09> 253,07
|
||
Allround bhv-er <09> 506,11
|
||
Bhv-er met leidinggevende taken <09> 759,18
|
||
*/
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_BHV_GRATIFICATIE
|
||
(
|
||
JAAR,
|
||
PERSONEELSNUMMER,
|
||
NAAM,
|
||
GEBOORTEDATUM,
|
||
MINISTERIE,
|
||
ORGANISATIE,
|
||
LOCATIECODE,
|
||
LOCATIEOMSCHRIJVING,
|
||
DATUM_INDIENST,
|
||
DIENSTJAREN,
|
||
DIENSTJAREN2,
|
||
INZETMAANDEN,
|
||
INZETMAANDEN2,
|
||
DATUM_JUBILEUM,
|
||
DATUM_UITDIENST,
|
||
PROFIEL,
|
||
DATUM_DIPLOMA,
|
||
BASIS,
|
||
ALLROUND,
|
||
LEIDING,
|
||
JUBILEUM,
|
||
JUBILEUM2,
|
||
GRATIFICATIE
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy') jaar,
|
||
personeelsnummer,
|
||
naam,
|
||
geboortedatum,
|
||
ministerie,
|
||
organisatie,
|
||
locatiecode,
|
||
locatieomschrijving,
|
||
datum_indienst,
|
||
dienstjaren,
|
||
dienstjaren2,
|
||
inzetmaanden,
|
||
inzetmaanden2,
|
||
datum_jubileum,
|
||
datum_uitdienst,
|
||
profiel,
|
||
datum_diploma,
|
||
basis,
|
||
allround,
|
||
leiding,
|
||
jubileum,
|
||
jubileum2,
|
||
( ( COALESCE (basis, 0)
|
||
+ COALESCE (allround, 0)
|
||
+ COALESCE (leiding, 0))
|
||
* (inzetmaanden / 12))
|
||
+ COALESCE (jubileum2, 0) gratificatie
|
||
FROM (SELECT x.ins_deel_omschrijving
|
||
personeelsnummer,
|
||
x.prs_perslid_naam_full
|
||
naam,
|
||
fac.safe_to_date (gbd.ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy')
|
||
geboortedatum,
|
||
x.prs_bedrijf_naam
|
||
ministerie,
|
||
x.prs_afdeling_naam
|
||
organisatie,
|
||
x.ins_deel_vervaldatum
|
||
vervaldatum,
|
||
l.alg_locatie_code
|
||
locatiecode,
|
||
l.alg_locatie_omschrijving
|
||
locatieomschrijving,
|
||
fac.safe_to_date (did.ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy')
|
||
datum_indienst,
|
||
dj.ins_kenmerkdeel_waarde
|
||
dienstjaren,
|
||
fac.safe_to_number (
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy'))
|
||
- fac.safe_to_number (
|
||
SUBSTR (did.ins_kenmerkdeel_waarde, 7, 4))
|
||
dienstjaren2,
|
||
im.ins_kenmerkdeel_waarde
|
||
inzetmaanden,
|
||
12
|
||
- DECODE (
|
||
SUBSTR (did.ins_kenmerkdeel_waarde, 7, 4),
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy'), DECODE (
|
||
SIGN (
|
||
TRUNC (
|
||
fac.safe_to_date (
|
||
did.ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy'),
|
||
'mm')
|
||
- fac.safe_to_date (
|
||
did.ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy')),
|
||
-1, fac.safe_to_number (
|
||
SUBSTR (
|
||
did.ins_kenmerkdeel_waarde,
|
||
4,
|
||
2)),
|
||
fac.safe_to_number (
|
||
SUBSTR (
|
||
did.ins_kenmerkdeel_waarde,
|
||
4,
|
||
2))
|
||
- 1),
|
||
0)
|
||
inzetmaanden2,
|
||
fac.safe_to_date (dju.ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy')
|
||
datum_jubileum,
|
||
x.ins_deel_vervaldatum
|
||
datum_uitdienst,
|
||
pro_ud.fac_usrdata_key
|
||
profiel_key,
|
||
pro_ud.fac_usrdata_omschr
|
||
profiel,
|
||
DECODE (
|
||
pro_ud.fac_usrdata_key,
|
||
1307, fac.safe_to_date (et.ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy'),
|
||
fac.safe_to_date (bt.ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy'))
|
||
datum_diploma,
|
||
CASE
|
||
WHEN pro_ud.fac_usrdata_key = 1307 -- Basis
|
||
THEN
|
||
DECODE (bho.ins_kenmerkdeel_waarde,
|
||
NULL, TO_NUMBER (NULL),
|
||
pro_ud.fac_usrdata_prijs)
|
||
ELSE
|
||
TO_NUMBER (NULL) -- Wat als Aspirant en t/m Basis gevuld? Of Allround/Leiding en alleen t/m Basis gevuld?
|
||
END
|
||
basis,
|
||
CASE
|
||
WHEN pro_ud.fac_usrdata_key = 1306 -- Allround
|
||
AND ( a1ho.ins_kenmerkdeel_waarde IS NOT NULL -- En Allround1 gedaan!
|
||
OR a2ho.ins_kenmerkdeel_waarde IS NOT NULL) -- Of Allround2 gedaan!
|
||
THEN
|
||
pro_ud.fac_usrdata_prijs
|
||
WHEN pro_ud.fac_usrdata_key = 1306 -- Allround
|
||
AND bho.ins_kenmerkdeel_waarde IS NOT NULL -- En enkel Basis gedaan!
|
||
THEN
|
||
pro_ud_basis.fac_usrdata_prijs --Toch een gratificatie voor Basis.
|
||
ELSE
|
||
TO_NUMBER (NULL) -- Wat als Aspirant/Basis en t/m Allround gevuld? Of Leiding en alleen t/m Allround gevuld?
|
||
END
|
||
allround,
|
||
CASE
|
||
WHEN pro_ud.fac_usrdata_key IN (1304, 1305) -- Hoofd of ploegleider
|
||
AND ( pho.ins_kenmerkdeel_waarde IS NOT NULL -- En Ploegleider gedaan!
|
||
OR hho.ins_kenmerkdeel_waarde IS NOT NULL) -- of Hoofd gedaan!
|
||
THEN
|
||
pro_ud.fac_usrdata_prijs
|
||
WHEN pro_ud.fac_usrdata_key IN (1304, 1305) -- Hoofd of ploegleider
|
||
AND ( a1ho.ins_kenmerkdeel_waarde IS NOT NULL -- En Allround1 gedaan!
|
||
OR a2ho.ins_kenmerkdeel_waarde IS NOT NULL) -- Of Allround2 gedaan!
|
||
THEN
|
||
pro_ud_allround.fac_usrdata_prijs --Toch een gratificatie voor Allround.
|
||
WHEN pro_ud.fac_usrdata_key IN (1304, 1305) -- Hoofd of ploegleider
|
||
AND bho.ins_kenmerkdeel_waarde IS NOT NULL -- En enkel Basis gedaan!
|
||
THEN
|
||
pro_ud_basis.fac_usrdata_prijs --Toch een gratificatie voor Basis.
|
||
ELSE
|
||
TO_NUMBER (NULL) -- Wat als Aspirant/Basis en t/m Allround gevuld? Of Leiding en alleen t/m Allround gevuld?
|
||
END
|
||
leiding,
|
||
DECODE (
|
||
SUBSTR (dju.ins_kenmerkdeel_waarde, 7, 4),
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy'), DECODE (
|
||
fac.safe_to_number (
|
||
dj.ins_kenmerkdeel_waarde),
|
||
0, TO_NUMBER (
|
||
NULL),
|
||
1, TO_NUMBER (
|
||
NULL),
|
||
2, TO_NUMBER (
|
||
NULL),
|
||
3, TO_NUMBER (
|
||
NULL),
|
||
4, TO_NUMBER (
|
||
NULL),
|
||
5, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
6, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
7, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
8, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
9, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
10, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
11, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
12, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
13, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
14, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
(SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
15
|
||
AND fac_usrdata_verwijder
|
||
IS NULL)),
|
||
TO_NUMBER (NULL))
|
||
jubileum,
|
||
DECODE (
|
||
SUBSTR (dju.ins_kenmerkdeel_waarde, 7, 4),
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy'), DECODE (
|
||
fac.safe_to_number (
|
||
fac.safe_to_number (
|
||
TO_CHAR (
|
||
ADD_MONTHS (
|
||
SYSDATE,
|
||
-1),
|
||
'yyyy'))
|
||
- fac.safe_to_number (
|
||
SUBSTR (
|
||
did.ins_kenmerkdeel_waarde,
|
||
7,
|
||
4))),
|
||
--NULL, TO_NUMBER (NULL),
|
||
0, TO_NUMBER (
|
||
NULL),
|
||
1, TO_NUMBER (
|
||
NULL),
|
||
2, TO_NUMBER (
|
||
NULL),
|
||
3, TO_NUMBER (
|
||
NULL),
|
||
4, TO_NUMBER (
|
||
NULL),
|
||
5, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
6, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
7, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
8, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
9, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
5
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
10, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
11, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
12, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
13, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
14, (SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
10
|
||
AND fac_usrdata_verwijder
|
||
IS NULL),
|
||
(SELECT DISTINCT
|
||
fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key =
|
||
1001
|
||
AND fac_usrdata_code =
|
||
15
|
||
AND fac_usrdata_verwijder
|
||
IS NULL)),
|
||
TO_NUMBER (NULL))
|
||
jubileum2
|
||
FROM (SELECT d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_vervaldatum,
|
||
p.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
--p.prs_perslid_telefoonnr,
|
||
--p.prs_perslid_mobiel,
|
||
--p.prs_perslid_email,
|
||
a.prs_afdeling_naam,
|
||
b.prs_bedrijf_naam
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_v_afdeling_boom ab,
|
||
prs_bedrijf b,
|
||
prs_afdeling a
|
||
WHERE d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_discipline_key = 283 -- BHV
|
||
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = b.prs_bedrijf_key) x
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel loc
|
||
ON x.ins_deel_key = loc.ins_deel_key
|
||
AND loc.ins_kenmerk_key = 13 -- BHV-er voor locatie
|
||
LEFT JOIN alg_locatie l
|
||
ON fac.safe_to_number (loc.ins_kenmerkdeel_waarde) =
|
||
l.alg_locatie_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel eta
|
||
ON x.ins_deel_key = eta.ins_deel_key
|
||
AND eta.ins_kenmerk_key = 23 -- Etage
|
||
LEFT JOIN fac_v_aanwezigusrdata eta_ud
|
||
ON fac.safe_to_number (eta.ins_kenmerkdeel_waarde) =
|
||
eta_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bd
|
||
ON x.ins_deel_key = bd.ins_deel_key
|
||
AND bd.ins_kenmerk_key = 18 -- Bouwdeel
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel sec
|
||
ON x.ins_deel_key = sec.ins_deel_key
|
||
AND sec.ins_kenmerk_key = 38 -- Sectie
|
||
LEFT JOIN fac_v_aanwezigusrdata sec_ud
|
||
ON fac.safe_to_number (sec.ins_kenmerkdeel_waarde) =
|
||
sec_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel gbd
|
||
ON x.ins_deel_key = gbd.ins_deel_key
|
||
AND gbd.ins_kenmerk_key = 24 -- Geboortedatum
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel did
|
||
ON x.ins_deel_key = did.ins_deel_key
|
||
AND did.ins_kenmerk_key = 19 -- Datum indienst
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel pro
|
||
ON x.ins_deel_key = pro.ins_deel_key
|
||
AND pro.ins_kenmerk_key = 37 -- Profiel
|
||
LEFT JOIN fac_v_aanwezigusrdata pro_ud
|
||
ON fac.safe_to_number (pro.ins_kenmerkdeel_waarde) =
|
||
pro_ud.fac_usrdata_key
|
||
LEFT JOIN fac_v_aanwezigusrdata pro_ud_basis
|
||
ON 1307 = pro_ud_basis.fac_usrdata_key
|
||
LEFT JOIN fac_v_aanwezigusrdata pro_ud_allround
|
||
ON 1306 = pro_ud_allround.fac_usrdata_key
|
||
LEFT JOIN fac_v_aanwezigusrdata pro_ud_hoofd
|
||
ON 1304 = pro_ud_hoofd.fac_usrdata_key
|
||
LEFT JOIN fac_v_aanwezigusrdata pro_ud_ploegl
|
||
ON 1305 = pro_ud_ploegl.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel dj
|
||
ON x.ins_deel_key = dj.ins_deel_key
|
||
AND dj.ins_kenmerk_key = 1 -- Dienstjaren
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel im
|
||
ON x.ins_deel_key = im.ins_deel_key
|
||
AND im.ins_kenmerk_key = 2 -- Inzetmaanden
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel dju
|
||
ON x.ins_deel_key = dju.ins_deel_key
|
||
AND dju.ins_kenmerk_key = 20 -- Datum jubileum
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel vld
|
||
ON x.ins_deel_key = vld.ins_deel_key
|
||
AND vld.ins_kenmerk_key = 40 -- Verlengingsdatum
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel lev
|
||
ON x.ins_deel_key = lev.ins_deel_key
|
||
AND lev.ins_kenmerk_key = 10 -- BHV leverancier
|
||
LEFT JOIN fac_v_aanwezigusrdata lev_ud
|
||
ON fac.safe_to_number (lev.ins_kenmerkdeel_waarde) =
|
||
lev_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bdnr
|
||
ON x.ins_deel_key = bdnr.ins_deel_key
|
||
AND bdnr.ins_kenmerk_key = 12 -- BHV-diplomanummer
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bt
|
||
ON x.ins_deel_key = bt.ins_deel_key
|
||
AND bt.ins_kenmerk_key = 11 -- BHV-diploma geldig tot
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel ednr
|
||
ON x.ins_deel_key = ednr.ins_deel_key
|
||
AND ednr.ins_kenmerk_key = 22 -- EHBO-diplomanummer
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel et
|
||
ON x.ins_deel_key = et.ins_deel_key
|
||
AND et.ins_kenmerk_key = 21 -- EHBO-diploma geldig tot
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bho
|
||
ON x.ins_deel_key = bho.ins_deel_key
|
||
AND bho.ins_kenmerk_key = 17 -- Basis herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel a1ho
|
||
ON x.ins_deel_key = a1ho.ins_deel_key
|
||
AND a1ho.ins_kenmerk_key = 8 -- Allround1 herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel a2ho
|
||
ON x.ins_deel_key = a2ho.ins_deel_key
|
||
AND a2ho.ins_kenmerk_key = 9 -- Allround2 herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel pho
|
||
ON x.ins_deel_key = pho.ins_deel_key
|
||
AND pho.ins_kenmerk_key = 35 -- Ploegleider herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel hho
|
||
ON x.ins_deel_key = hho.ins_deel_key
|
||
AND hho.ins_kenmerk_key = 27) -- HBHV herhaling op
|
||
WHERE profiel_key IN (1304,
|
||
1305,
|
||
1306,
|
||
1307) -- Profiel waarvoor de gratificatie geldt (dus geen Aspiranten)!
|
||
AND TO_CHAR (datum_indienst, 'yyyy') <=
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy') -- Dit jaar indienst!
|
||
--AND inzetmaanden > 0 -- Dit jaar inzetbaar!
|
||
AND ( vervaldatum IS NULL
|
||
OR TO_CHAR (vervaldatum, 'yyyy') >=
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy')) -- Dit jaar actief!
|
||
;
|
||
/*
|
||
AND TO_CHAR (DECODE (profiel_key, 1307, ehbo_geldig_tot, bhv_geldig_tot), 'yyyy') >= TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy') -- Dit jaar geldig diploma!
|
||
*/
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_bhv_lesoverzicht
|
||
(
|
||
ministerie,
|
||
organisatie,
|
||
naam,
|
||
personeelsnummer, --objectomschrijving,
|
||
profiel,
|
||
--objectopmerking,
|
||
--vervaldatum,
|
||
locatiecode,
|
||
locatieomschrijving,
|
||
--etage,
|
||
--bouwdeel,
|
||
--sectie,
|
||
--geboortedatum,
|
||
--datum_indienst,
|
||
--dienstjaren,
|
||
--inzetmaanden,
|
||
--datum_jubileum,
|
||
--verlengingsdatum,
|
||
--leverancier,
|
||
--bhv_diplomanummer,
|
||
--bhv_geldig_tot,
|
||
--ehbo_diplomanummer,
|
||
--ehbo_geldig_tot,
|
||
basis_herhaling_jn,
|
||
basis_herhaling_op,
|
||
allround1_herhaling_jn,
|
||
allround1_herhaling_op,
|
||
allround2_herhaling_jn,
|
||
allround2_herhaling_op,
|
||
ploegleider_herhaling_jn,
|
||
ploegleider_herhaling_op,
|
||
hbhv_herhaling_jn,
|
||
hbhv_herhaling_op
|
||
)
|
||
AS
|
||
SELECT x.prs_bedrijf_naam,
|
||
x.prs_afdeling_naam,
|
||
x.prs_perslid_naam_full,
|
||
x.ins_deel_omschrijving,
|
||
pro_ud.fac_usrdata_omschr profiel,
|
||
--x.ins_deel_opmerking,
|
||
--x.ins_deel_vervaldatum,
|
||
l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
--eta_ud.fac_usrdata_omschr etage,
|
||
--bd.ins_kenmerkdeel_waarde bouwdeel,
|
||
--sec_ud.fac_usrdata_omschr sectie,
|
||
--gbd.ins_kenmerkdeel_waarde geboortedatum,
|
||
--did.ins_kenmerkdeel_waarde datum_indienst,
|
||
--dj.ins_kenmerkdeel_waarde dienstjaren,
|
||
--im.ins_kenmerkdeel_waarde inzetmaanden,
|
||
--dju.ins_kenmerkdeel_waarde datum_jubileum,
|
||
--vld.ins_kenmerkdeel_waarde verlengingsdatum,
|
||
--lev_ud.fac_usrdata_omschr leverancier,
|
||
--bdnr.ins_kenmerkdeel_waarde bhv_diplomanummer,
|
||
--bt.ins_kenmerkdeel_waarde bhv_tot,
|
||
--ednr.ins_kenmerkdeel_waarde ehbo_diplomanummer,
|
||
--et.ins_kenmerkdeel_waarde ehbo_tot,
|
||
DECODE (bho.ins_kenmerkdeel_waarde, NULL, 'Nee', 'Ja') basis_herhaling_jn,
|
||
bho.ins_kenmerkdeel_waarde basis_herhaling_op,
|
||
DECODE (a1ho.ins_kenmerkdeel_waarde, NULL, 'Nee', 'Ja') allround1_herhaling_jn,
|
||
a1ho.ins_kenmerkdeel_waarde allround1_herhaling_op,
|
||
DECODE (a2ho.ins_kenmerkdeel_waarde, NULL, 'Nee', 'Ja') allround2_herhaling_jn,
|
||
a2ho.ins_kenmerkdeel_waarde allround2_herhaling_op,
|
||
DECODE (pho.ins_kenmerkdeel_waarde, NULL, 'Nee', 'Ja') ploegleider_herhaling_jn,
|
||
pho.ins_kenmerkdeel_waarde ploegleider_herhaling_op,
|
||
DECODE (hho.ins_kenmerkdeel_waarde, NULL, 'Nee', 'Ja') hbhv_herhaling_jn,
|
||
hho.ins_kenmerkdeel_waarde hbhv_herhaling_op
|
||
FROM (SELECT d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
--d.ins_deel_opmerking,
|
||
d.ins_deel_vervaldatum,
|
||
pf.prs_perslid_naam_full,
|
||
a.prs_afdeling_naam,
|
||
b.prs_bedrijf_naam
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_v_afdeling_boom ab,
|
||
prs_bedrijf b,
|
||
prs_afdeling a
|
||
WHERE d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_discipline_key = 283 -- BHV
|
||
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = b.prs_bedrijf_key) x
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel loc
|
||
ON x.ins_deel_key = loc.ins_deel_key
|
||
AND loc.ins_kenmerk_key = 13 -- BHV-er voor locatie
|
||
LEFT JOIN alg_locatie l
|
||
ON fac.safe_to_number (loc.ins_kenmerkdeel_waarde) = l.alg_locatie_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel did
|
||
ON x.ins_deel_key = did.ins_deel_key
|
||
AND did.ins_kenmerk_key = 19 -- Datum indienst
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel pro
|
||
ON x.ins_deel_key = pro.ins_deel_key
|
||
AND pro.ins_kenmerk_key = 37 -- Profiel
|
||
LEFT JOIN fac_v_aanwezigusrdata pro_ud
|
||
ON fac.safe_to_number (pro.ins_kenmerkdeel_waarde) = pro_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel dj
|
||
ON x.ins_deel_key = dj.ins_deel_key
|
||
AND dj.ins_kenmerk_key = 1 -- Dienstjaren
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel im
|
||
ON x.ins_deel_key = im.ins_deel_key
|
||
AND im.ins_kenmerk_key = 2 -- Inzetmaanden
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel bho
|
||
ON x.ins_deel_key = bho.ins_deel_key
|
||
AND bho.ins_kenmerk_key = 17 -- Basis herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel a1ho
|
||
ON x.ins_deel_key = a1ho.ins_deel_key
|
||
AND a1ho.ins_kenmerk_key = 8 -- Allround1 herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel a2ho
|
||
ON x.ins_deel_key = a2ho.ins_deel_key
|
||
AND a2ho.ins_kenmerk_key = 9 -- Allround2 herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel pho
|
||
ON x.ins_deel_key = pho.ins_deel_key
|
||
AND pho.ins_kenmerk_key = 35 -- Ploegleider herhaling op
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel hho
|
||
ON x.ins_deel_key = hho.ins_deel_key
|
||
AND hho.ins_kenmerk_key = 27 -- HBHV herhaling op
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_BHV
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS -- Op 14 dagen voor jubileum!
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (sn.fac_srtnotificatie_oms, '##NAAM##', pf.prs_perslid_naam_full),
|
||
d.ins_deel_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ko.alg_onrgoedkenmerk_waarde xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM ins_v_aanwezigkenmerkdeel dju,
|
||
ins_v_aanwezigdeel d,
|
||
prs_v_perslid_fullnames pf,
|
||
ins_v_aanwezigkenmerkdeel kd,
|
||
alg_locatie l,
|
||
alg_v_aanwezigonrgoedkenmerk ko,
|
||
fac_srtnotificatie sn
|
||
WHERE dju.ins_kenmerk_key = 20 -- Datum jubileum
|
||
AND fac.safe_to_date (dju.ins_kenmerkdeel_waarde, 'dd-mm-yyyy') - 14 = TRUNC (SYSDATE) -- Jubileum over 14 dagen!
|
||
AND dju.ins_deel_key = d.ins_deel_key
|
||
AND d.ins_alg_ruimte_key = pf.prs_perslid_key -- BHV-er
|
||
AND d.ins_deel_key = kd.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 13 -- BHV-er voor locatie
|
||
AND fac.safe_to_number (kd.ins_kenmerkdeel_waarde) = l.alg_locatie_key
|
||
AND l.alg_locatie_key = ko.alg_onrgoed_key
|
||
AND ko.alg_onrgoed_niveau = 'L'
|
||
AND ko.alg_kenmerk_key = 1080 -- Adviseur(s) veilgheid
|
||
AND sn.fac_srtnotificatie_code = 'CUST03'
|
||
UNION -- De dag nadat het profiel Aspirant BHV gezet op ander profiel!
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (sn.fac_srtnotificatie_oms, '##NAAM##', pf.prs_perslid_naam_full),
|
||
d.ins_deel_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ko.alg_onrgoedkenmerk_waarde xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM fac_tracking t,
|
||
ins_v_aanwezigdeel d,
|
||
prs_v_perslid_fullnames pf,
|
||
ins_v_aanwezigkenmerkdeel kd,
|
||
alg_locatie l,
|
||
alg_v_aanwezigonrgoedkenmerk ko,
|
||
fac_srtnotificatie sn
|
||
WHERE t.fac_srtnotificatie_key = 128 -- INSUPD
|
||
AND TRUNC (t.fac_tracking_datum) + 1 = TRUNC (SYSDATE) -- Gisteren gewijzigd=gestart!
|
||
AND INSTR (UPPER (t.fac_tracking_oms),'ASPIRANT BHV -->') > 0 -- Het profiel Aspirant BHV gezet op ander profiel!
|
||
AND t.fac_tracking_refkey = d.ins_deel_key
|
||
AND d.ins_alg_ruimte_key = pf.prs_perslid_key -- BHV-er
|
||
AND d.ins_deel_key = kd.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 13 -- BHV-er voor locatie
|
||
AND fac.safe_to_number (kd.ins_kenmerkdeel_waarde) = l.alg_locatie_key
|
||
AND l.alg_locatie_key = ko.alg_onrgoed_key
|
||
AND ko.alg_onrgoed_niveau = 'L'
|
||
AND ko.alg_kenmerk_key = 1080 -- Adviseur(s) veilgheid
|
||
AND sn.fac_srtnotificatie_code = 'CUST04';
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_F2P_EXCEPTIONS
|
||
AS
|
||
SELECT DISTINCT
|
||
'Opdracht' stroom,
|
||
t.fac_tracking_datum datum,
|
||
o.mld_opdr_key refkey,
|
||
TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) refid,
|
||
sm.mld_stdmelding_omschrijving || ' / ' || ot.mld_typeopdr_omschrijving soort,
|
||
aog.alg_ruimte_nr ruimte,
|
||
t.fac_tracking_oms foutmelding
|
||
FROM fac_tracking t,
|
||
mld_opdr o,
|
||
mld_typeopdr ot,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
alg_v_allonrgoed_gegevens aog
|
||
WHERE t.fac_tracking_datum > fac.safe_to_date ('20-02-2022', 'dd-mm-yyyy')
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM fac_srtnotificatie
|
||
WHERE fac_srtnotificatie_xmlnode = 'opdracht'
|
||
AND fac_srtnotificatie_key = t.fac_srtnotificatie_key)
|
||
AND t.fac_tracking_oms LIKE 'PC:%'
|
||
AND INSTR (UPPER (t.fac_tracking_oms), 'NIET SUCCESVOL') > 0
|
||
AND t.fac_tracking_refkey = o.mld_opdr_key
|
||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
||
UNION ALL
|
||
SELECT 'Reservering' stroom,
|
||
t1.fac_tracking_datum datum,
|
||
rrr.res_rsv_ruimte_key refkey,
|
||
TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) refid,
|
||
ra.res_activiteit_omschrijving soort,
|
||
COALESCE (rr.res_ruimte_nr, aog.alg_ruimte_nr) ruimte,
|
||
t1.fac_tracking_oms foutmelding
|
||
FROM fac_tracking t1,
|
||
fac_srtnotificatie sn1,
|
||
res_rsv_ruimte rrr,
|
||
res_activiteit ra,
|
||
res_ruimte_opstelling rro,
|
||
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) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonrgoed_gegevens aog
|
||
WHERE t1.fac_tracking_datum > fac.safe_to_date ('20-02-2022', 'dd-mm-yyyy')
|
||
AND t1.fac_srtnotificatie_key = sn1.fac_srtnotificatie_key
|
||
AND sn1.fac_srtnotificatie_xmlnode = 'reservering'
|
||
AND t1.fac_tracking_oms LIKE 'PC:%'
|
||
AND INSTR (UPPER (t1.fac_tracking_oms), 'NIET SUCCESVOL') > 0
|
||
AND t1.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key(+)
|
||
AND rr.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rr.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking t2, fac_srtnotificatie sn2
|
||
WHERE t2.fac_srtnotificatie_key = sn2.fac_srtnotificatie_key
|
||
AND sn2.fac_srtnotificatie_xmlnode = 'reservering'
|
||
AND t2.fac_tracking_oms LIKE 'PC:%'
|
||
AND INSTR (UPPER (t2.fac_tracking_oms), 'NIET SUCCESVOL') > 0
|
||
AND t2.fac_tracking_refkey = t1.fac_tracking_refkey
|
||
AND t2.fac_tracking_key > t1.fac_tracking_key);
|
||
|
||
-- Uurlijkse bewaking op exceptions in Facilitor2Prequest-koppeling!
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_F2P_EXCEPTIONS
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
WITH errors
|
||
AS (SELECT MIN (x.datum) datum, COUNT ( * ) aantal
|
||
FROM fac_notificatie_job nj, fmhn_v_rap_f2p_exceptions x
|
||
WHERE nj.fac_notificatie_job_view = 'FMHN_V_NOTI_F2P_EXCEPTIONS'
|
||
AND x.datum > nj.fac_notificatie_job_lastrun)
|
||
SELECT DISTINCT -- PC-opdracht gewijzigd anders dan door API-user tbv. Prequest!
|
||
csn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
csn.fac_srtnotificatie_oms,
|
||
'##OPDRID##',
|
||
TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)),
|
||
'##SRTNOT##',
|
||
tsn.fac_srtnotificatie_code),
|
||
o.mld_opdr_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
'PostbusFMHFunctioneel-applicatiebeheer@minbzk.nl' xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_opdr o,
|
||
fac_tracking t,
|
||
fac_srtnotificatie tsn, -- Tracking-notificatie
|
||
fac_srtnotificatie csn, -- CUST06-notificatie
|
||
fac_notificatie_job nj
|
||
WHERE o.mld_typeopdr_key = 581 -- Offerteaanvraag PC
|
||
--AND o.mld_statusopdr_key IN (-1)
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = tsn.fac_srtnotificatie_key
|
||
AND tsn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||
AND t.fac_srtnotificatie_key NOT IN (72, 73, 74, 75, 76, 96, 97, 177) -- ORDMLI/ORDMLE/ORDAFM/ORDNEW/ORDUPD/ORDOOK/ORDONO/ORDMAI
|
||
AND t.prs_perslid_key IS NOT NULL
|
||
AND t.prs_perslid_key NOT IN (3, 44) -- Niet door Facilitor/_API-user tbv. Prequest!
|
||
AND csn.fac_srtnotificatie_code = 'CUST06'
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_F2P_EXCEPTIONS'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
UNION ALL
|
||
SELECT DISTINCT -- PC-opdracht gewijzigd anders dan door API-user tbv. Prequest!
|
||
csn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
csn.fac_srtnotificatie_oms,
|
||
'##OPDRID##',
|
||
TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)),
|
||
'##SRTNOT##',
|
||
tsn.fac_srtnotificatie_code),
|
||
o.mld_opdr_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
'PostbusFMHFunctioneel-applicatiebeheer@minbzk.nl' xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_opdr o,
|
||
fac_tracking t,
|
||
fac_srtnotificatie tsn, -- Tracking-notificatie
|
||
fac_srtnotificatie csn, -- CUST06-notificatie
|
||
fac_notificatie_job nj
|
||
WHERE o.mld_typeopdr_key = 582 -- Uitvoeringsopdracht PC
|
||
--AND o.mld_statusopdr_key IN (-1)
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = tsn.fac_srtnotificatie_key
|
||
AND tsn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||
AND t.fac_srtnotificatie_key NOT IN (72, 73, 75, 76, 177) -- ORDMLI/ORDMLE/ORDNEW/ORDUPD/ORDMAI
|
||
AND t.prs_perslid_key IS NOT NULL
|
||
AND t.prs_perslid_key NOT IN (3, 44) -- Niet door Facilitor/_API-user tbv. Prequest!
|
||
AND csn.fac_srtnotificatie_code = 'CUST06'
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_F2P_EXCEPTIONS'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (sn.fac_srtnotificatie_oms, '##REFID##', x.refid),
|
||
x.refkey,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
'PostbusFMHFunctioneel-applicatiebeheer@minbzk.nl' xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM errors,
|
||
fmhn_v_rap_f2p_exceptions x,
|
||
fac_srtnotificatie sn,
|
||
fac_notificatie_job nj
|
||
WHERE errors.aantal <= 25
|
||
AND UPPER (x.stroom) = 'OPDRACHT'
|
||
AND sn.fac_srtnotificatie_code = 'CUST07' -- opdracht-xmlnode
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_F2P_EXCEPTIONS'
|
||
AND x.datum > nj.fac_notificatie_job_lastrun
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (sn.fac_srtnotificatie_oms, '##REFID##', x.refid),
|
||
fac.safe_to_number (SUBSTR (x.refid, 1, INSTR (x.refid, '/') - 1)),
|
||
x.refkey xkey,
|
||
NULL xsender,
|
||
'PostbusFMHFunctioneel-applicatiebeheer@minbzk.nl' xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM errors,
|
||
fmhn_v_rap_f2p_exceptions x,
|
||
fac_srtnotificatie sn,
|
||
fac_notificatie_job nj
|
||
WHERE errors.aantal <= 25
|
||
AND UPPER (x.stroom) = 'RESERVERING'
|
||
AND sn.fac_srtnotificatie_code = 'CUST08' -- reservering-xmlnode
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_F2P_EXCEPTIONS'
|
||
AND x.datum > nj.fac_notificatie_job_lastrun
|
||
UNION ALL
|
||
SELECT '',
|
||
NULL,
|
||
NULL,
|
||
'Prequest-koppeling: ' || TO_CHAR (errors.aantal) || ' fouten in afgelopen uur (zie rapport)!',
|
||
-1 refkey,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
'PostbusFMHFunctioneel-applicatiebeheer@minbzk.nl' xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM errors,
|
||
fac_notificatie_job nj
|
||
WHERE errors.aantal > 25
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_F2P_EXCEPTIONS'
|
||
AND errors.datum > nj.fac_notificatie_job_lastrun;
|
||
|
||
-- Uurlijkse bewaking op WF tb.v AW-proces!
|
||
-- CUST09 - Eerste mail naar Veiligheid. Zowel Korte route als Lange route!
|
||
-- CUST10 - Eerste mail naar RBO + Teamleiders. Teamleiders alleen igv. Lange route!
|
||
-- CUST11 - Eerste mail naar Compartimentseigenaren. Alleen igv. Lange route!
|
||
-- CUST12 - Reminder naar Veiligheid + Compartimentseigenaren na 3 dagen. Compartimentseigenaren alleen igv. Lange route!
|
||
-- CUST13 - Reminder naar Veiligheid + Compartimentseigenaren na 6 dagen. Alleen igv. Lange route!
|
||
-- CUST14 - Overeenstemming naar RBO, Veiligheid, PC, Facilitair adviseurs, Teamleiders + Compartimentseigenaren. Laatste 2 alleen igv. Lange route!
|
||
-- CUST15 - Geen overeenstemming naar RBO, Veiligheid, PC, Teamleiders + Compartimentseigenaren. Laatste 2 alleen igv. Lange route!
|
||
-- CUST30 - Eerste mail naar Compartimentseigenaren bij Spoedmelding, zowel Korte als Lange route
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_WF_AW
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_start_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
'postbusfmhveiligheidcentraal@rijksoverheid.nl' xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (741, 1241) -- Aanvraag AW (Startmelding) & Aanvraag AW Spoed (Startmelding)
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND sn.fac_srtnotificatie_code = 'CUST09'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_start_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
x.xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_melding vm,
|
||
(SELECT 742 mld_stdmelding_key, 'coordinator.rijnstraat@rijksoverheid.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'coordinator.rijnstraat@rijksoverheid.nl' xemail FROM DUAL -- AW Lange route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, ud.fac_usrdata_omschr xemail FROM fac_usrdata ud WHERE fac_usrtab_key = 702 AND fac_usrdata_verwijder IS NULL) x, -- AW Lange route
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (741) -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = vm.mld_melding_start_key
|
||
AND vm.mld_stdmelding_key = x.mld_stdmelding_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST10'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_start_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
x.xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
(SELECT 'coordinator.rijnstraat@rijksoverheid.nl' xemail FROM DUAL
|
||
UNION ALL
|
||
SELECT ud.fac_usrdata_omschr xemail
|
||
FROM fac_usrdata ud
|
||
WHERE fac_usrtab_key = 702
|
||
AND fac_usrdata_verwijder IS NULL) x,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (1241) -- Aanvraag AW Spoed (Startmelding)
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND sn.fac_srtnotificatie_code = 'CUST10'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ud2.fac_usrdata_omschr xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
alg_onrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud1,
|
||
fac_v_aanwezigusrdata ud2,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = 741 -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (2563,3582,3583) -- Ruimte/cluster=Lange route
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST11'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ud2.fac_usrdata_omschr xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
alg_onrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud1,
|
||
fac_v_aanwezigusrdata ud2,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = 741 -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km2.mld_kenmerk_key = 3581 -- Alle clusters
|
||
AND km2.mld_kenmerkmelding_waarde = '21' -- JA
|
||
AND km2.mld_melding_key = m.mld_melding_key
|
||
AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST11'
|
||
GROUP by m.mld_melding_key,
|
||
sn.fac_srtnotificatie_code,
|
||
sn.fac_srtnotificatie_oms,
|
||
m.mld_melding_onderwerp,
|
||
ud2.fac_usrdata_omschr
|
||
-- UNION ALL
|
||
-- SELECT sn.fac_srtnotificatie_code,
|
||
-- NULL,
|
||
-- NULL,
|
||
-- REPLACE (
|
||
-- REPLACE (sn.fac_srtnotificatie_oms,
|
||
-- '##ID##',
|
||
-- TO_CHAR (m.mld_melding_key)),
|
||
-- '##SUBJECT##',
|
||
-- m.mld_melding_onderwerp),
|
||
-- m.mld_melding_key,
|
||
-- NULL xkey,
|
||
-- NULL xsender,
|
||
-- 'postbusfmhveiligheidcentraal@rijksoverheid.nl' xemail,
|
||
-- NULL xmobile,
|
||
-- NULL attachments
|
||
-- FROM mld_melding m,
|
||
-- fac_tracking t,
|
||
-- fac_notificatie_job nj,
|
||
-- fac_srtnotificatie sn
|
||
-- WHERE m.mld_stdmelding_key IN (742, 743) -- Aanvraag AW (Veiligheid)/Korte+Lange route
|
||
-- AND m.mld_melding_status IN (0, 2, 3, 4, 7) -- Nog niet gesloten
|
||
-- AND m.mld_melding_key = t.fac_tracking_refkey
|
||
-- AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
-- AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
-- AND fac.count_work_days (t.fac_tracking_datum, SYSDATE) = 3 -- Reminder na 3 werkdagen!
|
||
-- AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Vandaag is werkdag
|
||
-- AND NOT EXISTS -- en geen vrije dag!
|
||
-- (SELECT 1
|
||
-- FROM mld_vrije_dagen
|
||
-- WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE))
|
||
-- AND TO_NUMBER (TO_CHAR (SYSDATE + 5 / 1440, 'HH24')) = 7 -- Reminder 's ochtends om 7:00
|
||
-- AND sn.fac_srtnotificatie_code = 'CUST12'
|
||
-- UNION ALL
|
||
-- SELECT sn.fac_srtnotificatie_code,
|
||
-- NULL,
|
||
-- NULL,
|
||
-- REPLACE (
|
||
-- REPLACE (sn.fac_srtnotificatie_oms,
|
||
-- '##ID##',
|
||
-- TO_CHAR (m.mld_melding_key)),
|
||
-- '##SUBJECT##',
|
||
-- m.mld_melding_onderwerp),
|
||
-- m.mld_melding_key,
|
||
-- NULL xkey,
|
||
-- NULL xsender,
|
||
-- ud2.fac_usrdata_omschr xemail,
|
||
-- NULL xmobile,
|
||
-- NULL attachments
|
||
-- FROM mld_melding m,
|
||
-- fac_tracking t,
|
||
-- fac_notificatie_job nj,
|
||
-- mld_v_aanwezigkenmerkmelding km,
|
||
-- alg_onrgoedkenmerk ok,
|
||
-- fac_v_aanwezigusrdata ud1,
|
||
-- fac_v_aanwezigusrdata ud2,
|
||
-- fac_srtnotificatie sn
|
||
-- WHERE m.mld_stdmelding_key = 744 -- Aanvraag AW (FCC)/Lange route
|
||
-- AND m.mld_melding_status IN (0, 2, 3, 4, 7) -- Nog niet gesloten
|
||
-- AND m.mld_melding_key = t.fac_tracking_refkey
|
||
-- AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
-- AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
-- AND fac.count_work_days (t.fac_tracking_datum, SYSDATE) = 3 -- Reminder na 3 werkdagen!
|
||
-- AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Vandaag is werkdag
|
||
-- AND NOT EXISTS -- en geen vrije dag!
|
||
-- (SELECT 1
|
||
-- FROM mld_vrije_dagen
|
||
-- WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE))
|
||
-- AND TO_NUMBER (TO_CHAR (SYSDATE + 5 / 1440, 'HH24')) = 7 -- Reminder 's ochtends om 7:00
|
||
-- AND m.mld_melding_key = km.mld_melding_key
|
||
-- AND km.mld_kenmerk_key IN (2563,3582,3583) -- Ruimte/cluster=Lange route
|
||
-- AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ok.alg_onrgoed_key
|
||
-- AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
-- AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
-- AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
-- AND sn.fac_srtnotificatie_code = 'CUST12'
|
||
-- UNION ALL
|
||
-- SELECT sn.fac_srtnotificatie_code,
|
||
-- NULL,
|
||
-- NULL,
|
||
-- REPLACE (
|
||
-- REPLACE (sn.fac_srtnotificatie_oms,
|
||
-- '##ID##',
|
||
-- TO_CHAR (m.mld_melding_key)),
|
||
-- '##SUBJECT##',
|
||
-- m.mld_melding_onderwerp),
|
||
-- m.mld_melding_key,
|
||
-- NULL xkey,
|
||
-- NULL xsender,
|
||
-- ud2.fac_usrdata_omschr xemail,
|
||
-- NULL xmobile,
|
||
-- NULL attachments
|
||
-- FROM mld_melding m,
|
||
-- fac_tracking t,
|
||
-- fac_notificatie_job nj,
|
||
-- mld_v_aanwezigkenmerkmelding km,
|
||
-- mld_v_aanwezigkenmerkmelding km2,
|
||
-- alg_onrgoedkenmerk ok,
|
||
-- fac_v_aanwezigusrdata ud1,
|
||
-- fac_v_aanwezigusrdata ud2,
|
||
-- fac_srtnotificatie sn
|
||
-- WHERE m.mld_stdmelding_key = 744 -- Aanvraag AW (FCC)/Lange route
|
||
-- AND m.mld_melding_status IN (0, 2, 3, 4, 7) -- Nog niet gesloten
|
||
-- AND m.mld_melding_key = t.fac_tracking_refkey
|
||
-- AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
-- AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
-- AND fac.count_work_days (t.fac_tracking_datum, SYSDATE) = 3 -- Reminder na 3 werkdagen!
|
||
-- AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Vandaag is werkdag
|
||
-- AND NOT EXISTS -- en geen vrije dag!
|
||
-- (SELECT 1
|
||
-- FROM mld_vrije_dagen
|
||
-- WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE))
|
||
-- AND TO_NUMBER (TO_CHAR (SYSDATE + 5 / 1440, 'HH24')) = 7 -- Reminder 's ochtends om 7:00
|
||
-- AND m.mld_melding_key = km.mld_melding_key
|
||
-- AND km2.mld_kenmerk_key = 3581 -- Alle clusters
|
||
-- AND km2.mld_kenmerkmelding_waarde = '21' -- JA
|
||
-- AND km2.mld_melding_key = m.mld_melding_key
|
||
-- AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
-- AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
-- AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
-- AND sn.fac_srtnotificatie_code = 'CUST12'
|
||
-- GROUP by m.mld_melding_key,
|
||
-- sn.fac_srtnotificatie_code,
|
||
-- sn.fac_srtnotificatie_oms,
|
||
-- m.mld_melding_onderwerp,
|
||
-- ud2.fac_usrdata_omschr
|
||
-- UNION ALL
|
||
-- SELECT sn.fac_srtnotificatie_code,
|
||
-- NULL,
|
||
-- NULL,
|
||
-- REPLACE (
|
||
-- REPLACE (sn.fac_srtnotificatie_oms,
|
||
-- '##ID##',
|
||
-- TO_CHAR (m.mld_melding_key)),
|
||
-- '##SUBJECT##',
|
||
-- m.mld_melding_onderwerp),
|
||
-- m.mld_melding_key,
|
||
-- NULL xkey,
|
||
-- NULL xsender,
|
||
-- 'postbusfmhveiligheidcentraal@rijksoverheid.nl' xemail,
|
||
-- NULL xmobile,
|
||
-- NULL attachments
|
||
-- FROM mld_melding m,
|
||
-- fac_tracking t,
|
||
-- fac_notificatie_job nj,
|
||
-- fac_srtnotificatie sn
|
||
-- WHERE m.mld_stdmelding_key = 743 -- Aanvraag AW (Veiligheid)/Lange route
|
||
-- AND m.mld_melding_status IN (0, 2, 3, 4, 7) -- Nog niet gesloten
|
||
-- AND m.mld_melding_key = t.fac_tracking_refkey
|
||
-- AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
-- AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
-- AND fac.count_work_days (t.fac_tracking_datum, SYSDATE) = 6 -- Reminder na 6 werkdagen!
|
||
-- AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Vandaag is werkdag
|
||
-- AND NOT EXISTS -- en geen vrije dag!
|
||
-- (SELECT 1
|
||
-- FROM mld_vrije_dagen
|
||
-- WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE))
|
||
-- AND TO_NUMBER (TO_CHAR (SYSDATE + 5 / 1440, 'HH24')) = 7 -- Reminder 's ochtends om 7:00
|
||
-- AND sn.fac_srtnotificatie_code = 'CUST13'
|
||
-- UNION ALL
|
||
-- SELECT sn.fac_srtnotificatie_code,
|
||
-- NULL,
|
||
-- NULL,
|
||
-- REPLACE (
|
||
-- REPLACE (sn.fac_srtnotificatie_oms,
|
||
-- '##ID##',
|
||
-- TO_CHAR (m.mld_melding_key)),
|
||
-- '##SUBJECT##',
|
||
-- m.mld_melding_onderwerp),
|
||
-- m.mld_melding_key,
|
||
-- NULL xkey,
|
||
-- NULL xsender,
|
||
-- ud2.fac_usrdata_omschr xemail,
|
||
-- NULL xmobile,
|
||
-- NULL attachments
|
||
-- FROM mld_melding m,
|
||
-- fac_tracking t,
|
||
-- fac_notificatie_job nj,
|
||
-- mld_v_aanwezigkenmerkmelding km,
|
||
-- alg_onrgoedkenmerk ok,
|
||
-- fac_v_aanwezigusrdata ud1,
|
||
-- fac_v_aanwezigusrdata ud2,
|
||
-- fac_srtnotificatie sn
|
||
-- WHERE m.mld_stdmelding_key = 744 -- Aanvraag AW (FCC)/Lange route
|
||
-- AND m.mld_melding_status IN (0, 2, 3, 4, 7) -- Nog niet gesloten
|
||
-- AND m.mld_melding_key = t.fac_tracking_refkey
|
||
-- AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
-- AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
-- AND fac.count_work_days (t.fac_tracking_datum, SYSDATE) = 6 -- Reminder na 6 werkdagen!
|
||
-- AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Vandaag is werkdag
|
||
-- AND NOT EXISTS -- en geen vrije dag!
|
||
-- (SELECT 1
|
||
-- FROM mld_vrije_dagen
|
||
-- WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE))
|
||
-- AND TO_NUMBER (TO_CHAR (SYSDATE + 5 / 1440, 'HH24')) = 7 -- Reminder 's ochtends om 7:00
|
||
-- AND m.mld_melding_key = km.mld_melding_key
|
||
-- AND km.mld_kenmerk_key IN (2563,3582,3583) -- Ruimte/cluster=Lange route
|
||
-- AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ok.alg_onrgoed_key
|
||
-- AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
-- AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
-- AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
-- AND sn.fac_srtnotificatie_code = 'CUST13'
|
||
-- UNION ALL
|
||
-- SELECT sn.fac_srtnotificatie_code,
|
||
-- NULL,
|
||
-- NULL,
|
||
-- REPLACE (
|
||
-- REPLACE (sn.fac_srtnotificatie_oms,
|
||
-- '##ID##',
|
||
-- TO_CHAR (m.mld_melding_key)),
|
||
-- '##SUBJECT##',
|
||
-- m.mld_melding_onderwerp),
|
||
-- m.mld_melding_key,
|
||
-- NULL xkey,
|
||
-- NULL xsender,
|
||
-- ud2.fac_usrdata_omschr xemail,
|
||
-- NULL xmobile,
|
||
-- NULL attachments
|
||
-- FROM mld_melding m,
|
||
-- fac_tracking t,
|
||
-- fac_notificatie_job nj,
|
||
-- mld_v_aanwezigkenmerkmelding km,
|
||
-- mld_v_aanwezigkenmerkmelding km2,
|
||
-- alg_onrgoedkenmerk ok,
|
||
-- fac_v_aanwezigusrdata ud1,
|
||
-- fac_v_aanwezigusrdata ud2,
|
||
-- fac_srtnotificatie sn
|
||
-- WHERE m.mld_stdmelding_key = 744 -- Aanvraag AW (FCC)/Lange route
|
||
-- AND m.mld_melding_status IN (0, 2, 3, 4, 7) -- Nog niet gesloten
|
||
-- AND m.mld_melding_key = t.fac_tracking_refkey
|
||
-- AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
-- AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
-- AND fac.count_work_days (t.fac_tracking_datum, SYSDATE) = 6 -- Reminder na 6 werkdagen!
|
||
-- AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Vandaag is werkdag
|
||
-- AND NOT EXISTS -- en geen vrije dag!
|
||
-- (SELECT 1
|
||
-- FROM mld_vrije_dagen
|
||
-- WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE))
|
||
-- AND TO_NUMBER (TO_CHAR (SYSDATE + 5 / 1440, 'HH24')) = 7 -- Reminder 's ochtends om 7:00
|
||
-- AND m.mld_melding_key = km.mld_melding_key
|
||
-- AND km2.mld_kenmerk_key = 3581 -- Alle clusters
|
||
-- AND km2.mld_kenmerkmelding_waarde = '21' -- JA
|
||
-- AND km2.mld_melding_key = m.mld_melding_key
|
||
-- AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
-- AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
-- AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
-- AND sn.fac_srtnotificatie_code = 'CUST13'
|
||
-- GROUP by m.mld_melding_key,
|
||
-- sn.fac_srtnotificatie_code,
|
||
-- sn.fac_srtnotificatie_oms,
|
||
-- m.mld_melding_onderwerp,
|
||
-- ud2.fac_usrdata_omschr
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
x.xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_melding vm,
|
||
(SELECT 742 mld_stdmelding_key, 'coordinator.rijnstraat@rijksoverheid.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 742 mld_stdmelding_key, 'postbusfmhveiligheidcentraal@rijksoverheid.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 742 mld_stdmelding_key, 'PoortCentraalServicedesk@mtc-pc.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 742 mld_stdmelding_key, 'PostbusFMHAdviseursfacilitairR8@rijksoverheid.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'coordinator.rijnstraat@rijksoverheid.nl' xemail FROM DUAL -- AW Lange route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'postbusfmhveiligheidcentraal@rijksoverheid.nl' xemail FROM DUAL -- AW Lange route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'PoortCentraalServicedesk@mtc-pc.nl' xemail FROM DUAL -- AW Lange route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'PostbusFMHAdviseursfacilitairR8@rijksoverheid.nl' xemail FROM DUAL -- AW Lange route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, ud.fac_usrdata_omschr xemail FROM fac_usrdata ud WHERE fac_usrtab_key = 702 AND fac_usrdata_verwijder IS NULL) x, -- AW Lange route
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (741) -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_status = 5 -- Afgemeld
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = vm.mld_melding_start_key
|
||
AND vm.mld_stdmelding_key = x.mld_stdmelding_key
|
||
AND NOT EXISTS -- Doorgang nergens gezet op Niet akkoord!
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (2582, 2584)
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
AND sn.fac_srtnotificatie_code = 'CUST14'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ud2.fac_usrdata_omschr xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
alg_onrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud1,
|
||
fac_v_aanwezigusrdata ud2,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (741) -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_status = 5 -- Afgemeld
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (2563,3582,3583) -- Ruimte/cluster=Lange route
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
AND NOT EXISTS -- Doorgang nergens gezet op Niet akkoord!
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (2582, 2584)
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
AND sn.fac_srtnotificatie_code = 'CUST14'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ud2.fac_usrdata_omschr xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
alg_onrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud1,
|
||
fac_v_aanwezigusrdata ud2,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (741) -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_status = 5 -- Afgemeld
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km2.mld_kenmerk_key = 3581 -- Alle clusters
|
||
AND km2.mld_kenmerkmelding_waarde = '21' -- JA
|
||
AND km2.mld_melding_key = m.mld_melding_key
|
||
AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
AND NOT EXISTS -- Doorgang nergens gezet op Niet akkoord!
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (2582, 2584)
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
AND sn.fac_srtnotificatie_code = 'CUST14'
|
||
GROUP by m.mld_melding_key,
|
||
sn.fac_srtnotificatie_code,
|
||
sn.fac_srtnotificatie_oms,
|
||
m.mld_melding_onderwerp,
|
||
ud2.fac_usrdata_omschr
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
x.xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
(SELECT ud.fac_usrdata_omschr xemail
|
||
FROM fac_usrdata ud
|
||
WHERE fac_usrtab_key = 1201 -- Eigen tabel CUST14/15_SPOED
|
||
AND fac_usrdata_verwijder IS NULL) x, -- AW Lange route
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (1241) -- Aanvraag AW Spoed (Startmelding)
|
||
AND m.mld_melding_status = 5 -- Afgemeld
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND NOT EXISTS -- Controle of de Spoedmelding is afgekeurd door compartimentseigenaar
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (4261) --Kenmerk Compartimentseigenaar akkoord
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND km.mld_kenmerkmelding_waarde = '22' -- Nee
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
AND sn.fac_srtnotificatie_code = 'CUST14'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
x.xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_melding vm,
|
||
(SELECT 742 mld_stdmelding_key, 'coordinator.rijnstraat@rijksoverheid.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 742 mld_stdmelding_key, 'postbusfmhveiligheidcentraal@rijksoverheid.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 742 mld_stdmelding_key, 'PoortCentraalServicedesk@mtc-pc.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 742 mld_stdmelding_key, 'PostbusFMHAdviseursfacilitairR8@rijksoverheid.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'coordinator.rijnstraat@rijksoverheid.nl' xemail FROM DUAL -- AW Lange route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'postbusfmhveiligheidcentraal@rijksoverheid.nl' xemail FROM DUAL -- AW Lange route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'PoortCentraalServicedesk@mtc-pc.nl' xemail FROM DUAL -- AW Lange route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, 'PostbusFMHAdviseursfacilitairR8@rijksoverheid.nl' xemail FROM DUAL -- AW Korte route
|
||
UNION ALL
|
||
SELECT 743 mld_stdmelding_key, ud.fac_usrdata_omschr xemail FROM fac_usrdata ud WHERE fac_usrtab_key = 702 AND fac_usrdata_verwijder IS NULL) x, -- AW Lange route
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (741) -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_status = 5 -- Afgemeld
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = vm.mld_melding_start_key
|
||
AND vm.mld_stdmelding_key = x.mld_stdmelding_key
|
||
AND EXISTS -- Doorgang ergens gezet op Niet akkoord!
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (2582, 2584)
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
AND sn.fac_srtnotificatie_code = 'CUST15'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ud2.fac_usrdata_omschr xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
alg_onrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud1,
|
||
fac_v_aanwezigusrdata ud2,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (741) -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_status = 5 -- Afgemeld
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (2563,3582,3583) -- Ruimte/cluster=Lange route
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
AND EXISTS -- Doorgang ergens gezet op Niet akkoord!
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (2582, 2584)
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
AND sn.fac_srtnotificatie_code = 'CUST15'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ud2.fac_usrdata_omschr xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
alg_onrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud1,
|
||
fac_v_aanwezigusrdata ud2,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (741) -- Aanvraag AW (Startmelding)
|
||
AND m.mld_melding_status = 5 -- Afgemeld
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km2.mld_kenmerk_key = 3581 -- Alle clusters
|
||
AND km2.mld_kenmerkmelding_waarde = '21' -- JA
|
||
AND km2.mld_melding_key = m.mld_melding_key
|
||
AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
AND EXISTS -- Doorgang ergens gezet op Niet akkoord!
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (2582, 2584)
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
AND sn.fac_srtnotificatie_code = 'CUST15'
|
||
GROUP by m.mld_melding_key,
|
||
sn.fac_srtnotificatie_code,
|
||
sn.fac_srtnotificatie_oms,
|
||
m.mld_melding_onderwerp,
|
||
ud2.fac_usrdata_omschr
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
x.xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
(SELECT ud.fac_usrdata_omschr xemail
|
||
FROM fac_usrdata ud
|
||
WHERE fac_usrtab_key = 1201 -- Eigen tabel CUST14/15_SPOED
|
||
AND fac_usrdata_verwijder IS NULL) x, -- AW Lange route
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key IN (1241) -- Aanvraag AW Spoed (Startmelding)
|
||
AND m.mld_melding_status = 5 -- Afgemeld
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND NOT EXISTS -- Controle of de Spoedmelding is afgekeurd door compartimentseigenaar
|
||
(SELECT 1
|
||
FROM mld_kenmerkmelding km, mld_melding nam
|
||
WHERE km.mld_kenmerk_key IN (4261) --Kenmerk Compartimentseigenaar akkoord
|
||
AND km.mld_melding_key = nam.mld_melding_key
|
||
AND km.mld_kenmerkmelding_waarde = '21' -- Akkoord = Ja
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL
|
||
AND nam.mld_melding_start_key = m.mld_melding_key)
|
||
AND sn.fac_srtnotificatie_code = 'CUST15'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##SUBJECT##',
|
||
m.mld_melding_onderwerp),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ud2.fac_usrdata_omschr xemail,
|
||
NULL xmobile,
|
||
'MLD/M'
|
||
|| SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4)
|
||
|| '___/M'
|
||
|| TO_CHAR (m.mld_melding_start_key)
|
||
|| '/2578/*' attachments -- 2578 = bijlagen-kenmerk bij vakgroeptype AW
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
fac_notificatie_job nj,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
alg_onrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud1,
|
||
fac_v_aanwezigusrdata ud2,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = 1241 -- Aanvraag AW Spoed, vervolgmelding aan Compartimentseigenaren
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_AW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (2563,3582,3583) -- Ruimte/cluster=Lange route
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1120 -- AW-cluster
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud1.fac_usrdata_key
|
||
AND fac.safe_to_number (ud1.fac_usrdata_code) = ud2.fac_usrtab_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST30';
|
||
|
||
-- Uurlijkse bewaking op WF tb.v VTW-proces!
|
||
-- CUST16 - Nieuwe VTW geconstateerd door VTW-team: ##Korte omschrijving## naar EM-er
|
||
-- CUST17 - Definitief advies VTW ##VTW nummer## ##Korte omschrijving## naar RVB
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_WF_VTW
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (sn.fac_srtnotificatie_oms, '##SLOGAN##', slogan.mld_kenmerkmelding_waarde),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
p.prs_perslid_email xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
mld_v_aanwezigkenmerkmelding slogan,
|
||
fac_gebruikersgroep gg,
|
||
prs_v_aanwezigperslid p,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = 763 -- Behoeftestelling advies/VTW-besluit
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND EXISTS -- Besluit genomen om te vervolgen als VTW (= 2984)
|
||
(SELECT 1
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 2747 -- Besluit BS
|
||
AND mld_kenmerkmelding_waarde = '2984'
|
||
AND mld_melding_key = m.mld_melding_key)
|
||
AND m.mld_melding_key = slogan.mld_melding_key
|
||
AND slogan.mld_kenmerk_key = 2724 -- Korte omschrijving (verplicht)
|
||
AND gg.fac_groep_key = 1703 -- RS8 Contractmanager (VTW)
|
||
AND gg.prs_perslid_key = p.prs_perslid_key
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_VTW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND sn.fac_srtnotificatie_code = 'CUST16'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (sn.fac_srtnotificatie_oms, '##SLOGAN##', slogan.mld_kenmerkmelding_waarde),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
ud.fac_usrdata_omschr xemail,
|
||
NULL xmobile,
|
||
'MLD/M' || SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4) || '___/M' || TO_CHAR (m.mld_melding_key) || '/447/*' attachments
|
||
FROM mld_melding m,
|
||
fac_tracking t,
|
||
mld_v_aanwezigkenmerkmelding slogan,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn,
|
||
fac_usrdata ud
|
||
WHERE m.mld_stdmelding_key = 765 -- Definitief VTW advies
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDAFM
|
||
AND m.mld_melding_key = slogan.mld_melding_key
|
||
AND slogan.mld_kenmerk_key = 2784 -- Korte omschrijving (verplicht)
|
||
AND ud.fac_usrtab_key = 681 --Eigen tabel CUST17
|
||
AND ud.fac_usrdata_verwijder IS NULL
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_WF_VTW'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND sn.fac_srtnotificatie_code = 'CUST17';
|
||
|
||
-- Uurlijkse notificatie nav. meldingen (oa. RS8 fietslocker-aanvragen)!
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_MLD_DIVERSEN
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##STDMLD##',
|
||
sm.mld_stdmelding_omschrijving),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
DECODE (INSTR (ud1.fac_usrdata_code, '@'), 0, ud2.fac_usrdata_code, REPLACE (ud2.fac_usrdata_code, '@', ud1.fac_usrdata_code)) xemail, -- Best beetje obscuur
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_v_aanwezigkenmerkmelding km1,
|
||
fac_v_aanwezigusrdata ud1,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
fac_v_aanwezigusrdata ud2,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key = 603 -- Fietslocker (aanvraag)
|
||
AND m.mld_melding_key = km1.mld_melding_key
|
||
AND km1.mld_kenmerk_key = 2418 -- Ministerie/Bezoeker
|
||
AND fac.safe_to_number (km1.mld_kenmerkmelding_waarde) = ud1.fac_usrdata_key
|
||
AND ud1.fac_usrdata_key != 2696 -- Bezoeker
|
||
AND m.mld_melding_key = km2.mld_melding_key
|
||
AND km2.mld_kenmerk_key = 2419 -- Accorderen door
|
||
AND fac.safe_to_number (km2.mld_kenmerkmelding_waarde) = ud2.fac_usrdata_key
|
||
AND ud2.fac_usrdata_key != 2726 -- N.v.t.
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_MLD_DIVERSEN'
|
||
AND fac.gettrackingdate ('MLDNEW', m.mld_melding_key) > nj.fac_notificatie_job_lastrun
|
||
AND sn.fac_srtnotificatie_code = 'CUST18';
|
||
|
||
-- FMHN#72295: Uurlijkse notificatie van bijlagen op RS8-klachten/storingen naar PC!
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_F2PC_BIJLAGEN
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##ID##',
|
||
TO_CHAR (m.mld_melding_key)),
|
||
'##STDMLD##',
|
||
sm.mld_stdmelding_omschrijving),
|
||
'##DISC##',
|
||
md.ins_discipline_omschrijving),
|
||
'##PCNR##',
|
||
ko.mld_kenmerkopdr_waarde),
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
'PoortCentraalServicedesk@mtc-pc.nl' xemail,
|
||
NULL xmobile,
|
||
'MLD/M' || SUBSTR (LPAD (TO_CHAR (m.mld_melding_key), 7, '0'), 1, 4) || '___/M' || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (b.fac_bijlagen_kenmerk_key) || '/*' attachments
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
fac_bijlagen b,
|
||
mld_opdr o,
|
||
mld_v_aanwezigkenmerkopdr ko,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_externnr IS NOT NULL -- Melding via Prequest-koppeling
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
--AND md.ins_srtdiscipline_key IN (122, 123) -- RS8 Klacht/Storing (object)
|
||
AND m.mld_melding_key = b.fac_bijlagen_refkey
|
||
AND b.fac_bijlagen_verwijder IS NULL
|
||
AND b.fac_bijlagen_kenmerk_key IN (2981, 2982) -- Bijlagen op Vakgroeptype=RS8 Klacht/Storing (object)
|
||
AND m.mld_melding_key = o.mld_melding_key
|
||
AND o.mld_typeopdr_key = 582 -- Uitvoeringsopdracht PC (zou zo moeten zijn)
|
||
AND o.mld_opdr_key = ko.mld_opdr_key
|
||
AND ko.mld_kenmerk_key IN (1181, 1182) -- PC NR
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_F2PC_BIJLAGEN'
|
||
AND ko.mld_kenmerkopdr_aanmaak > nj.fac_notificatie_job_lastrun
|
||
AND sn.fac_srtnotificatie_code = 'CUST19';
|
||
|
||
-- Notificaties t.b.v. uitlenen en retourneren thuiswerkstoelen
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_TWS_BESTELLING
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT DISTINCT x.*
|
||
FROM
|
||
(SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL sender,
|
||
(SELECT prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, mld_kenmerkmelding mkm
|
||
WHERE mkm.mld_melding_key = m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key IN (3400, 3488) -- Kenmerk aanvraag voor (ontvanger) bij melding bestelaanvraag thuiswerkstoel / bestelaanvraag thuiswerkstoel RS8
|
||
AND mkm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND prs_perslid_key = mkm.mld_kenmerkmelding_waarde) receiver,
|
||
sn.fac_srtnotificatie_oms text,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
NULL xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key IN (882, 922) -- bestelaanvraag thuiswerkstoel / bestelaanvraag thuiswerkstoel RS8
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_TWS_BESTELLING'
|
||
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) > nj.fac_notificatie_job_lastrun -- Afgemeld, dan moeten de definitieve datum en tijdstip kenmerken gevuld zijn.
|
||
AND sn.fac_srtnotificatie_code = 'CUST24') x,
|
||
mld_kenmerkmelding mkm
|
||
WHERE
|
||
mkm.mld_melding_key = x.mld_melding_key
|
||
AND mkm.mld_kenmerk_key IN (3362, 3443) -- Kenmerk Actie bij melding bestelaanvraag thuiswerkstoel / bestelaanvraag thuiswerkstoel RS8
|
||
AND mkm.mld_kenmerkmelding_waarde = 3821 -- thuisbezorgen
|
||
AND mkm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND x.receiver IS NOT NULL;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_TWS_BESOPHALEN
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT DISTINCT x.*
|
||
FROM
|
||
(SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL sender,
|
||
(SELECT prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, mld_kenmerkmelding mkm
|
||
WHERE mkm.mld_melding_key = m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key IN (3400, 3488) -- Kenmerk aanvraag voor (ontvanger) bij melding bestelaanvraag thuiswerkstoel / bestelaanvraag thuiswerkstoel RS8
|
||
AND mkm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND prs_perslid_key = mkm.mld_kenmerkmelding_waarde) receiver,
|
||
sn.fac_srtnotificatie_oms text,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
NULL xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key IN (882, 922) -- bestelaanvraag thuiswerkstoel / bestelaanvraag thuiswerkstoel RS8
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_TWS_BESOPHALEN'
|
||
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) > nj.fac_notificatie_job_lastrun -- Afgemeld, dan moeten de definitieve datum en tijdstip kenmerken gevuld zijn.
|
||
AND sn.fac_srtnotificatie_code = 'CUST25') x,
|
||
mld_kenmerkmelding mkm
|
||
WHERE
|
||
mkm.mld_melding_key = x.mld_melding_key
|
||
AND mkm.mld_kenmerk_key IN (3362, 3443) -- Kenmerk Actie bij melding bestelaanvraag thuiswerkstoel / bestelaanvraag thuiswerkstoel RS8
|
||
AND mkm.mld_kenmerkmelding_waarde = 3822 -- zelf ophalen
|
||
AND mkm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND x.receiver IS NOT NULL;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_TWS_RETOUR
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT DISTINCT x.*
|
||
FROM
|
||
(SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL sender,
|
||
(SELECT prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, mld_kenmerkmelding mkm
|
||
WHERE mkm.mld_melding_key = m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key IN (3399, 3489) -- Kenmerk aanvraag voor (ontvanger) bij melding Retournering thuiswerkstoel / Retournering thuiswerkstoel RS8
|
||
AND mkm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND prs_perslid_key = mkm.mld_kenmerkmelding_waarde) receiver,
|
||
sn.fac_srtnotificatie_oms text,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
NULL xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key IN (883, 921) -- retourmelding thuiswerkstoel / retourmelding thuiswerkstoel RS8
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_TWS_RETOUR'
|
||
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) > nj.fac_notificatie_job_lastrun -- Afgemeld, dan moeten de definitieve datum en tijdstip kenmerken gevuld zijn.
|
||
AND sn.fac_srtnotificatie_code = 'CUST26') x,
|
||
mld_kenmerkmelding mkm
|
||
WHERE
|
||
mkm.mld_melding_key = x.mld_melding_key
|
||
AND mkm.mld_kenmerk_key IN (3363, 3442) --Kenmerk Actie bij melding Retournering thuiswerkstoel / Retournering thuiswerkstoel RS8
|
||
AND mkm.mld_kenmerkmelding_waarde = 3823 -- retour wordt opgehaald
|
||
AND mkm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND x.receiver IS NOT NULL
|
||
UNION ALL
|
||
SELECT DISTINCT x.*
|
||
FROM
|
||
(SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL sender,
|
||
(SELECT prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, mld_kenmerkmelding mkm
|
||
WHERE mkm.mld_melding_key = m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key IN (3431, 3491) -- Kenmerk aanvraag voor (ontvanger) bij melding Retournering thuiswerkstoel / Retournering thuiswerkstoel RS8
|
||
AND mkm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND prs_perslid_key = mkm.mld_kenmerkmelding_waarde) receiver,
|
||
sn.fac_srtnotificatie_oms text,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
NULL xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key IN (881, 941) -- Defect aan thuiswerkstoel / Defect aan thuiswerkstoel RS8
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_TWS_RETOUR'
|
||
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) > nj.fac_notificatie_job_lastrun -- Afgemeld, dan moeten de definitieve datum en tijdstip kenmerken gevuld zijn.
|
||
AND sn.fac_srtnotificatie_code = 'CUST26') x,
|
||
mld_kenmerkmelding mkm
|
||
WHERE
|
||
mkm.mld_melding_key = x.mld_melding_key
|
||
AND mkm.mld_kenmerk_key IN (4421, 4422) --Kenmerk Actie bij melding Retournering thuiswerkstoel / Retournering thuiswerkstoel RS8
|
||
AND mkm.mld_kenmerkmelding_waarde = 3825 -- Actie 'Defect gemeld'
|
||
AND mkm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND x.receiver IS NOT NULL;
|
||
|
||
-- TODO:KTO
|
||
CREATE OR REPLACE VIEW fmhn_v_udr_mld_kto
|
||
AS
|
||
SELECT x.meldingnummer,
|
||
x.melding_start_key,
|
||
x.melding_regio,
|
||
x.melding_district,
|
||
x.melding_locatiecode,
|
||
x.melding_locatie,
|
||
x.melding_locatieplaats,
|
||
x.melding_gebouwcode,
|
||
x.melding_gebouw,
|
||
x.melding_verdieping,
|
||
x.melding_ruimtenr,
|
||
x.melding_ruimte,
|
||
x.kostensoortgroep,
|
||
x.kostensoort,
|
||
x.kostenplaats,
|
||
x.kostenplaats_oms,
|
||
x.melder,
|
||
x.afdeling,
|
||
x.afdeling_omschrijving afdeling_oms,
|
||
x.invoerder,
|
||
x.meldbron,
|
||
x.soortmelding vakgroeptype,
|
||
x.productgroep vakgroep,
|
||
x.subproductgroep soortmelding,
|
||
x.behandelgroep,
|
||
x.behandelaar,
|
||
x.actieve_behandelgroep,
|
||
x.actieve_behandelaar,
|
||
x.melding_status,
|
||
x.sla_nvt,
|
||
x.sla_accptdgn,
|
||
x.sla_accpturen,
|
||
x.sla_werkdgn,
|
||
x.sla_werkuren,
|
||
x.plan_uitvoertijd_sla,
|
||
x.melding_datum,
|
||
x.melding_einddatum,
|
||
x.melding_einddatum_std,
|
||
x.melding_acceptdatum,
|
||
x.melding_afgemeld,
|
||
x.melding_accepted,
|
||
x.doorlooptijd_werkdgn,
|
||
x.doorlooptijd_werkuren,
|
||
x.onderwerp,
|
||
x.vomschrijving omschrijving,
|
||
x.melding_opmerking,
|
||
x.prioriteit,
|
||
x.rating,
|
||
x.rating_opmerking rating_opm,
|
||
x.actiecode,
|
||
x.accept_sla_dagen,
|
||
x.accept_sla_uren,
|
||
x.uitvoering_sla_dagen,
|
||
x.uitvoering_sla_uren,
|
||
x.afspraak_sla_dagen,
|
||
x.afspraak_sla_uren,
|
||
DECODE (UPPER (x.accept_sla_optijd), 'JA', 1, 0) accept_sla_optijd,
|
||
1 - DECODE (UPPER (x.accept_sla_optijd), 'JA', 1, 0) accept_sla_telaat,
|
||
DECODE (UPPER (x.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_optijd,
|
||
1 - DECODE (UPPER (x.uitvoering_sla_optijd), 'JA', 1, 0) uitvoering_sla_telaat,
|
||
DECODE (UPPER (x.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_optijd,
|
||
1 - DECODE (UPPER (x.afspraak_sla_optijd), 'JA', 1, 0) afspraak_sla_telaat,
|
||
x.selfservice,
|
||
TO_CHAR (x.melding_afgemeld, 'yyyy-mm') maand,
|
||
COALESCE (x.actieve_behandelaar, x.actieve_behandelgroep, x.behandelaar, '*Onbekend') in_behandeling_bij
|
||
FROM mld_v_udr_melding x,
|
||
mld_melding m,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab
|
||
WHERE x.melding_datum < SYSDATE -- Niet in de toekomst!
|
||
AND x.melding_afgemeld IS NULL -- Niet afgemeld, dus lopend!
|
||
--AND x.sla_nvt = 0
|
||
--AND INSTR (UPPER (x.subproductgroep), 'KLACHT') = 0
|
||
--AND x.prioriteit IN (1, 2)
|
||
AND x.melding_key = m.mld_melding_key
|
||
AND fac.gettrackinguserkey ('MLDNEW', m.mld_melding_key) = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW BES_V_UDR_BESTELLING_OPM
|
||
(
|
||
BESTELLING_KEY,
|
||
BESTELAANVRAAGNR,
|
||
BESTELDATUM,
|
||
LEVERANCIER,
|
||
BESTELLER,
|
||
INVOERDER,
|
||
KOSTENSOORTGROEP,
|
||
KOSTENSOORT,
|
||
KPN,
|
||
KPN_OMSCHRIJVING,
|
||
FCLT_3D_AFDELING_KEY,
|
||
AFDELING_CODE,
|
||
AFDELING_OMSCHRIJVING,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
LOCATIE_CODE,
|
||
REGIO_OMSCHRIJVING,
|
||
DISTRICT_OMSCHRIJVING,
|
||
AFLEVERADRES,
|
||
AFLEVERPLAATS,
|
||
MANDAAT,
|
||
FCLT_3D_DISCIPLINE_KEY,
|
||
CATALOGUS,
|
||
GROEP,
|
||
PRODUCTOMSCHRIJVING,
|
||
PRODUCTCODE,
|
||
AFLEVERDATUM,
|
||
DOORLOOPTIJD_WERKDGN,
|
||
SLA_TIJD,
|
||
PRIJS,
|
||
INKOOPPRIJS,
|
||
STATUS,
|
||
GEFIATTEERDDOOR,
|
||
BESTELOPDRACHTNUMMER,
|
||
AANTAL,
|
||
ITEMPRIJS,
|
||
ITEMINKOOPPRIJS,
|
||
ITEMPOSNR,
|
||
OPMERKING
|
||
)
|
||
AS
|
||
SELECT bes_bestelling_key,
|
||
bestelaanvraagnr,
|
||
besteldatum,
|
||
bedrijf_naam,
|
||
besteller,
|
||
invoerder,
|
||
kostensoortgroep,
|
||
kostensoort,
|
||
kpn,
|
||
kpn_omschrijving,
|
||
prs_afdeling_key,
|
||
afdeling_code,
|
||
afdeling_omschrijving,
|
||
alg_locatie_key,
|
||
locatie_code,
|
||
regio_omschrijving,
|
||
district_omschijving,
|
||
afleveradres,
|
||
afleverplaats,
|
||
mandaat,
|
||
ins_discipline_key,
|
||
catalogus,
|
||
groep,
|
||
productomschrijving,
|
||
productcode,
|
||
afleverdatum,
|
||
doorlooptijd_werkdgn,
|
||
sla_tijd,
|
||
prijs,
|
||
inkoopprijs,
|
||
status,
|
||
gefiatteerddoor,
|
||
bestelopdrachtnummer,
|
||
aantal,
|
||
itemprijs,
|
||
iteminkoopprijs,
|
||
itemposnr,
|
||
opmerking
|
||
FROM (SELECT b.bes_bestelling_key bes_bestelling_key,
|
||
'A-' || b.bes_bestelling_key bestelaanvraagnr,
|
||
b.bes_bestelling_datum 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 =
|
||
COALESCE (
|
||
fac.gettrackinguserkey ('BESNEW',
|
||
b.bes_bestelling_key),
|
||
fac.gettrackinguserkey ('BESAP2',
|
||
b.bes_bestelling_key)))
|
||
invoerder,
|
||
(SELECT ksg.prs_kostensoortgrp_oms
|
||
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
||
WHERE ksg.prs_kostensoortgrp_key =
|
||
ks.prs_kostensoortgrp_key
|
||
AND ks.prs_kostensoort_key =
|
||
(SELECT MAX(COALESCE (
|
||
bsg.prs_kostensoort_key,
|
||
disc.prs_kostensoort_key))
|
||
FROM bes_discipline disc, bes_srtgroep bsg
|
||
WHERE disc.ins_discipline_key =
|
||
d.ins_discipline_key))
|
||
kostensoortgroep,
|
||
(SELECT ks.prs_kostensoort_oms
|
||
FROM prs_kostensoort ks
|
||
WHERE ks.prs_kostensoort_key =
|
||
(SELECT MAX(COALESCE (bsg.prs_kostensoort_key,
|
||
disc.prs_kostensoort_key))
|
||
FROM bes_discipline disc, bes_srtgroep bsg
|
||
WHERE disc.ins_discipline_key =
|
||
bsg.ins_discipline_key
|
||
AND disc.ins_discipline_key =
|
||
d.ins_discipline_key))
|
||
kostensoort,
|
||
k.prs_kostenplaats_nr kpn,
|
||
k.prs_kostenplaats_omschrijving kpn_omschrijving,
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM prs_bedrijf b
|
||
WHERE b.prs_bedrijf_key = sd.prs_bedrijf_key)
|
||
bedrijf_naam,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_naam afdeling_code,
|
||
a.prs_afdeling_omschrijving afdeling_omschrijving,
|
||
ma.alg_locatie_key alg_locatie_key,
|
||
(SELECT alg_locatie_code
|
||
FROM alg_locatie l
|
||
WHERE l.alg_locatie_key = ma.alg_locatie_key)
|
||
locatie_code,
|
||
(SELECT alg_regio_omschrijving
|
||
FROM alg_locatie l, alg_district d, alg_regio r
|
||
WHERE r.alg_regio_key = d.alg_regio_key
|
||
AND l.alg_district_key = d.alg_district_key
|
||
AND l.alg_locatie_key = ma.alg_locatie_key)
|
||
regio_omschrijving,
|
||
(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,
|
||
ma.mld_adres_naam afleveradres,
|
||
b.bes_bestelling_plaats afleverplaats,
|
||
NVL ( (SELECT pr.fac_profiel_limiet
|
||
FROM fac_profiel pr
|
||
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0)
|
||
mandaat,
|
||
d.ins_discipline_key ins_discipline_key,
|
||
d.ins_discipline_omschrijving catalogus,
|
||
sg.bes_srtgroep_omschrijving groep,
|
||
b.bes_bestelling_leverdatum afleverdatum,
|
||
fac.count_work_days (
|
||
b.bes_bestelling_datum,
|
||
NVL (
|
||
fac.gettrackingdate ('BESOTV', b.bes_bestelling_key),
|
||
SYSDATE))
|
||
doorlooptijd_werkdgn,
|
||
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,
|
||
sd.bes_srtdeel_nr productcode,
|
||
bi.bes_bestelling_item_prijs
|
||
* bi.bes_bestelling_item_aantal
|
||
prijs,
|
||
NVL (
|
||
bes.getsrtdeelinkprijs (sd.bes_srtdeel_key,
|
||
bes_bestelling_datum),
|
||
bi.bes_bestelling_item_prijs)
|
||
* bi.bes_bestelling_item_aantal
|
||
inkoopprijs,
|
||
(SELECT bes_bestellingstatuses_omschr
|
||
FROM bes_bestellingstatuses bs
|
||
WHERE bs.bes_bestellingstatuses_key =
|
||
b.bes_bestelling_status)
|
||
status,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = b.bes_bestelling_fiat_user)
|
||
gefiatteerddoor,
|
||
'O-' || bo.bes_bestelopdr_id bestelopdrachtnummer,
|
||
bi.bes_bestelling_item_aantal aantal,
|
||
bi.bes_bestelling_item_prijs itemprijs,
|
||
NVL (
|
||
bes.getsrtdeelinkprijs (sd.bes_srtdeel_key,
|
||
bes_bestelling_datum),
|
||
bi.bes_bestelling_item_prijs)
|
||
iteminkoopprijs,
|
||
sd.bes_srtdeel_omschrijving productomschrijving,
|
||
boi.bes_bestelopdr_item_posnr itemposnr,
|
||
b.bes_bestelling_opmerking opmerking
|
||
FROM bes_bestelling b,
|
||
prs_perslid p,
|
||
prs_kostenplaats k,
|
||
prs_afdeling a,
|
||
mld_adres ma,
|
||
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 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);
|
||
|
||
--FMHN#69317 Tijdelijke view tbv bezoekers met parkeerplaats
|
||
CREATE OR REPLACE VIEW FMHN_V_UDR_BEZOEKERSPARK
|
||
(
|
||
KEY,
|
||
AFSPRAAK_KEY,
|
||
RESERVERING_KEY,
|
||
HOST,
|
||
CONTACT,
|
||
INVOERDER,
|
||
PLAATS_CODE,
|
||
PLAATS_OMSCHRIJVING,
|
||
REGIO,
|
||
DISTRICT,
|
||
LOCATIE_CODE,
|
||
LOCATIE_NAAM,
|
||
LOCATIE_PLAATS,
|
||
GEBOUW_CODE,
|
||
GEBOUW_NAAM,
|
||
VERDIEPING_CODE,
|
||
VERDIEPING_NAAM,
|
||
RUIMTE_CODE,
|
||
RUIMTE_NAAM,
|
||
AFSPRAAK_RUIMTE,
|
||
AFSPRAAK_OPMERKING,
|
||
BEZOEKER_NAAM,
|
||
BEZOEKER_BEDRIJF,
|
||
BEZOEK_VAN,
|
||
WEEKDAG_BEZOEK_VAN,
|
||
BEZOEK_TOT,
|
||
ACTIE,
|
||
BEZOEKER_OPMERKING,
|
||
BEZOEKER_BINNEN,
|
||
BEZOEKER_BUITEN,
|
||
PASNR,
|
||
PARKEERPLAATS,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
SELFSERVICE,
|
||
TERREIN_OMSCHRIJVING,
|
||
TERREIN_CODE
|
||
)
|
||
AS
|
||
SELECT b.bez_bezoekers_key,
|
||
a.bez_afspraak_key,
|
||
a.res_rsv_ruimte_key,
|
||
a.bez_afspraak_gastheer
|
||
bez_afspraak_host,
|
||
p2.prs_perslid_naam_full
|
||
bez_afspraak_contact,
|
||
p3.prs_perslid_naam_full
|
||
bez_afspraak_invoerder,
|
||
og.alg_onroerendgoed_code,
|
||
og.alg_onroerendgoed_omschrijving,
|
||
r.alg_regio_omschrijving,
|
||
d.alg_district_omschrijving,
|
||
l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
l.alg_locatie_plaats,
|
||
og.alg_gebouw_code,
|
||
og.alg_gebouw_naam,
|
||
og.alg_verdieping_code,
|
||
og.alg_verdieping_omschrijving,
|
||
og.alg_ruimte_nr,
|
||
og.alg_ruimte_omschrijving,
|
||
a.bez_afspraak_ruimte,
|
||
a.bez_afspraak_opmerking,
|
||
b.bez_afspraak_naam
|
||
bezoeker_naam,
|
||
b.bez_afspraak_bedrijf
|
||
bezoeker_bedrijf,
|
||
a.bez_afspraak_datum,
|
||
TO_CHAR (a.bez_afspraak_datum, 'D')
|
||
weekdag_bezoek_van,
|
||
a.bez_afspraak_eind,
|
||
ba.bez_actie_omschrijving,
|
||
b.bez_bezoekers_opmerking
|
||
bezoeker_opmerking,
|
||
b.bez_bezoekers_done,
|
||
b.bez_bezoekers_out,
|
||
b.bez_bezoekers_pasnr,
|
||
rd.res_deel_omschrijving,
|
||
a.alg_locatie_key,
|
||
DECODE (p2.prs_perslid_naam_full,
|
||
p3.prs_perslid_naam_full, lcl.l ('lcl_yes'),
|
||
lcl.l ('lcl_no'))
|
||
selfservice,
|
||
(SELECT ts.alg_terreinsector_omschrijving
|
||
FROM alg_terreinsector ts
|
||
WHERE id.ins_alg_ruimte_type = 'T'
|
||
AND ts.alg_terreinsector_key = id.ins_alg_ruimte_key)
|
||
AS terrein_omschrijving,
|
||
(SELECT ts.alg_terreinsector_code
|
||
FROM alg_terreinsector ts
|
||
WHERE id.ins_alg_ruimte_type = 'T'
|
||
AND ts.alg_terreinsector_key = id.ins_alg_ruimte_key)
|
||
AS terrein_code
|
||
FROM bez_afspraak a,
|
||
bez_bezoekers b,
|
||
prs_v_perslid_fullnames_all p2,
|
||
prs_v_perslid_fullnames_all p3,
|
||
alg_v_allonrgoed_gegevens og,
|
||
alg_locatie l,
|
||
alg_district d,
|
||
alg_regio r,
|
||
bez_actie ba,
|
||
res_rsv_deel rrd,
|
||
res_deel rd,
|
||
ins_deel id
|
||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||
AND p2.prs_perslid_key = a.bez_afspraak_contact_key
|
||
AND p3.prs_perslid_key(+) = a.prs_perslid_key
|
||
AND a.bez_actie_key = ba.bez_actie_key
|
||
AND l.alg_district_key = d.alg_district_key
|
||
AND d.alg_regio_key = r.alg_regio_key
|
||
AND l.alg_locatie_key = a.alg_locatie_key
|
||
AND a.alg_onrgoed_keys = og.alg_onroerendgoed_keys(+)
|
||
AND b.bez_bezoekers_key = rrd.bez_bezoekers_key(+)
|
||
AND rrd.res_deel_key = rd.res_deel_key(+)
|
||
AND rd.res_deel_omschrijving IS NOT NULL
|
||
AND a.bez_afspraak_datum >= TO_DATE ('01-01-2010', 'DD-MM-YYYY')
|
||
AND id.ins_deel_key = rd.res_ins_deel_key
|
||
ORDER BY bez_bezoekers_key;
|
||
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_insert_npq(p_res_rsv_ruimte_key IN NUMBER,p_rra_key IN NUMBER, p_aantal IN NUMBER, p_lever_datum IN DATE, p_ra_key IN NUMBER, p_soort IN VARCHAR2)
|
||
AS
|
||
v_aantal NUMBER:=0;
|
||
BEGIN
|
||
SELECT COUNT(*) INTO v_aantal FROM fmhn_npq_export WHERE res_rsv_ruimte_key = p_res_rsv_ruimte_key AND res_rsv_artikel_key = p_rra_key;
|
||
IF v_aantal = 0
|
||
THEN
|
||
|
||
INSERT INTO fmhn_npq_export(res_rsv_artikel_key,export_datum,res_rsv_ruimte_key,res_artikel_key,aantal,lever_datum,soort)
|
||
VALUES(p_rra_key,SYSDATE,p_res_rsv_ruimte_key, p_ra_key, p_aantal, p_lever_datum,p_soort);
|
||
ELSE
|
||
UPDATE fmhn_npq_export set aantal=p_aantal, lever_datum=p_lever_datum WHERE res_rsv_ruimte_key = p_res_rsv_ruimte_key AND res_rsv_artikel_key = p_rra_key;
|
||
END IF;
|
||
--COMMIT;
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_delete_npq(p_res_rsv_ruimte_key IN NUMBER,p_rra_key IN NUMBER)
|
||
AS
|
||
|
||
BEGIN
|
||
DELETE FROM fmhn_npq_export WHERE res_rsv_ruimte_key= p_res_rsv_ruimte_key AND res_rsv_artikel_key = p_rra_key;
|
||
--COMMIT;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_select_reserv_all
|
||
AS
|
||
SELECT DISTINCT(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak aanmk_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rrr.res_rsv_ruimte_externsyncdate last_export,
|
||
rrr.res_rsv_ruimte_verwijder verw_datum,
|
||
COALESCE(rer.res_ruimte_friendlyname,alg.alg_ruimte_nr) ruimte_nr,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
rrr.RES_RSV_RUIMTE_VAN datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving oms,
|
||
rrr.res_rsv_ruimte_bezoekers aantal,
|
||
alg.alg_locatie_code locatie_code,
|
||
'ruimte' soort,
|
||
ros.res_opstelling_omschrijving opstelling,
|
||
rrr.res_status_fo_key fo_status,
|
||
rrr.res_rsv_ruimte_dirtlevel dirtlevel
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rop,
|
||
res_opstelling ros,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg
|
||
WHERE rrr.res_status_bo_key = 2
|
||
--AND rrr.res_status_fo_key = 2
|
||
--AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND ros.res_opstelling_key = rop.res_opstelling_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key= 18
|
||
-- AND rrr.res_rsv_ruimte_dirtlevel=0
|
||
UNION ALL
|
||
SELECT DISTINCT(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak aanmk_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rrr.res_rsv_ruimte_externsyncdate last_export,
|
||
rrr.res_rsv_ruimte_verwijder verw_datum,
|
||
alg.alg_ruimte_nr ruimte_nr,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
rrr.RES_RSV_RUIMTE_VAN datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving oms,
|
||
rrr.res_rsv_ruimte_bezoekers aantal,
|
||
alg.alg_locatie_code locatie_code,
|
||
'losse-catering' soort,
|
||
'N.V.T.' opstelling,
|
||
rrr.res_status_fo_key fo_status,
|
||
0 dirtlevel
|
||
FROM res_rsv_ruimte rrr,
|
||
alg_v_ruimte_gegevens_all alg
|
||
WHERE alg.alg_ruimte_key = rrr.alg_ruimte_key
|
||
AND alg.alg_locatie_key= 18
|
||
-- AND rrr.res_rsv_ruimte_dirtlevel=0
|
||
-- AND rrr.res_status_fo_key = 2
|
||
ORDER BY reservering_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_select_reservering
|
||
AS
|
||
SELECT * FROM (
|
||
SELECT DISTINCT(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak aanmk_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rrr.res_rsv_ruimte_externsyncdate last_export,
|
||
rrr.res_rsv_ruimte_verwijder verw_datum,
|
||
(SELECT COUNT(*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_externsyncdate IS NULL) art_not_exp,
|
||
(SELECT COUNT(*)
|
||
FROM res_rsv_deel rrd
|
||
WHERE rrd.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rrd.res_rsv_deel_externsyncdate IS NULL) deel_not_exp,
|
||
COALESCE(rer.res_ruimte_friendlyname,alg.alg_ruimte_nr) ruimte_nr,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
rrr.RES_RSV_RUIMTE_VAN datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving oms,
|
||
rrr.res_rsv_ruimte_bezoekers aantal,
|
||
alg.alg_locatie_code locatie_code,
|
||
'ruimte' soort,
|
||
ros.res_opstelling_omschrijving opstelling,
|
||
rrr.res_status_fo_key fo_status,
|
||
rrr.res_rsv_ruimte_dirtlevel dirtlevel,
|
||
(SELECT rkw.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde rkw,
|
||
res_kenmerk rk,
|
||
res_srtkenmerk rsk
|
||
WHERE rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
|
||
AND rkw.RES_KENMERK_KEY=rk.RES_KENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_KEY = rk.RES_SRTKENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_UPPER='PC NR ZAAL') pc_nr
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rop,
|
||
res_opstelling ros,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg
|
||
WHERE rrr.res_status_bo_key = 2
|
||
--AND rrr.res_status_fo_key = 2
|
||
--AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND ros.res_opstelling_key = rop.res_opstelling_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key= 18
|
||
-- AND rrr.res_rsv_ruimte_dirtlevel=0
|
||
UNION ALL
|
||
SELECT DISTINCT(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak aanmk_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rrr.res_rsv_ruimte_externsyncdate last_export,
|
||
rrr.res_rsv_ruimte_verwijder verw_datum,
|
||
(SELECT COUNT(*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_externsyncdate IS NULL) art_not_exp,
|
||
(SELECT COUNT(*)
|
||
FROM res_rsv_deel rrd
|
||
WHERE rrd.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rrd.res_rsv_deel_externsyncdate IS NULL) deel_not_exp,
|
||
COALESCE(rer.res_ruimte_friendlyname,alg.alg_ruimte_nr) ruimte_nr,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
rrr.RES_RSV_RUIMTE_VAN datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving oms,
|
||
rrr.res_rsv_ruimte_bezoekers aantal,
|
||
alg.alg_locatie_code locatie_code,
|
||
'ruimte-verplaatsing' soort,
|
||
ros.res_opstelling_omschrijving opstelling,
|
||
rrr.res_status_fo_key fo_status,
|
||
rrr.res_rsv_ruimte_dirtlevel dirtlevel,
|
||
rkw.res_kenmerkreservering_waarde pc_nr
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rop,
|
||
res_opstelling ros,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
res_kenmerkwaarde rkw,
|
||
res_kenmerk rk,
|
||
res_srtkenmerk rsk
|
||
WHERE rrr.res_status_bo_key = 2
|
||
--AND rrr.res_status_fo_key = 2
|
||
--AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND ros.res_opstelling_key = rop.res_opstelling_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key <> 18
|
||
AND rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
|
||
AND rkw.RES_KENMERK_KEY=rk.RES_KENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_KEY = rk.RES_SRTKENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_UPPER='PC NR ZAAL'
|
||
AND rrr.RES_RSV_RUIMTE_VERWIJDER IS NULL
|
||
UNION ALL
|
||
SELECT DISTINCT(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak aanmk_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rrr.res_rsv_ruimte_externsyncdate last_export,
|
||
rrr.res_rsv_ruimte_verwijder verw_datum,
|
||
(SELECT COUNT(*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_externsyncdate IS NULL) art_not_exp,
|
||
(SELECT COUNT(*)
|
||
FROM res_rsv_deel rrd
|
||
WHERE rrd.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rrd.res_rsv_deel_externsyncdate IS NULL) deel_not_exp,
|
||
alg.alg_ruimte_nr ruimte_nr,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
rrr.RES_RSV_RUIMTE_VAN datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving oms,
|
||
rrr.res_rsv_ruimte_bezoekers aantal,
|
||
alg.alg_locatie_code locatie_code,
|
||
'losse-catering' soort,
|
||
'N.V.T.' opstelling,
|
||
rrr.res_status_fo_key fo_status,
|
||
rrr.res_rsv_ruimte_dirtlevel dirtlevel,
|
||
(SELECT rkw.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde rkw,
|
||
res_kenmerk rk,
|
||
res_srtkenmerk rsk
|
||
WHERE rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
|
||
AND rkw.RES_KENMERK_KEY=rk.RES_KENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_KEY = rk.RES_SRTKENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_UPPER='PC NR ZAAL') pc_nr
|
||
FROM res_rsv_ruimte rrr,
|
||
res_rsv_artikel rra,
|
||
alg_v_ruimte_gegevens_all alg
|
||
WHERE alg.alg_ruimte_key = rrr.alg_ruimte_key
|
||
AND alg.alg_locatie_key= 18
|
||
AND rrr.res_rsv_ruimte_dirtlevel=0
|
||
AND rra.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
-- AND rrr.res_status_fo_key = 2
|
||
UNION ALL
|
||
SELECT DISTINCT(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak aanmk_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rrr.res_rsv_ruimte_externsyncdate last_export,
|
||
rrr.res_rsv_ruimte_verwijder verw_datum,
|
||
(SELECT COUNT(*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_externsyncdate IS NULL) art_not_exp,
|
||
(SELECT COUNT(*)
|
||
FROM res_rsv_deel rrd
|
||
WHERE rrd.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rrd.res_rsv_deel_externsyncdate IS NULL) deel_not_exp,
|
||
alg.alg_ruimte_nr ruimte_nr,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
rrr.RES_RSV_RUIMTE_VAN datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving oms,
|
||
rrr.res_rsv_ruimte_bezoekers aantal,
|
||
alg.alg_locatie_code locatie_code,
|
||
'losse-catering-verplaatsing' soort,
|
||
'N.V.T.' opstelling,
|
||
rrr.res_status_fo_key fo_status,
|
||
rrr.res_rsv_ruimte_dirtlevel dirtlevel,
|
||
rkw.res_kenmerkreservering_waarde pc_nr
|
||
FROM res_rsv_ruimte rrr,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
res_kenmerkwaarde rkw,
|
||
res_kenmerk rk,
|
||
res_srtkenmerk rsk
|
||
WHERE alg.alg_ruimte_key = rrr.alg_ruimte_key
|
||
AND alg.alg_locatie_key <> 18
|
||
AND rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
|
||
AND rkw.RES_KENMERK_KEY=rk.RES_KENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_KEY = rk.RES_SRTKENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_UPPER='PC NR ZAAL'
|
||
AND rrr.RES_RSV_RUIMTE_VERWIJDER IS NULL
|
||
-- AND rrr.res_rsv_ruimte_dirtlevel=0
|
||
-- AND rrr.res_status_fo_key = 2
|
||
ORDER BY reservering_key )
|
||
WHERE datum_van> SYSDATE-30 -- We synchrioniseren alleen afspraken die 30 dagen teru gaan, aanpassingen door de facility desk moeten in deze 30 dagen gebeuren.
|
||
AND (( last_export IS NULL -- dit zijn de nieuwe reserveringen
|
||
AND verw_datum IS NULL
|
||
AND fo_status=2
|
||
AND dirtlevel=0)
|
||
OR ( last_export IS NOT NULL -- dan betreft het hier due een mutatie
|
||
AND last_upd > last_export
|
||
AND verw_datum IS NULL)
|
||
OR ( last_export IS NOT NULL -- dan betreft het een annulering van een reservering
|
||
AND verw_datum IS NOT NULL
|
||
AND verw_datum > last_export)
|
||
OR ( last_export IS NULL -- Deze is door een undelete weer leeg gemaakt , deze wiol FMHn dus geforceerd naar NPQ hebben
|
||
AND verw_datum IS NOT NULL -- maar hij is al wel verwijderd,
|
||
AND pc_nr IS NOT NULL -- en hij is ooit uitgewisseld met PC
|
||
AND TRUNC(verw_datum) = TRUNC(SYSDATE)) -- dit doen we dan alleen voor verwijderde reservering van vandaag
|
||
OR ( last_upd<=last_export -- Dit betreft reserveringen die nog niet uitgewisselde res_art en/of res_deel hebben
|
||
AND ( art_not_exp>0
|
||
OR deel_not_exp >0))
|
||
);
|
||
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_select_res_artikel
|
||
AS
|
||
SELECT DISTINCT(rra.res_rsv_artikel_key) rra_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr reservering_volgnr,
|
||
rrr.res_rsv_ruimte_van datum_van,
|
||
rrr.res_rsv_ruimte_tot datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving res_oms,
|
||
rra.RES_RSV_ARTIKEL_EXTERNSYNCDATE last_export,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rra.res_rsv_artikel_verwijder verw_datum,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
alg.alg_locatie_code locatie_code,
|
||
COALESCE(rer.res_ruimte_friendlyname,alg.alg_ruimte_nr) ruimte_nr,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_key ra_key,
|
||
ra.res_artikel_externnr artikel_nr,
|
||
ra.res_artikel_omschrijving
|
||
|| DECODE (
|
||
rra.res_rsv_artikel_afhalen,
|
||
NULL, NULL,
|
||
'; Ophaaltijd: '
|
||
|| TO_CHAR (rra.res_rsv_artikel_afhalen, 'HH24:MI'))
|
||
art_omschrijving,
|
||
ra.res_artikel_externnr art_extern_nr,
|
||
rra.res_rsv_artikel_levering lever_datum,
|
||
ins.ins_discipline_externnr cat_externnr,
|
||
'ruimte-artikel' soort
|
||
FROM res_rsv_artikel rra,
|
||
res_rsv_ruimte rrr,
|
||
res_artikel ra,
|
||
res_ruimte_opstelling rop,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
ins_tab_discipline ins
|
||
WHERE rra.res_status_bo_key = 2
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ra.res_artikel_key = rra.res_artikel_key
|
||
-- AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key= 18
|
||
AND ins.ins_discipline_key = ra.res_discipline_key
|
||
AND rrr.res_rsv_ruimte_van> SYSDATE-30
|
||
-- alle artikelen bij zaal reservering
|
||
UNION ALL
|
||
SELECT DISTINCT rra.res_rsv_artikel_key rra_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr reservering_volgnr,
|
||
rrr.res_rsv_ruimte_van datum_van,
|
||
rrr.res_rsv_ruimte_tot datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving res_oms,
|
||
rra.RES_RSV_ARTIKEL_EXTERNSYNCDATE last_export,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rra.res_rsv_artikel_verwijder verw_datum,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
alg.alg_locatie_code locatie_code,
|
||
alg.alg_ruimte_nr ruimte_nr,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_key ra_key,
|
||
ra.res_artikel_opmerking artikel_nr,
|
||
ra.res_artikel_omschrijving
|
||
|| DECODE (
|
||
rra.res_rsv_artikel_afhalen,
|
||
NULL, NULL,
|
||
'; Ophaaltijd: '
|
||
|| TO_CHAR (rra.res_rsv_artikel_afhalen, 'HH24:MI'))
|
||
art_omschrijving,
|
||
ra.res_artikel_externnr art_extern_nr,
|
||
rra.res_rsv_artikel_levering lever_datum,
|
||
ins.ins_discipline_externnr cat_externnr,
|
||
'losse-catering' soort
|
||
FROM res_rsv_ruimte rrr,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
ins_tab_discipline ins
|
||
WHERE rra.res_status_bo_key = 2
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ra.res_artikel_key = rra.res_artikel_key
|
||
AND alg.ALG_RUIMTE_KEY = rrr.ALG_RUIMTE_KEY
|
||
AND alg.alg_locatie_key= 18
|
||
AND ins.ins_discipline_key = ra.res_discipline_key
|
||
AND rrr.res_rsv_ruimte_van> SYSDATE-30
|
||
-- alle losse catering
|
||
UNION ALL
|
||
SELECT DISTINCT (rra.res_rsv_deel_key) rra_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr reservering_volgnr,
|
||
rrr.res_rsv_ruimte_van datum_van,
|
||
rrr.res_rsv_ruimte_tot datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving res_oms,
|
||
rra.RES_RSV_deel_EXTERNSYNCDATE last_export,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rra.res_rsv_deel_verwijder verw_datum,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
'RS8' locatie_code,
|
||
COALESCE(rer.res_ruimte_friendlyname, (SELECT MAX(alg.alg_ruimte_nr)
|
||
FROM res_alg_ruimte rarm, alg_v_ruimte_gegevens_all alg
|
||
WHERE rarm.res_ruimte_key = rer.res_ruimte_key AND alg.alg_ruimte_key = rarm.alg_ruimte_key)) ruimte_nr,
|
||
rra.res_rsv_deel_aantal aantal,
|
||
ra.res_deel_key ra_key,
|
||
ra.res_deel_opmerking artikel_nr,
|
||
ra.res_deel_omschrijving art_omschrijving,
|
||
ra.res_deel_externnr art_extern_nr,
|
||
rra.res_rsv_deel_van lever_datum,
|
||
ins.ins_discipline_externnr cat_externnr,
|
||
'res-objecten' soort
|
||
FROM res_rsv_ruimte rrr,
|
||
res_rsv_deel rra,
|
||
res_deel ra,
|
||
res_ruimte_opstelling rop,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
ins_tab_discipline ins
|
||
WHERE rra.res_status_bo_key = 2
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ra.res_deel_key = rra.res_deel_key
|
||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key= 18
|
||
AND ins.ins_discipline_key = ra.res_discipline_key
|
||
AND rrr.res_rsv_ruimte_van> SYSDATE-30
|
||
-- alle res objecten
|
||
UNION ALL
|
||
SELECT DISTINCT(rra.res_rsv_artikel_key) rra_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr reservering_volgnr,
|
||
rrr.res_rsv_ruimte_van datum_van,
|
||
rrr.res_rsv_ruimte_tot datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving res_oms,
|
||
rra.RES_RSV_ARTIKEL_EXTERNSYNCDATE last_export,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rra.res_rsv_artikel_verwijder verw_datum,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
alg.alg_locatie_code locatie_code,
|
||
COALESCE(rer.res_ruimte_friendlyname,alg.alg_ruimte_nr) ruimte_nr,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_key ra_key,
|
||
ra.res_artikel_externnr artikel_nr,
|
||
ra.res_artikel_omschrijving
|
||
|| DECODE (
|
||
rra.res_rsv_artikel_afhalen,
|
||
NULL, NULL,
|
||
'; Ophaaltijd: '
|
||
|| TO_CHAR (rra.res_rsv_artikel_afhalen, 'HH24:MI'))
|
||
art_omschrijving,
|
||
ra.res_artikel_externnr art_extern_nr,
|
||
rra.res_rsv_artikel_levering lever_datum,
|
||
ins.ins_discipline_externnr cat_externnr,
|
||
'ruimte-artikel-verplaatsing' soort
|
||
FROM res_rsv_artikel rra,
|
||
res_rsv_ruimte rrr,
|
||
res_artikel ra,
|
||
res_ruimte_opstelling rop,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
ins_tab_discipline ins,
|
||
res_kenmerkwaarde rkw,
|
||
res_kenmerk rk,
|
||
res_srtkenmerk rsk
|
||
WHERE rra.res_status_bo_key = 2
|
||
-- AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ra.res_artikel_key = rra.res_artikel_key
|
||
-- AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key <> 18
|
||
AND ins.ins_discipline_key = ra.res_discipline_key
|
||
AND rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
|
||
AND rkw.RES_KENMERK_KEY=rk.RES_KENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_KEY = rk.RES_SRTKENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_UPPER='PC NR ZAAL'
|
||
AND rrr.RES_RSV_RUIMTE_VERWIJDER IS NULL
|
||
AND rrr.res_rsv_ruimte_van> SYSDATE-30
|
||
UNION ALL
|
||
SELECT DISTINCT rra.res_rsv_artikel_key rra_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr reservering_volgnr,
|
||
rrr.res_rsv_ruimte_van datum_van,
|
||
rrr.res_rsv_ruimte_tot datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving res_oms,
|
||
rra.RES_RSV_ARTIKEL_EXTERNSYNCDATE last_export,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rra.res_rsv_artikel_verwijder verw_datum,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
alg.alg_locatie_code locatie_code,
|
||
alg.alg_ruimte_nr ruimte_nr,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_key ra_key,
|
||
ra.res_artikel_opmerking artikel_nr,
|
||
ra.res_artikel_omschrijving
|
||
|| DECODE (
|
||
rra.res_rsv_artikel_afhalen,
|
||
NULL, NULL,
|
||
'; Ophaaltijd: '
|
||
|| TO_CHAR (rra.res_rsv_artikel_afhalen, 'HH24:MI'))
|
||
art_omschrijving,
|
||
ra.res_artikel_externnr art_extern_nr,
|
||
rra.res_rsv_artikel_levering lever_datum,
|
||
ins.ins_discipline_externnr cat_externnr,
|
||
'losse-catering-verplaatsing' soort
|
||
FROM res_rsv_ruimte rrr,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
ins_tab_discipline ins,
|
||
res_kenmerkwaarde rkw,
|
||
res_kenmerk rk,
|
||
res_srtkenmerk rsk
|
||
WHERE rra.res_status_bo_key = 2
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ra.res_artikel_key = rra.res_artikel_key
|
||
AND alg.ALG_RUIMTE_KEY = rrr.ALG_RUIMTE_KEY
|
||
AND alg.alg_locatie_key <> 18
|
||
AND ins.ins_discipline_key = ra.res_discipline_key
|
||
AND rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
|
||
AND rkw.RES_KENMERK_KEY=rk.RES_KENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_KEY = rk.RES_SRTKENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_UPPER='PC NR ZAAL'
|
||
AND rrr.RES_RSV_RUIMTE_VERWIJDER IS NULL
|
||
AND rrr.res_rsv_ruimte_van> SYSDATE-30
|
||
UNION ALL
|
||
SELECT DISTINCT (rra.res_rsv_deel_key) rra_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr reservering_volgnr,
|
||
rrr.res_rsv_ruimte_van datum_van,
|
||
rrr.res_rsv_ruimte_tot datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving res_oms,
|
||
rra.RES_RSV_deel_EXTERNSYNCDATE last_export,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rra.res_rsv_deel_verwijder verw_datum,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||
'oud-RS8' locatie_code,
|
||
COALESCE(rer.res_ruimte_friendlyname, (SELECT MAX(alg.alg_ruimte_nr)
|
||
FROM res_alg_ruimte rarm, alg_v_ruimte_gegevens_all alg
|
||
WHERE rarm.res_ruimte_key = rer.res_ruimte_key AND alg.alg_ruimte_key = rarm.alg_ruimte_key)) ruimte_nr,
|
||
rra.res_rsv_deel_aantal aantal,
|
||
ra.res_deel_key ra_key,
|
||
ra.res_deel_opmerking artikel_nr,
|
||
ra.res_deel_omschrijving art_omschrijving,
|
||
ra.res_deel_externnr art_extern_nr,
|
||
rra.res_rsv_deel_van lever_datum,
|
||
ins.ins_discipline_externnr cat_externnr,
|
||
'res-object-verplaatsing' soort
|
||
FROM res_rsv_ruimte rrr,
|
||
res_rsv_deel rra,
|
||
res_deel ra,
|
||
res_ruimte_opstelling rop,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
ins_tab_discipline ins,
|
||
res_kenmerkwaarde rkw,
|
||
res_kenmerk rk,
|
||
res_srtkenmerk rsk
|
||
WHERE rra.res_status_bo_key = 2
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ra.res_deel_key = rra.res_deel_key
|
||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key <> 18
|
||
AND ins.ins_discipline_key = ra.res_discipline_key
|
||
AND rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
|
||
AND rkw.RES_KENMERK_KEY=rk.RES_KENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_KEY = rk.RES_SRTKENMERK_KEY
|
||
AND rsk.RES_SRTKENMERK_UPPER='PC NR ZAAL'
|
||
AND rrr.RES_RSV_RUIMTE_VERWIJDER IS NULL
|
||
AND rrr.res_rsv_ruimte_van> SYSDATE-30
|
||
ORDER BY reservering_key, reservering_volgnr;
|
||
|
||
|
||
|
||
/*
|
||
CREATE OR REPLACE VIEW fmhn_v_select_opdracht
|
||
AS
|
||
select rrr.res_rsv_ruimte_key rrr_key,
|
||
from res_rsv_ruimte rrr,
|
||
mld_melding m
|
||
where rrr.res_rsv_ruimte_verwijder NOT IS NULL
|
||
AND m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key;
|
||
*/
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_select_objects (
|
||
p_res_rsv_ruimte_key IN NUMBER,
|
||
p_soort IN VARCHAR2,
|
||
p_counter IN NUMBER)
|
||
AS
|
||
CURSOR sel_art (v_res_rsv_ruimte_key NUMBER)
|
||
IS
|
||
SELECT DISTINCT(rra_key) rra_key, -- zorgen dat koppelzalen geen roet in het eten gooien
|
||
res_rsv_ruimte_key,
|
||
reservering_key,
|
||
reservering_volgnr,
|
||
res_oms,
|
||
last_upd,
|
||
last_export,
|
||
verw_datum,
|
||
besteller,
|
||
datum_van,
|
||
datum_tot,
|
||
artikel_nr,
|
||
art_omschrijving,
|
||
aantal,
|
||
art_extern_nr,
|
||
ra_key,
|
||
locatie_code,
|
||
ruimte_nr,
|
||
lever_datum,
|
||
COALESCE(cat_externnr,'LEEG') cat_externnr,
|
||
COALESCE ((SELECT rak.res_kenmerkartikel_waarde
|
||
FROM res_kenmerkartikel rak, res_kenmerk rk, res_rsv_artikel rra, res_artikel ra
|
||
WHERE rak.res_rsv_artikel_key=rra_key
|
||
AND rra.res_rsv_artikel_key= rak.res_rsv_artikel_key
|
||
AND ra.res_artikel_key= rra.res_artikel_key
|
||
AND rk.res_discipline_key = ra.res_discipline_key
|
||
AND rk.res_kenmerk_key=rak.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key=82 --FMHN#76696 Eerst kijken of er een kenmerk Toelichting250 is (key=82) anders Toelichting50 (key=1)
|
||
AND rk.res_kenmerk_verwijder IS NULL),
|
||
(SELECT rak.res_kenmerkartikel_waarde
|
||
FROM res_kenmerkartikel rak, res_kenmerk rk, res_rsv_artikel rra, res_artikel ra
|
||
WHERE rak.res_rsv_artikel_key=rra_key
|
||
AND rra.res_rsv_artikel_key= rak.res_rsv_artikel_key
|
||
AND ra.res_artikel_key= rra.res_artikel_key
|
||
AND rk.res_discipline_key = ra.res_discipline_key -- FMHN#87059 Uitgevallen koppeling tussen facilitor en NPQ FIX
|
||
AND rk.res_kenmerk_key=rak.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key=1 --FMHN#76696 Eerst kijken of er een kenmerk Toelichting250 is (key=82) anders Toelichting50 (key=1)
|
||
AND rk.res_kenmerk_verwijder IS NULL
|
||
)) toelichting
|
||
FROM fmhn_v_select_res_artikel
|
||
WHERE res_rsv_ruimte_key = v_res_rsv_ruimte_key;
|
||
|
||
|
||
|
||
/*
|
||
CURSOR sel_del(v_res_rsv_ruimte_key NUMBER)
|
||
IS
|
||
SELECT *
|
||
FROM fmhn_npq_export fne, res_rsv_artikel rra
|
||
WHERE fne.res_rsv_ruimte_key=v_res_rsv_ruimte_key
|
||
AND fne.soort='Catering'
|
||
AND fne.res_rsv_artikel_key NOT IN
|
||
(select rra.res_rsv_artikel_key from res_rsv_artikel rra where rra.res_rsv_ruimte_key=v_res_rsv_ruimte_key)
|
||
UNION ALL
|
||
|
||
|
||
CURSOR sel_del (v_res_rsv_ruimte_key NUMBER)
|
||
IS
|
||
SELECT ra.res_artikel_omschrijving art_omschrijving,
|
||
fne.aantal aantal,
|
||
fne.RES_ARTIKEL_KEY,
|
||
rrr.RES_RSV_RUIMTE_VAN lever_datum,
|
||
ra.res_artikel_opmerking artikel_nr,
|
||
rra.res_rsv_artikel_key rra_key
|
||
FROM fmhn_npq_export fne,
|
||
res_rsv_ruimte rrr,
|
||
res_artikel ra,
|
||
res_rsv_artikel rra
|
||
WHERE rrr.res_rsv_ruimte_key = v_res_rsv_ruimte_key
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND fne.res_artikel_key = ra.res_artikel_key
|
||
AND fne.soort='Catering'
|
||
AND fne.res_rsv_artikel_key NOT IN
|
||
(SELECT rra_key
|
||
FROM fmhn_v_select_res_artikel
|
||
WHERE res_rsv_ruimte_key = v_res_rsv_ruimte_key)
|
||
UNION ALL
|
||
SELECT ra.res_deel_omschrijving art_omschrijving,
|
||
fne.aantal aantal,
|
||
fne.RES_ARTIKEL_KEY,
|
||
rrr.RES_RSV_RUIMTE_VAN lever_datum,
|
||
ra.res_deel_opmerking artikel_nr,
|
||
rra.res_rsv_deel_key rra_key
|
||
FROM fmhn_npq_export fne,
|
||
res_rsv_ruimte rrr,
|
||
res_deel ra,
|
||
res_rsv_deel rra
|
||
WHERE rrr.res_rsv_ruimte_key = v_res_rsv_ruimte_key
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND fne.res_artikel_key = ra.res_deel_key
|
||
AND fne.soort='Facility'
|
||
AND fne.res_rsv_artikel_key NOT IN
|
||
(SELECT rra_key
|
||
FROM fmhn_v_select_res_artikel
|
||
WHERE res_rsv_ruimte_key = v_res_rsv_ruimte_key);
|
||
*/
|
||
v_base VARCHAR2 (10);
|
||
v_bestand VARCHAR2 (50);
|
||
v_counter NUMBER;
|
||
v_artcounter NUMBER;
|
||
v_status VARCHAR2 (20);
|
||
v_soort VARCHAR2 (10);
|
||
v_count NUMBER :=0;
|
||
|
||
BEGIN
|
||
-- Nu gaan we kijken of er ook artikelen zijn die we moeten exporteren.
|
||
v_base := 'ITN';
|
||
v_artcounter := 0;
|
||
v_counter := p_counter;
|
||
v_status := 'ND';
|
||
v_count:=0;
|
||
|
||
|
||
-- Check of de reservering al een valide Prequest Nr heeftv terug gekregen.
|
||
SELECT COUNT(*) INTO v_count
|
||
FROM res_rsv_ruimte rrr, res_kenmerkwaarde rk
|
||
WHERE rrr.res_rsv_ruimte_key=p_res_rsv_ruimte_key
|
||
AND rk.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rk.res_kenmerk_key IN (341,342,343,365,370); -- kenmerk van de activiteit
|
||
|
||
IF v_count>0 OR (p_soort='losse-catering' OR p_soort = 'losse-catering-verplaatsing' )THEN
|
||
|
||
FOR rec_art IN sel_art (p_res_rsv_ruimte_key)
|
||
LOOP
|
||
v_artcounter := v_artcounter + 1;
|
||
v_status := 'ND';
|
||
IF rec_art.last_export IS NULL
|
||
THEN
|
||
v_status := 'Opened';
|
||
ELSIF rec_art.last_export IS NOT NULL
|
||
AND rec_art.last_upd > rec_art.last_export
|
||
AND rec_art.verw_datum IS NULL
|
||
THEN
|
||
IF (p_soort = 'losse-catering-verplaatsing' OR p_soort = 'ruimte-verplaatsing') THEN
|
||
v_status := 'Cancelled';
|
||
v_base := 'ITD';
|
||
ELSE
|
||
v_status := 'Opened';
|
||
v_base := 'ITU';
|
||
END IF;
|
||
|
||
ELSIF rec_art.last_export IS NOT NULL
|
||
AND rec_art.verw_datum IS NOT NULL
|
||
AND rec_art.verw_datum > rec_art.last_export
|
||
THEN
|
||
v_status := 'Cancelled';
|
||
v_base := 'ITD';
|
||
END IF;
|
||
|
||
-- DBMS_OUTPUT.PUT_LINE('Status -'||v_status||'-');
|
||
|
||
v_bestand := v_base || '-' || rec_art.rra_key || '-';
|
||
|
||
IF v_status != 'ND' AND rec_art.cat_externnr != 'LEEG'
|
||
THEN
|
||
-- IF v_artcounter = 1
|
||
-- THEN
|
||
IF INSTR(rec_art.cat_externnr,'CAT')>0 THEN -- is het een catering aanvraag of een ander soort
|
||
v_soort:= 'Catering';
|
||
ELSE
|
||
v_soort:='Facility';
|
||
END IF;
|
||
fmhn.add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
|
||
fmhn.add_xml_row (v_bestand, '<Facilitor>');
|
||
|
||
-- Check inbouwen of het catering is of iets anders
|
||
fmhn.add_xml_row (v_bestand, '<Reservering >');
|
||
fmhn.add_xml_element (v_bestand, 'Soort', v_soort);
|
||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||
fmhn.add_xml_element (v_bestand, 'Catalogus', rec_art.cat_externnr);
|
||
fmhn.add_xml_element (v_bestand, 'Key', rec_art.res_rsv_ruimte_key);
|
||
fmhn.add_xml_element (v_bestand, 'ReserveringNr', rec_art.reservering_key);
|
||
fmhn.add_xml_element (v_bestand, 'VolgNr', rec_art.reservering_volgnr);
|
||
fmhn.add_xml_element (v_bestand, 'RuimteNr', rec_art.ruimte_nr);
|
||
fmhn.add_xml_element (v_bestand, 'LocatieCode', rec_art.locatie_Code);
|
||
fmhn.add_xml_element (v_bestand, 'DatumVan', TO_CHAR (rec_art.datum_van, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_element (v_bestand, 'DatumTot', TO_CHAR (rec_art.datum_tot, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_element (v_bestand, 'Omschrijving', rec_art.res_oms);
|
||
fmhn.add_xml_element (v_bestand, 'Toelichting', rec_art.toelichting);
|
||
--fmhn_add_xml_element (v_bestand, 'Aantal', rec.aantal);
|
||
fmhn.add_xml_element (v_bestand, 'Besteller', rec_art.besteller);
|
||
fmhn.add_xml_row (v_bestand, '<Items>');
|
||
-- END IF;
|
||
|
||
fmhn.add_xml_row (v_bestand, '<Item>');
|
||
fmhn.add_xml_element (v_bestand, 'ArtikelKey', rec_art.rra_key);
|
||
fmhn.add_xml_element (v_bestand, 'Artikelnr', rec_art.art_extern_nr);
|
||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||
fmhn.add_xml_element (v_bestand, 'Soort', v_soort);
|
||
fmhn.add_xml_element (v_bestand, 'Aantal', rec_art.aantal);
|
||
fmhn.add_xml_element (v_bestand, 'Omschrijving', rec_art.art_omschrijving);
|
||
fmhn.add_xml_element (v_bestand, 'ArtOpm', rec_art.toelichting);
|
||
fmhn.add_xml_element (v_bestand, 'LeverDatum', TO_CHAR (rec_art.lever_datum, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_row (v_bestand, '</Item>');
|
||
fmhn.add_xml_row (v_bestand, '</Items>');
|
||
fmhn.add_xml_row (v_bestand, '</Reservering>');
|
||
fmhn.add_xml_row (v_bestand, '</Facilitor>');
|
||
IF v_soort= 'Catering'
|
||
THEN
|
||
UPDATE res_rsv_artikel
|
||
SET res_rsv_artikel_externsyncdate = SYSDATE
|
||
WHERE res_rsv_ruimte_key = p_res_rsv_ruimte_key AND res_rsv_artikel_key=rec_art.rra_key;
|
||
ELSE
|
||
UPDATE res_rsv_deel
|
||
SET res_rsv_deel_externsyncdate = SYSDATE
|
||
WHERE res_rsv_ruimte_key = p_res_rsv_ruimte_key AND res_rsv_deel_key=rec_art.rra_key;
|
||
END IF;
|
||
IF p_soort='losse-catering' THEN
|
||
UPDATE res_rsv_ruimte
|
||
SET res_rsv_ruimte_externsyncdate = SYSDATE
|
||
WHERE res_rsv_ruimte_key = rec_art.res_rsv_ruimte_key; -- alleen update als er ook wat geexporteerd is.
|
||
END IF;
|
||
IF p_soort = 'ruimte' OR p_soort='losse-catering' THEN
|
||
fmhn_insert_npq (rec_art.res_rsv_ruimte_key, rec_art.rra_key, rec_art.aantal, rec_art.lever_datum, rec_art.ra_key,v_soort);
|
||
ELSE
|
||
fmhn_delete_npq(rec_art.res_rsv_ruimte_key, rec_art.rra_key);
|
||
END IF;
|
||
END IF;
|
||
END LOOP;
|
||
fmhn_export_removed_art(p_res_rsv_ruimte_key);
|
||
END IF;
|
||
|
||
/* IF v_artcounter > 0
|
||
THEN
|
||
fmhn.add_xml_row (v_bestand, '</Items>');
|
||
fmhn.add_xml_row (v_bestand, '</Reservering>');
|
||
fmhn.add_xml_row (v_bestand, '</Facilitor>');
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_rsv_artikel_externsyncdate = SYSDATE
|
||
WHERE res_rsv_ruimte_key = p_res_rsv_ruimte_key;
|
||
|
||
|
||
COMMIT;
|
||
|
||
END IF;
|
||
*/
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_export_removed_art( p_res_rsv_ruimte_key IN NUMBER)
|
||
AS
|
||
CURSOR sel_del (p_res_rsv_ruimte_key NUMBER)
|
||
IS
|
||
SELECT fne.RES_RSV_ARTIKEL_KEY rra_key,
|
||
fne.RES_ARTIKEL_KEY,
|
||
fne.AANTAL aantal,
|
||
ra.res_artikel_omschrijving art_omschrijving,
|
||
ra.RES_ARTIKEL_EXTERNNR artikel_nr,
|
||
fne.LEVER_DATUM lever_datum,
|
||
'Catering' soort
|
||
FROM fmhn_npq_export fne, res_artikel ra
|
||
WHERE fne.res_rsv_ruimte_key=p_res_rsv_ruimte_key
|
||
AND fne.soort='Catering'
|
||
AND ra.RES_ARTIKEL_KEY = fne.RES_ARTIKEL_KEY
|
||
and fne.res_rsv_artikel_key not in
|
||
(SELECT res_rsv_artikel_key
|
||
FROM res_rsv_artikel
|
||
WHERE res_rsv_ruimte_key=p_res_rsv_ruimte_key)
|
||
UNION ALL
|
||
SELECT fne.RES_RSV_ARTIKEL_KEY rra_key,
|
||
fne.RES_ARTIKEL_KEY,
|
||
fne.AANTAL aantal,
|
||
ra.res_deel_omschrijving art_omschrijving,
|
||
ra.RES_deel_EXTERNNR artikel_nr,
|
||
fne.LEVER_DATUM lever_datum,
|
||
'Facility' soort
|
||
FROM fmhn_npq_export fne, res_deel ra
|
||
WHERE fne.res_rsv_ruimte_key=p_res_rsv_ruimte_key
|
||
AND fne.soort='Facility'
|
||
AND ra.RES_deel_KEY = fne.RES_ARTIKEL_KEY
|
||
and fne.res_rsv_artikel_key not in
|
||
(SELECT res_rsv_deel_key
|
||
FROM res_rsv_deel
|
||
WHERE res_rsv_ruimte_key=p_res_rsv_ruimte_key);
|
||
|
||
v_base VARCHAR2 (10);
|
||
v_bestand VARCHAR2 (50);
|
||
v_counter NUMBER;
|
||
v_artcounter NUMBER;
|
||
v_status VARCHAR2 (20);
|
||
v_soort VARCHAR2 (10);
|
||
v_count NUMBER :=0;
|
||
res_datum_van DATE;
|
||
res_datum_tot DATE;
|
||
res_reservering NUMBER;
|
||
res_volgnr NUMBER;
|
||
res_ruimte_nr VARCHAR2(100);
|
||
res_soort VARCHAR2(20);
|
||
res_locatie_code VARCHAR2(100);
|
||
res_omsc VARCHAR2(100);
|
||
cat_externnr VARCHAR2(100);
|
||
res_besteller VARCHAR2(256);
|
||
BEGIN
|
||
v_status := 'Cancelled';
|
||
v_base :='ITD';
|
||
v_artcounter:=0;
|
||
-- Check of er artikelen zijn verwijderd.
|
||
FOR rec_art_del IN sel_del (p_res_rsv_ruimte_key)
|
||
LOOP
|
||
-- SELECT res.datum_van,
|
||
-- res.datum_tot,
|
||
-- res.reservering_key,
|
||
-- res.res_rsv_ruimte_volgnr,
|
||
-- res.ruimte_nr,
|
||
-- res.soort,
|
||
-- res.locatie_code,
|
||
-- res.oms,
|
||
-- res.besteller
|
||
-- INTO res_datum_van, res_datum_tot, res_reservering,res_volgnr, res_ruimte_nr, res_soort, res_locatie_code, res_omsc, res_besteller
|
||
-- FROM fmhn_v_select_reserv_all res
|
||
-- WHERE res.res_rsv_ruimte_key=p_res_rsv_ruimte_key;
|
||
|
||
SELECT res.res_rsv_ruimte_van,
|
||
res.res_rsv_ruimte_tot,
|
||
res.res_reservering_key,
|
||
res.res_rsv_ruimte_volgnr,
|
||
NVL2(alg_ruimte_key,
|
||
(SELECT MAX(alg.alg_ruimte_nr)
|
||
FROM alg_v_ruimte_gegevens_all alg
|
||
WHERE alg.alg_ruimte_key = res.alg_ruimte_key)
|
||
,
|
||
(SELECT MAX(alg.alg_ruimte_nr)
|
||
FROM alg_v_ruimte_gegevens_all alg,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm
|
||
WHERE res.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rer.res_ruimte_key = rro.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key)
|
||
) ruimte_nr,
|
||
NVL2(alg_ruimte_key,
|
||
(SELECT MAX(alg.alg_locatie_code)
|
||
FROM alg_v_ruimte_gegevens_all alg
|
||
WHERE alg.alg_ruimte_key = res.alg_ruimte_key)
|
||
,
|
||
(SELECT MAX(alg.alg_locatie_code)
|
||
FROM alg_v_ruimte_gegevens_all alg,
|
||
res_ruimte_opstelling rro, res_ruimte rer,
|
||
res_alg_ruimte rarm
|
||
WHERE res.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rer.res_ruimte_key = rro.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key)
|
||
) locatie_code,
|
||
res.res_rsv_ruimte_omschrijving,
|
||
(SELECT prs_perslid_externid
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = res.res_rsv_ruimte_contact_key) besteller
|
||
INTO res_datum_van, res_datum_tot, res_reservering,res_volgnr, res_ruimte_nr, res_locatie_code, res_omsc, res_besteller
|
||
FROM res_rsv_ruimte res
|
||
WHERE res.res_rsv_ruimte_key=p_res_rsv_ruimte_key;
|
||
|
||
|
||
IF rec_art_del.soort='Catering' THEN
|
||
SELECT ins.ins_discipline_externnr externnr
|
||
INTO cat_externnr
|
||
FROM ins_tab_discipline ins, res_artikel ra
|
||
WHERE ra.res_artikel_key = rec_art_del.res_artikel_key
|
||
AND ins.ins_discipline_key = ra.res_discipline_key;
|
||
ELSE
|
||
SELECT ins.ins_discipline_externnr externnr
|
||
INTO cat_externnr
|
||
FROM ins_tab_discipline ins, res_deel ra
|
||
WHERE ra.res_deel_key = rec_art_del.res_artikel_key
|
||
AND ins.ins_discipline_key = ra.res_discipline_key;
|
||
END IF;
|
||
|
||
v_artcounter := v_artcounter + 1;
|
||
v_bestand := v_base || '-' || rec_art_del.rra_key || '-';
|
||
fmhn.add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
|
||
fmhn.add_xml_row (v_bestand, '<Facilitor>');
|
||
fmhn.add_xml_row (v_bestand, '<Reservering >');
|
||
fmhn.add_xml_element (v_bestand, 'Soort', rec_art_del.soort);
|
||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||
fmhn.add_xml_element (v_bestand, 'Catalogus', cat_externnr);
|
||
fmhn.add_xml_element (v_bestand, 'Key', p_res_rsv_ruimte_key);
|
||
fmhn.add_xml_element (v_bestand, 'ReserveringNr', res_reservering);
|
||
fmhn.add_xml_element (v_bestand, 'VolgNr', res_volgnr);
|
||
fmhn.add_xml_element (v_bestand, 'RuimteNr', res_ruimte_nr);
|
||
fmhn.add_xml_element (v_bestand, 'LocatieCode', res_locatie_code);
|
||
fmhn.add_xml_element (v_bestand, 'DatumVan', TO_CHAR (res_datum_van, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_element (v_bestand, 'DatumTot', TO_CHAR (res_datum_tot, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_element (v_bestand, 'Omschrijving', res_omsc);
|
||
fmhn.add_xml_element (v_bestand, 'Toelichting', 'Verwijderd artikel');
|
||
fmhn.add_xml_element (v_bestand, 'Besteller', res_besteller);
|
||
fmhn.add_xml_row (v_bestand, '<Items>');
|
||
fmhn.add_xml_row (v_bestand, '<Item>');
|
||
fmhn.add_xml_element (v_bestand, 'ArtikelKey', rec_art_del.rra_key);
|
||
fmhn.add_xml_element (v_bestand, 'Artikelnr', rec_art_del.artikel_nr);
|
||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||
fmhn.add_xml_element (v_bestand, 'Aantal', rec_art_del.aantal);
|
||
fmhn.add_xml_element (v_bestand, 'Omschrijving', rec_art_del.art_omschrijving);
|
||
fmhn.add_xml_element (v_bestand, 'LeverDatum', TO_CHAR (rec_art_del.lever_datum, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_row (v_bestand, '</Item>');
|
||
fmhn.add_xml_row (v_bestand, '</Items>');
|
||
fmhn.add_xml_row (v_bestand, '</Reservering>');
|
||
fmhn.add_xml_row (v_bestand, '</Facilitor>');
|
||
fmhn_delete_npq (p_res_rsv_ruimte_key, rec_art_del.rra_key);
|
||
END LOOP;
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE fmhn_select_reservering (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
CURSOR sel_res
|
||
IS
|
||
SELECT res_rsv_ruimte_key,
|
||
reservering_key,
|
||
res_rsv_ruimte_volgnr,
|
||
last_upd,
|
||
last_export,
|
||
verw_datum,
|
||
ruimte_nr,
|
||
besteller,
|
||
datum_van,
|
||
datum_tot,
|
||
oms,
|
||
aantal,
|
||
locatie_code,
|
||
soort,
|
||
opstelling,
|
||
fo_status,
|
||
dirtlevel,
|
||
pc_nr
|
||
FROM fmhn_v_select_reservering;
|
||
--WHERE aanmk_datum > SYSDATE - 1;
|
||
-- AND last_export IS NULL) OR (last_upd > last_export AND last_export<verw_datum) OR verw_datum > last_export;
|
||
--WHERE last_export IS NULL;
|
||
|
||
v_base VARCHAR2 (10);
|
||
v_bestand VARCHAR2 (50);
|
||
v_counter NUMBER;
|
||
v_status VARCHAR2 (20);
|
||
v_kenmerk_key NUMBER;
|
||
v_kenmerk_count NUMBER;
|
||
v_kenmerk_niveau VARCHAR2(10);
|
||
BEGIN
|
||
v_base := 'REN';
|
||
v_counter := 1;
|
||
|
||
DELETE FROM fac_rapport -- Opschonen oude Reserevering exports
|
||
WHERE fac_rapport_node LIKE 'RE%' OR fac_rapport_node LIKE 'IT%';
|
||
COMMIT;
|
||
FOR rec IN sel_res
|
||
LOOP
|
||
v_status := 'ND';
|
||
|
||
IF rec.soort = 'ruimte' OR rec.soort = 'ruimte-verplaatsing' THEN
|
||
|
||
-- Eerst gaan bepalen of we wat moeten doen voor dit record.
|
||
IF rec.last_export IS NULL AND rec.fo_status=2 AND rec.dirtlevel=0
|
||
AND rec.verw_datum IS NULL --IVM FMHN#73448
|
||
THEN
|
||
v_status := 'Opened';
|
||
v_base := 'REN';
|
||
ELSIF rec.last_export IS NOT NULL
|
||
AND rec.last_upd > rec.last_export
|
||
AND rec.verw_datum IS NULL
|
||
AND rec.fo_status=2
|
||
THEN
|
||
IF rec.soort = 'ruimte-verplaatsing' THEN
|
||
v_status := 'Cancelled'; -- dit zijn res die een npq nr hebben maar niet meer in RS8 zijn
|
||
v_base := 'RED';
|
||
ELSE
|
||
v_status := 'Opened'; -- NPQ kent geen update status
|
||
v_base := 'REU';
|
||
END IF;
|
||
|
||
ELSIF (rec.last_export IS NOT NULL
|
||
AND rec.verw_datum IS NOT NULL
|
||
AND rec.verw_datum > rec.last_export)
|
||
OR
|
||
(rec.last_export IS NULL -- Deze is door een undelete weer leeg gemaakt , deze wiol FMHn dus geforceerd naar NPQ hebben
|
||
AND rec.verw_datum IS NOT NULL -- maar hij is al wel verwijderd,
|
||
AND rec.pc_nr IS NOT NULL)
|
||
-- AND rec.fo_status=1
|
||
THEN
|
||
v_status := 'Cancelled';
|
||
v_base := 'RED';
|
||
END IF;
|
||
|
||
IF v_status != 'ND' -- We gaan alleen een XML maken als er een status is anders dan 'ND'
|
||
THEN
|
||
v_bestand := v_base || '-' || v_counter|| '-'; -- Dit kunnen we beter omdraaien eerst de counter en dan de soort bericht (REN, REU, RED) zorgt voor juiste file volgordelijkheid
|
||
fmhn.add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
|
||
fmhn.add_xml_row (v_bestand, '<Facilitor>');
|
||
fmhn.add_xml_row (v_bestand, '<Reservering>');
|
||
fmhn.add_xml_element (v_bestand, 'Soort', 'Zaalreservering');
|
||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||
fmhn.add_xml_element (v_bestand, 'Key', rec.res_rsv_ruimte_key);
|
||
fmhn.add_xml_element (v_bestand, 'ReserveringNr', rec.reservering_key);
|
||
fmhn.add_xml_element (v_bestand, 'VolgNr', rec.res_rsv_ruimte_volgnr);
|
||
fmhn.add_xml_element (v_bestand, 'RuimteNr', rec.ruimte_nr);
|
||
fmhn.add_xml_element (v_bestand, 'Opstelling', rec.opstelling);
|
||
fmhn.add_xml_element (v_bestand, 'LocatieCode', rec.locatie_Code);
|
||
fmhn.add_xml_element (v_bestand, 'DatumVan', TO_CHAR (rec.datum_van, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_element (v_bestand, 'DatumTot', TO_CHAR (rec.datum_tot, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_element (v_bestand, 'Omschrijving', rec.oms);
|
||
fmhn.add_xml_element (v_bestand, 'Aantal', rec.aantal);
|
||
fmhn.add_xml_element (v_bestand, 'Besteller', rec.besteller);
|
||
fmhn.add_xml_row (v_bestand, '</Reservering>');
|
||
fmhn.add_xml_row (v_bestand, '</Facilitor>');
|
||
|
||
--fmhn_select_objects (rec.res_rsv_ruimte_key,'ruimte', v_counter); -- Kijken of deze reservering ook catering artikelen heeft
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_rsv_ruimte_externsyncdate = SYSDATE
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
-- IF v_status = 'Cancelled' THEN
|
||
-- we gaan kijken of deze reservering een opdracht heeft zo ja dan die ook anuleren
|
||
--fmhn_remove_opdracht(rec.res_rsv_ruimte_key)
|
||
-- END IF;
|
||
END IF;
|
||
fmhn_select_objects (rec.res_rsv_ruimte_key,rec.soort, v_counter); -- Kijken of deze reservering ook catering artikelen heeft
|
||
ELSE
|
||
-- We hebben alleen een losse catering aanvraag
|
||
IF (rec.fo_status=2 AND rec.verw_datum IS NULL) OR
|
||
(rec.last_export IS NOT NULL
|
||
AND rec.verw_datum IS NOT NULL
|
||
AND rec.verw_datum > rec.last_export)
|
||
THEN
|
||
|
||
fmhn_select_objects (rec.res_rsv_ruimte_key,rec.soort, v_counter); -- Kijken of deze reservering ook catering artikelen heeft
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
IF rec.soort = 'ruimte-verplaatsing' THEN
|
||
v_kenmerk_key:=-1;
|
||
|
||
SELECT COUNT(*) INTO v_kenmerk_count
|
||
FROM res_rsv_ruimte rrr, res_kenmerkwaarde rk
|
||
WHERE rrr.res_rsv_ruimte_key=rec.res_rsv_ruimte_key
|
||
AND rk.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rk.res_kenmerk_key IN (341,342,343,365,370);
|
||
|
||
IF v_kenmerk_count>0 THEN
|
||
SELECT rk.res_kenmerk_key, rk.res_kenmerk_niveau
|
||
INTO v_kenmerk_key, v_kenmerk_niveau
|
||
FROM res_rsv_ruimte rrr, res_kenmerkwaarde rkw,res_kenmerk rk
|
||
WHERE rrr.res_rsv_ruimte_key=rec.res_rsv_ruimte_key
|
||
AND rkw.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rk.RES_KENMERK_KEY = rkw.RES_KENMERK_KEY
|
||
AND rk.res_kenmerk_key IN (341,342,343,365,370);
|
||
|
||
IF v_kenmerk_key>0 THEN
|
||
flx.deleteflex('RES',v_kenmerk_key,rec.res_rsv_ruimte_key,v_kenmerk_niveau);
|
||
END IF;
|
||
-- Als laatste de extrensyncdate ook opruimen zodat het een schonne reservering is.
|
||
UPDATE res_rsv_ruimte
|
||
SET res_rsv_ruimte_externsyncdate = NULL
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
END IF;
|
||
|
||
|
||
END IF;
|
||
|
||
v_counter := v_counter + 1;
|
||
|
||
END LOOP;
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_export_reservering (
|
||
result,
|
||
result_order,
|
||
exp_res
|
||
)
|
||
AS
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr, fac_rapport_node
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node LIKE 'RE%'
|
||
UNION
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr, fac_rapport_node
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node LIKE 'I%';
|
||
|
||
-- Procedure om alle opdrachten die zijn geexporteerd naar prequest en die nadien geannuleerd zijn
|
||
-- te exporteren om een annulerings bericht naar Prequest te sturen
|
||
CREATE OR REPLACE PROCEDURE fmhn_select_annulering (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
CURSOR sel_ann
|
||
IS
|
||
SELECT DISTINCT o.mld_opdr_key opdr_key,
|
||
o.mld_opdr_bedrijfopdr_volgnr opdr_volgnr,
|
||
o.mld_melding_key meld_key,
|
||
sm.mld_stdmelding_externnr externnr,
|
||
t.mld_typeopdr_isofferte offerte,
|
||
rm.alg_ruimte_nr ruimte_nr,
|
||
o.mld_opdr_einddatum eind_datum,
|
||
t.mld_typeopdr_key typeopdr_key
|
||
FROM mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_typeopdr t,
|
||
mld_kenmerkopdr ko,
|
||
alg_v_ruimte_gegevens rm
|
||
WHERE o.mld_statusopdr_key IN (1, 2)
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND t.mld_typeopdr_key = o.mld_typeopdr_key
|
||
AND t.mld_typeopdr_key IN (581, 582) -- Op prod 581,582 op de productie
|
||
AND sm.mld_stdmelding_key = m.MLD_STDMELDING_KEY
|
||
AND sm.mld_stdmelding_externnr LIKE 'KLVW%'
|
||
AND ko.mld_opdr_key = o.MLD_OPDR_KEY
|
||
AND ko.mld_kenmerk_key IN (1181, 1182)
|
||
AND rm.alg_ruimte_key = m.mld_alg_onroerendgoed_keys
|
||
AND ( o.mld_opdr_externsyncdate IS NULL
|
||
OR o.mld_opdr_externsyncdate BETWEEN (SELECT (ft.fac_tracking_datum- 1 / (24 * 60)) -- puur omdat de elke 5min ook de extrensyncdat gezet kan hebben, maar dat is dan 1 munuut gelden
|
||
FROM fac_tracking ft
|
||
WHERE ft.fac_tracking_refkey = o.mld_opdr_key
|
||
AND ft.fac_srtnotificatie_key = 221) -- Opdracht Annulering
|
||
AND (SELECT ft.fac_tracking_datum
|
||
FROM fac_tracking ft
|
||
WHERE ft.fac_tracking_refkey = o.mld_opdr_key
|
||
AND ft.fac_srtnotificatie_key = 221) -- Opdracht Annulering
|
||
)
|
||
AND NOT EXISTS (SELECT *
|
||
FROM fac_tracking ft
|
||
WHERE ft.fac_tracking_refkey = o.mld_opdr_key
|
||
AND ft.fac_srtnotificatie_key=88 -- ORDSNT
|
||
AND UPPER(ft.fac_tracking_oms) LIKE '%PC: DE OPDRACHT IS SUCCESVOL GEANNULEERD%'); -- om te voorkomen dat ze toch worden verstuurd...
|
||
|
||
|
||
|
||
v_base VARCHAR2 (10);
|
||
v_bestand VARCHAR2 (50);
|
||
v_counter NUMBER;
|
||
BEGIN
|
||
v_base := 'ANN';
|
||
v_counter := 1;
|
||
|
||
DELETE FROM fac_rapport -- Opschonen oude annulerings bericht exports
|
||
WHERE fac_rapport_node LIKE 'AN%';
|
||
COMMIT;
|
||
FOR rec IN sel_ann
|
||
LOOP
|
||
v_bestand := v_base || '-' || v_counter|| '-';
|
||
fmhn.add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
|
||
fmhn.add_xml_row (v_bestand, '<Facilitor>');
|
||
fmhn.add_xml_row (v_bestand, '<Activity>');
|
||
fmhn.add_xml_element (v_bestand, 'Status', 'Canceled');
|
||
fmhn.add_xml_element (v_bestand, 'OpdrachtKey', rec.opdr_key);
|
||
fmhn.add_xml_element (v_bestand, 'OpdrachtVolgNr', rec.opdr_volgnr);
|
||
fmhn.add_xml_element (v_bestand, 'MeldingKey', rec.meld_key);
|
||
fmhn.add_xml_element (v_bestand, 'Offerte', rec.offerte);
|
||
fmhn.add_xml_element (v_bestand, 'RuimteNr', rec.ruimte_nr);
|
||
fmhn.add_xml_element (v_bestand, 'ExternNr', rec.externnr);
|
||
fmhn.add_xml_element (v_bestand, 'DatumVan', TO_CHAR (rec.eind_datum, 'YYYY-MM-DD"T"hh24:mi:ss'));
|
||
fmhn.add_xml_row (v_bestand, '</Activity>');
|
||
fmhn.add_xml_row (v_bestand, '</Facilitor>');
|
||
v_counter :=v_counter+1;
|
||
|
||
UPDATE mld_opdr SET mld_opdr_externsyncdate=SYSDATE
|
||
WHERE mld_opdr_key = rec.opdr_key;
|
||
-- COMMIT;
|
||
END LOOP;
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_export_annulering(
|
||
result,
|
||
result_order,
|
||
exp_res
|
||
)
|
||
AS
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr, fac_rapport_node
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node LIKE 'AN%';
|
||
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_idm_org_sync
|
||
(
|
||
hide_f_sortering,
|
||
mincode,
|
||
idmlevel,
|
||
afdid,
|
||
afdcode,
|
||
afdoms,
|
||
afdidparent,
|
||
begindat,
|
||
einddat,
|
||
sync_datum,
|
||
prs_afdeling_key
|
||
)
|
||
AS
|
||
SELECT x.mincode || SUBSTR ('0' || TO_CHAR (x.idmlevel), -2) || x.afdid sortering,
|
||
x.mincode,
|
||
x.idmlevel,
|
||
SUBSTR (x.afdid, 3) afdid,
|
||
afdcode.prs_kenmerklink_waarde afdcode,
|
||
x.afdoms,
|
||
DECODE (x.idmlevel, 1, NULL, SUBSTR (x.afdidparent, 3)) afdidparent,
|
||
begindat.prs_kenmerklink_waarde begindat,
|
||
einddat.prs_kenmerklink_waarde einddat,
|
||
COALESCE (a.prs_afdeling_externsyncdate, a.prs_afdeling_aanmaak) sync_datum,
|
||
x.prs_afdeling_key
|
||
FROM fmhn_v_idm_afdeling x,
|
||
prs_afdeling a,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1001) afdcode, -- Afdelingscode
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1005) begindat, -- Begindatum
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1006) einddat -- Einddatum
|
||
WHERE x.idmlevel > 0
|
||
AND x.prs_afdeling_key = a.prs_afdeling_key(+)
|
||
AND a.prs_afdeling_key = afdcode.prs_link_key(+)
|
||
AND a.prs_afdeling_key = begindat.prs_link_key(+)
|
||
AND a.prs_afdeling_key = einddat.prs_link_key(+);
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_idm_prs_sync
|
||
(
|
||
mincode,
|
||
prsnr,
|
||
afid,
|
||
achternaam,
|
||
tussenvoegsel,
|
||
voorletters,
|
||
voornaam,
|
||
mv,
|
||
tel,
|
||
mob,
|
||
email,
|
||
begindat,
|
||
einddat,
|
||
sync_datum,
|
||
laatste_login,
|
||
verplichtingen,
|
||
prs_perslid_key
|
||
)
|
||
AS
|
||
SELECT SUBSTR (p.prs_perslid_externid, 1, 2) mincode,
|
||
SUBSTR (p.prs_perslid_externid, 3) prsnr,
|
||
SUBSTR (a.prs_afdeling_externid, 3) afdid,
|
||
p.prs_perslid_naam achternaam,
|
||
p.prs_perslid_tussenvoegsel tussenvoegsel,
|
||
p.prs_perslid_voorletters voorletters,
|
||
p.prs_perslid_voornaam voornaam,
|
||
DECODE (p.prs_perslid_geslacht, 0, 'V', 1, 'M', NULL) mv,
|
||
p.prs_perslid_telefoonnr tel,
|
||
p.prs_perslid_mobiel mob,
|
||
p.prs_perslid_email email,
|
||
TO_CHAR (p.prs_perslid_ingangsdatum, 'dd-mm-yyyy') begindat,
|
||
TO_CHAR (p.prs_perslid_einddatum, 'dd-mm-yyyy') einddat,
|
||
COALESCE (p.prs_perslid_externsyncdate, p.prs_perslid_aanmaak) sync_datum,
|
||
p.prs_perslid_login,
|
||
v.aantal verplichtingen,
|
||
p.prs_perslid_key
|
||
FROM prs_perslid p, prs_afdeling a,
|
||
( SELECT prs_perslid_key, COUNT ( * ) aantal
|
||
FROM prs_v_verplichting_keys
|
||
GROUP BY prs_perslid_key) v
|
||
WHERE p.prs_perslid_verwijder IS NULL
|
||
AND p.prs_perslid_externid IS NOT NULL
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND p.prs_perslid_key = v.prs_perslid_key(+);
|
||
|
||
-- TODO: Zodra Planon uit de lucht deze en de volgende view verwijderen (want
|
||
-- tijdelijke export-oplossing)!
|
||
CREATE OR REPLACE VIEW fmhn_v_f2p_afdeling
|
||
AS
|
||
SELECT prs_bedrijf_key,
|
||
prs_afdeling_key,
|
||
prs_afdeling_parentkey,
|
||
prs_kostenplaats_key,
|
||
LEVEL - 1 idmlevel,
|
||
mincode,
|
||
afdid,
|
||
afdcode,
|
||
afdidparent,
|
||
SYS_CONNECT_BY_PATH (afdcode, '#') pad
|
||
FROM (SELECT NULL prs_bedrijf_key,
|
||
NULL prs_afdeling_key,
|
||
NULL prs_afdeling_parentkey,
|
||
NULL prs_kostenplaats_key,
|
||
NULL mincode,
|
||
'IDM' afdid,
|
||
'IDM' afdcode,
|
||
NULL afdidparent
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_key,
|
||
NULL prs_afdeling_key,
|
||
NULL prs_afdeling_parentkey,
|
||
NULL prs_kostenplaats_key,
|
||
mc_ud.fac_usrdata_code mincode,
|
||
UPPER (mc_ud.fac_usrdata_code || oc.prs_kenmerklink_waarde) afdid, -- UPPER!
|
||
DECODE (mc_ud.fac_usrdata_code,
|
||
'01', 'BUZA',
|
||
'03', 'MINIenW',
|
||
'04', 'o354',
|
||
'07', '50000897',
|
||
'14', 'VENJ',
|
||
TRIM (SUBSTR (mc_ud.fac_usrdata_omschr, INSTR (mc_ud.fac_usrdata_omschr, '-') + 1)))
|
||
afdcode,
|
||
'IDM' afdidparent
|
||
FROM prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1020) mc, -- Ministeriecode (bij Bedrijf)
|
||
fac_v_aanwezigusrdata mc_ud,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1021) oc -- Organisatieonderdeelcode (bij Bedrijf)
|
||
WHERE b.prs_bedrijf_verwijder IS NULL
|
||
AND b.prs_bedrijf_intern = 1
|
||
AND b.prs_bedrijf_key = mc.prs_link_key
|
||
AND fac.safe_to_number (mc.prs_kenmerklink_waarde) = mc_ud.fac_usrdata_key
|
||
AND b.prs_bedrijf_key = oc.prs_link_key
|
||
UNION ALL
|
||
SELECT NULL prs_bedrijf_key,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_parentkey,
|
||
a.prs_kostenplaats_key,
|
||
SUBSTR (a.prs_afdeling_externid, 1, 2) mincode,
|
||
a.prs_afdeling_externid afdid, -- UPPER-gevuld!
|
||
afdcode.prs_kenmerklink_waarde afdcode,
|
||
UPPER (SUBSTR (a.prs_afdeling_externid, 1, 2) || kl.prs_kenmerklink_waarde) afdidparent -- UPPER!
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1001) afdcode -- Afdelingscode
|
||
WHERE 1 = 1 --a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = 1002 -- Identificatie parentafd.
|
||
AND a.prs_afdeling_key = afdcode.prs_link_key)
|
||
WHERE afdid IS NOT NULL
|
||
CONNECT BY PRIOR afdid = afdidparent
|
||
START WITH afdidparent IS NULL;
|
||
|
||
-- mincode;prsnr;afdid;achternaam;tussenvoegsel;voorletters;voornaam;mv;tel;mob;email;begindat;einddat
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_idm_prs_f2p
|
||
(
|
||
hide_f_sortering,
|
||
mincode,
|
||
prsnr,
|
||
afid,
|
||
achternaam,
|
||
tussenvoegsel,
|
||
voorletters,
|
||
voornaam,
|
||
mv,
|
||
tel,
|
||
mob,
|
||
email,
|
||
begindat,
|
||
einddat,
|
||
ppsgebruikersnaam,
|
||
aanmaak
|
||
)
|
||
AS
|
||
SELECT 0,
|
||
'mincode',
|
||
'prsnr',
|
||
'afdid',
|
||
'achternaam',
|
||
'tussenvoegsel',
|
||
'voorletters',
|
||
'voornaam',
|
||
'mv',
|
||
'tel',
|
||
'mob',
|
||
'email',
|
||
'begindat',
|
||
'einddat',
|
||
'ppsgebruikersnaam',
|
||
NULL
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT 1,
|
||
SUBSTR (p.prs_perslid_externid, 1, 2) mincode,
|
||
SUBSTR (p.prs_perslid_externid, 3) prsnr,
|
||
REPLACE (SUBSTR (x.pad, 6), '#', '.') afdid,
|
||
p.prs_perslid_naam achternaam,
|
||
p.prs_perslid_tussenvoegsel tussenvoegsel,
|
||
p.prs_perslid_voorletters voorletters,
|
||
p.prs_perslid_voornaam voornaam,
|
||
DECODE (p.prs_perslid_geslacht, 0, 'V', 1, 'M', NULL) mv,
|
||
p.prs_perslid_telefoonnr tel,
|
||
p.prs_perslid_mobiel mob,
|
||
p.prs_perslid_email email,
|
||
TO_CHAR (p.prs_perslid_ingangsdatum, 'dd-mm-yyyy') begindat,
|
||
TO_CHAR (p.prs_perslid_einddatum, 'dd-mm-yyyy') einddat,
|
||
SUBSTR (p.prs_perslid_externid, 1, 2) || SUBSTR (p.prs_perslid_externid, 3) ppsgebruikersnaam,
|
||
p.prs_perslid_aanmaak aanmaak
|
||
FROM prs_perslid p, fmhn_v_f2p_afdeling x
|
||
WHERE p.prs_perslid_verwijder IS NULL
|
||
AND SUBSTR (p.prs_perslid_externid, 1, 2) IN ('01', '03', '04', '07', '14')
|
||
AND p.prs_afdeling_key = x.prs_afdeling_key
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_dvl_klanten
|
||
(
|
||
module,
|
||
refkey,
|
||
aanmaakdatum,
|
||
mincode,
|
||
prsnr,
|
||
afid,
|
||
naam,
|
||
email
|
||
)
|
||
AS
|
||
SELECT x.srt,
|
||
x.refkey,
|
||
x.fac_tracking_datum,
|
||
SUBSTR (p.prs_perslid_externid, 1, 2) mincode,
|
||
SUBSTR (p.prs_perslid_externid, 3) prsnr,
|
||
SUBSTR (afd.prs_afdeling_externid, 3) afdid,
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_email email
|
||
FROM prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_afdeling afd,
|
||
(SELECT 'MLD' AS srt,
|
||
m.mld_melding_key AS refkey,
|
||
m.prs_perslid_key_voor AS perslid_key,
|
||
t.fac_tracking_datum
|
||
FROM mld_melding m, fac_tracking t
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 50 -- MLDNEW
|
||
UNION ALL
|
||
SELECT 'BES' AS srt,
|
||
b.bes_bestelling_key AS refkey,
|
||
b.prs_perslid_key_voor AS perslid_key,
|
||
t.fac_tracking_datum
|
||
FROM bes_bestelling b, fac_tracking t
|
||
WHERE b.bes_bestelling_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 8 -- BESNEW
|
||
UNION ALL
|
||
SELECT 'RES' AS srt,
|
||
rrr.res_rsv_ruimte_key AS refkey,
|
||
rrr.res_rsv_ruimte_contact_key AS perslid_key,
|
||
t.fac_tracking_datum
|
||
FROM res_v_aanwezigrsv_ruimte rrr, fac_tracking t
|
||
WHERE rrr.res_rsv_ruimte_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 107 -- RESNEW
|
||
UNION ALL
|
||
SELECT 'BEZ' AS srt,
|
||
a.bez_afspraak_key refkey,
|
||
a.bez_afspraak_contact_key AS perslid_key,
|
||
MAX (t.fac_tracking_datum) AS fac_tracking_datum
|
||
FROM bez_afspraak a, fac_tracking t
|
||
WHERE a.bez_afspraak_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 30
|
||
GROUP BY a.bez_afspraak_key, a.bez_afspraak_contact_key) x -- BEZMUT
|
||
WHERE x.perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = afd.prs_afdeling_key;
|
||
|
||
|
||
-- FMHN#69873: Rapportage om te bepalen wie KCP/Opdrachtgever is en in welke
|
||
-- pool(s) ze zitten!
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_kcp_og
|
||
(
|
||
fclt_3d_bedrijf_key,
|
||
ministerie,
|
||
onderdeelcode,
|
||
omschrijving,
|
||
naam,
|
||
kcp,
|
||
opdrachtgever,
|
||
email,
|
||
telefoon,
|
||
mobiel,
|
||
pools
|
||
)
|
||
AS
|
||
SELECT ab.prs_bedrijf_key,
|
||
TRIM (SUBSTR (mc_ud.fac_usrdata_omschr, INSTR (mc_ud.fac_usrdata_omschr, '-') + 1)),
|
||
SUBSTR (a.prs_afdeling_externid, 3),
|
||
a.prs_afdeling_omschrijving,
|
||
pf.prs_perslid_naam_friendly,
|
||
--sp.prs_srtperslid_omschrijving,
|
||
DECODE (INSTR (fac_groep_upper, 'KCP'), 0, NULL, 'Ja') kcp,
|
||
DECODE (INSTR (fac_groep_upper, 'OPDRACHTGEVER'), 0, NULL, 'Ja') opdrachtgever,
|
||
p.prs_perslid_email,
|
||
p.prs_perslid_telefoonnr,
|
||
p.prs_perslid_mobiel,
|
||
vg.pools
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
--prs_srtperslid sp,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab,
|
||
--(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1008) mc, -- Ministeriecode
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1020) mc, -- Ministeriecode (bij Bedrijf)
|
||
fac_v_aanwezigusrdata mc_ud,
|
||
fac_gebruikersgroep gg,
|
||
fac_groep g,
|
||
( SELECT gg.prs_perslid_key,
|
||
LISTAGG (g.fac_groep_omschrijving, ', ') WITHIN GROUP (ORDER BY g.fac_groep_omschrijving)
|
||
pools
|
||
FROM fac_gebruikersgroep gg, fac_groep g
|
||
WHERE gg.fac_groep_key = g.fac_groep_key
|
||
AND INSTR (g.fac_groep_upper, 'POR_') = 1
|
||
GROUP BY gg.prs_perslid_key) vg -- Vervangersgroepen(/pools)
|
||
WHERE p.prs_perslid_key = pf.prs_perslid_key
|
||
--AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = mc.prs_link_key(+)
|
||
AND fac.safe_to_number (mc.prs_kenmerklink_waarde) = mc_ud.fac_usrdata_key(+)
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND (INSTR (g.fac_groep_upper, 'KCP') > 0 OR INSTR (g.fac_groep_upper, 'OPDRACHTGEVER') > 0)
|
||
AND p.prs_perslid_key = vg.prs_perslid_key(+);
|
||
|
||
-- Domein-view tbv. Aanvraag ARBO-middelen!
|
||
CREATE OR REPLACE VIEW FMHN_V_RS8_ARBO_BANQ
|
||
(
|
||
fac_usrdata_key,
|
||
omschrijving,
|
||
vervaldatum
|
||
)
|
||
AS
|
||
SELECT fac_usrdata_key,
|
||
DECODE (INSTR (fac_usrdata_omschr, '|'), 0, fac_usrdata_omschr, SUBSTR (fac_usrdata_omschr, INSTR (fac_usrdata_omschr, '|') + 1))
|
||
|| ' / <20>' || REPLACE (TO_CHAR (fac_usrdata_prijs, 'FM99990.00'), '.', ',')
|
||
|| ' [' || DECODE (SUBSTR (fac_usrdata_code, 1, 1), '_', 'ARBO', '') || fac_usrdata_code || ']',
|
||
fac_usrdata_vervaldatum
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 381 -- RS8-ARBO
|
||
;
|
||
|
||
-- Domein-view tbv. Bijvullen olie schredder!
|
||
CREATE OR REPLACE VIEW FMHN_V_RS8_OLIE_BANQ
|
||
(
|
||
fac_usrdata_key,
|
||
omschrijving,
|
||
vervaldatum
|
||
)
|
||
AS
|
||
SELECT fac_usrdata_key,
|
||
DECODE (INSTR (fac_usrdata_omschr, '|'), 0, fac_usrdata_omschr, SUBSTR (fac_usrdata_omschr, INSTR (fac_usrdata_omschr, '|') + 1))
|
||
|| ' / <20>' || REPLACE (TO_CHAR (fac_usrdata_prijs, 'FM99990.00'), '.', ',')
|
||
|| ' [' || DECODE (SUBSTR (fac_usrdata_code, 1, 1), '_', 'OLIE', '') || fac_usrdata_code || ']',
|
||
fac_usrdata_vervaldatum
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 601 -- RS8-OLIE
|
||
;
|
||
|
||
-- Domein-view tbv. AW-WF/Korte route alleen ruimten buiten clusters!
|
||
CREATE OR REPLACE VIEW FMHN_V_RS8_AW_RUIMTE
|
||
(
|
||
alg_ruimte_key,
|
||
ruimte,
|
||
verwijderdatum
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_key,
|
||
r.alg_ruimte_nr ruimte,
|
||
r.alg_ruimte_verwijder verwijderdatum
|
||
FROM alg_ruimte r
|
||
WHERE SUBSTR (r.alg_ruimte_nr, 1, 1) != '_'
|
||
AND EXISTS (SELECT 1 FROM alg_v_allonroerendgoed WHERE alg_locatie_key = 18 AND alg_ruimte_key = r.alg_ruimte_key) -- RS8
|
||
AND (NOT EXISTS (SELECT 1 FROM alg_onrgoedkenmerk WHERE alg_kenmerk_key = 1120 AND alg_onrgoed_key = r.alg_ruimte_key)
|
||
OR r.alg_ruimte_verwijder IS NOT NULL);
|
||
|
||
-- Domein-view tbv. AW-WF/Lange route alleen ruimten binnen clusters!
|
||
CREATE OR REPLACE VIEW FMHN_V_RS8_AW_RUIMTECLUSTER
|
||
(
|
||
alg_ruimte_key,
|
||
ruimtecluster,
|
||
verwijderdatum
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_key,
|
||
r.alg_ruimte_nr || DECODE (ud.fac_usrdata_key, NULL, '', ' / ' || ud.fac_usrdata_omschr) ruimtecluster,
|
||
r.alg_ruimte_verwijder verwijderdatum
|
||
FROM alg_ruimte r,
|
||
(SELECT *
|
||
FROM alg_onrgoedkenmerk
|
||
WHERE alg_kenmerk_key = 1120) ok, -- AW-cluster
|
||
(SELECT *
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 481) ud -- RS8 AW-clusters
|
||
WHERE SUBSTR (r.alg_ruimte_nr, 1, 1) != '_'
|
||
AND EXISTS (SELECT 1 FROM alg_v_allonroerendgoed WHERE alg_locatie_key = 18 AND alg_ruimte_key = r.alg_ruimte_key) -- RS8
|
||
AND r.alg_ruimte_key = ok.alg_onrgoed_key(+)
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key(+);
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_PRO
|
||
(
|
||
KEY,
|
||
PROJECTNUMMER,
|
||
ACTIEF,
|
||
WORKFLOWSTEP,
|
||
FASE,
|
||
WORKFLOW_VOLGNR,
|
||
PROJECT_FASE,
|
||
STAP,
|
||
PROJECTLEIDER,
|
||
MELDING_DATUM,
|
||
MELDING_EINDDATUM,
|
||
DOORLOOPTIJD_WERKDGN,
|
||
MELDING_DISTRICT,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
MELDING_LOCATIECODE,
|
||
RVB_PANDCODE,
|
||
MELDING_GEBOUW,
|
||
INVOERDER,
|
||
AANVRAGER_KEY,
|
||
AANVRAGER,
|
||
FCLT_3D_AFDELING_KEY,
|
||
AFDELING,
|
||
AFDELING_OMSCHRIJVING,
|
||
BEDRIJF_KEY,
|
||
BEDRIJF,
|
||
AANTAL_OFFERTES,
|
||
VERPLICHTINGENNUMMER,
|
||
ONDERWERP,
|
||
OMSCHRIJVING,
|
||
ZOOM,
|
||
G,
|
||
R,
|
||
O,
|
||
T,
|
||
I,
|
||
K,
|
||
PROJECTTYPE,
|
||
MLDAFM,
|
||
UITVOERING_GEREED,
|
||
ADM_AFHANDELEN_GESTART,
|
||
ADM_AFHANDELEN_GEREED
|
||
)
|
||
AS
|
||
SELECT p.key,
|
||
(SELECT fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = p.key)
|
||
AS projectnummer,
|
||
p.status
|
||
AS actief,
|
||
p.workflowstep,
|
||
(SELECT wfsm.mld_stdmelding_omschrijving
|
||
FROM mld_stdmelding wfsm, mld_melding wfm
|
||
WHERE p.workflowstep = wfm.mld_melding_key
|
||
AND wfsm.mld_stdmelding_key = wfm.mld_stdmelding_key)
|
||
AS fase,
|
||
p.workflow_volgnr,
|
||
CASE (p.workflow_volgnr)
|
||
WHEN 10 THEN 'Administratieve afhandeling'
|
||
WHEN 8 THEN 'Offerte / uitvoering'
|
||
WHEN 6 THEN 'Specificeren'
|
||
WHEN 4 THEN 'Beoordelen'
|
||
WHEN 2 THEN 'Aanvraag'
|
||
END
|
||
AS Project_fase,
|
||
(SELECT wfsm.mld_stdmelding_omschrijving
|
||
FROM mld_stdmelding wfsm, mld_melding wfm
|
||
WHERE p.key = wfm.mld_melding_key
|
||
AND wfsm.mld_stdmelding_key = wfm.mld_stdmelding_key)
|
||
AS stap,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames
|
||
WHERE prs_perslid_key =
|
||
(SELECT fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 285 -- Kenmerksoort Projectleider
|
||
AND kmm.mld_melding_key = p.uitvoer_key)) -- p.key ipv p.workflowstep (FMHN#71560) --p.uitvoer_key ipv p.key (FMHN#73032)
|
||
AS projectleider,
|
||
p.melding_datum,
|
||
p.melding_einddatum,
|
||
p.doorlooptijd_werkdgn,
|
||
p.melding_district,
|
||
p.fclt_3d_locatie_key,
|
||
p.melding_locatiecode,
|
||
p.rvb_pandcode,
|
||
p.melding_gebouw,
|
||
p.invoerder,
|
||
p.aanvrager_key,
|
||
p.aanvrager,
|
||
p.fclt_3d_afdeling_key,
|
||
p.afdeling,
|
||
p.afdeling_omschrijving,
|
||
p.bedrijf_key,
|
||
p.bedrijf,
|
||
(SELECT COUNT (mld_melding_key)
|
||
FROM mld_melding
|
||
WHERE mld_stdmelding_key = 665 --Offerte opstellen
|
||
AND mld_melding_status <> 1
|
||
AND mld_melding_start_key = p.key)
|
||
aantal_offertes,
|
||
( SELECT LISTAGG (kmm.mld_kenmerkmelding_waarde, ', ')
|
||
WITHIN GROUP (ORDER BY kmm.mld_melding_key DESC) AS verplichtingen_nrs
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_melding m
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND km.mld_kenmerk_omschrijving = 'Verplichtingennummer'
|
||
AND kmm.mld_melding_key = m.mld_melding_start_key
|
||
AND m.mld_stdmelding_key = 665 --Offerte opstellen
|
||
AND kmm.mld_melding_key = p.key
|
||
GROUP BY kmm.mld_melding_key)
|
||
AS verplichtingen_nrs,
|
||
p.onderwerp,
|
||
p.omschrijving,
|
||
p.zoom,
|
||
(SELECT k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k
|
||
WHERE k.mld_kenmerkmelding_verwijder IS NULL
|
||
AND k.mld_kenmerk_key = 1428
|
||
AND k.mld_melding_key = p.key)
|
||
AS g,
|
||
(SELECT k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k
|
||
WHERE k.mld_kenmerkmelding_verwijder IS NULL
|
||
AND k.mld_kenmerk_key = 1429
|
||
AND k.mld_melding_key = p.key)
|
||
AS r,
|
||
(SELECT k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k
|
||
WHERE k.mld_kenmerkmelding_verwijder IS NULL
|
||
AND k.mld_kenmerk_key = 1430
|
||
AND k.mld_melding_key = p.key)
|
||
AS o,
|
||
(SELECT k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k
|
||
WHERE k.mld_kenmerkmelding_verwijder IS NULL
|
||
AND k.mld_kenmerk_key = 1431
|
||
AND k.mld_melding_key = p.key)
|
||
AS t,
|
||
(SELECT k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k
|
||
WHERE k.mld_kenmerkmelding_verwijder IS NULL
|
||
AND k.mld_kenmerk_key = 1432
|
||
AND k.mld_melding_key = p.key)
|
||
AS i,
|
||
(SELECT k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k
|
||
WHERE k.mld_kenmerkmelding_verwijder IS NULL
|
||
AND k.mld_kenmerk_key = 1433
|
||
AND k.mld_melding_key = p.key)
|
||
AS k,
|
||
DECODE (
|
||
p.workflow_volgnr,
|
||
'6', (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_v_aanwezigusrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (
|
||
kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key =
|
||
km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key =
|
||
sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 298 -- Kenmerksoort Projecttype
|
||
AND kmm.mld_melding_key =
|
||
p.specificeren_key)),
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM fac_v_aanwezigusrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (
|
||
kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key =
|
||
sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 298 -- Kenmerksoort Projecttype
|
||
AND kmm.mld_melding_key = p.uitvoer_key)))
|
||
AS projecttype,
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key = 45 --MLDAFM
|
||
AND t.fac_tracking_refkey = p.key)
|
||
AS MLDAFM,
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t, mld_melding m
|
||
WHERE t.fac_srtnotificatie_key = 45 --MLDAFM
|
||
AND m.mld_stdmelding_key = 664 -- Uitvoeren
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_start_key = p.melding_start_key)
|
||
AS uitvoering_gereed,
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t, mld_melding m
|
||
WHERE t.fac_srtnotificatie_key = 50 --MLDNEW
|
||
AND m.mld_stdmelding_key = 668 -- Administratief afhandelen
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_start_key = p.melding_start_key)
|
||
AS administratief_afhandelen_gestart,
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t, mld_melding m
|
||
WHERE t.fac_srtnotificatie_key = 45 --MLDAFM
|
||
AND m.mld_stdmelding_key = 668 -- Administratief afhandelen
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_start_key = p.melding_start_key)
|
||
AS administratief_afhandelen_gereed
|
||
FROM ((SELECT melding_key
|
||
AS key,
|
||
melding_start_key,
|
||
m.mld_stdmelding_key,
|
||
(SELECT MAX (wf.mld_melding_key)
|
||
FROM mld_melding wf
|
||
WHERE wf.mld_melding_start_key = melding_start_key
|
||
AND wf.mld_stdmelding_key IN
|
||
(SELECT wfs.mld_stdmelding_key
|
||
FROM mld_workflowstep wfs)) --Andere stdmeldingen uitsluiten, om te voorkomen dat een los toegevoegde melding als fase gezien wordt
|
||
AS workflowstep,
|
||
(SELECT MAX (wfsm.mld_stdmelding_volgnr)
|
||
FROM mld_melding wf, mld_stdmelding wfsm
|
||
WHERE wf.mld_melding_start_key = melding_start_key
|
||
AND wf.mld_stdmelding_key =
|
||
wfsm.mld_stdmelding_key
|
||
AND wf.mld_stdmelding_key IN
|
||
(SELECT wfs.mld_stdmelding_key
|
||
FROM mld_workflowstep wfs)) --Andere stdmeldingen uitsluiten, om te voorkomen dat een los toegevoegde melding als fase gezien wordt
|
||
AS workflow_volgnr,
|
||
melding_status
|
||
AS status,
|
||
melding_datum,
|
||
melding_einddatum,
|
||
doorlooptijd_werkdgn,
|
||
melding_district,
|
||
fclt_3d_locatie_key,
|
||
melding_locatiecode,
|
||
melding_gebouwcode
|
||
AS rvb_pandcode,
|
||
melding_gebouw,
|
||
invoerder,
|
||
melder_key
|
||
AS aanvrager_key,
|
||
melder
|
||
AS aanvrager,
|
||
fclt_3d_afdeling_key,
|
||
afdeling,
|
||
afdeling_omschrijving,
|
||
bedrijf_key,
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM prs_bedrijf b
|
||
WHERE b.prs_bedrijf_key = bedrijf_key)
|
||
AS bedrijf,
|
||
onderwerp,
|
||
vomschrijving
|
||
AS omschrijving,
|
||
'Projectaanvraag'
|
||
AS zoom,
|
||
(SELECT MAX (uitv.mld_melding_key)
|
||
FROM mld_melding uitv
|
||
WHERE uitv.mld_stdmelding_key = 664 -- Standaardmelding Uitvoeren
|
||
AND uitv.mld_melding_start_key =
|
||
melding_start_key)
|
||
AS uitvoer_key,
|
||
(SELECT MAX (spec.mld_melding_key)
|
||
FROM mld_melding spec
|
||
WHERE spec.mld_stdmelding_key = 663 -- Standaardmelding Specificeren
|
||
AND spec.mld_melding_start_key =
|
||
melding_start_key)
|
||
AS specificeren_key
|
||
FROM mld_v_udr_melding,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline disc
|
||
WHERE melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND disc.ins_srtdiscipline_key IN (161) --Vakgroeptype Projecten
|
||
AND melding_key = melding_start_key)
|
||
UNION ALL
|
||
(SELECT melding_key
|
||
AS key,
|
||
melding_start_key,
|
||
m.mld_stdmelding_key,
|
||
(SELECT MAX (wf.mld_melding_key)
|
||
FROM mld_melding wf
|
||
WHERE wf.mld_melding_start_key = melding_start_key
|
||
AND wf.mld_stdmelding_key IN
|
||
(SELECT wfs.mld_stdmelding_key
|
||
FROM mld_workflowstep wfs)) --Andere stdmeldingen uitsluiten, om te voorkomen dat een los toegevoegde melding als fase gezien wordt
|
||
AS workflowstep,
|
||
(SELECT MAX (wfsm.mld_stdmelding_volgnr)
|
||
FROM mld_melding wf, mld_stdmelding wfsm
|
||
WHERE wf.mld_melding_start_key = melding_start_key
|
||
AND wf.mld_stdmelding_key =
|
||
wfsm.mld_stdmelding_key
|
||
AND wf.mld_stdmelding_key IN
|
||
(SELECT wfs.mld_stdmelding_key
|
||
FROM mld_workflowstep wfs)) --Andere stdmeldingen uitsluiten, om te voorkomen dat een los toegevoegde melding als fase gezien wordt
|
||
AS workflow_volgnr,
|
||
melding_status
|
||
AS status,
|
||
melding_datum,
|
||
melding_einddatum,
|
||
doorlooptijd_werkdgn,
|
||
melding_district,
|
||
fclt_3d_locatie_key,
|
||
melding_locatiecode,
|
||
melding_gebouwcode
|
||
AS rvb_pandcode,
|
||
melding_gebouw,
|
||
invoerder,
|
||
melder_key
|
||
AS aanvrager_key,
|
||
melder
|
||
AS aanvrager,
|
||
fclt_3d_afdeling_key,
|
||
afdeling,
|
||
afdeling_omschrijving,
|
||
bedrijf_key,
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM prs_bedrijf b
|
||
WHERE b.prs_bedrijf_key = bedrijf_key)
|
||
AS bedrijf,
|
||
onderwerp,
|
||
vomschrijving
|
||
AS omschrijving,
|
||
'Alles'
|
||
AS zoom,
|
||
(SELECT MAX (uitv.mld_melding_key)
|
||
FROM mld_melding uitv
|
||
WHERE uitv.mld_stdmelding_key = 664 -- Standaardmelding Uitvoeren
|
||
AND uitv.mld_melding_start_key =
|
||
melding_start_key)
|
||
AS uitvoer_key,
|
||
(SELECT MAX (spec.mld_melding_key)
|
||
FROM mld_melding spec
|
||
WHERE spec.mld_stdmelding_key = 663 -- Standaardmelding Specificeren
|
||
AND spec.mld_melding_start_key =
|
||
melding_start_key)
|
||
AS specificeren_key
|
||
FROM mld_v_udr_melding,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline disc
|
||
WHERE melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND disc.ins_srtdiscipline_key IN (161) --Vakgroeptype Projecten
|
||
AND melding_key <> melding_start_key)) p;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_PRO_FO
|
||
(
|
||
PROJECTNUMMER,
|
||
ACTIEF,
|
||
KEY,
|
||
STAP,
|
||
PROJECTLEIDER,
|
||
MELDING_DATUM,
|
||
MELDING_EINDDATUM,
|
||
DOORLOOPTIJD_WERKDGN,
|
||
MELDING_DISTRICT,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
MELDING_LOCATIECODE,
|
||
RVB_PANDCODE,
|
||
MELDING_GEBOUW,
|
||
INVOERDER,
|
||
AANVRAGER_KEY,
|
||
AANVRAGER,
|
||
FCLT_3D_AFDELING_KEY,
|
||
AFDELING,
|
||
AFDELING_OMSCHRIJVING,
|
||
BEDRIJF_KEY,
|
||
BEDRIJF,
|
||
VERPLICHTINGENNUMMER,
|
||
ONDERWERP,
|
||
OMSCHRIJVING,
|
||
OMSCHRIJVING2,
|
||
SAMENVATTING_OFFERTE,
|
||
OFFERTENUMMER,
|
||
OFFERTESTATUS,
|
||
SOORT_OFFERTE,
|
||
TEN_BEHOEVE_VAN,
|
||
LOCATIE,
|
||
GEBOUWCODE,
|
||
OFFERTEDATUM,
|
||
AANTAL_VERDEELSLEUTELS,
|
||
MINISTERIE_1,
|
||
VERDEELSLEUTEL_1,
|
||
MINISTERIE_2,
|
||
VERDEELSLEUTEL_2,
|
||
MINISTERIE_3,
|
||
VERDEELSLEUTEL_3,
|
||
MINISTERIE_4,
|
||
VERDEELSLEUTEL_4,
|
||
SOORT_OFFERTEREGEL,
|
||
TOTAAL_BEDRAG_EXCL,
|
||
TOTAAL_BEDRAG,
|
||
AANTAL_UREN,
|
||
UITPUTTING,
|
||
PROJECTTYPE,
|
||
MLDAFM,
|
||
UITVOERING_GEREED,
|
||
ADM_AFHANDELEN_GESTART,
|
||
ADM_AFHANDELEN_GEREED
|
||
)
|
||
AS
|
||
SELECT p.PROJECTNUMMER,
|
||
p.ACTIEF,
|
||
p.KEY,
|
||
p.STAP,
|
||
p.PROJECTLEIDER,
|
||
p.MELDING_DATUM,
|
||
p.MELDING_EINDDATUM,
|
||
p.DOORLOOPTIJD_WERKDGN,
|
||
p.MELDING_DISTRICT,
|
||
p.FCLT_3D_LOCATIE_KEY,
|
||
p.MELDING_LOCATIECODE,
|
||
p.RVB_PANDCODE,
|
||
p.MELDING_GEBOUW,
|
||
p.INVOERDER,
|
||
p.AANVRAGER_KEY,
|
||
p.AANVRAGER,
|
||
p.FCLT_3D_AFDELING_KEY,
|
||
p.AFDELING,
|
||
p.AFDELING_OMSCHRIJVING,
|
||
p.BEDRIJF_KEY,
|
||
p.BEDRIJF,
|
||
-- p.AANTAL_OFFERTES,
|
||
p.VERPLICHTINGENNUMMER,
|
||
p.ONDERWERP,
|
||
p.OMSCHRIJVING,
|
||
o.mld_opdr_omschrijving as samenvatting_offerte,
|
||
(SELECT kmo.mld_kenmerkopdr_waarde
|
||
FROM mld_kenmerkopdr kmo
|
||
WHERE kmo.mld_kenmerk_key = 3121 --Kenmerk Omschrijving bij opdracht
|
||
AND kmo.mld_opdr_key = o.mld_opdr_key
|
||
AND kmo.mld_kenmerkopdr_verwijder IS NULL),
|
||
(SELECT kmm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1751 --Kenmerk offertenummer bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM mld_kenmerkmelding kmm, fac_v_aanwezigusrdata ud
|
||
WHERE kmm.mld_kenmerk_key = 1752 --Kenmerk offertestatus bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND ud.fac_usrdata_key = kmm.mld_kenmerkmelding_waarde
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM mld_kenmerkmelding kmm, fac_v_aanwezigusrdata ud
|
||
WHERE kmm.mld_kenmerk_key = 1827 --Kenmerk soort offerte bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND ud.fac_usrdata_key = kmm.mld_kenmerkmelding_waarde
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM mld_kenmerkmelding kmm, prs_bedrijf b
|
||
WHERE kmm.mld_kenmerk_key = 1829 --Kenmerk TBV bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND b.prs_bedrijf_key = kmm.mld_kenmerkmelding_waarde
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT kmm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1527 --Kenmerk Locatie bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT kmm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1390 --Kenmerk Pandcode bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT kmm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1388 --Kenmerk Offertedatum bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT kmm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1338 --Kenmerk Aantal Verdeelsleutels bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM mld_kenmerkmelding kmm, prs_bedrijf b
|
||
WHERE kmm.mld_kenmerk_key = 1740 --Kenmerk Ministerie1 bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND b.prs_bedrijf_key = kmm.mld_kenmerkmelding_waarde
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
COALESCE (
|
||
(SELECT fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1844 --Kenmerk Verdeelsleutel1 bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
100),
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM mld_kenmerkmelding kmm, prs_bedrijf b
|
||
WHERE kmm.mld_kenmerk_key = 1741 --Kenmerk Ministerie2 bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND b.prs_bedrijf_key = kmm.mld_kenmerkmelding_waarde
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1845 --Kenmerk Verdeelsleutel2 bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM mld_kenmerkmelding kmm, prs_bedrijf b
|
||
WHERE kmm.mld_kenmerk_key = 1742 --Kenmerk Ministerie3 bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND b.prs_bedrijf_key = kmm.mld_kenmerkmelding_waarde
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1846 --Kenmerk Verdeelsleutel3 bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM mld_kenmerkmelding kmm, prs_bedrijf b
|
||
WHERE kmm.mld_kenmerk_key = 1744 --Kenmerk Ministerie4 bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND b.prs_bedrijf_key = kmm.mld_kenmerkmelding_waarde
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = 1847 --Kenmerk Verdeelsleutel4 bij Offerte opstellen
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL),
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM mld_kenmerkopdr kmo, fac_v_aanwezigusrdata ud
|
||
WHERE kmo.mld_kenmerk_key = 2040 --Kenmerk Soort offerteregel bij opdracht
|
||
AND kmo.mld_opdr_key = o.mld_opdr_key
|
||
AND ud.fac_usrdata_key = kmo.mld_kenmerkopdr_waarde
|
||
AND kmo.mld_kenmerkopdr_verwijder IS NULL),
|
||
(SELECT fac.safe_to_number (kmo.mld_kenmerkopdr_waarde)
|
||
FROM mld_kenmerkopdr kmo
|
||
WHERE kmo.mld_kenmerk_key = 2044 --Kenmerk Totaal Bedrag (excl) bij opdracht
|
||
AND kmo.mld_opdr_key = o.mld_opdr_key
|
||
AND kmo.mld_kenmerkopdr_verwijder IS NULL),
|
||
(SELECT fac.safe_to_number (kmo.mld_kenmerkopdr_waarde)
|
||
FROM mld_kenmerkopdr kmo
|
||
WHERE kmo.mld_kenmerk_key = 2075 --Kenmerk Totaal Bedrag bij opdracht
|
||
AND kmo.mld_opdr_key = o.mld_opdr_key
|
||
AND kmo.mld_kenmerkopdr_verwijder IS NULL),
|
||
(SELECT fac.safe_to_number (kmo.mld_kenmerkopdr_waarde)
|
||
FROM mld_kenmerkopdr kmo
|
||
WHERE kmo.mld_kenmerk_key = 2074 --Kenmerk Aantal uren bij opdracht
|
||
AND kmo.mld_opdr_key = o.mld_opdr_key
|
||
AND kmo.mld_kenmerkopdr_verwijder IS NULL),
|
||
(SELECT fac.safe_to_number (kmo.mld_kenmerkopdr_waarde)
|
||
FROM mld_kenmerkopdr kmo
|
||
WHERE kmo.mld_kenmerk_key = 2076 --Kenmerk Uitputting bij opdracht
|
||
AND kmo.mld_opdr_key = o.mld_opdr_key
|
||
AND kmo.mld_kenmerkopdr_verwijder IS NULL),
|
||
p.projecttype,
|
||
p.mldafm,
|
||
p.uitvoering_gereed,
|
||
p.adm_afhandelen_gestart,
|
||
p.adm_afhandelen_gereed
|
||
FROM FMHN_V_RAP_PRO p, mld_melding m, mld_opdr o
|
||
WHERE m.mld_melding_key = p.key
|
||
AND m.mld_stdmelding_key = 665 -- Offerte opstellen
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
ORDER BY key DESC;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_NOTIFYPROJ
|
||
(
|
||
ALERT,
|
||
MELDING_KEY,
|
||
ONDERWERP,
|
||
MUTATIEDATUM,
|
||
PERSLID_KEY,
|
||
EMAIL
|
||
)
|
||
AS
|
||
SELECT 'Afgewezen'
|
||
AS alert,
|
||
m.mld_melding_key,
|
||
'Projectactiviteit '
|
||
|| sm.mld_stdmelding_omschrijving
|
||
|| ' is afgewezen (melding '
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')'
|
||
AS onderwerp,
|
||
(SELECT DISTINCT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t, fac_srtnotificatie sn
|
||
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'MLDREJ'
|
||
AND t.fac_tracking_refkey = m.mld_melding_key)
|
||
AS mutatiedatum,
|
||
NULL
|
||
AS perslid_key,
|
||
x.xemail
|
||
AS email
|
||
FROM mld_melding m, mld_stdmelding sm, ins_tab_discipline disc,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 841 -- Eigen tabel 'ProjNoti1'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_status = 1
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND disc.ins_srtdiscipline_key IN (161) --Vakgroeptype Projecten
|
||
UNION ALL
|
||
SELECT 'Projectaanvraag' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een nieuwe projectaanvraag ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
m.prs_perslid_key AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 842 -- Eigen tabel 'ProjNoti2'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (662) --Aanvraagformulier nieuw project door klant
|
||
AND sn.fac_srtnotificatie_code = 'MLDNEW'
|
||
UNION ALL
|
||
SELECT 'Projectaanvraag' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een nieuw project geregistreerd ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
m.prs_perslid_key AS perslid_key,
|
||
ud.fac_usrdata_omschr AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn, fac_usrdata ud
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (667) --Aanvraagformulier projectregistratie RM/PM
|
||
AND ud.fac_usrtab_key = 701
|
||
AND ud.fac_usrdata_verwijder IS NULL
|
||
AND sn.fac_srtnotificatie_code = 'MLDNEW'
|
||
UNION ALL
|
||
SELECT 'Projectlid_nieuw' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een nieuw projectdossier met projectmedewerkers toegevoegd ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 843 -- Eigen tabel 'ProjNoti3'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (664) --Aanvraagformulier uitvoeren (dossier)
|
||
AND sn.fac_srtnotificatie_code = 'MLDNEW'
|
||
UNION ALL
|
||
SELECT 'Projectlid_mutatie' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een projectdossier gewijzigd met projectmedewerkers ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 844 -- Eigen tabel 'ProjNoti4'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (663, 664) --Specificeren <20>n Uitvoeren
|
||
AND sn.fac_srtnotificatie_code = 'MLDUPD'
|
||
AND t.fac_tracking_oms LIKE '%-->%'
|
||
AND ( t.fac_tracking_oms LIKE '%Projectlid %'
|
||
OR t.fac_tracking_oms LIKE '%Projectleider: %')
|
||
UNION ALL
|
||
SELECT 'Projectlid_mutatie'
|
||
AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een projectdossier gewijzigd met projectmedewerkers ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')'
|
||
AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
(SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND km.mld_kenmerk_key = 1764 -- Kenmerk Projectleider bij stap 'Uitvoeren/dossier'
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
AS perslid_key,
|
||
NULL
|
||
AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (663, 664) --Specificeren <20>n Uitvoeren
|
||
AND sn.fac_srtnotificatie_code = 'MLDUPD'
|
||
AND t.fac_tracking_oms LIKE '%-->%'
|
||
AND ( t.fac_tracking_oms LIKE '%Projectlid %'
|
||
OR t.fac_tracking_oms LIKE '%Projectleider: %')
|
||
UNION ALL
|
||
SELECT 'Project_mutatie_gereeddatum' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een gereeddatum van een project gewijzigd ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 845 -- Eigen tabel 'ProjNoti5'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key = 664 --Aanvraagformulier uitvoeren (dossier)
|
||
AND sn.fac_srtnotificatie_code = 'MLDUPD'
|
||
AND t.fac_tracking_oms LIKE '%-->%'
|
||
AND t.fac_tracking_oms LIKE '%Gereed: %'
|
||
UNION ALL
|
||
SELECT 'Administratief_gereed' AS alert,
|
||
m.mld_melding_key,
|
||
'Project ('
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ') is in uitvoering gereed, uren dichten in Synergy' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 846 -- Eigen tabel 'ProjNoti6'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key = 668 --Aanvraagformulier Administratief afhandelen
|
||
AND sn.fac_srtnotificatie_code = 'MLDNEW'
|
||
UNION ALL
|
||
SELECT 'Projectdossier_projectleider'
|
||
AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een nieuw projectdossier aangemaakt, met u als projectleider ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')'
|
||
AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
(SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km, mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND km.mld_kenmerk_key = 1764 -- Kenmerk Projectleider bij stap 'Uitvoeren/dossier'
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
AS perslid_key,
|
||
NULL
|
||
AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (664) --Aanvraagformulier uitvoeren (dossier)
|
||
AND sn.fac_srtnotificatie_code = 'MLDNEW'
|
||
UNION ALL
|
||
SELECT 'Aanbieden_offerte' AS alert,
|
||
m.mld_melding_key,
|
||
'Graag offerte aanbieden voor project ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 847 -- Eigen tabel 'ProjNoti7'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (665) --Offerte opstellen
|
||
AND sn.fac_srtnotificatie_code = 'MLDUPD'
|
||
AND t.fac_tracking_oms LIKE '%Offertestatus%'
|
||
AND t.fac_tracking_oms LIKE '%--> Offerte klaar voor aanbieden%'
|
||
UNION ALL
|
||
SELECT 'Offerte_akkoord' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een akkoord ontvangen op offerte bij project ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 848 -- Eigen tabel 'ProjNoti8'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (665) --Offerte opstellen
|
||
AND sn.fac_srtnotificatie_code = 'MLDUPD'
|
||
AND t.fac_tracking_oms LIKE '%Offertestatus%'
|
||
AND t.fac_tracking_oms LIKE '%--> Offerte akkoord%'
|
||
UNION ALL
|
||
SELECT 'Offerte_akkoord' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een akkoord ontvangen op offerte bij project ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
(SELECT DISTINCT prs_perslid_email
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key =
|
||
(SELECT DISTINCT
|
||
fac.safe_to_number (
|
||
kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk,
|
||
mld_melding m_uitvoer,
|
||
mld_melding m_offerte
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key =
|
||
sk.mld_srtkenmerk_key
|
||
AND km.mld_kenmerk_key = 1764 -- Kenmerk Projectleider bij stap 'Uitvoeren/dossier'
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key =
|
||
m_uitvoer.mld_melding_key --m.mld_melding_key
|
||
AND m_uitvoer.mld_melding_start_key =
|
||
m_offerte.mld_melding_start_key
|
||
AND m_offerte.mld_melding_key =
|
||
m.mld_melding_key
|
||
AND m_uitvoer.mld_melding_status IN (2,3,4,7))) AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (665) --Offerte opstellen
|
||
AND sn.fac_srtnotificatie_code = 'MLDUPD'
|
||
AND t.fac_tracking_oms LIKE '%Offertestatus%'
|
||
AND t.fac_tracking_oms LIKE '%--> Offerte akkoord%'
|
||
UNION ALL
|
||
SELECT 'Offerte_financiele_afhandeling' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een offerte met status financiele afhandeling bij project ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 850 -- Eigen tabel 'ProjNoti9'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (665) --Offerte opstellen
|
||
AND sn.fac_srtnotificatie_code = 'MLDUPD'
|
||
AND t.fac_tracking_oms LIKE '%Offertestatus%'
|
||
AND t.fac_tracking_oms LIKE '%--> Financiele afhandeling%';
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_NOTIFYPROJDIGI
|
||
(
|
||
ALERT,
|
||
MELDING_KEY,
|
||
ONDERWERP,
|
||
MUTATIEDATUM,
|
||
PERSLID_KEY,
|
||
EMAIL
|
||
)
|
||
AS
|
||
SELECT 'Projectdossier' AS alert,
|
||
m.mld_melding_key,
|
||
'Er is een nieuw projectdossier aangemaakt ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 861 -- Eigen tabel 'ProjNoti10'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (664) --Aanvraagformulier uitvoeren (dossier)
|
||
AND sn.fac_srtnotificatie_code = 'MLDNEW'
|
||
UNION ALL
|
||
SELECT 'Dossier_digidoc' AS alert,
|
||
m.mld_melding_key,
|
||
'Graag dossier aanmaken voor project ('
|
||
|| m.mld_melding_key
|
||
|| ', projectnummer '
|
||
|| (SELECT DISTINCT
|
||
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 296 -- Kenmerksoort Projectnummer (automatisch)
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key)
|
||
|| ')' AS onderwerp,
|
||
t.fac_tracking_datum,
|
||
NULL AS perslid_key,
|
||
x.xemail AS email
|
||
FROM mld_melding m, fac_tracking t, fac_srtnotificatie sn,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 862 -- Eigen tabel 'ProjNoti11'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND m.mld_stdmelding_key IN (663) --Specificeren
|
||
AND sn.fac_srtnotificatie_code = 'MLDUPD'
|
||
AND t.fac_tracking_oms LIKE '%Digidoc: (leeg) -->%';
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_NOTIFYPROJ
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT 'CUST05',
|
||
NULL,
|
||
x.perslid_key,
|
||
x.onderwerp,
|
||
x.melding_key,
|
||
NULL,
|
||
NULL,
|
||
COALESCE (x.email,
|
||
(SELECT p.prs_perslid_email
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_key = x.perslid_key)),
|
||
NULL
|
||
FROM FMHN_V_RAP_NOTIFYPROJ x
|
||
WHERE x.mutatiedatum > (SELECT fac_notificatie_job_lastrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'FMHN_V_NOTI_NOTIFYPROJ')
|
||
UNION ALL
|
||
SELECT DISTINCT 'CUST21',
|
||
NULL,
|
||
x.perslid_key,
|
||
x.onderwerp,
|
||
x.melding_key,
|
||
NULL,
|
||
NULL,
|
||
COALESCE (x.email,
|
||
(SELECT p.prs_perslid_email
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_key = x.perslid_key)),
|
||
NULL
|
||
FROM FMHN_V_RAP_NOTIFYPROJDIGI x
|
||
WHERE x.mutatiedatum > (SELECT fac_notificatie_job_lastrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'FMHN_V_NOTI_NOTIFYPROJ');
|
||
|
||
--TBV Notificatie voor het versturen van verzoeken voor het invullen van (actieve) KTO formulieren
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_KTO_ACTIEF
|
||
(
|
||
MLD_MELDING_KEY,
|
||
MLD_MELDING_DATUM,
|
||
MLD_MELDING_EINDDATUM,
|
||
MLD_MELDING_STATUS,
|
||
JAAR,
|
||
KWARTAAL,
|
||
MAAND,
|
||
MLD_ALG_LOCATIE_KEY,
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_KEY_VOOR,
|
||
MLD_MELDING_ONDERWERP,
|
||
MLD_MELDING_OMSCHRIJVING,
|
||
MLD_MELDING_KTO,
|
||
MLD_MELDING_KTO_KEY,
|
||
MLD_MELDING_KTO_TYPE,
|
||
MLD_MELDING_KTO_VERSTUURD,
|
||
NODE,
|
||
INS_SRTDISCIPLINE_KEY,
|
||
KTO_STDMELDING,
|
||
KTO_STDMELDING_KEY,
|
||
INS_DISCIPLINE_OMSCHRIJVING,
|
||
INS_DISCIPLINE_KTOPERCENTAGE,
|
||
INS_DISCIPLINE_KTODREMPEL,
|
||
MLD_STDMELDING_KEY,
|
||
MLD_STDMELDING_OMSCHRIJVING,
|
||
MLD_STDMELDING_KTO,
|
||
PART,
|
||
VOLGNNR,
|
||
MAILING,
|
||
VERSTUURD
|
||
)
|
||
AS
|
||
SELECT x.mld_melding_key,
|
||
x.mld_melding_datum,
|
||
x.mld_melding_einddatum,
|
||
x.mld_melding_status,
|
||
x.jaar,
|
||
x.kwartaal,
|
||
x.maand,
|
||
x.mld_alg_locatie_key,
|
||
x.prs_perslid_key,
|
||
x.prs_perslid_key_voor,
|
||
x.mld_melding_onderwerp,
|
||
x.mld_melding_omschrijving,
|
||
x.mld_melding_kto,
|
||
x.mld_melding_kto_key,
|
||
x.mld_melding_kto_type,
|
||
x.mld_melding_kto_verstuurd,
|
||
'melding' node,
|
||
x.ins_srtdiscipline_key,
|
||
DECODE (x.ins_srtdiscipline_key, -- Let op: mapping ook in stylesheet
|
||
24, 'Aanvraag',
|
||
201, 'Aanvraag', -- FMHN#72353: Vakgroeptype 201 'Evenement aanvragen' afgesplitst van 24 (Aanvragen)
|
||
29, 'Storing',
|
||
30, 'Storing',
|
||
27, 'Klachten',
|
||
28, 'Klachten') kto_stdmelding,
|
||
DECODE (x.ins_srtdiscipline_key,
|
||
24, 162,
|
||
201,162, -- FMHN#72353: Vakgroeptype 201 'Evenement aanvragen' afgesplitst van 24 (Aanvragen)
|
||
29, 164,
|
||
30, 164,
|
||
27, 163,
|
||
28, 163) kto_stdmelding_key,
|
||
x.ins_discipline_omschrijving,
|
||
x.ins_discipline_ktopercentage,
|
||
x.ins_discipline_ktodrempel,
|
||
x.mld_stdmelding_key,
|
||
x.mld_stdmelding_omschrijving,
|
||
x.mld_stdmelding_kto,
|
||
x.part,
|
||
ROWNUM volgnnr,
|
||
(CASE ROWNUM / x.part
|
||
WHEN TRUNC (ROWNUM / x.part) THEN 1
|
||
ELSE 0
|
||
END) mailing,
|
||
(SELECT fac_tracking_datum
|
||
FROM fac_tracking t
|
||
WHERE fac_srtnotificatie_key = 241 -- CUST01 - Notificatie actieve KTO
|
||
AND t.fac_tracking_refkey = x.mld_melding_key) verstuurd
|
||
FROM ( SELECT m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
m.mld_melding_einddatum,
|
||
m.mld_melding_status,
|
||
fac.safe_to_number (TO_CHAR (m.mld_melding_datum, 'YYYY'))
|
||
jaar,
|
||
fac.safe_to_number (TO_CHAR (m.mld_melding_datum, 'Q'))
|
||
kwartaal,
|
||
fac.safe_to_number (TO_CHAR (m.mld_melding_datum, 'MM'))
|
||
maand,
|
||
m.mld_alg_locatie_key,
|
||
m.prs_perslid_key,
|
||
m.prs_perslid_key_voor,
|
||
m.mld_melding_onderwerp,
|
||
m.mld_melding_omschrijving,
|
||
m.mld_melding_kto,
|
||
m.mld_melding_kto_key,
|
||
m.mld_melding_kto_type,
|
||
m.mld_melding_kto_verstuurd,
|
||
disc.ins_srtdiscipline_key,
|
||
disc.ins_discipline_omschrijving,
|
||
disc.ins_discipline_ktopercentage,
|
||
disc.ins_discipline_ktodrempel,
|
||
sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
sm.mld_stdmelding_kto,
|
||
TRUNC (100 / ins_discipline_ktopercentage)
|
||
AS part
|
||
FROM --mld_v_udr_melding x,
|
||
mld_melding m, mld_stdmelding sm, ins_tab_discipline disc
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND m.mld_melding_status IN (5, 6, 99) -- niet meer lopend!
|
||
AND disc.ins_discipline_ktopercentage > 0
|
||
AND ( sm.mld_stdmelding_kto <> 0 -- Keuze Nooit bij 'Doet mee in KTO'
|
||
OR sm.mld_stdmelding_kto IS NULL)
|
||
ORDER BY fac.safe_to_number (
|
||
TO_CHAR (m.mld_melding_datum, 'YYYY')) DESC,
|
||
fac.safe_to_number (TO_CHAR (m.mld_melding_datum, 'Q')) DESC,
|
||
disc.ins_discipline_ktopercentage,
|
||
disc.ins_discipline_omschrijving,
|
||
m.prs_perslid_key_voor) x;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_noti_kto_actief
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'CUST01' AS code,
|
||
NULL AS sender,
|
||
m.prs_perslid_key_voor AS receiver,
|
||
'U wordt gevraagd om een klanttevredenheidsformulier in te vullen voor '
|
||
|| m.node
|
||
|| ' '
|
||
|| m.mld_melding_key
|
||
|| ' ('
|
||
|| COALESCE (m.mld_melding_onderwerp,
|
||
m.mld_stdmelding_omschrijving)
|
||
|| ')' AS text,
|
||
m.mld_melding_key AS key,
|
||
NULL AS extra_key
|
||
FROM FMHN_V_RAP_KTO_ACTIEF m
|
||
WHERE mailing = 1
|
||
AND TRUNC (mld_melding_datum) >=
|
||
ADD_MONTHS (TRUNC (SYSDATE, 'Q'), -3)
|
||
AND TRUNC (mld_melding_datum) <
|
||
ADD_MONTHS (TRUNC (SYSDATE, 'Q'), 0)
|
||
AND TRUNC(SYSDATE, 'Q') = TRUNC (SYSDATE) -- Enkel uitvoeren op 1e datum van het kwartaal
|
||
AND NOT EXISTS
|
||
(SELECT fac_tracking_key
|
||
FROM fac_tracking t
|
||
WHERE fac_srtnotificatie_key = 241 -- CUST01 - Notificatie actieve KTO
|
||
AND t.fac_tracking_refkey = m.mld_melding_key)
|
||
ORDER BY m.mld_melding_datum;
|
||
|
||
-- Looplijst voor vergaderservice van TM147 FMHN#70058
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_voorz_lijst
|
||
(
|
||
KEY,
|
||
NUMMER,
|
||
RES_OMSCHRIJVING,
|
||
INVOERDATUM,
|
||
DATUM,
|
||
GASTHEER,
|
||
CONTACT,
|
||
GASTHEER_EMAIL,
|
||
CONTACT_EMAIL,
|
||
INVOERDER,
|
||
KOSTENSOORTGROEP,
|
||
KOSTENSOORT,
|
||
KPN,
|
||
KPN_OMSCHRIJVING,
|
||
KPN_EXTERN,
|
||
FCLT_3D_DIVISIE_KEY,
|
||
DIVISIE_NAAM,
|
||
DIVISIE_OMSCHRIJVING,
|
||
FCLT_3D_AFDELING_KEY,
|
||
AFDELING_CODE,
|
||
AFDELING_OMSCHRIJVING,
|
||
REGIO_OMSCHRIJVING,
|
||
DISTRICT_OMSCHIJVING,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
LOCATIE,
|
||
LOCATIE_OMSCHRIJVING,
|
||
LOCATIE_PLAATS,
|
||
GEBOUW,
|
||
VERDIEPING,
|
||
RUIMTE,
|
||
OPSTELLING,
|
||
CAPACITEIT,
|
||
OMSTELTIJD_IN_MIN,
|
||
GROEPERING,
|
||
NO_SHOW,
|
||
MANDAAT,
|
||
PERSONEELSNR,
|
||
FCLT_3D_DISCIPLINE_KEY,
|
||
CATALOGUS_KEY,
|
||
CATALOGUS,
|
||
RESERVEERBARE_RUIMTE,
|
||
BEZOEKERS,
|
||
VAN,
|
||
TOT,
|
||
DUUR,
|
||
STATUS,
|
||
BOSTATUS,
|
||
ACTIVITEIT,
|
||
SRTACTIVITEIT_KEY,
|
||
ACTIVITEITSOORT,
|
||
OPMERKING,
|
||
VOORZIENING_DISCIPLINE_KEY,
|
||
VOORZIENING_TYPE,
|
||
VOORZIENING_CATALOGUS,
|
||
LEVERANCIER,
|
||
VOORZIENING_PRODUCT_KEY,
|
||
VOORZIENING_PRODUCT,
|
||
VOORZIENING_TOTAALPRIJS,
|
||
VOORZIENING_VAN,
|
||
VOORZIENING_TOT,
|
||
VOORZIENING_AANTAL,
|
||
VOORZIENING_PRIJS,
|
||
RESERVERING_STATUS
|
||
)
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
res.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
COALESCE (rrr.res_rsv_ruimte_aanmaak, voorz.van),
|
||
rrr.res_rsv_ruimte_van,
|
||
(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 ph.prs_perslid_email
|
||
FROM prs_perslid ph
|
||
WHERE ph.prs_perslid_key = rrr.res_rsv_ruimte_host_key),
|
||
(SELECT pc.prs_perslid_email
|
||
FROM prs_perslid pc
|
||
WHERE pc.prs_perslid_key = rrr.res_rsv_ruimte_contact_key),
|
||
(SELECT pf.prs_perslid_naam_full
|
||
FROM fac_tracking tr,
|
||
fac_srtnotificatie str,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE tr.prs_perslid_key = pf.prs_perslid_key
|
||
AND str.fac_srtnotificatie_code = 'RESNEW'
|
||
AND tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key
|
||
AND tr.fac_tracking_refkey = rrr.res_rsv_ruimte_key),
|
||
(SELECT ksg.prs_kostensoortgrp_oms
|
||
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
||
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
|
||
AND ks.prs_kostensoort_key =
|
||
(SELECT disc.prs_kostensoort_key
|
||
FROM res_discipline disc
|
||
WHERE disc.ins_discipline_key =
|
||
COALESCE (
|
||
voorz.ins_discipline_key,
|
||
(SELECT ins_discipline_key
|
||
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))))
|
||
kostensoortgroep,
|
||
(SELECT ks.prs_kostensoort_oms
|
||
FROM prs_kostensoort ks
|
||
WHERE ks.prs_kostensoort_key =
|
||
(SELECT disc.prs_kostensoort_key
|
||
FROM res_discipline disc
|
||
WHERE disc.ins_discipline_key =
|
||
COALESCE (
|
||
voorz.ins_discipline_key,
|
||
(SELECT ins_discipline_key
|
||
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))))
|
||
kostensoort,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving,
|
||
k.prs_kostenplaats_extern,
|
||
an.prs_afdeling_key,
|
||
an.prs_afdeling_naam,
|
||
an.prs_afdeling_omschrijving,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_naam,
|
||
a.prs_afdeling_omschrijving,
|
||
(SELECT rg.alg_regio_omschrijving
|
||
FROM alg_regio rg,
|
||
alg_district d,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE rg.alg_regio_key = d.alg_regio_key
|
||
AND 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 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 l.alg_locatie_key
|
||
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_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_locatie_plaats
|
||
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),
|
||
r2a.ruimte_nr,
|
||
r2a.opstelling,
|
||
r2a.capaciteit,
|
||
(SELECT rs.res_disc_params_preposttime * 60
|
||
FROM ins_tab_discipline d,
|
||
res_disc_params rs,
|
||
res_ruimte_opstelling ro,
|
||
res_ruimte rr
|
||
WHERE rs.res_ins_discipline_key = d.ins_discipline_key
|
||
AND 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) omsteltijd,
|
||
(SELECT ao.alg_onrgoedkenmerk_waarde
|
||
FROM alg_onrgoedkenmerk ao
|
||
WHERE ao.alg_onrgoed_niveau = 'R'
|
||
AND ao.alg_kenmerk_key = 1000
|
||
AND ao.alg_onrgoed_key = r2a.alg_ruimte_key) bouwdeel,
|
||
rrr.res_rsv_ruimte_noshow,
|
||
NVL ( (SELECT pr.fac_profiel_limiet
|
||
FROM fac_profiel pr
|
||
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0),
|
||
prs_perslid_nr,
|
||
COALESCE (
|
||
voorz.ins_discipline_key,
|
||
(SELECT ins_discipline_key
|
||
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)),
|
||
(SELECT ins_discipline_key
|
||
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),
|
||
(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'),
|
||
rrr.res_rsv_ruimte_bezoekers,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
COALESCE ( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24,
|
||
0),
|
||
(SELECT res_status_fo_omschrijving
|
||
FROM res_status_fo rs
|
||
WHERE rs.res_status_fo_key = rrr.res_status_fo_key),
|
||
(SELECT res_status_bo_omschrijving
|
||
FROM res_status_bo rs
|
||
WHERE rs.res_status_bo_key = rrr.res_status_bo_key),
|
||
ra.res_activiteit_omschrijving,
|
||
rsa.res_srtactiviteit_key,
|
||
rsa.res_srtactiviteit_omschrijving,
|
||
rrr.res_rsv_ruimte_opmerking,
|
||
voorz.ins_discipline_key,
|
||
voorz.vtype,
|
||
voorz.catalogus,
|
||
(SELECT prs_bedrijf_naam
|
||
FROM res_disc_params rdp, prs_bedrijf b
|
||
WHERE rdp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND rdp.res_ins_discipline_key = voorz.ins_discipline_key),
|
||
voorz.product_key,
|
||
voorz.product,
|
||
voorz.totaalprijs,
|
||
TO_CHAR (voorz.van, 'hh24:mi'),
|
||
TO_CHAR (voorz.tot, 'hh24:mi'),
|
||
voorz.aantal,
|
||
voorz.prijs,
|
||
DECODE (rrr.res_rsv_ruimte_flag,
|
||
0, NULL,
|
||
1, 'Aanwezig',
|
||
2, 'Afwezig',
|
||
3, 'Gecontroleerd')
|
||
--(SELECT rkw.res_kenmerkreservering_waarde
|
||
-- FROM res_kenmerkwaarde rkw, res_kenmerk rk
|
||
-- WHERE rkw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
-- AND rkw.res_kenmerkwaarde_verwijder IS NULL
|
||
-- AND rk.res_srtkenmerk_key = 161 --kenmerksoort Status
|
||
-- AND rkw.res_kenmerk_key = rk.res_kenmerk_key)
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_activiteit ra,
|
||
res_srtactiviteit rsa,
|
||
res_reservering res,
|
||
prs_kostenplaats k,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_afdeling an,
|
||
prs_v_afdeling_boom ab,
|
||
( SELECT res_rsv_ruimte_key,
|
||
MAX (o.res_opstelling_omschrijving) opstelling,
|
||
MAX (ro.res_ruimte_opstel_bezoekers) capaciteit,
|
||
MAX (ra.alg_ruimte_key) alg_ruimte_key,
|
||
MAX (rr.res_ruimte_nr) ruimte_nr
|
||
FROM res_rsv_ruimte r,
|
||
res_ruimte_opstelling ro,
|
||
res_opstelling o,
|
||
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 ro.res_opstelling_key = o.res_opstelling_key
|
||
AND rr.res_ruimte_key = ra.res_ruimte_key
|
||
GROUP BY res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT res_rsv_ruimte_key,
|
||
'' opstelling,
|
||
NULL capaciteit,
|
||
rrr.alg_ruimte_key,
|
||
r.alg_ruimte_nr
|
||
FROM res_rsv_ruimte rrr, alg_ruimte r
|
||
WHERE rrr.alg_ruimte_key IS NOT NULL
|
||
AND r.alg_ruimte_key = rrr.alg_ruimte_key) r2a,
|
||
(SELECT rrd.res_rsv_ruimte_key res_rsv_ruimte_key,
|
||
-rd.res_deel_key product_key,
|
||
rd.res_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,
|
||
c.ins_discipline_key ins_discipline_key,
|
||
c.ins_discipline_omschrijving catalogus,
|
||
'object' vtype
|
||
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 rd.res_deel_omschrijving NOT LIKE '%BWP%'
|
||
AND c.ins_discipline_key = rd.res_discipline_key) voorz
|
||
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_activiteit_key = ra.res_activiteit_key
|
||
AND ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key1 = an.prs_afdeling_key
|
||
AND (rrr.res_ruimte_opstel_key IS NOT NULL
|
||
OR voorz.res_rsv_ruimte_key IS NOT NULL)
|
||
AND rrr.res_rsv_ruimte_van >= TO_DATE ('01-01-2010', 'DD-MM-YYYY');
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_VTW_WF_PROGRESS
|
||
(
|
||
--wf,
|
||
startmelding_key,
|
||
startmelding_datum,
|
||
--startmelding_onderwerp,
|
||
startmelding_status,
|
||
melder,
|
||
fclt_3d_afdeling_key,
|
||
melder_afdeling_code,
|
||
melder_afdeling_oms,
|
||
--startmelding_behandelaar,
|
||
--max_stap_stdmelding_key,
|
||
bij_stap, -- max_stap_stdmelding_oms,
|
||
stapmelding_key,
|
||
stapmelding_datum,
|
||
--stapmelding_onderwerp,
|
||
stapmelding_status,
|
||
stapmelding_behandelaar,
|
||
korte_oms,
|
||
vtw_nr,
|
||
projectleider_og,
|
||
projectleider_pc,
|
||
gebruikers,
|
||
ontvangstdatum_offerte,
|
||
vervaldatum_offerte,
|
||
aanbiedingskosten,
|
||
eenmalige_invest_capex,
|
||
maandelijkse_expl_opex,
|
||
reservering_vervanging_lcc,
|
||
aandachtspunten,
|
||
datum_formeel,
|
||
datum_opdracht_verstrekt_aan_pc,
|
||
verwachte_uitvoeringsdatum,
|
||
daadwerkelijke_beschikb_datum,
|
||
datum_vroegtijdige_ingebruikname,
|
||
datum_gevraagd_aan_rvb_bs,
|
||
datum_door_pc_verwachte_aanl_vtw,
|
||
verwachte_afronding_toets_fmh,
|
||
ingediend_bij_klant_op,
|
||
verwachte_afronding_advies_fmh,
|
||
verwachte_start_werkzaamheden,
|
||
os_tekst,
|
||
vtw_on_hold
|
||
)
|
||
AS
|
||
SELECT --(SELECT mld_workflowstep_omschrijving FROM mld_workflowstep WHERE mld_workflowstep_key = x.mld_workflowstep_key)
|
||
-- wf,
|
||
x.mld_melding_key startmelding_key,
|
||
x.mld_melding_datum startmelding_datum,
|
||
--x.mld_melding_onderwerp startmelding_onderwerp,
|
||
x.mld_statuses_omschrijving startmelding_status,
|
||
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = x.prs_perslid_key)
|
||
melder,
|
||
x.prs_afdeling_key,
|
||
x.prs_afdeling_naam melder_afdeling_code,
|
||
x.prs_afdeling_omschrijving melder_afdeling_oms,
|
||
--(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = x.mld_melding_behandelaar_key)
|
||
-- startmelding_behandelaar,
|
||
--stap.mld_stdmelding_key max_stap_stdmelding_key,
|
||
stap.mld_stdmelding_omschrijving max_stap_stdmelding_oms,
|
||
stap.mld_melding_key max_stap_melding_key,
|
||
stap.mld_melding_datum max_stap_melding_datum,
|
||
--stap.mld_melding_onderwerp max_stap_melding_onderwerp,
|
||
stap.mld_statuses_omschrijving max_stap_melding_status,
|
||
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = stap.mld_melding_behandelaar_key)
|
||
max_stap_melding_behandelaar,
|
||
kko.mld_kenmerkmelding_waarde korte_oms,
|
||
kvn.mld_kenmerkmelding_waarde vtw_nr,
|
||
plog.mld_kenmerkmelding_waarde projectleider_og,
|
||
plpc.mld_kenmerkmelding_waarde projectleider_pc,
|
||
g.gebruikers gebruiker,
|
||
ovdo.mld_kenmerkmelding_waarde ontvangstdatum_offerte,
|
||
vvdo.mld_kenmerkmelding_waarde vervaldatum_offerte,
|
||
abk.mld_kenmerkmelding_waarde aanbiedingskosten,
|
||
capex.mld_kenmerkmelding_waarde capex,
|
||
opex.mld_kenmerkmelding_waarde opex,
|
||
lcc.mld_kenmerkmelding_waarde lcc,
|
||
adp.mld_kenmerkmelding_waarde aandachtspunten,
|
||
dvar.mld_kenmerkmelding_waarde datum_vtw_aangevraagd_door_rvb,
|
||
dovp.mld_kenmerkmelding_waarde datum_opdracht_verstrekt_aan_pc,
|
||
vud.mld_kenmerkmelding_waarde verwachte_uitvoeringsdatum,
|
||
dwbd.mld_kenmerkmelding_waarde daadwerkelijke_beschikbaarheidsdatum,
|
||
dvig.mld_kenmerkmelding_waarde datum_vroegtijdige_ingebruikname,
|
||
dgrb.mld_kenmerkmelding_waarde datum_gevraagd_aan_rvb_om_bs_te_dienen,
|
||
dpav.mld_kenmerkmelding_waarde datum_door_pc_verwachte_aanlevering_vtw,
|
||
vatf.mld_kenmerkmelding_waarde verwachte_afronding_toets_fmh,
|
||
ibdk.mld_kenmerkmelding_waarde ingediend_bij_de_klant,
|
||
vaaf.mld_kenmerkmelding_waarde verwachte_afronding_advies_fmh,
|
||
vsw.mld_kenmerkmelding_waarde verwachte_start_werkzaamheden,
|
||
ost.mld_kenmerkmelding_waarde OS_tekst,
|
||
onh.mld_srtkenmerk_omschrijving vtw_on_hold
|
||
FROM (SELECT m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
m.mld_melding_onderwerp,
|
||
ms.mld_statuses_omschrijving,
|
||
m.mld_melding_behandelaar_key,
|
||
m.mld_workflowstep_key,
|
||
p.prs_perslid_key,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_naam,
|
||
a.prs_afdeling_omschrijving
|
||
FROM mld_melding m,
|
||
mld_statuses ms,
|
||
prs_perslid p,
|
||
prs_afdeling a
|
||
WHERE m.mld_workflowstep_key = 122 -- Behoeftestelling (startmelding)
|
||
--AND m.mld_melding_status NOT IN (1, 5, 6) -- Lopende WFs (eerste WF-stap nog niet gesloten)
|
||
AND m.mld_melding_status = ms.mld_statuses_key
|
||
AND m.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key) x
|
||
LEFT JOIN (SELECT m.mld_melding_start_key,
|
||
m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
m.mld_melding_onderwerp,
|
||
ms.mld_statuses_omschrijving,
|
||
m.mld_melding_behandelaar_key,
|
||
sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving
|
||
FROM mld_melding m, mld_statuses ms, mld_stdmelding sm
|
||
WHERE --m.mld_workflowstep_key IS NOT NULL -- Beschouw alleen WF-stappen
|
||
m.mld_melding_start_key IS NOT NULL -- Beschouw alleen VTW-stappen
|
||
AND m.mld_melding_status = ms.mld_statuses_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_melding
|
||
WHERE --mld_workflowstep_key IS NOT NULL -- Beschouw alleen WF-stappen
|
||
mld_melding_start_key IS NOT NULL -- Beschouw alleen VTW-stappen
|
||
AND mld_melding_start_key = m.mld_melding_start_key
|
||
AND mld_melding_key > m.mld_melding_key)) stap
|
||
ON x.mld_melding_key = stap.mld_melding_start_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding kko
|
||
ON stap.mld_melding_key = kko.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 441 -- Korte omschrijving
|
||
AND mld_kenmerk_key = kko.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding kvn
|
||
ON stap.mld_melding_key = kvn.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 453 -- VTW nummer
|
||
AND mld_kenmerk_key = kvn.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding plog
|
||
ON stap.mld_melding_key = plog.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 463 -- Projectleider OG
|
||
AND mld_kenmerk_key = plog.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding plpc
|
||
ON stap.mld_melding_key = plpc.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 462 -- Projectleider PC
|
||
AND mld_kenmerk_key = plpc.mld_kenmerk_key)
|
||
LEFT JOIN ( SELECT km.mld_melding_key,
|
||
LISTAGG (k.mld_kenmerk_omschrijving, ', ') WITHIN GROUP (ORDER BY k.mld_kenmerk_omschrijving)
|
||
gebruikers
|
||
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 66 -- Vinkje
|
||
AND k.mld_kenmerk_volgnummer IN (12, 14, 16, 18, 20, 22, 24, 26, 28)
|
||
GROUP BY km.mld_melding_key) g
|
||
ON stap.mld_melding_key = g.mld_melding_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding plpc
|
||
ON stap.mld_melding_key = plpc.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 462 -- Projectleider PC
|
||
AND mld_kenmerk_key = plpc.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding ovdo
|
||
ON stap.mld_melding_key = ovdo.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 454 -- Ontvangstdatum offerte
|
||
AND mld_kenmerk_key = ovdo.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding vvdo
|
||
ON stap.mld_melding_key = vvdo.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 455 -- Vervaldatum offerte
|
||
AND mld_kenmerk_key = vvdo.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding abk
|
||
ON stap.mld_melding_key = abk.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 456 -- Aanbiedingskosten
|
||
AND mld_kenmerk_key = abk.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding capex
|
||
ON stap.mld_melding_key = capex.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 457 -- Eenmalige investeringskosten (CAPEX)
|
||
AND mld_kenmerk_key = capex.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding opex
|
||
ON stap.mld_melding_key = opex.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 459 -- Maandelijkse exploitatiekosten (OPEX)
|
||
AND mld_kenmerk_key = opex.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding lcc
|
||
ON stap.mld_melding_key = lcc.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 458 -- Reservering vervangingskosten (LCC)
|
||
AND mld_kenmerk_key = lcc.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding adp
|
||
ON stap.mld_melding_key = adp.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 451 -- Aandachtspunten
|
||
AND mld_kenmerk_key = adp.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding opex
|
||
ON stap.mld_melding_key = opex.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 459 -- Maandelijkse exploitatiekosten (OPEX)
|
||
AND mld_kenmerk_key = opex.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding dvar
|
||
ON stap.mld_melding_key = dvar.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 481 -- Datum VTW aangevraagd door RVB
|
||
AND mld_kenmerk_key = dvar.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding dovp
|
||
ON stap.mld_melding_key = dovp.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 465 -- Datum opdracht verstrekt aan PC
|
||
AND mld_kenmerk_key = dovp.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding vud
|
||
ON stap.mld_melding_key = vud.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 466 -- Verwachte uitvoeringsdatum
|
||
AND mld_kenmerk_key = vud.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding dwbd
|
||
ON stap.mld_melding_key = dwbd.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 467 -- Daadwerkelijke beschikbaarheidsdatum
|
||
AND mld_kenmerk_key = dwbd.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding dvig
|
||
ON stap.mld_melding_key = dvig.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 468 -- Datum vroegtijdige ingebruikname
|
||
AND mld_kenmerk_key = dvig.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding dgrb
|
||
ON stap.mld_melding_key = dgrb.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 901 -- Datum gevraagd aan RVB om BS in te dienen
|
||
AND mld_kenmerk_key = dgrb.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding dpav
|
||
ON stap.mld_melding_key = dpav.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 902 -- Datum door PC verwachtte aanlevering VTW
|
||
AND mld_kenmerk_key = dpav.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding vatf
|
||
ON stap.mld_melding_key = vatf.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 903 -- Verwachte afronding toets FMH
|
||
AND mld_kenmerk_key = vatf.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding ibdk
|
||
ON stap.mld_melding_key = ibdk.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 904 -- Ingediend bij de klant op
|
||
AND mld_kenmerk_key = ibdk.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding vaaf
|
||
ON stap.mld_melding_key = vaaf.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 905 -- Verwachte afronding advies FMH
|
||
AND mld_kenmerk_key = vaaf.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding vsw
|
||
ON stap.mld_melding_key = vsw.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 906 -- Verwachte start werkzaamheden
|
||
AND mld_kenmerk_key = vsw.mld_kenmerk_key)
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding ost
|
||
ON stap.mld_melding_key = ost.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 907 -- OS tekst
|
||
AND mld_kenmerk_key = ost.mld_kenmerk_key)
|
||
LEFT JOIN (SELECT km.mld_melding_key, skm.mld_srtkenmerk_omschrijving
|
||
FROM mld_v_aanwezigkenmerkmelding km,
|
||
mld_kenmerk k,
|
||
mld_srtkenmerk skm
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1021 -- VTW ON HOLD
|
||
AND k.mld_srtkenmerk_key = skm.mld_srtkenmerk_key
|
||
GROUP BY km.mld_melding_key, skm.mld_srtkenmerk_omschrijving) onh
|
||
ON stap.mld_melding_key = onh.mld_melding_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_INCIDENTS
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST20',
|
||
NULL,
|
||
x.prs_perslid_key,
|
||
'Er is een nieuwe incidentmelding '
|
||
|| m.mld_melding_key
|
||
|| ' voor '
|
||
|| ld.alg_district_upper,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline d,
|
||
ins_srtdiscipline sd,
|
||
alg_locatie l,
|
||
alg_district ld,
|
||
(SELECT p.prs_perslid_key,
|
||
pk.prs_kenmerklink_waarde,
|
||
ud.fac_usrdata_upper
|
||
FROM prs_perslid p,
|
||
prs_kenmerklink pk,
|
||
fac_usrtab ut,
|
||
fac_usrdata ud
|
||
WHERE p.prs_perslid_key = pk.prs_link_key
|
||
AND pk.prs_kenmerklink_niveau = 'P'
|
||
AND pk.prs_kenmerk_key = 1060 -- persoonskenmerk 'Notificaties incidenten'
|
||
AND ut.fac_usrtab_key = 621 -- Eigen tabel 'LT Notify INC'
|
||
AND ut.fac_usrtab_key = ud.fac_usrtab_key
|
||
AND fac.safe_to_number (pk.prs_kenmerklink_waarde) =
|
||
ud.fac_usrdata_key) x
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key IN (27, 42, 143) --Vakgroeptypen betreffende incidentmeldingen
|
||
AND m.mld_melding_key NOT IN
|
||
(SELECT t.fac_tracking_refkey
|
||
FROM fac_tracking t
|
||
WHERE fac_tracking_oms LIKE '%CUST20%'
|
||
AND t.fac_tracking_refkey = m.mld_melding_key)
|
||
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'YYYYMMDD')) >
|
||
20220707 --Start van notificatie op 8 juli 2022
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = ld.alg_district_key
|
||
AND x.fac_usrdata_upper = ld.alg_district_upper(+)
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
'CUST20',
|
||
NULL,
|
||
x.prs_perslid_key,
|
||
'Er is een nieuwe incidentmelding '
|
||
|| m.mld_melding_key
|
||
|| ' voor '
|
||
|| ld.alg_district_upper,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline d,
|
||
ins_srtdiscipline sd,
|
||
alg_locatie l,
|
||
alg_district ld,
|
||
(SELECT p.prs_perslid_key,
|
||
pk.prs_kenmerklink_waarde,
|
||
ud.fac_usrdata_upper
|
||
FROM prs_perslid p,
|
||
prs_kenmerklink pk,
|
||
fac_usrtab ut,
|
||
fac_usrdata ud
|
||
WHERE p.prs_perslid_key = pk.prs_link_key
|
||
AND pk.prs_kenmerklink_niveau = 'P'
|
||
AND pk.prs_kenmerk_key = 1060 -- persoonskenmerk 'Notificaties incidenten'
|
||
AND ut.fac_usrtab_key = 621 -- Eigen tabel 'LT Notify INC'
|
||
AND ut.fac_usrtab_key = ud.fac_usrtab_key
|
||
AND fac.safe_to_number (pk.prs_kenmerklink_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_upper = 'ALLE LT') x
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key IN (27, 42, 143) --Vakgroeptypen betreffende incidentmeldingen
|
||
AND m.mld_melding_key NOT IN
|
||
(SELECT t.fac_tracking_refkey
|
||
FROM fac_tracking t
|
||
WHERE fac_tracking_oms LIKE '%CUST20%'
|
||
AND t.fac_tracking_refkey = m.mld_melding_key)
|
||
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'YYYYMMDD')) >
|
||
20220707 --Start van notificatie op 8 juli 2022
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = ld.alg_district_key;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_udr_melding
|
||
(
|
||
hide_f_sortering,
|
||
melding_key,
|
||
meldingnummer,
|
||
melding_start_key,
|
||
externnummer,
|
||
melding_regio,
|
||
melding_district,
|
||
melding_locatiecode,
|
||
melding_locatie,
|
||
melding_locatieplaats,
|
||
fclt_3d_locatie_key,
|
||
melding_gebouwcode,
|
||
melding_gebouw,
|
||
melding_verdieping,
|
||
melding_ruimtenr,
|
||
melding_ruimte,
|
||
melding_ordernr,
|
||
kostensoortgroep,
|
||
kostensoort,
|
||
kostenplaats,
|
||
kostenplaats_oms,
|
||
melder,
|
||
melder_key,
|
||
melder_email,
|
||
afdeling,
|
||
afdeling_omschrijving,
|
||
fclt_3d_afdeling_key,
|
||
divisie,
|
||
divisie_omschrijving,
|
||
fclt_3d_divisie_key,
|
||
bedrijf_key,
|
||
invoerder,
|
||
meldbron,
|
||
soortmelding,
|
||
fclt_3d_discipline_key,
|
||
productgroep,
|
||
subproductgroep,
|
||
behandelgroep,
|
||
behandelaar,
|
||
behandelaar_key,
|
||
subproductgroepgroep,
|
||
fclt_3d_discipline2_key,
|
||
actieve_behandelgroep,
|
||
actieve_behandelaar_key,
|
||
actieve_behandelaar,
|
||
melding_status,
|
||
sla_nvt,
|
||
sla_werkdgn,
|
||
sla_werkuren,
|
||
sla_respijtdgn,
|
||
sla_respijturen,
|
||
sla_accptdgn,
|
||
sla_accpturen,
|
||
plan_uitvoertijd_sla,
|
||
melding_datum,
|
||
melding_einddatum,
|
||
melding_einddatum_std,
|
||
melding_acceptdatum,
|
||
melding_afgemeld,
|
||
melding_accepted,
|
||
doorlooptijd_werkdgn,
|
||
doorlooptijd_werkuren,
|
||
onderwerp,
|
||
vomschrijving,
|
||
melding_opmerking,
|
||
prioriteit,
|
||
prioriteittxt,
|
||
rating,
|
||
rating_opmerking,
|
||
bolletje,
|
||
actiecode,
|
||
accept_sla_dagen,
|
||
accept_sla_uren,
|
||
uitvoering_sla_dagen,
|
||
uitvoering_sla_uren,
|
||
afspraak_sla_dagen,
|
||
afspraak_sla_uren,
|
||
accept_sla_optijd,
|
||
uitvoering_sla_optijd,
|
||
afspraak_sla_optijd,
|
||
selfservice
|
||
)
|
||
AS
|
||
SELECT melding_key AS sortering,
|
||
melding_key,
|
||
meldingnummer,
|
||
melding_start_key,
|
||
externnummer,
|
||
melding_regio,
|
||
melding_district,
|
||
melding_locatiecode,
|
||
melding_locatie,
|
||
melding_locatieplaats,
|
||
fclt_3d_locatie_key,
|
||
melding_gebouwcode,
|
||
melding_gebouw,
|
||
melding_verdieping,
|
||
melding_ruimtenr,
|
||
melding_ruimte,
|
||
melding_ordernr,
|
||
kostensoortgroep,
|
||
kostensoort,
|
||
kostenplaats,
|
||
kostenplaats_oms,
|
||
melder,
|
||
melder_key,
|
||
melder_email,
|
||
afdeling,
|
||
afdeling_omschrijving,
|
||
fclt_3d_afdeling_key,
|
||
divisie,
|
||
divisie_omschrijving,
|
||
fclt_3d_divisie_key,
|
||
bedrijf_key,
|
||
invoerder,
|
||
meldbron,
|
||
soortmelding,
|
||
fclt_3d_discipline_key,
|
||
productgroep,
|
||
subproductgroep,
|
||
behandelgroep,
|
||
behandelaar,
|
||
behandelaar_key,
|
||
subproductgroepgroep,
|
||
fclt_3d_discipline2_key,
|
||
actieve_behandelgroep,
|
||
actieve_behandelaar_key,
|
||
actieve_behandelaar,
|
||
melding_status,
|
||
sla_nvt,
|
||
sla_werkdgn,
|
||
sla_werkuren,
|
||
sla_respijtdgn,
|
||
sla_respijturen,
|
||
sla_accptdgn,
|
||
sla_accpturen,
|
||
plan_uitvoertijd_sla,
|
||
melding_datum,
|
||
melding_einddatum,
|
||
melding_einddatum_std,
|
||
melding_acceptdatum,
|
||
melding_afgemeld,
|
||
melding_accepted,
|
||
doorlooptijd_werkdgn,
|
||
doorlooptijd_werkuren,
|
||
onderwerp,
|
||
vomschrijving,
|
||
melding_opmerking,
|
||
prioriteit,
|
||
prioriteittxt,
|
||
rating,
|
||
rating_opmerking,
|
||
bolletje,
|
||
actiecode,
|
||
accept_sla_dagen,
|
||
accept_sla_uren,
|
||
uitvoering_sla_dagen,
|
||
uitvoering_sla_uren,
|
||
afspraak_sla_dagen,
|
||
afspraak_sla_uren,
|
||
accept_sla_optijd,
|
||
uitvoering_sla_optijd,
|
||
afspraak_sla_optijd,
|
||
selfservice
|
||
FROM mld_v_udr_melding
|
||
ORDER BY melding_key DESC;
|
||
|
||
|
||
CREATE OR REPLACE VIEW FMHN_v_Catering2NPQ_fout
|
||
(
|
||
res_rsv_ruimte_key,
|
||
res_reservering_key,
|
||
res_reservering_volgnr,
|
||
res_aanmaakdatum,
|
||
last_upd,
|
||
last_export,
|
||
verw_datum,
|
||
ruimte_nr,
|
||
van,
|
||
tot,
|
||
omschrijving,
|
||
fo_status
|
||
)
|
||
AS
|
||
SELECT DISTINCT(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak aanmk_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%') last_upd,
|
||
rrr.res_rsv_ruimte_externsyncdate last_export,
|
||
rrr.res_rsv_ruimte_verwijder verw_datum,
|
||
COALESCE(rer.res_ruimte_friendlyname,alg.alg_ruimte_nr) ruimte_nr,
|
||
rrr.RES_RSV_RUIMTE_VAN datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving oms,
|
||
rrr.res_status_fo_key fo_status
|
||
FROM res_rsv_ruimte rrr,
|
||
res_rsv_artikel rra,
|
||
res_ruimte_opstelling rop,
|
||
res_opstelling ros,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg
|
||
WHERE rrr.res_status_bo_key = 2
|
||
--AND rrr.res_status_fo_key = 2
|
||
--AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND ros.res_opstelling_key = rop.res_opstelling_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key= 18
|
||
AND rra.res_rsv_ruimte_key=rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key NOT IN (select fac_tracking_refkey from fac_tracking where fac_tracking_oms like '%rtikel is succesvol verstuurd%');
|
||
|
||
|
||
--FMHN#74481 Evaluatieformulier One2Ten vanuit evenementreservering
|
||
-- Uitgangspunten:
|
||
-- Gekoppeld aan de ruimte reservering obv activiteit Evenementen (alle catalogi/locaties, ook RS8). Of moet dit anders/beperkter?
|
||
-- Vast te leggen met RESBOF rechten
|
||
-- Notificatie gaat naar 'Bestemd voor'
|
||
-- Kenmerk (vinkje) met omschrijving 'Evaluatieformulier versturen', deze moet uiterlijk op de dag van het evenement worden aangezet.
|
||
-- Notificatie volgt daags na evenement (of nog een dag later indien notificatie onverhoopt zou falen).
|
||
-- Desgewenst kan ik het beschikbaar maken om enkele evenementen met twk te notificeren bij de eerste run. Dan maak ik het kenmerk alvast beschikbaar (en kan het bij evenementen aangevinkt worden) en kan dan gevuld worden door het evenemententeam en dan zet ik pas op 21 oktober de notificatiejob in Facilitor.
|
||
-- Bij meerdaagse evenementen (herhaal-reserveringen, met reserveringsvolgnummer > 1) kunnen meerdere evaluaties uitgevraagd worden, indien bij meerdere het vinkje aan staat.
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_EVENTEVALUATIE
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
ATTACHMENTS,
|
||
XSENDER,
|
||
PRS_BEDRIJFADRES_KEY
|
||
)
|
||
AS
|
||
SELECT 'CUST22',
|
||
NULL,
|
||
rsvr.res_rsv_ruimte_host_key,
|
||
'Feedback evenement FMHaaglanden',
|
||
res.res_reservering_key,
|
||
rsvr.res_rsv_ruimte_key,
|
||
NULL xemail,
|
||
NULL xmobile,
|
||
541 fac_srtnotificatie_key, --CUST22
|
||
NULL attachments,
|
||
'fmhevenementen@one2ten.com' xsender,
|
||
NULL prs_bedrijfadres_key
|
||
FROM res_v_aanwezigreservering res,
|
||
res_v_aanwezigrsv_ruimte rsvr,
|
||
res_ruimte_opstelling opst,
|
||
res_ruimte r,
|
||
res_kenmerkwaarde rkw
|
||
WHERE res.res_reservering_key = rsvr.res_reservering_key
|
||
AND opst.res_ruimte_opstel_key = rsvr.res_ruimte_opstel_key
|
||
AND opst.res_ruimte_key = r.res_ruimte_key
|
||
AND rkw.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
|
||
AND rkw.res_kenmerk_key = 801 -- Kenmerk Evaluatieformulier versturen
|
||
AND rkw.res_kenmerkreservering_waarde = 1 -- vinkje aan
|
||
AND rkw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND rsvr.res_status_fo_key NOT IN (3, 4) --Niet geblokkeerd of vervallen
|
||
AND rsvr.res_activiteit_key = 30 -- Evenement
|
||
AND ( rsvr.res_rsv_ruimte_van > (SELECT fac_notificatie_job_lastrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (
|
||
fac_notificatie_job_view) =
|
||
'FMHN_V_NOTI_EVENTEVALUATIE')
|
||
OR (SELECT fac_notificatie_job_lastrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'FMHN_V_NOTI_EVENTEVALUATIE')
|
||
IS NULL);
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_RESREMINDER
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
ATTACHMENTS,
|
||
XSENDER,
|
||
PRS_BEDRIJFADRES_KEY
|
||
)
|
||
AS
|
||
SELECT 'RESINF',
|
||
NULL,
|
||
rsvr.res_rsv_ruimte_contact_key,
|
||
'Reservering '
|
||
|| res.res_reservering_key
|
||
|| ': U heeft op '
|
||
|| TO_CHAR (rsvr.res_rsv_ruimte_van, 'DD-MM')
|
||
|| ' van '
|
||
|| TO_CHAR (rsvr.res_rsv_ruimte_van, 'HH24:MI')
|
||
|| ' tot '
|
||
|| TO_CHAR (rsvr.res_rsv_ruimte_tot, 'HH24:MI')
|
||
|| ' ruimte '
|
||
|| r.res_ruimte_nr
|
||
|| ' gereserveerd - '
|
||
|| rsvr.res_rsv_ruimte_omschrijving,
|
||
res.res_reservering_key,
|
||
rsvr.res_rsv_ruimte_key,
|
||
NULL
|
||
xemail,
|
||
NULL
|
||
xmobile,
|
||
NULL
|
||
fac_srtnotificatie_key,
|
||
NULL
|
||
attachments,
|
||
NULL
|
||
xsender,
|
||
NULL
|
||
prs_bedrijfadres_key
|
||
FROM res_v_aanwezigreservering res,
|
||
res_v_aanwezigrsv_ruimte rsvr,
|
||
res_ruimte_opstelling opst,
|
||
res_disc_params rdp,
|
||
res_ruimte r
|
||
WHERE r.res_discipline_key = rdp.res_ins_discipline_key
|
||
AND rdp.res_disc_params_noti_dagen IS NOT NULL
|
||
AND res.res_reservering_key = rsvr.res_reservering_key
|
||
AND opst.res_ruimte_opstel_key = rsvr.res_ruimte_opstel_key
|
||
AND opst.res_ruimte_key = r.res_ruimte_key
|
||
AND rsvr.res_status_fo_key <= 5
|
||
AND rsvr.res_rsv_ruimte_van BETWEEN fac.datumtijdplusuitvoertijd (
|
||
SYSDATE,
|
||
res_disc_params_noti_dagen,
|
||
'DAGEN')
|
||
AND fac.datumtijdplusuitvoertijd (
|
||
SYSDATE,
|
||
res_disc_params_noti_dagen
|
||
+ 1,
|
||
'DAGEN')
|
||
AND fac.getweekdaynum (SYSDATE) NOT IN (1, 7)
|
||
AND rsvr.res_rsv_ruimte_van >= SYSDATE
|
||
AND rsvr.res_activiteit_key NOT IN (30) --Activiteit 30 = Evenement
|
||
UNION ALL
|
||
SELECT 'RESINF',
|
||
NULL,
|
||
res_rsv_ruimte_contact_key,
|
||
'Reservering '
|
||
|| res_reservering_key
|
||
|| ': U heeft op '
|
||
|| TO_CHAR (MIN (van), 'dd-mm')
|
||
|| DECODE (
|
||
MIN (van),
|
||
MAX (tot), ' om ' || TO_CHAR (MIN (van), 'hh24:mi'),
|
||
' van '
|
||
|| TO_CHAR (MIN (van), 'hh24:mi')
|
||
|| ' tot '
|
||
|| TO_CHAR (MAX (tot), 'hh24:mi'))
|
||
|| ' in ruimte ('
|
||
|| (SELECT alg_gebouw_code
|
||
|| '-'
|
||
|| alg_verdieping_code
|
||
|| '-'
|
||
|| alg_ruimte_nr
|
||
FROM alg_v_onroerendgoed_gegevens arg
|
||
WHERE arg.alg_ruimte_key = ruimte_key)
|
||
|| ') '
|
||
|| COUNT (res_reservering_key)
|
||
|| ' voorziening(en) gereserveerd.',
|
||
res_reservering_key,
|
||
res_rsv_ruimte_key,
|
||
NULL
|
||
xemail,
|
||
NULL
|
||
xmobile,
|
||
NULL
|
||
fac_srtnotificatie_key,
|
||
NULL
|
||
attachments,
|
||
NULL
|
||
xsender,
|
||
NULL
|
||
prs_bedrijfadres_key
|
||
FROM (SELECT rsvr.res_rsv_ruimte_contact_key,
|
||
res.res_reservering_key,
|
||
rsvd.res_rsv_deel_van van,
|
||
rsvd.res_rsv_deel_tot tot,
|
||
rsvr.res_rsv_ruimte_key,
|
||
rsvr.alg_ruimte_key ruimte_key
|
||
FROM res_v_aanwezigreservering res,
|
||
res_v_aanwezigrsv_ruimte rsvr,
|
||
res_disc_params rdp,
|
||
res_rsv_deel rsvd,
|
||
res_deel rd
|
||
WHERE rsvd.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
|
||
AND rd.res_deel_key = rsvd.res_deel_key
|
||
AND rd.res_discipline_key = rdp.res_ins_discipline_key
|
||
AND rdp.res_disc_params_noti_dagen IS NOT NULL
|
||
AND res.res_reservering_key = rsvr.res_reservering_key
|
||
AND rsvr.res_ruimte_opstel_key IS NULL
|
||
AND rsvr.res_status_fo_key <= 5
|
||
AND rsvd.res_rsv_deel_verwijder IS NULL
|
||
AND rsvd.res_rsv_deel_van BETWEEN fac.datumtijdplusuitvoertijd (
|
||
SYSDATE,
|
||
res_disc_params_noti_dagen,
|
||
'DAGEN')
|
||
AND fac.datumtijdplusuitvoertijd (
|
||
SYSDATE,
|
||
res_disc_params_noti_dagen
|
||
+ 1,
|
||
'DAGEN')
|
||
AND fac.getweekdaynum (SYSDATE) NOT IN (1, 7)
|
||
AND rsvd.res_rsv_deel_van >= SYSDATE
|
||
AND rsvr.res_activiteit_key NOT IN (30) --Activiteit 30 = Evenement
|
||
UNION ALL
|
||
SELECT rsvr.res_rsv_ruimte_contact_key,
|
||
res.res_reservering_key,
|
||
rsva.res_rsv_artikel_levering van,
|
||
rsva.res_rsv_artikel_levering tot,
|
||
rsvr.res_rsv_ruimte_key,
|
||
rsvr.alg_ruimte_key ruimte_key
|
||
FROM res_v_aanwezigreservering res,
|
||
res_v_aanwezigrsv_ruimte rsvr,
|
||
res_disc_params rdp,
|
||
res_rsv_artikel rsva,
|
||
res_artikel ra
|
||
WHERE rsva.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
|
||
AND ra.res_discipline_key = rdp.res_ins_discipline_key
|
||
AND rsva.res_artikel_key = ra.res_artikel_key
|
||
AND rdp.res_disc_params_noti_dagen IS NOT NULL
|
||
AND res.res_reservering_key = rsvr.res_reservering_key
|
||
AND rsvr.res_ruimte_opstel_key IS NULL
|
||
AND rsvr.res_status_fo_key <= 5
|
||
AND rsva.res_rsv_artikel_verwijder IS NULL
|
||
AND rsva.res_rsv_artikel_levering BETWEEN fac.datumtijdplusuitvoertijd (
|
||
SYSDATE,
|
||
res_disc_params_noti_dagen,
|
||
'DAGEN')
|
||
AND fac.datumtijdplusuitvoertijd (
|
||
SYSDATE,
|
||
res_disc_params_noti_dagen
|
||
+ 1,
|
||
'DAGEN')
|
||
AND fac.getweekdaynum (SYSDATE) NOT IN (1, 7)
|
||
AND rsva.res_rsv_artikel_levering >= SYSDATE
|
||
AND rsvr.res_activiteit_key NOT IN (30) --Activiteit 30 = Evenement
|
||
)
|
||
GROUP BY res_rsv_ruimte_contact_key,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_key,
|
||
ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_EVENT_ACCREJ
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT 'CUST23',
|
||
NULL,
|
||
m.prs_perslid_key,
|
||
'Evenement (aanvraag) ' || m.mld_melding_key || ' is geaccepteerd',
|
||
m.mld_melding_key,
|
||
NULL
|
||
xkey,
|
||
NULL
|
||
xsender,
|
||
NULL
|
||
xemail,
|
||
NULL
|
||
xmobile,
|
||
NULL
|
||
attachments
|
||
FROM mld_melding m, fac_tracking t, fac_notificatie_job nj
|
||
WHERE m.mld_stdmelding_key = 25 -- Aanvraag evenement
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_EVENT_ACCREJ'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND t.fac_srtnotificatie_key = 44 -- MLDACP
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 561 -- CUST23
|
||
AND fac_tracking_refkey = m.mld_melding_key)
|
||
UNION ALL
|
||
SELECT 'CUST23',
|
||
NULL,
|
||
m.prs_perslid_key,
|
||
'Evenement (aanvraag) ' || m.mld_melding_key || ' is afgewezen',
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
NULL xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM mld_melding m, fac_tracking t, fac_notificatie_job nj
|
||
WHERE m.mld_stdmelding_key = 25 -- Aanvraag evenement
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_EVENT_ACCREJ'
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND t.fac_srtnotificatie_key = 52 -- MLDREJ
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 561 -- CUST23
|
||
AND fac_tracking_refkey = m.mld_melding_key);
|
||
|
||
--FMHN#72721 Monitoring koppelingen
|
||
CREATE OR REPLACE VIEW FMHN_V_MONITOR_NPQ
|
||
(
|
||
RES_RSV_RUIMTE_KEY,
|
||
RESERVERING,
|
||
RES_RESERVERING_VOLGNR,
|
||
RES_AANMAAKDATUM,
|
||
LAST_UPDATE,
|
||
LAST_EXPORT,
|
||
VERWIJDER_DATUM,
|
||
RUIMTE_NR,
|
||
VAN,
|
||
TOT,
|
||
OMSCHRIJVING,
|
||
FO_STATUS,
|
||
BO_STATUS,
|
||
PLANONNR,
|
||
PC_ZAAL_NR,
|
||
ARTIKEL
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key
|
||
reservering,
|
||
rrr.res_rsv_ruimte_volgnr
|
||
volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak
|
||
aanmaak_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%')
|
||
last_update,
|
||
rrr.res_rsv_ruimte_externsyncdate
|
||
last_export,
|
||
rrr.res_rsv_ruimte_verwijder
|
||
verwijder_datum,
|
||
COALESCE (rer.res_ruimte_friendlyname, alg.alg_ruimte_nr)
|
||
ruimte_nr,
|
||
rrr.RES_RSV_RUIMTE_VAN
|
||
datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT
|
||
datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving
|
||
omschrijving,
|
||
rfo.res_status_fo_omschrijving
|
||
fo_status,
|
||
rbo.res_status_bo_omschrijving
|
||
bo_status,
|
||
(SELECT MIN (rkm.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde rkm, res_kenmerk km
|
||
WHERE km.res_srtkenmerk_key = 21 -- Kenmerksoort Referentie
|
||
AND rkm.res_kenmerk_key = km.res_kenmerk_key
|
||
AND rrr.res_rsv_ruimte_key = rkm.res_rsv_ruimte_key
|
||
AND rkm.res_kenmerkwaarde_verwijder IS NULL)
|
||
AS planonnr,
|
||
(SELECT MIN (rkm.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde rkm, res_kenmerk km
|
||
WHERE km.res_srtkenmerk_key = 61 -- Kenmerksoort PC_Nr_zaal
|
||
AND rkm.res_kenmerk_key = km.res_kenmerk_key
|
||
AND rrr.res_rsv_ruimte_key = rkm.res_rsv_ruimte_key
|
||
AND rkm.res_kenmerkwaarde_verwijder IS NULL)
|
||
AS PC_Nr_zaal,
|
||
ra.res_artikel_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_rsv_artikel rra,
|
||
res_ruimte_opstelling rop,
|
||
res_opstelling ros,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
res_artikel ra,
|
||
res_status_bo rbo,
|
||
res_status_fo rfo
|
||
WHERE rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND ros.res_opstelling_key = rop.res_opstelling_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key = 18
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_status_fo_key = rfo.res_status_fo_key
|
||
AND rrr.res_status_bo_key = rbo.res_status_bo_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
(rrr.res_rsv_ruimte_key),
|
||
rrr.res_reservering_key
|
||
reservering,
|
||
rrr.res_rsv_ruimte_volgnr
|
||
volgnr,
|
||
rrr.res_rsv_ruimte_aanmaak
|
||
aanmaak_datum,
|
||
(SELECT MAX (fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 108
|
||
AND prs_perslid_key <> 44 -- mutaties via de API call door NPQ willen we niet zien
|
||
AND UPPER (COALESCE (fac_tracking_oms, ' ')) NOT LIKE -- tracking die toegevoegd is bij de export naar NPQ willen we niet zien
|
||
'PC:%')
|
||
last_update,
|
||
rrr.res_rsv_ruimte_externsyncdate
|
||
last_export,
|
||
rrr.res_rsv_ruimte_verwijder
|
||
verwijder_datum,
|
||
COALESCE (rer.res_ruimte_friendlyname, alg.alg_ruimte_nr)
|
||
ruimte_nr,
|
||
rrr.RES_RSV_RUIMTE_VAN
|
||
datum_van,
|
||
rrr.RES_RSV_RUIMTE_TOT
|
||
datum_tot,
|
||
rrr.res_rsv_ruimte_omschrijving
|
||
omschrijving,
|
||
rfo.res_status_fo_omschrijving
|
||
fo_status,
|
||
rbo.res_status_bo_omschrijving
|
||
bo_status,
|
||
(SELECT MIN (rkm.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde rkm, res_kenmerk km
|
||
WHERE km.res_srtkenmerk_key = 21 -- Kenmerksoort Referentie
|
||
AND rkm.res_kenmerk_key = km.res_kenmerk_key
|
||
AND rrr.res_rsv_ruimte_key = rkm.res_rsv_ruimte_key
|
||
AND rkm.res_kenmerkwaarde_verwijder IS NULL)
|
||
AS planonnr,
|
||
(SELECT MIN (rkm.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde rkm, res_kenmerk km
|
||
WHERE km.res_srtkenmerk_key = 61 -- Kenmerksoort PC_Nr_zaal
|
||
AND rkm.res_kenmerk_key = km.res_kenmerk_key
|
||
AND rrr.res_rsv_ruimte_key = rkm.res_rsv_ruimte_key
|
||
AND rkm.res_kenmerkwaarde_verwijder IS NULL)
|
||
AS PC_Nr_zaal,
|
||
NULL
|
||
AS artikel
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rop,
|
||
res_opstelling ros,
|
||
res_ruimte rer,
|
||
res_alg_ruimte rarm,
|
||
alg_v_ruimte_gegevens_all alg,
|
||
res_status_bo rbo,
|
||
res_status_fo rfo
|
||
WHERE rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||
AND ros.res_opstelling_key = rop.res_opstelling_key
|
||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||
AND alg.alg_locatie_key = 18
|
||
AND rrr.res_status_fo_key = rfo.res_status_fo_key
|
||
AND rrr.res_status_bo_key = rbo.res_status_bo_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_MLD_CISO
|
||
AS
|
||
SELECT m.mld_melding_key AS meldingnummer,
|
||
g.alg_gebouw_naam AS melding_gebouw,
|
||
p1.prs_perslid_naam_full AS melder,
|
||
a.prs_afdeling_omschrijving AS afdeling,
|
||
d.ins_discipline_omschrijving AS vakgroep,
|
||
sm.mld_stdmelding_omschrijving AS melding,
|
||
p2.prs_perslid_naam_full AS behandelaar,
|
||
m.mld_melding_datum AS melding_datumtijd,
|
||
ms.mld_statuses_omschrijving AS status,
|
||
TRUNC (m.mld_melding_datum) AS melding_datum,
|
||
m.mld_melding_omschrijving AS omschrijving
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline d,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
prs_v_perslid_fullnames p1,
|
||
prs_v_perslid_fullnames p2,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
mld_statuses ms
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = 42 -- Incidenten
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_key = g.alg_locatie_key
|
||
AND g.alg_gebouw_verwijder IS NULL
|
||
AND l.alg_locatie_verwijder IS NULL
|
||
AND m.prs_perslid_key = p1.prs_perslid_key
|
||
AND m.mld_melding_behandelaar_key = p2.prs_perslid_key(+)
|
||
AND p1.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND m.mld_melding_status = ms.mld_statuses_key
|
||
AND EXISTS
|
||
(SELECT kmm.mld_melding_key
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = 108 -- IB-issue
|
||
AND kmm.mld_kenmerkmelding_waarde = '21' -- Ja
|
||
AND kmm.mld_melding_key = m.mld_melding_key);
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_MLD_INCIDENTEN
|
||
AS
|
||
SELECT m.mld_melding_key
|
||
AS meldingnummer,
|
||
g.alg_gebouw_naam
|
||
AS melding_gebouw,
|
||
p1.prs_perslid_naam_full
|
||
AS melder,
|
||
a.prs_afdeling_omschrijving
|
||
AS afdeling,
|
||
d.ins_discipline_omschrijving
|
||
AS vakgroep,
|
||
sm.mld_stdmelding_omschrijving
|
||
AS melding,
|
||
p2.prs_perslid_naam_full
|
||
AS behandelaar,
|
||
m.mld_melding_datum
|
||
AS melding_datumtijd,
|
||
ms.mld_statuses_omschrijving
|
||
AS status,
|
||
TRUNC (m.mld_melding_datum)
|
||
AS melding_datum,
|
||
m.mld_melding_omschrijving
|
||
AS omschrijving,
|
||
COALESCE((SELECT DISTINCT (ud.fac_usrdata_omschr)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm, fac_usrdata ud
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND km.mld_srtkenmerk_key = 108 --Kenmerksoort IB-issue
|
||
AND ud.fac_usrtab_key = 2 -- Enkel waarden uit eigen tabel 'Ja/Nee'
|
||
AND mld_kenmerkmelding_verwijder IS NULL), 'Onbekend')
|
||
AS IB_issue,
|
||
(SELECT DISTINCT (ud.fac_usrdata_omschr)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm, fac_usrdata ud
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND km.mld_kenmerk_volgnummer = 21
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS hulpdiensten_betrokken,
|
||
(SELECT DISTINCT (ud.fac_usrdata_omschr)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm, fac_usrdata ud
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND km.mld_kenmerk_volgnummer = 22
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS hulpdiensten,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_volgnummer = 23
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS overige_hulpdiensten_politie,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_volgnummer = 24
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS overige_hulpdiensten_brandweer,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_volgnummer = 25
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS overige_hulpdiensten_ambulance,
|
||
(SELECT DISTINCT (ud.fac_usrdata_omschr)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm, fac_usrdata ud
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND km.mld_kenmerk_volgnummer = 32
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS slachtoffers,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_volgnummer = 52
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS naam_mogelijke_betrokkene,
|
||
(SELECT DISTINCT (ud.fac_usrdata_omschr)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm, fac_usrdata ud
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND km.mld_kenmerk_volgnummer = 61
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS camerabeelden_veilig,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_volgnummer = 62
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS bijzonderheden,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_volgnummer = 63
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS datum_incident,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_volgnummer = 64
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS tijd_incident,
|
||
(SELECT DISTINCT (mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerk km, mld_kenmerkmelding kmm
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_volgnummer = 65
|
||
AND mld_kenmerkmelding_verwijder IS NULL)
|
||
AS locatie_in_gebouw,
|
||
( SELECT LISTAGG (
|
||
TO_CHAR (mn.mld_melding_note_aanmaak,
|
||
'YYYY-MM-DD - HH24:MI')
|
||
|| ': '
|
||
|| mn.mld_melding_note_omschrijving,
|
||
'; ' || CHR (10)
|
||
ON OVERFLOW TRUNCATE)
|
||
WITHIN GROUP (ORDER BY mn.mld_melding_key DESC) AS notities
|
||
FROM mld_melding_note mn
|
||
WHERE mn.mld_melding_key = m.mld_melding_key
|
||
GROUP BY mn.mld_melding_key)
|
||
AS notities
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline d,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
prs_v_perslid_fullnames p1,
|
||
prs_v_perslid_fullnames p2,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
mld_statuses ms
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = 42 -- Incidenten
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_key = g.alg_locatie_key
|
||
AND g.alg_gebouw_verwijder IS NULL
|
||
AND l.alg_locatie_verwijder IS NULL
|
||
AND m.prs_perslid_key = p1.prs_perslid_key
|
||
AND m.mld_melding_behandelaar_key = p2.prs_perslid_key(+)
|
||
AND p1.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND m.mld_melding_status = ms.mld_statuses_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_GROEPLEDEN
|
||
(
|
||
NAAM,
|
||
FCLT_F_LOGIN,
|
||
FCLT_F_GROEP,
|
||
EMAIL,
|
||
DEPARTEMENT_AFDELING,
|
||
FUNCTIE,
|
||
DATUM_LAATST_INGELOGD,
|
||
BEGINDATUM,
|
||
EINDDATUM,
|
||
AANTAL_RECHTEN
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_naam,
|
||
p.prs_perslid_oslogin,
|
||
gr.fac_groep_omschrijving,
|
||
p.prs_perslid_email,
|
||
substr(a.pad,6),
|
||
sp.prs_srtperslid_omschrijving,
|
||
p.prs_perslid_login,
|
||
p.prs_perslid_ingangsdatum,
|
||
p.prs_perslid_einddatum,
|
||
TO_CHAR (COUNT (*))
|
||
FROM fac_gebruikersgroep gg,
|
||
prs_v_aanwezigperslid p,
|
||
fac_groep gr,
|
||
fac_groeprechten grr,
|
||
prs_srtperslid sp,
|
||
fmhn_v_idm_afdeling a
|
||
WHERE p.prs_perslid_key = gg.prs_perslid_key
|
||
AND gg.fac_groep_key = gr.fac_groep_key
|
||
AND gr.fac_groep_key = grr.fac_groep_key
|
||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY p.prs_perslid_naam,
|
||
p.prs_perslid_oslogin,
|
||
gr.fac_groep_omschrijving,
|
||
p.prs_perslid_email,
|
||
sp.prs_srtperslid_omschrijving,
|
||
a.pad,
|
||
p.prs_perslid_login,
|
||
p.prs_perslid_ingangsdatum,
|
||
p.prs_perslid_einddatum;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_GROEPRECHTEN
|
||
(
|
||
NAAM,
|
||
FCLT_F_LOGIN,
|
||
EMAIL,
|
||
LAST_LOGIN,
|
||
FCLT_F_MODULE,
|
||
FCLT_F_FUNCODE,
|
||
FCLT_F_FUNCTIE,
|
||
FCLT_F_ASPECT,
|
||
FCLT_F_GROEP,
|
||
ORGLEVELREAD,
|
||
ORGLEVELWRITE,
|
||
ALGLEVELREAD,
|
||
ALGLEVELWRITE,
|
||
DEPARTEMENT_AFDELING,
|
||
FUNCTIE,
|
||
DATUM_LAATST_INGELOGD,
|
||
BEGINDATUM,
|
||
EINDDATUM
|
||
)
|
||
AS
|
||
SELECT -- GROEPEN MET DISCIPLINES
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_oslogin,
|
||
p.prs_perslid_email,
|
||
p.prs_perslid_login,
|
||
f.fac_functie_module,
|
||
f.fac_functie_code,
|
||
COALESCE (fac_locale_xsl_cust,
|
||
fac_locale_xsl_tekst,
|
||
f.fac_functie_omschrijving),
|
||
DECODE (
|
||
a.ins_discipline_module,
|
||
'BES', lcl.l ('bes_discipline') || ' ',
|
||
'CHT', lcl.l ('cht_discipline') || ' ',
|
||
'CNT', lcl.l ('cnt_discipline') || ' ',
|
||
'CTR', lcl.l ('ctr_discipline') || ' ',
|
||
'FAQ', lcl.l ('faq_discipline') || ' ',
|
||
'INS', lcl.l ('ins_discipline') || ' ',
|
||
'MLD', lcl.l ('mld_discipline')
|
||
|| (CASE
|
||
WHEN ins_srtdiscipline_prefix IS NULL
|
||
THEN
|
||
''
|
||
ELSE
|
||
' ' || ins_srtdiscipline_prefix || '-'
|
||
END),
|
||
'RES', lcl.l ('res_discipline') || ' ',
|
||
ins_discipline_module || ' ')
|
||
|| ins_discipline_omschrijving
|
||
omschrijving,
|
||
gr.fac_groep_omschrijving,
|
||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
|
||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
|
||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
|
||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG'),
|
||
SUBSTR (afd.pad, 6),
|
||
sp.prs_srtperslid_omschrijving,
|
||
p.prs_perslid_login,
|
||
p.prs_perslid_ingangsdatum,
|
||
p.prs_perslid_einddatum
|
||
FROM fac_groeprechten g,
|
||
fac_gebruikersgroep gg,
|
||
prs_v_aanwezigperslid p,
|
||
prs_srtperslid sp,
|
||
fac_functie f,
|
||
ins_srtdiscipline isd,
|
||
ins_tab_discipline a,
|
||
fac_groep gr,
|
||
fac_locale_xsl flx,
|
||
fmhn_v_idm_afdeling afd
|
||
WHERE g.ins_discipline_key = a.ins_discipline_key
|
||
AND g.fac_groep_key = gr.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND gg.fac_groep_key = gr.fac_groep_key
|
||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||
AND isd.ins_srtdiscipline_key(+) = a.ins_srtdiscipline_key
|
||
AND f.fac_functie_key = g.fac_functie_key
|
||
AND f.fac_functie_discipline = 1
|
||
AND ins_discipline_verwijder IS NULL
|
||
AND p.prs_afdeling_key = afd.prs_afdeling_key
|
||
AND flx.fac_locale_xsl_label(+) = f.fac_functie_omschrijving
|
||
AND flx.fac_locale_xsl_lang(+) = 'NL'
|
||
AND flx.fac_locale_xsl_module(+) = 'ASP'
|
||
UNION ALL -- GROEPEN ZONDER DISCIPLINES
|
||
SELECT p.prs_perslid_naam,
|
||
p.prs_perslid_oslogin,
|
||
prs_perslid_email,
|
||
prs_perslid_login,
|
||
f.fac_functie_module,
|
||
f.fac_functie_code,
|
||
COALESCE (fac_locale_xsl_cust,
|
||
fac_locale_xsl_tekst,
|
||
f.fac_functie_omschrijving),
|
||
NULL
|
||
omschrijving,
|
||
gr.fac_groep_omschrijving,
|
||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
|
||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
|
||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
|
||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG'),
|
||
SUBSTR (afd.pad, 6),
|
||
sp.prs_srtperslid_omschrijving,
|
||
p.prs_perslid_login,
|
||
p.prs_perslid_ingangsdatum,
|
||
p.prs_perslid_einddatum
|
||
FROM fac_groeprechten g,
|
||
fac_functie f,
|
||
fac_gebruikersgroep gg,
|
||
prs_v_aanwezigperslid p,
|
||
prs_srtperslid sp,
|
||
fac_groep gr,
|
||
fac_locale_xsl flx, -- lcl.l gebruik was extreem traag dus maar hardcoded
|
||
fmhn_v_idm_afdeling afd
|
||
WHERE fac_functie_discipline = 0
|
||
AND g.fac_functie_key = f.fac_functie_key
|
||
AND g.fac_groep_key = gg.fac_groep_key
|
||
AND gg.fac_groep_key = gr.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||
AND p.prs_afdeling_key = afd.prs_afdeling_key
|
||
AND flx.fac_locale_xsl_label(+) = f.fac_functie_omschrijving
|
||
AND flx.fac_locale_xsl_lang(+) = 'NL'
|
||
AND flx.fac_locale_xsl_module(+) = 'ASP';
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_LABEL_DEEL_RES_DATUM
|
||
(
|
||
FCLT_F_DATUM,
|
||
INS_DEEL_KEY,
|
||
RES_DEEL_OMSCHRIJVING,
|
||
WAARDE1,
|
||
WAARDE,
|
||
WAARDE3,
|
||
WAARDE_HTML,
|
||
WAARDE_HTML2,
|
||
TOOLTIP
|
||
)
|
||
AS
|
||
WITH
|
||
datums
|
||
AS
|
||
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <= 42)
|
||
SELECT datums.datum
|
||
fclt_f_datum,
|
||
isd.res_ins_deel_key
|
||
ins_deel_key,
|
||
res_deel_omschrijving,
|
||
CHR (10)
|
||
|| LISTAGG (
|
||
DECODE (
|
||
naam,
|
||
NULL, '',
|
||
'[s40]'
|
||
|| naam
|
||
|| ' ('
|
||
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|
||
|| '-'
|
||
|| 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 (naam,
|
||
NULL, '',
|
||
'[s40]' || TO_CHAR (res_rsv_deel_van, 'HH24:MI') || ' ' || naam),
|
||
CHR (10))
|
||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||
waarde2,
|
||
CHR (10)
|
||
|| LISTAGG (DECODE (naam, NULL, '', '[s40]' || naam), CHR (10))
|
||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||
waarde3,
|
||
LISTAGG (
|
||
DECODE (
|
||
naam,
|
||
NULL, '',
|
||
'<span class="body">'
|
||
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|
||
|| ' '
|
||
|| naam
|
||
|| '</span>'),
|
||
'<br>')
|
||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||
waarde_html,
|
||
LISTAGG (DECODE (naam, NULL, '', '<span class="body">' || naam || '</span>'), '<br>')
|
||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||
waarde_html2,
|
||
res_deel_opmerking
|
||
FROM res_v_aanwezigdeel isd,
|
||
datums,
|
||
(SELECT datum,
|
||
res_ins_deel_key,
|
||
DECODE (p.prs_perslid_visibility,
|
||
1, pf.prs_perslid_naam_friendly,
|
||
a.prs_afdeling_omschrijving)
|
||
naam,
|
||
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 pf,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
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 = pf.prs_perslid_key
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND datum + 1 >= res_rsv_deel_van
|
||
AND datum < res_rsv_deel_tot ) 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, res_deel_opmerking;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_dwh_gui_counter
|
||
(
|
||
key,
|
||
groep,
|
||
trefwoord,
|
||
zoekresultaat,
|
||
keuze,
|
||
datum,
|
||
jaar,
|
||
maand,
|
||
aantal
|
||
)
|
||
AS
|
||
SELECT fac_gui_counter_key,
|
||
fac_gui_counter_group,
|
||
fac_gui_counter_info,
|
||
fac_gui_counter_result,
|
||
fac_gui_counter_choice,
|
||
datum,
|
||
TO_NUMBER (TO_CHAR (datum, 'yyyy')) AS jaar,
|
||
TO_NUMBER (TO_CHAR (datum, 'MM')) AS maand,
|
||
COUNT
|
||
FROM (SELECT fgc.fac_gui_counter_key,
|
||
fgc.fac_gui_counter_group,
|
||
fgc.fac_gui_counter_info,
|
||
fgc.fac_gui_counter_refkey,
|
||
choice.fac_gui_counter_info fac_gui_counter_choice,
|
||
result.fac_gui_counter_info fac_gui_counter_result,
|
||
TRUNC (fac_gui_counter_date) datum,
|
||
1 AS COUNT,
|
||
fgc.prs_perslid_key,
|
||
prs_perslid_naam_full,
|
||
pfu.prs_srtperslid_omschrijving
|
||
FROM fac_gui_counter fgc,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_perslid p,
|
||
prs_srtperslid pfu,
|
||
(SELECT fac_gui_counter_refkey, fac_gui_counter_info
|
||
FROM fac_gui_counter fgc
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchchoice') choice,
|
||
(SELECT fac_gui_counter_refkey, fac_gui_counter_info
|
||
FROM fac_gui_counter fgc
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchresult') result
|
||
WHERE fac_gui_counter_group = 'search'
|
||
AND fgc.fac_gui_counter_info IS NOT NULL
|
||
AND fgc.prs_perslid_key = pf.prs_perslid_key
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_srtperslid_key = pfu.prs_srtperslid_key
|
||
AND choice.fac_gui_counter_refkey(+) =
|
||
fgc.fac_gui_counter_key
|
||
AND result.fac_gui_counter_refkey(+) =
|
||
fgc.fac_gui_counter_key
|
||
UNION ALL
|
||
SELECT fgc.fac_gui_counter_key,
|
||
fgc.fac_gui_counter_group,
|
||
COALESCE (fac_menu_altlabel, lcl.l (fac_menuitems_label)),
|
||
fgc.fac_gui_counter_refkey,
|
||
NULL,
|
||
NULL,
|
||
TRUNC (fgc.fac_gui_counter_date) datum,
|
||
fgc.fac_gui_counter_count,
|
||
fgc.prs_perslid_key,
|
||
prs_perslid_naam_full,
|
||
pfu.prs_srtperslid_omschrijving
|
||
FROM fac_gui_counter fgc,
|
||
prs_v_perslid_fullnames pf,
|
||
fac_menu m,
|
||
fac_menuitems mi,
|
||
prs_perslid p,
|
||
prs_srtperslid pfu
|
||
WHERE fgc.fac_gui_counter_group = 'menu'
|
||
AND fgc.prs_perslid_key = pf.prs_perslid_key(+)
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_srtperslid_key = pfu.prs_srtperslid_key
|
||
AND m.fac_menu_key = fac_gui_counter_refkey
|
||
AND mi.fac_menuitems_key(+) = m.fac_menuitems_key
|
||
AND fgc.fac_gui_counter_refkey IN (461, 462, 10838));
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_INSOUT_TWS
|
||
(
|
||
discipline,
|
||
objectgroep,
|
||
objectsoort,
|
||
deel_key,
|
||
identificatie,
|
||
opmerking,
|
||
datum_inname,
|
||
jaar_inname,
|
||
maand_inname,
|
||
plaats,
|
||
datum_uitgifte,
|
||
jaar_uitgifte,
|
||
maand_uitgifte,
|
||
uitgegeven_aan,
|
||
afdeling,
|
||
kostenplaats,
|
||
kostendrager,
|
||
departement,
|
||
standplaats,
|
||
qr_code,
|
||
debiteur
|
||
)
|
||
AS
|
||
SELECT disc.ins_discipline_omschrijving,
|
||
sg.ins_srtgroep_omschrijving,
|
||
sd.ins_srtdeel_omschrijving,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
DECODE (ins_alg_ruimte_type,
|
||
'R', fac.gettrackingdate ('INSINN', d.ins_deel_key),
|
||
NULL)
|
||
AS datum_inname,
|
||
DECODE (
|
||
ins_alg_ruimte_type,
|
||
'R', TO_CHAR (fac.gettrackingdate ('INSINN', d.ins_deel_key),
|
||
'YYYY'),
|
||
NULL)
|
||
AS jaar_inname,
|
||
DECODE (
|
||
ins_alg_ruimte_type,
|
||
'R', TO_CHAR (fac.gettrackingdate ('INSINN', d.ins_deel_key),
|
||
'MM'),
|
||
NULL)
|
||
AS maand_inname,
|
||
DECODE (
|
||
ins_alg_ruimte_type,
|
||
'R', r.alg_plaatsaanduiding,
|
||
DECODE (r.alg_plaatsomschrijving,
|
||
NULL, NULL,
|
||
' (' || r.alg_plaatsomschrijving || ')'), NULL)
|
||
AS plaats,
|
||
DECODE (ins_alg_ruimte_type,
|
||
'P', fac.gettrackingdate ('INSOUT', d.ins_deel_key),
|
||
NULL)
|
||
AS datum_uitgifte,
|
||
DECODE (
|
||
ins_alg_ruimte_type,
|
||
'P', TO_CHAR (fac.gettrackingdate ('INSOUT', d.ins_deel_key),
|
||
'YYYY'),
|
||
NULL)
|
||
AS jaar_uitgifte,
|
||
DECODE (
|
||
ins_alg_ruimte_type,
|
||
'P', TO_CHAR (fac.gettrackingdate ('INSOUT', d.ins_deel_key),
|
||
'MM'),
|
||
NULL)
|
||
AS datum_uitgifte,
|
||
DECODE (ins_alg_ruimte_type, 'P', pf.prs_perslid_naam_full, NULL)
|
||
AS uitgegeven_aan,
|
||
DECODE (ins_alg_ruimte_type,
|
||
'P', a.prs_afdeling_omschrijving,
|
||
NULL)
|
||
AS afdeling,
|
||
DECODE (
|
||
ins_alg_ruimte_type,
|
||
'P', DECODE (
|
||
fa.mincode,
|
||
'01', (CASE
|
||
WHEN fa.idmlevel >= 7
|
||
THEN
|
||
REGEXP_SUBSTR (
|
||
fa.pad,
|
||
'^[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*')
|
||
ELSE
|
||
fa.pad
|
||
END),
|
||
fa.pad),
|
||
NULL)
|
||
AS kostenplaats,
|
||
kd.kostendrager_vervoer,
|
||
DECODE (ins_alg_ruimte_type, 'P', ud.fac_usrdata_omschr, NULL)
|
||
AS departement,
|
||
DECODE (ins_alg_ruimte_type, 'P', l.alg_gebouw_naam, NULL)
|
||
AS standplaats,
|
||
kmd1.ins_kenmerkdeel_waarde AS qr_code,
|
||
DECODE (ins_alg_ruimte_type, 'P', SUBSTR(a2d.debiteur,INSTR(a2d.debiteur, '/')+1), NULL)
|
||
AS debiteur
|
||
FROM ins_deel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline disc,
|
||
alg_v_allonrgoed_gegevens r,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_kostenplaats k,
|
||
prs_kenmerklink pkl,
|
||
fac_usrdata ud,
|
||
fmhn_v_rap_afd2debnr kd,
|
||
alg_v_allonrgoed_gegevens l,
|
||
ins_kenmerkdeel kmd1,
|
||
fmhn_v_rap_afd2debnr a2d,
|
||
fmhn_v_rap_idm_afdboom fa
|
||
WHERE d.ins_deel_verwijder IS NULL
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = disc.ins_discipline_key
|
||
AND sg.ins_srtgroep_key = 281 -- Objectgroep Bureaustoelen onder Meubilair
|
||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key(+)
|
||
AND d.ins_alg_ruimte_key = pf.prs_perslid_key(+)
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND p.prs_afdeling_key = a2d.prs_afdeling_key(+)
|
||
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||
AND a.prs_afdeling_key = pkl.prs_link_key(+)
|
||
AND pkl.prs_kenmerk_key = 1000 --Kenmerk Ministeriecode
|
||
AND pkl.prs_kenmerklink_waarde = ud.fac_usrdata_key
|
||
AND a.prs_afdeling_key = kd.prs_afdeling_key(+)
|
||
AND p.alg_onroerendgoed_keys = l.alg_onroerendgoed_keys(+)
|
||
AND d.ins_deel_key = kmd1.ins_deel_key(+)
|
||
AND kmd1.ins_kenmerk_key = 261 --Kenmerk QR code bij Meubilair
|
||
AND kmd1.ins_kenmerkdeel_verwijder IS NULL
|
||
AND fa.prs_afdeling_key = a2d.prs_afdeling_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_INSOUT_DIENSTFIETS
|
||
(
|
||
DISCIPLINE,
|
||
OBJECTGROEP,
|
||
OBJECTSOORT,
|
||
DEEL_KEY,
|
||
DIENSTFIETSNUMMER,
|
||
OPMERKING,
|
||
DATUM_INNAME,
|
||
TIJD_INNAME,
|
||
PLAATS,
|
||
DATUM_UITGIFTE,
|
||
TIJD_UITGIFTE,
|
||
UITGEGEVEN_AAN,
|
||
UITGEGEVEN_DOOR
|
||
)
|
||
AS
|
||
SELECT distinct disc.ins_discipline_omschrijving,
|
||
sg.ins_srtgroep_omschrijving,
|
||
sd.ins_srtdeel_omschrijving,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
DECODE (ins_alg_ruimte_type,
|
||
'R', fac.gettrackingdate ('INSINN', d.ins_deel_key),
|
||
NULL)
|
||
AS datum_inname,
|
||
DECODE (ins_alg_ruimte_type,
|
||
'R', fac.gettrackingdate ('INSINN', d.ins_deel_key),
|
||
NULL)
|
||
AS tijd_inname,
|
||
DECODE (
|
||
ins_alg_ruimte_type,
|
||
'R', r.alg_plaatsaanduiding,
|
||
DECODE (r.alg_plaatsomschrijving,
|
||
NULL, NULL,
|
||
' (' || r.alg_plaatsomschrijving || ')'), NULL)
|
||
AS plaats,
|
||
DECODE (ins_alg_ruimte_type,
|
||
'P', fac.gettrackingdate ('INSOUT', d.ins_deel_key),
|
||
NULL)
|
||
AS datum_uitgifte,
|
||
DECODE (ins_alg_ruimte_type,
|
||
'P', fac.gettrackingdate ('INSOUT', d.ins_deel_key),
|
||
NULL)
|
||
AS tijd_uitgifte,
|
||
DECODE (ins_alg_ruimte_type, 'P', pf.prs_perslid_naam_full, NULL)
|
||
AS uitgegeven_aan,
|
||
DECODE (ins_alg_ruimte_type,
|
||
'P',
|
||
(SELECT pd.prs_perslid_naam_full
|
||
FROM (SELECT MAX (fac_tracking_key) AS fac_tracking_key
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 130 -- INSOUT
|
||
AND fac_tracking_refkey = d.ins_deel_key) x,
|
||
fac_tracking t,
|
||
prs_v_perslid_fullnames pd
|
||
WHERE x.fac_tracking_key = t.fac_tracking_key
|
||
AND t.prs_perslid_key = pd.prs_perslid_key),
|
||
NULL)
|
||
AS uitgegeven_door
|
||
FROM ins_deel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline disc,
|
||
alg_v_allonrgoed_gegevens r,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_kostenplaats k
|
||
WHERE d.ins_deel_verwijder IS NULL
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = disc.ins_discipline_key
|
||
AND sg.ins_srtgroep_key = 42 -- Objectgroep Dienstfietsen onder Vervoermiddelen
|
||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key(+)
|
||
AND d.ins_alg_ruimte_key = pf.prs_perslid_key(+)
|
||
AND pf.prs_perslid_key = p.prs_perslid_key(+)
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
|
||
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key(+);
|
||
|
||
CREATE OR REPLACE VIEW CAD_V_THEMA_DEEL_RES_TODAY
|
||
(
|
||
FCLT_F_DATUM,
|
||
INS_DEEL_KEY,
|
||
MIN_VAN,
|
||
MAX_TOT,
|
||
WAARDE1,
|
||
WAARDE,
|
||
WAARDE3
|
||
)
|
||
AS
|
||
WITH
|
||
datums
|
||
AS
|
||
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <= 42)
|
||
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 0 ELSE 3 -- hele dag
|
||
END
|
||
waarde1,
|
||
CASE
|
||
WHEN MAX (res_rsv_deel_tot) IS NULL THEN 0
|
||
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
|
||
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
|
||
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 + 1 >= res_rsv_deel_van
|
||
AND datum < res_rsv_deel_tot) blokkerend -- vandaag en nog niet afgelopen
|
||
WHERE r.res_deel_key = blokkerend.res_deel_key(+)
|
||
AND datums.datum = blokkerend.datum(+)
|
||
AND datums.datum = TRUNC (SYSDATE) -- Deze view: alleen vandaag!
|
||
AND ( r.res_deel_vervaldatum IS NULL
|
||
OR r.res_deel_vervaldatum > datums.datum)
|
||
AND d.ins_deel_key = r.res_ins_deel_key)
|
||
GROUP BY datum, ins_deel_key
|
||
ORDER BY datum, ins_deel_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_LABEL_DEEL_RES_TODAY
|
||
(
|
||
FCLT_F_DATUM,
|
||
INS_DEEL_KEY,
|
||
RES_DEEL_OMSCHRIJVING,
|
||
WAARDE1,
|
||
WAARDE,
|
||
WAARDE3,
|
||
WAARDE_HTML,
|
||
WAARDE_HTML2,
|
||
TOOLTIP
|
||
)
|
||
AS
|
||
WITH
|
||
datums
|
||
AS
|
||
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <= 42)
|
||
SELECT datums.datum fclt_f_datum,
|
||
isd.res_ins_deel_key ins_deel_key,
|
||
res_deel_omschrijving,
|
||
CHR (10)
|
||
|| LISTAGG (
|
||
DECODE (
|
||
naam,
|
||
NULL, '',
|
||
'[s40]'
|
||
|| naam
|
||
|| ' ('
|
||
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|
||
|| '-'
|
||
|| 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 (
|
||
naam,
|
||
NULL, '',
|
||
'[s40]'
|
||
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|
||
|| ' '
|
||
|| naam),
|
||
CHR (10))
|
||
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde2,
|
||
CHR (10)
|
||
|| LISTAGG (DECODE (naam, NULL, '', '[s40]' || naam), CHR (10))
|
||
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde3,
|
||
LISTAGG (
|
||
DECODE (
|
||
naam,
|
||
NULL, '',
|
||
'<span class="body">'
|
||
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|
||
|| ' '
|
||
|| naam
|
||
|| '</span>'),
|
||
'<br>')
|
||
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde_html,
|
||
LISTAGG (
|
||
DECODE (naam,
|
||
NULL, '',
|
||
'<span class="body">' || naam || '</span>'),
|
||
'<br>')
|
||
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde_html2,
|
||
res_deel_opmerking
|
||
FROM res_v_aanwezigdeel isd,
|
||
datums,
|
||
(SELECT datum,
|
||
res_ins_deel_key,
|
||
DECODE (p.prs_perslid_visibility,
|
||
1, pf.prs_perslid_naam_friendly,
|
||
a.prs_afdeling_omschrijving) naam,
|
||
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 pf,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
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 = pf.prs_perslid_key
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND datum + 1 >= res_rsv_deel_van
|
||
AND datum < res_rsv_deel_tot) res -- Bezet
|
||
WHERE isd.res_ins_deel_key = res.res_ins_deel_key(+)
|
||
AND datums.datum = res.datum(+)
|
||
AND datums.datum = TRUNC (SYSDATE) -- Deze view: alleen vandaag!
|
||
GROUP BY datums.datum,
|
||
isd.res_ins_deel_key,
|
||
res_deel_omschrijving,
|
||
res_deel_opmerking;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_BHVERS
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT DISTINCT 'CUST27',
|
||
NULL,
|
||
NULL,
|
||
'Automatische bericht bij status verandering van aspirant naar basis bhv',
|
||
d.ins_deel_key,
|
||
NULL,
|
||
NULL,
|
||
x.xemail,
|
||
NULL,
|
||
NULL
|
||
FROM fac_tracking t,
|
||
ins_deel d,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 901 -- Eigen tabel 'NotificatieBHVERS'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE d.ins_deel_key = t.fac_tracking_refkey
|
||
AND INSTR (UPPER (t.fac_tracking_oms),
|
||
'ASPIRANT BHV --> BASIS BHV') >
|
||
0 -- Het profiel Aspirant BHV gezet naar Basis BHV
|
||
AND t.fac_srtnotificatie_key = 128 --INSUPD
|
||
AND t.fac_tracking_datum > (SELECT fac_notificatie_job_lastrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (
|
||
fac_notificatie_job_view) =
|
||
'FMHN_V_NOTI_BHVERS')
|
||
UNION ALL
|
||
SELECT DISTINCT 'CUST28',
|
||
NULL,
|
||
NULL,
|
||
'Automatisch bericht bij locatieverandering bhv<68>er in de bhv tool',
|
||
d.ins_deel_key,
|
||
NULL,
|
||
NULL,
|
||
x.xemail,
|
||
NULL,
|
||
NULL
|
||
FROM fac_tracking t,
|
||
ins_deel d,
|
||
(SELECT fac_usrdata_omschr2 AS xemail
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 901 -- Eigen tabel 'NotificatieBHVERS'
|
||
AND fac_usrdata_verwijder IS NULL) x
|
||
WHERE d.ins_deel_key = t.fac_tracking_refkey
|
||
AND INSTR (UPPER (t.fac_tracking_oms), 'BHV-ER VOOR LOCATIE: ') >
|
||
0 -- Het profiel Aspirant BHV gezet naar Basis BHV
|
||
AND t.fac_srtnotificatie_key = 128 --INSUPD
|
||
AND t.fac_tracking_datum > (SELECT fac_notificatie_job_lastrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (
|
||
fac_notificatie_job_view) =
|
||
'FMHN_V_NOTI_BHVERS');
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_BEZOEKERS
|
||
AS
|
||
SELECT b.locatie_naam locatie,
|
||
b.CONTACT naam_contactpersoon,
|
||
pba.prs_perslid_email email_contactpersoon,
|
||
b.bezoeker_naam naam_bezoeker,
|
||
b.bezoeker_bedrijf bedrijf_bezoeker,
|
||
b.bezoek_van datum_bezoek,
|
||
b.bezoek_van tijd_bezoek,
|
||
bac.bez_actie_omschrijving actie
|
||
FROM BEZ_V_UDR_BEZOEKER b,
|
||
bez_afspraak ba,
|
||
prs_perslid pba,
|
||
bez_actie bac
|
||
WHERE ba.bez_afspraak_key = b.afspraak_key
|
||
AND ba.bez_actie_key = bac.bez_actie_key
|
||
AND ba.BEZ_AFSPRAAK_CONTACT_KEY = pba.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_DVL_KLANTEN_SUM
|
||
AS
|
||
SELECT TO_CHAR (aanmaakdatum, 'YYYY') AS invoerjaar,
|
||
COUNT (DISTINCT email) AS aantal
|
||
FROM fmhn_v_rap_dvl_klanten
|
||
GROUP BY TO_CHAR (aanmaakdatum, 'YYYY')
|
||
ORDER BY 1;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RAP_DVL_KLANTEN_SUM_DAY
|
||
(
|
||
DATUM,
|
||
INVOERJAAR,
|
||
AANTAL
|
||
)
|
||
AS
|
||
SELECT TRUNC (aanmaakdatum),
|
||
TO_CHAR (aanmaakdatum, 'YYYY') AS invoerjaar,
|
||
COUNT (DISTINCT email) AS aantal
|
||
FROM fmhn_v_rap_dvl_klanten
|
||
GROUP BY TRUNC (aanmaakdatum), TO_CHAR (aanmaakdatum, 'YYYY')
|
||
ORDER BY 1;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_MELDBRON
|
||
(
|
||
MELDING_KEY,
|
||
BRON,
|
||
MELDINGGROEP,
|
||
DATUM,
|
||
LOCATIE_KEY,
|
||
LOCATIE,
|
||
GEBOUW_TERREIN,
|
||
PLAATS,
|
||
DISCIPLINE_KEY,
|
||
DISCIPLINE,
|
||
VAKGROEP,
|
||
STDMELDING,
|
||
ONDERWERP,
|
||
ACTIEVE_BEHANDELAAR,
|
||
AANVRAGER
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
b.bron,
|
||
smg.mld_stdmeldinggroep_naam,
|
||
TRUNC (mld_melding_datum),
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_omschrijving,
|
||
COALESCE (onrg.alg_gebouw_naam, onrg.alg_terreinsector_naam),
|
||
onrg.alg_plaatsaanduiding,
|
||
sd.ins_srtdiscipline_omschrijving,
|
||
disc.ins_discipline_key,
|
||
disc.ins_discipline_omschrijving,
|
||
sm.mld_stdmelding_omschrijving,
|
||
m.mld_melding_onderwerp,
|
||
beh.prs_dep_afd,
|
||
aanv.prs_dep_afd
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
mld_srtkenmerk sk,
|
||
MLD_STDMELDINGGROEP smg,
|
||
alg_locatie l,
|
||
alg_v_onroerendgoed_gegevens onrg,
|
||
ins_srtdiscipline sd,
|
||
ins_tab_discipline disc,
|
||
fmhn_v_idm_medewerker beh,
|
||
fmhn_v_idm_medewerker aanv,
|
||
(SELECT fac_usrdata_key AS bron_key, fac_usrdata_omschr2 AS bron
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 1101 -- Eigen tabel 'BronAanvraag'
|
||
AND fac_usrdata_verwijder IS NULL) b
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 882 -- Kenmerksoort Bron aanvraag
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m.mld_melding_key
|
||
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
|
||
b.bron_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmeldinggroep_key = smg.mld_stdmeldinggroep_key(+)
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)
|
||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND disc.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.prs_perslid_key = aanv.prs_perslid_key
|
||
AND COALESCE (m.mld_melding_behandelaar2_key,
|
||
m.mld_melding_behandelaar_key) =
|
||
beh.prs_perslid_key(+);
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_UITGIFTE
|
||
(
|
||
UITGIFTE_KEY,
|
||
DEEL_KEY,
|
||
DISCIPLINE,
|
||
GROEP,
|
||
OBJECTSOORT,
|
||
OBJECT,
|
||
UITGIFTE,
|
||
INNAME,
|
||
INNAME_UITLEENREGISTRATIE,
|
||
GEPLANDE_INNAME,
|
||
PERSOON,
|
||
CONTACTPERSOON,
|
||
AFDELING_OMSCHRIJVING,
|
||
AFDELING_CODE,
|
||
BEDRIJF_NAAM,
|
||
VERWIJDERDATUM,
|
||
VERVALDATUM
|
||
)
|
||
AS
|
||
SELECT du.ins_deel_uitgifte_key uitgifte_key,
|
||
du.ins_deel_key deel_key,
|
||
dis.ins_discipline_omschrijving discipline,
|
||
sg.ins_srtgroep_omschrijving groep,
|
||
sd.ins_srtdeel_omschrijving objectsoort,
|
||
d.ins_deel_omschrijving object,
|
||
du.ins_deel_uitgifte_begin uitgifte,
|
||
coalesce(d.ins_deel_vervaldatum, d.ins_deel_verwijder, du.ins_deel_uitgifte_ingeleverd) inname,
|
||
du.ins_deel_uitgifte_ingeleverd inname_uitleenregistratie,
|
||
du.ins_deel_uitgifte_eind_plan geplande_inname,
|
||
pf.prs_perslid_naam_friendly persoon,
|
||
DECODE (cp.prs_contactpersoon_voornaam,
|
||
NULL, '',
|
||
cp.prs_contactpersoon_voornaam || ' ')
|
||
|| DECODE (cp.prs_contactpersoon_tussenv,
|
||
NULL, '',
|
||
cp.prs_contactpersoon_tussenv || ' ')
|
||
|| cp.prs_contactpersoon_naam contactpersoon,
|
||
a.prs_afdeling_omschrijving afdeling_omschrijving,
|
||
a.prs_afdeling_naam afdeling_code,
|
||
b.prs_bedrijf_naam bedrijf_naam,
|
||
d.ins_deel_verwijder,
|
||
d.ins_deel_vervaldatum
|
||
FROM ins_deel_uitgifte du,
|
||
ins_deel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_discipline dis,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_v_afdeling a,
|
||
prs_bedrijf b,
|
||
prs_contactpersoon cp
|
||
WHERE du.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 d.ins_discipline_key = dis.ins_discipline_key
|
||
AND sg.ins_discipline_key = dis.ins_discipline_key
|
||
AND du.prs_perslid_key = p.prs_perslid_key(+)
|
||
AND p.prs_perslid_key = pf.prs_perslid_key(+)
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
|
||
AND a.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
AND du.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
|
||
ORDER BY du.ins_deel_key, du.ins_deel_uitgifte_begin;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_dubbelemail
|
||
(
|
||
identificatie_persoon,
|
||
prs_perslid_email,
|
||
prs_perslid_aanmaak
|
||
)
|
||
AS
|
||
SELECT pk.prs_kenmerklink_waarde, p.prs_perslid_email, TRUNC(p.prs_perslid_aanmaak)
|
||
FROM prs_perslid p, prs_kenmerklink pk
|
||
WHERE p.prs_perslid_email IN
|
||
(SELECT email
|
||
FROM ( SELECT prs_perslid_email AS email,
|
||
COUNT (*) AS aantal
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_verwijder IS NULL
|
||
GROUP BY prs_perslid_email)
|
||
WHERE aantal > 1)
|
||
AND p.prs_perslid_email <> '@'
|
||
AND TRUNC (p.prs_perslid_aanmaak) >
|
||
TRUNC (TO_DATE ('01012023', 'DDMMYYYY'))
|
||
AND ( p.prs_perslid_inactief IS NULL
|
||
OR TRUNC (p.prs_perslid_inactief) > TRUNC (SYSDATE))
|
||
AND p.prs_perslid_key = pk.prs_link_key
|
||
AND pk.prs_kenmerklink_verwijder IS NULL
|
||
AND pk.prs_kenmerklink_niveau = 'P'
|
||
AND pk.prs_kenmerk_key = 1009 -- Kenmerk 'Identificatie persoon'
|
||
ORDER BY p.prs_perslid_aanmaak DESC;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_noti_dubbelemail
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile,
|
||
xsender,
|
||
attachments
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST29'
|
||
AS code,
|
||
NULL,
|
||
NULL,
|
||
'Attentie: er is een account (of meerdere accounts) die een dubbel emailadres heeft',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER (fac_usrrap_view_name) = 'FMHN_V_RAP_DUBBELEMAIL')
|
||
rapportnr,
|
||
NULL,
|
||
'fmhfb@rijksoverheid.nl',
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM fmhn_v_rap_dubbelemail x, fac_notificatie_job nj
|
||
WHERE UPPER (fac_notificatie_job_view) = 'FMHN_V_NOTI_DUBBELEMAIL'
|
||
-- AND ( x.prs_perslid_aanmaak > nj.fac_notificatie_job_lastrun --Toch herzien: als een emaildres gewijzigd wordt, wijzigt de aanmaakdatum niet
|
||
-- OR nj.fac_notificatie_job_lastrun IS NULL)
|
||
AND (SELECT COUNT (*) FROM fmhn_v_rap_dubbelemail) > 0;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_RES_DICTU
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
NULL,
|
||
NULL,
|
||
'Er is een nieuwe reservering voor '
|
||
|| TO_CHAR (rrd.res_rsv_deel_van, 'dd-mm-yyyy')
|
||
|| ', met reservering nummer '
|
||
|| rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr,
|
||
'RES2BO',
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
SUBSTR(ba.prs_bedrijfadres_url, INSTR(ba.prs_bedrijfadres_url, 'mailto:') + LENGTH('mailto:')) prs_bedrijfadres_url,
|
||
NULL
|
||
FROM res_rsv_deel rrd,
|
||
res_deel rd,
|
||
res_disc_params rdp,
|
||
res_rsv_ruimte rrr,
|
||
fac_notificatie_job nj,
|
||
prs_bedrijfadres ba
|
||
WHERE rrd.res_rsv_deel_verwijder IS NULL
|
||
AND rd.res_deel_key = rrd.res_deel_key
|
||
AND rd.res_discipline_key = rdp.res_ins_discipline_key
|
||
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||
AND rdp.prs_bedrijf_key = 560 --Min.v. Economische Zaken en Klimaat Dienst ICTU
|
||
AND rrr.res_status_fo_key NOT IN (3, 4) --Niet geblokkeerd of vervallen
|
||
AND nj.fac_notificatie_job_view = 'FMHN_V_NOTI_RES_DICTU'
|
||
AND ( nj.fac_notificatie_job_lastrun IS NULL
|
||
OR rrd.res_rsv_deel_aanmaak > nj.fac_notificatie_job_lastrun)
|
||
AND ba.prs_bedrijf_key = rdp.prs_bedrijf_key
|
||
AND ba.prs_bedrijfadres_type = 'N';
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_npq_notsend
|
||
(
|
||
res_rsv_ruimte_key,
|
||
TYPE,
|
||
nummer,
|
||
omschrijving,
|
||
laatste_datum_niet_verstuurd
|
||
)
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
'reservering',
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
x.datum
|
||
FROM res_rsv_ruimte rrr,
|
||
( SELECT t.fac_tracking_refkey, MAX (t.fac_tracking_datum) AS datum
|
||
FROM fac_tracking t
|
||
WHERE ( t.fac_tracking_oms LIKE
|
||
'%PC: De reservering is niet succesvol verstuurd%'
|
||
OR t.fac_tracking_oms LIKE
|
||
'%PC: Het artikel is niet succesvol verstuurd%')
|
||
GROUP BY t.fac_tracking_refkey) x
|
||
WHERE x.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND (SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE ( t.fac_tracking_oms LIKE
|
||
'%PC: De reservering is niet succesvol verstuurd%'
|
||
OR t.fac_tracking_oms LIKE
|
||
'%PC: Het artikel is niet succesvol verstuurd%')
|
||
AND rrr.res_rsv_ruimte_key = t.fac_tracking_refkey
|
||
AND TRUNC (t.fac_tracking_datum) >
|
||
TRUNC (SYSDATE) - 365) >
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE ( t.fac_tracking_oms LIKE
|
||
'%PC: De reservering is succesvol verstuurd%'
|
||
OR t.fac_tracking_oms LIKE
|
||
'%PC: Het artikel is succesvol verstuurd%')
|
||
AND rrr.res_rsv_ruimte_key = t.fac_tracking_refkey)
|
||
UNION ALL
|
||
SELECT o.mld_opdr_key,
|
||
'opdracht',
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr,
|
||
o.mld_opdr_omschrijving,
|
||
x.datum
|
||
FROM mld_opdr o,
|
||
( SELECT t.fac_tracking_refkey, MAX (t.fac_tracking_datum) AS datum
|
||
FROM fac_tracking t
|
||
WHERE ( t.fac_tracking_oms LIKE
|
||
'%PC: De offerte opdracht is niet succesvol verstuurd%'
|
||
OR t.fac_tracking_oms LIKE
|
||
'%PC: De uitvoerings opdracht is niet succesvol verstuurd%')
|
||
GROUP BY t.fac_tracking_refkey) x
|
||
WHERE x.fac_tracking_refkey = o.mld_opdr_key
|
||
AND (SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE ( t.fac_tracking_oms LIKE
|
||
'%PC: De offerte opdracht is niet succesvol verstuurd%'
|
||
OR t.fac_tracking_oms LIKE
|
||
'%PC: De uitvoerings opdracht is niet succesvol verstuurd%')
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND TRUNC (t.fac_tracking_datum) >
|
||
TRUNC (SYSDATE) - 365) >
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE ( t.fac_tracking_oms LIKE
|
||
'%PC: De offerte opdracht is succesvol verstuurd%'
|
||
OR t.fac_tracking_oms LIKE
|
||
'%PC: De uitvoerings opdracht is succesvol verstuurd%')
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey)
|
||
ORDER BY datum DESC;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_PERS_VERPLICHTING
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
NAAM,
|
||
PERSONEELSNR,
|
||
FUNCTIE,
|
||
TELEFOON,
|
||
MINISTERIE,
|
||
ORGANISATIE,
|
||
KOSTENPLAATS,
|
||
INGANGSDATUM,
|
||
EINDDATUM,
|
||
INACTIEFDATUM,
|
||
AANTAL_VERPLICHTINGEN,
|
||
VERPLICHTINGEN
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_naam
|
||
|| DECODE (p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || p.prs_perslid_voorletters)
|
||
|| DECODE (p.prs_perslid_tussenvoegsel,
|
||
NULL, '',
|
||
' ' || p.prs_perslid_tussenvoegsel)
|
||
|| DECODE (p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || p.prs_perslid_voornaam || ')')
|
||
naam,
|
||
p.prs_perslid_nr,
|
||
f.prs_srtperslid_omschrijving,
|
||
p.prs_perslid_telefoonnr,
|
||
ud.fac_usrdata_omschr,
|
||
a.prs_afdeling_omschrijving,
|
||
k.prs_kostenplaats_nr,
|
||
p.prs_perslid_ingangsdatum,
|
||
p.prs_perslid_einddatum,
|
||
prs_perslid_inactief,
|
||
COUNT (v.item),
|
||
SUBSTR (
|
||
LISTAGG (m.fac_message_text || ' ' || v.item,
|
||
'; ' || CHR (13)
|
||
ON OVERFLOW TRUNCATE)
|
||
WITHIN GROUP (ORDER BY v.xmlnode, v.item),
|
||
0,
|
||
4000)
|
||
FROM prs_v_aanwezigperslid p
|
||
JOIN prs_afdeling a ON a.prs_afdeling_key = p.prs_afdeling_key
|
||
JOIN prs_kostenplaats k
|
||
ON k.prs_kostenplaats_key = a.prs_kostenplaats_key
|
||
LEFT JOIN prs_v_verplichting v
|
||
ON v.prs_perslid_key = p.prs_perslid_key
|
||
JOIN fac_message m ON m.fac_message_code = v.fac_message_code
|
||
JOIN prs_kenmerklink kl ON kl.prs_link_key = p.prs_perslid_key --tbv ministeriecode
|
||
JOIN fac_usrdata ud
|
||
ON ud.fac_usrdata_key = kl.prs_kenmerklink_waarde
|
||
JOIN prs_srtperslid f
|
||
ON f.prs_srtperslid_key = p.prs_srtperslid_key
|
||
WHERE prs_kenmerk_key = 1008 -- Ministeriecode
|
||
GROUP BY p.prs_perslid_key,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voorletters,
|
||
p.prs_perslid_tussenvoegsel,
|
||
p.prs_perslid_voornaam,
|
||
p.prs_perslid_nr,
|
||
f.prs_srtperslid_omschrijving,
|
||
p.prs_perslid_telefoonnr,
|
||
ud.fac_usrdata_omschr,
|
||
a.prs_afdeling_omschrijving,
|
||
k.prs_kostenplaats_nr,
|
||
p.prs_perslid_ingangsdatum,
|
||
p.prs_perslid_einddatum,
|
||
prs_perslid_inactief;
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_RES_AANVRAAG
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key
|
||
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)
|
||
locatie,
|
||
(SELECT alg_locatie_plaats
|
||
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)
|
||
gebouw,
|
||
(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)
|
||
gebouw_code,
|
||
(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)
|
||
verdieping,
|
||
r2a.ruimte_nr,
|
||
res.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
resnr,
|
||
TRUNC (rrr.res_rsv_ruimte_van)
|
||
datum,
|
||
TO_CHAR (rrr.res_rsv_ruimte_van, 'HH24:MI')
|
||
van,
|
||
TRUNC (rrr.res_rsv_ruimte_tot)
|
||
datum_tot,
|
||
TO_CHAR (rrr.res_rsv_ruimte_tot, 'HH24:MI')
|
||
tot,
|
||
rrr.res_rsv_ruimte_omschrijving
|
||
omschrijving,
|
||
rrr.res_rsv_ruimte_bezoekers
|
||
aantal,
|
||
r2a.opstelling,
|
||
( SELECT LISTAGG (
|
||
rra.res_rsv_artikel_aantal
|
||
|| ' '
|
||
|| ra.res_artikel_omschrijving
|
||
|| ', '
|
||
|| CHR (10))
|
||
WITHIN GROUP (ORDER BY rra.res_rsv_artikel_aantal) AS artikel_lijst
|
||
FROM res_rsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_verwijder IS NULL
|
||
AND ra.res_artikel_key = rra.res_artikel_key
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
GROUP BY res_rsv_ruimte_key)
|
||
voorzieningen,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key)
|
||
bestemd_voor,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_contact_key)
|
||
aanvrager,
|
||
(SELECT pc.prs_perslid_telefoonnr
|
||
FROM prs_perslid pc
|
||
WHERE pc.prs_perslid_key = rrr.res_rsv_ruimte_contact_key)
|
||
aanvrager_telefoonnr,
|
||
(SELECT pc.prs_perslid_mobiel
|
||
FROM prs_perslid pc
|
||
WHERE pc.prs_perslid_key = rrr.res_rsv_ruimte_contact_key)
|
||
aanvrager_mobiel,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving,
|
||
ra.res_activiteit_omschrijving
|
||
activiteit,
|
||
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
|
||
FROM RES_V_AANWEZIGKENMERKWAARDE kmw, res_kenmerk km
|
||
WHERE km.res_kenmerk_key = kmw.res_kenmerk_key
|
||
AND km.RES_SRTKENMERK_KEY = 21
|
||
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
|
||
referentie,
|
||
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
|
||
FROM RES_V_AANWEZIGKENMERKWAARDE kmw, res_kenmerk km
|
||
WHERE km.res_kenmerk_key = kmw.res_kenmerk_key
|
||
AND km.RES_SRTKENMERK_KEY = 41
|
||
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
|
||
telefoonnr_contactpersoon,
|
||
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
|
||
FROM RES_V_AANWEZIGKENMERKWAARDE kmw, res_kenmerk km
|
||
WHERE km.res_kenmerk_key = kmw.res_kenmerk_key
|
||
AND km.RES_SRTKENMERK_KEY = 1
|
||
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
|
||
toelichting,
|
||
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
|
||
FROM RES_V_AANWEZIGKENMERKWAARDE kmw, res_kenmerk km
|
||
WHERE km.res_kenmerk_key = kmw.res_kenmerk_key
|
||
AND km.RES_SRTKENMERK_KEY = 61
|
||
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
|
||
PC_nr_zaal,
|
||
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
|
||
FROM RES_V_AANWEZIGKENMERKWAARDE kmw, res_kenmerk km
|
||
WHERE km.res_kenmerk_key = kmw.res_kenmerk_key
|
||
AND km.RES_SRTKENMERK_KEY = 62
|
||
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
|
||
PC_nr_voorzieningen,
|
||
(SELECT MAX (p.PRS_DEP_AFD)
|
||
FROM RES_V_AANWEZIGKENMERKWAARDE kmw,
|
||
res_kenmerk km,
|
||
FMHN_V_IDM_MEDEWERKER p
|
||
WHERE km.res_kenmerk_key = kmw.res_kenmerk_key
|
||
AND km.RES_SRTKENMERK_KEY = 162
|
||
AND fac.safe_to_number (kmw.res_kenmerkreservering_waarde) =
|
||
p.PRS_PERSLID_KEY
|
||
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
|
||
behandelaar,
|
||
(SELECT MAX (ud.fac_usrdata_omschr)
|
||
FROM RES_V_AANWEZIGKENMERKWAARDE kmw,
|
||
res_kenmerk km,
|
||
fac_usrdata ud
|
||
WHERE km.res_kenmerk_key = kmw.res_kenmerk_key
|
||
AND km.RES_SRTKENMERK_KEY = 181
|
||
AND fac.safe_to_number (kmw.res_kenmerkreservering_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
|
||
soort_evenement,
|
||
rrr.res_rsv_ruimte_verwijder
|
||
res_geannuleerd,
|
||
m2r.aanvraag_aanvrager,
|
||
m2r.aanvraag_opdrachtgever,
|
||
m2r.aanvraag_status,
|
||
m2r.aanvraag_toelichting,
|
||
m2r.aanvraag_afgewezen_door
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ra,
|
||
res_srtactiviteit rsa,
|
||
res_reservering res,
|
||
prs_kostenplaats k,
|
||
prs_perslid p,
|
||
-- prs_afdeling a,
|
||
-- prs_afdeling an,
|
||
-- prs_v_afdeling_boom ab,
|
||
( SELECT res_rsv_ruimte_key,
|
||
MAX (o.res_opstelling_omschrijving) opstelling,
|
||
MAX (ro.res_ruimte_opstel_bezoekers) capaciteit,
|
||
MAX (ra.alg_ruimte_key) alg_ruimte_key,
|
||
MAX (rr.res_ruimte_nr) ruimte_nr
|
||
FROM res_rsv_ruimte r,
|
||
res_ruimte_opstelling ro,
|
||
res_opstelling o,
|
||
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 ro.res_opstelling_key = o.res_opstelling_key
|
||
AND rr.res_ruimte_key = ra.res_ruimte_key
|
||
GROUP BY res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT res_rsv_ruimte_key,
|
||
'' opstelling,
|
||
NULL capaciteit,
|
||
rrr.alg_ruimte_key,
|
||
r.alg_ruimte_nr
|
||
FROM res_rsv_ruimte rrr, alg_ruimte r
|
||
WHERE rrr.alg_ruimte_key IS NOT NULL
|
||
AND r.alg_ruimte_key = rrr.alg_ruimte_key) r2a,
|
||
(SELECT m.mld_melding_key,
|
||
m.res_rsv_ruimte_key,
|
||
(SELECT p.prs_dep_afd
|
||
FROM FMHN_V_IDM_MEDEWERKER p
|
||
WHERE p.prs_perslid_key = m.prs_perslid_key
|
||
AND p.prs_perslid_verwijder IS NULL)
|
||
aanvraag_aanvrager,
|
||
(SELECT p.prs_dep_afd
|
||
FROM FMHN_V_IDM_MEDEWERKER p
|
||
WHERE p.prs_perslid_key = m.prs_perslid_key_voor
|
||
AND p.prs_perslid_verwijder IS NULL)
|
||
aanvraag_opdrachtgever,
|
||
ms.mld_statuses_omschrijving
|
||
aanvraag_status,
|
||
m.mld_melding_opmerking
|
||
aanvraag_toelichting,
|
||
(SELECT MAX (p.prs_dep_afd)
|
||
FROM fac_tracking t, FMHN_V_IDM_MEDEWERKER p
|
||
WHERE t.fac_srtnotificatie_key = 52 -- MLDREJ
|
||
AND t.prs_perslid_key = p.prs_perslid_key
|
||
AND t.fac_tracking_refkey = m.mld_melding_key)
|
||
aanvraag_afgewezen_door,
|
||
mld_melding_kto_key
|
||
FROM mld_melding m, mld_statuses ms
|
||
WHERE m.res_rsv_ruimte_key IS NOT NULL
|
||
AND ms.mld_statuses_key = m.mld_melding_status) m2r
|
||
WHERE rrr.res_reservering_key = res.res_reservering_key
|
||
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = m2r.res_rsv_ruimte_key(+)
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||
AND ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
-- AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
-- AND ab.prs_afdeling_key1 = an.prs_afdeling_key
|
||
-- AND ab.prs_afdeling_key = p.prs_afdeling_key
|
||
AND rrr.res_rsv_ruimte_van >= TO_DATE ('01-01-2010', 'DD-MM-YYYY');
|
||
|
||
CREATE OR REPLACE VIEW FMHN_V_NOTI_KLANTVERZOEK
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'MLDNEW',
|
||
NULL,
|
||
m.prs_perslid_key_voor,
|
||
'Melding '
|
||
|| m.mld_melding_key
|
||
|| ' aangemaakt'
|
||
|| DECODE (m.mld_melding_onderwerp,
|
||
NULL, NULL,
|
||
' - (' || m.mld_melding_onderwerp || ')'),
|
||
m.mld_melding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
(SELECT km.mld_kenmerkmelding_waarde, km.mld_melding_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 4841 --Kenmerk Onderwerp Klantverzoek
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL) subj
|
||
WHERE m.mld_stdmelding_key = 1341 -- Registratie Klantverzoek
|
||
AND subj.mld_melding_key = m.mld_melding_key
|
||
AND subj.mld_kenmerkmelding_waarde IN ('6402', '6403', '6405', '6406') -- Ontvangstbevestiging bij Informatief Klantverzoek, Onvolledig klantverzoek, Parkeerkaarten en Rijkspas
|
||
AND m.mld_melding_key NOT IN
|
||
(SELECT t.fac_tracking_refkey
|
||
FROM fac_tracking t
|
||
WHERE LOWER (t.fac_tracking_oms) LIKE
|
||
'%notificatie mldnew verstuurd aan %'
|
||
AND t.fac_srtnotificatie_key = 202 --MLDTRK
|
||
AND t.fac_tracking_refkey = m.mld_melding_key)
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
'MLDAFM',
|
||
NULL,
|
||
m.prs_perslid_key_voor,
|
||
'Melding '
|
||
|| m.mld_melding_key
|
||
|| ' gereed'
|
||
|| DECODE (m.mld_melding_onderwerp,
|
||
NULL, NULL,
|
||
' - (' || m.mld_melding_onderwerp || ')'),
|
||
m.mld_melding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
(SELECT km.mld_kenmerkmelding_waarde, km.mld_melding_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 4841 --Kenmerk Onderwerp Klantverzoek
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL) subj,
|
||
(SELECT km.mld_kenmerkmelding_waarde, km.mld_melding_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 4842 --Kenmerk Vervolgmelding gemaakt (J/N = 21/22)
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL) vervolg
|
||
WHERE m.mld_stdmelding_key = 1341 -- Registratie Klantverzoek
|
||
AND m.mld_melding_key = subj.mld_melding_key
|
||
AND m.mld_melding_key = vervolg.mld_melding_key(+)
|
||
AND m.mld_melding_status IN (5, 6)
|
||
AND ( subj.mld_kenmerkmelding_waarde IN ('6401',
|
||
'6404',
|
||
'6405',
|
||
'6406',
|
||
'6407') -- Ontvangstbevestiging bij Informatief Klantverzoek, Reserveringsaanvraag, Parkeerkaarten, Rijkspas en Bezoekersvraag
|
||
OR ( subj.mld_kenmerkmelding_waarde IN ('6402', '6403') -- Ontvangstbevestiging bij Overig klantverzoek en Onvolledig klantverzoek
|
||
AND vervolg.mld_kenmerkmelding_waarde = '21'))
|
||
AND m.mld_melding_key NOT IN
|
||
(SELECT t.fac_tracking_refkey
|
||
FROM fac_tracking t
|
||
WHERE LOWER (t.fac_tracking_oms) LIKE
|
||
'%notificatie mldafm verstuurd aan %'
|
||
AND t.fac_srtnotificatie_key = 202 --MLDTRK
|
||
AND t.fac_tracking_refkey = m.mld_melding_key)
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
'MLDAFM',
|
||
NULL,
|
||
m.prs_perslid_key_voor,
|
||
'Melding '
|
||
|| m.mld_melding_key
|
||
|| ' actie gevraagd'
|
||
|| DECODE (m.mld_melding_onderwerp,
|
||
NULL, NULL,
|
||
' - (' || m.mld_melding_onderwerp || ')'),
|
||
m.mld_melding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
(SELECT km.mld_kenmerkmelding_waarde, km.mld_melding_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 4841 --Kenmerk Onderwerp Klantverzoek
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL) subj,
|
||
(SELECT km.mld_kenmerkmelding_waarde, km.mld_melding_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 4842 --Kenmerk Vervolgmelding gemaakt (J/N = 21/22)
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL) vervolg
|
||
WHERE m.mld_stdmelding_key = 1341 -- Registratie Klantverzoek
|
||
AND m.mld_melding_key = subj.mld_melding_key
|
||
AND m.mld_melding_key = vervolg.mld_melding_key(+)
|
||
AND m.mld_melding_status IN (5, 6)
|
||
AND ( subj.mld_kenmerkmelding_waarde IN ('6402', '6403') -- Ontvangstbevestiging bij Overig klantverzoek en Onvolledig klantverzoek
|
||
AND vervolg.mld_kenmerkmelding_waarde = '22')
|
||
AND m.mld_melding_key NOT IN
|
||
(SELECT t.fac_tracking_refkey
|
||
FROM fac_tracking t
|
||
WHERE LOWER (t.fac_tracking_oms) LIKE
|
||
'%notificatie mldafm verstuurd aan %'
|
||
AND t.fac_srtnotificatie_key = 202 --MLDTRK
|
||
AND t.fac_tracking_refkey = m.mld_melding_key);
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_wms_reserveringen
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
reserveringsnr,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr || '/' || r.alg_ruimte_nr
|
||
resnr_ruimtenr,
|
||
rrr.res_rsv_ruimte_aanmaak
|
||
aanmaak,
|
||
rrr.res_rsv_ruimte_van
|
||
van,
|
||
rrr.res_rsv_ruimte_tot
|
||
tot,
|
||
rrr.res_rsv_ruimte_bezoekers
|
||
deelnemers,
|
||
g.alg_gebouw_key,
|
||
g.alg_gebouw_code
|
||
gebouw_code,
|
||
g.alg_gebouw_naam
|
||
gebouw,
|
||
r.alg_ruimte_key,
|
||
r.alg_ruimte_nr
|
||
ruimte_nr,
|
||
r.alg_ruimte_omschrijving
|
||
ruimte_omschrijving,
|
||
rr.res_ruimte_nr
|
||
res_ruimte_omschrijving,
|
||
prs_perslid_naam_full
|
||
naam,
|
||
(SELECT res_status_fo_omschrijving
|
||
FROM res_status_fo rs
|
||
WHERE rs.res_status_fo_key = rrr.res_status_fo_key)
|
||
status_fo,
|
||
rrr.res_rsv_ruimte_verwijder
|
||
verwijder,
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t
|
||
WHERE t.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND t.fac_srtnotificatie_key = 108 -- RESUPD
|
||
)
|
||
last_update_datum
|
||
FROM res_rsv_ruimte rrr,
|
||
prs_v_perslid_fullnames_all pf,
|
||
res_ruimte rr,
|
||
res_ruimte_opstelling rro,
|
||
res_alg_ruimte rar,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rar.res_ruimte_key = rro.res_ruimte_key
|
||
AND rar.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 pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key
|
||
AND rro.res_ruimte_opstel_verwijder IS NULL
|
||
AND rar.res_alg_ruimte_verwijder IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW fmhn_v_rap_scherm_ek
|
||
AS
|
||
SELECT *
|
||
FROM ( SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
AS nummer,
|
||
rrr.res_rsv_ruimte_omschrijving
|
||
AS res_omschrijving,
|
||
rrr.res_rsv_ruimte_van
|
||
AS datum,
|
||
r2a.ruimte_nr
|
||
AS ruimte,
|
||
rrr.res_rsv_ruimte_van
|
||
AS van,
|
||
rrr.res_rsv_ruimte_tot
|
||
AS tot,
|
||
(SELECT MAX(rrg.alg_ruimte_nr) -- Voor locatie Eerste Kamer (daar is deze view voor) zijn er geen koppelzalen en daarom volstaat dit
|
||
FROM res_rsv_ruimte rrr2
|
||
JOIN res_ruimte_opstelling rro
|
||
ON rrr2.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
JOIN res_ruimte rr
|
||
ON rro.res_ruimte_key = rr.res_ruimte_key
|
||
JOIN res_alg_ruimte rar
|
||
ON rr.res_ruimte_key = rar.res_ruimte_key
|
||
JOIN alg_v_ruimte_gegevens rrg
|
||
ON rar.alg_ruimte_key = rrg.alg_ruimte_key
|
||
WHERE rrr2.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AS ruimte_nr,
|
||
(SELECT kenm.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde kenm
|
||
WHERE kenm.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kenm.res_kenmerk_key = 68
|
||
AND kenm.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AS toelichting
|
||
FROM res_v_aanwezigrsv_ruimte rrr
|
||
LEFT JOIN
|
||
( SELECT res_rsv_ruimte_key,
|
||
MAX (rr.res_ruimte_nr) AS ruimte_nr
|
||
FROM res_rsv_ruimte r
|
||
JOIN res_ruimte_opstelling ro
|
||
ON r.res_ruimte_opstel_key =
|
||
ro.res_ruimte_opstel_key
|
||
JOIN res_ruimte rr
|
||
ON ro.res_ruimte_key = rr.res_ruimte_key
|
||
WHERE r.res_rsv_ruimte_verwijder IS NULL
|
||
GROUP BY res_rsv_ruimte_key) r2a
|
||
ON rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM res_ruimte_opstelling ro
|
||
JOIN res_ruimte rr
|
||
ON ro.res_ruimte_key = rr.res_ruimte_key
|
||
JOIN res_alg_ruimte rar
|
||
ON rr.res_ruimte_key = rar.res_ruimte_key
|
||
JOIN alg_ruimte ar
|
||
ON rar.alg_ruimte_key = ar.alg_ruimte_key
|
||
JOIN alg_verdieping v
|
||
ON ar.alg_verdieping_key =
|
||
v.alg_verdieping_key
|
||
JOIN alg_gebouw g
|
||
ON v.alg_gebouw_key = g.alg_gebouw_key
|
||
JOIN alg_locatie l
|
||
ON g.alg_locatie_key = l.alg_locatie_key
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
ro.res_ruimte_opstel_key
|
||
AND l.alg_locatie_key = 161)
|
||
ORDER BY nummer,
|
||
res_omschrijving,
|
||
datum,
|
||
ruimte,
|
||
van,
|
||
tot,
|
||
ruimte_nr,
|
||
toelichting);
|
||
|
||
------ 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
|