6029 lines
262 KiB
SQL
6029 lines
262 KiB
SQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific db-configuration for HSLE: HogeSchool LEiden
|
||
DEFINE thisfile = 'HSLE.SQL'
|
||
DEFINE dbuser = '^HSLE'
|
||
|
||
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 ------
|
||
|
||
CREATE OR REPLACE PACKAGE HSLE
|
||
AS
|
||
PROCEDURE schonen_accounts;
|
||
PROCEDURE update_fegroep;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY HSLE
|
||
AS
|
||
-- Verwijder medewerkers 7 dagen na einddatum (in het verleden)!
|
||
PROCEDURE schonen_accounts
|
||
AS
|
||
CURSOR c_del
|
||
IS
|
||
SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] '
|
||
aanduiding,
|
||
p.prs_perslid_key,
|
||
COUNT (*) verplichtingen
|
||
FROM prs_v_aanwezigperslid p, prs_v_perslid_fullnames_all pf, prs_v_verplichting_keys v
|
||
WHERE INSTR (UPPER (COALESCE (p.prs_perslid_email, 'x')), '@STUDENT.HSLEIDEN.NL') = 0 -- HSLE#73333: Medewerker als email <> @student.hsleiden.nl (of leeg)!
|
||
AND p.prs_perslid_externid IS NOT NULL
|
||
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'x'), 1, 1) <> '_'
|
||
AND p.prs_perslid_apikey IS NULL -- Voor de zekerheid!
|
||
AND p.prs_perslid_key > 10 -- Voor de zekerheid!
|
||
AND p.prs_perslid_einddatum + 7 < TRUNC (SYSDATE) -- Dus einddatum gevuld!
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_perslid_key = v.prs_perslid_key(+)
|
||
GROUP BY '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] ',
|
||
p.prs_perslid_key
|
||
ORDER BY 2;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_verwijderd NUMBER (10) := 0;
|
||
v_count_inactief NUMBER (10) := 0;
|
||
BEGIN
|
||
FOR rec IN c_del
|
||
LOOP
|
||
BEGIN
|
||
IF rec.verplichtingen = 0
|
||
THEN
|
||
v_errormsg := 'Fout verwijderen 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 verwijderen perslid';
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_verwijder = SYSDATE
|
||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||
COMMIT;
|
||
|
||
v_count_verwijderd := v_count_verwijderd + 1;
|
||
ELSE
|
||
v_errormsg := 'Fout inactiveren perslid';
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_naam = SUBSTR ('INACTIEF:' || prs_perslid_naam, 1, 60),
|
||
prs_perslid_email = NULL,
|
||
prs_perslid_oslogin = NULL,
|
||
prs_perslid_oslogin2 = NULL
|
||
WHERE prs_perslid_key = rec.prs_perslid_key
|
||
AND INSTR (UPPER (prs_perslid_naam), 'INACTIEF:') = 0;
|
||
COMMIT;
|
||
|
||
v_count_inactief := v_count_inactief + 1;
|
||
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 ('HSLE_SCHONEN', 'W', rec.aanduiding || v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog ('HSLE_SCHONEN', 'S', 'Medewerkers/#verwijderd: ' || TO_CHAR (v_count_verwijderd), '');
|
||
fac.writelog ('HSLE_SCHONEN', 'S', 'Medewerkers/#inactief: ' || TO_CHAR (v_count_inactief), '');
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog ('HSLE_SCHONEN', 'E', v_errormsg, '');
|
||
COMMIT;
|
||
END schonen_accounts;
|
||
|
||
-- HSLE#74337: Toekennen medewerkers aan groep 302=FE - Medewerker!
|
||
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_medewerkers
|
||
IS
|
||
SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] '
|
||
aanduiding,
|
||
p.prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, prs_v_perslid_fullnames_all pf
|
||
WHERE INSTR (UPPER (COALESCE (p.prs_perslid_email, 'x')), '@STUDENT.HSLEIDEN.NL') = 0 -- HSLE#73333: Medewerker als email <> @student.hsleiden.nl (of leeg)!
|
||
AND p.prs_perslid_externid IS NOT NULL
|
||
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'x'), 1, 1) <> '_'
|
||
AND p.prs_perslid_apikey IS NULL -- Voor de zekerheid!
|
||
AND p.prs_perslid_key > 10 -- Voor de zekerheid!
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 302 -- FE - Medewerker
|
||
AND prs_perslid_key = p.prs_perslid_key)
|
||
ORDER BY prs_perslid_key;
|
||
BEGIN
|
||
v_count := 0;
|
||
v_datum1 := SYSDATE;
|
||
|
||
FOR rec IN c_medewerkers
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toevoegen autorisatiegroep';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
VALUES (302, rec.prs_perslid_key);
|
||
|
||
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', 'FE - Medewerker/#toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||
COMMIT;
|
||
END update_fegroep;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE HSLE_DAILY
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
-- Verwijder medewerkers 7 dagen na einddatum (in het verleden)!
|
||
hsle.schonen_accounts ();
|
||
|
||
-- HSLE#74337: Toekennen medewerkers aan groep 302=FE - Medewerker!
|
||
hsle.update_fegroep ();
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog ('DAILY', 'E', 'Proces afgebroken!', v_errormsg);
|
||
END HSLE_DAILY;
|
||
/
|
||
|
||
--
|
||
-- Personen import
|
||
--
|
||
CREATE OR REPLACE PROCEDURE hsle_post_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
BEGIN
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_dienstverband =
|
||
100 * fac.safe_to_number (prs_kenmerk2)
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
UPDATE fac_imp_perslid
|
||
SET prs_afdeling_naam =
|
||
SUBSTR (prs_afdeling_naam,
|
||
1,
|
||
INSTR (prs_afdeling_naam, '#') - 1)
|
||
WHERE INSTR (prs_afdeling_naam, '#') > 0
|
||
AND UPPER (prs_perslid_email) LIKE '%STUDENT.HSLEIDEN.NL%'
|
||
AND fac_import_key = p_import_key;
|
||
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE hsle_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
|
||
v_aantal_in_FCLT NUMBER;
|
||
v_aantal_uit_UMRA NUMBER;
|
||
BEGIN
|
||
v_errorhint := 'Generieke update';
|
||
|
||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid()-procedure.
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'0;0;0;0;0;0;6;4;3;1;'
|
||
|| '2;0;0;0;0;10;9;8;0;5;'
|
||
|| '7;11;0;0;0;0;12;13;14;15;'
|
||
|| '0;0;0;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
'Roepnaam;Voorletters;Tussenvoegsel;Achternaam;Persnr.;Afdnr.;Functie;Email;Mobile;Telefoon;Loginnaam;IID;Fte;Indienst;Uitdienst%');
|
||
COMMIT;
|
||
hsle_post_import_perslid (p_import_key);
|
||
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_errormsg,
|
||
'Inleesproces personen afgebroken!');
|
||
END hsle_import_perslid;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE hsle_post_update_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
CURSOR c_perslid_kenmerk_iid IS
|
||
SELECT prs_perslid_key, prs_kenmerk1, prs_perslid_email
|
||
FROM fac_imp_perslid
|
||
WHERE fac_import_key = p_import_key AND prs_kenmerk1 IS NOT NULL;
|
||
|
||
CURSOR c_perslid_kenmerk_overig IS
|
||
SELECT prs_perslid_key,
|
||
prs_kenmerk3 prs_perslid_ingangsdatum,
|
||
prs_kenmerk4 prs_perslid_einddatum,
|
||
prs_perslid_email
|
||
FROM fac_imp_perslid
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
-- De medewerkers, dus de niet-studenten, krijgen een extra autorisatiegroep (key 302): "FE - Medewerker", als ze deze autogroep (key 302) nog niet hebben.
|
||
CURSOR c_perslid_niet_studenten IS
|
||
SELECT ip.prs_perslid_key, ip.prs_perslid_email
|
||
FROM fac_imp_perslid ip
|
||
WHERE fac_import_key = p_import_key
|
||
AND UPPER (ip.prs_perslid_email) NOT LIKE
|
||
'%STUDENT.HSLEIDEN.NL%'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE prs_perslid_key = ip.prs_perslid_key
|
||
AND fac_groep_key = 302);
|
||
|
||
CURSOR c_perslid_studenten IS
|
||
SELECT ip.prs_perslid_key, ip.prs_perslid_email
|
||
FROM fac_imp_perslid ip
|
||
WHERE fac_import_key = p_import_key
|
||
AND UPPER (ip.prs_perslid_email) LIKE '%STUDENT.HSLEIDEN.NL%'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE prs_perslid_key = ip.prs_perslid_key
|
||
AND fac_groep_key = 621);
|
||
BEGIN
|
||
FOR rc IN c_perslid_kenmerk_iid
|
||
LOOP
|
||
BEGIN
|
||
-- IID heeft vaste kenmerk-key 1000
|
||
prs.upsertkenmerk (1000, rc.prs_perslid_key, rc.prs_kenmerk1);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Post update 1 (IID) bij persoon '
|
||
|| TO_CHAR (rc.prs_perslid_key)
|
||
|| ' is NIET volledig uitgevoerd',
|
||
'Email:' || rc.prs_perslid_email);
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rc IN c_perslid_kenmerk_overig
|
||
LOOP
|
||
BEGIN
|
||
UPDATE prs_perslid p
|
||
SET p.prs_perslid_ingangsdatum =
|
||
COALESCE (
|
||
TO_DATE (rc.prs_perslid_ingangsdatum,
|
||
'dd-mm-yyyy'),
|
||
p.prs_perslid_ingangsdatum),
|
||
p.prs_perslid_einddatum =
|
||
TO_DATE (rc.prs_perslid_einddatum, 'dd-mm-yyyy')
|
||
WHERE p.prs_perslid_key = rc.prs_perslid_key;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Post update 2 (KENMERK_OVERIG) bij persoon '
|
||
|| TO_CHAR (rc.prs_perslid_key)
|
||
|| ' is NIET volledig uitgevoerd',
|
||
'Email:' || rc.prs_perslid_email);
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rc IN c_perslid_niet_studenten
|
||
LOOP
|
||
BEGIN
|
||
INSERT INTO fac_gebruikersgroep (prs_perslid_key, fac_groep_key)
|
||
VALUES (rc.prs_perslid_key, 302);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Post update 3 (AUTORISATIE GROEP medewerker) bij persoon '
|
||
|| TO_CHAR (rc.prs_perslid_key)
|
||
|| ' is NIET volledig uitgevoerd',
|
||
'Email:' || rc.prs_perslid_email);
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rc IN c_perslid_studenten
|
||
LOOP
|
||
BEGIN
|
||
INSERT INTO fac_gebruikersgroep (prs_perslid_key, fac_groep_key)
|
||
VALUES (rc.prs_perslid_key, 621);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Post update 4 (AUTORISATIE GROEP student) bij persoon '
|
||
|| TO_CHAR (rc.prs_perslid_key)
|
||
|| ' is NIET volledig uitgevoerd',
|
||
'Email:' || rc.prs_perslid_email);
|
||
END;
|
||
END LOOP;
|
||
|
||
--HSLE#57025: Kopieer prs_perslid_externid naar prs_perslid_nr voor studenten!
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_nr = prs_perslid_externid
|
||
WHERE prs_perslid_verwijder IS NULL
|
||
AND UPPER (prs_perslid_email) LIKE '%STUDENT.HSLEIDEN.NL%';
|
||
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_errormsg,
|
||
'hsle_post_update_perslid() afgebroken!');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE hsle_update_perslid (p_import_key IN NUMBER)
|
||
IS
|
||
CURSOR c_del IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_externid,
|
||
pf.prs_perslid_naam_full
|
||
FROM prs_v_aanwezigperslid p, prs_v_perslid_fullnames_all pf
|
||
WHERE 1 = 1
|
||
AND INSTR (UPPER (p.prs_perslid_email), '@STUDENT.HSLEIDEN.NL') > 0
|
||
--HSLE#57025: AND p.prs_perslid_nr IS NOT NULL
|
||
AND p.prs_perslid_externid IS NOT NULL
|
||
AND SUBSTR (p.prs_perslid_oslogin, 1, 1) <> '_'
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_perslid
|
||
WHERE UPPER (prs_perslid_nr) = UPPER (p.prs_perslid_externid))
|
||
ORDER BY 2;
|
||
|
||
v_count NUMBER;
|
||
|
||
-- Procedure om generiek personen in te lezen of aan te passen.
|
||
-- p_sleutelkolom Bevat het veld die als sleutel bij de import dient.
|
||
-- NR - personeelsnummer
|
||
-- EMAIL - emailadres
|
||
-- LOGIN - logincode
|
||
-- APIKEY - API-key voor distributie van persoonsgegevens over FACILITORs
|
||
-- XID - externid (toegevoegd nav. HSLE#57025)
|
||
-- p_alg_type Werkplekken binnen dit niveau verwijderen
|
||
-- NULL - geen werkplekken verwijderen
|
||
-- A - altijd vaste werkplek verwijderen
|
||
-- R,V,G,L,D - werkplek(en) op dit niveau verwijderen
|
||
PROCEDURE update_perslid (p_import_key IN NUMBER,
|
||
p_sleutelkolom IN VARCHAR2,
|
||
p_alg_type IN VARCHAR2)
|
||
IS
|
||
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_tot NUMBER (10);
|
||
v_count_error NUMBER (10);
|
||
v_wpcount_error NUMBER (10);
|
||
--
|
||
v_srtperslid_key NUMBER (10);
|
||
v_perslid_key NUMBER (10);
|
||
v_afdeling_key NUMBER (10);
|
||
v_prs_perslid_naam VARCHAR2 (200);
|
||
v_prs_perslid_tussenvoegsel VARCHAR2 (200);
|
||
|
||
v_locatie_key NUMBER (10);
|
||
v_gebouw_key NUMBER (10);
|
||
v_verdieping_key NUMBER (10);
|
||
v_ruimte_key NUMBER (10);
|
||
v_space VARCHAR2 (1);
|
||
|
||
CURSOR cSPERSLID IS
|
||
SELECT MIN (prs_srtperslid_omschrijving) prs_srtperslid_omschrijving
|
||
FROM fac_imp_perslid i
|
||
WHERE NOT EXISTS
|
||
(SELECT prs_srtperslid_key
|
||
FROM prs_srtperslid
|
||
WHERE UPPER (prs_srtperslid_omschrijving) =
|
||
UPPER (i.prs_srtperslid_omschrijving))
|
||
GROUP BY UPPER (prs_srtperslid_omschrijving);
|
||
|
||
recSPersLid cSPersLid%ROWTYPE;
|
||
|
||
CURSOR cPERSLID IS SELECT * FROM fac_imp_perslid;
|
||
|
||
recPersLid cPersLid%ROWTYPE;
|
||
BEGIN
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
FOR recSPersLid IN cSPERSLID
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '';
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
v_aanduiding := recSPersLid.PRS_SRTPERSLID_OMSCHRIJVING;
|
||
v_errorhint := 'Fout bij toevoegen functie';
|
||
|
||
INSERT INTO prs_srtperslid (prs_srtperslid_omschrijving)
|
||
VALUES (recSPersLid.prs_srtperslid_omschrijving);
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_count_error := v_count_error + 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
' (ORACLE error number = <'
|
||
|| ORACLE_err_num
|
||
|| '> ORACLE error message = <'
|
||
|| 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',
|
||
'Personeelsfunctie: toegevoegde regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
'');
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Personeelsfunctie: toegevoegde regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
'');
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
v_wpcount_error := 0;
|
||
|
||
FOR recPersLid IN cPERSLID
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '';
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
v_aanduiding :=
|
||
recPersLid.prs_perslid_naam
|
||
|| '|'
|
||
|| recPersLid.prs_perslid_voornaam
|
||
|| '| ';
|
||
v_errorhint := 'Fout bij bepalen functie';
|
||
|
||
SELECT prs_srtperslid_key
|
||
INTO v_srtperslid_key
|
||
FROM prs_srtperslid
|
||
WHERE prs_srtperslid_verwijder IS NULL
|
||
AND UPPER (prs_srtperslid_omschrijving) =
|
||
UPPER (recPersLid.prs_srtperslid_omschrijving);
|
||
|
||
v_errorhint :=
|
||
'Afdeling niet gevonden ['
|
||
|| recPersLid.prs_afdeling_naam
|
||
|| ']';
|
||
|
||
SELECT a.prs_afdeling_key
|
||
INTO v_afdeling_key
|
||
FROM prs_afdeling a, prs_v_aanwezigafdeling_boom ab
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND UPPER (a.prs_afdeling_naam) =
|
||
UPPER (recPersLid.prs_afdeling_naam);
|
||
|
||
v_space := '';
|
||
|
||
-- Kijk hoe we met partnernamen moeten omgaan:
|
||
IF recPersLid.prs_perslid_naamgebruik_code = 0
|
||
THEN
|
||
-- Normaal gebruik van naam. Eigen naam wordt gebruikt.
|
||
v_prs_perslid_naam := recPersLid.prs_perslid_naam;
|
||
v_prs_perslid_tussenvoegsel :=
|
||
recPersLid.prs_perslid_tussenvoegsel;
|
||
ELSIF recPersLid.prs_perslid_naamgebruik_code = 1
|
||
THEN
|
||
-- Personen die de geboortenaam van de partner icm. de eigen naam willen gebruiken.
|
||
IF recPersLid.prs_perslid_tussenvoegsel IS NOT NULL
|
||
THEN
|
||
v_space := ' ';
|
||
END IF;
|
||
|
||
v_prs_perslid_naam :=
|
||
recPersLid.prs_perslid_partner_naam
|
||
|| ' - '
|
||
|| recPersLid.prs_perslid_tussenvoegsel
|
||
|| v_space
|
||
|| recPersLid.prs_perslid_naam;
|
||
v_prs_perslid_tussenvoegsel :=
|
||
recPersLid.prs_perslid_partner_tussenv;
|
||
ELSIF recPersLid.prs_perslid_naamgebruik_code = 2
|
||
THEN
|
||
-- Personen die de geboortenaam van de partner willen gebruiken.
|
||
v_prs_perslid_naam := recPersLid.prs_perslid_partner_naam;
|
||
v_prs_perslid_tussenvoegsel :=
|
||
recPersLid.prs_perslid_partner_tussenv;
|
||
ELSIF recPersLid.prs_perslid_naamgebruik_code = 3
|
||
THEN
|
||
-- Personen die de eigen naam icm. de geboortenaam van de partner willen gebruiken.
|
||
IF recPersLid.prs_perslid_partner_tussenv IS NOT NULL
|
||
THEN
|
||
v_space := ' ';
|
||
END IF;
|
||
|
||
v_prs_perslid_naam :=
|
||
recPersLid.prs_perslid_naam
|
||
|| ' - '
|
||
|| recPersLid.prs_perslid_partner_tussenv
|
||
|| v_space
|
||
|| recPersLid.prs_perslid_partner_naam;
|
||
v_prs_perslid_tussenvoegsel :=
|
||
recPersLid.prs_perslid_tussenvoegsel;
|
||
END IF;
|
||
|
||
IF LENGTH (v_prs_perslid_naam) > 60
|
||
THEN
|
||
v_prs_perslid_naam := SUBSTR (v_prs_perslid_naam, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Samengestelde achternaam is te lang',
|
||
'Aanduiding wordt afgebroken tot ['
|
||
|| v_prs_perslid_naam
|
||
|| ']');
|
||
END IF;
|
||
|
||
-- p_sleutelkolom
|
||
-- NR = prs_perslid_nr gevuld met prs_perslid_nr (zichtbaar)
|
||
-- EMAIL = prs_perslid_email
|
||
-- LOGIN = prs_perslid_oslogin
|
||
-- APIKEY = prs_perslid_apikey
|
||
-- XID = prs_perslid_externid gevuld met prs_perslid_nr (onzichtbaar)
|
||
v_errorhint := 'Kijken of de persoon al bestaat';
|
||
|
||
SELECT MAX (prs_perslid_key), COUNT (*)
|
||
INTO v_perslid_key, v_count
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_verwijder IS NULL
|
||
AND ( ( p_sleutelkolom IS NULL
|
||
AND UPPER (prs_perslid_naam) =
|
||
UPPER (recPersLid.prs_perslid_naam)
|
||
AND UPPER (prs_perslid_voornaam) =
|
||
UPPER (recPersLid.prs_perslid_voornaam))
|
||
OR ( UPPER (p_sleutelkolom) = 'NR'
|
||
AND UPPER (prs_perslid_nr) =
|
||
UPPER (recPersLid.prs_perslid_nr))
|
||
OR ( UPPER (p_sleutelkolom) = 'EMAIL'
|
||
AND UPPER (prs_perslid_email) =
|
||
UPPER (recPersLid.prs_perslid_email))
|
||
OR ( UPPER (p_sleutelkolom) = 'LOGIN'
|
||
AND UPPER (prs_perslid_oslogin) =
|
||
UPPER (recPersLid.prs_perslid_oslogin))
|
||
OR ( UPPER (p_sleutelkolom) = 'APIKEY'
|
||
AND UPPER (prs_perslid_apikey) =
|
||
UPPER (recPersLid.prs_perslid_apikey))
|
||
OR ( UPPER (p_sleutelkolom) = 'XID'
|
||
AND UPPER (prs_perslid_externid) =
|
||
UPPER (recPersLid.prs_perslid_nr)));
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen persoon';
|
||
|
||
INSERT INTO prs_perslid (prs_perslid_module,
|
||
prs_srtperslid_key,
|
||
prs_afdeling_key,
|
||
prs_perslid_naam,
|
||
prs_perslid_voorletters,
|
||
prs_perslid_tussenvoegsel,
|
||
prs_perslid_voornaam,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel,
|
||
prs_perslid_email,
|
||
prs_perslid_nr,
|
||
prs_perslid_geslacht,
|
||
prs_perslid_titel,
|
||
prs_perslid_dienstverband,
|
||
prs_perslid_oslogin,
|
||
prs_perslid_apikey,
|
||
prs_perslid_externid)
|
||
VALUES (
|
||
'PRS',
|
||
v_srtperslid_key,
|
||
v_afdeling_key,
|
||
v_prs_perslid_naam,
|
||
recPersLid.prs_perslid_voorletters,
|
||
v_prs_perslid_tussenvoegsel,
|
||
recPersLid.prs_perslid_voornaam,
|
||
recPersLid.prs_perslid_telefoonnr,
|
||
recPersLid.prs_perslid_mobiel,
|
||
recPersLid.prs_perslid_email,
|
||
DECODE (UPPER (p_sleutelkolom),
|
||
'NR', recPersLid.prs_perslid_nr,
|
||
NULL),
|
||
recPersLid.prs_perslid_geslacht,
|
||
recPersLid.prs_perslid_titel,
|
||
recPersLid.prs_perslid_dienstverband,
|
||
recPersLid.prs_perslid_oslogin,
|
||
recPersLid.prs_perslid_apikey,
|
||
DECODE (UPPER (p_sleutelkolom),
|
||
'XID', recPersLid.prs_perslid_nr,
|
||
NULL))
|
||
RETURNING prs_perslid_key
|
||
INTO v_perslid_key;
|
||
|
||
prs.setpassword (v_perslid_key,
|
||
recPersLid.prs_perslid_wachtwoord);
|
||
ELSIF v_count = 1
|
||
THEN
|
||
v_errorhint := 'Fout bij bijwerken persoon';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_srtperslid_key = v_srtperslid_key,
|
||
prs_afdeling_key = v_afdeling_key,
|
||
prs_perslid_naam = v_prs_perslid_naam,
|
||
prs_perslid_voorletters =
|
||
recPersLid.prs_perslid_voorletters,
|
||
prs_perslid_tussenvoegsel =
|
||
v_prs_perslid_tussenvoegsel,
|
||
prs_perslid_voornaam =
|
||
recPersLid.prs_perslid_voornaam,
|
||
prs_perslid_nr =
|
||
DECODE (UPPER (p_sleutelkolom),
|
||
'NR', recPersLid.prs_perslid_nr,
|
||
NULL),
|
||
prs_perslid_dienstverband =
|
||
recPersLid.prs_perslid_dienstverband,
|
||
prs_perslid_geslacht =
|
||
recPersLid.prs_perslid_geslacht,
|
||
prs_perslid_titel = recPersLid.prs_perslid_titel,
|
||
prs_perslid_telefoonnr =
|
||
recPersLid.prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel = recPersLid.prs_perslid_mobiel,
|
||
prs_perslid_email = recPersLid.prs_perslid_email,
|
||
prs_perslid_oslogin =
|
||
recPersLid.prs_perslid_oslogin,
|
||
prs_perslid_apikey = recPersLid.prs_perslid_apikey,
|
||
prs_perslid_externid =
|
||
DECODE (UPPER (p_sleutelkolom),
|
||
'XID', recPersLid.prs_perslid_nr,
|
||
NULL)
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
|
||
IF recPersLid.prs_perslid_wachtwoord IS NOT NULL
|
||
THEN
|
||
prs.setpassword (v_perslid_key,
|
||
recPersLid.prs_perslid_wachtwoord);
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Handig om te onthouden tbv. CUST-postprocessing (van kenmerken)!
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_key = v_perslid_key
|
||
WHERE fac_import_key = recPersLid.fac_import_key
|
||
AND fac_imp_file_index = recPersLid.fac_imp_file_index;
|
||
|
||
COMMIT; -- persoon in ieder geval toegevoegd.
|
||
|
||
v_aanduiding :=
|
||
recPersLid.prs_perslid_nr
|
||
|| '|'
|
||
|| recPersLid.prs_perslid_naam
|
||
|| '|'
|
||
|| recPersLid.prs_perslid_voornaam
|
||
|| '|'
|
||
|| recPersLid.alg_locatie_code
|
||
|| '|'
|
||
|| recPersLid.alg_gebouw_code
|
||
|| '|'
|
||
|| recPersLid.alg_verdieping_volgnr
|
||
|| '|'
|
||
|| recPersLid.alg_ruimte_nr
|
||
|| ' - ';
|
||
|
||
v_locatie_key := NULL;
|
||
v_gebouw_key := NULL;
|
||
v_verdieping_key := NULL;
|
||
v_ruimte_key := NULL;
|
||
|
||
v_errorhint := 'Fout bij bepalen locatie';
|
||
|
||
SELECT MAX (alg_locatie_key)
|
||
INTO v_locatie_key
|
||
FROM alg_v_aanweziglocatie
|
||
WHERE UPPER (alg_locatie_code) =
|
||
UPPER (recPersLid.alg_locatie_code);
|
||
|
||
v_errorhint := 'Fout bij bepalen gebouw';
|
||
|
||
SELECT MAX (alg_gebouw_key)
|
||
INTO v_gebouw_key
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE UPPER (alg_gebouw_code) =
|
||
UPPER (recPersLid.alg_gebouw_code)
|
||
AND alg_locatie_key = v_locatie_key;
|
||
|
||
v_errorhint := 'Fout bij bepalen verdieping';
|
||
|
||
SELECT MAX (alg_verdieping_key)
|
||
INTO v_verdieping_key
|
||
FROM alg_v_aanwezigverdieping
|
||
WHERE UPPER (alg_verdieping_volgnr) =
|
||
UPPER (recPersLid.alg_verdieping_volgnr)
|
||
AND alg_gebouw_key = v_gebouw_key;
|
||
|
||
v_errorhint := 'Fout bij bepalen beoogde ruimte';
|
||
|
||
SELECT MAX (alg_ruimte_key)
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE r.alg_ruimte_upper_nr =
|
||
UPPER (recPersLid.alg_ruimte_nr)
|
||
AND r.alg_verdieping_key = v_verdieping_key;
|
||
|
||
-- Standaard ruimte moet door cust-gedeelte van de 'Fout bij bepalen beoogde ruimte' import ingevuld worden.
|
||
|
||
-- Als er een locatie ingevuld is willen we ook een ruimte vinden.
|
||
IF v_ruimte_key IS NULL
|
||
AND recPersLid.alg_locatie_code IS NOT NULL
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Ruimte kan niet gevonden worden',
|
||
'Controleer locatie, gebouw en verdieping');
|
||
END IF;
|
||
|
||
-- Fouten bij het bepalen van de werkplek worden als waarschuwing weergegeven.
|
||
BEGIN
|
||
v_errorhint := 'Fout bij het aanpassen van de werkplek';
|
||
PRS.movetoruimte (v_perslid_key,
|
||
v_ruimte_key,
|
||
p_alg_type);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_wpcount_error := v_wpcount_error + 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
' (ORACLE error number = <'
|
||
|| ORACLE_err_num
|
||
|| '> ORACLE error message = <'
|
||
|| ORACLE_err_mes
|
||
|| '>)';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_count_error := v_count_error + 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
' (ORACLE error number = <'
|
||
|| ORACLE_err_num
|
||
|| '> ORACLE error message = <'
|
||
|| 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',
|
||
'Persoon: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
'');
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Persoon: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
'');
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Werkplek: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_wpcount_error),
|
||
'');
|
||
COMMIT;
|
||
END update_perslid;
|
||
BEGIN
|
||
-- generic update
|
||
SELECT COUNT (*) INTO v_count FROM fac_imp_perslid;
|
||
|
||
IF v_count < 10000
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Het aantal te importeren personen is te klein ('
|
||
|| TO_CHAR (v_count)
|
||
|| ')',
|
||
'Zie Specificatie');
|
||
RETURN;
|
||
END IF;
|
||
|
||
-- XID -: Matchen op basis van (onzichtbare) prs_perslid_externid.
|
||
-- NULL -: Alle werkplekken met rust laten.
|
||
update_perslid (p_import_key, 'XID', NULL);
|
||
|
||
-- Verwijder personen die niet meer in de import voorkomen.
|
||
FOR rec IN c_del
|
||
LOOP
|
||
BEGIN
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
hsle_post_update_perslid (p_import_key);
|
||
END hsle_update_perslid;
|
||
/
|
||
|
||
-- View voor referentie naar RES_RSV_RUIMTE
|
||
|
||
CREATE OR REPLACE VIEW HSLE_V_RES_REF
|
||
(
|
||
res_rsv_ruimte_key,
|
||
res_rsv_ruimte_omschr,
|
||
res_rsv_ruimte_verwijder
|
||
)
|
||
AS
|
||
SELECT res_rsv_ruimte_key,
|
||
res_reservering_key
|
||
|| '/'
|
||
|| res_rsv_ruimte_volgnr
|
||
|| res_rsv_ruimte_omschrijving,
|
||
res_rsv_ruimte_verwijder
|
||
FROM res_rsv_ruimte;
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_medewerker
|
||
(
|
||
prs_perslid_key,
|
||
prs_perslid_naam,
|
||
prs_perslid_verwijder
|
||
)
|
||
AS
|
||
SELECT pf.prs_perslid_key, pf.prs_perslid_naam_friendly, p.prs_perslid_verwijder
|
||
FROM prs_v_perslid_fullnames pf, prs_perslid p, prs_v_afdeling_boom ab
|
||
WHERE pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key1 IN (-1);
|
||
|
||
-- VIEW om kenmerken toe te voegen aan UDR_DEELMELDING
|
||
CREATE OR REPLACE VIEW HSLE_V_INS_DEELMELDING
|
||
(
|
||
DEEL_KEY,
|
||
DISCIPLINE,
|
||
SOORT,
|
||
GROEP,
|
||
SOORTCODE,
|
||
OMSCHRIJVING,
|
||
PLAATSEIGENAAR,
|
||
PLAATSEIGENAARTYPE,
|
||
PLAATSAANDUIDING,
|
||
EIGENAAR,
|
||
EIGENAAR_KEY,
|
||
OPMERKING,
|
||
REGIO,
|
||
DISTRICT,
|
||
LOCATIE_CODE,
|
||
LOCATIE_OMSCHRIJVING,
|
||
LOCATIE_PLAATS,
|
||
GEBOUWCODE,
|
||
GEBOUW,
|
||
TERREINSECTORCODE,
|
||
TERREINSECTOR,
|
||
VERDIEPINGCODE,
|
||
RUIMTENR,
|
||
WERKPLEKVOLGNR,
|
||
WERKPLEK,
|
||
UITLEENBAAR,
|
||
UITGELEEND,
|
||
RES_OPMERKING,
|
||
BEHEERDER,
|
||
VERVALDATUM,
|
||
ACTIEF,
|
||
AANTAL,
|
||
STATE,
|
||
STATEDATE,
|
||
FCLT_3D_DISCIPLINE_KEY,
|
||
FCLT_3D_AFDELING_KEY,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
MELDING_KEY,
|
||
MELDINGNUMMER,
|
||
MELDING_START_KEY,
|
||
EXTERNNUMMER,
|
||
MELDING_DISTRICT,
|
||
MELDING_LOCATIECODE,
|
||
MELDING_LOCATIE,
|
||
MELDING_LOCATIEPLAATS,
|
||
MELDING_GEBOUWCODE,
|
||
MELDING_GEBOUW,
|
||
MELDING_VERDIEPING,
|
||
MELDING_RUIMTENR,
|
||
MELDING_RUIMTE,
|
||
MELDING_ORDERNR,
|
||
KOSTENSOORTGROEP,
|
||
KOSTENSOORT,
|
||
KOSTENPLAATS,
|
||
KOSTENPLAATS_OMS,
|
||
MELDER,
|
||
MELDER_KEY,
|
||
AFDELING,
|
||
AFDELING_OMSCHRIJVING,
|
||
BEDRIJF_KEY,
|
||
INVOERDER,
|
||
MELDBRON,
|
||
SOORTMELDING,
|
||
PRODUCTGROEP,
|
||
SUBPRODUCTGROEP,
|
||
BEHANDELGROEP,
|
||
BEHANDELAAR,
|
||
BEHANDELAAR_KEY,
|
||
SUBPRODUCTGROEPGROEP,
|
||
MELDING_STATUS,
|
||
SLA_NVT,
|
||
SLA_WERKDGN,
|
||
SLA_WERKUREN,
|
||
SLA_RESPIJTDGN,
|
||
SLA_RESPIJTUREN,
|
||
SLA_ACCPTDGN,
|
||
SLA_ACCPTUREN,
|
||
PLAN_UITVOERTIJD_SLA,
|
||
MELDING_DATUM,
|
||
MELDING_EINDDATUM,
|
||
MELDING_ACCEPTDATUM,
|
||
MELDING_AFGEMELD,
|
||
MELDING_ACCEPTED,
|
||
DOORLOOPTIJD_WERKDGN,
|
||
DOORLOOPTIJD_WERKUREN,
|
||
ONDERWERP,
|
||
VOMSCHRIJVING,
|
||
MELDING_OPMERKING,
|
||
PRIORITEIT,
|
||
PRIORITEITTXT,
|
||
RATING,
|
||
RATING_OPMERKING,
|
||
BOLLETJE,
|
||
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,
|
||
MELDING_KOFFIE
|
||
)
|
||
AS
|
||
SELECT d.deel_key,
|
||
d.discipline,
|
||
d.soort,
|
||
d.groep,
|
||
d.soortcode,
|
||
d.omschrijving,
|
||
d.plaatseigenaar,
|
||
d.plaatseigenaartype,
|
||
d.plaatsaanduiding,
|
||
d.eigenaar,
|
||
d.eigenaar_key,
|
||
d.opmerking,
|
||
d.regio,
|
||
d.district,
|
||
d.locatie_code,
|
||
d.locatie_omschrijving,
|
||
d.locatie_plaats,
|
||
d.gebouwcode,
|
||
d.gebouw,
|
||
d.terreinsectorcode,
|
||
d.terreinsector,
|
||
d.verdiepingcode,
|
||
d.ruimtenr,
|
||
d.werkplekvolgnr,
|
||
d.werkplek,
|
||
d.uitleenbaar,
|
||
d.uitgeleend,
|
||
d.res_opmerking,
|
||
d.beheerder,
|
||
d.vervaldatum,
|
||
d.actief,
|
||
d.aantal,
|
||
d.state,
|
||
d.statedate,
|
||
d.fclt_3d_discipline_key,
|
||
d.fclt_3d_afdeling_key,
|
||
d.fclt_3d_locatie_key,
|
||
m.melding_key,
|
||
m.meldingnummer,
|
||
m.melding_start_key,
|
||
m.externnummer,
|
||
m.melding_district,
|
||
m.melding_locatiecode,
|
||
m.melding_locatie,
|
||
m.melding_locatieplaats,
|
||
--m.fclt_3d_locatie_key,
|
||
m.melding_gebouwcode,
|
||
m.melding_gebouw,
|
||
m.melding_verdieping,
|
||
m.melding_ruimtenr,
|
||
m.melding_ruimte,
|
||
m.melding_ordernr,
|
||
m.kostensoortgroep,
|
||
m.kostensoort,
|
||
m.kostenplaats,
|
||
m.kostenplaats_oms,
|
||
m.melder,
|
||
m.melder_key,
|
||
m.afdeling,
|
||
m.afdeling_omschrijving,
|
||
--m.fclt_3d_afdeling_key,
|
||
m.bedrijf_key,
|
||
m.invoerder,
|
||
m.meldbron,
|
||
m.soortmelding,
|
||
--m.fclt_3d_discipline_key,
|
||
m.productgroep,
|
||
m.subproductgroep,
|
||
m.behandelgroep,
|
||
m.behandelaar,
|
||
m.behandelaar_key,
|
||
m.subproductgroepgroep,
|
||
m.melding_status,
|
||
m.sla_nvt,
|
||
m.sla_werkdgn,
|
||
m.sla_werkuren,
|
||
m.sla_respijtdgn,
|
||
m.sla_respijturen,
|
||
m.sla_accptdgn,
|
||
m.sla_accpturen,
|
||
m.plan_uitvoertijd_sla,
|
||
m.melding_datum,
|
||
m.melding_einddatum,
|
||
m.melding_acceptdatum,
|
||
m.melding_afgemeld,
|
||
m.melding_accepted,
|
||
m.doorlooptijd_werkdgn,
|
||
m.doorlooptijd_werkuren,
|
||
m.onderwerp,
|
||
m.vomschrijving,
|
||
m.melding_opmerking,
|
||
m.prioriteit,
|
||
m.prioriteittxt,
|
||
m.rating,
|
||
m.rating_opmerking,
|
||
m.bolletje,
|
||
m.accept_sla_dagen,
|
||
m.accept_sla_uren,
|
||
m.uitvoering_sla_dagen,
|
||
m.uitvoering_sla_uren,
|
||
m.afspraak_sla_dagen,
|
||
m.afspraak_sla_uren,
|
||
m.accept_sla_optijd,
|
||
m.uitvoering_sla_optijd,
|
||
m.afspraak_sla_optijd,
|
||
m.selfservice,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud
|
||
WHERE km.mld_kenmerk_key = 248 -- Keuze storing koffieaut.
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key
|
||
AND km.mld_melding_key = m.melding_key) waarde
|
||
FROM ins_v_udr_deel d, mld_melding_object mo, mld_v_udr_melding m
|
||
WHERE d.deel_key = mo.ins_deel_key
|
||
AND mo.mld_melding_key = m.melding_key;
|
||
|
||
-- HSLE#56067: Maandelijks freeze van ruimtehistorie.
|
||
CREATE OR REPLACE VIEW hsle_v_hv_actual
|
||
(
|
||
district_oms,
|
||
locatie_code,
|
||
gebouw_code,
|
||
verdieping_code,
|
||
ruimte_key,
|
||
ruimte_nr,
|
||
omschrijving,
|
||
functie,
|
||
bvo,
|
||
omtrek,
|
||
inhoud,
|
||
opmerking,
|
||
vloerafwerking,
|
||
status,
|
||
werkplekken,
|
||
toelichting,
|
||
inrichting,
|
||
opleiding,
|
||
aantal_wp, -- #prs_werkplek!
|
||
wp_bez, -- Som prs_perslidwerkplek_bezetting / #prs_werkplek
|
||
aantal_afd, -- #prs_afdeling (zou 1 moeten zijn)!
|
||
afd_naam, -- prs_afdeling_naam van oudste afdeling!
|
||
afd_oms, -- prs_afdeling_omschrijving van oudste afdeling!
|
||
afd_bez -- prs_ruimteafdeling_bezetting van oudste afdeling!
|
||
)
|
||
AS
|
||
SELECT x.alg_district_omschrijving,
|
||
x.alg_locatie_code,
|
||
x.alg_gebouw_code,
|
||
x.alg_verdieping_code,
|
||
x.alg_ruimte_key,
|
||
x.alg_ruimte_nr,
|
||
x.alg_ruimte_omschrijving,
|
||
sr.alg_srtruimte_omschrijving,
|
||
x.alg_ruimte_bruto_vloeropp,
|
||
x.alg_ruimte_omtrek,
|
||
x.alg_ruimte_inhoud,
|
||
x.alg_ruimte_opmerking,
|
||
ud1.fac_usrdata_omschr vloerafwerking,
|
||
ud2.fac_usrdata_omschr status,
|
||
ok3.alg_onrgoedkenmerk_waarde werkplekken,
|
||
ok4.alg_onrgoedkenmerk_waarde toelichting,
|
||
ok5.alg_onrgoedkenmerk_waarde inrichting,
|
||
ud6.fac_usrdata_omschr opleiding,
|
||
pwp.aantal aantal_wp,
|
||
DECODE (pwp.prs_alg_ruimte_key,
|
||
NULL, NULL,
|
||
ROUND (pwp.bezetting / pwp.aantal, 5)) wp_bez,
|
||
ra.aantal aantal_afd,
|
||
afd.prs_afdeling_naam,
|
||
afd.prs_afdeling_omschrijving,
|
||
DECODE (ra.aantal, 1, ra.bezetting, NULL) afd_bez -- Bezetting ongedefinieerd als aantal > 1!
|
||
FROM (SELECT r.alg_ruimte_key,
|
||
r.alg_ruimte_nr,
|
||
v.alg_verdieping_code,
|
||
g.alg_gebouw_code,
|
||
l.alg_locatie_code,
|
||
d.alg_district_omschrijving,
|
||
r.alg_ruimte_omschrijving,
|
||
r.alg_srtruimte_key,
|
||
r.alg_ruimte_bruto_vloeropp,
|
||
r.alg_ruimte_omtrek,
|
||
r.alg_ruimte_inhoud,
|
||
r.alg_ruimte_opmerking
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key) x
|
||
LEFT JOIN alg_v_aanwezigsrtruimte sr
|
||
ON x.alg_srtruimte_key = sr.alg_srtruimte_key
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk ok1
|
||
ON x.alg_ruimte_key = ok1.alg_onrgoed_key
|
||
AND ok1.alg_kenmerk_key = 1003 -- Vloerafwerking
|
||
LEFT JOIN fac_v_aanwezigusrdata ud1
|
||
ON fac.safe_to_number (ok1.alg_onrgoedkenmerk_waarde) =
|
||
ud1.fac_usrdata_key
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk ok2
|
||
ON x.alg_ruimte_key = ok2.alg_onrgoed_key
|
||
AND ok2.alg_kenmerk_key = 1004 -- Status
|
||
LEFT JOIN fac_v_aanwezigusrdata ud2
|
||
ON fac.safe_to_number (ok2.alg_onrgoedkenmerk_waarde) =
|
||
ud2.fac_usrdata_key
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk ok3
|
||
ON x.alg_ruimte_key = ok3.alg_onrgoed_key
|
||
AND ok3.alg_kenmerk_key = 1005 -- Werkplekken
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk ok4
|
||
ON x.alg_ruimte_key = ok4.alg_onrgoed_key
|
||
AND ok4.alg_kenmerk_key = 1006 -- Toelichting/beheer
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk ok5
|
||
ON x.alg_ruimte_key = ok5.alg_onrgoed_key
|
||
AND ok5.alg_kenmerk_key = 1040 -- Inrichting
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk ok6
|
||
ON x.alg_ruimte_key = ok6.alg_onrgoed_key
|
||
AND ok6.alg_kenmerk_key = 1060 -- Opleiding
|
||
LEFT JOIN fac_v_aanwezigusrdata ud6
|
||
ON fac.safe_to_number (ok6.alg_onrgoedkenmerk_waarde) =
|
||
ud6.fac_usrdata_key
|
||
LEFT JOIN
|
||
( SELECT wp.prs_alg_ruimte_key,
|
||
COUNT (*) aantal,
|
||
SUM (pw.prs_perslidwerkplek_bezetting) bezetting
|
||
FROM prs_perslidwerkplek pw, prs_werkplek wp -- WPs
|
||
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
|
||
GROUP BY wp.prs_alg_ruimte_key) pwp
|
||
ON x.alg_ruimte_key = pwp.prs_alg_ruimte_key
|
||
LEFT JOIN ( SELECT alg_ruimte_key,
|
||
COUNT (*) aantal,
|
||
MIN (prs_afdeling_key) prs_afdeling_key,
|
||
MIN (prs_ruimteafdeling_bezetting) bezetting
|
||
FROM prs_v_aanwezigruimteafdeling -- Afdeling(en) op ruimte
|
||
GROUP BY alg_ruimte_key) ra
|
||
ON x.alg_ruimte_key = ra.alg_ruimte_key
|
||
LEFT JOIN prs_afdeling afd -- Afdeling
|
||
ON ra.prs_afdeling_key = afd.prs_afdeling_key
|
||
AND afd.prs_afdeling_verwijder IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_hv_frozen
|
||
(
|
||
maand,
|
||
district_oms,
|
||
locatie_code,
|
||
gebouw_code,
|
||
verdieping_code,
|
||
ruimte_key,
|
||
ruimte_nr,
|
||
omschrijving,
|
||
functie,
|
||
bvo,
|
||
omtrek,
|
||
inhoud,
|
||
opmerking,
|
||
vloerafwerking,
|
||
status,
|
||
werkplekken,
|
||
toelichting,
|
||
inrichting,
|
||
opleiding,
|
||
aantal_wp, -- #prs_werkplek!
|
||
wp_bez, -- Som prs_perslidwerkplek_bezetting / #prs_werkplek
|
||
aantal_afd, -- #prs_afdeling (zou 1 moeten zijn)!
|
||
afd_naam, -- prs_afdeling_naam van oudste afdeling!
|
||
afd_oms, -- prs_afdeling_omschrijving van oudste afdeling!
|
||
afd_bez -- prs_ruimteafdeling_bezetting van oudste afdeling!
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (freeze_datum, 'yyyy-mm') maand,
|
||
dis_oms,
|
||
loc_code,
|
||
geb_code,
|
||
ver_code,
|
||
ruimte_key,
|
||
ruimte_nr,
|
||
ruimte_oms,
|
||
ruimte_functie,
|
||
ruimte_bvo,
|
||
ruimte_omtrek,
|
||
ruimte_inhoud,
|
||
ruimte_opm,
|
||
vloerafwerking,
|
||
status,
|
||
inrichting,
|
||
werkplekken,
|
||
toelichting,
|
||
opleiding,
|
||
aantal_wp,
|
||
wp_bez,
|
||
aantal_afd,
|
||
afd_naam,
|
||
afd_oms,
|
||
afd_bez
|
||
FROM hsle_hv_freeze;
|
||
|
||
-- Dummy export NACHTWERK!
|
||
CREATE OR REPLACE PROCEDURE hsle_select_nachtwerk (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Cursor over alle ruimteregels!
|
||
CURSOR c1 IS
|
||
SELECT *
|
||
FROM hsle_v_hv_actual
|
||
ORDER BY ruimte_key;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
freeze_datum DATE;
|
||
BEGIN
|
||
-- LET OP: NACHTWERK-export draait dagelijks na middernacht en de historie
|
||
-- van ruimtegegevens wordt maandelijks alleen in nacht na 15e dag
|
||
-- van maand bewaard!
|
||
IF TO_CHAR (SYSDATE, 'dd') = '16' -- Nacht na 15e dag van maand!
|
||
THEN
|
||
v_count_tot := 0;
|
||
freeze_datum := SYSDATE;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
INSERT INTO hsle_hv_freeze (dis_oms,
|
||
loc_code,
|
||
geb_code,
|
||
ver_code,
|
||
ruimte_key,
|
||
ruimte_nr,
|
||
ruimte_oms,
|
||
ruimte_functie,
|
||
ruimte_bvo,
|
||
ruimte_omtrek,
|
||
ruimte_inhoud,
|
||
ruimte_opm,
|
||
vloerafwerking,
|
||
status,
|
||
inrichting,
|
||
werkplekken,
|
||
toelichting,
|
||
opleiding,
|
||
aantal_wp,
|
||
wp_bez,
|
||
aantal_afd,
|
||
afd_naam,
|
||
afd_oms,
|
||
afd_bez,
|
||
freeze_datum)
|
||
VALUES (rec.district_oms,
|
||
rec.locatie_code,
|
||
rec.gebouw_code,
|
||
rec.verdieping_code,
|
||
rec.ruimte_key,
|
||
rec.ruimte_nr,
|
||
rec.omschrijving,
|
||
rec.functie,
|
||
rec.bvo,
|
||
rec.omtrek,
|
||
rec.inhoud,
|
||
rec.opmerking,
|
||
rec.vloerafwerking,
|
||
rec.status,
|
||
rec.inrichting,
|
||
rec.werkplekken,
|
||
rec.toelichting,
|
||
rec.opleiding,
|
||
rec.aantal_wp,
|
||
rec.wp_bez,
|
||
rec.aantal_afd,
|
||
rec.afd_naam,
|
||
rec.afd_oms,
|
||
rec.afd_bez,
|
||
freeze_datum);
|
||
|
||
v_count_tot := v_count_tot + 1;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname,
|
||
'S',
|
||
'Ruimtegegevens/#bevroren: ' || 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 (p_applname,
|
||
'E',
|
||
'Proces NACHTWERK afgebroken!',
|
||
v_errormsg);
|
||
END hsle_select_nachtwerk;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE hsle_processemail (pfrom IN VARCHAR2,
|
||
pto IN VARCHAR2,
|
||
psubject IN VARCHAR2,
|
||
pbody IN VARCHAR2,
|
||
psessionid IN VARCHAR2,
|
||
pemailkey IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
defaultstdmelding fac_setting.fac_setting_default%TYPE;
|
||
v_mld_meldbron_key NUMBER (10);
|
||
v_directafwijzen NUMBER (10) := 0;
|
||
v_from VARCHAR2 (1000) := '';
|
||
v_voor_at VARCHAR2 (1000) := '';
|
||
v_na_at VARCHAR2 (1000) := '';
|
||
sender prs_perslid.prs_perslid_key%TYPE;
|
||
kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
|
||
v_melding_email_ext mld_melding.mld_melding_email_ext%TYPE := '';
|
||
v_to VARCHAR2 (1000) := '';
|
||
v_cc VARCHAR2 (1000) := '';
|
||
v_mailadres_kenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
|
||
v_toadres_kenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
|
||
v_ccadres_kenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
|
||
v_meldbron_kenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
|
||
subject_regexp fac_setting.fac_setting_default%TYPE;
|
||
v_mldnum VARCHAR2 (4000);
|
||
v_srtdisc VARCHAR2 (4000);
|
||
v_mld_key_uit_subject mld_melding.mld_melding_key%TYPE;
|
||
v_mldkey mld_melding.mld_melding_key%TYPE;
|
||
v_melder mld_melding.prs_perslid_key%TYPE;
|
||
l_vantekst VARCHAR2 (100);
|
||
l_body VARCHAR2 (4000);
|
||
v_behandelaar_key mld_melding.mld_melding_behandelaar_key%TYPE;
|
||
v_behandelaar2_key mld_melding.mld_melding_behandelaar2_key%TYPE;
|
||
v_mldprefix VARCHAR2 (10);
|
||
kkey mld_kenmerk.mld_kenmerk_key%TYPE;
|
||
v_count NUMBER (10);
|
||
|
||
-- HSLE#35572: Resultaat is het linkerdeel van een string p_str tot en met waar de zoekstring p_search_str bestaat, zo niet, dan levert dan de NULL value op.
|
||
-- Let op: als de zoekstring niet in de eerste 4000 tekens wordt gevonden, dan wordt ook de NULL-value opgeleverd.
|
||
-- Dus:
|
||
-- hsle_leftstr('marcel', 'rc') -> 'ma'
|
||
-- hsle_leftstr('marcel', 'xx') -> ''
|
||
FUNCTION hsle_leftstr (p_str IN VARCHAR2, p_search_str IN VARCHAR2)
|
||
RETURN VARCHAR2
|
||
IS
|
||
p_result_str VARCHAR2 (4000);
|
||
l_van_pos NUMBER (10);
|
||
BEGIN
|
||
l_van_pos := INSTR (p_str, p_search_str);
|
||
|
||
IF l_van_pos > 0 AND l_van_pos < 4000
|
||
THEN
|
||
p_result_str := SUBSTR (p_str, 1, l_van_pos - 1);
|
||
ELSE
|
||
p_result_str := NULL;
|
||
END IF;
|
||
|
||
RETURN (p_result_str);
|
||
END;
|
||
BEGIN
|
||
-- We beschouwen dit als een nieuwe melding
|
||
v_errormsg := 'Fout bepalen soortmelding ' || COALESCE (pto, '???');
|
||
|
||
IF (UPPER (pto) = UPPER ('uMdbnym@hsle.facilitor.nl'))
|
||
THEN
|
||
-- HSLE#33581: Social Media 'Userlike' berichten laten landen in mld_stdmelding_key=191='Social Media' onder vakgroep 'SD (Social Media)'
|
||
defaultstdmelding := '191';
|
||
v_mld_meldbron_key := 8; -- Vanaf 2015.3 zijn meldbronnen 8 (Chat) en 9 (Social Media) ook mogelijk
|
||
ELSE
|
||
IF (UPPER (pto) = UPPER ('TdDpVge@hsle.facilitor.nl'))
|
||
THEN
|
||
-- HSLE#37091: Mail naar studentzaken@hsleiden.nl laten landen in mld_stdmelding_key=1241='Mailmelding' onder vakgroep 'Studentinschrijving'
|
||
defaultstdmelding := '1241';
|
||
v_mld_meldbron_key := 4;
|
||
ELSE
|
||
IF (UPPER (pto) = UPPER ('CJXaYlt@hsle.facilitor.nl'))
|
||
THEN
|
||
-- HSLE#38876: Mail naar receptie@hsleiden.nl laten landen in mld_stdmelding_key=1701='Mailmelding' onder vakgroep 'Receptie'
|
||
defaultstdmelding := '1701';
|
||
v_mld_meldbron_key := 4;
|
||
ELSIF (UPPER (pto) = UPPER ('sva@hsle.facilitor.nl'))
|
||
THEN
|
||
-- HSLE#66248: Mail naar sva@hsle.facilitor.nl laten landen in mld_stdmelding_key=5621='Mailmelding' onder vakgroep 'SVA'
|
||
defaultstdmelding := '5621';
|
||
v_mld_meldbron_key := 4;
|
||
ELSIF (UPPER (pto) = UPPER ('sot@hsle.facilitor.nl'))
|
||
THEN
|
||
-- HSLE#73263: Mail naar sot@hsle.facilitor.nl laten landen in mld_stdmelding_key=6061='Detectie' onder vakgroep 'SOT'
|
||
defaultstdmelding := '6061';
|
||
v_mld_meldbron_key := 4;
|
||
ELSE -- XamdCNd@hsle.facilitor.nl
|
||
IF INSTR (UPPER (psubject), 'IN DIENST GEMELD') > 0
|
||
THEN
|
||
defaultstdmelding := '3461'; -- HSLE#58086/63960: Vakgroep M-HRM/Soortmelding 'Nieuwe medewerker.'
|
||
ELSIF INSTR (UPPER (psubject), 'GAAT UIT DIENST') > 0
|
||
THEN
|
||
defaultstdmelding := '3481'; -- HSLE#58086/63960/64931: Vakgroep M-HRM/Soortmelding 'Einde dienstverband.'
|
||
ELSIF INSTR (UPPER (psubject), 'HSL ADFS LOCKOUT') > 0
|
||
THEN
|
||
defaultstdmelding := '90'; -- HSLE#58086: Vakgroep M-SD (ICT)/Soortmelding 'ICT- Overig'
|
||
ELSIF INSTR (UPPER (psubject), 'ORDERBEVESTIGING MANUTAN') > 0
|
||
THEN
|
||
defaultstdmelding := '3941'; -- HSLE#58086: Vakgroep M-SD (Bestellingen)/Soortmelding 'Bestelbevestiging/verzendbewijs'
|
||
ELSIF INSTR (UPPER (psubject), 'UW BESTELLING BIJ MANUTAN.NL') > 0
|
||
THEN
|
||
defaultstdmelding := '3941'; -- HSLE#58086: Vakgroep M-SD (Bestellingen)/Soortmelding 'Bestelbevestiging/verzendbewijs'
|
||
ELSIF INSTR (UPPER (psubject), 'LYRECO DELIVERY NOTE:') > 0
|
||
THEN
|
||
defaultstdmelding := '3941'; -- HSLE#58086: Vakgroep M-SD (Bestellingen)/Soortmelding 'Bestelbevestiging/verzendbewijs'
|
||
ELSIF INSTR (UPPER (psubject), 'UW LYRECO LEVERBON') > 0
|
||
THEN
|
||
defaultstdmelding := '3941'; -- HSLE#58086: Vakgroep M-SD (Bestellingen)/Soortmelding 'Bestelbevestiging/verzendbewijs'
|
||
ELSIF INSTR (UPPER (psubject), 'DAGRAPPORTAGE HOGESCHOOL LE CARREFOUR ( KERN 4 )') > 0
|
||
THEN
|
||
defaultstdmelding := '2501'; -- HSLE#58086: Vakgroep M-Concierges/Soortmelding 'Le Carrefour ( concierges)'
|
||
ELSE
|
||
-- Mailmelding (onder vakgroep 'Mailmelding') met mld_stdmelding_key=161, deze staat komt uit 'defaultmelding'-setting
|
||
defaultstdmelding := fac.getsetting ('defaultstdmelding');
|
||
|
||
IF INSTR (UPPER (psubject), 'REGISTRATIE VERBRUIK VAN VERBRUIKSMATERIAAL') > 0
|
||
THEN
|
||
v_directafwijzen := 1;
|
||
END IF;
|
||
END IF;
|
||
v_mld_meldbron_key := 4;
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- HSLE#57042: Als er 'SRS=' in pfrom, dan:
|
||
-- voor_@ = tekst tussen laatste '=' en laatste '@' (vanaf links)
|
||
-- na_@ = tekst tussen een-na-laatste '=' en laatste '=' (vanaf links)
|
||
-- HSLE#59494: Als '<' en '>' in pfrom, dan wat daartussen staat
|
||
-- Anders 1-op-1 overnemen.
|
||
IF INSTR (pfrom, 'SRS=') > 0
|
||
THEN
|
||
v_voor_at :=
|
||
SUBSTR (pfrom,
|
||
INSTR (pfrom, '=', -1) + 1,
|
||
INSTR (pfrom, '@', -1) - INSTR (pfrom, '=', -1) - 1);
|
||
v_na_at :=
|
||
SUBSTR (pfrom,
|
||
INSTR (pfrom,
|
||
'=',
|
||
-1,
|
||
2)
|
||
+ 1,
|
||
INSTR (pfrom, '=', -1)
|
||
- INSTR (pfrom,
|
||
'=',
|
||
-1,
|
||
2)
|
||
- 1);
|
||
v_from := v_voor_at || '@' || v_na_at;
|
||
ELSIF INSTR (pfrom, '<') > 0 AND INSTR (pfrom, '<') < INSTR (pfrom, '>')
|
||
THEN
|
||
v_from :=
|
||
SUBSTR (pfrom,
|
||
INSTR (pfrom, '<') + 1,
|
||
INSTR (pfrom, '>') - INSTR (pfrom, '<') - 1);
|
||
ELSE
|
||
v_from := pfrom;
|
||
END IF;
|
||
|
||
v_from := SUBSTR (v_from, 1, 50);
|
||
|
||
-- Bepaal de melder/noteur op basis van e-mail adres zoals in pfrom?
|
||
v_errormsg := 'Fout bepalen melder ' || COALESCE (v_from, '???');
|
||
|
||
SELECT COUNT (*)
|
||
INTO v_count
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE (INSTR (UPPER (v_from), '@STUDENT.HSLEIDEN.NL') > 0 OR INSTR (UPPER (v_from), '@HSLEIDEN.NL') > 0)
|
||
AND UPPER (prs_perslid_email) LIKE UPPER (v_from) || '%';
|
||
|
||
IF defaultstdmelding IN (3461, 3481) --AND UPPER (v_from) = 'HRM@HSLEIDEN.NL' -- HSLE#60343/63960/64931: Bij in/uit dienst, dan prs_perslid_key=15661=_Extern
|
||
THEN
|
||
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
|
||
INTO sender, kostenplaats
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling d
|
||
WHERE p.prs_perslid_key = 15661 -- _Extern
|
||
AND p.prs_afdeling_key = d.prs_afdeling_key;
|
||
ELSIF UPPER (v_from) = 'SOCIALMEDIA@HSLEIDEN.NL' OR UPPER (v_from) = 'INFO@HUSCHKA.NL'
|
||
THEN -- HSLE#60638/60644: Igv. e-mails vanaf deze adressen, dan prs_perslid_key=15661=_Extern
|
||
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
|
||
INTO sender, kostenplaats
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling d
|
||
WHERE p.prs_perslid_key = 15661 -- _Extern
|
||
AND p.prs_afdeling_key = d.prs_afdeling_key;
|
||
ELSIF UPPER (v_from) = 'INFO@DEGROOTDRUK.NL' OR UPPER (v_from) = 'NOREPLY@STAPLES-SOLUTIONS.COM'
|
||
THEN -- HSLE#60639/HSLE#71141: Igv. e-mails vanaf deze adressen, dan defaultstdmelding=3941 en prs_perslid_key=15661=_Extern
|
||
defaultstdmelding := '3941'; -- HSLE#60639: Vakgroep M-SD (Bestellingen)/Soortmelding 'Bestelbevestiging/verzendbewijs'
|
||
|
||
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
|
||
INTO sender, kostenplaats
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling d
|
||
WHERE p.prs_perslid_key = 15661 -- _Extern
|
||
AND p.prs_afdeling_key = d.prs_afdeling_key;
|
||
ELSIF v_count = 1
|
||
THEN -- Als melder 1-duidig kan worden bepaald, zet de melding dan ook direct op zijn of haar naam
|
||
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
|
||
INTO sender, kostenplaats
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling d
|
||
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
||
AND UPPER (p.prs_perslid_email) LIKE UPPER (v_from) || '%';
|
||
ELSE -- Melder kan niet 1-duidig worden bepaald, dan - sinds HSLE#64353 - prs_perslid_key=15661=_Extern
|
||
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
|
||
INTO sender, kostenplaats
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling d
|
||
WHERE p.prs_perslid_key = 15661 -- _Extern
|
||
AND p.prs_afdeling_key = d.prs_afdeling_key;
|
||
|
||
v_melding_email_ext := v_from;
|
||
END IF;
|
||
|
||
-- HSLE#67687: Bepaal eventuele To op basis van veld in fac_result?
|
||
SELECT MIN (fac_result_waarde)
|
||
INTO v_to
|
||
FROM fac_result
|
||
WHERE fac_result_sessionid = psessionid
|
||
AND UPPER (fac_result_naam) = 'ORIGINALTO';
|
||
|
||
-- Bepaal eventuele CC op basis van veld in fac_result?
|
||
SELECT MIN (fac_result_waarde)
|
||
INTO v_cc
|
||
FROM fac_result
|
||
WHERE fac_result_sessionid = psessionid
|
||
AND UPPER (fac_result_naam) = 'CC';
|
||
|
||
-- Bepaal (aanwezige) kenmerk-key van kenmerksoort 'E-mail' (key=26) bij de bepaalde 'defaultstdmelding'.
|
||
v_errormsg := 'Fout bepalen kenmerksoort=E-mail';
|
||
|
||
SELECT MAX (mld_kenmerk_key)
|
||
INTO v_mailadres_kenmerk_key
|
||
FROM mld_kenmerk k, mld_stdmelding sm, ins_tab_discipline td
|
||
WHERE k.mld_kenmerk_verwijder IS NULL
|
||
AND k.mld_srtkenmerk_key = 26 -- E-mail
|
||
AND sm.mld_stdmelding_key = fac.safe_to_number (defaultstdmelding)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND ((k.mld_stdmelding_key = sm.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')
|
||
OR (k.mld_stdmelding_key = td.ins_discipline_key AND k.mld_kenmerk_niveau = 'D')
|
||
OR (k.mld_stdmelding_key = td.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T'));
|
||
|
||
-- Bepaal (aanwezige) kenmerk-key van kenmerksoort 'Mail To' (key=-1) bij de bepaalde 'defaultstdmelding'.
|
||
v_errormsg := 'Fout bepalen kenmerksoort=Mail To';
|
||
|
||
SELECT MAX (mld_kenmerk_key)
|
||
INTO v_toadres_kenmerk_key
|
||
FROM mld_kenmerk k, mld_stdmelding sm, ins_tab_discipline td
|
||
WHERE k.mld_kenmerk_verwijder IS NULL
|
||
AND k.mld_kenmerk_key = 8901 -- Mail To
|
||
AND sm.mld_stdmelding_key = fac.safe_to_number (defaultstdmelding)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND ((k.mld_stdmelding_key = sm.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')
|
||
OR (k.mld_stdmelding_key = td.ins_discipline_key AND k.mld_kenmerk_niveau = 'D')
|
||
OR (k.mld_stdmelding_key = td.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T')
|
||
OR (k.mld_stdmelding_key IS NULL AND k.mld_kenmerk_niveau = 'A'));
|
||
|
||
-- Bepaal (aanwezige) kenmerk-key van kenmerksoort 'Mail CC' (key=4101) bij de bepaalde 'defaultstdmelding'.
|
||
v_errormsg := 'Fout bepalen kenmerksoort=Mail CC';
|
||
|
||
SELECT MAX (mld_kenmerk_key)
|
||
INTO v_ccadres_kenmerk_key
|
||
FROM mld_kenmerk k, mld_stdmelding sm, ins_tab_discipline td
|
||
WHERE k.mld_kenmerk_verwijder IS NULL
|
||
AND k.mld_srtkenmerk_key = 4101 -- Mail CC(/Carbon Copy)
|
||
AND sm.mld_stdmelding_key = fac.safe_to_number (defaultstdmelding)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND ((k.mld_stdmelding_key = sm.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')
|
||
OR (k.mld_stdmelding_key = td.ins_discipline_key AND k.mld_kenmerk_niveau = 'D')
|
||
OR (k.mld_stdmelding_key = td.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T'));
|
||
|
||
-- Bepaal kenmerk-key van kenmerksoort 'Meldbron' (key 2401) bij de bepaalde 'defaultstdmelding'.
|
||
v_errormsg := 'Fout bepalen kenmerksoort=Meldbron';
|
||
|
||
SELECT MAX (mld_kenmerk_key)
|
||
INTO v_meldbron_kenmerk_key
|
||
FROM mld_kenmerk k, mld_stdmelding sm, ins_tab_discipline td
|
||
WHERE k.mld_kenmerk_verwijder IS NULL
|
||
AND k.mld_srtkenmerk_key = 2401
|
||
AND sm.mld_stdmelding_key = fac.safe_to_number (defaultstdmelding)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND ((k.mld_stdmelding_key = sm.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')
|
||
OR (k.mld_stdmelding_key = td.ins_discipline_key AND k.mld_kenmerk_niveau = 'D')
|
||
OR (k.mld_stdmelding_key = td.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T'));
|
||
|
||
-- Check of de afzender pfrom een reply op een bestaande melding doet, in dat geval wordt dat in notities genoteerd.
|
||
v_errormsg := 'Fout bepalen bestaande melding';
|
||
|
||
-- Eerst uit het onderwerp het meldingnummer proberen te onderscheppen, uitgangspunt dat in het onderwerp 'M123' kan worden opgevist, waarbij het deel achter M minimaal uit 1 cijfer bestaat.
|
||
-- HSLE#35572: Extra spatie erbij hieronder (= verbetering), zodat een M12X34 niet als M12 wordt gezien, want anders wordt bij M12 een notitie geplaatst en dat is onterecht.
|
||
-- HSLE#35572: Ook extra spatie aan het einde van het onderwerp erbij, zie info in call bij [Netten, Michelle van; 20-5-2016].
|
||
-- HSLE#65932: Per introductie van Vakgroeptype=Onderwijs ook vissen naar meldingnummers na prefix=O (bv. 'O123').
|
||
--subject_regexp := '[[:alpha:]]*M[[:digit:]]{1,} ';
|
||
subject_regexp := '[[:alpha:]]*[M|O][[:digit:]]{1,} ';
|
||
v_mldnum :=
|
||
REGEXP_SUBSTR (psubject || ' ',
|
||
subject_regexp,
|
||
1,
|
||
1,
|
||
'i'); -- M123, of O12345, of M12, of O1
|
||
v_srtdisc :=
|
||
REGEXP_SUBSTR (v_mldnum,
|
||
'[[:alpha:]]',
|
||
1,
|
||
1,
|
||
'i'); -- M of O
|
||
v_mld_key_uit_subject :=
|
||
fac.safe_to_number (SUBSTR (v_mldnum, LENGTH (v_srtdisc) + 1)); -- 123, of 12345, of 12, of 1
|
||
|
||
-- Uit onderwerp is de vermoedelijke juiste v_mld_key_uit_subject geparsed.
|
||
-- HSLE#35572: Puntje 1 - er wordt niet langer meer gecheckt op wie de mail stuurt, als in het onderwerp het meldingnummer wordt gevonden,
|
||
-- dan wordt die aan die melding als notitie erbij toegevoegd (ongeacht de mailer).
|
||
SELECT MAX (mld_melding_key), MAX (prs_perslid_key) -- MAX() alleen om te zorgen dat SELECT geen fout geeft!
|
||
INTO v_mldkey, v_melder
|
||
FROM mld_melding
|
||
WHERE mld_melding_key = v_mld_key_uit_subject;
|
||
|
||
-- HSLE#70918: E-mail naar sva@hsle.facilitor.nl (defaultstdmelding=5621) met M<meldingnummer> in onderwerp, dan altijd nieuwe melding (en
|
||
-- geen notitie bij bestaande melding)!
|
||
-- HSLE#73263: E-mail naar sot@hsle.facilitor.nl (defaultstdmelding=6061) met M<meldingnummer> in onderwerp, dan altijd nieuwe melding (en
|
||
-- geen notitie bij bestaande melding)!
|
||
IF v_mldkey IS NOT NULL AND (defaultstdmelding != '5621' OR defaultstdmelding != '6061' OR v_srtdisc != 'M')
|
||
THEN
|
||
-- Gotcha: van deze afzender is een eerdere melding geregistreerd, dus we voegen de subject en body nu als notitie toe.
|
||
v_directafwijzen := 0; -- Een bestaande melding nooit direct afwijzen!
|
||
v_errormsg := 'Fout toevoegen notitie';
|
||
|
||
-- HSLE#35572
|
||
l_vantekst := 'Van: ';
|
||
l_body := hsle_leftstr (pbody, l_vantekst);
|
||
|
||
IF l_body IS NULL
|
||
THEN
|
||
-- Er is geen 'Van: ' gevonden, misschien nog 'From: '
|
||
l_vantekst := 'From: ';
|
||
l_body := hsle_leftstr (pbody, l_vantekst);
|
||
|
||
IF l_body IS NULL
|
||
THEN
|
||
-- Er is ook geen 'From: ' gevonden, dan doen we de hele tekst
|
||
l_body := SUBSTR (pbody, 1, 4000);
|
||
END IF;
|
||
END IF;
|
||
|
||
INSERT INTO mld_melding_note (mld_melding_key,
|
||
mld_melding_note_omschrijving,
|
||
prs_perslid_key,
|
||
mld_melding_note_flag)
|
||
VALUES (v_mldkey,
|
||
SUBSTR (psubject
|
||
|| CHR (13) || CHR (10)
|
||
|| REPLACE (SUBSTR (l_body, 1, 4000 - (LENGTH (psubject) + 2)),
|
||
CHR (13) || CHR (10) || CHR (13) || CHR (10),
|
||
CHR (13) || CHR (10)),
|
||
1,
|
||
4000), -- Verwijder onnodige witregels
|
||
sender,
|
||
DECODE (sender, -- HSLE#60811: Notitie open=1 als sender=melder, anders gesloten=0!
|
||
v_melder, 1,
|
||
0));
|
||
|
||
-- Default tracking is even goed genoeg
|
||
fac.trackaction ('MLDNOT',
|
||
v_mldkey,
|
||
sender,
|
||
NULL,
|
||
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid,
|
||
'maillog',
|
||
'Als notitie toegevoegd aan melding ' || v_mldkey);
|
||
|
||
-- Vlaggetjes zetten zoals mld_edit_note.asp dat doet
|
||
BEGIN
|
||
IF fac.getsetting ('mld_melding_actiecode') = 1
|
||
THEN
|
||
UPDATE mld_melding
|
||
SET mld_melding_actiecode = 1 + 128 -- Backoffice + Attentie
|
||
WHERE mld_melding_key = v_mldkey;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
DBMS_OUTPUT.put_line ('Niet gelukt om Attentie te zetten.');
|
||
END;
|
||
|
||
-- Bepalen van de behandelaar van deze melding
|
||
v_errormsg := 'Fout bepalen behandelaar';
|
||
|
||
BEGIN
|
||
SELECT mld_melding_behandelaar_key, DECODE (p2.prs_perslid_email, NULL, NULL, mld_melding_behandelaar2_key)
|
||
INTO v_behandelaar_key, v_behandelaar2_key
|
||
FROM mld_melding m, prs_v_aanwezigperslid p, prs_v_aanwezigperslid p2
|
||
WHERE m.mld_melding_key = v_mldkey
|
||
AND m.mld_melding_behandelaar_key = p.prs_perslid_key
|
||
AND p.prs_perslid_email IS NOT NULL
|
||
AND m.mld_melding_behandelaar2_key = p2.prs_perslid_key(+);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_behandelaar_key := NULL;
|
||
v_behandelaar2_key := NULL;
|
||
END;
|
||
|
||
IF v_behandelaar2_key IS NOT NULL -- Melding en actieve behandelaar bekend?
|
||
THEN
|
||
-- HSLE#65724: Notificatie naar actieve behandelaar
|
||
fac.putnotificationsrtprio (
|
||
NULL,
|
||
v_behandelaar2_key,
|
||
'MLDAB2',
|
||
v_mldkey,
|
||
'Melding ' || v_mldprefix || v_mldkey || ' is door de klant aangepast.',
|
||
2,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
2,
|
||
NULL);
|
||
ELSIF v_behandelaar_key IS NOT NULL -- Melding en behandelaar bekend?
|
||
THEN
|
||
-- Bepalen vakgroeptype prefix
|
||
SELECT sd.ins_srtdiscipline_prefix
|
||
INTO v_mldprefix
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd
|
||
WHERE m.mld_melding_key = v_mldkey
|
||
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;
|
||
|
||
-- Notificatie naar behandelaar
|
||
fac.putnotificationsrtprio (
|
||
NULL,
|
||
v_behandelaar_key,
|
||
'MLDNOB',
|
||
v_mldkey,
|
||
'Melding ' || v_mldprefix || v_mldkey || ' is door de klant aangepast.',
|
||
2,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
2,
|
||
NULL);
|
||
END IF;
|
||
ELSE
|
||
-- suggested extensions:
|
||
-- check for MLDUSE-write autorisations
|
||
-- parse the subject to find an appropriate stdmelding, if uniquely possible
|
||
-- append (as a note?) to an existing melding if #key is found in the subject
|
||
v_errormsg := 'Fout toevoegen melding';
|
||
|
||
BEGIN
|
||
INSERT INTO mld_melding (mld_melding_module,
|
||
mld_meldbron_key,
|
||
mld_melding_datum,
|
||
mld_alg_locatie_key,
|
||
mld_alg_onroerendgoed_keys,
|
||
mld_melding_onderwerp,
|
||
mld_melding_omschrijving,
|
||
mld_melding_status,
|
||
mld_stdmelding_key,
|
||
prs_perslid_key,
|
||
prs_perslid_key_voor,
|
||
prs_kostenplaats_key,
|
||
mld_melding_spoed,
|
||
mld_melding_email_ext)
|
||
VALUES (
|
||
'MLD',
|
||
v_mld_meldbron_key, -- email (4) of chat (8)
|
||
SYSDATE,
|
||
1, -- HSLE#33348: CAMPUS hier kiezen (alg_locatie_key = 1)
|
||
393, -- HLSE#55591: Ruimte F0.024 hier kiezen (alg_ruimte_key = 393)
|
||
SUBSTR (psubject, 1, 80), -- HSLE#52534: Onderwerp apart en niet meer bij omschrijving
|
||
SUBSTR (
|
||
REPLACE (
|
||
SUBSTR (pbody, 1, 4000),
|
||
CHR (13) || CHR (10) || CHR (13) || CHR (10),
|
||
CHR (13) || CHR (10)),
|
||
1,
|
||
4000), -- verwijder onnodige witregels
|
||
NULL,
|
||
defaultstdmelding,
|
||
sender,
|
||
sender,
|
||
kostenplaats,
|
||
3,
|
||
v_melding_email_ext)
|
||
RETURNING mld_melding_key
|
||
INTO v_mldkey;
|
||
|
||
-- Als v_from gevuld en 'E-mail'-kenmerk bestaat, dan registreer v_from (max. 50 tekens) bij de zojuist aangemaakte melding.
|
||
IF v_from IS NOT NULL AND v_mailadres_kenmerk_key IS NOT NULL
|
||
THEN
|
||
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||
VALUES (v_mldkey, v_mailadres_kenmerk_key, v_from);
|
||
END IF;
|
||
|
||
-- Als v_to gevuld en 'Mail To'-kenmerk bestaat, dan registreer v_to (max. 50 tekens) bij de zojuist aangemaakte melding.
|
||
IF v_to IS NOT NULL AND v_toadres_kenmerk_key IS NOT NULL
|
||
THEN
|
||
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||
VALUES (v_mldkey, v_toadres_kenmerk_key, SUBSTR (v_to, 1, 200));
|
||
END IF;
|
||
|
||
-- Als v_cc gevuld en 'Mail CC'-kenmerk bestaat, dan registreer v_cc (max. 50 tekens) bij de zojuist aangemaakte melding.
|
||
IF v_cc IS NOT NULL AND v_ccadres_kenmerk_key IS NOT NULL
|
||
THEN
|
||
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||
VALUES (v_mldkey, v_ccadres_kenmerk_key, SUBSTR (v_cc, 1, 200));
|
||
END IF;
|
||
|
||
-- HSLE#56362: Vullen van kenmerkwaarde voor 'Meldbron' met 2703=Chat of 2721=Mail.
|
||
IF v_meldbron_kenmerk_key IS NOT NULL
|
||
THEN
|
||
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||
VALUES (v_mldkey, v_meldbron_kenmerk_key, DECODE (v_mld_meldbron_key, 8, '2703', '2721'));
|
||
END IF;
|
||
|
||
mld.setmeldingstatus (v_mldkey, 2, sender);
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid,
|
||
'maillog',
|
||
'Geregistreerd onder melding ' || v_mldkey);
|
||
END;
|
||
END IF;
|
||
|
||
-- Find the lowest volgnummer of the flexfield of type folder.
|
||
-- PAS OP: 'Alle vakgroeptypen'-kenmerken hier niet beschouwd en dat bijt
|
||
-- dus nooit met kenmerk hieronder tbv. Originele mail!
|
||
v_errormsg := 'Fout toevoegen bijlage(n)';
|
||
|
||
SELECT MIN (k1.mld_kenmerk_key)
|
||
INTO kkey
|
||
FROM mld_stdmelding sm1, ins_tab_discipline td1, mld_kenmerk k1, mld_srtkenmerk sk1
|
||
WHERE sm1.mld_stdmelding_key = defaultstdmelding
|
||
AND sm1.mld_ins_discipline_key = td1.ins_discipline_key
|
||
AND k1.mld_kenmerk_verwijder IS NULL
|
||
AND k1.mld_srtkenmerk_key = sk1.mld_srtkenmerk_key
|
||
AND sk1.mld_srtkenmerk_kenmerktype = 'M'
|
||
AND ((k1.mld_stdmelding_key = sm1.mld_stdmelding_key AND k1.mld_kenmerk_niveau = 'S')
|
||
OR (k1.mld_stdmelding_key = td1.ins_discipline_key AND k1.mld_kenmerk_niveau = 'D')
|
||
OR (k1.mld_stdmelding_key = td1.ins_srtdiscipline_key AND k1.mld_kenmerk_niveau = 'T'))
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_stdmelding sm2, ins_tab_discipline td2, mld_kenmerk k2, mld_srtkenmerk sk2
|
||
WHERE sm2.mld_stdmelding_key = defaultstdmelding
|
||
AND sm2.mld_ins_discipline_key = td2.ins_discipline_key
|
||
AND k2.mld_kenmerk_verwijder IS NULL
|
||
AND k2.mld_srtkenmerk_key = sk2.mld_srtkenmerk_key
|
||
AND sk2.mld_srtkenmerk_kenmerktype = 'M'
|
||
AND ((k2.mld_stdmelding_key = sm2.mld_stdmelding_key AND k2.mld_kenmerk_niveau = 'S')
|
||
OR (k2.mld_stdmelding_key = td2.ins_discipline_key AND k2.mld_kenmerk_niveau = 'D')
|
||
OR (k2.mld_stdmelding_key = td2.ins_srtdiscipline_key AND k2.mld_kenmerk_niveau = 'T'))
|
||
AND k2.mld_kenmerk_volgnummer < k1.mld_kenmerk_volgnummer);
|
||
|
||
IF kkey IS NOT NULL
|
||
THEN
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid,
|
||
'kenmerkpath',
|
||
'MLD\M' || TO_CHAR (TRUNC (v_mldkey / 1000), 'FM0000') || '___\M' || v_mldkey || '\' || kkey || '\');
|
||
END IF;
|
||
|
||
-- HSLE#69584: Per 2021.1 mogelijk dat originele mail wordt opgeslagen bij melding!
|
||
-- PAS OP: Voorkennis dat dit een 'Alle vakgroeptypen'-kenmerk 8881 is en dus nooit
|
||
-- bijt met Bijlage(n)-kenmerk hierboven!
|
||
v_errormsg := 'Fout toevoegen originele mail';
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid,
|
||
'kenmerkorgmailpath',
|
||
'MLD\M' || TO_CHAR (TRUNC (v_mldkey / 1000), 'FM0000') || '___\M' || v_mldkey || '\' || 8881 || '\');
|
||
|
||
IF v_directafwijzen = 1
|
||
THEN -- Direct op afgewezen door 15621=SYSTEM API Mail2Melding!
|
||
mld.setmeldingstatus (v_mldkey, 1, 15621);
|
||
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 ('PROCESSEMAIL', 'W', 'HSLE_processemail afgebroken!', '[' || COALESCE (v_from, pfrom) || '] ' || v_errormsg);
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid,
|
||
'errormsg',
|
||
'Database fout - Neem contact op met uw systeembeheerder ');
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_rap_reservering
|
||
(
|
||
key,
|
||
nummer,
|
||
res_omschrijving,
|
||
invoerdatum,
|
||
datum,
|
||
gastheer,
|
||
contact,
|
||
invoerder,
|
||
kostensoortgroep,
|
||
kostensoort,
|
||
kpn,
|
||
kpn_omschrijving,
|
||
afdeling_code,
|
||
afdeling_omschrijving,
|
||
district_omschijving,
|
||
alg_locatie_key,
|
||
locatie,
|
||
locatie_omschrijving,
|
||
gebouw,
|
||
verdieping,
|
||
ruimte,
|
||
opstelling,
|
||
no_show,
|
||
mandaat,
|
||
personeelsnr,
|
||
werkplek,
|
||
discipline_key,
|
||
catalogus_key,
|
||
catalogus,
|
||
reserveerbare_ruimte,
|
||
bezoekers,
|
||
van,
|
||
tot,
|
||
duur,
|
||
status,
|
||
activiteit_key,
|
||
activiteit,
|
||
srtactiviteit_key,
|
||
activiteitsoort,
|
||
voorziening_discipline_key,
|
||
voorziening_catalogus,
|
||
voorziening_catalogussoort,
|
||
voorziening_product_key,
|
||
voorziening_product,
|
||
voorziening_totaalprijs,
|
||
voorziening_btw,
|
||
voorziening_van,
|
||
voorziening_tot,
|
||
voorziening_aantal,
|
||
voorziening_prijs,
|
||
grootboekrekeningnr,
|
||
grootboekomschrijving,
|
||
grootboekaanwezig
|
||
)
|
||
AS
|
||
SELECT rrr.res_reservering_key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
COALESCE (rrr.res_rsv_ruimte_aanmaak, voorz.van),
|
||
COALESCE (rrr.res_rsv_ruimte_van, voorz.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 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,
|
||
a.prs_afdeling_naam,
|
||
a.prs_afdeling_omschrijving,
|
||
(SELECT d.alg_district_omschrijving
|
||
FROM alg_district d,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE d.alg_district_key = l.alg_district_key
|
||
AND l.alg_locatie_key = g.alg_locatie_key
|
||
AND g.alg_gebouw_key = v.alg_gebouw_key
|
||
AND v.alg_verdieping_key = r.alg_verdieping_key
|
||
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
||
(SELECT 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_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,
|
||
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,
|
||
wp2.prs_werkplek_aanduiding,
|
||
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),
|
||
ra.res_activiteit_key,
|
||
ra.res_activiteit_omschrijving,
|
||
rsa.res_srtactiviteit_key,
|
||
rsa.res_srtactiviteit_omschrijving,
|
||
voorz.ins_discipline_key,
|
||
voorz.catalogus,
|
||
DECODE (voorz.catalogussoort,
|
||
1, 'Reserveerbaar object',
|
||
2, 'Catering',
|
||
3, 'Ruimte',
|
||
''),
|
||
voorz.product_key,
|
||
voorz.product,
|
||
voorz.totaalprijs,
|
||
voorz.btw,
|
||
TO_CHAR (voorz.van, 'hh24:mi'),
|
||
TO_CHAR (voorz.tot, 'hh24:mi'),
|
||
voorz.aantal,
|
||
voorz.prijs,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM res_kenmerkwaarde w, res_kenmerk k, fac_usrdata ud
|
||
WHERE w.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1
|
||
AND w.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ud.fac_usrtab_key = 41
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number (W.RES_KENMERKRESERVERING_WAARDE)
|
||
AND w.res_kenmerkwaarde_verwijder IS NULL)
|
||
grootboekrekeningnr,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM res_kenmerkwaarde w, res_kenmerk k, fac_usrdata ud
|
||
WHERE w.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1
|
||
AND w.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ud.fac_usrtab_key = 41
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number (W.RES_KENMERKRESERVERING_WAARDE)
|
||
AND w.res_kenmerkwaarde_verwijder IS NULL)
|
||
grootboekomschrijving,
|
||
(SELECT 'X'
|
||
FROM res_kenmerkwaarde w, res_kenmerk k, fac_usrdata ud
|
||
WHERE w.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1
|
||
AND w.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND ud.fac_usrtab_key = 41
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number (W.RES_KENMERKRESERVERING_WAARDE)
|
||
AND w.res_kenmerkwaarde_verwijder IS NULL)
|
||
grootboekaanwezig
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_activiteit ra,
|
||
res_srtactiviteit rsa,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_kostenplaats k,
|
||
( SELECT rrr.res_rsv_ruimte_key,
|
||
MAX (o.res_opstelling_omschrijving) opstelling,
|
||
MAX (ra.alg_ruimte_key) alg_ruimte_key,
|
||
MAX (rr.res_ruimte_nr) ruimte_nr
|
||
FROM res_rsv_ruimte rrr, res_ruimte_opstelling ro, res_ruimte rr, res_alg_ruimte ra, res_opstelling o
|
||
WHERE rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_ruimte_key = ra.res_ruimte_key
|
||
AND ro.res_opstelling_key = o.res_opstelling_key
|
||
GROUP BY res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
'' opstelling,
|
||
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,
|
||
NULL btw,
|
||
c.ins_discipline_key ins_discipline_key,
|
||
c.ins_discipline_omschrijving catalogus,
|
||
c.ins_discipline_min_level catalogussoort
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd, ins_deel d, ins_tab_discipline c
|
||
WHERE rrd.res_rsv_ruimte_key IS NOT NULL
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_ins_deel_key = d.ins_deel_key
|
||
AND rd.res_discipline_key = c.ins_discipline_key
|
||
UNION ALL
|
||
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 * COALESCE (ra.res_artikel_kostenalgemeen, 0)),
|
||
rra.res_rsv_artikel_aantal * (ra.res_artikel_prijs - COALESCE (ra.res_artikel_kostenalgemeen, 0)))
|
||
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) - COALESCE (ra.res_artikel_kostenalgemeen, 0),
|
||
ra.res_artikel_prijs - COALESCE (ra.res_artikel_kostenalgemeen, 0))
|
||
prijs,
|
||
NVL (rra.res_rsv_artikel_btw, ra.res_artikel_btw) btw,
|
||
c.ins_discipline_key ins_discipline_key,
|
||
c.ins_discipline_omschrijving catalogus,
|
||
c.ins_discipline_min_level catalogussoort
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra, ins_tab_discipline c
|
||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = c.ins_discipline_key
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key res_rsv_ruimte_key,
|
||
ra.res_artikel_key product_key,
|
||
ra.res_artikel_omschrijving product,
|
||
(rra.res_rsv_artikel_aantal * ra.res_artikel_kostenalgemeen)
|
||
totaalprijs,
|
||
rra.res_rsv_artikel_levering van,
|
||
NULL tot,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_kostenalgemeen
|
||
prijs,
|
||
0 btw,
|
||
c.ins_discipline_key ins_discipline_key,
|
||
c.ins_discipline_omschrijving catalogus,
|
||
c.ins_discipline_min_level catalogussoort
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra, ins_tab_discipline c
|
||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = c.ins_discipline_key
|
||
AND ra.res_artikel_kostenalgemeen IS NOT NULL) voorz,
|
||
( SELECT pw.prs_perslid_key,
|
||
MIN (prs_werkplek_aanduiding) || DECODE (COUNT (*), 1, '', '...') prs_werkplek_aanduiding
|
||
FROM prs_v_werkplek_gegevens wp, prs_perslidwerkplek pw
|
||
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
|
||
GROUP BY pw.prs_perslid_key) wp2
|
||
WHERE rrr.res_rsv_ruimte_van >= TO_DATE ('01-01-2020', 'DD-MM-YYYY')
|
||
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 rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = voorz.res_rsv_ruimte_key(+)
|
||
AND (rrr.res_ruimte_opstel_key IS NOT NULL OR voorz.res_rsv_ruimte_key IS NOT NULL)
|
||
AND p.prs_perslid_key = wp2.prs_perslid_key(+);
|
||
|
||
-- Copied from ROOT VIEWS for User defined Reports (UDR): ins_v_udr_deel
|
||
CREATE OR REPLACE VIEW hsle_v_rap_deel_verwijderd
|
||
(
|
||
key,
|
||
deel_omschrijving,
|
||
plaats,
|
||
srtdeel_code,
|
||
soort,
|
||
groep,
|
||
deel_opmerking,
|
||
discipline_key,
|
||
plaats_type,
|
||
district,
|
||
uitleenbaar,
|
||
res_opmerking,
|
||
deel_vervaldatum,
|
||
eigenaar,
|
||
ins_deel_verwijder
|
||
)
|
||
AS
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving,
|
||
TO_CHAR (NULL) plaats,
|
||
s.ins_srtdeel_code,
|
||
s.ins_srtdeel_omschrijving soort,
|
||
g.ins_srtgroep_omschrijving groep,
|
||
i.ins_deel_opmerking,
|
||
i.ins_discipline_key,
|
||
i.ins_alg_ruimte_type,
|
||
-1 district,
|
||
s.ins_srtdeel_uitleenbaar,
|
||
rd.res_deel_opmerking,
|
||
i.ins_deel_vervaldatum,
|
||
(SELECT d.prs_afdeling_omschrijving
|
||
FROM prs_v_afdeling d
|
||
WHERE prs_afdeling_key = i.ins_alg_ruimte_key) eigenaar,
|
||
i.ins_deel_verwijder
|
||
FROM ins_deel i,
|
||
ins_srtdeel s,
|
||
ins_srtgroep g,
|
||
(SELECT res_deel_key,
|
||
res_ins_deel_key,
|
||
res_deel_opmerking res_deel_opmerking
|
||
FROM res_deel
|
||
WHERE res_deel_verwijder IS NULL) rd,
|
||
prs_v_afdeling_boom d,
|
||
prs_bedrijf b
|
||
WHERE s.ins_srtdeel_key = i.ins_srtdeel_key
|
||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||
AND i.ins_deel_verwijder IS NOT NULL
|
||
AND i.ins_deel_key = rd.res_ins_deel_key(+)
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND i.ins_alg_ruimte_key = d.prs_afdeling_key
|
||
AND i.ins_alg_ruimte_type = 'A'
|
||
UNION
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving,
|
||
TO_CHAR (NULL) plaats,
|
||
s.ins_srtdeel_code,
|
||
s.ins_srtdeel_omschrijving soort,
|
||
g.ins_srtgroep_omschrijving groep,
|
||
i.ins_deel_opmerking,
|
||
i.ins_discipline_key,
|
||
i.ins_alg_ruimte_type,
|
||
-1 district,
|
||
s.ins_srtdeel_uitleenbaar,
|
||
rd.res_deel_opmerking,
|
||
i.ins_deel_vervaldatum,
|
||
p.prs_perslid_naam
|
||
|| NVL2 (p.prs_perslid_voorletters,
|
||
', ' || p.prs_perslid_voorletters,
|
||
'')
|
||
|| NVL2 (p.prs_perslid_tussenvoegsel,
|
||
' ' || p.prs_perslid_tussenvoegsel,
|
||
'')
|
||
|| NVL2 (p.prs_perslid_voornaam,
|
||
' (' || p.prs_perslid_voornaam || ')',
|
||
'') eigenaar,
|
||
i.ins_deel_verwijder
|
||
FROM ins_deel i,
|
||
ins_srtdeel s,
|
||
ins_srtgroep g,
|
||
(SELECT res_deel_key,
|
||
res_ins_deel_key,
|
||
res_deel_opmerking res_deel_opmerking
|
||
FROM res_deel
|
||
WHERE res_deel_verwijder IS NULL) rd,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom d
|
||
WHERE s.ins_srtdeel_key = i.ins_srtdeel_key
|
||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||
AND i.ins_deel_verwijder IS NOT NULL
|
||
AND i.ins_deel_key = rd.res_ins_deel_key(+)
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND i.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = d.prs_afdeling_key
|
||
AND i.ins_alg_ruimte_type = 'P'
|
||
UNION
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving,
|
||
TO_CHAR (NULL) plaats,
|
||
s.ins_srtdeel_code,
|
||
s.ins_srtdeel_omschrijving soort,
|
||
g.ins_srtgroep_omschrijving groep,
|
||
i.ins_deel_opmerking,
|
||
i.ins_discipline_key,
|
||
i.ins_alg_ruimte_type,
|
||
-1 district,
|
||
s.ins_srtdeel_uitleenbaar,
|
||
rd.res_deel_opmerking,
|
||
i.ins_deel_vervaldatum,
|
||
c.prs_contactpersoon_naam eigenaar,
|
||
i.ins_deel_verwijder
|
||
FROM ins_deel i,
|
||
ins_srtdeel s,
|
||
ins_srtgroep g,
|
||
(SELECT res_deel_key,
|
||
res_ins_deel_key,
|
||
res_deel_opmerking res_deel_opmerking
|
||
FROM res_deel
|
||
WHERE res_deel_verwijder IS NULL) rd,
|
||
prs_contactpersoon c
|
||
WHERE s.ins_srtdeel_key = i.ins_srtdeel_key
|
||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||
AND i.ins_deel_verwijder IS NOT NULL
|
||
AND i.ins_deel_key = rd.res_ins_deel_key(+)
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND i.ins_alg_ruimte_key = c.prs_contactpersoon_key
|
||
AND i.ins_alg_ruimte_type = 'C'
|
||
UNION ALL
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving,
|
||
o.alg_plaatsaanduiding
|
||
|| ' ('
|
||
|| DECODE (
|
||
o.alg_onroerendgoed_type,
|
||
'R', (SELECT r.alg_ruimte_omschrijving
|
||
FROM alg_ruimte r
|
||
WHERE r.alg_ruimte_key = i.ins_alg_ruimte_key),
|
||
'T', (SELECT t.alg_terreinsector_naam
|
||
FROM alg_terreinsector t
|
||
WHERE t.alg_terreinsector_key = i.ins_alg_ruimte_key),
|
||
'W', (SELECT r.alg_ruimte_omschrijving
|
||
FROM alg_ruimte r, prs_werkplek w
|
||
WHERE r.alg_ruimte_key = w.prs_alg_ruimte_key
|
||
AND w.prs_werkplek_key = i.ins_alg_ruimte_key))
|
||
|| ')' plaats,
|
||
s.ins_srtdeel_code,
|
||
s.ins_srtdeel_omschrijving soort,
|
||
g.ins_srtgroep_omschrijving groep,
|
||
i.ins_deel_opmerking,
|
||
i.ins_discipline_key,
|
||
i.ins_alg_ruimte_type,
|
||
l.alg_district_key,
|
||
s.ins_srtdeel_uitleenbaar,
|
||
rd.res_deel_opmerking,
|
||
i.ins_deel_vervaldatum,
|
||
NULL eigenaar,
|
||
i.ins_deel_verwijder
|
||
FROM ins_deel i,
|
||
ins_v_alg_overzicht o,
|
||
ins_srtdeel s,
|
||
ins_srtgroep g,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
(SELECT res_deel_key,
|
||
res_ins_deel_key,
|
||
res_deel_opmerking res_deel_opmerking
|
||
FROM res_deel
|
||
WHERE res_deel_verwijder IS NULL) rd
|
||
WHERE i.ins_deel_verwijder IS NOT NULL
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_key = rd.res_ins_deel_key(+)
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND s.ins_srtdeel_key = i.ins_srtdeel_key
|
||
AND g.ins_srtgroep_key = s.ins_srtgroep_key;
|
||
|
||
-- HSLE#65705: Toevoegen 2 kolommen (aant_zitsta160 + aant_zitsta120).
|
||
CREATE OR REPLACE VIEW hsle_v_oppervlak_afdeling
|
||
(
|
||
alg_ruimte_key,
|
||
prs_kostenplaats_nr,
|
||
prs_afdeling_omschrijving,
|
||
alg_gebouw_omschrijving,
|
||
alg_verdieping_volgnr,
|
||
alg_verdieping_code,
|
||
alg_ruimte_nr,
|
||
alg_ruimte_omschrijving,
|
||
alg_srtruimte_omschrijving,
|
||
alg_ruimte_opmerking,
|
||
alg_ruimte_vloerafwerking,
|
||
alg_ruimte_status,
|
||
alg_ruimte_inrichting,
|
||
alg_ruimte_toelichting,
|
||
alg_ruimte_aantal_werkplekken,
|
||
alg_gebouw_key,
|
||
prs_afdeling_key,
|
||
alg_ruimte_bruto_vloeropp,
|
||
prs_ruimteafdeling_bezetting,
|
||
product,
|
||
verhuurbaar,
|
||
bevat_werkplek,
|
||
aant_zitsta160,
|
||
aant_zitsta120
|
||
)
|
||
AS
|
||
SELECT rg.alg_ruimte_key,
|
||
COALESCE (ra.prs_kostenplaats_nr, 'Geen') prs_kostenplaats_nr,
|
||
COALESCE (ra.prs_afdeling_omschrijving, 'Geen') prs_afdeling_omschrijving,
|
||
rg.alg_gebouw_omschrijving,
|
||
rg.alg_verdieping_volgnr,
|
||
rg.alg_verdieping_code,
|
||
rg.alg_ruimte_nr,
|
||
rg.alg_ruimte_omschrijving,
|
||
sr.alg_srtruimte_omschrijving,
|
||
rg.alg_ruimte_opmerking,
|
||
(SELECT fac_usrdata_code
|
||
FROM alg_v_aanwezigonrgoedkenmerk aok, fac_usrdata ud
|
||
WHERE aok.alg_onrgoed_key = rg.alg_ruimte_key
|
||
AND aok.alg_onrgoed_niveau = 'R'
|
||
AND aok.alg_kenmerk_key = 1003
|
||
AND fac.safe_to_number (aok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key)
|
||
vloerafwerking,
|
||
(SELECT fac_usrdata_code
|
||
FROM alg_v_aanwezigonrgoedkenmerk aok, fac_usrdata ud
|
||
WHERE aok.alg_onrgoed_key = rg.alg_ruimte_key
|
||
AND aok.alg_onrgoed_niveau = 'R'
|
||
AND aok.alg_kenmerk_key = 1004
|
||
AND fac.safe_to_number (aok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key)
|
||
status,
|
||
(SELECT alg_onrgoedkenmerk_waarde
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_onrgoed_key = rg.alg_ruimte_key
|
||
AND alg_onrgoed_niveau = 'R'
|
||
AND alg_kenmerk_key = 1040)
|
||
alg_ruimte_inrichting,
|
||
(SELECT alg_onrgoedkenmerk_waarde
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_onrgoed_key = rg.alg_ruimte_key
|
||
AND alg_onrgoed_niveau = 'R'
|
||
AND alg_kenmerk_key = 1006)
|
||
alg_ruimte_toelichting,
|
||
(SELECT alg_onrgoedkenmerk_waarde
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_onrgoed_key = rg.alg_ruimte_key
|
||
AND alg_onrgoed_niveau = 'R'
|
||
AND alg_kenmerk_key = 1005)
|
||
alg_ruimte_aantal_werkplekken,
|
||
rg.alg_gebouw_key,
|
||
ra.prs_afdeling_key,
|
||
rg.alg_ruimte_bruto_vloeropp,
|
||
ra.prs_ruimteafdeling_bezetting,
|
||
COALESCE (rg.alg_ruimte_bruto_vloeropp, 0) * ra.prs_ruimteafdeling_bezetting / 100
|
||
product,
|
||
DECODE (sr.prs_verhuurbaar, 1, 'Ja', 'Nee') prs_verhuurbaar,
|
||
DECODE (sr.prs_bevat_werkplek, 1, 'Ja', 'Nee') prs_bevat_werkplek,
|
||
fac.safe_to_number (azs160.alg_onrgoedkenmerk_waarde)
|
||
aant_zitsta160,
|
||
fac.safe_to_number (azs120.alg_onrgoedkenmerk_waarde)
|
||
aant_zitsta120
|
||
FROM alg_v_ruimte_gegevens rg,
|
||
alg_srtruimte sr,
|
||
(SELECT ra.alg_ruimte_key,
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_omschrijving,
|
||
kp.prs_kostenplaats_nr,
|
||
ra.prs_ruimteafdeling_bezetting
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_afdeling a, prs_kostenplaats kp
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key) ra,
|
||
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_kenmerk_key = 1080) azs160, -- Aantal zit sta 1.60
|
||
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_kenmerk_key = 1081) azs120 -- Aantal zit sta 1.20
|
||
WHERE rg.alg_srtruimte_key = sr.alg_srtruimte_key(+)
|
||
AND rg.alg_ruimte_key = ra.alg_ruimte_key(+)
|
||
AND rg.alg_ruimte_key = azs160.alg_onrgoed_key(+)
|
||
AND rg.alg_ruimte_key = azs120.alg_onrgoed_key(+);
|
||
|
||
-- HSLE#37030 object x ruimte rapportage
|
||
CREATE OR REPLACE VIEW HSLE_V_UDR_RUIMTExOBJECT
|
||
AS
|
||
SELECT ins_deel_key,
|
||
ins_deel_omschrijving identificatie,
|
||
ins_deel_opmerking beschrijving,
|
||
dsc.ins_discipline_omschrijving discipline,
|
||
sg.ins_srtgroep_omschrijving groep,
|
||
sd.ins_srtdeel_omschrijving objectsoort,
|
||
ins_alg_ruimte_key alg_ruimte_key,
|
||
ins_deel_vervaldatum vervaldatum,
|
||
prs_perslid_naam_full beheerder,
|
||
prs_kostenplaats_nr prs_afdeling_omschrijving,
|
||
alg_gebouw_omschrijving,
|
||
alg_verdieping_volgnr,
|
||
alg_verdieping_code,
|
||
alg_ruimte_nr,
|
||
alg_ruimte_omschrijving,
|
||
alg_srtruimte_omschrijving,
|
||
alg_ruimte_opmerking,
|
||
alg_ruimte_vloerafwerking,
|
||
alg_ruimte_status,
|
||
alg_ruimte_toelichting,
|
||
alg_ruimte_aantal_werkplekken,
|
||
alg_ruimte_bruto_vloeropp,
|
||
prs_ruimteafdeling_bezetting,
|
||
product,
|
||
verhuurbaar,
|
||
bevat_werkplek
|
||
FROM ins_deel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_discipline dsc,
|
||
prs_v_perslid_fullnames_all p,
|
||
hsle_v_oppervlak_afdeling ra
|
||
WHERE ins_deel_verwijder IS NULL
|
||
AND ins_alg_ruimte_type = 'R'
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND dsc.ins_discipline_key = sg.ins_discipline_key
|
||
AND p.prs_perslid_key(+) = d.prs_perslid_key_beh
|
||
AND ra.alg_ruimte_key = ins_alg_ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_evenement
|
||
(
|
||
RES_RESERVERING_KEY,
|
||
RES_RESERVERING_OMSCHRIJVING
|
||
)
|
||
AS
|
||
SELECT r.res_reservering_key,
|
||
TO_CHAR (r.res_reservering_key)
|
||
|| ' - '
|
||
|| MAX (res_rsv_ruimte_omschrijving) res_reservering_omschrijving
|
||
FROM res_reservering r, res_rsv_ruimte rrr
|
||
WHERE r.res_reservering_key = rrr.res_reservering_key
|
||
AND rrr.res_activiteit_key = 30 -- evenementen
|
||
GROUP BY r.res_reservering_key;
|
||
|
||
CREATE OR REPLACE VIEW HSLE_V_EVENEMENT_BES
|
||
(
|
||
BES_BESTELLING_KEY,
|
||
BES_BESTELLING_OMSCHR
|
||
)
|
||
AS
|
||
SELECT b.BES_BESTELLING_KEY,
|
||
TO_CHAR (b.bes_bestelling_key)
|
||
|| ' - '
|
||
|| MAX (ins_discipline_omschrijving) ins_discipline_omschrijving
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item bi,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_discipline d
|
||
WHERE b.bes_bestelling_key = bi.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 = d.ins_discipline_key
|
||
GROUP BY b.bes_bestelling_key;
|
||
|
||
-- view tbv kenmerkdomein. Alle AV objecten
|
||
-- KEY 42 = discipline AV
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_deel_av
|
||
(
|
||
ins_deel_key,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
ins_deel_oms2,
|
||
ins_deel_vervaldatum
|
||
)
|
||
AS
|
||
SELECT ins_deel_key,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
ins_deel_omschrijving || ' - ' || ins_deel_opmerking ins_deel_oms2,
|
||
ins_deel_vervaldatum
|
||
FROM ins_v_aanwezigdeel d, ins_v_srtdeel_gegevens srt
|
||
WHERE d.ins_srtdeel_key = srt.ins_srtdeel_key
|
||
AND srt.ins_discipline_key = 42;
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_ict_rfc_kenmerken
|
||
AS
|
||
SELECT mld_kenmerk_key,
|
||
mld_srtkenmerk_key,
|
||
mld_stdmelding_key,
|
||
mld_typeopdr_key,
|
||
mld_kenmerk_niveau,
|
||
mld_kenmerk_verplicht,
|
||
mld_kenmerk_groep,
|
||
mld_kenmerk_toonbaar,
|
||
mld_kenmerk_volgnummer,
|
||
mld_kenmerk_uniek,
|
||
mld_kenmerk_regexp,
|
||
mld_kenmerk_hint,
|
||
mld_kenmerk_aanmaak,
|
||
mld_kenmerk_default,
|
||
mld_kenmerk_verwijder,
|
||
mld_kenmerk_verplicht_status,
|
||
mld_kenmerk_code,
|
||
mld_kenmerk_onderbreken,
|
||
mld_kenmerk_obligation_fill,
|
||
mld_kenmerk_show_expr
|
||
FROM mld_kenmerk
|
||
WHERE mld_kenmerk_verwijder IS NULL
|
||
AND mld_kenmerk_niveau = 'D'
|
||
AND mld_stdmelding_key IN (642, 644) -- RFC/Change
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_rap_ict_rfc
|
||
(
|
||
mld_melding_key,
|
||
mld_stdmelding_key,
|
||
mld_discipline_key,
|
||
mld_stdmelding_omschrijving,
|
||
mld_datum_create,
|
||
mld_datum_deadline_akkoord,
|
||
mld_melding_prioriteit,
|
||
mld_melding_status,
|
||
mld_melding_impact,
|
||
mld_melding_onderwerp,
|
||
fclt_mld_melding_parentkey,
|
||
--html_mld_melding_parentkey,
|
||
ins_deel_ci,
|
||
mld_melding_aanvrager,
|
||
mld_melding_eigenaar,
|
||
mld_melding_startdatum,
|
||
mld_melding_einddatum,
|
||
mld_melding_aanwezig_cab_i,
|
||
mld_melding_aanwezig_cab_a,
|
||
mld_melding_aanwezig_cab_t,
|
||
mld_melding_aanwezig_cab_s,
|
||
mld_melding_aanwezig_cab_v,
|
||
mld_melding_aanwezig_cab_n,
|
||
mld_melding_aanwezig_cab_w,
|
||
mld_melding_aanwezig_cab_f,
|
||
mld_melding_aanwezig_cab_c,
|
||
mld_melding_akkoord_i,
|
||
mld_melding_akkoord_a,
|
||
mld_melding_akkoord_t,
|
||
mld_melding_akkoord_s,
|
||
mld_melding_akkoord_v,
|
||
mld_melding_akkoord_n,
|
||
mld_melding_akkoord_w,
|
||
mld_melding_akkoord_f,
|
||
mld_melding_akkoord_c,
|
||
mld_opdr_deelnemer_key,
|
||
mld_opdr_deelnemer,
|
||
mld_opdr_omschrijving,
|
||
mld_opdr_startdatum,
|
||
mld_opdr_einddatum,
|
||
mld_opdr_plandatum,
|
||
mld_opdr_uren
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
sm.mld_stdmelding_key,
|
||
sm.mld_ins_discipline_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
--to_date(to_char(fac.gettrackingdate('MLDNEW',m.mld_melding_key),'dd-mm-yyyy'),'dd-mm-yyyy'),
|
||
TRUNC (fac.gettrackingdate ('MLDNEW', m.mld_melding_key)),
|
||
(SELECT fac.safe_to_date (km.mld_kenmerkmelding_waarde,
|
||
'dd-mm-yyyy')
|
||
FROM mld_kenmerkmelding km, hsle_v_ict_rfc_kenmerken k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 382 -- Deadline akkoord
|
||
AND km.mld_melding_key = m.mld_melding_key),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 395 -- Prioriteit (Laag, Middel, Hoog)
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)
|
||
AND km.mld_melding_key = m.mld_melding_key),
|
||
CASE
|
||
-- Onderstaande WHEN-THEN volgorde is cruciaal voor tonen juiste status...
|
||
WHEN m.mld_melding_status IN (1) -- Afgewezen (1)
|
||
THEN
|
||
'Afgewezen'
|
||
WHEN m.mld_melding_status IN (5, 6) -- Gesloten (5), Historie (6)
|
||
THEN
|
||
'Afgerond'
|
||
WHEN -- Als NIET alle 4 vakgebieden I, A, T en S hebben goedgekeurd, maar WEL de Voorzitter heeft goedgekeurd, dan GOEDGEKEURD (ongeacht de melding-status)
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 377 -- Akkoord [Voorzitter]
|
||
AND fac.safe_to_number (
|
||
km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)
|
||
AND km.mld_melding_key = m.mld_melding_key) =
|
||
'V'
|
||
THEN
|
||
'Goedgekeurd' -- Akkoord door Voorzitter (HSLE#56209)
|
||
WHEN m.mld_melding_status IN (0) -- Bij Frontoffice (0)
|
||
THEN
|
||
'Concept'
|
||
WHEN m.mld_melding_status IN (2, 3) -- Nieuw (2), Te accepteren (3)
|
||
THEN
|
||
'Ingediend'
|
||
WHEN m.mld_melding_status IN (4, 7) -- Geaccepteerd (4), Uitgegeven (7)
|
||
THEN
|
||
'In behandeling'
|
||
END
|
||
status,
|
||
(SELECT TO_CHAR (
|
||
fac.safe_to_number (km1.mld_kenmerkmelding_waarde)
|
||
* fac.safe_to_number (km2.mld_kenmerkmelding_waarde))
|
||
FROM mld_kenmerkmelding km1,
|
||
hsle_v_ict_rfc_kenmerken k1,
|
||
mld_kenmerkmelding km2,
|
||
hsle_v_ict_rfc_kenmerken k2
|
||
WHERE km1.mld_kenmerk_key = k1.mld_kenmerk_key
|
||
AND k1.mld_srtkenmerk_key = 399 -- Risico impact
|
||
AND km1.mld_melding_key = m.mld_melding_key
|
||
AND km2.mld_kenmerk_key = k2.mld_kenmerk_key
|
||
AND k2.mld_srtkenmerk_key = 389 -- Kans op storing
|
||
AND km2.mld_melding_key = m.mld_melding_key),
|
||
m.mld_melding_omschrijving,
|
||
CASE
|
||
WHEN m.mld_melding_kto_type = 'M'
|
||
THEN
|
||
TO_CHAR (m.mld_melding_kto_key)
|
||
END,
|
||
--CASE
|
||
-- WHEN m.mld_melding_kto_type = 'M'
|
||
-- THEN '<a class="details" onclick=''FcltMgr.openDetail("appl/fac/fac_report.asp?usrrap_key=161+mode=list+fclt_mld_melding_parentkey='
|
||
-- || TO_CHAR (m.mld_melding_kto_key)
|
||
-- || '")''>'
|
||
-- || TO_CHAR (m.mld_melding_kto_key)
|
||
-- || '</a>'
|
||
--END,
|
||
(SELECT LISTAGG (d.ins_deel_omschrijving, ', ')
|
||
WITHIN GROUP (ORDER BY d.ins_deel_omschrijving)
|
||
FROM mld_melding_object mo, ins_deel d
|
||
WHERE mo.mld_melding_object_verwijder IS NULL
|
||
AND mo.ins_deel_key = d.ins_deel_key
|
||
AND mo.mld_melding_key = m.mld_melding_key)
|
||
ci,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all
|
||
WHERE prs_perslid_key = m.prs_perslid_key_voor),
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all
|
||
WHERE prs_perslid_key = m.mld_melding_behandelaar_key),
|
||
--to_date(to_char(m.mld_melding_datum,'dd-mm-yyyy'),'dd-mm-yyyy'),
|
||
--to_date(to_char(m.mld_melding_einddatum,'dd-mm-yyyy'),'dd-mm-yyyy'),
|
||
TRUNC (m.mld_melding_datum),
|
||
TRUNC (m.mld_melding_einddatum),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 366 -- Aanwezig [Systeembeheer]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 361 -- Aanwezig [Architect]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 367 -- Aanwezig [TAB]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 365 -- Aanwezig [Servicedesk]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 368 -- Aanwezig [Voorzitter]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 364 -- Aanwezig [Netwerkbeheer]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 369 -- Aanwezig [Werkplekbeheer]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 363 -- Aanwezig [FAB]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 362 -- Aanwezig [Co<43>rdinator]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 375 -- Akkoord [Systeembeheer]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 370 -- Akkoord [Architect]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 376 -- Akkoord [TAB]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 374 -- Akkoord [Servicedesk]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 377 -- Akkoord [Voorzitter]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 373 -- Akkoord [Netwerkbeheer]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 378 -- Akkoord [Werkplekbeheer]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 372 -- Akkoord [FAB]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
(SELECT DECODE (UPPER (ud.fac_usrdata_code),
|
||
'JA', 'V',
|
||
'NEE', 'X',
|
||
'')
|
||
FROM mld_kenmerkmelding km,
|
||
hsle_v_ict_rfc_kenmerken k,
|
||
fac_usrdata ud
|
||
WHERE m.mld_melding_key = km.mld_melding_key(+)
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
|
||
AND k.mld_srtkenmerk_key = 371 -- Akkoord [Co<43>rdinator]
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key(+)),
|
||
u.mld_uitvoerende_key,
|
||
CASE
|
||
WHEN u.TYPE = 'P'
|
||
THEN
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all
|
||
WHERE prs_perslid_key = u.mld_uitvoerende_key)
|
||
WHEN u.TYPE = 'B'
|
||
THEN
|
||
(SELECT prs_bedrijf_naam
|
||
FROM prs_bedrijf
|
||
WHERE prs_bedrijf_key = u.mld_uitvoerende_key)
|
||
END,
|
||
o.mld_opdr_omschrijving,
|
||
--to_date(to_char(o.mld_opdr_datumbegin, 'dd-mm-yyyy'),'dd-mm-yyyy'),
|
||
--to_date(to_char(o.mld_opdr_einddatum, 'dd-mm-yyyy'),'dd-mm-yyyy'),
|
||
--COALESCE(to_date(to_char(o.mld_opdr_plandatum, 'dd-mm-yyyy'),'dd-mm-yyyy'), to_date(to_char(o.mld_opdr_einddatum - (o.mld_opdr_einddatum - o.mld_opdr_datumbegin)/2, 'dd-mm-yyyy'),'dd-mm-yyyy')) plandatum,
|
||
TRUNC (o.mld_opdr_datumbegin),
|
||
TRUNC (o.mld_opdr_einddatum),
|
||
COALESCE (
|
||
TRUNC (o.mld_opdr_plandatum),
|
||
TRUNC (
|
||
o.mld_opdr_einddatum
|
||
- (o.mld_opdr_einddatum - o.mld_opdr_datumbegin) / 2))
|
||
plandatum,
|
||
o.mld_opdr_uren
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_opdr o,
|
||
mld_v_uitvoerende u
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key IN (642, 644) -- RFC/Change
|
||
AND m.mld_melding_key = o.mld_melding_key(+)
|
||
AND o.mld_uitvoerende_keys = u.mld_uitvoerende_key(+);
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_ins_qrc
|
||
(
|
||
fclt_3d_discipline_key,
|
||
fclt_3d_locatie_key,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
plaats,
|
||
soortruimte,
|
||
ins_srtdeel_code,
|
||
ins_srtdeel_omschrijving,
|
||
ins_deel_omschrijving,
|
||
ins_deel_key,
|
||
ins_srtdeel_key,
|
||
fclt_f_objectsoort,
|
||
ins_alg_ruimte_type,
|
||
alg_district_key,
|
||
ins_deel_upper,
|
||
alg_ruimte_key,
|
||
fclt_f_fac_bookmark_naam,
|
||
hide_f_bookmark_id
|
||
)
|
||
AS
|
||
SELECT i.ins_discipline_key,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_omschrijving,
|
||
o.alg_gebouw_omschrijving,
|
||
o.alg_plaatsaanduiding plaats,
|
||
(SELECT r.alg_ruimte_omschrijving
|
||
FROM alg_ruimte r
|
||
WHERE r.alg_ruimte_key = i.ins_alg_ruimte_key) soortruimte,
|
||
s.ins_srtdeel_code,
|
||
s.ins_srtdeel_omschrijving,
|
||
i.ins_deel_omschrijving,
|
||
i.ins_deel_key,
|
||
s.ins_srtdeel_key,
|
||
s.ins_srtdeel_upper,
|
||
i.ins_alg_ruimte_type,
|
||
l.alg_district_key,
|
||
ins_deel_upper,
|
||
i.ins_alg_ruimte_key,
|
||
b.fac_bookmark_naam,
|
||
b.fac_bookmark_id
|
||
FROM ins_deel i,
|
||
ins_v_alg_overzicht o,
|
||
ins_srtdeel s,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
fac_bookmark b
|
||
WHERE b.fac_bookmark_naam LIKE '%QRC%'
|
||
AND ins_deel_verwijder IS NULL
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND s.ins_srtdeel_key = i.ins_srtdeel_key;
|
||
|
||
-- Notificatie-job die 2 weken (=14 dagen) VOOR de uiterlijke inleverdatum (kenmerk-key 201) van het object parkeerpas (ins_srtdeel_key = 301) een mail verstuurd naar de lener.
|
||
CREATE OR REPLACE VIEW hsle_v_noti_pp1
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'CUST01',
|
||
'',
|
||
d.ins_alg_ruimte_key,
|
||
'Reminder parkeerpas - Uiterlijke inleverdatum: '
|
||
|| kd.ins_kenmerkdeel_waarde,
|
||
d.ins_deel_key,
|
||
NULL
|
||
FROM ins_deel d, ins_kenmerkdeel kd, fac_notificatie_job nj
|
||
WHERE ins_srtdeel_key = 301
|
||
AND ins_alg_ruimte_key_org IS NOT NULL
|
||
AND ins_alg_ruimte_type_org IS NOT NULL
|
||
AND ins_alg_ruimte_type = 'P'
|
||
AND ins_deel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 201
|
||
AND KD.INS_KENMERKDEEL_VERWIJDER IS NULL
|
||
AND TO_DATE (kd.ins_kenmerkdeel_waarde, 'dd-mm-yyyy') - 14 <=
|
||
TRUNC (SYSDATE)
|
||
AND nj.fac_notificatie_job_view = 'HSLE_V_NOTI_PP1'
|
||
AND TO_DATE (kd.ins_kenmerkdeel_waarde, 'dd-mm-yyyy') - 14 >=
|
||
TRUNC (nj.fac_notificatie_job_nextrun);
|
||
|
||
-- Notificatie-job die 1 week (=7 dagen) NA de uiterlijke inleverdatum (kenmerk-key 201) van het object parkeerpas (ins_srtdeel_key = 301) een mail verstuurd naar de lener.
|
||
CREATE OR REPLACE VIEW hsle_v_noti_pp2
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'CUST02',
|
||
'',
|
||
d.ins_alg_ruimte_key,
|
||
'Reminder parkeerpas - Geblokkeerd',
|
||
d.ins_deel_key,
|
||
NULL
|
||
FROM ins_deel d, ins_kenmerkdeel kd, fac_notificatie_job nj
|
||
WHERE ins_srtdeel_key = 301
|
||
AND ins_alg_ruimte_key_org IS NOT NULL
|
||
AND ins_alg_ruimte_type_org IS NOT NULL
|
||
AND ins_alg_ruimte_type = 'P'
|
||
AND ins_deel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 201
|
||
AND KD.INS_KENMERKDEEL_VERWIJDER IS NULL
|
||
AND TO_DATE (kd.ins_kenmerkdeel_waarde, 'dd-mm-yyyy') + 7 <=
|
||
TRUNC (SYSDATE)
|
||
AND nj.fac_notificatie_job_view = 'HSLE_V_NOTI_PP2'
|
||
AND TO_DATE (kd.ins_kenmerkdeel_waarde, 'dd-mm-yyyy') + 7 >=
|
||
TRUNC (nj.fac_notificatie_job_nextrun);
|
||
|
||
-- Notificatie-job die 4 weken (=28 dagen) VOOR de uiterlijke inleverdatum (kenmerk-key 201) van het object parkeerpas (ins_srtdeel_key = 301) een mail verstuurd naar de lener.
|
||
CREATE OR REPLACE VIEW hsle_v_noti_pp3
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'CUST03',
|
||
'',
|
||
d.ins_alg_ruimte_key,
|
||
'Reminder parkeerpas - Uiterlijke inleverdatum: '
|
||
|| kd.ins_kenmerkdeel_waarde,
|
||
d.ins_deel_key,
|
||
NULL
|
||
FROM ins_deel d, ins_kenmerkdeel kd, fac_notificatie_job nj
|
||
WHERE ins_srtdeel_key = 301
|
||
AND ins_alg_ruimte_key_org IS NOT NULL
|
||
AND ins_alg_ruimte_type_org IS NOT NULL
|
||
AND ins_alg_ruimte_type = 'P'
|
||
AND ins_deel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 201
|
||
AND KD.INS_KENMERKDEEL_VERWIJDER IS NULL
|
||
AND TO_DATE (kd.ins_kenmerkdeel_waarde, 'dd-mm-yyyy') - 28 <=
|
||
TRUNC (SYSDATE)
|
||
AND nj.fac_notificatie_job_view = 'HSLE_V_NOTI_PP3'
|
||
AND TO_DATE (kd.ins_kenmerkdeel_waarde, 'dd-mm-yyyy') - 28 >=
|
||
TRUNC (nj.fac_notificatie_job_nextrun);
|
||
|
||
--- HSLE#38447 maatwerk rapportage voor draaiboek reserveringen
|
||
CREATE OR REPLACE VIEW hsle_v_rap_res_draaiboek
|
||
(
|
||
key,
|
||
res_nummer,
|
||
duur,
|
||
dag_van,
|
||
datum_van,
|
||
tijd_van,
|
||
dag_tot,
|
||
datum_tot,
|
||
tijd_tot,
|
||
aant_pers,
|
||
ruimte,
|
||
omschrijving,
|
||
voorziening,
|
||
gastheer,
|
||
aanvrager,
|
||
opmerking,
|
||
activiteit
|
||
)
|
||
AS
|
||
SELECT u.key,
|
||
nummer,
|
||
CASE WHEN TRUNC (van) = TRUNC (tot) THEN '-' ELSE 'meerdaags' END
|
||
AS duur,
|
||
TO_CHAR (van, 'DAY')
|
||
AS dag_van,
|
||
van
|
||
datum_van,
|
||
TO_CHAR (van, 'HH24:Mi')
|
||
tijd_van,
|
||
TO_CHAR (tot, 'DAY')
|
||
AS dag_tot,
|
||
tot
|
||
datum_tot,
|
||
TO_CHAR (tot, 'HH24:Mi')
|
||
tijd_tot,
|
||
bezoekers,
|
||
locatie || '-' || gebouw || '-' || verdieping || '- ' || ruimte
|
||
AS ruimte,
|
||
res_omschrijving,
|
||
voorziening_product,
|
||
gastheer,
|
||
contact,
|
||
r.res_rsv_ruimte_opmerking,
|
||
activiteit
|
||
FROM res_v_udr_reserveringincl u, res_rsv_ruimte r
|
||
WHERE u.key = r.res_rsv_ruimte_key;
|
||
|
||
--- HSLE#38543 maatwerk rapportage aantallen meldingen
|
||
|
||
CREATE OR REPLACE VIEW HSLE_V_MLD_MLDLIST
|
||
(
|
||
MELDINGNR,
|
||
DATUM,
|
||
STDMLDKEY,
|
||
MELDING,
|
||
VAKGROEP,
|
||
AANTAL
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
d.ins_discipline_omschrijving,
|
||
COUNT (m.mld_stdmelding_key) AS COUNT
|
||
FROM mld_melding m, mld_stdmelding sm, ins_tab_discipline d
|
||
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key(+)
|
||
AND d.ins_discipline_key = sm.mld_ins_discipline_key
|
||
GROUP BY sm.mld_stdmelding_key,
|
||
m.mld_melding_key,
|
||
mld_melding_datum,
|
||
sm.mld_stdmelding_omschrijving,
|
||
d.ins_discipline_omschrijving
|
||
ORDER BY mld_stdmelding_key;
|
||
|
||
--- HSLE#38543 maatwerk rapportage aantallen meldingen
|
||
|
||
CREATE OR REPLACE VIEW HSLE_V_MLD_MLDLIST2
|
||
(
|
||
MELDINGNR,
|
||
DATUM,
|
||
STDMLDKEY,
|
||
MELDING,
|
||
VAKGROEP,
|
||
AANTAL
|
||
)
|
||
AS
|
||
SELECT v.meldingnr,
|
||
v.datum,
|
||
v.stdmldkey,
|
||
v.melding,
|
||
v.vakgroep,
|
||
SUM (aantal)
|
||
FROM hsle_v_mld_mldlist v
|
||
GROUP BY v.stdmldkey,
|
||
v.vakgroep,
|
||
v.melding,
|
||
v.datum,
|
||
v.meldingnr
|
||
ORDER BY v.stdmldkey;
|
||
|
||
--- HSLE#51829 maatwerk rapportage wijzigingen objectbeheer met tracking
|
||
|
||
CREATE OR REPLACE VIEW HSLE_V_RAP_INS_TRACKING
|
||
(
|
||
Discipline,
|
||
Deel_key,
|
||
Deel_omschrijving,
|
||
Deel_opmerking,
|
||
Srtdeel,
|
||
Srtdeel_omschrijving,
|
||
Tracking_key,
|
||
Tracking_datum,
|
||
Tracking_omschrijving,
|
||
Uitgegeven_Aan
|
||
)
|
||
AS
|
||
SELECT disc.ins_discipline_omschrijving AS Discipline,
|
||
d.ins_deel_key AS Deel_key,
|
||
d.ins_deel_omschrijving AS Deel_omschrijving,
|
||
d.ins_deel_opmerking AS Deel_opmerking,
|
||
sd.ins_srtdeel_code AS Srtdeel,
|
||
sd.ins_srtdeel_omschrijving Srtdeel_omschrijving,
|
||
t.fac_tracking_key AS Tracking_key,
|
||
t.fac_tracking_datum AS Tracking_datum,
|
||
t.fac_tracking_oms AS Tracking_omschrijving,
|
||
CASE
|
||
WHEN t.fac_tracking_oms LIKE '%uitgegeven aan Extern%'
|
||
THEN
|
||
'Extern'
|
||
ELSE
|
||
CASE
|
||
WHEN t.fac_tracking_oms LIKE '%uitgegeven aan%'
|
||
THEN
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'uitgegeven aan')
|
||
+ 15,
|
||
INSTR (t.fac_tracking_oms, ')')
|
||
- INSTR (t.fac_tracking_oms, 'uitgegeven aan')
|
||
- 14)
|
||
ELSE
|
||
''
|
||
END
|
||
END AS Uitgegeven_Aan
|
||
FROM ins_tab_discipline disc,
|
||
ins_deel d,
|
||
ins_srtdeel sd,
|
||
fac_tracking t,
|
||
fac_srtnotificatie n
|
||
WHERE t.fac_tracking_refkey = d.ins_deel_key
|
||
AND n.fac_srtnotificatie_xmlnode = 'deel'
|
||
AND t.fac_tracking_oms IS NOT NULL
|
||
AND t.fac_srtnotificatie_key = n.fac_srtnotificatie_key
|
||
AND disc.ins_discipline_key = d.ins_discipline_key
|
||
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
ORDER BY sd.ins_srtdeel_omschrijving, ins_deel_key;
|
||
|
||
CREATE OR REPLACE VIEW HSLE_V_BEZOEKERSAFSPRAAK
|
||
(
|
||
BEZ_AFSPRAAK_KEY,
|
||
BEZ_AFSPRAAK_DATUM,
|
||
BEZ_AFSPRAAK_EIND,
|
||
BEZ_RUIMTE,
|
||
BEZ_AFSPRAAK_OPMERKING,
|
||
BEZ_AFSPRAAK_GASTHEER,
|
||
BEZ_AFSPRAAK_TELEFOONNR,
|
||
OMSCHRIJVING
|
||
)
|
||
AS
|
||
SELECT a.bez_afspraak_key,
|
||
a.bez_afspraak_datum,
|
||
a.bez_afspraak_eind,
|
||
a.bez_afspraak_ruimte,
|
||
a.bez_afspraak_opmerking,
|
||
a.bez_afspraak_gastheer,
|
||
a.bez_afspraak_telefoonnr,
|
||
a.bez_afspraak_key
|
||
|| ' - '
|
||
|| TO_CHAR (a.bez_afspraak_datum, 'YYYY-MM-DD')
|
||
|| ' '
|
||
|| TO_CHAR (a.bez_afspraak_datum, 'HH24:MI')
|
||
|| '/'
|
||
|| TO_CHAR (a.bez_afspraak_eind, 'HH24:MI')
|
||
|| ' - '
|
||
|| a.bez_afspraak_gastheer
|
||
|| ' - '
|
||
|| a.bez_afspraak_ruimte AS Omschrijving
|
||
FROM bez_afspraak a
|
||
WHERE TRUNC (a.bez_afspraak_datum) >= TRUNC (SYSDATE - 31);
|
||
|
||
-- HSLE#40151: Rapportage doorlooptijden mld obv gewijzigde vakgroepen
|
||
-- Later toegevoegd: behandelgroep_oud en behandelgroep_nieuw
|
||
CREATE OR REPLACE VIEW hsle_v_rap_mldstat
|
||
(
|
||
track_datum,
|
||
srtnotificatie_code,
|
||
discipline_omschrijving,
|
||
stdmelding_omschrijving,
|
||
melding_key,
|
||
melding_datum,
|
||
tracking_omschrijving,
|
||
vakgroep_oud,
|
||
vakgroep_nieuw,
|
||
behandelgroep_oud,
|
||
behandelgroep_nieuw,
|
||
melder,
|
||
behandelaar,
|
||
melding_datum_afgemeld
|
||
)
|
||
AS
|
||
SELECT t.fac_tracking_datum,
|
||
DECODE (t.fac_srtnotificatie_key,
|
||
38, 'MLDAFM',
|
||
43, 'MLDNEW',
|
||
44, 'MLDREJ',
|
||
45, 'MLDUPD'),
|
||
d.ins_discipline_omschrijving,
|
||
sm.mld_stdmelding_omschrijving,
|
||
m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
t.fac_tracking_oms,
|
||
CASE
|
||
WHEN t.fac_tracking_oms LIKE '%Vakgroep:%'
|
||
THEN
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Vakgroep:') + 10,
|
||
INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Vakgroep:') + 10,
|
||
100),
|
||
' --> '))
|
||
ELSE
|
||
''
|
||
END
|
||
AS vakgr_oud,
|
||
CASE
|
||
WHEN t.fac_tracking_oms LIKE '%Vakgroep:%'
|
||
THEN
|
||
SUBSTR (
|
||
SUBSTR (t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Vakgroep:') + 10,
|
||
999),
|
||
INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Vakgroep:') + 10,
|
||
999),
|
||
' --> ')
|
||
+ 5,
|
||
INSTR (
|
||
SUBSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Vakgroep:')
|
||
+ 14
|
||
+ INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Vakgroep:')
|
||
+ 10,
|
||
999),
|
||
' --> ')),
|
||
0),
|
||
CHR (10)))
|
||
ELSE
|
||
''
|
||
END
|
||
AS vakgr_nieuw,
|
||
CASE
|
||
WHEN (CASE
|
||
WHEN t.fac_tracking_oms LIKE '%Behandelgroep:%'
|
||
THEN
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 15,
|
||
INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 15,
|
||
100),
|
||
' --> '))
|
||
ELSE
|
||
''
|
||
END) =
|
||
'(leeg) '
|
||
THEN
|
||
''
|
||
ELSE
|
||
CASE
|
||
WHEN t.fac_tracking_oms LIKE '%Behandelgroep:%'
|
||
THEN
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Behandelgroep:')
|
||
+ 15,
|
||
INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 15,
|
||
100),
|
||
' --> '))
|
||
ELSE
|
||
''
|
||
END
|
||
END
|
||
AS behandelgr_oud,
|
||
CASE
|
||
WHEN t.fac_tracking_oms LIKE '%Behandelgroep:%'
|
||
THEN
|
||
CASE
|
||
WHEN SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 19
|
||
+ INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 15,
|
||
999),
|
||
' --> '),
|
||
999) =
|
||
'(gewist)'
|
||
THEN
|
||
''
|
||
ELSE
|
||
SUBSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 19
|
||
+ INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 15,
|
||
999),
|
||
' --> '),
|
||
999),
|
||
1,
|
||
(CASE
|
||
WHEN (INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (
|
||
t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 19
|
||
+ INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (
|
||
t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 15,
|
||
999),
|
||
' --> '),
|
||
999),
|
||
CHR (10))) =
|
||
0
|
||
THEN
|
||
999
|
||
ELSE
|
||
INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 19
|
||
+ INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (
|
||
t.fac_tracking_oms,
|
||
'Behandelgroep:')
|
||
+ 15,
|
||
999),
|
||
' --> '),
|
||
999),
|
||
CHR (10))
|
||
END))
|
||
END
|
||
ELSE
|
||
''
|
||
END
|
||
AS grpnew,
|
||
(SELECT prs_perslid_naam
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_key = m.prs_perslid_key_voor)
|
||
AS melder,
|
||
(SELECT prs_perslid_naam
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_key = m.mld_melding_behandelaar_key)
|
||
AS behandelaar,
|
||
COALESCE (fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
|
||
fac.gettrackingdate ('MLDREJ', m.mld_melding_key))
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline d,
|
||
fac_tracking t
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND TRUNC (m.mld_melding_datum) >=
|
||
TRUNC (TO_DATE ('2018-01-01', 'yyyy-mm-dd'))
|
||
AND t.fac_srtnotificatie_key IN (38,
|
||
43,
|
||
44,
|
||
45) -- MLDAFM, MLDNEW, MLDREJ, MLDUPD
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
ORDER BY m.mld_melding_key, t.fac_tracking_datum DESC;
|
||
|
||
CREATE OR REPLACE VIEW HSLE_V_RAP_MAIL_PP
|
||
(
|
||
MAILADRESSEN
|
||
)
|
||
AS
|
||
SELECT RTRIM (
|
||
XMLAGG (
|
||
XMLELEMENT (e, pas.prs_perslid_email || ';')
|
||
ORDER BY pas.ins_srtdeel_key).EXTRACT (
|
||
'//text()').getclobval (),
|
||
',')
|
||
listofsgs
|
||
FROM (SELECT d.ins_alg_ruimte_key,
|
||
d.ins_deel_upper,
|
||
d.ins_srtdeel_key,
|
||
p.prs_perslid_email
|
||
FROM ins_deel d,
|
||
prs_perslid p,
|
||
(SELECT k.ins_deel_key,
|
||
ud.fac_usrdata_key,
|
||
ud.fac_usrdata_omschr
|
||
FROM ins_kenmerkdeel k, fac_usrdata ud
|
||
WHERE k.ins_kenmerk_key = 103
|
||
AND fac.safe_to_number (k.ins_kenmerkdeel_waarde) = ud.fac_usrdata_key
|
||
AND ud.fac_usrtab_key = 161) status_pas
|
||
WHERE d.ins_srtdeel_key = 301
|
||
AND d.ins_alg_ruimte_type = 'P' -- uitgeleend
|
||
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND p.prs_srtperslid_key = 26 -- studenten
|
||
AND p.prs_perslid_email IS NOT NULL
|
||
AND d.ins_deel_key = status_pas.ins_deel_key
|
||
AND status_pas.fac_usrdata_key = 281 -- uitgegeven
|
||
AND d.ins_deel_key NOT IN (SELECT k.ins_deel_key -- niet topsport of medische indicatie
|
||
FROM ins_kenmerkdeel k
|
||
WHERE k.ins_kenmerk_key = 261))
|
||
pas;
|
||
|
||
CREATE OR REPLACE VIEW HSLE_V_RAP_POWERBI
|
||
(
|
||
rapport,
|
||
vakgroep,
|
||
meldingsoort,
|
||
meldingnummer,
|
||
melddatum,
|
||
einddatum,
|
||
afh_optijd,
|
||
melding_status,
|
||
kleurmarkering,
|
||
cluster_code,
|
||
cluster_oms,
|
||
afdeling_code,
|
||
afdeling_oms,
|
||
hv_betrokken,
|
||
laatstbij_hv,
|
||
objecten,
|
||
naam_melder, --kenmerk1,
|
||
telefoonnr, --kenmerk2,
|
||
email, --kenmerk3,
|
||
begintijd_van, --kenmerk4,
|
||
keuze_afvalbeh, --kenmerk5,
|
||
datum, --kenmerk6,
|
||
naam_budgeth, --kenmerk7,
|
||
kostenplaats, --kenmerk8,
|
||
keuze_st, --kenmerk9,
|
||
keuze_st_kofaut, --kenmerk10,
|
||
opleiding, --kenmerk11,
|
||
keuze_st_mfp, --kenmerk12,
|
||
begin_eind, --kenmerk13,
|
||
behand, --kenmerk14,
|
||
cat_keuze, --kenmerk15,
|
||
cat_srtmld, --kenmerk16,
|
||
keuze_rep, --kenmerk17,
|
||
aant_pers, --kenmerk18,
|
||
meldbron, --kenmerk19,
|
||
grootboekrek, --kenmerk20,
|
||
ruimte, --kenmerk21,
|
||
verdieping, --kenmerk22,
|
||
boekenlijst, --kenmerk23,
|
||
startbrief, --kenmerk24,
|
||
klasindeling, --kenmerk25,
|
||
onderwerp_jp, --kenmerk26,
|
||
startbijeenk, --kenmerk27,
|
||
cat_keuze_rest, --kenmerk28,
|
||
examencomm_verz, --kenmerk29,
|
||
toner_kleur, --kenmerk30,
|
||
ref_res, --kenmerk31,
|
||
hergebr_art, --kenmerk32,
|
||
loc_oph_mat, --kenmerk33,
|
||
kenmerk34,
|
||
kenmerk35,
|
||
kenmerk36,
|
||
kenmerk37,
|
||
kenmerk38,
|
||
kenmerk39,
|
||
kenmerk40,
|
||
kenmerk41,
|
||
kenmerk42,
|
||
kenmerk43,
|
||
kenmerk44,
|
||
kenmerk45,
|
||
kenmerk46,
|
||
kenmerk47,
|
||
kenmerk48,
|
||
kenmerk49,
|
||
kenmerk50
|
||
)
|
||
AS
|
||
WITH mk AS (SELECT sk.vnr, sk.mld_srtkenmerk_key, sk.mld_srtkenmerk_omschrijving, kw.mld_melding_key melding_key, kw.waarde
|
||
FROM (SELECT ROWNUM vnr, mld_srtkenmerk_key, mld_srtkenmerk_omschrijving
|
||
FROM ( SELECT mld_srtkenmerk_key, mld_srtkenmerk_omschrijving
|
||
FROM mld_srtkenmerk -- Inclusief alle verwijderde entries!
|
||
WHERE mld_srtkenmerk_key IN (24, 25, 26, 106, 142, 161, 221, 222, 242, 261,
|
||
481, 542, 921, 1041, 1661, 1701, 1761, 2021, 2401, 2461,
|
||
2481, 2541, 2983, 2984, 2985, 3001, 3021, 3081, 3101, 3541,
|
||
3661, 3682, 3681)
|
||
ORDER BY mld_srtkenmerk_key)) sk -- Kenmerksoorten onder vakgroepen 82, 110, 112 en 2001 [LET OP: Lijkt dynamisch, maar is het niet!]
|
||
LEFT JOIN
|
||
(SELECT sk.mld_srtkenmerk_key, km.mld_melding_key,
|
||
DECODE (sk.mld_srtkenmerk_kenmerktype,
|
||
'R', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde),
|
||
'S', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde),
|
||
km.mld_kenmerkmelding_waarde)
|
||
waarde
|
||
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k, mld_srtkenmerk sk
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key) kw
|
||
ON sk.mld_srtkenmerk_key = kw.mld_srtkenmerk_key)
|
||
SELECT CASE
|
||
WHEN x.ins_discipline_key IN (94,
|
||
176,
|
||
261,
|
||
116,
|
||
118,
|
||
2021,
|
||
1541,
|
||
381,
|
||
178,
|
||
110, -- SD (Studentinformatie)
|
||
2022,
|
||
1781,
|
||
1841)
|
||
THEN
|
||
'Servicedesk'
|
||
WHEN x.ins_discipline_key IN (102,
|
||
1861, -- Balie - SD
|
||
112, -- Catering
|
||
2001, -- Catering en Ruimtes VL en LC
|
||
82, -- Concierge
|
||
162,
|
||
108,
|
||
166,
|
||
104,
|
||
106,
|
||
182,
|
||
88,
|
||
86,
|
||
100,
|
||
1861, -- Balie - Receptie
|
||
2281) -- Quickmelding Concierge
|
||
THEN
|
||
'Facilitair'
|
||
WHEN x.ins_discipline_key IN (92) -- ICT (Werkplekbeheer)
|
||
THEN
|
||
'ICT backoffice'
|
||
ELSE
|
||
'Onbekend'
|
||
END
|
||
rapport,
|
||
x.ins_discipline_omschrijving vakgroep,
|
||
x.mld_stdmelding_omschrijving meldingsoort,
|
||
x.ins_srtdiscipline_prefix || TO_CHAR (x.melding_key) meldingnummer,
|
||
x.mld_melding_datum,
|
||
x.mld_melding_einddatum,
|
||
DECODE (x.mld_statuses_key,
|
||
1, DECODE (SIGN (x.mld_melding_einddatum_std - TRUNC (COALESCE (fac.gettrackingdate ('MLDREJ', x.melding_key), SYSDATE), 'mi')), -1, 'Nee', 'Ja'),
|
||
5, DECODE (SIGN (x.mld_melding_einddatum_std - TRUNC (COALESCE (fac.gettrackingdate ('MLDAFM', x.melding_key), SYSDATE), 'mi')), -1, 'Nee', 'Ja'),
|
||
6, DECODE (SIGN (x.mld_melding_einddatum_std - TRUNC (COALESCE (fac.gettrackingdate ('MLDAFM', x.melding_key), SYSDATE), 'mi')), -1, 'Nee', 'Ja'),
|
||
DECODE (SIGN (x.mld_melding_einddatum_std - TRUNC (SYSDATE, 'mi')), -1, 'Nee', NULL))
|
||
afh_optijd,
|
||
x.mld_statuses_omschrijving melding_status,
|
||
CASE
|
||
WHEN x.mld_melding_flag > 0
|
||
THEN lcl.l ('lcl_mld_flag' || x.mld_melding_flag)
|
||
END
|
||
bolletje,
|
||
x.cluster_code,
|
||
x.cluster_oms,
|
||
x.afdeling_code,
|
||
x.afdeling_oms,
|
||
DECODE (t.lbh, NULL, 'Nee', 'Ja') hb, -- HV betrokken
|
||
t.lbh, -- Laatstbij HV
|
||
o.objecten,
|
||
k1.waarde kenmerk1,
|
||
k2.waarde kenmerk2,
|
||
k3.waarde kenmerk3,
|
||
k4.waarde kenmerk4,
|
||
k5.waarde kenmerk5,
|
||
k6.waarde kenmerk6,
|
||
k7.waarde kenmerk7,
|
||
k8.waarde kenmerk8,
|
||
k9.waarde kenmerk9,
|
||
k10.waarde kenmerk10,
|
||
k11.waarde kenmerk11,
|
||
k12.waarde kenmerk12,
|
||
k13.waarde kenmerk13,
|
||
k14.waarde kenmerk14,
|
||
k15.waarde kenmerk15,
|
||
k16.waarde kenmerk16,
|
||
k17.waarde kenmerk17,
|
||
k18.waarde kenmerk18,
|
||
k19.waarde kenmerk19,
|
||
k20.waarde kenmerk20,
|
||
k21.waarde kenmerk21,
|
||
k22.waarde kenmerk22,
|
||
k23.waarde kenmerk23,
|
||
k24.waarde kenmerk24,
|
||
k25.waarde kenmerk25,
|
||
k26.waarde kenmerk26,
|
||
k27.waarde kenmerk27,
|
||
k28.waarde kenmerk28,
|
||
k29.waarde kenmerk29,
|
||
k30.waarde kenmerk30,
|
||
k31.waarde kenmerk31,
|
||
k32.waarde kenmerk32,
|
||
k33.waarde kenmerk33,
|
||
k34.waarde kenmerk34,
|
||
k35.waarde kenmerk35,
|
||
k36.waarde kenmerk36,
|
||
k37.waarde kenmerk37,
|
||
k38.waarde kenmerk38,
|
||
k39.waarde kenmerk39,
|
||
k40.waarde kenmerk40,
|
||
k41.waarde kenmerk41,
|
||
k42.waarde kenmerk42,
|
||
k43.waarde kenmerk43,
|
||
k44.waarde kenmerk44,
|
||
k45.waarde kenmerk45,
|
||
k46.waarde kenmerk46,
|
||
k47.waarde kenmerk47,
|
||
k48.waarde kenmerk48,
|
||
k49.waarde kenmerk49,
|
||
k50.waarde kenmerk50
|
||
FROM (SELECT sd.ins_srtdiscipline_prefix,
|
||
md.ins_discipline_key,
|
||
md.ins_discipline_omschrijving,
|
||
sm.mld_stdmelding_omschrijving,
|
||
m.mld_melding_key melding_key,
|
||
m.mld_melding_datum,
|
||
m.mld_melding_einddatum,
|
||
m.mld_melding_einddatum_std,
|
||
m.mld_melding_flag,
|
||
ms.mld_statuses_key,
|
||
ms.mld_statuses_omschrijving,
|
||
a1.prs_afdeling_naam cluster_code,
|
||
a1.prs_afdeling_omschrijving cluster_oms,
|
||
a.prs_afdeling_naam afdeling_code,
|
||
a.prs_afdeling_omschrijving afdeling_oms
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_statuses ms,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_afdeling a1,
|
||
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 md.ins_discipline_key IN (94,
|
||
176,
|
||
261,
|
||
116,
|
||
118,
|
||
2021,
|
||
1541,
|
||
381,
|
||
178,
|
||
110,
|
||
2022,
|
||
1781,
|
||
1841,
|
||
102,
|
||
1861,
|
||
112,
|
||
2001,
|
||
82,
|
||
162,
|
||
108,
|
||
166,
|
||
104,
|
||
106,
|
||
182,
|
||
88,
|
||
86,
|
||
100,
|
||
92,
|
||
1861,
|
||
2281)
|
||
AND m.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key1 = a1.prs_afdeling_key
|
||
AND ab.prs_afdeling_key = a.prs_afdeling_key
|
||
AND m.mld_melding_status = ms.mld_statuses_key) x
|
||
LEFT JOIN ( SELECT fac_tracking_refkey,
|
||
MAX (fac_tracking_datum) lbh -- Laatstbij HV
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 45 -- MLDUPD
|
||
AND INSTR (fac_tracking_oms, '--> Huisvesting') > 0
|
||
GROUP BY fac_tracking_refkey) t
|
||
ON x.melding_key = t.fac_tracking_refkey -- HSLE#61578
|
||
LEFT JOIN ( SELECT mo.mld_melding_key,
|
||
listagg (d.ins_deel_omschrijving, ',')
|
||
WITHIN GROUP (ORDER BY d.ins_deel_omschrijving)
|
||
AS objecten
|
||
FROM mld_v_aanwezigmelding_object mo, ins_deel d, ins_srtdeel sd
|
||
WHERE mo.ins_deel_key = d.ins_deel_key
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
GROUP BY mo.mld_melding_key) o
|
||
ON x.melding_key = o.mld_melding_key
|
||
LEFT JOIN mk k1 ON x.melding_key = k1.melding_key AND k1.vnr = 1
|
||
LEFT JOIN mk k2 ON x.melding_key = k2.melding_key AND k2.vnr = 2
|
||
LEFT JOIN mk k3 ON x.melding_key = k3.melding_key AND k3.vnr = 3
|
||
LEFT JOIN mk k4 ON x.melding_key = k4.melding_key AND k4.vnr = 4
|
||
LEFT JOIN mk k5 ON x.melding_key = k5.melding_key AND k5.vnr = 5
|
||
LEFT JOIN mk k6 ON x.melding_key = k6.melding_key AND k6.vnr = 6
|
||
LEFT JOIN mk k7 ON x.melding_key = k7.melding_key AND k7.vnr = 7
|
||
LEFT JOIN mk k8 ON x.melding_key = k8.melding_key AND k8.vnr = 8
|
||
LEFT JOIN mk k9 ON x.melding_key = k9.melding_key AND k9.vnr = 9
|
||
LEFT JOIN mk k10 ON x.melding_key = k10.melding_key AND k10.vnr = 10
|
||
LEFT JOIN mk k11 ON x.melding_key = k11.melding_key AND k11.vnr = 11
|
||
LEFT JOIN mk k12 ON x.melding_key = k12.melding_key AND k12.vnr = 12
|
||
LEFT JOIN mk k13 ON x.melding_key = k13.melding_key AND k13.vnr = 13
|
||
LEFT JOIN mk k14 ON x.melding_key = k14.melding_key AND k14.vnr = 14
|
||
LEFT JOIN mk k15 ON x.melding_key = k15.melding_key AND k15.vnr = 15
|
||
LEFT JOIN mk k16 ON x.melding_key = k16.melding_key AND k16.vnr = 16
|
||
LEFT JOIN mk k17 ON x.melding_key = k17.melding_key AND k17.vnr = 17
|
||
LEFT JOIN mk k18 ON x.melding_key = k18.melding_key AND k18.vnr = 18
|
||
LEFT JOIN mk k19 ON x.melding_key = k19.melding_key AND k19.vnr = 19
|
||
LEFT JOIN mk k20 ON x.melding_key = k20.melding_key AND k20.vnr = 20
|
||
LEFT JOIN mk k21 ON x.melding_key = k21.melding_key AND k21.vnr = 21
|
||
LEFT JOIN mk k22 ON x.melding_key = k22.melding_key AND k22.vnr = 22
|
||
LEFT JOIN mk k23 ON x.melding_key = k23.melding_key AND k23.vnr = 23
|
||
LEFT JOIN mk k24 ON x.melding_key = k24.melding_key AND k24.vnr = 24
|
||
LEFT JOIN mk k25 ON x.melding_key = k25.melding_key AND k25.vnr = 25
|
||
LEFT JOIN mk k26 ON x.melding_key = k26.melding_key AND k26.vnr = 26
|
||
LEFT JOIN mk k27 ON x.melding_key = k27.melding_key AND k27.vnr = 27
|
||
LEFT JOIN mk k28 ON x.melding_key = k28.melding_key AND k28.vnr = 28
|
||
LEFT JOIN mk k29 ON x.melding_key = k29.melding_key AND k29.vnr = 29
|
||
LEFT JOIN mk k30 ON x.melding_key = k30.melding_key AND k30.vnr = 30
|
||
LEFT JOIN mk k31 ON x.melding_key = k31.melding_key AND k31.vnr = 31
|
||
LEFT JOIN mk k32 ON x.melding_key = k32.melding_key AND k32.vnr = 32
|
||
LEFT JOIN mk k33 ON x.melding_key = k33.melding_key AND k33.vnr = 33
|
||
LEFT JOIN mk k34 ON x.melding_key = k34.melding_key AND k34.vnr = 34
|
||
LEFT JOIN mk k35 ON x.melding_key = k35.melding_key AND k35.vnr = 35
|
||
LEFT JOIN mk k36 ON x.melding_key = k36.melding_key AND k36.vnr = 36
|
||
LEFT JOIN mk k37 ON x.melding_key = k37.melding_key AND k37.vnr = 37
|
||
LEFT JOIN mk k38 ON x.melding_key = k38.melding_key AND k38.vnr = 38
|
||
LEFT JOIN mk k39 ON x.melding_key = k39.melding_key AND k39.vnr = 39
|
||
LEFT JOIN mk k40 ON x.melding_key = k40.melding_key AND k40.vnr = 40
|
||
LEFT JOIN mk k41 ON x.melding_key = k41.melding_key AND k41.vnr = 41
|
||
LEFT JOIN mk k42 ON x.melding_key = k42.melding_key AND k42.vnr = 42
|
||
LEFT JOIN mk k43 ON x.melding_key = k43.melding_key AND k43.vnr = 43
|
||
LEFT JOIN mk k44 ON x.melding_key = k44.melding_key AND k44.vnr = 44
|
||
LEFT JOIN mk k45 ON x.melding_key = k45.melding_key AND k45.vnr = 45
|
||
LEFT JOIN mk k46 ON x.melding_key = k46.melding_key AND k46.vnr = 46
|
||
LEFT JOIN mk k47 ON x.melding_key = k47.melding_key AND k47.vnr = 47
|
||
LEFT JOIN mk k48 ON x.melding_key = k48.melding_key AND k48.vnr = 48
|
||
LEFT JOIN mk k49 ON x.melding_key = k49.melding_key AND k49.vnr = 49
|
||
LEFT JOIN mk k50 ON x.melding_key = k50.melding_key AND k50.vnr = 50;
|
||
|
||
-- HSLE#60376: Meldingen onder vakgroepen 2041=Applicatiebeheer, 2062=Infra (SN)
|
||
-- en 2063=Infra (DT) incl. kenmerken tbv. PWRBI
|
||
CREATE OR REPLACE VIEW hsle_v_udr_mld_ab_infra
|
||
(
|
||
melding_key,
|
||
meldingnummer,
|
||
--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,
|
||
afdeling,
|
||
afdeling_omschrijving,
|
||
--fclt_3d_afdeling_key,
|
||
bedrijf_key,
|
||
invoerder,
|
||
bron, -- meldbron
|
||
--vakgroeptype, --soortmelding
|
||
--fclt_3d_discipline_key,
|
||
vakgroep, --productgroep,
|
||
meldingsoort, --subproductgroep,
|
||
--behandelgroep,
|
||
behandelaar,
|
||
behandelaar_key,
|
||
meldinggroep, --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_acceptdatum,
|
||
melding_afgemeld,
|
||
melding_accepted,
|
||
doorlooptijd_werkdgn,
|
||
doorlooptijd_werkuren,
|
||
onderwerp,
|
||
omschrijving,
|
||
melding_opmerking,
|
||
prioriteit,
|
||
prioriteittxt,
|
||
rating,
|
||
rating_opmerking,
|
||
bolletje,
|
||
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,
|
||
naam_melder, --kenmerk1,
|
||
telefoonnr, --kenmerk2,
|
||
email, --kenmerk3,
|
||
dat_laatst_gez, --kenmerk4,
|
||
datum_const, --kenmerk5,
|
||
beschr_sit, --kenmerk6,
|
||
beschr_goed, --kenmerk7,
|
||
eigendom_hsl, --kenmerk8,
|
||
pin_ww_op_app, --kenmerk9,
|
||
account_op_app, --kenmerk10,
|
||
serienr, --kenmerk11,
|
||
waarde, --kenmerk12,
|
||
begin_eind, --kenmerk13,
|
||
behand, --kenmerk14,
|
||
keuze_mob, --kenmerk15,
|
||
huidige_mob, --kenmerk16,
|
||
reden_aanvr_mob, --kenmerk17,
|
||
geg_nieuwe_mdw, --kenmerk18,
|
||
meldbron, --kenmerk19,
|
||
email_prive, --kenmerk20,
|
||
indienst_per, --kenmerk21,
|
||
naam_mb, --kenmerk22,
|
||
weergavenaam_mb, --kenmerk23,
|
||
wie_beh_mb, --kenmerk24,
|
||
wie_fa_recht, --kenmerk25,
|
||
wie_sob_recht, --kenmerk26,
|
||
wie_sa_recht, --kenmerk27,
|
||
inlog_geconst, --kenmerk28,
|
||
zelf_apps_gebl, --kenmerk29,
|
||
contactgeg, --kenmerk30,
|
||
extra_info, --kenmerk31,
|
||
soortmelding, --kenmerk32,
|
||
security_incident, --kenmerk33,
|
||
vermissing, --kenmerk34,
|
||
informatieverz, --kenmerk35,
|
||
incident, --kenmerk36,
|
||
serviceverz, --kenmerk37,
|
||
filemaker, --kenmerk38,
|
||
sharepoint, --kenmerk39,
|
||
melding_opgelost, --kenmerk40,
|
||
domein, --kenmerk41,
|
||
incident_a_sn, --kenmerk42,
|
||
incident_n_sn, --kenmerk43,
|
||
incident_s_sn, --kenmerk44,
|
||
melding_opgelost_j, --kenmerk45,
|
||
serviceverz_a_sn, --kenmerk46
|
||
serviceverz_n_sn, --kenmerk47,
|
||
serviceverz_s_sn, --kenmerk48,
|
||
alg_storing_keuze, --kenmerk49,
|
||
autorisatie_mb, --kenmerk50,
|
||
beheerder_mt, --kenmerk51,
|
||
desktop_keuze, --kenmerk52,
|
||
email_keuze1, --kenmerk53,
|
||
email_keuze2, --kenmerk54,
|
||
hoeveel_wp, --kenmerk55,
|
||
gemeld_bij_maas, --kenmerk56,
|
||
incident_h, --kenmerk57,
|
||
incident_s, --kenmerk58,
|
||
incident_t, --kenmerk59,
|
||
laptop_keuze, --kenmerk60,
|
||
mfp_storing_keuze, --kenmerk61,
|
||
mob_storing_keuze, --kenmerk62,
|
||
nummerport_keuze, --kenmerk63,
|
||
off_app_keuze, --kenmerk64,
|
||
off_groep_keuze, --kenmerk65,
|
||
serviceverz_a, --kenmerk66,
|
||
serviceverz_h, --kenmerk67,
|
||
serviceverz_o, --kenmerk68,
|
||
serviceverz_s, --kenmerk69,
|
||
serviceverz_t, --kenmerk70,
|
||
vaste_tel_keuze, --kenmerk71,
|
||
toestemming_ldg_j, --kenmerk72,
|
||
kenmerk73,
|
||
kenmerk74,
|
||
kenmerk75,
|
||
kenmerk76,
|
||
kenmerk77,
|
||
kenmerk78,
|
||
kenmerk79,
|
||
kenmerk80
|
||
)
|
||
AS
|
||
WITH mk AS (SELECT sk.vnr, sk.mld_srtkenmerk_key, sk.mld_srtkenmerk_omschrijving, kw.mld_melding_key melding_key, kw.waarde
|
||
FROM (SELECT ROWNUM vnr, mld_srtkenmerk_key, mld_srtkenmerk_omschrijving
|
||
FROM ( SELECT mld_srtkenmerk_key, mld_srtkenmerk_omschrijving
|
||
FROM mld_srtkenmerk -- Inclusief alle verwijderde entries!
|
||
WHERE mld_srtkenmerk_key IN (24, 25, 26, 661, 663, 664, 665, 666, 681, 682,
|
||
721, 722, 921, 1041, 2361, 2362, 2363, 2381, 2401, 2421,
|
||
2422, 2581, 2582, 2583, 2584, 2585, 2586, 2761, 2781, 2841,
|
||
2861, 3641, 3642, 3645, 3646, 3647, 3648, 3701, 3761, 3762,
|
||
3901, 3961, 3962, 3963, 3964, 3966, 3967, 3968, 3981, 3982,
|
||
3983, 3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 3992,
|
||
3993, 3994, 3995, 3996, 3997, 3998, 3999, 4000, 4001, 4002,
|
||
4003, 4021)
|
||
ORDER BY mld_srtkenmerk_key)) sk
|
||
LEFT JOIN
|
||
(SELECT sk.mld_srtkenmerk_key, km.mld_melding_key,
|
||
DECODE (sk.mld_srtkenmerk_kenmerktype,
|
||
'R', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde),
|
||
'S', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde),
|
||
km.mld_kenmerkmelding_waarde)
|
||
waarde
|
||
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k, mld_srtkenmerk sk
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key) kw
|
||
ON sk.mld_srtkenmerk_key = kw.mld_srtkenmerk_key)
|
||
SELECT x.melding_key,
|
||
x.meldingnummer,
|
||
--x.melding_regio,
|
||
--x.melding_district,
|
||
x.melding_locatiecode,
|
||
x.melding_locatie,
|
||
x.melding_locatieplaats,
|
||
--x.fclt_3d_locatie_key,
|
||
x.melding_gebouwcode,
|
||
x.melding_gebouw,
|
||
x.melding_verdieping,
|
||
x.melding_ruimtenr,
|
||
x.melding_ruimte,
|
||
--x.melding_ordernr,
|
||
--x.kostensoortgroep,
|
||
--x.kostensoort,
|
||
x.kostenplaats,
|
||
x.kostenplaats_oms,
|
||
x.melder,
|
||
x.melder_key,
|
||
x.afdeling,
|
||
x.afdeling_omschrijving,
|
||
--x.fclt_3d_afdeling_key,
|
||
x.bedrijf_key,
|
||
x.invoerder,
|
||
x.meldbron,
|
||
--x.soortmelding,
|
||
--x.fclt_3d_discipline_key,
|
||
x.productgroep,
|
||
x.subproductgroep,
|
||
--x.behandelgroep,
|
||
x.behandelaar,
|
||
x.behandelaar_key,
|
||
x.subproductgroepgroep,
|
||
--x.fclt_3d_discipline2_key,
|
||
x.actieve_behandelgroep,
|
||
x.actieve_behandelaar_key,
|
||
x.actieve_behandelaar,
|
||
x.melding_status,
|
||
x.sla_nvt,
|
||
x.sla_werkdgn,
|
||
x.sla_werkuren,
|
||
x.sla_respijtdgn,
|
||
x.sla_respijturen,
|
||
x.sla_accptdgn,
|
||
x.sla_accpturen,
|
||
x.plan_uitvoertijd_sla,
|
||
x.melding_datum,
|
||
x.melding_einddatum,
|
||
x.melding_acceptdatum,
|
||
x.melding_afgemeld,
|
||
x.melding_accepted,
|
||
x.doorlooptijd_werkdgn,
|
||
x.doorlooptijd_werkuren,
|
||
x.onderwerp,
|
||
x.vomschrijving,
|
||
x.melding_opmerking,
|
||
x.prioriteit,
|
||
x.prioriteittxt,
|
||
x.rating,
|
||
x.rating_opmerking,
|
||
x.bolletje,
|
||
x.accept_sla_dagen,
|
||
x.accept_sla_uren,
|
||
x.uitvoering_sla_dagen,
|
||
x.uitvoering_sla_uren,
|
||
x.afspraak_sla_dagen,
|
||
x.afspraak_sla_uren,
|
||
x.accept_sla_optijd,
|
||
x.uitvoering_sla_optijd,
|
||
x.afspraak_sla_optijd,
|
||
x.selfservice,
|
||
k1.waarde kenmerk1,
|
||
k2.waarde kenmerk2,
|
||
k3.waarde kenmerk3,
|
||
k4.waarde kenmerk4,
|
||
k5.waarde kenmerk5,
|
||
k6.waarde kenmerk6,
|
||
k7.waarde kenmerk7,
|
||
k8.waarde kenmerk8,
|
||
k9.waarde kenmerk9,
|
||
k10.waarde kenmerk10,
|
||
k11.waarde kenmerk11,
|
||
k12.waarde kenmerk12,
|
||
k13.waarde kenmerk13,
|
||
k14.waarde kenmerk14,
|
||
k15.waarde kenmerk15,
|
||
k16.waarde kenmerk16,
|
||
k17.waarde kenmerk17,
|
||
k18.waarde kenmerk18,
|
||
k19.waarde kenmerk19,
|
||
k20.waarde kenmerk20,
|
||
k21.waarde kenmerk21,
|
||
k22.waarde kenmerk22,
|
||
k23.waarde kenmerk23,
|
||
k24.waarde kenmerk24,
|
||
k25.waarde kenmerk25,
|
||
k26.waarde kenmerk26,
|
||
k27.waarde kenmerk27,
|
||
k28.waarde kenmerk28,
|
||
k29.waarde kenmerk29,
|
||
k30.waarde kenmerk30,
|
||
k31.waarde kenmerk31,
|
||
k32.waarde kenmerk32,
|
||
k33.waarde kenmerk33,
|
||
k34.waarde kenmerk34,
|
||
k35.waarde kenmerk35,
|
||
k36.waarde kenmerk36,
|
||
k37.waarde kenmerk37,
|
||
k38.waarde kenmerk38,
|
||
k39.waarde kenmerk39,
|
||
k40.waarde kenmerk40,
|
||
k41.waarde kenmerk41,
|
||
k42.waarde kenmerk42,
|
||
k43.waarde kenmerk43,
|
||
k44.waarde kenmerk44,
|
||
k45.waarde kenmerk45,
|
||
k46.waarde kenmerk46,
|
||
k47.waarde kenmerk47,
|
||
k48.waarde kenmerk48,
|
||
k49.waarde kenmerk49,
|
||
k50.waarde kenmerk50,
|
||
k51.waarde kenmerk51,
|
||
k52.waarde kenmerk52,
|
||
k53.waarde kenmerk53,
|
||
k54.waarde kenmerk54,
|
||
k55.waarde kenmerk55,
|
||
k56.waarde kenmerk56,
|
||
k57.waarde kenmerk57,
|
||
k58.waarde kenmerk58,
|
||
k59.waarde kenmerk59,
|
||
k60.waarde kenmerk60,
|
||
k61.waarde kenmerk61,
|
||
k62.waarde kenmerk62,
|
||
k63.waarde kenmerk63,
|
||
k64.waarde kenmerk64,
|
||
k65.waarde kenmerk65,
|
||
k66.waarde kenmerk66,
|
||
k67.waarde kenmerk67,
|
||
k68.waarde kenmerk68,
|
||
k69.waarde kenmerk69,
|
||
k70.waarde kenmerk70,
|
||
k71.waarde kenmerk71,
|
||
k72.waarde kenmerk72,
|
||
k73.waarde kenmerk73,
|
||
k74.waarde kenmerk74,
|
||
k75.waarde kenmerk75,
|
||
k76.waarde kenmerk76,
|
||
k77.waarde kenmerk77,
|
||
k78.waarde kenmerk78,
|
||
k79.waarde kenmerk79,
|
||
k80.waarde kenmerk80
|
||
FROM (SELECT v.* FROM mld_v_udr_melding v WHERE fclt_3d_discipline_key IN (2041, 2162, 2163)) x -- Applicatiebeheer/Infra (SN)/Infra (DT)
|
||
LEFT JOIN mk k1 ON x.melding_key = k1.melding_key AND k1.vnr = 1
|
||
LEFT JOIN mk k2 ON x.melding_key = k2.melding_key AND k2.vnr = 2
|
||
LEFT JOIN mk k3 ON x.melding_key = k3.melding_key AND k3.vnr = 3
|
||
LEFT JOIN mk k4 ON x.melding_key = k4.melding_key AND k4.vnr = 4
|
||
LEFT JOIN mk k5 ON x.melding_key = k5.melding_key AND k5.vnr = 5
|
||
LEFT JOIN mk k6 ON x.melding_key = k6.melding_key AND k6.vnr = 6
|
||
LEFT JOIN mk k7 ON x.melding_key = k7.melding_key AND k7.vnr = 7
|
||
LEFT JOIN mk k8 ON x.melding_key = k8.melding_key AND k8.vnr = 8
|
||
LEFT JOIN mk k9 ON x.melding_key = k9.melding_key AND k9.vnr = 9
|
||
LEFT JOIN mk k10 ON x.melding_key = k10.melding_key AND k10.vnr = 10
|
||
LEFT JOIN mk k11 ON x.melding_key = k11.melding_key AND k11.vnr = 11
|
||
LEFT JOIN mk k12 ON x.melding_key = k12.melding_key AND k12.vnr = 12
|
||
LEFT JOIN mk k13 ON x.melding_key = k13.melding_key AND k13.vnr = 13
|
||
LEFT JOIN mk k14 ON x.melding_key = k14.melding_key AND k14.vnr = 14
|
||
LEFT JOIN mk k15 ON x.melding_key = k15.melding_key AND k15.vnr = 15
|
||
LEFT JOIN mk k16 ON x.melding_key = k16.melding_key AND k16.vnr = 16
|
||
LEFT JOIN mk k17 ON x.melding_key = k17.melding_key AND k17.vnr = 17
|
||
LEFT JOIN mk k18 ON x.melding_key = k18.melding_key AND k18.vnr = 18
|
||
LEFT JOIN mk k19 ON x.melding_key = k19.melding_key AND k19.vnr = 19
|
||
LEFT JOIN mk k20 ON x.melding_key = k20.melding_key AND k20.vnr = 20
|
||
LEFT JOIN mk k21 ON x.melding_key = k21.melding_key AND k21.vnr = 21
|
||
LEFT JOIN mk k22 ON x.melding_key = k22.melding_key AND k22.vnr = 22
|
||
LEFT JOIN mk k23 ON x.melding_key = k23.melding_key AND k23.vnr = 23
|
||
LEFT JOIN mk k24 ON x.melding_key = k24.melding_key AND k24.vnr = 24
|
||
LEFT JOIN mk k25 ON x.melding_key = k25.melding_key AND k25.vnr = 25
|
||
LEFT JOIN mk k26 ON x.melding_key = k26.melding_key AND k26.vnr = 26
|
||
LEFT JOIN mk k27 ON x.melding_key = k27.melding_key AND k27.vnr = 27
|
||
LEFT JOIN mk k28 ON x.melding_key = k28.melding_key AND k28.vnr = 28
|
||
LEFT JOIN mk k29 ON x.melding_key = k29.melding_key AND k29.vnr = 29
|
||
LEFT JOIN mk k30 ON x.melding_key = k30.melding_key AND k30.vnr = 30
|
||
LEFT JOIN mk k31 ON x.melding_key = k31.melding_key AND k31.vnr = 31
|
||
LEFT JOIN mk k32 ON x.melding_key = k32.melding_key AND k32.vnr = 32
|
||
LEFT JOIN mk k33 ON x.melding_key = k33.melding_key AND k33.vnr = 33
|
||
LEFT JOIN mk k34 ON x.melding_key = k34.melding_key AND k34.vnr = 34
|
||
LEFT JOIN mk k35 ON x.melding_key = k35.melding_key AND k35.vnr = 35
|
||
LEFT JOIN mk k36 ON x.melding_key = k36.melding_key AND k36.vnr = 36
|
||
LEFT JOIN mk k37 ON x.melding_key = k37.melding_key AND k37.vnr = 37
|
||
LEFT JOIN mk k38 ON x.melding_key = k38.melding_key AND k38.vnr = 38
|
||
LEFT JOIN mk k39 ON x.melding_key = k39.melding_key AND k39.vnr = 39
|
||
LEFT JOIN mk k40 ON x.melding_key = k40.melding_key AND k40.vnr = 40
|
||
LEFT JOIN mk k41 ON x.melding_key = k41.melding_key AND k41.vnr = 41
|
||
LEFT JOIN mk k42 ON x.melding_key = k42.melding_key AND k42.vnr = 42
|
||
LEFT JOIN mk k43 ON x.melding_key = k43.melding_key AND k43.vnr = 43
|
||
LEFT JOIN mk k44 ON x.melding_key = k44.melding_key AND k44.vnr = 44
|
||
LEFT JOIN mk k45 ON x.melding_key = k45.melding_key AND k45.vnr = 45
|
||
LEFT JOIN mk k46 ON x.melding_key = k46.melding_key AND k46.vnr = 46
|
||
LEFT JOIN mk k47 ON x.melding_key = k47.melding_key AND k47.vnr = 47
|
||
LEFT JOIN mk k48 ON x.melding_key = k48.melding_key AND k48.vnr = 48
|
||
LEFT JOIN mk k49 ON x.melding_key = k49.melding_key AND k49.vnr = 49
|
||
LEFT JOIN mk k50 ON x.melding_key = k50.melding_key AND k50.vnr = 50
|
||
LEFT JOIN mk k51 ON x.melding_key = k51.melding_key AND k51.vnr = 51
|
||
LEFT JOIN mk k52 ON x.melding_key = k52.melding_key AND k52.vnr = 52
|
||
LEFT JOIN mk k53 ON x.melding_key = k53.melding_key AND k53.vnr = 53
|
||
LEFT JOIN mk k54 ON x.melding_key = k54.melding_key AND k54.vnr = 54
|
||
LEFT JOIN mk k55 ON x.melding_key = k55.melding_key AND k55.vnr = 55
|
||
LEFT JOIN mk k56 ON x.melding_key = k56.melding_key AND k56.vnr = 56
|
||
LEFT JOIN mk k57 ON x.melding_key = k57.melding_key AND k57.vnr = 57
|
||
LEFT JOIN mk k58 ON x.melding_key = k58.melding_key AND k58.vnr = 58
|
||
LEFT JOIN mk k59 ON x.melding_key = k59.melding_key AND k59.vnr = 59
|
||
LEFT JOIN mk k60 ON x.melding_key = k60.melding_key AND k60.vnr = 60
|
||
LEFT JOIN mk k61 ON x.melding_key = k61.melding_key AND k61.vnr = 61
|
||
LEFT JOIN mk k62 ON x.melding_key = k62.melding_key AND k62.vnr = 62
|
||
LEFT JOIN mk k63 ON x.melding_key = k63.melding_key AND k63.vnr = 63
|
||
LEFT JOIN mk k64 ON x.melding_key = k64.melding_key AND k64.vnr = 64
|
||
LEFT JOIN mk k65 ON x.melding_key = k65.melding_key AND k65.vnr = 65
|
||
LEFT JOIN mk k66 ON x.melding_key = k66.melding_key AND k66.vnr = 66
|
||
LEFT JOIN mk k67 ON x.melding_key = k67.melding_key AND k67.vnr = 67
|
||
LEFT JOIN mk k68 ON x.melding_key = k68.melding_key AND k68.vnr = 68
|
||
LEFT JOIN mk k69 ON x.melding_key = k69.melding_key AND k69.vnr = 69
|
||
LEFT JOIN mk k70 ON x.melding_key = k70.melding_key AND k70.vnr = 70
|
||
LEFT JOIN mk k71 ON x.melding_key = k71.melding_key AND k71.vnr = 71
|
||
LEFT JOIN mk k72 ON x.melding_key = k72.melding_key AND k72.vnr = 72
|
||
LEFT JOIN mk k73 ON x.melding_key = k73.melding_key AND k73.vnr = 73
|
||
LEFT JOIN mk k74 ON x.melding_key = k74.melding_key AND k74.vnr = 74
|
||
LEFT JOIN mk k75 ON x.melding_key = k75.melding_key AND k75.vnr = 75
|
||
LEFT JOIN mk k76 ON x.melding_key = k76.melding_key AND k76.vnr = 76
|
||
LEFT JOIN mk k77 ON x.melding_key = k77.melding_key AND k77.vnr = 77
|
||
LEFT JOIN mk k78 ON x.melding_key = k78.melding_key AND k78.vnr = 78
|
||
LEFT JOIN mk k79 ON x.melding_key = k79.melding_key AND k79.vnr = 79
|
||
LEFT JOIN mk k80 ON x.melding_key = k80.melding_key AND k80.vnr = 80;
|
||
|
||
-- HSLE#61425: Hoe lang hebben meldingen uit hsle_v_udr_mld_ab_infra-view bij
|
||
-- welk Behandelteam gelegen.
|
||
CREATE OR REPLACE VIEW hsle_v_udr_mld_ab_infra_bt
|
||
(
|
||
melding_key,
|
||
meldingnummer,
|
||
meldingstatus,
|
||
toegewezen_bt,
|
||
toegewezen_op,
|
||
werkuren,
|
||
werkduur
|
||
)
|
||
AS
|
||
WITH kantoortijden
|
||
AS (SELECT fac.safe_to_number (fac.getsetting ('fac_t_endofworkday')) - fac.safe_to_number (fac.getsetting ('fac_t_startofworkday')) uren
|
||
FROM DUAL),
|
||
x
|
||
AS (SELECT m.mld_melding_key,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnummer,
|
||
m.mld_melding_status,
|
||
t.fac_tracking_key,
|
||
'Nieuw' bt,
|
||
t.fac_tracking_datum op
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd, fac_tracking t
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_discipline_key IN (2041, 2162, 2163) -- Applicatiebeheer/Infra (SN)/Infra (DT)
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 43 -- MLDNEW
|
||
UNION ALL
|
||
SELECT m.mld_melding_key,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnummer,
|
||
m.mld_melding_status,
|
||
t.fac_tracking_key,
|
||
SUBSTR (
|
||
SUBSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Behandelteam:')),
|
||
INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Behandelteam:')),
|
||
' --> ')
|
||
+ 5),
|
||
1,
|
||
INSTR (
|
||
SUBSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Behandelteam:')),
|
||
INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms,
|
||
'Behandelteam:')),
|
||
' --> ')
|
||
+ 5)
|
||
|| CHR (10),
|
||
CHR (10))
|
||
- 1)
|
||
bt,
|
||
t.fac_tracking_datum op
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd, fac_tracking t
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_discipline_key IN (2041, 2162, 2163) -- Applicatiebeheer/Infra (SN)/Infra (DT)
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 45 -- MLDUPD
|
||
AND INSTR (t.fac_tracking_oms, 'Behandelteam:') > 0
|
||
AND INSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, 'Behandelteam:')), ' --> ') > 0)
|
||
SELECT mld_melding_key,
|
||
meldingnummer,
|
||
mld_melding_status,
|
||
bt toegewezen_bt,
|
||
op toegewezen_op,
|
||
ROUND (duur, 2) werkuren,
|
||
TO_CHAR (FLOOR (duur / kt.uren)) || 'D-' || TO_CHAR (FLOOR (ROUND (MOD (duur, kt.uren) * 60) / 60)) || 'U-' || TO_CHAR (ROUND (MOD (duur, 1) * 60)) || 'M'
|
||
werkduur
|
||
FROM kantoortijden kt,
|
||
(SELECT x.mld_melding_key,
|
||
x.meldingnummer,
|
||
x.mld_melding_status,
|
||
x.bt,
|
||
x.op,
|
||
--COALESCE (y.tot, fac.gettrackingdate ('MLDREJ', x.mld_melding_key), fac.gettrackingdate ('MLDAFM', x.mld_melding_key), SYSDATE)
|
||
-- tot,
|
||
fac.datumtijdnaaruitvoertijd (x.op, COALESCE (y.tot, fac.gettrackingdate ('MLDREJ', x.mld_melding_key), fac.gettrackingdate ('MLDAFM', x.mld_melding_key), SYSDATE), 'U').tijdsduur
|
||
duur
|
||
FROM x
|
||
LEFT JOIN
|
||
( SELECT cur.mld_melding_key, cur.fac_tracking_key, MIN (nxt.op) tot
|
||
FROM x cur, x nxt
|
||
WHERE cur.mld_melding_key = nxt.mld_melding_key
|
||
AND nxt.fac_tracking_key > cur.fac_tracking_key
|
||
GROUP BY cur.mld_melding_key, cur.fac_tracking_key) y
|
||
ON x.mld_melding_key = y.mld_melding_key
|
||
AND x.fac_tracking_key = y.fac_tracking_key);
|
||
|
||
-- HSLE#61163: Rapportage tbv. Steef Harlaar=beheerder deurbordjes/sleutels.
|
||
CREATE OR REPLACE VIEW hsle_v_rap_prs_wp_sleutel
|
||
(
|
||
prs_perslid_key,
|
||
medewerker,
|
||
email,
|
||
functie,
|
||
fte,
|
||
organisatie,
|
||
aant_wp,
|
||
locatie,
|
||
gebouw,
|
||
verdieping,
|
||
ruimte,
|
||
werkplek,
|
||
--leidinggevende,
|
||
inactief,
|
||
sleutelsoort,
|
||
een_of_meer,
|
||
aant_sl,
|
||
ins_deel_key,
|
||
sleutelid,
|
||
status,
|
||
opmerking,
|
||
borg,
|
||
borg_bedrag,
|
||
mld_melding_key,
|
||
meldingnr,
|
||
top_med_ind
|
||
)
|
||
AS
|
||
SELECT x.prs_perslid_key,
|
||
x.prs_perslid_naam_full medewerker,
|
||
x.prs_perslid_email email,
|
||
x.prs_srtperslid_omschrijving functie,
|
||
ROUND (x.prs_perslid_dienstverband / 100, 2) fte,
|
||
x.prs_afdeling_naam || '-' || x.prs_afdeling_omschrijving organisatie,
|
||
pw1.aantal aant_wp,
|
||
SUBSTR (pwg.prs_werkplek_aanduiding, 1, INSTR (pwg.prs_werkplek_aanduiding, '-') - 1) locatie,
|
||
pwg.alg_gebouw_code gebouw,
|
||
pwg.alg_verdieping_code verdieping,
|
||
pwg.alg_ruimte_nr ruimte,
|
||
pwg.prs_werkplek_aanduiding werkplek,
|
||
--'?' leidinggevende,
|
||
DECODE (INSTR (x.prs_perslid_naam, 'INACTIEF:'), 0, 'Nee', 'Ja') inactief,
|
||
d2.ins_srtdeel_omschrijving sleutelsoort,
|
||
DECODE (d1.aantal, NULL, NULL, 1, '1', '>1') een_of_meer,
|
||
d1.aantal sleutels,
|
||
d2.ins_deel_key,
|
||
d2.ins_deel_omschrijving sleutelid,
|
||
sts_ud.fac_usrdata_omschr status,
|
||
opm.ins_kenmerkdeel_waarde opmerking,
|
||
DECODE (SIGN (fac.safe_to_number (COALESCE (brg.ins_kenmerkdeel_waarde, '0'))), 0, 'Nee', 'Ja') borg,
|
||
fac.safe_to_number (COALESCE (brg.ins_kenmerkdeel_waarde, '0')) borg_bedrag,
|
||
fac.safe_to_number (SUBSTR (mnr.ins_kenmerkdeel_waarde, REGEXP_INSTR (mnr.ins_kenmerkdeel_waarde, '\d'))) mld_melding_key,
|
||
mnr.ins_kenmerkdeel_waarde meldingnr,
|
||
DECODE (COALESCE (ind.ins_kenmerkdeel_waarde, '0'), '0', 'Nee', 'Ja') top_med_ind
|
||
FROM (SELECT p.prs_perslid_key, p.prs_perslid_naam, p.prs_perslid_email, p.prs_perslid_dienstverband, p.prs_perslid_verwijder,
|
||
pf.prs_perslid_naam_full, sp.prs_srtperslid_omschrijving, a.prs_afdeling_naam, a.prs_afdeling_omschrijving
|
||
FROM prs_perslid p, prs_v_perslid_fullnames_all pf, prs_srtperslid sp, prs_v_afdeling_boom ab, prs_afdeling a
|
||
WHERE p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key = a.prs_afdeling_key) x -- Parkeren/Toegang
|
||
LEFT JOIN ( 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 = 0
|
||
GROUP BY pw.prs_perslid_key) pw1
|
||
ON x.prs_perslid_key = pw1.prs_perslid_key
|
||
LEFT JOIN (SELECT pw1.prs_perslid_key, wp1.prs_werkplek_key
|
||
FROM prs_perslidwerkplek pw1, prs_werkplek wp1
|
||
WHERE pw1.prs_werkplek_key = wp1.prs_werkplek_key
|
||
AND wp1.prs_werkplek_virtueel = 0
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw2, prs_werkplek wp2
|
||
WHERE pw2.prs_werkplek_key = wp2.prs_werkplek_key
|
||
AND wp2.prs_werkplek_virtueel = 0
|
||
AND pw2.prs_perslid_key = pw1.prs_perslid_key
|
||
--AND pw2.prs_werkplek_key != pw1.prs_werkplek_key
|
||
AND COALESCE (pw2.prs_perslidwerkplek_volgnr, 10000 + pw2.prs_perslidwerkplek_key) <
|
||
COALESCE (pw1.prs_perslidwerkplek_volgnr, 10000 + pw1.prs_perslidwerkplek_key))) pw2
|
||
ON x.prs_perslid_key = pw2.prs_perslid_key
|
||
LEFT JOIN prs_v_perslidwerkplek_gegevens pwg
|
||
ON pw2.prs_werkplek_key = pwg.prs_werkplek_key
|
||
LEFT JOIN ( SELECT d.ins_alg_ruimte_key, COUNT ( * ) aantal
|
||
FROM ins_v_aanwezigdeel d, ins_srtdeel sd, ins_srtgroep sg
|
||
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 = 501 -- Toegang
|
||
GROUP BY d.ins_alg_ruimte_key) d1
|
||
ON x.prs_perslid_key = d1.ins_alg_ruimte_key
|
||
LEFT JOIN ( SELECT d.ins_alg_ruimte_key, d.ins_deel_key, d.ins_deel_omschrijving, sd.ins_srtdeel_omschrijving
|
||
FROM ins_v_aanwezigdeel d, ins_srtdeel sd, ins_srtgroep sg
|
||
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 = 501) d2 -- Toegang
|
||
ON x.prs_perslid_key = d2.ins_alg_ruimte_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel sts -- 84/221=Status pas/sleutel
|
||
ON d2.ins_deel_key = sts.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key IN (84, 221) AND ins_kenmerk_key = sts.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata sts_ud
|
||
ON fac.safe_to_number (sts.ins_kenmerkdeel_waarde) = sts_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel opm -- 83=Opmerking
|
||
ON d2.ins_deel_key = opm.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 83 AND ins_kenmerk_key = opm.ins_kenmerk_key)
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel brg -- 141=Betaalde borg
|
||
ON d2.ins_deel_key = brg.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 141 AND ins_kenmerk_key = brg.ins_kenmerk_key)
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel mnr -- 188=Meldingsnummer
|
||
ON d2.ins_deel_key = mnr.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 188 AND ins_kenmerk_key = mnr.ins_kenmerk_key)
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel ind -- 201=Topsport/medische indicatie
|
||
ON d2.ins_deel_key = ind.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 201 AND ins_kenmerk_key = ind.ins_kenmerk_key)
|
||
WHERE INSTR (LOWER (x.prs_perslid_email), '%@hsleiden.nl') > 0 OR pw1.aantal IS NOT NULL OR d1.aantal IS NOT NULL;
|
||
|
||
-- HSLE#59636: CUST04/CUST05-notijob naar nieuwe medewerker en BHV-er.
|
||
-- HSLE#78365: BHV-er voortaan Ruud de Leeuw (ipv. Ed van Oudheusden).
|
||
CREATE OR REPLACE VIEW hsle_v_rap_bezittingen
|
||
(
|
||
ins_deel_key,
|
||
extra_key, -- Moet zo heten!
|
||
gebruiker,
|
||
identificatie,
|
||
objectsoort,
|
||
beschrijving,
|
||
registratiedatum,
|
||
--verwijderdatum,
|
||
--tonen,
|
||
vervaldatum,
|
||
mdw_email,
|
||
ldg_email,
|
||
behandelaar -- Gewenst op notificatie, dus in rapportage (best listig)!
|
||
)
|
||
AS
|
||
SELECT d.ins_deel_key,
|
||
d.ins_alg_ruimte_key, -- Gebruiker
|
||
pf.prs_perslid_naam_friendly,
|
||
d.ins_deel_omschrijving,
|
||
sd.ins_srtdeel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
d.ins_deel_aanmaak,
|
||
--d.ins_deel_verwijder,
|
||
--DECODE (d.ins_deel_verwijder, NULL, DECODE (SIGN (ADD_MONTHS (d.ins_deel_vervaldatum, 1) - SYSDATE), -1, 0, 1), 0) tonen,
|
||
DECODE (SIGN (d.ins_deel_vervaldatum - SYSDATE), -1, d.ins_deel_vervaldatum, NULL) vervaldatum,
|
||
m2lb.mdw_perslid_email,
|
||
m2lb.ldg_perslid_email,
|
||
m2lb.behandelaar_naam_friendly
|
||
FROM ins_v_aanwezigdeel d, -- Niet verwijderde objecten!
|
||
prs_v_perslid_fullnames_all pf,
|
||
ins_srtdeel sd,
|
||
(SELECT DISTINCT
|
||
fac.safe_to_number (km.mld_kenmerkmelding_waarde) mdw_perslid_key,
|
||
pm.prs_perslid_email mdw_perslid_email,
|
||
pl.prs_perslid_email ldg_perslid_email,
|
||
pb.prs_perslid_naam_friendly behandelaar_naam_friendly
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
mld_kenmerk k,
|
||
prs_perslid pm,
|
||
prs_perslid pl,
|
||
prs_v_perslid_fullnames_all pb
|
||
WHERE t.fac_srtnotificatie_key = 38 -- MLDAFM
|
||
AND TRUNC (t.fac_tracking_datum) = TRUNC (SYSDATE - 1) -- Gisteren afgemeld (heel sterk als >1 en anders DISTINCT?)!
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = 3461 -- Nieuwe medewerker
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 4321 -- Nieuwe medewerker
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = pm.prs_perslid_key
|
||
AND pm.prs_perslid_key <> 15661 -- HSLE#71143: Geen CUST04/05 igv. _Extern!
|
||
AND m.prs_perslid_key_voor = pl.prs_perslid_key
|
||
AND t.prs_perslid_key = pb.prs_perslid_key) m2lb
|
||
WHERE d.ins_alg_ruimte_type = 'P' -- Alle P-objecten!
|
||
AND d.ins_alg_ruimte_key = pf.prs_perslid_key
|
||
AND COALESCE (d.ins_deel_verwijder, SYSDATE) >= TRUNC (SYSDATE - 1)
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND d.ins_alg_ruimte_key = m2lb.mdw_perslid_key(+);
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_noti_bezittingen
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xsender,
|
||
xemail,
|
||
xmobile,
|
||
attachments
|
||
)
|
||
AS -- CUST04 naar nieuwe medewerker!
|
||
SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
sn.fac_srtnotificatie_oms,
|
||
r.fac_usrrap_key,
|
||
v.extra_key,
|
||
NULL,
|
||
COALESCE (v.mdw_email, v.ldg_email),
|
||
NULL,
|
||
NULL
|
||
FROM hsle_v_rap_bezittingen v,
|
||
fac_usrrap r,
|
||
fac_srtnotificatie sn
|
||
WHERE v.behandelaar IS NOT NULL
|
||
AND UPPER (r.fac_usrrap_view_name) = 'HSLE_V_RAP_BEZITTINGEN'
|
||
AND sn.fac_srtnotificatie_code = 'CUST04'
|
||
AND BITAND (sn.fac_srtnotificatie_mode, 2) = 2
|
||
UNION ALL -- CUST05 naar BHV-er!
|
||
SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
sn.fac_srtnotificatie_oms,
|
||
r.fac_usrrap_key,
|
||
v.extra_key,
|
||
NULL,
|
||
'leeuw.de.r@hsleiden.nl',
|
||
NULL,
|
||
NULL
|
||
FROM hsle_v_rap_bezittingen v,
|
||
fac_usrrap r,
|
||
fac_srtnotificatie sn
|
||
WHERE v.behandelaar IS NOT NULL
|
||
AND UPPER (r.fac_usrrap_view_name) = 'HSLE_V_RAP_BEZITTINGEN'
|
||
AND sn.fac_srtnotificatie_code = 'CUST05'
|
||
AND BITAND (sn.fac_srtnotificatie_mode, 2) = 2;
|
||
/*
|
||
SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
sn.fac_srtnotificatie_oms,
|
||
r.fac_usrrap_key,
|
||
pm.prs_perslid_key extra_key,
|
||
NULL,
|
||
COALESCE (pm.prs_perslid_email, pl.prs_perslid_email),
|
||
NULL,
|
||
NULL
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
prs_perslid pl,
|
||
(SELECT *
|
||
FROM mld_v_aanwezigkenmerkmelding km
|
||
WHERE EXISTS (SELECT 1 FROM mld_kenmerk WHERE mld_srtkenmerk_key = 4281 AND mld_kenmerk_key = km.mld_kenmerk_key)) km,
|
||
prs_perslid pm,
|
||
fac_usrrap r,
|
||
fac_srtnotificatie sn
|
||
WHERE t.fac_srtnotificatie_key = 38 -- MLDAFM
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = 3461 -- Nieuwe medewerker
|
||
AND m.prs_perslid_key_voor = pl.prs_perslid_key
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = pm.prs_perslid_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM hsle_v_rap_bezittingen
|
||
WHERE extra_key = pm.prs_perslid_key)
|
||
AND TRUNC (t.fac_tracking_datum) = TRUNC (SYSDATE - 1) -- Gisteren afgemeld!
|
||
AND UPPER (r.fac_usrrap_view_name) = 'HSLE_V_RAP_BEZITTINGEN'
|
||
AND sn.fac_srtnotificatie_code = 'CUST04'
|
||
AND BITAND (sn.fac_srtnotificatie_mode, 2) = 2
|
||
UNION ALL -- CUST05 naar BHV-er!
|
||
SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
sn.fac_srtnotificatie_oms,
|
||
r.fac_usrrap_key,
|
||
pm.prs_perslid_key extra_key,
|
||
NULL,
|
||
'oudheusden.van.e@hsleiden.nl',
|
||
NULL,
|
||
NULL
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
(SELECT *
|
||
FROM mld_v_aanwezigkenmerkmelding km
|
||
WHERE EXISTS (SELECT 1 FROM mld_kenmerk WHERE mld_srtkenmerk_key = 4281 AND mld_kenmerk_key = km.mld_kenmerk_key)) km,
|
||
prs_perslid pm,
|
||
fac_usrrap r,
|
||
fac_srtnotificatie sn
|
||
WHERE t.fac_srtnotificatie_key = 38 -- MLDAFM
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = 3461 -- Nieuwe medewerker
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = pm.prs_perslid_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM hsle_v_rap_bezittingen
|
||
WHERE extra_key = pm.prs_perslid_key)
|
||
AND TRUNC (t.fac_tracking_datum) = TRUNC (SYSDATE - 1) -- Gisteren afgemeld!
|
||
AND UPPER (r.fac_usrrap_view_name) = 'HSLE_V_RAP_BEZITTINGEN'
|
||
AND sn.fac_srtnotificatie_code = 'CUST05'
|
||
AND BITAND (sn.fac_srtnotificatie_mode, 2) = 2;
|
||
*/
|
||
-- HSLE#76373: Uurlijkse CUST06-notificatie van reguliere RES-bon naar cateraar
|
||
-- na boeking op activiteit 90=Catering bestellen uit de
|
||
-- catalogi 130=Receptiearrangementen (verbruiksartikelen met keys
|
||
-- 2258+2259+2260+2261+2262+2326) en 131=Dinerbuffetten.
|
||
CREATE OR REPLACE VIEW HSLE_V_NOTI_CATERAAR
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
ATTACHMENTS
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##KEY##',
|
||
TO_CHAR (rrr.res_reservering_key)
|
||
|| '/'
|
||
|| TO_CHAR (rrr.res_rsv_ruimte_volgnr)),
|
||
'##DESC##',
|
||
rrr.res_rsv_ruimte_omschrijving),
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL xsender,
|
||
'NL1209@compass-group.nl' xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM fac_tracking t,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_v_aanwezigartikel ra,
|
||
fac_srtnotificatie sn,
|
||
fac_notificatie_job nj
|
||
WHERE t.fac_srtnotificatie_key = 81 -- RESNEW
|
||
AND t.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_activiteit_key = 90
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ((ra.res_discipline_key = 130 AND ra.res_artikel_key IN (2258, 2259, 2260, 2261, 2262, 2326))
|
||
OR ra.res_discipline_key = 131)
|
||
AND sn.fac_srtnotificatie_code = 'CUST06'
|
||
AND nj.fac_notificatie_job_view = 'HSLE_V_NOTI_CATERAAR'
|
||
AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE));
|
||
|
||
-- HSLE#62236: UDR-objecten inclusief e-mail eigenaar.
|
||
-- HSLE#63183: Toevoegen (specifieke) kenmerkkolommen.
|
||
CREATE OR REPLACE VIEW hsle_v_udr_ins_deel
|
||
(
|
||
deel_key,
|
||
discipline,
|
||
groep,
|
||
soort,
|
||
soortcode,
|
||
omschrijving,
|
||
plaatseigenaar,
|
||
plaatseigenaartype,
|
||
plaatsaanduiding,
|
||
eigenaar_key,
|
||
eigenaar,
|
||
eigenaar_mail,
|
||
opmerking,
|
||
regio,
|
||
district,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
locatie_plaats,
|
||
gebouwcode,
|
||
gebouw,
|
||
terreinsectorcode,
|
||
terreinsector,
|
||
verdiepingcode,
|
||
ruimtenr,
|
||
werkplekvolgnr,
|
||
werkplek,
|
||
uitleenbaar,
|
||
uitgeleend,
|
||
res_opmerking,
|
||
beheerder,
|
||
vervaldatum,
|
||
actief,
|
||
aantal,
|
||
state,
|
||
statedate,
|
||
fclt_3d_discipline_key,
|
||
fclt_3d_afdeling_key,
|
||
fclt_3d_locatie_key,
|
||
status_ict,
|
||
status_sw,
|
||
faculteit,
|
||
managed,
|
||
gebruik,
|
||
afdeling,
|
||
locatie_opm,
|
||
hw_categorie,
|
||
sw_categorie,
|
||
merk,
|
||
type,
|
||
os,
|
||
leverancier,
|
||
ordernr,
|
||
afgevoerd_naar,
|
||
eigenaar2
|
||
)
|
||
AS
|
||
SELECT ii.ins_deel_key,
|
||
lcl.x ('ins_discipline_omschrijving',
|
||
id.ins_discipline_key,
|
||
id.ins_discipline_omschrijving),
|
||
lcl.x ('ins_srtgroep_omschrijving',
|
||
sg.ins_srtgroep_key,
|
||
sg.ins_srtgroep_omschrijving),
|
||
lcl.x ('ins_srtdeel_omschrijving',
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_omschrijving),
|
||
sd.ins_srtdeel_code,
|
||
ii.ins_deel_omschrijving,
|
||
COALESCE (ii.plaats, ii.eigenaar),
|
||
ii.ins_alg_ruimte_type,
|
||
ii.plaats,
|
||
ii.eigenaar_key,
|
||
ii.eigenaar,
|
||
peig.prs_perslid_email,
|
||
ii.ins_deel_opmerking,
|
||
ii.regio,
|
||
ii.district,
|
||
ii.locatie_code,
|
||
ii.locatie_omschrijving,
|
||
ii.locatie_plaats,
|
||
ii.alg_gebouw_code,
|
||
ii.alg_gebouw_omschrijving,
|
||
ii.alg_terreinsector_code,
|
||
ii.alg_terreinsector_omschrijving,
|
||
ii.alg_verdieping_code,
|
||
ii.alg_ruimte_nr,
|
||
ii.prs_werkplek_volgnr,
|
||
ii.prs_werkplek_omschrijving,
|
||
DECODE (sd.ins_srtdeel_uitleenbaar,
|
||
1, lcl.l ('lcl_yes'),
|
||
lcl.l ('lcl_no')),
|
||
DECODE (ii.ins_alg_ruimte_key_org,
|
||
NULL, lcl.l ('lcl_no'),
|
||
lcl.l ('lcl_yes')),
|
||
ii.res_deel_opmerking,
|
||
pfbeh.prs_perslid_naam_full,
|
||
ii.ins_deel_vervaldatum,
|
||
DECODE (ii.ins_deel_actief, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')),
|
||
ii.ins_deel_aantal,
|
||
ii.ins_deel_state,
|
||
ii.ins_deel_statedate,
|
||
sg.ins_discipline_key,
|
||
ii.ins_alg_ruimte_key,
|
||
ii.alg_locatie_key,
|
||
si_ud.fac_usrdata_omschr status_ict,
|
||
ss_ud.fac_usrdata_omschr status_sw,
|
||
fac_ud.fac_usrdata_omschr faculteit,
|
||
man_ud.fac_usrdata_omschr managed,
|
||
geb_ud.fac_usrdata_omschr gebruik,
|
||
afd_ud.fac_usrdata_omschr afdeling,
|
||
lo.ins_kenmerkdeel_waarde locatie_opm,
|
||
COALESCE (hc1_ud.fac_usrdata_omschr, hc2_ud.fac_usrdata_omschr) hw_categorie,
|
||
COALESCE (sc1_ud.fac_usrdata_omschr, sc2_ud.fac_usrdata_omschr) sw_categorie,
|
||
COALESCE (mrk1.ins_kenmerkdeel_waarde, mrk2.ins_kenmerkdeel_waarde) merk,
|
||
COALESCE (typ1.ins_kenmerkdeel_waarde, typ2.ins_kenmerkdeel_waarde) type,
|
||
COALESCE (os1_ud.fac_usrdata_omschr, os2_ud.fac_usrdata_omschr) os,
|
||
lev.ins_kenmerkdeel_waarde leverancier,
|
||
onr.ins_kenmerkdeel_waarde ordernr,
|
||
an_ud.fac_usrdata_omschr afgevoerd_naar,
|
||
eig_ud.fac_usrdata_omschr eigenaar2
|
||
FROM (SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving,
|
||
i.ins_srtdeel_key,
|
||
i.prs_perslid_key_beh,
|
||
TO_CHAR (NULL) plaats,
|
||
i.ins_deel_opmerking,
|
||
i.ins_alg_ruimte_type,
|
||
NULL regio,
|
||
NULL district,
|
||
NULL locatie_code,
|
||
NULL locatie_omschrijving,
|
||
NULL locatie_plaats,
|
||
NULL alg_gebouw_code,
|
||
NULL alg_gebouw_omschrijving,
|
||
NULL alg_terreinsector_code,
|
||
NULL alg_terreinsector_omschrijving,
|
||
NULL alg_verdieping_code,
|
||
NULL alg_ruimte_nr,
|
||
NULL prs_werkplek_volgnr,
|
||
NULL prs_werkplek_omschrijving,
|
||
rd.res_deel_opmerking,
|
||
i.ins_deel_vervaldatum,
|
||
NULL eigenaar_key,
|
||
a.prs_afdeling_omschrijving eigenaar,
|
||
i.ins_discipline_key,
|
||
i.ins_alg_ruimte_key,
|
||
NULL alg_locatie_key,
|
||
i.ins_deel_actief,
|
||
i.ins_deel_aantal,
|
||
i.ins_alg_ruimte_key_org,
|
||
i.ins_deel_state,
|
||
i.ins_deel_statedate
|
||
FROM ins_deel i,
|
||
(SELECT res_deel_key, res_ins_deel_key, res_deel_opmerking res_deel_opmerking
|
||
FROM res_deel
|
||
WHERE res_deel_verwijder IS NULL) rd,
|
||
prs_v_afdeling a
|
||
WHERE i.ins_deel_verwijder IS NULL
|
||
AND i.ins_deel_key = rd.res_ins_deel_key(+)
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND i.ins_alg_ruimte_key = a.prs_afdeling_key
|
||
AND i.ins_alg_ruimte_type = 'A'
|
||
UNION
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving,
|
||
i.ins_srtdeel_key,
|
||
i.prs_perslid_key_beh,
|
||
TO_CHAR (NULL) plaats,
|
||
i.ins_deel_opmerking,
|
||
i.ins_alg_ruimte_type,
|
||
NULL regio,
|
||
NULL district,
|
||
NULL locatie_code,
|
||
NULL locatie_omschrijving,
|
||
NULL locatie_plaats,
|
||
NULL alg_gebouw_code,
|
||
NULL alg_gebouw_omschrijving,
|
||
NULL alg_terreinsector_code,
|
||
NULL alg_terreinsector_omschrijving,
|
||
NULL alg_verdieping_code,
|
||
NULL alg_ruimte_nr,
|
||
NULL prs_werkplek_volgnr,
|
||
NULL prs_werkplek_omschrijving,
|
||
rd.res_deel_opmerking,
|
||
i.ins_deel_vervaldatum,
|
||
pf.prs_perslid_key eigenaar_key,
|
||
pf.prs_perslid_naam_full eigenaar,
|
||
i.ins_discipline_key,
|
||
p.prs_afdeling_key ins_alg_ruimte_key,
|
||
NULL alg_locatie_key,
|
||
i.ins_deel_actief,
|
||
i.ins_deel_aantal,
|
||
i.ins_alg_ruimte_key_org,
|
||
i.ins_deel_state,
|
||
i.ins_deel_statedate
|
||
FROM ins_deel i,
|
||
(SELECT res_deel_key, res_ins_deel_key, res_deel_opmerking res_deel_opmerking
|
||
FROM res_deel
|
||
WHERE res_deel_verwijder IS NULL) rd,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE i.ins_deel_verwijder IS NULL
|
||
AND i.ins_deel_key = rd.res_ins_deel_key(+)
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND i.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND i.ins_alg_ruimte_type = 'P'
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
UNION
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving,
|
||
i.ins_srtdeel_key,
|
||
i.prs_perslid_key_beh,
|
||
TO_CHAR (NULL) plaats,
|
||
i.ins_deel_opmerking,
|
||
i.ins_alg_ruimte_type,
|
||
NULL regio,
|
||
NULL district,
|
||
NULL locatie_code,
|
||
NULL locatie_omschrijving,
|
||
NULL locatie_plaats,
|
||
NULL alg_gebouw_code,
|
||
NULL alg_gebouw_omschrijving,
|
||
NULL alg_terreinsector_code,
|
||
NULL alg_terreinsector_omschrijving,
|
||
NULL alg_verdieping_code,
|
||
NULL alg_ruimte_nr,
|
||
NULL prs_werkplek_volgnr,
|
||
NULL prs_werkplek_omschrijving,
|
||
rd.res_deel_opmerking,
|
||
i.ins_deel_vervaldatum,
|
||
NULL eigenaar_key,
|
||
c.prs_contactpersoon_naam eigenaar,
|
||
NULL ins_discipline_key,
|
||
NULL ins_alg_ruimte_key,
|
||
NULL alg_locatie_key,
|
||
i.ins_deel_actief,
|
||
i.ins_deel_aantal,
|
||
i.ins_alg_ruimte_key_org,
|
||
i.ins_deel_state,
|
||
i.ins_deel_statedate
|
||
FROM ins_deel i,
|
||
(SELECT res_deel_key, res_ins_deel_key, res_deel_opmerking res_deel_opmerking
|
||
FROM res_deel
|
||
WHERE res_deel_verwijder IS NULL) rd,
|
||
prs_contactpersoon c
|
||
WHERE i.ins_deel_verwijder IS NULL
|
||
AND i.ins_deel_key = rd.res_ins_deel_key(+)
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND i.ins_alg_ruimte_key = c.prs_contactpersoon_key
|
||
AND i.ins_alg_ruimte_type = 'C'
|
||
UNION
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving,
|
||
i.ins_srtdeel_key,
|
||
i.prs_perslid_key_beh,
|
||
o.alg_plaatsaanduiding plaats,
|
||
i.ins_deel_opmerking,
|
||
i.ins_alg_ruimte_type,
|
||
r.alg_regio_omschrijving,
|
||
d.alg_district_omschrijving,
|
||
l.alg_locatie_code locatie_code,
|
||
l.alg_locatie_omschrijving locatie_omschrijving,
|
||
l.alg_locatie_plaats locatie_plaats,
|
||
o.alg_gebouw_code,
|
||
o.alg_gebouw_omschrijving,
|
||
o.alg_terreinsector_code,
|
||
o.alg_terreinsector_omschrijving,
|
||
o.alg_verdieping_code,
|
||
o.alg_ruimte_nr,
|
||
o.prs_werkplek_volgnr,
|
||
o.prs_werkplek_omschrijving,
|
||
rd.res_deel_opmerking,
|
||
i.ins_deel_vervaldatum,
|
||
NULL eigenaar_key,
|
||
NULL eigenaar,
|
||
i.ins_discipline_key,
|
||
NULL ins_alg_ruimte_key,
|
||
l.alg_locatie_key,
|
||
i.ins_deel_actief,
|
||
i.ins_deel_aantal,
|
||
i.ins_alg_ruimte_key_org,
|
||
i.ins_deel_state,
|
||
i.ins_deel_statedate
|
||
FROM ins_deel i,
|
||
(SELECT res_deel_key, res_ins_deel_key, res_deel_opmerking res_deel_opmerking
|
||
FROM res_deel
|
||
WHERE res_deel_verwijder IS NULL) rd,
|
||
ins_v_alg_overzicht o,
|
||
alg_locatie l,
|
||
alg_district d,
|
||
alg_regio r
|
||
WHERE i.ins_deel_verwijder IS NULL
|
||
AND i.ins_deel_key = rd.res_ins_deel_key(+)
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND i.ins_alg_ruimte_key = o.alg_onroerendgoed_keys
|
||
AND i.ins_alg_ruimte_type = o.alg_onroerendgoed_type
|
||
AND i.ins_alg_ruimte_type IN ('R', 'W', 'T')
|
||
AND i.ins_alg_locatie_key = o.alg_locatie_key
|
||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key
|
||
AND d.alg_regio_key = r.alg_regio_key) ii
|
||
LEFT JOIN ins_srtdeel sd
|
||
ON ii.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
LEFT JOIN ins_srtgroep sg
|
||
ON sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
LEFT JOIN ins_discipline id
|
||
ON sg.ins_discipline_key = id.ins_discipline_key
|
||
LEFT JOIN prs_v_perslid_fullnames pfbeh
|
||
ON ii.prs_perslid_key_beh = pfbeh.prs_perslid_key
|
||
LEFT JOIN prs_perslid peig
|
||
ON ii.eigenaar_key = peig.prs_perslid_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel si -- 60=Status ICT
|
||
ON ii.ins_deel_key = si.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 60 AND ins_kenmerk_key = si.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata si_ud
|
||
ON fac.safe_to_number (si.ins_kenmerkdeel_waarde) = si_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel ss -- 461=Status software (1 waarde)
|
||
ON ii.ins_deel_key = ss.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 461 AND ins_kenmerk_key = ss.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ss_ud
|
||
ON fac.safe_to_number (ss.ins_kenmerkdeel_waarde) = ss_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel fac -- 63=Faculteit
|
||
ON ii.ins_deel_key = fac.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 63 AND ins_kenmerk_key = fac.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata fac_ud
|
||
ON fac.safe_to_number (fac.ins_kenmerkdeel_waarde) = fac_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel man -- 62=Managed
|
||
ON ii.ins_deel_key = man.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 62 AND ins_kenmerk_key = man.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata man_ud
|
||
ON fac.safe_to_number (man.ins_kenmerkdeel_waarde) = man_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel geb -- 61=Gebruik
|
||
ON ii.ins_deel_key = geb.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 61 AND ins_kenmerk_key = geb.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata geb_ud
|
||
ON fac.safe_to_number (geb.ins_kenmerkdeel_waarde) = geb_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel afd -- 501=Afdeling
|
||
ON ii.ins_deel_key = afd.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 501 AND ins_kenmerk_key = afd.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata afd_ud
|
||
ON fac.safe_to_number (afd.ins_kenmerkdeel_waarde) = afd_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel lo -- 65=Locatie-opmerking
|
||
ON ii.ins_deel_key = lo.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 65 AND ins_kenmerk_key = lo.ins_kenmerk_key)
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel hc1 -- 36=Harware categorie
|
||
ON ii.ins_deel_key = hc1.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 36 AND ins_kenmerk_key = hc1.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'D')
|
||
LEFT JOIN fac_v_aanwezigusrdata hc1_ud
|
||
ON fac.safe_to_number (hc1.ins_kenmerkdeel_waarde) = hc1_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel hc2 -- 36=Harware categorie
|
||
ON ii.ins_srtdeel_key = hc2.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 36 AND ins_kenmerk_key = hc2.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'S')
|
||
LEFT JOIN fac_v_aanwezigusrdata hc2_ud
|
||
ON fac.safe_to_number (hc2.ins_kenmerkdeel_waarde) = hc2_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel sc1 -- 441=Software categorie (1 waarde)
|
||
ON ii.ins_deel_key = sc1.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 441 AND ins_kenmerk_key = sc1.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'D')
|
||
LEFT JOIN fac_v_aanwezigusrdata sc1_ud
|
||
ON fac.safe_to_number (sc1.ins_kenmerkdeel_waarde) = sc1_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel sc2 -- 441=Software categorie
|
||
ON ii.ins_srtdeel_key = sc2.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 441 AND ins_kenmerk_key = sc2.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'S')
|
||
LEFT JOIN fac_v_aanwezigusrdata sc2_ud
|
||
ON fac.safe_to_number (sc2.ins_kenmerkdeel_waarde) = sc2_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel mrk1 -- 1=Merk
|
||
ON ii.ins_deel_key = mrk1.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 1 AND ins_kenmerk_key = mrk1.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'D')
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel mrk2 -- 1=Merk
|
||
ON ii.ins_srtdeel_key = mrk2.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 1 AND ins_kenmerk_key = mrk2.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'S')
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel typ1 -- 2=Type
|
||
ON ii.ins_deel_key = typ1.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 2 AND ins_kenmerk_key = typ1.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'D')
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel typ2 -- 2=Type
|
||
ON ii.ins_srtdeel_key = typ2.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 2 AND ins_kenmerk_key = typ2.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'S')
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel os1 -- 37=OS
|
||
ON ii.ins_deel_key = os1.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 37 AND ins_kenmerk_key = os1.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'D')
|
||
LEFT JOIN fac_v_aanwezigusrdata os1_ud
|
||
ON fac.safe_to_number (os1.ins_kenmerkdeel_waarde) = os1_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel os2 -- 37=OS
|
||
ON ii.ins_srtdeel_key = os2.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 37 AND ins_kenmerk_key = os2.ins_kenmerk_key AND ins_kenmerk_bewerkniveau = 'S')
|
||
LEFT JOIN fac_v_aanwezigusrdata os2_ud
|
||
ON fac.safe_to_number (os2.ins_kenmerkdeel_waarde) = os2_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel lev -- 20=Leverancier (0 waarde)
|
||
ON ii.ins_deel_key = lev.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 20 AND ins_kenmerk_key = lev.ins_kenmerk_key)
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel onr -- 50=Ordernummer
|
||
ON ii.ins_deel_key = onr.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 50 AND ins_kenmerk_key = onr.ins_kenmerk_key)
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel an -- 681=Afgevoerd naar
|
||
ON ii.ins_deel_key = an.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 681 AND ins_kenmerk_key = an.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata an_ud
|
||
ON fac.safe_to_number (an.ins_kenmerkdeel_waarde) = an_ud.fac_usrdata_key
|
||
LEFT JOIN ins_v_aanwezigkenmerkdeel eig -- 58=Eigenaar
|
||
ON ii.ins_deel_key = eig.ins_deel_key
|
||
AND EXISTS (SELECT 1 FROM ins_kenmerk WHERE ins_srtkenmerk_key = 58 AND ins_kenmerk_key = eig.ins_kenmerk_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata eig_ud
|
||
ON fac.safe_to_number (eig.ins_kenmerkdeel_waarde) = eig_ud.fac_usrdata_key;
|
||
|
||
-- HSLE#62534: Alle op te roepen bezoekers, dat is:
|
||
-- * bezoeker is binnen, maar nog niet opgeroepen (en nog niet
|
||
-- vertrokken)
|
||
-- * bezoeker is aangemeld voor vandaag
|
||
-- * bij de afspraak hoort een oproep-actie (geen ophaal-actie)
|
||
-- Filtering via API kan op gebouw, verdieping en wachtzone(groep), dus die
|
||
-- ook ophalen.
|
||
CREATE OR REPLACE VIEW hsle_v_api_bez_oproep
|
||
AS
|
||
SELECT TO_CHAR (b.bez_bezoekers_oproep, 'yyyy-mm-dd hh24:mi:ss') oproep_tijd,
|
||
COALESCE (rr.res_ruimte_friendlyname, rr.res_ruimte_nr) ruimtenr,
|
||
COALESCE (rr.res_ruimte_groep, ' ') groep,
|
||
b.bez_bezoekers_pasnr oproep_nummer,
|
||
b.bez_bezoekers_key bezoeker_key,
|
||
g.alg_gebouw_code gebouw_code,
|
||
g.alg_gebouw_key gebouw_key,
|
||
v.alg_verdieping_code verdieping_code,
|
||
v.alg_verdieping_key verdieping_key
|
||
FROM res_rsv_ruimte rrr,
|
||
bez_afspraak a,
|
||
bez_actie ac,
|
||
bez_bezoekers b,
|
||
res_ruimte_opstelling ro,
|
||
res_ruimte rr,
|
||
res_alg_ruimte rar,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g
|
||
WHERE rrr.res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE) + 1
|
||
AND rrr.res_rsv_ruimte_key = a.res_rsv_ruimte_key
|
||
AND a.bez_actie_key = ac.bez_actie_key
|
||
AND BITAND (ac.bez_actie_flags, 1) = 1
|
||
AND a.bez_afspraak_key = b.bez_afspraak_key
|
||
AND b.bez_bezoekers_done IS NOT NULL
|
||
AND b.bez_bezoekers_oproep IS NOT NULL
|
||
AND b.bez_bezoekers_out IS NULL
|
||
AND b.bez_bezoekers_pasnr IS NOT NULL
|
||
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.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_ruimte_verwijder IS NULL
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key;
|
||
|
||
CREATE OR REPLACE VIEW hsle_v_rap_perslid
|
||
AS
|
||
SELECT DISTINCT
|
||
p.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voornaam,
|
||
p.prs_perslid_nr,
|
||
a.prs_afdeling_naam organisatie,
|
||
p.prs_perslid_telefoonnr telefoon,
|
||
sp.prs_srtperslid_omschrijving functie,
|
||
p.prs_perslid_upper,
|
||
wp.alg_ruimte_aanduiding || DECODE (hwp.aantal, 1, '', '...')
|
||
alg_ruimte_aanduiding,
|
||
wp.prs_werkplek_aanduiding || DECODE (hwp.aantal, 1, '', '...')
|
||
prs_werkplek_aanduiding,
|
||
l.alg_locatie_omschrijving,
|
||
p.prs_perslid_mobiel,
|
||
p.prs_perslid_email,
|
||
p.prs_perslid_titel,
|
||
fp.fac_profiel_omschrijving,
|
||
kp.prs_kostenplaats_nr
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_srtperslid sp,
|
||
--prs_v_afdeling_familie bm,
|
||
prs_afdeling a,
|
||
prs_kostenplaats kp,
|
||
prs_v_hoofdperslidwerkplek hwp,
|
||
prs_v_werkplek_gegevens wp,
|
||
alg_locatie l,
|
||
fac_profiel fp
|
||
WHERE p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||
--AND p.prs_afdeling_key = bm.prs_afdeling_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND p.prs_perslid_key = hwp.prs_perslid_key(+)
|
||
AND hwp.prs_werkplek_key = wp.prs_werkplek_key(+)
|
||
AND wp.alg_locatie_key = l.alg_locatie_key(+)
|
||
AND p.fac_profiel_key = fp.fac_profiel_key(+);
|
||
|
||
-- HSLE#65841: Meldbron van alle meldingen!
|
||
CREATE OR REPLACE VIEW hsle_v_udr_mld_meldbron
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
sd.ins_srtdiscipline_omschrijving vakgroeptype,
|
||
md.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving meldingsoort,
|
||
mb.meldbron,
|
||
bt.ins_discipline_omschrijving behandelteam,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnummer,
|
||
m.mld_melding_datum meldingsdatum,
|
||
ms.mld_statuses_key,
|
||
ms.mld_statuses_omschrijving melding_status
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_statuses ms,
|
||
(SELECT km.mld_melding_key, ud.fac_usrdata_omschr meldbron
|
||
FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_kenmerk_verwijder IS NULL
|
||
AND mld_srtkenmerk_key = 2401 -- Meldbron
|
||
AND mld_kenmerk_key = km.mld_kenmerk_key)
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) mb,
|
||
mld_discipline bt
|
||
WHERE 1 = 1 --m.mld_melding_datum > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.mld_melding_status = ms.mld_statuses_key
|
||
AND m.mld_melding_key = mb.mld_melding_key(+)
|
||
AND m.mld_ins_discipline_key = bt.ins_discipline_key(+);
|
||
|
||
-- HSLE#68812: Bronview voor alle meldingen incl. kenmerken onder Vakgroeptype
|
||
-- 61=Onderwijs!
|
||
CREATE OR REPLACE VIEW HSLE_V_UDR_MLD_ONDERWIJS
|
||
(
|
||
MELDING_KEY,
|
||
MELDINGNUMMER,
|
||
--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,
|
||
AFDELING,
|
||
AFDELING_OMSCHRIJVING,
|
||
--FCLT_3D_AFDELING_KEY,
|
||
BEDRIJF_KEY,
|
||
INVOERDER,
|
||
BRON, -- MELDBRON
|
||
--VAKGROEPTYPE, --SOORTMELDING
|
||
--FCLT_3D_DISCIPLINE_KEY,
|
||
VAKGROEP, --PRODUCTGROEP,
|
||
MELDINGSOORT, --SUBPRODUCTGROEP,
|
||
--BEHANDELGROEP,
|
||
BEHANDELAAR,
|
||
BEHANDELAAR_KEY,
|
||
MELDINGGROEP, --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_ACCEPTDATUM,
|
||
MELDING_AFGEMELD,
|
||
MELDING_ACCEPTED,
|
||
DOORLOOPTIJD_WERKDGN,
|
||
DOORLOOPTIJD_WERKUREN,
|
||
ONDERWERP,
|
||
OMSCHRIJVING,
|
||
MELDING_OPMERKING,
|
||
PRIORITEIT,
|
||
PRIORITEITTXT,
|
||
RATING,
|
||
RATING_OPMERKING,
|
||
BOLLETJE,
|
||
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,
|
||
FACULTEIT,
|
||
OPLEIDING,
|
||
INDIV_GROEP,
|
||
INDIV_EXPRG,
|
||
AANT_PROG, -- AANTAL PROGRAMMA'S
|
||
AANT_STUD, -- AANTAL STUDENTEN
|
||
AANT_CURS, -- AANTAL CURSUSSEN
|
||
AANT_DEVA, -- AANTAL DE-VASTSTELLINGEN
|
||
MAIL_CC,
|
||
KLAS,
|
||
CODE_NAAM_TOETS,
|
||
DATUM_TOETS,
|
||
TIJD_TOETS,
|
||
SPECIFIEK_LOK,
|
||
LOK_MAX_15,
|
||
BUREAUSTOEL,
|
||
LAPTOP,
|
||
TOETS_OP_LAPTOP,
|
||
LOKAAL_VERLATEN,
|
||
OVERIG,
|
||
OVERIG_OMS,
|
||
TOILETBEZOEK,
|
||
WOORDENBOEK,
|
||
KURZWEIL,
|
||
KOPTEL_READSP,
|
||
EXTRA_INFO
|
||
)
|
||
AS
|
||
SELECT x.melding_key,
|
||
x.meldingnummer,
|
||
--x.melding_regio,
|
||
--x.melding_district,
|
||
x.melding_locatiecode,
|
||
x.melding_locatie,
|
||
x.melding_locatieplaats,
|
||
--x.fclt_3d_locatie_key,
|
||
x.melding_gebouwcode,
|
||
x.melding_gebouw,
|
||
x.melding_verdieping,
|
||
x.melding_ruimtenr,
|
||
x.melding_ruimte,
|
||
--x.melding_ordernr,
|
||
--x.kostensoortgroep,
|
||
--x.kostensoort,
|
||
x.kostenplaats,
|
||
x.kostenplaats_oms,
|
||
x.melder,
|
||
x.melder_key,
|
||
x.afdeling,
|
||
x.afdeling_omschrijving,
|
||
--x.fclt_3d_afdeling_key,
|
||
x.bedrijf_key,
|
||
x.invoerder,
|
||
x.meldbron,
|
||
--x.soortmelding,
|
||
--x.fclt_3d_discipline_key,
|
||
x.productgroep,
|
||
x.subproductgroep,
|
||
--x.behandelgroep,
|
||
x.behandelaar,
|
||
x.behandelaar_key,
|
||
x.subproductgroepgroep,
|
||
--x.fclt_3d_discipline2_key,
|
||
x.actieve_behandelgroep,
|
||
x.actieve_behandelaar_key,
|
||
x.actieve_behandelaar,
|
||
x.melding_status,
|
||
x.sla_nvt,
|
||
x.sla_werkdgn,
|
||
x.sla_werkuren,
|
||
x.sla_respijtdgn,
|
||
x.sla_respijturen,
|
||
x.sla_accptdgn,
|
||
x.sla_accpturen,
|
||
x.plan_uitvoertijd_sla,
|
||
x.melding_datum,
|
||
x.melding_einddatum,
|
||
x.melding_acceptdatum,
|
||
x.melding_afgemeld,
|
||
x.melding_accepted,
|
||
x.doorlooptijd_werkdgn,
|
||
x.doorlooptijd_werkuren,
|
||
x.onderwerp,
|
||
x.vomschrijving,
|
||
x.melding_opmerking,
|
||
x.prioriteit,
|
||
x.prioriteittxt,
|
||
x.rating,
|
||
x.rating_opmerking,
|
||
x.bolletje,
|
||
x.accept_sla_dagen,
|
||
x.accept_sla_uren,
|
||
x.uitvoering_sla_dagen,
|
||
x.uitvoering_sla_uren,
|
||
x.afspraak_sla_dagen,
|
||
x.afspraak_sla_uren,
|
||
x.accept_sla_optijd,
|
||
x.uitvoering_sla_optijd,
|
||
x.afspraak_sla_optijd,
|
||
x.selfservice,
|
||
fac_ud.fac_usrdata_omschr faculteit,
|
||
opl_ud.fac_usrdata_omschr opleiding,
|
||
igr_ud.fac_usrdata_omschr indiv_groep,
|
||
iep_ud.fac_usrdata_omschr indiv_exprg,
|
||
apr.mld_kenmerkmelding_waarde aant_prog, -- Aantal programma's
|
||
ast.mld_kenmerkmelding_waarde aant_stud, -- Aantal studenten
|
||
acu.mld_kenmerkmelding_waarde aant_curs, -- Aantal cursussen
|
||
adv.mld_kenmerkmelding_waarde aant_deva, -- Aantal de-vaststellingen
|
||
cc.mld_kenmerkmelding_waarde mail_cc,
|
||
kls.mld_kenmerkmelding_waarde klas,
|
||
cnt.mld_kenmerkmelding_waarde code_naam_toets,
|
||
dts.mld_kenmerkmelding_waarde datum_toets,
|
||
tts.mld_kenmerkmelding_waarde tijd_toets,
|
||
spl_ud.fac_usrdata_omschr specifiek_lok,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a01.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) lok_max_15,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a02.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) bureaustoel,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a04.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) laptop,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a06.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) toets_op_laptop,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a07.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) lokaal_verlaten,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a08.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) overig,
|
||
a08t.mld_kenmerkmelding_waarde overig_oms,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a09.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) toiletbezoek,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a11.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) woordenboek,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a12.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) kurzweil,
|
||
DECODE (x.fclt_3d_discipline_key, 2721, DECODE (a13.mld_kenmerkmelding_waarde, '1', 'Ja', 'Nee'), NULL) koptel_readsp,
|
||
ein.mld_kenmerkmelding_waarde extra_info
|
||
FROM (SELECT v.*
|
||
FROM mld_v_udr_melding v
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM mld_discipline
|
||
WHERE ins_srtdiscipline_key = 61 -- Onderwijs
|
||
AND ins_discipline_key = v.fclt_3d_discipline_key)) x
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding fac
|
||
ON x.melding_key = fac.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 4681 -- Faculteit (SVA)
|
||
AND mld_kenmerk_key = fac.mld_kenmerk_key)
|
||
LEFT JOIN fac_usrdata fac_ud
|
||
ON fac.safe_to_number (fac.mld_kenmerkmelding_waarde) =
|
||
fac_ud.fac_usrdata_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding opl
|
||
ON x.melding_key = opl.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 4701 -- Opleiding (SVA)
|
||
AND mld_kenmerk_key = opl.mld_kenmerk_key)
|
||
LEFT JOIN fac_usrdata opl_ud
|
||
ON fac.safe_to_number (opl.mld_kenmerkmelding_waarde) =
|
||
opl_ud.fac_usrdata_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding igr
|
||
ON x.melding_key = igr.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 4881 -- Individueel/groep
|
||
AND mld_kenmerk_key = igr.mld_kenmerk_key)
|
||
LEFT JOIN fac_usrdata igr_ud
|
||
ON fac.safe_to_number (igr.mld_kenmerkmelding_waarde) =
|
||
igr_ud.fac_usrdata_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding iep
|
||
ON x.melding_key = iep.mld_melding_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 4901 -- Individueel/examenprogramma niveau
|
||
AND mld_kenmerk_key = iep.mld_kenmerk_key)
|
||
LEFT JOIN fac_usrdata iep_ud
|
||
ON fac.safe_to_number (iep.mld_kenmerkmelding_waarde) =
|
||
iep_ud.fac_usrdata_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding apr
|
||
ON x.melding_key = apr.mld_melding_key
|
||
AND apr.mld_kenmerk_key = 8323 -- Aantal programma's
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding ast
|
||
ON x.melding_key = ast.mld_melding_key
|
||
AND ast.mld_kenmerk_key = 8344 -- Aantal studenten
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding acu
|
||
ON x.melding_key = acu.mld_melding_key
|
||
AND acu.mld_kenmerk_key = 8301 -- Aantal cursussen
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding adv
|
||
ON x.melding_key = adv.mld_melding_key
|
||
AND adv.mld_kenmerk_key = 8201 -- Aantal de-vaststellingen
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding cc
|
||
ON x.melding_key = cc.mld_melding_key
|
||
AND cc.mld_kenmerk_key = 8081 -- Mail CC
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding kls
|
||
ON x.melding_key = kls.mld_melding_key
|
||
AND kls.mld_kenmerk_key = 8483 -- Klas
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding cnt
|
||
ON x.melding_key = cnt.mld_melding_key
|
||
AND cnt.mld_kenmerk_key = 8484 -- Code en naam toets
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding dts
|
||
ON x.melding_key = dts.mld_melding_key
|
||
AND dts.mld_kenmerk_key = 8485 -- Datum toets
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding tts
|
||
ON x.melding_key = tts.mld_melding_key
|
||
AND tts.mld_kenmerk_key = 8486 -- Starttijd van de toets
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding spl
|
||
ON x.melding_key = spl.mld_melding_key
|
||
AND spl.mld_kenmerk_key = 8487 -- Ingedeeld in een specifiek lokaal (ja/nee)
|
||
LEFT JOIN fac_usrdata spl_ud
|
||
ON fac.safe_to_number (spl.mld_kenmerkmelding_waarde) = spl_ud.fac_usrdata_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a01
|
||
ON x.melding_key = a01.mld_melding_key
|
||
AND a01.mld_kenmerk_key = 8801 -- A01 - Toets in lokaal met maximaal 15 pers.
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a02
|
||
ON x.melding_key = a02.mld_melding_key
|
||
AND a02.mld_kenmerk_key = 8821 -- A02 - Bureaustoel
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a04
|
||
ON x.melding_key = a04.mld_melding_key
|
||
AND a04.mld_kenmerk_key = 8822 -- A04 - Laptop
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a06
|
||
ON x.melding_key = a06.mld_melding_key
|
||
AND a06.mld_kenmerk_key = 8824 -- A06 - Toets op laptop
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a07
|
||
ON x.melding_key = a07.mld_melding_key
|
||
AND a07.mld_kenmerk_key = 8825 -- A07 - Lokaal verlaten
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a08
|
||
ON x.melding_key = a08.mld_melding_key
|
||
AND a08.mld_kenmerk_key = 8826 -- A08 - Overig
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a08t
|
||
ON x.melding_key = a08t.mld_melding_key
|
||
AND a08t.mld_kenmerk_key = 8827 -- A08 - Overig toelichting
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a09
|
||
ON x.melding_key = a09.mld_melding_key
|
||
AND a09.mld_kenmerk_key = 8828 -- A09 - Toiletbezoek
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a11
|
||
ON x.melding_key = a11.mld_melding_key
|
||
AND a11.mld_kenmerk_key = 8829 -- A11 - Woordenboek
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a12
|
||
ON x.melding_key = a12.mld_melding_key
|
||
AND a12.mld_kenmerk_key = 8842 -- A12 - Kurzweil
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding a13
|
||
ON x.melding_key = a13.mld_melding_key
|
||
AND a13.mld_kenmerk_key = 8843 -- A13 - Koptelefoon voor Readspeaker
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding ein
|
||
ON x.melding_key = ein.mld_melding_key
|
||
AND ein.mld_kenmerk_key = 8845 -- Extra informatie (optioneel)
|
||
;
|
||
|
||
-- HSLE#64680: Uitdienstmeldingen x Objecten doorklikbaar naar Object.
|
||
CREATE OR REPLACE VIEW HSLE_V_RAP_UITDIENST2OBJECT
|
||
(
|
||
mld_melding_key,
|
||
meldingnummer,
|
||
meldingsoort,
|
||
uit_dienst_per,
|
||
prs_perslid_key,
|
||
medewerker,
|
||
ins_deel_key,
|
||
identificatie,
|
||
ins_srtdeel_key,
|
||
objectsoort,
|
||
beschrijving,
|
||
registratiedatum,
|
||
vervaldatum,
|
||
ingenomen_op,
|
||
ingenomen_door,
|
||
genotificeerd_op -- Notificatie naar uittreder 2 maanden voor uitdienst?
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnr,
|
||
sm.mld_stdmelding_omschrijving,
|
||
TRUNC (m.mld_melding_einddatum),
|
||
pfm.prs_perslid_key,
|
||
pfm.prs_perslid_naam_full ex_mdw,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
d.ins_deel_aanmaak,
|
||
DECODE (SIGN (d.ins_deel_vervaldatum - SYSDATE), -1, d.ins_deel_vervaldatum, NULL) vervaldatum,
|
||
NULL ingenomen_op,
|
||
NULL ingenomen_door,
|
||
NULL genotificeerd_op
|
||
FROM mld_melding m,
|
||
prs_v_perslid_fullnames_all pfm, -- Melding-persoon
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd
|
||
WHERE m.mld_stdmelding_key = 3481 -- HRM/Einde dienstverband.
|
||
AND m.mld_melding_status >= 4 -- Vanaf In behandeling
|
||
AND m.prs_perslid_key_voor <> 15661 -- _Extern
|
||
AND m.prs_perslid_key_voor = pfm.prs_perslid_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.prs_perslid_key_voor = d.ins_alg_ruimte_key
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
UNION -- Matchen persoon uit laatste INSOUT-tracking (garantie tot de deur)!
|
||
SELECT m.mld_melding_key,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnr,
|
||
sm.mld_stdmelding_omschrijving,
|
||
TRUNC (m.mld_melding_einddatum),
|
||
pfm.prs_perslid_key,
|
||
pfm.prs_perslid_naam_full ex_mdw,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
d.ins_deel_aanmaak,
|
||
DECODE (SIGN (d.ins_deel_vervaldatum - SYSDATE), -1, d.ins_deel_vervaldatum, NULL) vervaldatum,
|
||
tinn.fac_tracking_datum ingenomen_op,
|
||
pft.prs_perslid_naam_full ingenomen_door,
|
||
NULL genotificeerd_op
|
||
FROM fac_tracking tinn,
|
||
prs_v_perslid_fullnames_all pft, -- Tracking-persoon
|
||
(SELECT t.fac_tracking_refkey, -- Laatst uitgegeven aan
|
||
t.fac_tracking_oms
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key = 99 -- INSOUT
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 99 -- INSOUT
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key)) tout,
|
||
prs_v_perslid_fullnames_all pfm, -- Melding-persoon
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd
|
||
WHERE tinn.fac_srtnotificatie_key = 100 -- INSINN
|
||
AND tinn.prs_perslid_key = pft.prs_perslid_key
|
||
AND tinn.fac_tracking_refkey = tout.fac_tracking_refkey
|
||
AND INSTR (tout.fac_tracking_oms, REPLACE (pfm.prs_perslid_naam_full, 'INACTIEF:', '')) > 0
|
||
AND pfm.prs_perslid_key = m.prs_perslid_key_voor
|
||
AND m.mld_stdmelding_key = 3481 -- HRM/Einde dienstverband.
|
||
AND m.mld_melding_status >= 4 -- Vanaf In behandeling
|
||
AND m.prs_perslid_key_voor <> 15661 -- _Extern
|
||
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 tinn.fac_tracking_refkey = d.ins_deel_key
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND tinn.fac_tracking_datum > m.mld_melding_datum -- Alleen als Inname > Uitdienst-melding?
|
||
;
|
||
|
||
------ 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
|