5377 lines
225 KiB
MySQL
5377 lines
225 KiB
MySQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific db-configuration for HOUT.
|
||
DEFINE thisfile = 'HOUT.SQL'
|
||
DEFINE dbuser = '^HOUT'
|
||
DEFINE custid = 'HOUT'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SPOOL &fcltlogfile
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
CREATE OR REPLACE VIEW hout_v_import_log
|
||
AS
|
||
SELECT imp_log_status fclt_f_status,
|
||
imp_log_omschrijving omschrijving,
|
||
imp_log_hint opmerking
|
||
FROM imp_log l
|
||
WHERE l.fac_import_key = (SELECT MAX (fac_import_key)
|
||
FROM fac_import
|
||
WHERE fac_import_app_key = 161);
|
||
|
||
CREATE OR REPLACE PROCEDURE hout_import_prs (
|
||
p_import_key IN NUMBER
|
||
) IS
|
||
|
||
c_fielddelimitor VARCHAR2(1) := ';';
|
||
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_errormsg VARCHAR (1000);
|
||
v_errorhint VARCHAR (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER;
|
||
v_ongeldig NUMBER(1);
|
||
v_mode NUMBER(1);
|
||
v_aanduiding VARCHAR (200);
|
||
v_all_null BOOLEAN;
|
||
v_first_time BOOLEAN;
|
||
v_count_error NUMBER(10);
|
||
v_count_tot NUMBER(10);
|
||
v_count_import NUMBER(10);
|
||
|
||
-- De importvelden:
|
||
v_alg_locatie_code VARCHAR2(256); -- 01
|
||
v_alg_gebouw_code VARCHAR2(256);
|
||
v_alg_verdieping_volgnr VARCHAR2(256);
|
||
v_alg_ruimte_nr VARCHAR2(256);
|
||
v_prs_afdeling_naam VARCHAR2(256); -- 05
|
||
v_prs_perslid_naam VARCHAR2(256);
|
||
v_prs_perslid_tussenvoegsel VARCHAR2(256);
|
||
v_prs_perslid_voorletters VARCHAR2(256);
|
||
v_prs_perslid_voornaam VARCHAR2(256);
|
||
v_prs_perslid_titel VARCHAR2(256); -- 10
|
||
v_prs_perslid_telefoonnr VARCHAR2(256);
|
||
v_prs_perslid_mobiel VARCHAR2(256);
|
||
v_prs_perslid_email VARCHAR2(256);
|
||
v_prs_srtperslid_omschrijving VARCHAR2(256);
|
||
v_prs_perslid_nr VARCHAR2(256); -- 15
|
||
v_prs_perslid_oslogin VARCHAR2(256);
|
||
|
||
-- Overig
|
||
v_alg_verdieping_volgnr_num NUMBER(3);
|
||
v_prs_werkplek_volgnr_num NUMBER(3);
|
||
v_prs_werkplek_omschrijving VARCHAR2(256);
|
||
v_prs_werkplek_volgnr VARCHAR2(256);
|
||
|
||
-- PRS_BEDRIJF
|
||
CURSOR c1(p_import_key IN NUMBER)
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE 1=1
|
||
AND fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
rec1 c1%ROWTYPE;
|
||
|
||
-- Tot slot Procedures:
|
||
|
||
PROCEDURE local_imp_getfield (
|
||
p_parseline IN OUT VARCHAR2,
|
||
p_fielddelimitor IN VARCHAR2,
|
||
p_field OUT VARCHAR2
|
||
)
|
||
AS
|
||
v_firstdelim NUMBER;
|
||
BEGIN
|
||
v_firstdelim := INSTR (p_parseline, p_fielddelimitor, 1);
|
||
|
||
IF v_firstdelim = 0
|
||
THEN
|
||
p_field := SUBSTR(trim(p_parseline), 2, length(p_parseline)-2);
|
||
p_parseline := '';
|
||
RETURN;
|
||
END IF;
|
||
|
||
p_field := SUBSTR(TRIM(p_parseline), 2, v_firstdelim - 3); -- Waarom 3? Om de quotes eraf te halen
|
||
p_parseline := SUBSTR2 (p_parseline, v_firstdelim + 1);
|
||
RETURN;
|
||
END;
|
||
|
||
|
||
BEGIN
|
||
DELETE FROM hout_imp_prs;
|
||
|
||
COMMIT;
|
||
|
||
v_count_error := 0;
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
v_aanduiding := '';
|
||
OPEN c1(p_import_key);
|
||
|
||
IF (c1%ISOPEN)
|
||
THEN
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout FETCH te importeren rij';
|
||
|
||
FETCH c1 INTO rec1;
|
||
EXIT WHEN c1%NOTFOUND;
|
||
v_newline := rec1. fac_imp_file_line;
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
IF (v_count_tot = 1) THEN
|
||
-- Sla header-regel over
|
||
FETCH c1 INTO rec1;
|
||
EXIT WHEN c1%NOTFOUND;
|
||
v_newline := rec1. fac_imp_file_line;
|
||
END IF;
|
||
|
||
v_errormsg := '';
|
||
v_errorhint := 'Fout opvragen te importeren rij';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
|
||
IF (1=0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||'Ongeldig importbestand',
|
||
'Toelichting: ... '
|
||
);
|
||
ELSE
|
||
|
||
-- Lees alle veldwaarden
|
||
-- 01
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_alg_locatie_code
|
||
);
|
||
-- 02
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_alg_gebouw_code
|
||
);
|
||
-- 03
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_alg_verdieping_volgnr
|
||
);
|
||
-- 04
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_alg_ruimte_nr
|
||
);
|
||
-- 05
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_afdeling_naam
|
||
);
|
||
-- 06
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_naam
|
||
);
|
||
-- 07
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_tussenvoegsel
|
||
);
|
||
-- 08
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_voorletters
|
||
);
|
||
-- 09
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_voornaam
|
||
);
|
||
-- 10
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_titel
|
||
);
|
||
-- 11
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_telefoonnr
|
||
);
|
||
-- 12
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_mobiel
|
||
);
|
||
-- 13
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_email
|
||
);
|
||
-- 14
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_srtperslid_omschrijving
|
||
);
|
||
-- 15
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_nr
|
||
);
|
||
-- 16
|
||
local_imp_getfield (v_newline,
|
||
C_FIELDDELIMITOR,
|
||
v_prs_perslid_oslogin
|
||
);
|
||
--
|
||
|
||
v_aanduiding := v_prs_perslid_naam||'|'||v_prs_perslid_voornaam||' - ';
|
||
|
||
-- Controleer alle veldwaarde
|
||
v_errorhint := 'Ongeldige locatie code';
|
||
v_alg_locatie_code := trim(v_alg_locatie_code);
|
||
IF LENGTH (v_alg_locatie_code) > 5
|
||
THEN
|
||
v_alg_locatie_code:= SUBSTR(v_alg_locatie_code,1,5);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Locatie-aanduiding is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_alg_locatie_code || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige gebouw code';
|
||
v_alg_gebouw_code := trim(v_alg_gebouw_code);
|
||
IF LENGTH (v_alg_gebouw_code) > 10
|
||
THEN
|
||
v_alg_gebouw_code:= SUBSTR(v_alg_gebouw_code,1,10);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Gebouw-aanduiding is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_alg_gebouw_code || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldig verdieping volgnummer ['||v_alg_verdieping_volgnr||']';
|
||
v_alg_verdieping_volgnr := trim(v_alg_verdieping_volgnr);
|
||
IF (v_alg_verdieping_volgnr IS NULL) THEN
|
||
v_alg_verdieping_volgnr_num := TO_NUMBER(v_alg_verdieping_volgnr);
|
||
ELSE
|
||
BEGIN
|
||
v_alg_verdieping_volgnr_num:= TO_NUMBER(v_alg_verdieping_volgnr);
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_ongeldig := 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
END;
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige ruimte nr';
|
||
v_alg_ruimte_nr := trim(v_alg_ruimte_nr);
|
||
IF LENGTH (v_alg_ruimte_nr) > 10
|
||
THEN
|
||
v_alg_ruimte_nr:= SUBSTR(v_alg_ruimte_nr,1,10);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Ruimtenr-aanduiding is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_alg_ruimte_nr || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldig werkplek volgnummer';
|
||
v_prs_werkplek_volgnr := trim(v_prs_werkplek_volgnr);
|
||
IF (v_prs_werkplek_volgnr IS NULL) THEN
|
||
v_prs_werkplek_volgnr_num := TO_NUMBER(v_prs_werkplek_volgnr);
|
||
ELSE
|
||
BEGIN
|
||
v_alg_verdieping_volgnr_num:= TO_NUMBER(v_alg_verdieping_volgnr);
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_ongeldig := 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
END;
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige werkplek omschrijving';
|
||
v_prs_werkplek_omschrijving := trim(v_prs_werkplek_omschrijving);
|
||
IF LENGTH (v_prs_werkplek_omschrijving) > 30
|
||
THEN
|
||
v_prs_werkplek_omschrijving:= SUBSTR(v_prs_werkplek_omschrijving,1,30);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Werkplek-aanduiding is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_werkplek_omschrijving || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige afdelingscode';
|
||
v_prs_afdeling_naam := trim(v_prs_afdeling_naam);
|
||
IF LENGTH (v_prs_afdeling_naam) > 10
|
||
THEN
|
||
v_prs_afdeling_naam:= SUBSTR(v_prs_afdeling_naam,1,10);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Afdelingscode is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_afdeling_naam || ']'
|
||
);
|
||
ELSE
|
||
IF (v_prs_afdeling_naam IS NULL) THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog(p_import_key
|
||
,'E'
|
||
,v_aanduiding||'Afdelingscode onbekend'
|
||
,'Afdelingscode moet worden opgegeven'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige naam persoon';
|
||
v_prs_perslid_naam := trim(v_prs_perslid_naam);
|
||
IF LENGTH (v_prs_perslid_naam) > 30
|
||
THEN
|
||
v_prs_perslid_naam:= SUBSTR(v_prs_perslid_naam,1,30);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Naam persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_naam || ']'
|
||
);
|
||
ELSE
|
||
IF (v_prs_perslid_naam IS NULL) THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog(p_import_key
|
||
,'E'
|
||
,v_aanduiding||'Naam persoon onbekend'
|
||
,'Naam persoon moet worden opgegeven'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige tussenvoegsel persoon';
|
||
v_prs_perslid_tussenvoegsel := trim(v_prs_perslid_tussenvoegsel);
|
||
IF LENGTH (v_prs_perslid_tussenvoegsel) > 10
|
||
THEN
|
||
v_prs_perslid_tussenvoegsel:= SUBSTR(v_prs_perslid_tussenvoegsel,1,10);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Tussenvoegsel persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_tussenvoegsel || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige voorletters persoon';
|
||
v_prs_perslid_voorletters := trim(v_prs_perslid_voorletters);
|
||
IF LENGTH (v_prs_perslid_voorletters) > 10
|
||
THEN
|
||
v_prs_perslid_voorletters:= SUBSTR(v_prs_perslid_voorletters,1,10);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Voorletters persoon zijn te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_voorletters || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Voornaam persoon';
|
||
v_prs_perslid_voornaam := trim(v_prs_perslid_voornaam);
|
||
IF LENGTH (v_prs_perslid_voornaam) > 30
|
||
THEN
|
||
v_prs_perslid_voornaam:= SUBSTR(v_prs_perslid_voornaam,1,30);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Voornaam persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_voornaam || ']'
|
||
);
|
||
ELSE
|
||
IF (v_prs_perslid_voornaam IS NULL) THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog(p_import_key
|
||
,'E'
|
||
,v_aanduiding||'Voornaam persoon onbekend'
|
||
,'Voornaam persoon moet worden opgegeven'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige titel persoon';
|
||
v_prs_perslid_titel := trim(v_prs_perslid_titel);
|
||
IF LENGTH (v_prs_perslid_titel) > 15
|
||
THEN
|
||
v_prs_perslid_titel:= SUBSTR(v_prs_perslid_titel,1,15);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Titel persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_titel || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige titel persoon';
|
||
v_prs_perslid_titel := trim(v_prs_perslid_titel);
|
||
IF LENGTH (v_prs_perslid_titel) > 15
|
||
THEN
|
||
v_prs_perslid_titel:= SUBSTR(v_prs_perslid_titel,1,15);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Titel persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_titel || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige telefoonnr. persoon';
|
||
v_prs_perslid_telefoonnr := trim(v_prs_perslid_telefoonnr);
|
||
IF LENGTH (v_prs_perslid_telefoonnr) > 15
|
||
THEN
|
||
v_prs_perslid_telefoonnr:= SUBSTR(v_prs_perslid_telefoonnr,1,15);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Telefoonnr. persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_telefoonnr || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige mobielnr. persoon';
|
||
v_prs_perslid_mobiel := trim(v_prs_perslid_mobiel);
|
||
IF LENGTH (v_prs_perslid_mobiel) > 15
|
||
THEN
|
||
v_prs_perslid_mobiel:= SUBSTR(v_prs_perslid_mobiel,1,15);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Mobielnr. persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_mobiel || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige email persoon';
|
||
v_prs_perslid_email := trim(v_prs_perslid_email);
|
||
IF LENGTH (v_prs_perslid_email) > 200
|
||
THEN
|
||
v_prs_perslid_email:= SUBSTR(v_prs_perslid_email,1,200);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Email persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_email || ']'
|
||
);
|
||
ELSE -- HOUT#39072: Per 2017 matching op e-mail, dus verplicht veld!
|
||
IF (v_prs_perslid_email IS NULL) THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog(p_import_key
|
||
,'E'
|
||
,v_aanduiding||'Email persoon onbekend'
|
||
,'Email persoon moet worden opgegeven'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige functie persoon';
|
||
v_prs_srtperslid_omschrijving := trim(v_prs_srtperslid_omschrijving);
|
||
IF LENGTH (v_prs_srtperslid_omschrijving) > 30
|
||
THEN
|
||
v_prs_srtperslid_omschrijving:= SUBSTR(v_prs_srtperslid_omschrijving,1,30);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Functie-aanduiding persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_srtperslid_omschrijving || ']'
|
||
);
|
||
ELSE
|
||
IF (v_prs_srtperslid_omschrijving IS NULL) THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog(p_import_key
|
||
,'E'
|
||
,v_aanduiding||'Functie persoon onbekend'
|
||
,'Functie persoon moet worden opgegeven'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige persoonnr.';
|
||
v_prs_perslid_nr := trim(v_prs_perslid_nr);
|
||
IF LENGTH (v_prs_perslid_nr) > 16
|
||
THEN
|
||
v_prs_perslid_nr := SUBSTR(v_prs_perslid_nr,1,16);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Persoonnr. persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_nr || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
v_errorhint := 'Ongeldige loginnaam';
|
||
v_prs_perslid_oslogin := trim(v_prs_perslid_oslogin);
|
||
IF LENGTH (v_prs_perslid_oslogin) > 30
|
||
THEN
|
||
v_prs_perslid_oslogin := SUBSTR(v_prs_perslid_oslogin,1,30);
|
||
fac.imp_writelog(p_import_key
|
||
,'W'
|
||
,v_aanduiding||'Loginnaam persoon is te lang'
|
||
,'Aanduiding wordt afgebroken tot [' || v_prs_perslid_oslogin || ']'
|
||
);
|
||
END IF;
|
||
--
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen te importeren bedrijf/afdeling ['||v_prs_afdeling_naam||']';
|
||
|
||
INSERT INTO HOUT_IMP_PRS (
|
||
alg_locatie_code
|
||
,alg_gebouw_code
|
||
,alg_verdieping_volgnr
|
||
,alg_ruimte_nr
|
||
,prs_afdeling_naam
|
||
,prs_perslid_naam
|
||
,prs_perslid_tussenvoegsel
|
||
,prs_perslid_voorletters
|
||
,prs_perslid_voornaam
|
||
,prs_perslid_titel
|
||
,prs_perslid_telefoonnr
|
||
,prs_perslid_mobiel
|
||
,prs_perslid_email
|
||
,prs_srtperslid_omschrijving
|
||
,prs_perslid_nr
|
||
,prs_perslid_oslogin
|
||
) VALUES (
|
||
v_alg_locatie_code
|
||
,v_alg_gebouw_code
|
||
,v_alg_verdieping_volgnr
|
||
,v_alg_ruimte_nr
|
||
,v_prs_afdeling_naam
|
||
,v_prs_perslid_naam
|
||
,v_prs_perslid_tussenvoegsel
|
||
,v_prs_perslid_voorletters
|
||
,v_prs_perslid_voornaam
|
||
,v_prs_perslid_titel
|
||
,v_prs_perslid_telefoonnr
|
||
,v_prs_perslid_mobiel
|
||
,v_prs_perslid_email
|
||
,v_prs_srtperslid_omschrijving
|
||
,v_prs_perslid_nr
|
||
,v_prs_perslid_oslogin
|
||
);
|
||
|
||
commit;
|
||
|
||
v_count_import := v_count_import + 1;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
END;
|
||
|
||
END LOOP;
|
||
|
||
END IF;
|
||
|
||
|
||
|
||
fac.imp_writelog ( p_import_key,
|
||
'S',
|
||
'Persoon: aantal ingelezen regels: '||to_char(v_count_tot),
|
||
''
|
||
);
|
||
|
||
fac.imp_writelog ( p_import_key,
|
||
'S',
|
||
'Persoon: aantal ongeldige importregels: '||to_char(v_count_tot - v_count_import),
|
||
''
|
||
);
|
||
|
||
|
||
COMMIT;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding||v_errormsg,
|
||
v_errorhint
|
||
);
|
||
|
||
END hout_import_prs;
|
||
/
|
||
|
||
/* Formatted on 13-9-2012 17:38:08 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE hout_update_prs (p_import_key IN NUMBER)
|
||
IS
|
||
-- LET OP: moet idem zijn als declaratie bij HOUT_IMPORT_PRS
|
||
c_persoon_inactief VARCHAR (30) := 'INACTIEF: ';
|
||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een nummer
|
||
c_max_delta_percentage NUMBER (10) := 20;
|
||
-- Ruimte waar personen in geplaatst worden (indien nog geen ruimte in opgegeven gebouw)
|
||
c_locatie_code VARCHAR2 (10) := 'RTD';
|
||
c_gebouw_code VARCHAR2 (10) := 'WT';
|
||
c_verdieping_volgnr NUMBER (10) := 99;
|
||
c_ruimte_nr VARCHAR2 (10) := '99.00';
|
||
-- Groep waar personen in geplaatst worden (indien nog geen groep)
|
||
c_groep_upper VARCHAR2 (30) := '_DEFAULT';
|
||
c_profiel_omschrijving VARCHAR (30) := 'DEFAULT';
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (300);
|
||
v_count_tot_new NUMBER (10);
|
||
v_count_tot_perslid NUMBER (10);
|
||
v_count_error NUMBER (10);
|
||
v_count_tot NUMBER (10);
|
||
v_count NUMBER (10);
|
||
--
|
||
v_srtperslid_key NUMBER (10);
|
||
v_afdeling_key NUMBER (10);
|
||
v_perslid_key NUMBER (10);
|
||
v_secretaresse NUMBER (10);
|
||
v_locatie_key NUMBER (10);
|
||
v_gebouw_key NUMBER (10);
|
||
v_verdieping_key NUMBER (10);
|
||
v_ruimte_key NUMBER (10);
|
||
v_groep_key NUMBER (10);
|
||
v_profiel_key NUMBER (10);
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in hout_imp_prs!
|
||
-- Dubbele e-mails? Dan wordt iemand mogelijk niet verwijderd/INACTIEF!
|
||
CURSOR cdelprs
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_email, p.prs_perslid_naam, p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_nr IS NOT NULL -- Import-doelgroep!
|
||
AND p.prs_perslid_email IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM hout_imp_prs ip -- Import-doelgroep!
|
||
WHERE ip.prs_perslid_nr IS NOT NULL
|
||
AND UPPER (ip.prs_perslid_email) = UPPER (p.prs_perslid_email))
|
||
ORDER BY 1;
|
||
|
||
recdelprs cdelprs%ROWTYPE;
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in hout_imp_prs!
|
||
CURSOR csperslid
|
||
IS
|
||
SELECT MIN (prs_perslid_email) prs_perslid_email,
|
||
MIN (prs_perslid_naam) prs_perslid_naam,
|
||
MIN (prs_perslid_voornaam) prs_perslid_voornaam,
|
||
MIN (prs_srtperslid_omschrijving) prs_srtperslid_omschrijving
|
||
FROM hout_imp_prs
|
||
WHERE prs_perslid_nr IS NOT NULL -- Import-doelgroep!
|
||
AND prs_perslid_email IS NOT NULL
|
||
GROUP BY UPPER (prs_srtperslid_omschrijving);
|
||
|
||
recsperslid csperslid%ROWTYPE;
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in hout_imp_prs!
|
||
-- Dubbele e-mails? Dan worden gewoon 2 (of meer) personen toegevoegd!
|
||
CURSOR cperslid
|
||
IS
|
||
SELECT *
|
||
FROM hout_imp_prs
|
||
WHERE prs_perslid_nr IS NOT NULL -- Import-doelgroep!
|
||
AND prs_perslid_email IS NOT NULL;
|
||
|
||
recperslid cperslid%ROWTYPE;
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in hout_imp_prs!
|
||
-- Alle personen met e-mail (ie. de import-doelgroep) zonder werkplek
|
||
-- krijgen "fictieve" werkplek in locatie/gebouw volgens EMIS of anders
|
||
-- Rotterdam/Weena!
|
||
-- Dubbele e-mails? Dan krijgt iemand mogelijk de verkeerde plaats!
|
||
CURSOR cwp
|
||
IS
|
||
SELECT p.*, ip.alg_locatie_code, ip.alg_gebouw_code
|
||
FROM hout_imp_prs ip, prs_v_aanwezigperslid p
|
||
WHERE ip.prs_perslid_nr IS NOT NULL -- Import-doelgroep!
|
||
AND UPPER (ip.prs_perslid_email) = UPPER (p.prs_perslid_email)
|
||
AND p.prs_perslid_nr IS NOT NULL -- Import-doelgroep!
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key);
|
||
|
||
-- Alle actieve personen met e-mail (ie. de import-doelgroep) en "fictieve"
|
||
-- werkplek (ie. ruimtenummer 99.00) worden gelogd.
|
||
CURSOR cnowp
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_email, p.prs_perslid_naam, p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_nr IS NOT NULL -- Import-doelgroep!
|
||
AND p.prs_perslid_email IS NOT NULL
|
||
AND p.prs_perslid_naam NOT LIKE c_persoon_inactief || '%'
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw, prs_werkplek w, alg_ruimte r
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND w.prs_alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_ruimte_upper_nr = c_ruimte_nr);
|
||
/*
|
||
-- Alle personen met e-mail (ie. de import-doelgroep) niet in een groep
|
||
-- komen in _DEFAULT.
|
||
CURSOR cnogroup
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_email, p.prs_perslid_naam, p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_nr IS NOT NULL -- Import-doelgroep!
|
||
AND p.prs_perslid_email IS NOT NULL
|
||
AND NOT EXISTS (SELECT 1
|
||
FROM fac_gebruikersgroep g
|
||
WHERE g.prs_perslid_key = p.prs_perslid_key);
|
||
*/
|
||
BEGIN
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM imp_log
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||
INTO v_count_tot_perslid
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_oslogin IS NOT NULL;
|
||
|
||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||
INTO v_count_tot_new
|
||
FROM prs_v_aanwezigperslid p, hout_imp_prs ip
|
||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (ip.prs_perslid_oslogin);
|
||
|
||
|
||
SELECT MAX (fac_profiel_key), COUNT ( * )
|
||
INTO v_profiel_key, v_count
|
||
FROM fac_profiel
|
||
WHERE UPPER (TRIM (fac_profiel_omschrijving)) = c_profiel_omschrijving;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Standaard profiel ['
|
||
|| c_profiel_omschrijving
|
||
|| '] niet gevonden.',
|
||
'Personen zonder profiel kunnen niet worden gekoppeld aan een profiel.'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
IF ( (v_count > 0)
|
||
OR (TRUNC ( (v_count_tot_new / v_count_tot_perslid) * 100) >=
|
||
(100 - c_max_delta_percentage))
|
||
OR (TRUNC ( (v_count_tot_new / v_count_tot_perslid) * 100) <=
|
||
(100 + c_max_delta_percentage)))
|
||
THEN
|
||
-- Geldig importbestand wat betreft aantal inserts
|
||
OPEN cdelprs;
|
||
|
||
IF cdelprs%ISOPEN
|
||
THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH cdelprs INTO recdelprs;
|
||
|
||
EXIT WHEN cdelprs%NOTFOUND;
|
||
|
||
v_errorhint := 'Fout bij bepalen verplichtingen';
|
||
|
||
-- Heeft de persoon actuele/toekomstige verplichtigen?
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_v_verplichting_keys r
|
||
WHERE r.prs_perslid_key = recdelprs.prs_perslid_key;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij verwijderen persoon';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_verwijder = SYSDATE
|
||
WHERE prs_perslid_key = recdelprs.prs_perslid_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Persoon met e-mail ['
|
||
|| recdelprs.prs_perslid_email
|
||
|| '] en naam ['
|
||
|| recdelprs.prs_perslid_naam
|
||
|| ', '
|
||
|| recdelprs.prs_perslid_voornaam
|
||
|| '] is verwijderd.',
|
||
'Persoon is verwijderd.'
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
-- Staat de persoon al op inactief?
|
||
v_errorhint := 'Fout bij bepalen INACTIEF';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_naam LIKE c_persoon_inactief || '%'
|
||
AND p.prs_perslid_key = recdelprs.prs_perslid_key;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij INACTIEF maken persoon';
|
||
|
||
-- Persoon INACTIEF maken (update naam + reset oslogin)
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_naam =
|
||
SUBSTR (
|
||
c_persoon_inactief || prs_perslid_naam,
|
||
1,
|
||
30
|
||
),
|
||
prs_perslid_oslogin = NULL,
|
||
prs_perslid_ingids = NULL
|
||
WHERE prs_perslid_key = recdelprs.prs_perslid_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Persoon met e-mail ['
|
||
|| recdelprs.prs_perslid_email
|
||
|| '] en naam ['
|
||
|| recdelprs.prs_perslid_naam
|
||
|| ', '
|
||
|| recdelprs.prs_perslid_voornaam
|
||
|| '] is INACTIEF gemaakt.',
|
||
'Persoon is (voorlopig) INACTIEF gemaakt'
|
||
);
|
||
ELSE
|
||
v_errorhint := 'Fout bij INACTIEF houden persoon';
|
||
|
||
-- Persoon INACTIEF houden (reset oslogin; indien handmatig INACTIEF gemaakt)
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_oslogin = NULL,
|
||
prs_perslid_ingids = NULL
|
||
WHERE prs_perslid_naam LIKE c_persoon_inactief || '%'
|
||
AND (prs_perslid_oslogin IS NOT NULL
|
||
OR prs_perslid_ingids IS NOT NULL);
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Persoon met e-mail ['
|
||
|| recdelprs.prs_perslid_email
|
||
|| '] en naam ['
|
||
|| recdelprs.prs_perslid_naam
|
||
|| ', '
|
||
|| recdelprs.prs_perslid_voornaam
|
||
|| '] is INACTIEF',
|
||
'Persoon is INACTIEF'
|
||
);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END IF;
|
||
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_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
CLOSE cdelprs;
|
||
END IF;
|
||
|
||
-- Dezelfde persoon met dezelfde e-mail kan vaker voorkomen (1x actief + 1x inactief).
|
||
-- prs_perslid_email hoeft niet uniek te zijn, prs_perslid_oslogin wel; vandaar onderstaande update.
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_oslogin = NULL, prs_perslid_ingids = NULL
|
||
WHERE prs_perslid_naam LIKE c_persoon_inactief || '%'
|
||
AND (prs_perslid_oslogin IS NOT NULL OR prs_perslid_ingids IS NOT NULL);
|
||
|
||
COMMIT;
|
||
|
||
OPEN csperslid;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
IF csperslid%ISOPEN
|
||
THEN
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '';
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
|
||
FETCH csperslid INTO recsperslid;
|
||
|
||
EXIT WHEN csperslid%NOTFOUND;
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
recsperslid.prs_perslid_naam
|
||
|| '|'
|
||
|| recsperslid.prs_perslid_voornaam
|
||
|| '|'
|
||
|| recsperslid.prs_srtperslid_omschrijving
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen functie';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_srtperslid
|
||
WHERE UPPER (prs_srtperslid_omschrijving) =
|
||
UPPER (recsperslid.prs_srtperslid_omschrijving)
|
||
AND prs_srtperslid_verwijder IS NULL;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen functie';
|
||
|
||
INSERT INTO prs_srtperslid (prs_srtperslid_omschrijving)
|
||
VALUES (recsperslid.prs_srtperslid_omschrijving);
|
||
|
||
COMMIT;
|
||
END IF;
|
||
|
||
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: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Personeelsfunctie: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
''
|
||
);
|
||
COMMIT;
|
||
|
||
CLOSE csperslid;
|
||
END IF;
|
||
|
||
OPEN cperslid;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
IF cperslid%ISOPEN
|
||
THEN
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '';
|
||
v_errormsg := '';
|
||
v_errorhint := '';
|
||
|
||
FETCH cperslid INTO recperslid;
|
||
|
||
EXIT WHEN cperslid%NOTFOUND;
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
recperslid.prs_perslid_email
|
||
|| '|'
|
||
|| recperslid.prs_perslid_naam
|
||
|| '|'
|
||
|| recperslid.prs_perslid_voornaam
|
||
|| ' - ';
|
||
v_errormsg := '';
|
||
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 prs_afdeling_key
|
||
INTO v_afdeling_key
|
||
FROM prs_afdeling
|
||
WHERE UPPER (prs_afdeling_naam) =
|
||
UPPER (recperslid.prs_afdeling_naam)
|
||
AND prs_afdeling_verwijder IS NULL;
|
||
|
||
v_errorhint := 'Kijken of de persoon al bestaat';
|
||
|
||
SELECT COUNT ( * ), MAX (prs_perslid_key)
|
||
INTO v_count, v_perslid_key
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_verwijder IS NULL
|
||
AND UPPER (prs_perslid_email) =
|
||
UPPER (recperslid.prs_perslid_email);
|
||
|
||
IF (v_count > 1)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_aanduiding || ' kan persoon niet 1-duidig bepalen',
|
||
v_errorhint
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
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_titel,
|
||
prs_perslid_oslogin,
|
||
fac_profiel_key)
|
||
VALUES ('PRS',
|
||
v_srtperslid_key,
|
||
v_afdeling_key,
|
||
recperslid.prs_perslid_naam,
|
||
recperslid.prs_perslid_voorletters,
|
||
recperslid.prs_perslid_tussenvoegsel,
|
||
recperslid.prs_perslid_voornaam,
|
||
recperslid.prs_perslid_telefoonnr,
|
||
recperslid.prs_perslid_mobiel,
|
||
recperslid.prs_perslid_email,
|
||
recperslid.prs_perslid_nr,
|
||
recperslid.prs_perslid_titel,
|
||
recperslid.prs_perslid_oslogin,
|
||
v_profiel_key)
|
||
RETURNING prs_perslid_key INTO v_perslid_key;
|
||
ELSE
|
||
-- HOUT#24024: Secretaresse en huidige afdeling anders dan afdeling
|
||
-- volgens import, dan mandaat schonen (zo nodig wordt
|
||
-- mandaat voor nieuwe afdeling hierna weer toegekend).
|
||
v_errorhint := 'Fout bij bepalen WAS-secretaresse';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_secretaresse
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_key = v_perslid_key
|
||
AND p.prs_afdeling_key != v_afdeling_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_afdeling a,
|
||
prs_kostenplaats k,
|
||
fac_usrdata ud
|
||
WHERE a.prs_afdeling_key =
|
||
p.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key
|
||
AND k.prs_kostenplaats_verwijder IS NULL
|
||
AND k.prs_kostenplaats_upper =
|
||
ud.fac_usrdata_upper
|
||
AND ud.fac_usrtab_key = 601 -- Kostenpl.mandaat
|
||
AND ud.fac_usrdata_verwijder IS NULL);
|
||
|
||
IF (v_secretaresse > 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij schonen mandaat';
|
||
|
||
DELETE FROM prs_perslidkostenplaats
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
v_aanduiding || ' mandaat geschoond',
|
||
'WAS secretaresse'
|
||
);
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bij wijzigen persoon';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_srtperslid_key = v_srtperslid_key,
|
||
prs_afdeling_key = v_afdeling_key,
|
||
prs_perslid_naam = recperslid.prs_perslid_naam,
|
||
prs_perslid_voorletters =
|
||
recperslid.prs_perslid_voorletters,
|
||
prs_perslid_tussenvoegsel =
|
||
recperslid.prs_perslid_tussenvoegsel,
|
||
prs_perslid_voornaam =
|
||
recperslid.prs_perslid_voornaam,
|
||
prs_perslid_telefoonnr =
|
||
recperslid.prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel =
|
||
recperslid.prs_perslid_mobiel,
|
||
prs_perslid_email = recperslid.prs_perslid_email,
|
||
prs_perslid_nr = recperslid.prs_perslid_nr,
|
||
prs_perslid_titel = recperslid.prs_perslid_titel,
|
||
prs_perslid_oslogin =
|
||
recperslid.prs_perslid_oslogin,
|
||
fac_profiel_key =
|
||
COALESCE (fac_profiel_key, v_profiel_key)
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
|
||
-- HOUT#24024: Indien nog nergens voor gemandateerd, dan secretaresses
|
||
-- mandateren voor alles!
|
||
v_errorhint := 'Fout bij bepalen WORDT-secretaresse';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_secretaresse
|
||
FROM prs_afdeling a, prs_kostenplaats k, fac_usrdata ud
|
||
WHERE a.prs_afdeling_key = v_afdeling_key
|
||
AND a.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key
|
||
AND k.prs_kostenplaats_verwijder IS NULL
|
||
AND k.prs_kostenplaats_upper =
|
||
ud.fac_usrdata_upper
|
||
AND ud.fac_usrtab_key = 601 -- Kostenpl.mandaat
|
||
AND ud.fac_usrdata_verwijder IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidkostenplaats pk
|
||
WHERE pk.prs_perslid_key = v_perslid_key);
|
||
|
||
IF (v_secretaresse > 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij toekennen mandaat';
|
||
|
||
INSERT INTO prs_perslidkostenplaats pk (
|
||
prs_perslid_key,
|
||
prs_kostenplaats_key,
|
||
prs_perslidkostenplaats_boeken,
|
||
prs_perslidkostenplaats_inzage
|
||
)
|
||
VALUES (v_perslid_key,
|
||
NULL,
|
||
1,
|
||
1);
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
v_aanduiding || ' mandaat toegekend',
|
||
'WORDT secretaresse');
|
||
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
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),
|
||
''
|
||
);
|
||
|
||
CLOSE cperslid;
|
||
END IF;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
FOR recwp IN cwp
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
recwp.prs_perslid_email
|
||
|| '|'
|
||
|| recwp.prs_perslid_naam
|
||
|| '|'
|
||
|| recwp.prs_perslid_voornaam
|
||
|| '|'
|
||
|| recwp.alg_locatie_code
|
||
|| '|'
|
||
|| recwp.alg_gebouw_code
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen persoon';
|
||
|
||
SELECT prs_perslid_key
|
||
INTO v_perslid_key
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE UPPER (prs_perslid_email) = UPPER (recwp.prs_perslid_email);
|
||
|
||
v_locatie_key := NULL;
|
||
v_gebouw_key := NULL;
|
||
v_verdieping_key := NULL;
|
||
v_ruimte_key := NULL;
|
||
v_errorhint := 'Fout bij bepalen EMIS-locatie';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanweziglocatie
|
||
WHERE alg_locatie_code = recwp.alg_locatie_code;
|
||
|
||
IF v_count = 1
|
||
THEN
|
||
SELECT alg_locatie_key
|
||
INTO v_locatie_key
|
||
FROM alg_v_aanweziglocatie
|
||
WHERE alg_locatie_code = recwp.alg_locatie_code;
|
||
ELSE -- Locatie bestaat niet (of >1 keer)!
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
v_aanduiding || v_errorhint,
|
||
'Kan EMIS-locatie niet (1-duidig) bepalen!');
|
||
COMMIT;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bij bepalen EMIS-gebouw';
|
||
|
||
IF v_locatie_key IS NOT NULL
|
||
THEN
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_locatie_key = v_locatie_key
|
||
AND alg_gebouw_upper = UPPER (recwp.alg_gebouw_code);
|
||
|
||
IF v_count = 1
|
||
THEN
|
||
SELECT alg_gebouw_key
|
||
INTO v_gebouw_key
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_locatie_key = v_locatie_key
|
||
AND alg_gebouw_upper =
|
||
UPPER (recwp.alg_gebouw_code);
|
||
ELSE -- Gebouw bestaat niet (of >1 keer)!
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
v_aanduiding || v_errorhint,
|
||
'Kan EMIS-gebouw niet (1-duidig) bepalen!'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
v_errorhint :=
|
||
'Fout bij bepalen default locatie/gebouw ('
|
||
|| c_locatie_code
|
||
|| '-'
|
||
|| c_gebouw_code
|
||
|| ')';
|
||
|
||
IF v_gebouw_key IS NULL
|
||
THEN
|
||
SELECT alg_gebouw_key
|
||
INTO v_gebouw_key
|
||
FROM alg_v_aanweziglocatie l, alg_v_aanweziggebouw g
|
||
WHERE l.alg_locatie_code = c_locatie_code
|
||
AND l.alg_locatie_key = g.alg_locatie_key
|
||
AND g.alg_gebouw_upper = UPPER (c_gebouw_code);
|
||
END IF;
|
||
|
||
v_errorhint :=
|
||
'Fout bij bepalen "fictieve" verdieping ('
|
||
|| TO_CHAR (c_verdieping_volgnr)
|
||
|| ')';
|
||
|
||
SELECT alg_verdieping_key
|
||
INTO v_verdieping_key
|
||
FROM alg_v_aanwezigverdieping v
|
||
WHERE v.alg_gebouw_key = v_gebouw_key
|
||
AND v.alg_verdieping_volgnr = c_verdieping_volgnr;
|
||
|
||
v_errorhint :=
|
||
'Fout bij bepalen "fictieve" ruimte (' || c_ruimte_nr || ')';
|
||
|
||
SELECT alg_ruimte_key
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE r.alg_verdieping_key = v_verdieping_key
|
||
AND r.alg_ruimte_upper_nr = c_ruimte_nr;
|
||
|
||
-- Persoon (zonder wp!) krijgt wp op de hierboven bepaalde ruimte.
|
||
v_errorhint := 'Fout bij toewijzen werkplek';
|
||
PRS.movetoruimte (v_perslid_key, v_ruimte_key, NULL);
|
||
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',
|
||
'Werkplek: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Werkplek: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
''
|
||
);
|
||
COMMIT;
|
||
|
||
FOR recnowp IN cnowp
|
||
LOOP
|
||
BEGIN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Persoon met e-mail ['
|
||
|| recnowp.prs_perslid_email
|
||
|| '] en naam ['
|
||
|| recnowp.prs_perslid_naam
|
||
|| ', '
|
||
|| recnowp.prs_perslid_voornaam
|
||
|| '] heeft een "fictieve" werkplek',
|
||
'Fictieve werkplek'
|
||
);
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
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_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
/*
|
||
FOR recnogroup IN cnogroup
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
recnogroup.prs_perslid_email
|
||
|| '|'
|
||
|| recnogroup.prs_perslid_naam
|
||
|| '|'
|
||
|| recnogroup.prs_perslid_voornaam
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen groep [' || c_groep_upper || ']';
|
||
|
||
SELECT fac_groep_key
|
||
INTO v_groep_key
|
||
FROM fac_groep
|
||
WHERE fac_groep_upper = c_groep_upper;
|
||
|
||
v_errorhint :=
|
||
'Fout bij koppelen persoon aan groep ['
|
||
|| c_groep_upper
|
||
|| ']';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
VALUES (v_groep_key, recnogroup.prs_perslid_key);
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
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_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
*/
|
||
-- Verwijder ongebruikte functies; deze import bepaalt de functies!
|
||
DELETE FROM prs_srtperslid sp
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslid p
|
||
WHERE p.prs_srtperslid_key = sp.prs_srtperslid_key);
|
||
|
||
COMMIT;
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Het verschil tussen het aantal actieve personen met personeelsnummer en de te importeren/wijzigen aantallen is te groot, zie specificatie.',
|
||
'* Max. aan wijzigingen toegestaan = ['
|
||
|| TO_CHAR (c_max_delta_percentage)
|
||
|| '%] <br>* '
|
||
|| 'Aantal personen importbestand = ['
|
||
|| TO_CHAR (v_count_tot_new)
|
||
|| '] <br>* '
|
||
|| 'Aantal personen Facilitor = ['
|
||
|| TO_CHAR (v_count_tot_perslid)
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF; -- Geldig importbestand wat betreft aantal inserts
|
||
|
||
COMMIT;
|
||
END hout_update_prs;
|
||
/
|
||
|
||
/* Formatted on 2008/04/25 15:20 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW hout_v_rap_res_overzicht (fclt_f_locatie,
|
||
hide_f_sort_datum_tijd,
|
||
hide_f_sort_ruimte,
|
||
hide_f_sort_resnr,
|
||
hide_f_sort_categorie,
|
||
fclt_f_res_datum,
|
||
res_ruimtenummer,
|
||
van,
|
||
tot,
|
||
naam_gastheer,
|
||
aant,
|
||
voorzieningen,
|
||
omschrijving,
|
||
naam_aanvrager,
|
||
res_num,
|
||
opmerkingen,
|
||
fclt_3d_locatie_key
|
||
)
|
||
AS
|
||
SELECT l.alg_locatie_code locatie,
|
||
TO_CHAR (res_geg.res_reservering_van,
|
||
'YYYY-MM-DD HH24:MI'
|
||
) sort_datum_tijd,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_aanduiding
|
||
) sort_ruimte,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr sort_resnr,
|
||
res_geg.res_type sort_categorie,
|
||
TO_CHAR (res_geg.res_reservering_van, 'DD-MM-YYYY') datum,
|
||
(CASE
|
||
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
|
||
THEN ''
|
||
ELSE COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_aanduiding
|
||
)
|
||
END
|
||
) ruimte,
|
||
TO_CHAR (res_geg.res_reservering_van, 'HH24:MI') van,
|
||
TO_CHAR (res_geg.res_reservering_tot, 'HH24:MI') tot, gastheer,
|
||
(CASE
|
||
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
|
||
THEN ''
|
||
ELSE TO_CHAR (rrr.res_rsv_ruimte_bezoekers)
|
||
END
|
||
) aantal,
|
||
(CASE
|
||
WHEN res_geg.aantal IS NOT NULL
|
||
THEN TO_CHAR (res_geg.aantal)
|
||
|| ' * '
|
||
|| res_geg.res_voorziening
|
||
ELSE res_geg.res_voorziening
|
||
END
|
||
) voorzieningen,
|
||
(CASE
|
||
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
|
||
THEN ''
|
||
ELSE res_rsv_ruimte_omschrijving
|
||
END
|
||
) omschrijving,
|
||
aanvrager,
|
||
(CASE
|
||
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
|
||
THEN ''
|
||
ELSE rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
END
|
||
) resnr,
|
||
(CASE
|
||
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
|
||
THEN ''
|
||
ELSE res_rsv_ruimte_opmerking
|
||
END
|
||
) opmerking,
|
||
l.alg_locatie_key
|
||
FROM (SELECT '1R' AS res_type, rrr.res_rsv_ruimte_key,
|
||
rro.res_ruimte_key, rrr.res_rsv_ruimte_key AS res_item_key,
|
||
rrr.res_rsv_ruimte_van AS res_reservering_van,
|
||
rrr.res_rsv_ruimte_tot AS res_reservering_tot,
|
||
TO_NUMBER (NULL) AS aantal,
|
||
ro.res_opstelling_omschrijving AS res_voorziening,
|
||
rr.res_discipline_key AS res_ins_discipline_key,
|
||
rrr.res_status_bo_key, TO_NUMBER (NULL) AS res_artikel_key,
|
||
rrr.res_rsv_ruimte_prijs AS prijs,
|
||
TO_NUMBER (NULL) AS stuks_prijs, 1 AS rsv_ruimte_aantal,
|
||
NULL AS artikelnummer, '' AS artikel_groep,
|
||
(SELECT prs_perslid_naam
|
||
|| DECODE (p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || p.prs_perslid_voorletters
|
||
)
|
||
|| DECODE (p.prs_perslid_tussenvoegsel,
|
||
NULL, '',
|
||
' ' || p.prs_perslid_tussenvoegsel
|
||
)
|
||
|| DECODE (p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || p.prs_perslid_voornaam || ')'
|
||
)
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_key = rrr.res_rsv_ruimte_host_key)
|
||
gastheer,
|
||
(SELECT prs_perslid_naam
|
||
|| DECODE (p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || p.prs_perslid_voorletters
|
||
)
|
||
|| DECODE (p.prs_perslid_tussenvoegsel,
|
||
NULL, '',
|
||
' ' || p.prs_perslid_tussenvoegsel
|
||
)
|
||
|| DECODE (p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || p.prs_perslid_voornaam || ')'
|
||
)
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_key = rrr.res_rsv_ruimte_host_key)
|
||
aanvrager
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_opstelling ro
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rro.res_opstelling_key = ro.res_opstelling_key
|
||
UNION ALL
|
||
SELECT '2V' AS res_type, rrd.res_rsv_ruimte_key,
|
||
(SELECT rro.res_ruimte_key
|
||
FROM res_ruimte_opstelling rro
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key)
|
||
AS res_ruimte_key,
|
||
rrd.res_rsv_deel_key AS res_item_key,
|
||
rrd.res_rsv_deel_van AS res_reservering_van,
|
||
rrd.res_rsv_deel_tot AS res_reservering_tot,
|
||
TO_NUMBER (NULL) AS aantal,
|
||
ID.ins_deel_omschrijving
|
||
|| ' ('
|
||
|| COALESCE (rd.res_deel_eenheid, '')
|
||
|| ')' AS res_voorziening,
|
||
rd.res_discipline_key AS res_ins_discipline_key,
|
||
rrd.res_status_bo_key, TO_NUMBER (NULL) AS res_artikel_key,
|
||
TO_NUMBER (NULL) AS prijs, rd.res_deel_prijs AS stuks_prijs,
|
||
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
|
||
NULL AS artikelnummer, '' AS artikel_groep,
|
||
'' gastheer,
|
||
'' aanvrager
|
||
FROM res_v_aanwezigrsv_deel rrd,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_deel rd,
|
||
ins_deel ID
|
||
WHERE rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_ins_deel_key = ID.ins_deel_key
|
||
UNION ALL
|
||
SELECT '3C' AS res_type, rra.res_rsv_ruimte_key,
|
||
(SELECT rro.res_ruimte_key
|
||
FROM res_ruimte_opstelling rro
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key)
|
||
AS res_ruimte_key,
|
||
res_rsv_artikel_key AS res_item_key,
|
||
rra.res_rsv_artikel_levering AS res_reservering_van,
|
||
res_rsv_ruimte_tot AS res_reservering_tot,
|
||
rra.res_rsv_artikel_aantal AS aantal,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| COALESCE (ra.res_artikel_eenheid, '')
|
||
|| ')' AS res_voorziening,
|
||
ra.res_discipline_key AS res_ins_discipline_key,
|
||
rra.res_status_bo_key,
|
||
ra.res_artikel_key AS res_artikel_key,
|
||
rra.res_rsv_artikel_prijs AS prijs,
|
||
ra.res_artikel_prijs
|
||
/ rra.res_rsv_artikel_aantal AS stuks_prijs,
|
||
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
|
||
ra.res_artikel_nr AS artikelnummer,
|
||
ra.res_artikel_groep AS artikel_groep,
|
||
'' gastheer,
|
||
'' aanvrager
|
||
FROM res_v_aanwezigrsv_artikel rra,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_artikel ra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key) res_geg,
|
||
res_rsv_ruimte rrr,
|
||
alg_v_ruimte_gegevens ruimte_geg,
|
||
(SELECT res_ruimte_opstel_key, res_ruimte_nr,
|
||
MIN (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_ruimte_opstelling rro,
|
||
res_alg_ruimte rar,
|
||
res_ruimte rr
|
||
WHERE rro.res_ruimte_key = rar.res_ruimte_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_opstel_key, res_ruimte_nr) opstelalg,
|
||
alg_locatie l
|
||
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_ruimte_opstel_key = opstelalg.res_ruimte_opstel_key(+)
|
||
AND ruimte_geg.alg_ruimte_key =
|
||
COALESCE (rrr.alg_ruimte_key, opstelalg.alg_ruimte_key)
|
||
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
|
||
AND res_geg.res_status_bo_key < 5
|
||
/
|
||
|
||
/* Formatted on 2008/12/05 16:12 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW hout_v_res_bezet_raw (
|
||
res_ruimte_naam,
|
||
alg_ruimte_nr,
|
||
van,
|
||
tot,
|
||
t0800,
|
||
t0830,
|
||
t0900,
|
||
t0930,
|
||
t1000,
|
||
t1030,
|
||
t1100,
|
||
t1130,
|
||
t1200,
|
||
t1230,
|
||
t1300,
|
||
t1330,
|
||
t1400,
|
||
t1430,
|
||
t1500,
|
||
t1530,
|
||
t1600,
|
||
t1630,
|
||
t1700,
|
||
t1730,
|
||
aant_deelnemers,
|
||
activiteit,
|
||
kostenplaats,
|
||
max_personen
|
||
)
|
||
AS
|
||
SELECT res.res_ruimte_nr,
|
||
res.alg_ruimte_nr,
|
||
res.res_rsv_ruimte_van,
|
||
res.res_rsv_ruimte_tot,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 8 AND res.tot >= 8.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 8.25 AND res.tot >= 8.5), 0
|
||
)
|
||
t0800,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 8.5 AND res.tot >= 8.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 8.75 AND res.tot >= 9), 0
|
||
)
|
||
t0830,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 9 AND res.tot >= 9.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 9.25 AND res.tot >= 9.5), 0
|
||
)
|
||
t0900,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 9.5 AND res.tot >= 9.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 9.75 AND res.tot >= 10), 0
|
||
)
|
||
t0930,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 10 AND res.tot >= 10.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 10.25 AND res.tot >= 10.5), 0
|
||
)
|
||
t1000,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 10.5 AND res.tot >= 10.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 10.75 AND res.tot >= 11), 0
|
||
)
|
||
t1030,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 11 AND res.tot >= 11.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 11.25 AND res.tot >= 11.5), 0
|
||
)
|
||
t1100,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 11.5 AND res.tot >= 11.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 11.75 AND res.tot >= 12), 0
|
||
)
|
||
t1130,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 12 AND res.tot >= 12.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 12.25 AND res.tot >= 12.5), 0
|
||
)
|
||
t1200,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 12.5 AND res.tot >= 12.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 12.75 AND res.tot >= 13), 0
|
||
)
|
||
t1230,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 13 AND res.tot >= 13.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 13.25 AND res.tot >= 13.5), 0
|
||
)
|
||
t1300,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 13.5 AND res.tot >= 13.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 13.75 AND res.tot >= 14), 0
|
||
)
|
||
t1330,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 14 AND res.tot >= 14.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 14.25 AND res.tot >= 14.5), 0
|
||
)
|
||
t1400,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 14.5 AND res.tot >= 14.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 14.75 AND res.tot >= 15), 0
|
||
)
|
||
t1430,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 15 AND res.tot >= 15.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 15.25 AND res.tot >= 15.5), 0
|
||
)
|
||
t1500,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 15.5 AND res.tot >= 15.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 15.75 AND res.tot >= 16), 0
|
||
)
|
||
t1530,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 16 AND res.tot >= 16.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 16.25 AND res.tot >= 16.5), 0
|
||
)
|
||
t1600,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 16.5 AND res.tot >= 16.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 16.75 AND res.tot >= 17), 0
|
||
)
|
||
t1630,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 17 AND res.tot >= 17.25), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 17.25 AND res.tot >= 17.5), 0
|
||
)
|
||
t1700,
|
||
NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 17.5 AND res.tot >= 17.75), 0
|
||
)
|
||
+ NVL ( (SELECT 1 / 2
|
||
FROM DUAL
|
||
WHERE res.van <= 17.75 AND res.tot >= 18), 0
|
||
)
|
||
t1730,
|
||
res_rsv_ruimte_bezoekers,
|
||
res_activiteit_omschrijving,
|
||
prs_kostenplaats_nr,
|
||
res_ruimte_opstel_bezoekers
|
||
FROM (SELECT (rrr.res_rsv_ruimte_van - TRUNC (rrr.res_rsv_ruimte_van))
|
||
* 24
|
||
van,
|
||
(rrr.res_rsv_ruimte_tot - TRUNC (rrr.res_rsv_ruimte_tot)) * 24
|
||
tot,
|
||
rr.res_ruimte_nr,
|
||
ar.alg_ruimte_nr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_bezoekers,
|
||
rra.res_activiteit_omschrijving,
|
||
kp.prs_kostenplaats_nr,
|
||
rro.res_ruimte_opstel_bezoekers
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_alg_ruimte rar,
|
||
alg_ruimte ar,
|
||
res_activiteit rra,
|
||
prs_kostenplaats kp
|
||
WHERE rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.alg_ruimte_key = ar.alg_ruimte_key
|
||
AND rrr.res_activiteit_key = rra.res_activiteit_key
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)) res;
|
||
|
||
/* Formatted on 2008/10/16 14:38 (Formatter Plus v4.8.7) */
|
||
-- RAP-PACKAGE
|
||
CREATE OR REPLACE PACKAGE hout_rap
|
||
AS
|
||
TYPE t_cursor IS REF CURSOR;
|
||
|
||
PROCEDURE res_bezet_raw (
|
||
user_key IN NUMBER,
|
||
p_datum_van IN VARCHAR2,
|
||
p_datum_tot IN VARCHAR2,
|
||
p_cursor OUT t_cursor
|
||
);
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 2008/10/20 11:28 (Formatter Plus v4.8.7) */
|
||
-- RAP-PROCEDURES in PACKAGE BODY (1 per rapportage)
|
||
CREATE OR REPLACE PACKAGE BODY hout_rap
|
||
AS
|
||
-- Ruwe bezettingsdata
|
||
PROCEDURE res_bezet_raw (
|
||
user_key IN NUMBER,
|
||
p_datum_van IN VARCHAR2,
|
||
-- Let wel: formaat '16-01-2006'
|
||
p_datum_tot IN VARCHAR2,
|
||
p_cursor OUT t_cursor
|
||
)
|
||
AS
|
||
v_datum_van DATE;
|
||
v_datum_tot DATE;
|
||
BEGIN
|
||
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
|
||
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
|
||
|
||
OPEN p_cursor FOR
|
||
SELECT r.res_ruimte_naam ruimte_naam, r.alg_ruimte_nr ruimte_nr,
|
||
TO_CHAR (r.van, 'dd-mm-yyyy') datum,
|
||
TO_CHAR (r.van, 'HH24:MI') van,
|
||
TO_CHAR (r.tot, 'HH24:MI') tot, t0800, t0830, t0900, t0930,
|
||
t1000, t1030, t1100, t1130, t1200, t1230, t1300, t1330,
|
||
t1400, t1430, t1500, t1530, t1600, t1630, t1700, t1730,
|
||
aant_deelnemers, activiteit, kostenplaats, max_personen
|
||
FROM hout_v_res_bezet_raw r
|
||
WHERE r.van BETWEEN v_datum_van AND v_datum_tot
|
||
ORDER BY 1, 3, 4, 5;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
-- HOUT#15589 AutoClose repro-bestellingen noti-dagen na aanmaken.
|
||
CREATE OR REPLACE PROCEDURE hout_select_autoclose (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE FORCE VIEW hout_v_export_autoclose (RESULT, result_order)
|
||
AS
|
||
SELECT '', 0
|
||
FROM DUAL
|
||
WHERE 1 = 0;
|
||
/
|
||
|
||
/* Formatted on 23-8-2012 17:02:18 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE hout_export_autoclose (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
UPDATE bes_bestelopdr
|
||
SET bes_bestelopdr_status = 4
|
||
WHERE bes_bestelopdr_key IN
|
||
(SELECT DISTINCT bo.bes_bestelopdr_key
|
||
FROM bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
bes_bestelling b,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_disc_params bdp
|
||
WHERE bo.bes_bestelopdr_status = 3
|
||
AND bo.bes_bestelopdr_key =
|
||
boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key =
|
||
bi.bes_bestelopdr_item_key
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = 1041 -- repro-bestellingen
|
||
AND sg.ins_discipline_key =
|
||
bdp.bes_ins_discipline_key
|
||
AND bdp.bes_disc_params_noti_dagen IS NOT NULL
|
||
AND (b.bes_bestelling_datum IS NULL
|
||
OR fac.datumtijdplusuitvoertijd (
|
||
b.bes_bestelling_datum,
|
||
bdp.bes_disc_params_noti_dagen,
|
||
'DAGEN'
|
||
) < SYSDATE));
|
||
|
||
FOR rc
|
||
IN (SELECT boi.bes_bestelopdr_item_key, bo.bes_bestelopdr_key
|
||
FROM bes_bestelopdr_item boi,
|
||
bes_bestelopdr bo,
|
||
bes_bestelling_item bi,
|
||
bes_bestelling b,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_disc_params bdp
|
||
WHERE boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.bes_bestelopdr_status = 4 -- In bestelling
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = 1041 -- repro-bestellingen
|
||
AND sg.ins_discipline_key = bdp.bes_ins_discipline_key
|
||
AND bdp.bes_disc_params_noti_dagen IS NOT NULL
|
||
AND (b.bes_bestelling_datum IS NULL
|
||
OR fac.datumtijdplusuitvoertijd (
|
||
b.bes_bestelling_leverdatum,
|
||
bdp.bes_disc_params_noti_dagen,
|
||
'DAGEN'
|
||
) < SYSDATE))
|
||
LOOP
|
||
UPDATE bes_bestelopdr_item
|
||
SET bes_bestelopdr_item_aantalontv = bes_bestelopdr_item_aantal
|
||
WHERE bes_bestelopdr_item_key = rc.bes_bestelopdr_item_key;
|
||
|
||
bes.updatebestelopdrstatus (rc.bes_bestelopdr_key, NULL);
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
|
||
FOR rc
|
||
IN (SELECT bi.bes_bestelling_item_key, bi.bes_bestelling_key
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item bi,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_bestelopdr_item boi
|
||
WHERE b.bes_bestelling_status = 5 -- Besteld
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
--AND bi.bes_bestelling_item_aantal <>
|
||
-- NVL (bi.bes_bestelling_item_aantalontv, 0)
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = 1041 -- repro-bestellingen
|
||
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND boi.bes_bestelopdr_item_aantal =
|
||
boi.bes_bestelopdr_item_aantalontv)
|
||
LOOP
|
||
UPDATE bes_bestelling_item
|
||
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
|
||
WHERE bes_bestelling_item_key = rc.bes_bestelling_item_key;
|
||
|
||
bes.updatebestellingstatus (rc.bes_bestelling_key, NULL);
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
END;
|
||
/
|
||
|
||
-- HOUT#15762 - Werkplekstatistieken
|
||
/* Formatted on 6-8-2009 17:16:30 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_werkplek_geg
|
||
(
|
||
locatie_key,
|
||
locatie_code,
|
||
gebouw_key,
|
||
gebouw_code,
|
||
verdieping_code,
|
||
verdieping_oms,
|
||
ruimte_nr,
|
||
ruimte_functie,
|
||
werkplek_volgnr,
|
||
gebruiker
|
||
)
|
||
AS
|
||
SELECT a.alg_locatie_key,
|
||
a.alg_locatie_code,
|
||
a.alg_gebouw_key,
|
||
a.alg_gebouw_code,
|
||
a.alg_verdieping_code,
|
||
a.alg_verdieping_omschrijving,
|
||
a.alg_ruimte_nr,
|
||
a.alg_srtruimte_omschrijving,
|
||
a.prs_werkplek_volgnr,
|
||
DECODE (b.aantal,
|
||
NULL, NULL,
|
||
1, b.gebruiker,
|
||
'Meer dan 1 kostenplaats')
|
||
FROM (SELECT w.prs_werkplek_key,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_code,
|
||
g.alg_gebouw_key,
|
||
g.alg_gebouw_code,
|
||
v.alg_verdieping_code,
|
||
v.alg_verdieping_omschrijving,
|
||
r.alg_ruimte_nr,
|
||
sr.alg_srtruimte_key,
|
||
sr.alg_srtruimte_omschrijving,
|
||
w.prs_werkplek_volgnr
|
||
FROM prs_werkplek w,
|
||
alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
alg_srtruimte sr
|
||
WHERE w.prs_alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+)) a
|
||
LEFT JOIN
|
||
( SELECT pw.prs_werkplek_key,
|
||
MIN (a.prs_afdeling_omschrijving) gebruiker,
|
||
COUNT (DISTINCT a.prs_afdeling_key) aantal
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_perslid p,
|
||
prs_afdeling a
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY pw.prs_werkplek_key) b
|
||
ON a.prs_werkplek_key = b.prs_werkplek_key
|
||
WHERE a.alg_srtruimte_key IN (23, 25, 81);
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_wp_func_rui (fclt_f_gebouw_code,
|
||
fclt_f_verdieping_code,
|
||
fclt_f_ruimte_functie,
|
||
ruimte_nr,
|
||
aantal_bezet,
|
||
aantal_mogelijk
|
||
)
|
||
AS
|
||
SELECT v.gebouw_code, v.verdieping_code, v.ruimte_functie, v.ruimte_nr,
|
||
SUM (DECODE (v.gebruiker, NULL, 0, 1)), COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, v.verdieping_code, v.ruimte_functie, v.ruimte_nr
|
||
UNION ALL
|
||
SELECT v.gebouw_code, v.verdieping_code, v.ruimte_functie,
|
||
'zzzTotaal functie', SUM (DECODE (v.gebruiker, NULL, 0, 1)),
|
||
COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code,
|
||
v.verdieping_code,
|
||
v.ruimte_functie,
|
||
'zzzTotaal functie'
|
||
UNION ALL
|
||
SELECT v.gebouw_code, v.verdieping_code, 'zzzTotaal etage', 'zzzTotaal etage',
|
||
SUM (DECODE (v.gebruiker, NULL, 0, 1)), COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, v.verdieping_code, 'zzzTotaal etage', 'zzzTotaal etage'
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_wp_func_ver (fclt_f_gebouw_code,
|
||
fclt_f_ruimte_functie,
|
||
verdieping_code,
|
||
aantal_bezet,
|
||
aantal_mogelijk
|
||
)
|
||
AS
|
||
SELECT v.gebouw_code, v.ruimte_functie, v.verdieping_code,
|
||
SUM (DECODE (v.gebruiker, NULL, 0, 1)), COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, v.verdieping_code, v.ruimte_functie
|
||
UNION ALL
|
||
SELECT v.gebouw_code, v.ruimte_functie, '99999',
|
||
SUM (DECODE (v.gebruiker, NULL, 0, 1)), COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, v.ruimte_functie, '99999'
|
||
UNION ALL
|
||
SELECT v.gebouw_code, 'zzzTotaal gebouw', v.verdieping_code,
|
||
SUM (DECODE (v.gebruiker, NULL, 0, 1)), COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, 'zzzTotaal gebouw', v.verdieping_code
|
||
UNION ALL
|
||
SELECT v.gebouw_code, 'zzzTotaal gebouw', '99999',
|
||
SUM (DECODE (v.gebruiker, NULL, 0, 1)), COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, 'zzzTotaal gebouw', '99999'
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_wp_ver_gebr (fclt_f_gebouw_code,
|
||
fclt_f_verdieping_code,
|
||
fclt_f_kostenplaats,
|
||
aantal,
|
||
totaal
|
||
)
|
||
AS
|
||
SELECT a.gebouw_code, a.verdieping_code, a.gebruiker, a.aantal, b.totaal
|
||
FROM (SELECT v.gebouw_code, v.verdieping_code, v.gebruiker,
|
||
COUNT (*) aantal
|
||
FROM hout_v_werkplek_geg v
|
||
WHERE v.gebruiker IS NOT NULL
|
||
GROUP BY v.gebouw_code, v.verdieping_code, v.gebruiker) a
|
||
LEFT JOIN
|
||
(SELECT v.gebouw_code, v.verdieping_code, COUNT (*) totaal
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, v.verdieping_code) b
|
||
ON a.gebouw_code = b.gebouw_code
|
||
AND a.verdieping_code = b.verdieping_code
|
||
UNION ALL
|
||
SELECT v.gebouw_code, v.verdieping_code, 'zzzVrij',
|
||
SUM (DECODE (v.gebruiker, NULL, 1, 0)), COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, v.verdieping_code, 'zzzVrij'
|
||
UNION ALL
|
||
SELECT a.gebouw_code, '99999', a.gebruiker, a.aantal, b.totaal
|
||
FROM (SELECT v.gebouw_code, v.gebruiker, COUNT (*) aantal
|
||
FROM hout_v_werkplek_geg v
|
||
WHERE v.gebruiker IS NOT NULL
|
||
GROUP BY v.gebouw_code, v.gebruiker) a
|
||
LEFT JOIN
|
||
(SELECT v.gebouw_code, COUNT (*) totaal
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code) b ON a.gebouw_code = b.gebouw_code
|
||
UNION ALL
|
||
SELECT v.gebouw_code, '99999', 'zzzVrij',
|
||
SUM (DECODE (v.gebruiker, NULL, 1, 0)), COUNT (*)
|
||
FROM hout_v_werkplek_geg v
|
||
GROUP BY v.gebouw_code, '99999', 'zzzVrij'
|
||
/
|
||
|
||
/* HOUT#15981 - UNCO aanvragen! */
|
||
/* Formatted on 7-8-2009 11:20:08 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE FUNCTION hout_mld_flexcontent (p_mldkey IN NUMBER)
|
||
RETURN VARCHAR2
|
||
IS
|
||
CURSOR c1
|
||
IS
|
||
SELECT k.mld_kenmerk_key,
|
||
COALESCE (k.mld_kenmerk_volgnummer, 0) volgnummer,
|
||
sk.mld_srtkenmerk_kenmerktype,
|
||
sk.mld_srtkenmerk_omschrijving,
|
||
sk.mld_srtkenmerk_upper,
|
||
rsk.fac_kenmerkdomein_objectnaam,
|
||
rsk.fac_kenmerkdomein_kolomnaam,
|
||
rsk.fac_kenmerkdomein_kolomtxt,
|
||
rsk.fac_usrtab_key,
|
||
k.mld_kenmerk_default
|
||
FROM mld_melding m,
|
||
mld_stdmelding std,
|
||
mld_kenmerk k,
|
||
mld_srtkenmerk sk,
|
||
fac_kenmerkdomein rsk
|
||
WHERE m.mld_melding_key = p_mldkey
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND ( (std.mld_ins_discipline_key = k.mld_stdmelding_key
|
||
AND k.mld_kenmerk_niveau = 'D')
|
||
OR (m.mld_stdmelding_key = k.mld_stdmelding_key
|
||
AND k.mld_kenmerk_niveau = 'S'))
|
||
AND k.mld_kenmerk_verwijder IS NULL
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_kenmerktype <> 'L' -- label!
|
||
AND sk.mld_srtkenmerk_kenmerktype <> 'Q' -- blanco!
|
||
AND sk.mld_srtkenmerk_verwijder IS NULL
|
||
AND sk.fac_kenmerkdomein_key = rsk.fac_kenmerkdomein_key(+)
|
||
ORDER BY COALESCE (k.mld_kenmerk_volgnummer, 0);
|
||
|
||
v_flexcontent VARCHAR2 (4000);
|
||
v_kenmerk_waarde VARCHAR2 (1000);
|
||
v_ref_kenmerk_waarde VARCHAR2 (1000);
|
||
sql_stmt VARCHAR2 (1000);
|
||
v_count NUMBER (3);
|
||
BEGIN
|
||
v_flexcontent := '';
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
SELECT COUNT (km.mld_kenmerkmelding_key)
|
||
INTO v_count
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_melding_key = p_mldkey
|
||
AND km.mld_kenmerk_key = rec.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL;
|
||
|
||
IF (v_count = 1)
|
||
THEN
|
||
SELECT km.mld_kenmerkmelding_waarde
|
||
INTO v_kenmerk_waarde
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_melding_key = p_mldkey
|
||
AND km.mld_kenmerk_key = rec.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL;
|
||
|
||
IF (rec.mld_srtkenmerk_kenmerktype = 'R')
|
||
THEN
|
||
sql_stmt :=
|
||
'SELECT MIN('
|
||
|| rec.fac_kenmerkdomein_kolomtxt
|
||
|| ')'
|
||
|| ' FROM '
|
||
|| rec.fac_kenmerkdomein_objectnaam
|
||
|| ' WHERE '
|
||
|| rec.fac_kenmerkdomein_kolomnaam
|
||
|| ' = '
|
||
|| v_kenmerk_waarde;
|
||
|
||
EXECUTE IMMEDIATE sql_stmt INTO v_ref_kenmerk_waarde;
|
||
|
||
v_flexcontent :=
|
||
SUBSTR (
|
||
v_flexcontent
|
||
|| rec.mld_srtkenmerk_omschrijving
|
||
|| ': '
|
||
|| v_ref_kenmerk_waarde
|
||
|| CHR (13)
|
||
|| CHR (10),
|
||
1,
|
||
4000
|
||
);
|
||
ELSE
|
||
v_flexcontent :=
|
||
SUBSTR (
|
||
v_flexcontent
|
||
|| rec.mld_srtkenmerk_omschrijving
|
||
|| ': '
|
||
|| v_kenmerk_waarde
|
||
|| CHR (13)
|
||
|| CHR (10),
|
||
1,
|
||
4000
|
||
);
|
||
END IF;
|
||
ELSE -- geen kenmerkwaarde, dus optioneel veld
|
||
v_flexcontent :=
|
||
SUBSTR (
|
||
v_flexcontent
|
||
|| rec.mld_srtkenmerk_omschrijving
|
||
|| ': <leeg>'
|
||
|| CHR (13)
|
||
|| CHR (10),
|
||
1,
|
||
4000
|
||
);
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
RETURN v_flexcontent;
|
||
END;
|
||
/
|
||
|
||
-- lijst van repromeldingen, met hun bijbehorende bestelling, if any
|
||
/* Formatted on 9-6-2010 17:52:05 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_rap_repro_bes_match
|
||
(
|
||
fclt_f_meld_maand,
|
||
fclt_f_vakgroeptype,
|
||
melding,
|
||
meld_datum,
|
||
bestelling,
|
||
bestel_datum
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (m.mld_melding_datum, 'yyyy-mm') meldmaand,
|
||
sd.ins_srtdiscipline_omschrijving vakgroeptype,
|
||
TO_CHAR (m.mld_melding_key) melding,
|
||
TO_CHAR (m.mld_melding_datum, 'dd-mm-yyyy') melddatum,
|
||
TO_CHAR (b.bes_bestelling_key) bestelling,
|
||
TO_CHAR (b.bes_bestelling_datum, 'dd-mm-yyyy') besteldatum
|
||
FROM mld_melding m,
|
||
mld_stdmelding std,
|
||
bes_bestelling b,
|
||
mld_discipline d,
|
||
ins_srtdiscipline sd
|
||
WHERE m.mld_melding_key = b.mld_melding_key(+)
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key IN (21, 41);
|
||
|
||
-- telling van repromeldingen en bestellingen per maand
|
||
/* Formatted on 9-6-2010 17:52:25 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_rap_repro_bes_count
|
||
(
|
||
fclt_f_meld_maand,
|
||
fclt_f_vakgroeptype,
|
||
meldingen,
|
||
bestellingen
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (mld_melding_datum, 'yyyy-mm') meldmaand,
|
||
ins_srtdiscipline_omschrijving vakgroeptype,
|
||
COUNT (mld_melding_key) meldingen,
|
||
COUNT (bes_bestelling_key) bestellingen
|
||
FROM (SELECT m.mld_melding_datum,
|
||
sd.ins_srtdiscipline_omschrijving,
|
||
m.mld_melding_key,
|
||
b.bes_bestelling_key
|
||
FROM mld_melding m,
|
||
mld_stdmelding std,
|
||
bes_bestelling b,
|
||
mld_discipline d,
|
||
ins_srtdiscipline sd
|
||
WHERE m.mld_melding_key = b.mld_melding_key(+)
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key IN (21, 41))
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'yyyy-mm'),
|
||
ins_srtdiscipline_omschrijving;
|
||
|
||
/* Formatted on 16-6-2011 10:08:24 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_thema_ruimte_afd
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT w.prs_alg_ruimte_key, MIN (a.prs_afdeling_omschrijving)
|
||
FROM prs_perslidwerkplek pw,
|
||
(SELECT p.prs_perslid_key,
|
||
DECODE (p.prs_afdeling_key,
|
||
b.prs_afdeling_key3, b.prs_afdeling_key2,
|
||
b.prs_afdeling_key4, b.prs_afdeling_key2,
|
||
b.prs_afdeling_key5, b.prs_afdeling_key2,
|
||
p.prs_afdeling_key)
|
||
prs_afdeling_key
|
||
FROM prs_perslid p, prs_v_afdeling_boom b
|
||
WHERE p.prs_afdeling_key = b.prs_afdeling_key) pa,
|
||
prs_afdeling a,
|
||
prs_werkplek w
|
||
WHERE pw.prs_perslid_key = pa.prs_perslid_key
|
||
AND pa.prs_afdeling_key = a.prs_afdeling_key
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
GROUP BY w.prs_alg_ruimte_key;
|
||
|
||
/* Formatted on 16-6-2011 10:08:24 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_label_ruimte_afd
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
w.prs_alg_ruimte_key, SUBSTR (a.prs_afdeling_omschrijving, 1, 60)
|
||
FROM prs_perslidwerkplek pw,
|
||
(SELECT p.prs_perslid_key,
|
||
DECODE (p.prs_afdeling_key,
|
||
b.prs_afdeling_key3, b.prs_afdeling_key2,
|
||
b.prs_afdeling_key4, b.prs_afdeling_key2,
|
||
b.prs_afdeling_key5, b.prs_afdeling_key2,
|
||
p.prs_afdeling_key)
|
||
prs_afdeling_key
|
||
FROM prs_perslid p, prs_v_afdeling_boom b
|
||
WHERE p.prs_afdeling_key = b.prs_afdeling_key) pa,
|
||
prs_afdeling a,
|
||
prs_werkplek w
|
||
WHERE pw.prs_perslid_key = pa.prs_perslid_key
|
||
AND pa.prs_afdeling_key = a.prs_afdeling_key
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key;
|
||
|
||
|
||
/* Formatted on 16-6-2011 10:25:55 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_prj_thema_ruimte_afd
|
||
(
|
||
prj_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT w.prj_ruimte_key, MIN (a.prs_afdeling_omschrijving)
|
||
FROM prj_perslidwerkplek pw,
|
||
(SELECT p.prs_perslid_key,
|
||
DECODE (p.prs_afdeling_key,
|
||
b.prs_afdeling_key3, b.prs_afdeling_key2,
|
||
b.prs_afdeling_key4, b.prs_afdeling_key2,
|
||
b.prs_afdeling_key5, b.prs_afdeling_key2,
|
||
p.prs_afdeling_key)
|
||
prs_afdeling_key
|
||
FROM prs_perslid p, prs_v_afdeling_boom b
|
||
WHERE p.prs_afdeling_key = b.prs_afdeling_key) pa,
|
||
prs_afdeling a,
|
||
prj_werkplek w
|
||
WHERE pw.prs_perslid_key = pa.prs_perslid_key
|
||
AND pw.prj_perslidwerkplek_verwijder IS NULL
|
||
AND pa.prs_afdeling_key = a.prs_afdeling_key
|
||
AND pw.prj_werkplek_key = w.prj_werkplek_key
|
||
AND w.prj_werkplek_verwijder IS NULL
|
||
GROUP BY w.prj_ruimte_key;
|
||
|
||
/* Formatted on 16-6-2011 10:25:55 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_prj_label_ruimte_afd
|
||
(
|
||
prj_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
w.prj_ruimte_key, SUBSTR (a.prs_afdeling_omschrijving, 1, 60)
|
||
FROM prj_perslidwerkplek pw,
|
||
(SELECT p.prs_perslid_key,
|
||
DECODE (p.prs_afdeling_key,
|
||
b.prs_afdeling_key3, b.prs_afdeling_key2,
|
||
b.prs_afdeling_key4, b.prs_afdeling_key2,
|
||
b.prs_afdeling_key5, b.prs_afdeling_key2,
|
||
p.prs_afdeling_key)
|
||
prs_afdeling_key
|
||
FROM prs_perslid p, prs_v_afdeling_boom b
|
||
WHERE p.prs_afdeling_key = b.prs_afdeling_key) pa,
|
||
prs_afdeling a,
|
||
prj_werkplek w
|
||
WHERE pw.prs_perslid_key = pa.prs_perslid_key
|
||
AND pw.prj_perslidwerkplek_verwijder IS NULL
|
||
AND pa.prs_afdeling_key = a.prs_afdeling_key
|
||
AND pw.prj_werkplek_key = w.prj_werkplek_key
|
||
AND w.prj_werkplek_verwijder IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_label_bewoner_voornaam
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
WAARDE
|
||
)
|
||
AS
|
||
SELECT prs_w.prs_alg_ruimte_key,
|
||
prs_p.prs_perslid_naam
|
||
|| DECODE (prs_p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || prs_p.prs_perslid_voornaam || ')')
|
||
FROM prs_werkplek prs_w,
|
||
prs_perslidwerkplek prs_pw,
|
||
prs_perslid prs_p
|
||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||
AND prs_w.prs_werkplek_virtueel = 0
|
||
UNION
|
||
SELECT prs_w.prs_alg_ruimte_key, '[Vrij]'
|
||
FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb
|
||
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
|
||
AND prs_w.prs_werkplek_virtueel = 0
|
||
AND prs_wb.prs_werkplek_bezetting < 100
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW hout_v_label_bewoner_voorl
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
WAARDE
|
||
)
|
||
AS
|
||
SELECT prs_w.prs_alg_ruimte_key,
|
||
prs_p.prs_perslid_naam
|
||
|| DECODE (prs_p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || prs_p.prs_perslid_voorletters)
|
||
FROM prs_werkplek prs_w,
|
||
prs_perslidwerkplek prs_pw,
|
||
prs_perslid prs_p
|
||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||
AND prs_w.prs_werkplek_virtueel = 0
|
||
UNION
|
||
SELECT prs_w.prs_alg_ruimte_key, '[Vrij]'
|
||
FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb
|
||
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
|
||
AND prs_w.prs_werkplek_virtueel = 0
|
||
AND prs_wb.prs_werkplek_bezetting < 100
|
||
/
|
||
|
||
/* Formatted on 16-8-2010 14:11:01 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW HOUT_V_LABEL_BEWONERWP
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
WAARDE
|
||
)
|
||
AS
|
||
SELECT DISTINCT prs_alg_ruimte_key, waarde
|
||
FROM (SELECT prs_w.prs_alg_ruimte_key,
|
||
prs_p.prs_perslid_naam
|
||
|| DECODE (prs_p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || prs_p.prs_perslid_voorletters)
|
||
|| ' '
|
||
|| DECODE (prs_w.prs_werkplek_omschrijving,
|
||
NULL, '',
|
||
' (' || prs_w.prs_werkplek_omschrijving || ')')
|
||
waarde
|
||
FROM prs_werkplek prs_w,
|
||
prs_perslidwerkplek prs_pw,
|
||
prs_perslid prs_p
|
||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||
UNION
|
||
SELECT prs_w.prs_alg_ruimte_key,
|
||
' Vrij '
|
||
|| DECODE (prs_w.prs_werkplek_omschrijving,
|
||
NULL, '',
|
||
'(' || prs_w.prs_werkplek_omschrijving || ')')
|
||
FROM prs_werkplek prs_w,
|
||
prs_perslidwerkplek prs_wb
|
||
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key(+)
|
||
GROUP BY prs_w.prs_alg_ruimte_key,
|
||
prs_w.prs_werkplek_key,
|
||
prs_w.prs_werkplek_omschrijving
|
||
HAVING SUM (NVL (prs_wb.prs_perslidwerkplek_bezetting, 0)) <
|
||
100);
|
||
/
|
||
|
||
/* Formatted on 16-8-2010 14:09:45 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW HOUT_V_PRJ_LABEL_BEWONERWP
|
||
(
|
||
PRJ_RUIMTE_KEY,
|
||
WAARDE,
|
||
HIGHLIGHT
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
prj_ruimte_key, waarde, DECODE (prj_selectie_key, NULL, 0, 1)
|
||
FROM (SELECT prj_r.prj_scenario_key,
|
||
prs_w.prj_ruimte_key,
|
||
prs_p.prs_perslid_naam
|
||
|| DECODE (prs_p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || prs_p.prs_perslid_voorletters)
|
||
|| ' '
|
||
|| DECODE (prs_w.prj_werkplek_omschrijving,
|
||
NULL, '',
|
||
'(' || prs_w.prj_werkplek_omschrijving || ')')
|
||
waarde,
|
||
'PRJ_WERKPLEK' label_soort,
|
||
prs_pw.prj_werkplek_key label_key
|
||
FROM PRJ_RUIMTE prj_r,
|
||
PRJ_WERKPLEK prs_w,
|
||
(SELECT *
|
||
FROM PRJ_PERSLIDWERKPLEK
|
||
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw,
|
||
PRS_PERSLID prs_p
|
||
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
|
||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
|
||
UNION
|
||
SELECT -1,
|
||
prs_w.prj_ruimte_key,
|
||
' Vrij: '
|
||
|| DECODE (prs_w.prj_werkplek_omschrijving,
|
||
NULL, '',
|
||
'(' || prs_w.prj_werkplek_omschrijving || ')'),
|
||
'PRJ_WERKPLEK',
|
||
prs_w.prj_werkplek_key
|
||
FROM PRJ_WERKPLEK prs_w,
|
||
(SELECT *
|
||
FROM PRJ_PERSLIDWERKPLEK
|
||
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_wb
|
||
WHERE prs_w.prj_werkplek_key = prs_wb.prj_werkplek_key(+)
|
||
AND prj_werkplek_verwijder IS NULL
|
||
GROUP BY prs_w.prj_ruimte_key,
|
||
prs_w.prj_werkplek_key,
|
||
prs_w.prj_werkplek_omschrijving
|
||
HAVING SUM (NVL (prs_wb.prj_perslidwerkplek_bezetting, 0)) <
|
||
100) DATA,
|
||
PRJ_SELECTIE ps
|
||
WHERE ps.prj_scenario_key(+) = DATA.prj_scenario_key
|
||
AND ps.prj_selectie_tabelnaam(+) = label_soort
|
||
AND ps.prj_selectie_tabelkey(+) = label_key;
|
||
/
|
||
|
||
/* Formatted on 26-1-2017 9:35:25 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW HOUT_V_RAP_MLD_AFHANDELING_ICT
|
||
(
|
||
FCLT_H_MLD_KEY,
|
||
VAKGROEPTYPE_KEY,
|
||
VAKGROEPTYPE,
|
||
AANMAAK,
|
||
NUMMER,
|
||
VAKGROEP_MELDING,
|
||
FCLT_F_STATUS,
|
||
FCLT_F_ACCEPT_USER,
|
||
FCLT_F_UPDATE_USER,
|
||
FCLT_F_AFMELD_USER,
|
||
PLAATS_OMSCHRIJVING,
|
||
MELDER,
|
||
EMAIL,
|
||
EINDDATUM
|
||
)
|
||
AS
|
||
SELECT meld.mld_key,
|
||
vakgroeptype_key,
|
||
vakgroeptype,
|
||
mldnew.fac_tracking_datum,
|
||
meld.vakgroeptype_prefix || TO_CHAR (meld.mld_key),
|
||
meld.vakgroep_oms || CHR (10) || CHR (13) || meld.stdmld_oms,
|
||
meld.mld_statuses_omschrijving,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames
|
||
WHERE prs_perslid_key = COALESCE (mldacp.prs_perslid_key, mldrej.prs_perslid_key)),
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames
|
||
WHERE prs_perslid_key = mldbeh.prs_perslid_key),
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames
|
||
WHERE prs_perslid_key = mldafm.prs_perslid_key),
|
||
meld.plaatsaanduiding || CHR (10) || CHR (13)
|
||
|| CASE
|
||
WHEN LENGTH (meld.mld_oms) < 1000
|
||
THEN
|
||
meld.mld_oms
|
||
ELSE
|
||
SUBSTR (meld.mld_oms, 1, 1000) || '...'
|
||
END,
|
||
meld.prs_perslid_naam_full,
|
||
(SELECT prs_perslid_email
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = meld.prs_perslid_key),
|
||
TO_CHAR (meld.einddatum, 'dd-mm-yyyy')
|
||
FROM (SELECT m.mld_melding_key mld_key,
|
||
sd.ins_srtdiscipline_key vakgroeptype_key,
|
||
sd.ins_srtdiscipline_omschrijving vakgroeptype,
|
||
sd.ins_srtdiscipline_prefix vakgroeptype_prefix,
|
||
td.ins_discipline_key vakgroep_key,
|
||
td.ins_discipline_omschrijving vakgroep_oms,
|
||
sm.mld_stdmelding_key stdmld_key,
|
||
sm.mld_stdmelding_omschrijving stdmld_oms,
|
||
m.mld_melding_datum begindatum,
|
||
m.mld_melding_einddatum einddatum,
|
||
m.mld_melding_omschrijving mld_oms,
|
||
m.mld_melding_opmerking mld_opm,
|
||
s.mld_statuses_omschrijving,
|
||
COALESCE (pa.alg_plaatsaanduiding, l.alg_locatie_code) plaatsaanduiding,
|
||
m.prs_perslid_key,
|
||
p.prs_perslid_naam_full
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
mld_statuses s,
|
||
alg_v_plaatsaanduiding pa,
|
||
alg_locatie l,
|
||
prs_v_perslid_fullnames p
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.mld_melding_status = s.mld_statuses_key
|
||
AND m.mld_alg_onroerendgoed_keys = pa.alg_onroerendgoed_keys(+)
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND m.prs_perslid_key = p.prs_perslid_key) meld
|
||
LEFT JOIN fac_tracking mldnew
|
||
ON meld.mld_key = mldnew.fac_tracking_refkey
|
||
AND mldnew.fac_srtnotificatie_key = 21
|
||
LEFT JOIN (SELECT t.fac_tracking_refkey, t.fac_tracking_datum, t.prs_perslid_key
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key = 17
|
||
AND t.fac_tracking_key IN
|
||
(SELECT MAX (fac_tracking_key)
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 17
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey))
|
||
mldacp
|
||
ON meld.mld_key = mldacp.fac_tracking_refkey
|
||
LEFT JOIN fac_tracking mldrej
|
||
ON meld.mld_key = mldrej.fac_tracking_refkey
|
||
AND mldrej.fac_srtnotificatie_key = 22
|
||
LEFT JOIN (SELECT t.fac_tracking_refkey, t.fac_tracking_datum, t.prs_perslid_key
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key = 144
|
||
AND t.fac_tracking_key IN
|
||
(SELECT MAX (fac_tracking_key)
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 144
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey))
|
||
mldbeh
|
||
ON meld.mld_key = mldbeh.fac_tracking_refkey
|
||
LEFT JOIN fac_tracking mldafm
|
||
ON meld.mld_key = mldafm.fac_tracking_refkey
|
||
AND mldafm.fac_srtnotificatie_key = 18
|
||
WHERE mldafm.fac_tracking_datum IS NULL
|
||
OR mldafm.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY');
|
||
|
||
-- Rapportage voor FZ+Repro RTD+Repro ASD (keys 1, 21 en 41).
|
||
CREATE OR REPLACE VIEW HOUT_V_RAP_MLD_AFHANDELING_FAC
|
||
(
|
||
FCLT_H_MLD_KEY,
|
||
VAKGROEPTYPE_KEY,
|
||
VAKGROEPTYPE,
|
||
AANMAAK,
|
||
NUMMER,
|
||
VAKGROEP_MELDING,
|
||
FCLT_F_STATUS,
|
||
FCLT_F_ACCEPT_USER,
|
||
FCLT_F_UPDATE_USER,
|
||
FCLT_F_AFMELD_USER,
|
||
PLAATS_OMSCHRIJVING,
|
||
MELDER,
|
||
EMAIL,
|
||
EINDDATUM
|
||
)
|
||
AS
|
||
SELECT *
|
||
FROM HOUT_V_RAP_MLD_AFHANDELING_ICT
|
||
WHERE vakgroeptype_key IN (1, 21, 41);
|
||
|
||
-- HOUT#27850: Urenregistratie tbv. Facilities (HOUT#23679) naar PSC omgebouwd!
|
||
/* Formatted on 24-10-2013 14:08:22 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_rap_urenreg_psc
|
||
(
|
||
fclt_x_vakgroep,
|
||
fclt_f_melding,
|
||
fclt_f_opdrachttype,
|
||
fclt_f_projectnummer,
|
||
fclt_x_opdrachtnr,
|
||
html_opdrachtnr,
|
||
omschrijving,
|
||
dag,
|
||
fclt_d_datum,
|
||
fclt_f_medewerker,
|
||
--fclt_f_type_personeel,
|
||
uren,
|
||
uurtarief,
|
||
kmtarief,
|
||
kmperwk
|
||
)
|
||
AS
|
||
SELECT opdr.ins_discipline_omschrijving vakgroep,
|
||
opdr.mld_stdmelding_omschrijving melding,
|
||
opdr.mld_typeopdr_omschrijving opdrachttype,
|
||
TO_CHAR (opdr.mld_melding_key) projectnummer,
|
||
opdr.mld_melding_key || '/' || opdr.mld_opdr_bedrijfopdr_volgnr
|
||
opdrachtnr,
|
||
DECODE (
|
||
opdr.mld_opdr_key,
|
||
NULL,
|
||
NULL,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("appl/mld/mld_opdr.asp?urole=bo&'
|
||
|| 'opdr_key='
|
||
|| opdr.mld_opdr_key
|
||
|| '")''>'
|
||
|| opdr.mld_melding_key
|
||
|| '/'
|
||
|| opdr.mld_opdr_bedrijfopdr_volgnr
|
||
|| '</a>'
|
||
)
|
||
html_opdrachtnr,
|
||
opdr.mld_opdr_omschrijving opdr_oms,
|
||
DECODE (TO_CHAR (ou.mld_opdr_uren_datum, 'D'),
|
||
2, 'Ma',
|
||
3, 'Di',
|
||
4, 'Wo',
|
||
5, 'Do',
|
||
6, 'Vr',
|
||
7, 'Za',
|
||
'Zo')
|
||
dag,
|
||
TO_CHAR (ou.mld_opdr_uren_datum, 'dd-mm-yyyy') datum,
|
||
opdr.prs_perslid_naam_full
|
||
|| DECODE (b.prs_perslid_key,
|
||
NULL, '',
|
||
' (' || b.prs_bedrijf_naam || ')')
|
||
medewerker,
|
||
--kl.fac_usrdata_omschr type_pers,
|
||
ou.mld_opdr_uren_besteed,
|
||
k1.uurtarief,
|
||
k2.kmtarief,
|
||
k3.kmperwk
|
||
FROM (SELECT o.mld_melding_key,
|
||
o.mld_opdr_key,
|
||
o.mld_opdr_bedrijfopdr_volgnr,
|
||
sm.mld_stdmelding_omschrijving,
|
||
md.ins_discipline_omschrijving,
|
||
ot.mld_typeopdr_omschrijving,
|
||
o.mld_opdr_omschrijving,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM mld_opdr o,
|
||
mld_typeopdr ot,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE o.mld_statusopdr_key != 1 -- Afgewezen
|
||
AND o.mld_typeopdr_key =
|
||
ot.mld_typeopdr_key
|
||
AND ot.mld_typeopdr_matchtype = 3 -- Wekelijks geregistreerde uren
|
||
AND o.mld_melding_key =
|
||
m.mld_melding_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key =
|
||
md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 181 -- PSC urenregistratie
|
||
AND o.mld_uitvoerende_keys =
|
||
pf.prs_perslid_key) opdr
|
||
LEFT JOIN
|
||
(SELECT cp.prs_perslid_key,
|
||
b.prs_bedrijf_naam
|
||
FROM prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE cp.prs_bedrijf_key =
|
||
b.prs_bedrijf_key) b
|
||
ON opdr.prs_perslid_key = b.prs_perslid_key
|
||
LEFT JOIN
|
||
mld_opdr_uren ou
|
||
ON opdr.mld_opdr_key = ou.mld_opdr_key
|
||
LEFT JOIN -- Weg???
|
||
(SELECT kl.prs_link_key, ud.fac_usrdata_omschr
|
||
FROM prs_kenmerklink kl, fac_usrdata ud
|
||
WHERE kl.prs_kenmerk_key = 1020 -- Type personeel
|
||
AND fac.safe_to_number (
|
||
kl.prs_kenmerklink_waarde
|
||
) = ud.fac_usrdata_key
|
||
AND ud.fac_usrtab_key = 581) k0 -- Type personeel
|
||
ON opdr.prs_perslid_key = k0.prs_link_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key,
|
||
ko.mld_kenmerkopdr_waarde uurtarief
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1161 -- Uurtarief
|
||
AND k.mld_kenmerk_niveau = 'O') k1 -- Uurtarief
|
||
ON opdr.mld_opdr_key = k1.mld_opdr_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key,
|
||
ko.mld_kenmerkopdr_waarde kmtarief
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1181 -- Km-tarief
|
||
AND k.mld_kenmerk_niveau = 'O') k2 -- Km-tarief
|
||
ON opdr.mld_opdr_key = k2.mld_opdr_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde kmperwk
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1182 -- Km per wk
|
||
AND k.mld_kenmerk_niveau = 'O') k3 -- Km per wk
|
||
ON opdr.mld_opdr_key = k3.mld_opdr_key
|
||
WHERE ou.mld_opdr_uren_besteed IS NOT NULL;
|
||
|
||
/* Formatted on 2-1-2014 14:22:55 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_rap_wk_uren_psc
|
||
(
|
||
hide_f_bv,
|
||
wknr,
|
||
maandag,
|
||
fclt_d_zondag,
|
||
begindatum,
|
||
einddatum,
|
||
uren_vast,
|
||
loon_vast,
|
||
uurtarief,
|
||
kmtarief,
|
||
kmperwk,
|
||
fclt_f_opdrachttype,
|
||
fclt_f_projectnummer,
|
||
opdr_oms,
|
||
fclt_f_locatie,
|
||
fclt_f_medewerker,
|
||
--mdw_type,
|
||
uren_besteed,
|
||
loon_besteed,
|
||
ma_uren,
|
||
di_uren,
|
||
wo_uren,
|
||
do_uren,
|
||
vr_uren,
|
||
za_uren,
|
||
zo_uren
|
||
)
|
||
AS
|
||
SELECT 'B' bv, -- Besteed
|
||
TO_CHAR (wk.dag, 'IYYY-IW') wknr,
|
||
TO_CHAR (TRUNC (wk.dag, 'IW'), 'dd-mm-yyyy') maandag,
|
||
TO_CHAR (TRUNC (wk.dag, 'IW') + 6, 'dd-mm-yyyy') fclt_d_zondag, -- Ref.datum bij van/tot-selectie!
|
||
ou.mld_opdr_datumbegin,
|
||
ou.mld_opdr_einddatum,
|
||
NULL uren_vast, --ou.uren_vast,
|
||
NULL loon_vast,
|
||
--NULL uurtarief, --k1.uurtarief,
|
||
--NULL kmtarief, --k2.kmtarief,
|
||
--NULL kmperwk, --k3.kmperwk,
|
||
COALESCE (k1.uurtarief, '0') uurtarief,
|
||
COALESCE (k2.kmtarief, '0') kmtarief,
|
||
COALESCE (k3.kmperwk, '0') kmperwk,
|
||
ou.mld_typeopdr_omschrijving opdrachttype,
|
||
TO_CHAR (ou.mld_melding_key) projectnummer,
|
||
ou.mld_opdr_omschrijving opdr_oms,
|
||
ou.alg_locatie_omschrijving locatie,
|
||
--opdr.ins_discipline_omschrijving vakgroep,
|
||
--opdr.mld_stdmelding_omschrijving melding,
|
||
--opdr.mld_melding_key || '/' || opdr.mld_opdr_bedrijfopdr_volgnr
|
||
-- opdrachtnr,
|
||
--ou.prs_perslid_naam_full mdw_naam,
|
||
ou.prs_perslid_naam_full
|
||
|| DECODE (b.prs_perslid_key,
|
||
NULL, '',
|
||
' (' || b.prs_bedrijf_naam || ')')
|
||
medewerker,
|
||
--NULL mdw_type,
|
||
COALESCE (ou.ma, 0)
|
||
+ COALESCE (ou.di, 0)
|
||
+ COALESCE (ou.wo, 0)
|
||
+ COALESCE (ou.do, 0)
|
||
+ COALESCE (ou.vr, 0)
|
||
+ COALESCE (ou.za, 0)
|
||
+ COALESCE (ou.zo, 0)
|
||
uren_besteed,
|
||
( COALESCE (ou.ma, 0)
|
||
+ COALESCE (ou.di, 0)
|
||
+ COALESCE (ou.wo, 0)
|
||
+ COALESCE (ou.do, 0)
|
||
+ COALESCE (ou.vr, 0)
|
||
+ COALESCE (ou.za, 0)
|
||
+ COALESCE (ou.zo, 0))
|
||
* COALESCE (fac.safe_to_number (k1.uurtarief), 0)
|
||
loon_besteed,
|
||
COALESCE (ou.ma, 0),
|
||
COALESCE (ou.di, 0),
|
||
COALESCE (ou.wo, 0),
|
||
COALESCE (ou.do, 0),
|
||
COALESCE (ou.vr, 0),
|
||
COALESCE (ou.za, 0),
|
||
COALESCE (ou.zo, 0)
|
||
FROM ( SELECT TRUNC (ADD_MONTHS (SYSDATE, -12),
|
||
'YYYY')
|
||
+ (ROWNUM * 7)
|
||
dag
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <=
|
||
(CEIL( (SYSDATE
|
||
- TRUNC (
|
||
ADD_MONTHS (SYSDATE,
|
||
-12),
|
||
'YYYY'
|
||
))
|
||
/ 7)
|
||
+ 2)) wk
|
||
LEFT JOIN -- Tbv. te berekenen bestede uren per dag!
|
||
(SELECT ou.wk,
|
||
o.mld_melding_key,
|
||
o.mld_opdr_key,
|
||
o.mld_opdr_bedrijfopdr_volgnr,
|
||
o.mld_opdr_datumbegin,
|
||
o.mld_opdr_einddatum,
|
||
o.mld_opdr_uren uren_vast,
|
||
ot.mld_typeopdr_omschrijving,
|
||
DECODE (sm.mld_ins_discipline_key,
|
||
1841, -- Afwezigheidsregistratie
|
||
'*Verlof/ziek',
|
||
o.mld_opdr_omschrijving)
|
||
mld_opdr_omschrijving,
|
||
--sm.mld_stdmelding_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
DECODE (sm.mld_ins_discipline_key,
|
||
1841, -- Afwezigheidsregistratie
|
||
-1 * ou.ma, -- -!
|
||
ou.ma) -- +!
|
||
ma,
|
||
DECODE (sm.mld_ins_discipline_key,
|
||
1841, -- Afwezigheidsregistratie
|
||
-1 * ou.di, -- -!
|
||
ou.di) -- +!
|
||
di,
|
||
DECODE (sm.mld_ins_discipline_key,
|
||
1841, -- Afwezigheidsregistratie
|
||
-1 * ou.wo, -- -!
|
||
ou.wo) -- +!
|
||
wo,
|
||
DECODE (sm.mld_ins_discipline_key,
|
||
1841, -- Afwezigheidsregistratie
|
||
-1 * ou.do, -- -!
|
||
ou.do) -- +!
|
||
do,
|
||
DECODE (sm.mld_ins_discipline_key,
|
||
1841, -- Afwezigheidsregistratie
|
||
-1 * ou.vr, -- -!
|
||
ou.vr) -- +!
|
||
vr,
|
||
DECODE (sm.mld_ins_discipline_key,
|
||
1841, -- Afwezigheidsregistratie
|
||
-1 * ou.za, -- -!
|
||
ou.za) -- +!
|
||
za,
|
||
DECODE (sm.mld_ins_discipline_key,
|
||
1841, -- Afwezigheidsregistratie
|
||
-1 * ou.zo, -- -!
|
||
ou.zo) -- +!
|
||
zo
|
||
FROM ( SELECT TO_CHAR (mld_opdr_uren_datum,
|
||
'IYYY-IW')
|
||
wk,
|
||
mld_opdr_key,
|
||
SUM(DECODE (
|
||
TO_CHAR (
|
||
mld_opdr_uren_datum,
|
||
'D'
|
||
),
|
||
2,
|
||
mld_opdr_uren_besteed,
|
||
0
|
||
))
|
||
ma,
|
||
SUM(DECODE (
|
||
TO_CHAR (
|
||
mld_opdr_uren_datum,
|
||
'D'
|
||
),
|
||
3,
|
||
mld_opdr_uren_besteed,
|
||
0
|
||
))
|
||
di,
|
||
SUM(DECODE (
|
||
TO_CHAR (
|
||
mld_opdr_uren_datum,
|
||
'D'
|
||
),
|
||
4,
|
||
mld_opdr_uren_besteed,
|
||
0
|
||
))
|
||
wo,
|
||
SUM(DECODE (
|
||
TO_CHAR (
|
||
mld_opdr_uren_datum,
|
||
'D'
|
||
),
|
||
5,
|
||
mld_opdr_uren_besteed,
|
||
0
|
||
))
|
||
do,
|
||
SUM(DECODE (
|
||
TO_CHAR (
|
||
mld_opdr_uren_datum,
|
||
'D'
|
||
),
|
||
6,
|
||
mld_opdr_uren_besteed,
|
||
0
|
||
))
|
||
vr,
|
||
SUM(DECODE (
|
||
TO_CHAR (
|
||
mld_opdr_uren_datum,
|
||
'D'
|
||
),
|
||
7,
|
||
mld_opdr_uren_besteed,
|
||
0
|
||
))
|
||
za,
|
||
SUM(DECODE (
|
||
TO_CHAR (
|
||
mld_opdr_uren_datum,
|
||
'D'
|
||
),
|
||
1,
|
||
mld_opdr_uren_besteed,
|
||
0
|
||
))
|
||
zo
|
||
FROM mld_opdr_uren
|
||
GROUP BY TO_CHAR (
|
||
mld_opdr_uren_datum,
|
||
'IYYY-IW'
|
||
),
|
||
mld_opdr_key) ou,
|
||
mld_opdr o,
|
||
mld_typeopdr ot,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
alg_v_aanweziglocatie l,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE ou.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_statusopdr_key != 1 -- Afgewezen
|
||
AND o.mld_typeopdr_key =
|
||
ot.mld_typeopdr_key
|
||
AND ot.mld_typeopdr_matchtype = 3 -- Wekelijks geregistreerde uren
|
||
AND o.mld_melding_key =
|
||
m.mld_melding_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key =
|
||
md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 181 -- PSC urenregistratie
|
||
AND m.mld_alg_locatie_key =
|
||
l.alg_locatie_key(+)
|
||
AND o.mld_uitvoerende_keys =
|
||
pf.prs_perslid_key) ou
|
||
ON TO_CHAR (wk.dag, 'IYYY-IW') = ou.wk
|
||
LEFT JOIN
|
||
( SELECT cp.prs_perslid_key,
|
||
MIN (b.prs_bedrijf_naam) prs_bedrijf_naam
|
||
FROM prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY cp.prs_perslid_key) b
|
||
ON ou.prs_perslid_key = b.prs_perslid_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key,
|
||
ko.mld_kenmerkopdr_waarde uurtarief
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1161 -- Uurtarief
|
||
AND k.mld_kenmerk_niveau = 'O') k1 -- Uurtarief
|
||
ON ou.mld_opdr_key = k1.mld_opdr_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key,
|
||
ko.mld_kenmerkopdr_waarde kmtarief
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1181 -- Km-tarief
|
||
AND k.mld_kenmerk_niveau = 'O') k2 -- Km-tarief
|
||
ON ou.mld_opdr_key = k2.mld_opdr_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde kmperwk
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1182 -- Km per wk
|
||
AND k.mld_kenmerk_niveau = 'O') k3 -- Km per wk
|
||
ON ou.mld_opdr_key = k3.mld_opdr_key
|
||
UNION ALL
|
||
SELECT 'V' bv, -- Vast
|
||
TO_CHAR (o.dag, 'IYYY-IW') wknr,
|
||
TO_CHAR (TRUNC (o.dag, 'IW'), 'dd-mm-yyyy') maandag,
|
||
TO_CHAR (TRUNC (o.dag, 'IW') + 6, 'dd-mm-yyyy') fclt_d_zondag, -- Ref.datum bij van/tot-selectie!
|
||
o.mld_opdr_datumbegin,
|
||
o.mld_opdr_einddatum,
|
||
o.uren_vast,
|
||
o.uren_vast * COALESCE (fac.safe_to_number (k1.uurtarief), 0)
|
||
loon_vast,
|
||
COALESCE (k1.uurtarief, '0') uurtarief,
|
||
COALESCE (k2.kmtarief, '0') kmtarief,
|
||
COALESCE (k3.kmperwk, '0') kmperwk,
|
||
o.mld_typeopdr_omschrijving opdrachttype,
|
||
TO_CHAR (o.mld_melding_key) projectnummer,
|
||
o.mld_opdr_omschrijving opdr_oms,
|
||
o.alg_locatie_omschrijving locatie,
|
||
--opdr.ins_discipline_omschrijving vakgroep,
|
||
--opdr.mld_stdmelding_omschrijving melding,
|
||
--opdr.mld_melding_key || '/' || opdr.mld_opdr_bedrijfopdr_volgnr
|
||
-- opdrachtnr,
|
||
--o.prs_perslid_naam_full mdw_naam,
|
||
o.prs_perslid_naam_full
|
||
|| DECODE (b.prs_perslid_key,
|
||
NULL, '',
|
||
' (' || b.prs_bedrijf_naam || ')')
|
||
medewerker,
|
||
--kl.fac_usrdata_omschr mdw_type,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
FROM (SELECT wk.dag,
|
||
o.mld_melding_key,
|
||
o.mld_opdr_key,
|
||
o.mld_opdr_bedrijfopdr_volgnr,
|
||
o.mld_opdr_datumbegin,
|
||
o.mld_opdr_einddatum,
|
||
o.mld_opdr_uren uren_vast,
|
||
ot.mld_typeopdr_omschrijving,
|
||
o.mld_opdr_omschrijving,
|
||
--sm.mld_stdmelding_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM mld_opdr o,
|
||
mld_typeopdr ot,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
alg_v_aanweziglocatie l,
|
||
prs_v_perslid_fullnames pf,
|
||
( SELECT TRUNC (
|
||
ADD_MONTHS (SYSDATE, -12),
|
||
'YYYY'
|
||
)
|
||
+ (ROWNUM * 7)
|
||
dag
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <=
|
||
(CEIL( (SYSDATE
|
||
- TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE,
|
||
-12
|
||
),
|
||
'YYYY'
|
||
))
|
||
/ 7)
|
||
+ 2)) wk
|
||
WHERE o.mld_statusopdr_key != 1 -- Afgewezen
|
||
AND o.mld_typeopdr_key =
|
||
ot.mld_typeopdr_key
|
||
AND ot.mld_typeopdr_matchtype = 3 -- Wekelijks geregistreerde uren
|
||
AND o.mld_melding_key =
|
||
m.mld_melding_key
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key =
|
||
md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 181 -- PSC urenregistratie
|
||
AND m.mld_alg_locatie_key =
|
||
l.alg_locatie_key(+)
|
||
AND o.mld_uitvoerende_keys =
|
||
pf.prs_perslid_key
|
||
AND TO_CHAR (wk.dag, 'IYYY-IW') BETWEEN TO_CHAR (
|
||
o.mld_opdr_datumbegin,
|
||
'IYYY-IW'
|
||
)
|
||
AND TO_CHAR (
|
||
o.mld_opdr_einddatum,
|
||
'IYYY-IW'
|
||
))
|
||
o
|
||
LEFT JOIN
|
||
( SELECT cp.prs_perslid_key,
|
||
MIN (b.prs_bedrijf_naam)
|
||
prs_bedrijf_naam
|
||
FROM prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY cp.prs_perslid_key) b
|
||
ON o.prs_perslid_key = b.prs_perslid_key
|
||
LEFT JOIN -- Weg???
|
||
(SELECT kl.prs_link_key, ud.fac_usrdata_omschr
|
||
FROM prs_kenmerklink kl, fac_usrdata ud
|
||
WHERE kl.prs_kenmerk_key = 1020 -- Type personeel
|
||
AND fac.safe_to_number (
|
||
kl.prs_kenmerklink_waarde
|
||
) = ud.fac_usrdata_key
|
||
AND ud.fac_usrtab_key = 581) k0 -- Type personeel
|
||
ON o.prs_perslid_key = k0.prs_link_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key,
|
||
ko.mld_kenmerkopdr_waarde uurtarief
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1161 -- Uurtarief
|
||
AND k.mld_kenmerk_niveau = 'O') k1 -- Uurtarief
|
||
ON o.mld_opdr_key = k1.mld_opdr_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key,
|
||
ko.mld_kenmerkopdr_waarde kmtarief
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1181 -- Km-tarief
|
||
AND k.mld_kenmerk_niveau = 'O') k2 -- Km-tarief
|
||
ON o.mld_opdr_key = k2.mld_opdr_key
|
||
LEFT JOIN
|
||
(SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde kmperwk
|
||
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1182 -- Km per wk
|
||
AND k.mld_kenmerk_niveau = 'O') k3 -- Km per wk
|
||
ON o.mld_opdr_key = k3.mld_opdr_key;
|
||
|
||
|
||
-- HOUT#56289: Mail2Melding tbv. icthelpdesk/helpdeskict!
|
||
/* Formatted on 13-10-2014 16:08:52 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE HOUT_processemail (
|
||
pfrom IN VARCHAR2,
|
||
pto IN VARCHAR2,
|
||
psubject IN VARCHAR2,
|
||
pbody IN VARCHAR2,
|
||
psessionid IN VARCHAR2,
|
||
puserkey IN NUMBER DEFAULT NULL)
|
||
AS
|
||
-- Soortmelding 2481 (MF Ricoh automatische melding) onder Vakgroep 82 (Apparatuur) onder Vakgroeptype 1!
|
||
-- Soortmelding 3781 (Automatische E-mail melding) onder Vakgroep 2282 (Ondersteuning) onder Vakgroeptype 2!
|
||
c_onbekend_key NUMBER (10) := 45181; -- Afzender Onbekend
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_exist_ticket VARCHAR2 (255) := '';
|
||
v_perslid_key NUMBER (10);
|
||
v_kostenplaats_key NUMBER (10);
|
||
v_deel_key NUMBER (10);
|
||
v_onrgoed_keys NUMBER (10);
|
||
v_locatie_key NUMBER (10);
|
||
v_stdmelding_key NUMBER (10);
|
||
v_melding_key NUMBER (10);
|
||
v_folder_kkey NUMBER (10);
|
||
v_count NUMBER (10);
|
||
BEGIN
|
||
CASE
|
||
WHEN UPPER (pto) LIKE 'PRINTERS@%' -- Vervallen per 2014!?
|
||
THEN
|
||
-- Valideer bestaan van persoon met key=10081 (Externe partij/leverancier)?
|
||
v_errormsg := 'Fout bij bepalen printer-melder';
|
||
SELECT p.prs_perslid_key, a.prs_kostenplaats_key
|
||
INTO v_perslid_key, v_kostenplaats_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||
WHERE p.prs_perslid_key = 10081
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key;
|
||
|
||
-- Valideer bestaan van stdmelding met key=2481 (MF Ricoh automatische melding)?
|
||
v_errormsg := 'Fout bij bepalen printer-melding';
|
||
SELECT sm.mld_stdmelding_key
|
||
INTO v_stdmelding_key
|
||
FROM mld_stdmelding sm
|
||
WHERE sm.mld_stdmelding_key = 2481
|
||
AND sm.mld_stdmelding_verwijder IS NULL;
|
||
|
||
-- Valideer de sender in pfrom: kennen we deze als object in de groep met
|
||
-- key=21 (Multifunctionals)?
|
||
v_errormsg := 'Fout bij bepalen printer-object: ' || SUBSTR (pfrom, 1, INSTR (pfrom, '@') - 1);
|
||
SELECT d.ins_deel_key, og.alg_onrgoed_keys, og.alg_locatie_key
|
||
INTO v_deel_key, v_onrgoed_keys, v_locatie_key
|
||
FROM ins_v_aanwezigdeel d, ins_v_aanwezigsrtdeel sd, ins_v_alg_onroerendgoed og
|
||
WHERE UPPER (d.ins_deel_omschrijving) LIKE UPPER (SUBSTR (pfrom, 1, INSTR (pfrom, '@') - 1)) || '%'
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = 21
|
||
AND d.ins_alg_ruimte_key = og.alg_onrgoed_keys;
|
||
|
||
-- Suggested extensions:
|
||
-- - Check for MLDUSE-write autorisations
|
||
-- - Parse the subject to find the appropriate stdmelding, if uniquely possible
|
||
-- - Append (as a note?) to an existing melding if #key is found in the subject
|
||
v_errormsg := 'Fout bij toevoegen melding';
|
||
INSERT INTO mld_melding (mld_melding_module,
|
||
mld_meldbron_key,
|
||
mld_alg_locatie_key,
|
||
mld_alg_onroerendgoed_keys,
|
||
mld_melding_datum,
|
||
mld_melding_omschrijving,
|
||
mld_stdmelding_key,
|
||
mld_melding_t_uitvoertijd,
|
||
prs_kostenplaats_key,
|
||
prs_perslid_key,
|
||
prs_perslid_key_voor,
|
||
mld_melding_status,
|
||
mld_melding_spoed,
|
||
mld_melding_onderwerp)
|
||
VALUES ('MLD',
|
||
4, -- email
|
||
v_locatie_key,
|
||
v_onrgoed_keys,
|
||
SYSDATE,
|
||
SUBSTR (psubject, 1, 4000),
|
||
v_stdmelding_key,
|
||
NULL,
|
||
v_kostenplaats_key,
|
||
v_perslid_key,
|
||
v_perslid_key,
|
||
NULL,
|
||
3,
|
||
NULL) -- prio normaal
|
||
RETURNING mld_melding_key
|
||
INTO v_melding_key;
|
||
|
||
v_errormsg := 'Fout bij toevoegen melding-object';
|
||
INSERT INTO mld_melding_object (mld_melding_key, ins_deel_key)
|
||
VALUES (v_melding_key, v_deel_key);
|
||
|
||
mld.setmeldingstatus (v_melding_key, 2, v_perslid_key);
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_melding_key);
|
||
WHEN UPPER (pto) LIKE 'ICTHELPDESK@%' OR UPPER (pto) LIKE 'HELPDESKICT@%'
|
||
THEN
|
||
IF INSTR (UPPER (pfrom), '@HOUTHOFF.COM') > 0 -- Vanaf elk ander adres negeren!
|
||
THEN
|
||
-- Bepaal de melder/noteur op basis van e-mail adres zoals in pfrom?
|
||
v_errormsg := 'Fout bepalen melder ' || COALESCE (pfrom, '???');
|
||
SELECT COUNT (*)
|
||
INTO v_count
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE UPPER (prs_perslid_email) LIKE '%' || UPPER (pfrom) || '%';
|
||
|
||
IF v_count = 1
|
||
THEN
|
||
SELECT p.prs_perslid_key, a.prs_kostenplaats_key, MIN (wpg.alg_locatie_key)
|
||
INTO v_perslid_key, v_kostenplaats_key, v_locatie_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a,
|
||
(SELECT pw.prs_perslid_key, pw.prs_werkplek_key
|
||
FROM prs_perslidwerkplek pw
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek
|
||
WHERE prs_perslid_key = pw.prs_perslid_key
|
||
AND prs_perslidwerkplek_key > pw.prs_perslidwerkplek_key)) pw,
|
||
prs_v_werkplekperslid_gegevens wpg
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND UPPER (p.prs_perslid_email) LIKE '%' || UPPER (pfrom) || '%'
|
||
AND p.prs_perslid_key = pw.prs_perslid_key(+)
|
||
AND pw.prs_werkplek_key = wpg.prs_werkplek_key(+)
|
||
GROUP BY p.prs_perslid_key, a.prs_kostenplaats_key;
|
||
ELSE -- Melder kan niet 1-duidig worden bepaald, dus Onbekend en 21=A'dam!
|
||
SELECT p.prs_perslid_key, a.prs_kostenplaats_key, 21
|
||
INTO v_perslid_key, v_kostenplaats_key, v_locatie_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND p.prs_perslid_key = c_onbekend_key;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bepalen bestaande melding';
|
||
v_exist_ticket := psubject;
|
||
IF REGEXP_INSTR (v_exist_ticket, '\d') > 0
|
||
THEN
|
||
v_exist_ticket := SUBSTR (v_exist_ticket, REGEXP_INSTR (v_exist_ticket, '\d')) || 'x'; -- Gedeelte vanaf eerste cijfer in v_exist_ticket plus 'x'!
|
||
v_exist_ticket := SUBSTR (v_exist_ticket, 1, REGEXP_INSTR (v_exist_ticket, '\D') - 1); -- Gedeelte tot eerste niet-cijfer in v_exist_ticket!
|
||
ELSE
|
||
v_exist_ticket := 'x';
|
||
END IF;
|
||
|
||
SELECT COUNT (*)
|
||
INTO v_count
|
||
FROM mld_melding
|
||
WHERE TO_CHAR (mld_melding_key) = v_exist_ticket;
|
||
|
||
IF v_count = 1
|
||
THEN -- Notitie bij bestaande melding!
|
||
SELECT mld_stdmelding_key, mld_melding_key
|
||
INTO v_stdmelding_key, v_melding_key
|
||
FROM mld_melding
|
||
WHERE TO_CHAR (mld_melding_key) = v_exist_ticket;
|
||
|
||
v_errormsg := 'Fout toevoegen notitie';
|
||
INSERT INTO mld_melding_note (mld_melding_key,
|
||
prs_perslid_key,
|
||
mld_melding_note_omschrijving,
|
||
mld_melding_note_flag)
|
||
VALUES (v_melding_key,
|
||
v_perslid_key,
|
||
pfrom || CHR (13) || CHR (10) || psubject || CHR (13) || CHR (10) || SUBSTR (pbody, 1, 2000),
|
||
0);
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||
VALUES (psessionid, 'maillog', 'Notitie onder exist-melding ' || v_melding_key);
|
||
ELSE -- Nieuwe melding!
|
||
-- Bepaal de afgesproken soortmelding met key=3781=Automatische E-mail melding!
|
||
v_errormsg := 'Fout bepalen soortmelding';
|
||
SELECT mld_stdmelding_key
|
||
INTO v_stdmelding_key
|
||
FROM mld_stdmelding
|
||
WHERE mld_stdmelding_key = 3781;
|
||
|
||
-- Suggested extensions:
|
||
-- - Check for MLDUSE-write autorisations
|
||
-- - Parse the subject to find the appropriate stdmelding, if uniquely possible
|
||
-- - Append (as a note?) to an existing melding if #key is found in the subject
|
||
v_errormsg := 'Fout toevoegen melding';
|
||
INSERT INTO mld_melding (mld_melding_module,
|
||
mld_meldbron_key,
|
||
mld_alg_locatie_key,
|
||
mld_alg_onroerendgoed_keys,
|
||
mld_melding_datum,
|
||
mld_melding_omschrijving,
|
||
mld_stdmelding_key,
|
||
mld_melding_t_uitvoertijd,
|
||
prs_kostenplaats_key,
|
||
prs_perslid_key,
|
||
prs_perslid_key_voor,
|
||
mld_melding_status,
|
||
mld_melding_spoed,
|
||
mld_melding_onderwerp)
|
||
VALUES ('MLD',
|
||
4, -- email
|
||
v_locatie_key, --v_locatie_key,
|
||
NULL, --v_onrgoed_keys,
|
||
SYSDATE,
|
||
pfrom || CHR (13) || CHR (10) || SUBSTR (pbody, 1, 2000),
|
||
v_stdmelding_key,
|
||
NULL,
|
||
v_kostenplaats_key,
|
||
v_perslid_key,
|
||
v_perslid_key,
|
||
NULL,
|
||
3, -- prio normaal
|
||
SUBSTR (psubject, 1, 80))
|
||
RETURNING mld_melding_key
|
||
INTO v_melding_key;
|
||
|
||
mld.setmeldingstatus (v_melding_key, 2, v_perslid_key);
|
||
|
||
-- Handle workflow actions for completion.
|
||
MLD.mld_nextworkflowstep (v_melding_key, -1); -- -1=Initial
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_melding_key);
|
||
END IF;
|
||
|
||
-- Find the lowest volgnummer of the Folder-flexfield.
|
||
SELECT MIN (k1.mld_kenmerk_key)
|
||
INTO v_folder_kkey
|
||
FROM mld_stdmelding sm1, ins_tab_discipline td1, mld_kenmerk k1, mld_srtkenmerk sk1
|
||
WHERE sm1.mld_stdmelding_key = v_stdmelding_key
|
||
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 = v_stdmelding_key
|
||
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 v_folder_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_melding_key / 1000), 'FM0000') || '___\M' || v_melding_key || '\' || v_folder_kkey || '\');
|
||
END IF;
|
||
ELSE
|
||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||
VALUES (psessionid, 'maillog', 'Mail genegeerd van afzender ' || pfrom);
|
||
END IF;
|
||
ELSE
|
||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||
VALUES (psessionid, 'errormsg', 'Ontvanger ongeldig - Neem contact op met uw systeembeheerder ');
|
||
END CASE;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog ('PROCESSEMAIL', 'E', 'HOUT_processemail afgebroken!', '[' || pfrom || '] ' || v_errormsg);
|
||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||
VALUES (psessionid, 'errormsg', 'Database fout - Neem contact op met uw systeembeheerder ');
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 14-1-2013 14:52:58 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW hout_v_rap_mail_error
|
||
(
|
||
hide_f_offset,
|
||
datum,
|
||
hint,
|
||
error
|
||
)
|
||
AS
|
||
SELECT SYSDATE - imp_log_datum,
|
||
imp_log_datum,
|
||
imp_log_hint,
|
||
imp_log_omschrijving
|
||
FROM imp_log
|
||
WHERE imp_log_applicatie = 'PROCESSEMAIL'
|
||
AND imp_log_datum > SYSDATE - 30;
|
||
|
||
|
||
-- HOUT#27713
|
||
CREATE OR REPLACE VIEW HOUT_V_RAP_PRJ_OVZ
|
||
(
|
||
FCLT_F_PROJECTTYPE,
|
||
FCLT_F_Project,
|
||
Projectnr,
|
||
Projectomschrijving,
|
||
Projectmanager,
|
||
Adviseur,
|
||
Opdrachtgever,
|
||
Startdatum,
|
||
Einddatum,
|
||
Status,
|
||
Innovatief,
|
||
Samen,
|
||
Duurzaam,
|
||
Divers
|
||
)
|
||
AS
|
||
SELECT md.ins_discipline_omschrijving vakgroep,
|
||
std.mld_stdmelding_omschrijving project,
|
||
ins_srtdiscipline_prefix || m.mld_melding_key projectnr,
|
||
mld_melding_omschrijving projectomschrijving,
|
||
prm.prs_perslid_naam_full projectmanager,
|
||
adv.prs_perslid_naam_full adviseur,
|
||
(SELECT opd.prs_perslid_naam_full
|
||
FROM mld_kenmerkmelding mkm, prs_v_perslid_fullnames opd
|
||
WHERE m.mld_melding_key = mkm.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = 1441 -- kenmerk opdrachtgever
|
||
AND opd.prs_perslid_key =
|
||
mkm.mld_kenmerkmelding_waarde(+))
|
||
opdrachtgever,
|
||
TO_CHAR (mld_melding_datum, 'DD-MM-YYYY') startdatum,
|
||
TO_CHAR (mld_melding_einddatum, 'DD-MM-YYYY') geplande_einddatum,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM mld_kenmerkmelding mkm, fac_usrdata
|
||
WHERE m.mld_melding_key = mkm.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = 1444 -- kenmerk status
|
||
AND fac_usrtab_key = 661 -- eigen tabel status
|
||
AND fac_usrdata_key = mld_kenmerkmelding_waarde)
|
||
status,
|
||
(SELECT mkm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding mkm
|
||
WHERE m.mld_melding_key = mkm.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = 1452) -- kenmerk innovatief
|
||
Innovatief,
|
||
(SELECT mkm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding mkm
|
||
WHERE m.mld_melding_key = mkm.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = 1453) -- kenmerk samen
|
||
Samen,
|
||
(SELECT mkm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding mkm
|
||
WHERE m.mld_melding_key = mkm.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = 1454) -- kenmerk duurzaam
|
||
Duurzaam,
|
||
(SELECT mkm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding mkm
|
||
WHERE m.mld_melding_key = mkm.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = 1455) -- kenmerk divers
|
||
Divers
|
||
FROM mld_melding m,
|
||
mld_stdmelding std,
|
||
mld_discipline md,
|
||
ins_srtdiscipline srt,
|
||
prs_v_perslid_fullnames adv,
|
||
prs_v_perslid_fullnames prm
|
||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND md.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND srt.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
||
AND m.mld_melding_status NOT IN (1, 5, 6) -- alleen lopende meldingen
|
||
AND adv.prs_perslid_key(+) = m.mld_melding_behandelaar_key
|
||
AND prm.prs_perslid_key = m.prs_perslid_key
|
||
AND m.fac_activiteit_key IS NULL
|
||
AND srt.ins_srtdiscipline_key = 181 -- vakgroeptype project support centre
|
||
ORDER BY 1, 2;
|
||
|
||
/* Formatted on 10-2-2014 14:48:12 (QP5 v5.136.908.31019) */
|
||
/*
|
||
CREATE OR REPLACE VIEW HOUT_V_CNT_EXTRA_NOTI
|
||
(
|
||
perslid_key,
|
||
perslid_naam
|
||
)
|
||
AS
|
||
SELECT pf.prs_perslid_key, pf.prs_perslid_naam_full
|
||
FROM fac_gebruikersgroep gg, prs_v_perslid_fullnames pf
|
||
WHERE gg.fac_groep_key IN (921, 941, 961, 962, 981, 982) -- CNT-groepen
|
||
AND gg.prs_perslid_key = pf.prs_perslid_key;
|
||
*/
|
||
|
||
/* Formatted on 10-2-2014 14:48:12 (QP5 v5.136.908.31019) */
|
||
-- HOUT#30074 union toegevoegd. Extra notificatie op basis van flexkenmerk van kenmerksoort met key 41
|
||
CREATE OR REPLACE VIEW HOUT_V_NOTI_CNTREMINDER
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
PAR1,
|
||
PAR2,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT '',
|
||
'',
|
||
c.prs_perslid_key_beh,
|
||
'Rapp<EFBFBD>l: Contract '
|
||
|| c.cnt_contract_nummer_intern
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
'DD-MM-YYYY')
|
||
|| ' worden verlengd of opgezegd.',
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
NULL
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_verwijder IS NULL
|
||
AND c.cnt_contract_status = 0
|
||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
|
||
UNION
|
||
SELECT '',
|
||
'',
|
||
c.prs_perslid_key_eig,
|
||
'Rapp<EFBFBD>l: Contract '
|
||
|| c.cnt_contract_nummer_intern
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
'DD-MM-YYYY')
|
||
|| ' worden verlengd of opgezegd.',
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
NULL
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_verwijder IS NULL
|
||
AND c.cnt_contract_status = 0
|
||
AND c.prs_perslid_key_eig IS NOT NULL
|
||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
|
||
UNION
|
||
SELECT '',
|
||
'',
|
||
fac.safe_to_number (kc.cnt_kenmerkcontract_waarde),
|
||
'Rapp<EFBFBD>l: Contract '
|
||
|| c.cnt_contract_nummer_intern
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
'DD-MM-YYYY')
|
||
|| ' worden verlengd of opgezegd.',
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
NULL
|
||
FROM cnt_kenmerkcontract kc,
|
||
cnt_kenmerk k,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b
|
||
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = 41
|
||
AND cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cnt_kenmerk_verwijder IS NULL
|
||
AND kc.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_verwijder IS NULL
|
||
AND c.cnt_contract_status = 0
|
||
AND kc.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
|
||
|
||
|
||
/* Formatted on 23-9-2014 12:24:42 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW HOUT_V_GRAPH_VAKGRP_ALL24H_ICT
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_
|
||
--FCLT_3D_DISCIPLINE_KEY
|
||
)
|
||
AS
|
||
SELECT md.ins_discipline_omschrijving, COUNT ( * )
|
||
--md.ins_discipline_key
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md
|
||
WHERE m.mld_melding_datum BETWEEN SYSDATE - 1 AND SYSDATE
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 2 -- ICT
|
||
GROUP BY md.ins_discipline_omschrijving;
|
||
|
||
CREATE OR REPLACE VIEW HOUT_V_GRAPH_VAKGRP_OPEN_ICT
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
FCLT_URL
|
||
--FCLT_3D_DISCIPLINE_KEY
|
||
)
|
||
AS
|
||
SELECT md.ins_discipline_omschrijving,
|
||
COUNT ( * ),
|
||
'appl/mld/mld_search.asp?urole=fo'
|
||
|| '&'
|
||
|| 'autosearch=1'
|
||
|| '&'
|
||
|| 'disc_key_str='
|
||
|| md.ins_discipline_key
|
||
--md.ins_discipline_key
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 2 -- ICT
|
||
AND m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
|
||
GROUP BY md.ins_discipline_omschrijving, md.ins_discipline_key;
|
||
|
||
CREATE OR REPLACE VIEW HOUT_V_GRAPH_NEWMND_ALL12M_ICT
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
VOLGORDE
|
||
)
|
||
AS
|
||
SELECT DECODE (TO_CHAR (mld_melding_datum, 'mm'),
|
||
'01', 'Januari',
|
||
'02', 'Februari',
|
||
'03', 'Maart',
|
||
'04', 'April',
|
||
'05', 'Mei',
|
||
'06', 'Juni',
|
||
'07', 'Juli',
|
||
'08', 'Augustus',
|
||
'09', 'September',
|
||
'10', 'Oktober',
|
||
'11', 'November',
|
||
'December'),
|
||
COUNT ( * ),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm')
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md
|
||
WHERE m.mld_melding_datum BETWEEN ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -11)
|
||
AND SYSDATE
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 2 -- ICT
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'mm'),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm');
|
||
|
||
CREATE OR REPLACE VIEW HOUT_V_GRAPH_NEWDAY_ALL28D_ICT
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
VOLGORDE
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (mld_melding_datum, 'fmdd/mm'),
|
||
COUNT ( * ),
|
||
TO_CHAR (mld_melding_datum, 'yyyymmdd')
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md
|
||
WHERE m.mld_melding_datum BETWEEN TRUNC (SYSDATE - 28) AND SYSDATE
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 2 -- ICT
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'fmdd/mm'),
|
||
TO_CHAR (mld_melding_datum, 'yyyymmdd');
|
||
|
||
/*
|
||
CREATE OR REPLACE VIEW HOUT_V_GRAPH_BHNDLR_OPEN_ICT
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_naam_full, COUNT ( * )
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 2 -- ICT
|
||
AND m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
|
||
AND m.mld_melding_behandelaar_key = p.prs_perslid_key
|
||
GROUP BY p.prs_perslid_naam_full;
|
||
*/
|
||
CREATE OR REPLACE VIEW HOUT_V_GRAPH_BHNDLR_OPEN_ICT
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
FCLT_YAS2_,
|
||
VOLGORDE
|
||
)
|
||
AS
|
||
SELECT x.prs_perslid_naam_full,
|
||
COUNT ( * ) - SUM (uitvoeringoptijd),
|
||
SUM (uitvoeringoptijd),
|
||
0 - COUNT ( * )
|
||
FROM (SELECT p.prs_perslid_naam_full,
|
||
DECODE (
|
||
SIGN (m.mld_melding_einddatum_std - TRUNC (SYSDATE, 'mi')),
|
||
-1, 0,
|
||
1)
|
||
uitvoeringoptijd
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 2 -- ICT
|
||
AND m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
|
||
AND m.mld_melding_behandelaar_key = p.prs_perslid_key) x
|
||
GROUP BY x.prs_perslid_naam_full
|
||
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
|
||
SELECT ' ', 0, 0, 0 FROM DUAL;
|
||
|
||
-- HOUT#37759: Servicedesk-rapportages (incl. exports via Servicedesk-taak)
|
||
-- 57=PRSSYS
|
||
/* Formatted on 23-2-2018 15:45:15 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW hout_v_rap_ict_mld
|
||
AS
|
||
SELECT mld_melding_key melding_key,
|
||
meldingnummer,
|
||
--alg_regio_omschrijving,
|
||
alg_district_omschrijving melding_district,
|
||
locatie melding_locatiecode,
|
||
locatie_omschrijving melding_locatie,
|
||
--locatie_plaats,
|
||
alg_locatie_key fclt_3d_locatie_key,
|
||
gebouw melding_gebouwcode,
|
||
gebouw_naam melding_gebouw,
|
||
verdieping melding_verdieping,
|
||
ruimte melding_ruimtenr,
|
||
ruimte_omschrijving melding_ruimte,
|
||
melding_ordernr,
|
||
kostensoortgroep,
|
||
kostensoort,
|
||
kostenplaats,
|
||
kostenplaats_oms,
|
||
melder,
|
||
prs_perslid_key melder_key,
|
||
afdeling,
|
||
afdeling_omschrijving,
|
||
afdeling_key fclt_3d_afdeling_key,
|
||
prs_bedrijf_key bedrijf_key,
|
||
invoerder,
|
||
meldbron,
|
||
soortmelding,
|
||
ins_discipline_key fclt_3d_discipline_key,
|
||
productgroep,
|
||
subproductgroep,
|
||
behandelgroep,
|
||
behandelaar,
|
||
behandelaar_key,
|
||
subproductgroepgroep,
|
||
status melding_status,
|
||
sla_nvt,
|
||
sla_werkdgn,
|
||
sla_werkuren,
|
||
sla_respijtdgn,
|
||
sla_respijturen,
|
||
sla_accptdgn,
|
||
sla_accpturen,
|
||
--plan_uitvoertijd_sla,
|
||
datum melding_datum,
|
||
einddatum melding_einddatum,
|
||
acceptdatum melding_acceptdatum,
|
||
afgemeld melding_afgemeld,
|
||
accepted melding_accepted,
|
||
DECODE (x.t_doorlooptijd.eenheid,
|
||
'D', x.t_doorlooptijd.tijdsduur,
|
||
NULL)
|
||
doorlooptijd_werkdgn,
|
||
DECODE (x.t_doorlooptijd.eenheid,
|
||
'U', x.t_doorlooptijd.tijdsduur,
|
||
NULL)
|
||
doorlooptijd_werkuren,
|
||
onderwerp,
|
||
--CASE WHEN LENGTH (omschrijving) > 1000 THEN '[Zie FACILITOR]' ELSE REPLACE (REPLACE (x.vomschrijving, CHR(10), ' '), CHR(13), '') END omschrijving,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (omschrijving, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') omschrijving,
|
||
--CASE WHEN LENGTH (opmerking) > 1000 THEN '[Zie FACILITOR]' ELSE REPLACE (REPLACE (x.melding_opmerking, CHR(10), ' '), CHR(13), '') END melding_opmerking,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (opmerking, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') melding_opmerking,
|
||
mld_melding_spoed prioriteit,
|
||
--DECODE (mld_melding_spoed,
|
||
-- 3, lcl.l ('lcl_mld_urg_normaal'),
|
||
-- 1, lcl.l ('lcl_mld_urg_kritiek'),
|
||
-- 2, lcl.l ('lcl_mld_urg_hoog'),
|
||
-- 4, lcl.l ('lcl_mld_urg_laag')),
|
||
mld_melding_satisfaction rating,
|
||
mld_melding_satisfaction_op rating_opmerking,
|
||
mld_melding_flag bolletje,
|
||
DECODE (x.t_doorlooptijd.eenheid,
|
||
'D', acceptdatum - COALESCE (accepted, afgemeld),
|
||
NULL)
|
||
accept_sla_dagen,
|
||
DECODE (x.t_doorlooptijd.eenheid,
|
||
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
|
||
NULL)
|
||
accept_sla_uren,
|
||
DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'D', mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
|
||
NULL)
|
||
uitvoering_sla_dagen,
|
||
DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'U', ( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijturen, 0),
|
||
NULL)
|
||
uitvoering_sla_uren,
|
||
DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
|
||
NULL)
|
||
afspraak_sla_dagen,
|
||
DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'U', ( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0),
|
||
NULL)
|
||
afspraak_sla_uren,
|
||
CASE
|
||
WHEN acceptdatum IS NULL
|
||
OR -- Dan is er geen acceptatietijd gedefinieerd en dus altijd op tijd.
|
||
DECODE (x.t_doorlooptijd.eenheid,
|
||
'D', acceptdatum - COALESCE (accepted, afgemeld),
|
||
0)
|
||
+ DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
|
||
0) >= 0
|
||
THEN
|
||
lcl.l ('lcl_yes')
|
||
ELSE
|
||
lcl.l ('lcl_no')
|
||
END
|
||
accept_sla_optijd,
|
||
CASE
|
||
WHEN DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'D', mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
|
||
0)
|
||
+ DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'U', ( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijturen, 0),
|
||
0) >= 0
|
||
THEN
|
||
lcl.l ('lcl_yes')
|
||
ELSE
|
||
lcl.l ('lcl_no')
|
||
END
|
||
uitvoering_sla_optijd,
|
||
CASE
|
||
WHEN DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
|
||
0)
|
||
+ DECODE (
|
||
x.t_doorlooptijd.eenheid,
|
||
'U', ( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0),
|
||
0) >= 0
|
||
THEN
|
||
lcl.l ('lcl_yes')
|
||
ELSE
|
||
lcl.l ('lcl_no')
|
||
END
|
||
afspraak_sla_optijd,
|
||
DECODE (invoerder, melder, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
|
||
selfservice
|
||
FROM (SELECT m.mld_melding_key,
|
||
m.prs_perslid_key,
|
||
sd.ins_srtdiscipline_prefix || m.mld_melding_key meldingnummer,
|
||
alg_regio_omschrijving,
|
||
alg_district_omschrijving,
|
||
alg_locatie_code locatie,
|
||
alg_locatie_omschrijving locatie_omschrijving,
|
||
alg_locatie_plaats locatie_plaats,
|
||
l.alg_locatie_key,
|
||
og.alg_gebouw_code gebouw,
|
||
og.alg_gebouw_naam gebouw_naam,
|
||
og.alg_verdieping_code verdieping,
|
||
og.alg_ruimte_nr ruimte,
|
||
og.alg_ruimte_omschrijving ruimte_omschrijving,
|
||
m.mld_melding_ordernr melding_ordernr,
|
||
(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 COALESCE (sm.prs_kostensoort_key, disc.prs_kostensoort_key)
|
||
FROM mld_stdmelding sm, mld_discipline disc
|
||
WHERE sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND sm.mld_stdmelding_key = s.mld_stdmelding_key))
|
||
kostensoortgroep,
|
||
(SELECT ks.prs_kostensoort_oms
|
||
FROM prs_kostensoort ks
|
||
WHERE ks.prs_kostensoort_key =
|
||
(SELECT COALESCE (sm.prs_kostensoort_key, disc.prs_kostensoort_key)
|
||
FROM mld_stdmelding sm, mld_discipline disc
|
||
WHERE sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||
AND sm.mld_stdmelding_key = s.mld_stdmelding_key))
|
||
kostensoort,
|
||
(SELECT k.prs_kostenplaats_nr
|
||
FROM prs_kostenplaats k
|
||
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key)
|
||
kostenplaats,
|
||
(SELECT k.prs_kostenplaats_omschrijving
|
||
FROM prs_kostenplaats k
|
||
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key)
|
||
kostenplaats_oms,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = m.prs_perslid_key)
|
||
melder,
|
||
(SELECT prs_afdeling_naam
|
||
FROM prs_afdeling afd, prs_perslid pp
|
||
WHERE afd.prs_afdeling_key = pp.prs_afdeling_key
|
||
AND pp.prs_perslid_key = m.prs_perslid_key)
|
||
afdeling,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling afd, prs_perslid pp
|
||
WHERE afd.prs_afdeling_key = pp.prs_afdeling_key
|
||
AND pp.prs_perslid_key = m.prs_perslid_key)
|
||
afdeling_omschrijving,
|
||
(SELECT prs_afdeling_key
|
||
FROM prs_perslid pp
|
||
WHERE pp.prs_perslid_key = m.prs_perslid_key)
|
||
afdeling_key,
|
||
(SELECT prs_bedrijf_key
|
||
FROM prs_v_afdeling pva, prs_perslid pp
|
||
WHERE pva.prs_afdeling_key = pp.prs_afdeling_key
|
||
AND pp.prs_perslid_key = m.prs_perslid_key)
|
||
prs_bedrijf_key,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = mld.getmeldinguser (m.mld_melding_key))
|
||
invoerder,
|
||
(SELECT mb.mld_meldbron_omschrijving
|
||
FROM mld_meldbron mb
|
||
WHERE mb.mld_meldbron_key = m.mld_meldbron_key)
|
||
meldbron,
|
||
m.mld_meldbron_key,
|
||
sd.ins_srtdiscipline_key ins_srtdiscipline_key,
|
||
sd.ins_srtdiscipline_omschrijving soortmelding,
|
||
md.ins_discipline_key ins_discipline_key,
|
||
md.ins_discipline_omschrijving productgroep,
|
||
s.mld_stdmelding_omschrijving subproductgroep,
|
||
smg.mld_stdmeldinggroep_naam subproductgroepgroep,
|
||
mbg.mld_behandelgroep_naam behandelgroep,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = m.mld_melding_behandelaar_key)
|
||
behandelaar,
|
||
m.mld_melding_behandelaar_key behandelaar_key,
|
||
(SELECT mld_statuses_omschrijving
|
||
FROM mld_statuses sta
|
||
WHERE sta.mld_statuses_key = m.mld_melding_status)
|
||
status,
|
||
CASE
|
||
WHEN m.mld_melding_einddatum >
|
||
COALESCE (
|
||
fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
|
||
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
|
||
SYSDATE)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
plan_uitvoertijd_sla,
|
||
CASE
|
||
WHEN m.mld_melding_indult = 1
|
||
OR s.mld_stdmelding_slabewaken = 0
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
sla_nvt,
|
||
DECODE (m.mld_melding_t_uitvoertijd.eenheid,
|
||
'D', m.mld_melding_t_uitvoertijd.tijdsduur,
|
||
NULL)
|
||
sla_werkdgn,
|
||
DECODE (m.mld_melding_t_uitvoertijd.eenheid,
|
||
'U', m.mld_melding_t_uitvoertijd.tijdsduur,
|
||
NULL)
|
||
sla_werkuren,
|
||
DECODE (m.mld_melding_t_respijt.eenheid,
|
||
'D', m.mld_melding_t_respijt.tijdsduur,
|
||
NULL)
|
||
sla_respijtdgn,
|
||
DECODE (m.mld_melding_t_respijt.eenheid,
|
||
'U', m.mld_melding_t_respijt.tijdsduur,
|
||
NULL)
|
||
sla_respijturen,
|
||
DECODE (m.mld_melding_t_accepttijd.eenheid,
|
||
'D', m.mld_melding_t_accepttijd.tijdsduur,
|
||
NULL)
|
||
sla_accptdgn,
|
||
DECODE (m.mld_melding_t_accepttijd.eenheid,
|
||
'U', m.mld_melding_t_accepttijd.tijdsduur,
|
||
NULL)
|
||
sla_accpturen,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
mld.getacceptdatum (m.mld_melding_datum, m.mld_stdmelding_key, og.alg_onroerendgoed_keys)
|
||
acceptdatum,
|
||
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
|
||
mld.getmeldingstatusdate (m.mld_melding_key, 1))
|
||
afgemeld,
|
||
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 4),
|
||
mld.getmeldingstatusdate (m.mld_melding_key, 1))
|
||
accepted,
|
||
mld.getactualuitvoer (m.mld_melding_key) t_doorlooptijd,
|
||
m.mld_melding_onderwerp onderwerp,
|
||
m.mld_melding_omschrijving omschrijving,
|
||
m.mld_melding_opmerking opmerking,
|
||
m.mld_melding_spoed,
|
||
m.mld_melding_satisfaction,
|
||
m.mld_melding_satisfaction_op,
|
||
m.mld_melding_flag
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
alg_locatie l,
|
||
alg_district d,
|
||
alg_regio r,
|
||
alg_v_allonrgoed_gegevens og,
|
||
mld_disc_params mdp,
|
||
mld_behandelgroep mbg,
|
||
mld_stdmeldinggroep smg
|
||
WHERE m.mld_stdmelding_key = s.mld_stdmelding_key
|
||
AND s.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key IN (1, 2, 21, 41, 261) -- Servicedesk Facilities, IT Helpdesk, Repro A'dam, Repro R'dam, IT Beheer en Projecten
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND l.alg_district_key = d.alg_district_key(+)
|
||
AND d.alg_regio_key = r.alg_regio_key(+)
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
|
||
AND md.ins_discipline_key = mdp.mld_ins_discipline_key
|
||
AND mdp.mld_behandelgroep_key = mbg.mld_behandelgroep_key(+)
|
||
AND s.mld_stdmeldinggroep_key = smg.mld_stdmeldinggroep_key(+)
|
||
AND m.fac_activiteit_key IS NULL
|
||
AND m.mld_melding_datum > TO_DATE ('05092016', 'ddmmyyyy')
|
||
AND m.mld_melding_datum > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24)) x;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_ict_mld
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"melding_key"'
|
||
|| ';"meldingnummer"'
|
||
|| ';"melding_district"'
|
||
|| ';"melding_locatiecode"'
|
||
|| ';"melding_locatie"'
|
||
|| ';"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"'
|
||
|| ';"meldbron"'
|
||
|| ';"soortmelding"'
|
||
|| ';"fclt_3d_discipline_key"'
|
||
|| ';"productgroep"'
|
||
|| ';"subproductgroep"'
|
||
|| ';"behandelgroep"'
|
||
|| ';"behandelaar"'
|
||
|| ';"behandelaar_key"'
|
||
|| ';"subproductgroepgroep"'
|
||
|| ';"melding_status"'
|
||
|| ';"sla_nvt"'
|
||
|| ';"sla_werkdgn"'
|
||
|| ';"sla_werkuren"'
|
||
|| ';"sla_respijtdgn"'
|
||
|| ';"sla_respijturen"'
|
||
|| ';"sla_accptdgn"'
|
||
|| ';"sla_accpturen"'
|
||
|| ';"melding_datum"'
|
||
|| ';"melding_einddatum"'
|
||
|| ';"melding_acceptdatum"'
|
||
|| ';"melding_afgemeld"'
|
||
|| ';"melding_accepted"'
|
||
|| ';"doorlooptijd_werkdgn"'
|
||
|| ';"doorlooptijd_werkuren"'
|
||
|| ';"onderwerp"'
|
||
|| ';"omschrijving"'
|
||
|| ';"melding_opmerking"'
|
||
|| ';"prioriteit"'
|
||
|| ';"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"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| melding_key
|
||
|| '";"'
|
||
|| meldingnummer
|
||
|| '";"'
|
||
|| melding_district
|
||
|| '";"'
|
||
|| melding_locatiecode
|
||
|| '";"'
|
||
|| melding_locatie
|
||
|| '";"'
|
||
|| 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
|
||
|| '";"'
|
||
|| meldbron
|
||
|| '";"'
|
||
|| soortmelding
|
||
|| '";"'
|
||
|| fclt_3d_discipline_key
|
||
|| '";"'
|
||
|| productgroep
|
||
|| '";"'
|
||
|| subproductgroep
|
||
|| '";"'
|
||
|| behandelgroep
|
||
|| '";"'
|
||
|| behandelaar
|
||
|| '";"'
|
||
|| behandelaar_key
|
||
|| '";"'
|
||
|| subproductgroepgroep
|
||
|| '";"'
|
||
|| melding_status
|
||
|| '";"'
|
||
|| sla_nvt
|
||
|| '";"'
|
||
|| sla_werkdgn
|
||
|| '";"'
|
||
|| sla_werkuren
|
||
|| '";"'
|
||
|| sla_respijtdgn
|
||
|| '";"'
|
||
|| sla_respijturen
|
||
|| '";"'
|
||
|| sla_accptdgn
|
||
|| '";"'
|
||
|| sla_accpturen
|
||
|| '";"'
|
||
|| TO_CHAR (melding_datum, 'dd-mm-yyyy hh24:mi:ss')
|
||
|| '";"'
|
||
|| TO_CHAR (melding_einddatum, 'dd-mm-yyyy hh24:mi:ss')
|
||
|| '";"'
|
||
|| TO_CHAR (melding_acceptdatum, 'dd-mm-yyyy hh24:mi:ss')
|
||
|| '";"'
|
||
|| TO_CHAR (melding_afgemeld, 'dd-mm-yyyy hh24:mi:ss')
|
||
|| '";"'
|
||
|| TO_CHAR (melding_accepted, 'dd-mm-yyyy hh24:mi:ss')
|
||
|| '";"'
|
||
|| doorlooptijd_werkdgn
|
||
|| '";"'
|
||
|| doorlooptijd_werkuren
|
||
|| '";"'
|
||
|| onderwerp
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| melding_opmerking
|
||
|| '";"'
|
||
|| prioriteit
|
||
|| '";"'
|
||
|| 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
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_ict_mld;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_ict_mldtrk
|
||
AS
|
||
SELECT m.mld_melding_key melding_key,
|
||
--t.fac_tracking_datum tracking_datumtijd,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss') tracking_datumtijd,
|
||
sn.fac_srtnotificatie_code tracking_code,
|
||
--REPLACE (REPLACE (t.fac_tracking_oms, CHR(10), ' '), CHR(13), '') tracking_actie,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (t.fac_tracking_oms, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') tracking_actie,
|
||
pf.prs_perslid_naam_full tracking_door
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
fac_tracking t,
|
||
fac_srtnotificatie sn,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key IN (1, 2, 21, 41, 261) -- Servicedesk Facilities, IT Helpdesk, Repro A'dam, Repro R'dam, IT Beheer en Projecten
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
--AND sn.fac_srtnotificatie_code LIKE 'MLD%'
|
||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||
AND t.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_melding_datum > TO_DATE ('05092016', 'ddmmyyyy')
|
||
AND m.mld_melding_datum > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24);
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_ict_mldtrk
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"melding_key"'
|
||
|| ';"tracking_datumtijd"'
|
||
|| ';"tracking_code"'
|
||
|| ';"tracking_actie"'
|
||
|| ';"tracking_door"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| melding_key
|
||
|| '";"'
|
||
|| tracking_datumtijd
|
||
|| '";"'
|
||
|| tracking_code
|
||
|| '";"'
|
||
|| tracking_actie
|
||
|| '";"'
|
||
|| tracking_door
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_ict_mldtrk;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_ict_mldnot
|
||
AS
|
||
SELECT m.mld_melding_key melding_key,
|
||
--n.mld_melding_note_aanmaak notitie_datumtijd,
|
||
TO_CHAR (n.mld_melding_note_aanmaak, 'dd-mm-yyyy hh24:mi:ss') notitie_datumtijd,
|
||
--CASE WHEN LENGTH (n.mld_melding_note_omschrijving) > 1000 THEN '[Zie FACILITOR]' ELSE REPLACE (REPLACE (n.mld_melding_note_omschrijving, CHR(10), ' '), CHR(13), '') END notitie_omschrijving,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (n.mld_melding_note_omschrijving, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') notitie_omschrijving,
|
||
pf.prs_perslid_naam_full notitie_door,
|
||
n.mld_melding_note_flag notitie_zichtbaar
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
mld_melding_note n,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key IN (1, 2, 21, 41, 261) -- Servicedesk Facilities, IT Helpdesk, Repro A'dam, Repro R'dam, IT Beheer en Projecten
|
||
AND m.mld_melding_key = n.mld_melding_key
|
||
AND n.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_melding_datum > TO_DATE ('05092016', 'ddmmyyyy')
|
||
AND m.mld_melding_datum > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24);
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_ict_mldnot
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"melding_key"'
|
||
|| ';"notitie_datumtijd"'
|
||
|| ';"notitie_omschrijving"'
|
||
|| ';"notitie_door"'
|
||
|| ';"notitie_zichtbaar"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| melding_key
|
||
|| '";"'
|
||
|| notitie_datumtijd
|
||
|| '";"'
|
||
|| notitie_omschrijving
|
||
|| '";"'
|
||
|| notitie_door
|
||
|| '";"'
|
||
|| notitie_zichtbaar
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_ict_mldnot;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_ict_ord
|
||
AS
|
||
SELECT m.mld_melding_spoed prioriteit,
|
||
m.mld_melding_key,
|
||
x.opdracht_nummer opdracht,
|
||
x.opdracht_type opdrachttype,
|
||
x.opdracht_district,
|
||
x.opdracht_locatie_code,
|
||
x.opdracht_locatie,
|
||
x.fclt_3d_locatie_key,
|
||
x.opdracht_gebouwcode,
|
||
x.opdracht_gebouw,
|
||
x.opdracht_verdieping,
|
||
x.opdracht_ruimtenr,
|
||
x.opdracht_ruimte,
|
||
sd.ins_srtdiscipline_omschrijving type,
|
||
md.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving issue,
|
||
--CASE WHEN LENGTH (x.opdracht_omschrijving) > 1000 THEN '[Zie FACILITOR]' ELSE REPLACE (REPLACE (x.opdracht_omschrijving, CHR(10), ' '), CHR(13), '') END omschrijving,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (x.opdracht_omschrijving, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') omschrijving,
|
||
TO_CHAR (x.opdracht_datum, 'dd-mm-yyyy') opdrachtdatum,
|
||
TO_CHAR (x.opdracht_datum, 'hh24:mi:ss') opdrachttijd,
|
||
(SELECT mld_statuses_omschrijving
|
||
FROM mld_statuses
|
||
WHERE mld_statuses_key = m.mld_melding_status)
|
||
issuestatus,
|
||
x.opdracht_status opdrachtstatus,
|
||
TO_CHAR (x.opdracht_einddatum, 'dd-mm-yyyy') einddatum,
|
||
TO_CHAR (x.opdracht_einddatum, 'hh24:mi:ss') eindtijd,
|
||
x.opdracht_uitvoerende uitvoerende,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all
|
||
WHERE prs_perslid_key = o.prs_perslid_key)
|
||
behandelaar,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all
|
||
WHERE prs_perslid_key = m.prs_perslid_key)
|
||
aanvrager,
|
||
--CASE WHEN LENGTH (x.opdracht_opmerking) > 1000 THEN '[Zie FACILITOR]' ELSE REPLACE (REPLACE (x.opdracht_opmerking, CHR(10), ' '), CHR(13), '') END afhandeling,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (x.opdracht_opmerking, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') afhandeling,
|
||
x.opdracht_kosten kosten
|
||
FROM mld_v_udr_opdracht x,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd
|
||
WHERE x.opdracht_key = o.mld_opdr_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key IN (1, 2, 21, 41, 261) -- Servicedesk Facilities, IT Helpdesk, Repro A'dam, Repro R'dam, IT Beheer en Projecten
|
||
--AND m.mld_melding_datum > TO_DATE ('01092014', 'ddmmyyyy')
|
||
--AND m.mld_melding_datum < TO_DATE ('05092016', 'ddmmyyyy')) x
|
||
AND m.mld_melding_datum > TO_DATE ('05092016', 'ddmmyyyy')
|
||
AND m.mld_melding_datum > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24);
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_ict_ord
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"prioriteit"'
|
||
|| ';"melding_key"'
|
||
|| ';"opdracht"'
|
||
|| ';"opdrachttype"'
|
||
|| ';"melding_district"'
|
||
|| ';"melding_locatiecode"'
|
||
|| ';"melding_locatie"'
|
||
|| ';"fclt_3d_locatie_key"'
|
||
|| ';"melding_gebouwcode"'
|
||
|| ';"melding_gebouw"'
|
||
|| ';"melding_verdieping"'
|
||
|| ';"melding_ruimtenr"'
|
||
|| ';"melding_ruimte"'
|
||
|| ';"type"'
|
||
|| ';"vakgroep"'
|
||
|| ';"issue"'
|
||
|| ';"omschrijving"'
|
||
|| ';"opdrachtdatum"'
|
||
|| ';"opdrachttijd"'
|
||
|| ';"issuestatus"'
|
||
|| ';"opdrachtstatus"'
|
||
|| ';"einddatum"'
|
||
|| ';"eindtijd"'
|
||
|| ';"uitvoerende"'
|
||
|| ';"behandelaar"'
|
||
|| ';"aanvrager"'
|
||
|| ';"afhandeling"'
|
||
|| ';"kosten"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| prioriteit
|
||
|| '";"'
|
||
|| mld_melding_key
|
||
|| '";"'
|
||
|| opdracht
|
||
|| '";"'
|
||
|| opdrachttype
|
||
|| '";"'
|
||
|| opdracht_district
|
||
|| '";"'
|
||
|| opdracht_locatie_code
|
||
|| '";"'
|
||
|| opdracht_locatie
|
||
|| '";"'
|
||
|| fclt_3d_locatie_key
|
||
|| '";"'
|
||
|| opdracht_gebouwcode
|
||
|| '";"'
|
||
|| opdracht_gebouw
|
||
|| '";"'
|
||
|| opdracht_verdieping
|
||
|| '";"'
|
||
|| opdracht_ruimtenr
|
||
|| '";"'
|
||
|| opdracht_ruimte
|
||
|| '";"'
|
||
|| type
|
||
|| '";"'
|
||
|| vakgroep
|
||
|| '";"'
|
||
|| issue
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| opdrachtdatum
|
||
|| '";"'
|
||
|| opdrachttijd
|
||
|| '";"'
|
||
|| issuestatus
|
||
|| '";"'
|
||
|| opdrachtstatus
|
||
|| '";"'
|
||
|| einddatum
|
||
|| '";"'
|
||
|| eindtijd
|
||
|| '";"'
|
||
|| uitvoerende
|
||
|| '";"'
|
||
|| behandelaar
|
||
|| '";"'
|
||
|| aanvrager
|
||
|| '";"'
|
||
|| afhandeling
|
||
|| '";"'
|
||
|| kosten
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_ict_ord;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_ict_ordtrk
|
||
AS
|
||
SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdracht,
|
||
--t.fac_tracking_datum tracking_datumtijd,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss') tracking_datumtijd,
|
||
sn.fac_srtnotificatie_code tracking_code,
|
||
--REPLACE (REPLACE (t.fac_tracking_oms, CHR(10), ' '), CHR(13), '') tracking_actie,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (t.fac_tracking_oms, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') tracking_actie,
|
||
pf.prs_perslid_naam_full tracking_door
|
||
FROM mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
fac_tracking t,
|
||
fac_srtnotificatie sn,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key IN (1, 2, 21, 41, 261) -- Servicedesk Facilities, IT Helpdesk, Repro A'dam, Repro R'dam, IT Beheer en Projecten
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
--AND sn.fac_srtnotificatie_code LIKE 'ORD%'
|
||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||
AND t.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_melding_datum > TO_DATE ('05092016', 'ddmmyyyy')
|
||
AND m.mld_melding_datum > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24);
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_ict_ordtrk
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"opdracht"'
|
||
|| ';"tracking_datumtijd"'
|
||
|| ';"tracking_code"'
|
||
|| ';"tracking_actie"'
|
||
|| ';"tracking_door"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| opdracht
|
||
|| '";"'
|
||
|| tracking_datumtijd
|
||
|| '";"'
|
||
|| tracking_code
|
||
|| '";"'
|
||
|| tracking_actie
|
||
|| '";"'
|
||
|| tracking_door
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_ict_ordtrk;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_ict_ordnot
|
||
AS
|
||
SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdracht,
|
||
--n.mld_opdr_note_aanmaak notitie_datumtijd,
|
||
TO_CHAR (n.mld_opdr_note_aanmaak, 'dd-mm-yyyy hh24:mi:ss') notitie_datumtijd,
|
||
--CASE WHEN LENGTH (n.mld_opdr_note_omschrijving) > 1000 THEN '[Zie FACILITOR]' ELSE REPLACE (REPLACE (n.mld_opdr_note_omschrijving, CHR(10), ' '), CHR(13), '') END notitie_omschrijving,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (n.mld_opdr_note_omschrijving, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') notitie_omschrijving,
|
||
pf.prs_perslid_naam_full notitie_door
|
||
FROM mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
mld_opdr_note n,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key IN (1, 2, 21, 41, 261) -- Servicedesk Facilities, IT Helpdesk, Repro A'dam, Repro R'dam, IT Beheer en Projecten
|
||
AND o.mld_opdr_key = n.mld_opdr_key
|
||
AND n.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_melding_datum > TO_DATE ('05092016', 'ddmmyyyy')
|
||
AND m.mld_melding_datum > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24);
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_ict_ordnot
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"opdracht"'
|
||
|| ';"notitie_datumtijd"'
|
||
|| ';"notitie_omschrijving"'
|
||
|| ';"notitie_door"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| opdracht
|
||
|| '";"'
|
||
|| notitie_datumtijd
|
||
|| '";"'
|
||
|| notitie_omschrijving
|
||
|| '";"'
|
||
|| notitie_door
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_ict_ordnot;
|
||
|
||
-- HOUT#53357: Data-export reserveringen.
|
||
CREATE OR REPLACE VIEW hout_v_rap_resbasis
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr nummer,
|
||
rsa.res_srtactiviteit_omschrijving activiteitsoort,
|
||
ra.res_activiteit_omschrijving activiteit,
|
||
--rrr.res_rsv_ruimte_omschrijving res_oms,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (rrr.res_rsv_ruimte_omschrijving, CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') res_oms,
|
||
rrr.res_rsv_ruimte_van van,
|
||
rrr.res_rsv_ruimte_tot tot,
|
||
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24 duur,
|
||
rrr.res_rsv_ruimte_bezoekers bezoekers,
|
||
--rrr.res_rsv_ruimte_bezoekers_shown bezoekers_shown,
|
||
rd.ins_discipline_omschrijving catalogus,
|
||
l.alg_locatie_code locatie_code,
|
||
l.alg_locatie_omschrijving locatie_oms,
|
||
g.alg_gebouw_code gebouw_code,
|
||
v.alg_verdieping_code verdieping,
|
||
COALESCE (rr.res_ruimte_nr, r.alg_ruimte_nr) ruimte,
|
||
ro.res_opstelling_omschrijving opstelling,
|
||
rro.res_ruimte_opstel_bezoekers capaciteit,
|
||
(SELECT res_status_fo_omschrijving FROM res_status_fo WHERE res_status_fo_key = rrr.res_status_fo_key)
|
||
fo_status,
|
||
pfc.prs_perslid_naam_full contact,
|
||
pfh.prs_perslid_naam_full host,
|
||
a.prs_afdeling_naam afdeling_code,
|
||
a.prs_afdeling_omschrijving afdeling_oms,
|
||
k.prs_kostenplaats_nr kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
(SELECT res_status_bo_omschrijving FROM res_status_bo WHERE res_status_bo_key = rrr.res_status_bo_key)
|
||
bo_status,
|
||
--rrr.res_rsv_ruimte_prijs prijs,
|
||
--rrr.res_rsv_ruimte_noshow no_show,
|
||
rrr.res_rsv_ruimte_aanmaak aanmaak,
|
||
rrr.res_rsv_ruimte_verwijder verwijder,
|
||
rrr.res_rsv_ruimte_dirtlevel dirtlevel
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ra,
|
||
res_srtactiviteit rsa,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r,
|
||
res_discipline rd,
|
||
res_opstelling ro,
|
||
prs_perslid pc,
|
||
prs_v_perslid_fullnames_all pfc,
|
||
prs_perslid ph,
|
||
prs_v_perslid_fullnames_all pfh,
|
||
prs_afdeling a,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_rsv_ruimte_van > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24)
|
||
AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE)
|
||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||
--AND ra.res_activiteit_verwijder IS NULL
|
||
AND ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key(+)
|
||
AND rr.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rr.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = l.alg_locatie_key
|
||
AND aog.alg_gebouw_key = g.alg_gebouw_key
|
||
AND aog.alg_verdieping_key = v.alg_verdieping_key
|
||
AND aog.alg_ruimte_key = r.alg_ruimte_key
|
||
AND rr.res_discipline_key = rd.ins_discipline_key
|
||
AND rro.res_opstelling_key = ro.res_opstelling_key(+)
|
||
AND rrr.res_rsv_ruimte_contact_key = pc.prs_perslid_key
|
||
AND pc.prs_perslid_key = pfc.prs_perslid_key
|
||
AND rrr.res_rsv_ruimte_host_key = ph.prs_perslid_key
|
||
AND ph.prs_perslid_key = pfh.prs_perslid_key
|
||
AND ph.prs_afdeling_key = a.prs_afdeling_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+);
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_resbasis
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"key"'
|
||
|| ';"nummer"'
|
||
|| ';"activiteitsoort"'
|
||
|| ';"activiteit"'
|
||
|| ';"res_oms"'
|
||
|| ';"van"'
|
||
|| ';"tot"'
|
||
|| ';"duur"'
|
||
|| ';"bezoekers"'
|
||
|| ';"catalogus"'
|
||
|| ';"locatie_code"'
|
||
|| ';"locatie_oms"'
|
||
|| ';"gebouw_code"'
|
||
|| ';"verdieping"'
|
||
|| ';"ruimte"'
|
||
|| ';"opstelling"'
|
||
|| ';"capaciteit"'
|
||
|| ';"fo_status"'
|
||
|| ';"contact"'
|
||
|| ';"host"'
|
||
|| ';"afdeling_code"'
|
||
|| ';"afdeling_oms"'
|
||
|| ';"kostenplaats_nr"'
|
||
|| ';"kostenplaats_oms"'
|
||
|| ';"bo_status"'
|
||
|| ';"aanmaak"'
|
||
|| ';"verwijder"'
|
||
|| ';"dirtlevel"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| key
|
||
|| '";"'
|
||
|| nummer
|
||
|| '";"'
|
||
|| activiteitsoort
|
||
|| '";"'
|
||
|| activiteit
|
||
|| '";"'
|
||
|| res_oms
|
||
|| '";"'
|
||
|| van
|
||
|| '";"'
|
||
|| tot
|
||
|| '";"'
|
||
|| duur
|
||
|| '";"'
|
||
|| bezoekers
|
||
|| '";"'
|
||
|| catalogus
|
||
|| '";"'
|
||
|| locatie_code
|
||
|| '";"'
|
||
|| locatie_oms
|
||
|| '";"'
|
||
|| gebouw_code
|
||
|| '";"'
|
||
|| verdieping
|
||
|| '";"'
|
||
|| ruimte
|
||
|| '";"'
|
||
|| opstelling
|
||
|| '";"'
|
||
|| capaciteit
|
||
|| '";"'
|
||
|| fo_status
|
||
|| '";"'
|
||
|| contact
|
||
|| '";"'
|
||
|| host
|
||
|| '";"'
|
||
|| afdeling_code
|
||
|| '";"'
|
||
|| afdeling_oms
|
||
|| '";"'
|
||
|| kostenplaats_nr
|
||
|| '";"'
|
||
|| kostenplaats_oms
|
||
|| '";"'
|
||
|| bo_status
|
||
|| '";"'
|
||
|| aanmaak
|
||
|| '";"'
|
||
|| verwijder
|
||
|| '";"'
|
||
|| dirtlevel
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_resbasis;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_resvoorz
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr nummer,
|
||
rv.van,
|
||
rv.tot,
|
||
rv.catalogus,
|
||
--rv.omschrijving,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (rv.omschrijving, CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') omschrijving,
|
||
rv.eenheid,
|
||
rv.aantal,
|
||
(SELECT res_status_bo_omschrijving FROM res_status_bo WHERE res_status_bo_key = rv.res_status_bo_key)
|
||
bo_status,
|
||
rv.aanmaak
|
||
FROM res_rsv_ruimte rrr,
|
||
(SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_levering van,
|
||
NULL tot,
|
||
d.ins_discipline_omschrijving catalogus,
|
||
ra.res_artikel_omschrijving omschrijving,
|
||
ra.res_artikel_eenheid eenheid,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
--ra.res_artikel_prijs res_prijs,
|
||
--COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw) btw,
|
||
--rra.res_rsv_artikel_prijs res_rsv_prijs,
|
||
rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aanmaak aanmaak,
|
||
rra.res_rsv_artikel_verwijder verwijder,
|
||
rra.res_rsv_artikel_dirtlevel dirtlevel
|
||
FROM res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline d
|
||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = d.ins_discipline_key
|
||
UNION ALL
|
||
SELECT rrd.res_rsv_ruimte_key,
|
||
rrd.res_rsv_deel_van van,
|
||
rrd.res_rsv_deel_tot tot,
|
||
d.ins_discipline_omschrijving catalogus,
|
||
rd.res_deel_omschrijving omschrijving,
|
||
rd.res_deel_eenheid eenheid,
|
||
1 aantal,
|
||
--rd.res_deel_prijs res_prijs,
|
||
--NULL btw,
|
||
--rrd.res_rsv_deel_prijs res_rsv_prijs,
|
||
rrd.res_status_bo_key,
|
||
rrd.res_rsv_deel_aanmaak aanmaak,
|
||
rrd.res_rsv_deel_verwijder verwijder,
|
||
rrd.res_rsv_deel_dirtlevel dirtlevel
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd, res_discipline d
|
||
WHERE rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key = d.ins_discipline_key) rv
|
||
WHERE rrr.res_rsv_ruimte_van > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24)
|
||
AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE)
|
||
AND rrr.res_rsv_ruimte_key = rv.res_rsv_ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_resvoorz
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"key"'
|
||
|| ';"nummer"'
|
||
|| ';"van"'
|
||
|| ';"tot"'
|
||
|| ';"catalogus"'
|
||
|| ';"omschrijving"'
|
||
|| ';"eenheid"'
|
||
|| ';"aantal"'
|
||
|| ';"bo_status"'
|
||
|| ';"aanmaak"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| key
|
||
|| '";"'
|
||
|| nummer
|
||
|| '";"'
|
||
|| van
|
||
|| '";"'
|
||
|| tot
|
||
|| '";"'
|
||
|| catalogus
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| eenheid
|
||
|| '";"'
|
||
|| aantal
|
||
|| '";"'
|
||
|| bo_status
|
||
|| '";"'
|
||
|| aanmaak
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_resvoorz;
|
||
|
||
CREATE OR REPLACE VIEW hout_v_rap_restrk
|
||
AS
|
||
SELECT TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) reservering,
|
||
--t.fac_tracking_datum tracking_datumtijd,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss') tracking_datumtijd,
|
||
sn.fac_srtnotificatie_code tracking_code,
|
||
--REPLACE (REPLACE (t.fac_tracking_oms, CHR(10), ' '), CHR(13), '') tracking_actie,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (t.fac_tracking_oms, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') tracking_actie,
|
||
pf.prs_perslid_naam_full tracking_door
|
||
FROM res_rsv_ruimte rrr,
|
||
fac_tracking t,
|
||
fac_srtnotificatie sn,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE rrr.res_rsv_ruimte_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
--AND sn.fac_srtnotificatie_code LIKE 'RES%'
|
||
AND sn.fac_srtnotificatie_xmlnode IN ('reservering', 'xreservering')
|
||
AND t.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.res_rsv_ruimte_van > ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -24)
|
||
AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE);
|
||
|
||
CREATE OR REPLACE VIEW hout_v_export_restrk
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"reservering"'
|
||
|| ';"tracking_datumtijd"'
|
||
|| ';"tracking_code"'
|
||
|| ';"tracking_actie"'
|
||
|| ';"tracking_door"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| reservering
|
||
|| '";"'
|
||
|| tracking_datumtijd
|
||
|| '";"'
|
||
|| tracking_code
|
||
|| '";"'
|
||
|| tracking_actie
|
||
|| '";"'
|
||
|| tracking_door
|
||
|| '"',
|
||
1
|
||
FROM hout_v_rap_restrk;
|
||
|
||
/* Formatted on 7-10-2016 12:24:06 (QP5 v5.136.908.31019) */
|
||
/*
|
||
CREATE OR REPLACE VIEW hout_v_ordbo2_mdw
|
||
(
|
||
prs_perslid_key,
|
||
prs_perslid_naam_full,
|
||
prs_perslid_naam_friendly
|
||
)
|
||
AS
|
||
SELECT DISTINCT pf.*
|
||
FROM prs_v_perslid_fullnames_all pf, fac_gebruikersgroep gg
|
||
WHERE pf.prs_perslid_key = gg.prs_perslid_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM fac_groeprechten
|
||
WHERE fac_groep_key = gg.fac_groep_key
|
||
AND fac_functie_key = 102);
|
||
*/
|
||
|
||
-- HOUT#54391: CUSTxx-notificaties naar A'dam (InterneDienstASD@houthoff.com)
|
||
-- of R'dam (InterneDienstASD@houthoff.com) bij RESNEW, RESUPD of
|
||
-- RESDEL van fiets-reserveringen voor vandaag!
|
||
CREATE OR REPLACE VIEW hout_v_noti_res_fiets
|
||
(
|
||
sender,
|
||
receiver,
|
||
text,
|
||
code,
|
||
key,
|
||
xkey,
|
||
xsender,
|
||
xemail,
|
||
xmobile,
|
||
attachments
|
||
)
|
||
AS
|
||
SELECT NULL sender,
|
||
NULL receiver,
|
||
REPLACE (
|
||
REPLACE (
|
||
lcl.x ('fac_srtnotificatie_oms', sn.fac_srtnotificatie_key, sn.fac_srtnotificatie_oms),
|
||
'##KEY##', TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr)),
|
||
'##DESC##', TO_CHAR (rd.res_deel_omschrijving)) onderwerp,
|
||
sn.fac_srtnotificatie_code,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL xkey,
|
||
NULL xsender,
|
||
DECODE (aog.alg_locatie_key, 21, 'InterneDienstASD@houthoff.com', 'InterneDienstRTD@houthoff.com') xemail,
|
||
NULL xmobile,
|
||
NULL attachments
|
||
FROM fac_tracking t,
|
||
res_rsv_ruimte rrr,
|
||
res_rsv_deel rrd,
|
||
res_deel rd,
|
||
alg_v_allonroerendgoed aog,
|
||
fac_srtnotificatie sn,
|
||
fac_notificatie_job nj
|
||
WHERE TRUNC (rrr.res_rsv_ruimte_tot) = TRUNC (SYSDATE) -- Voor vandaag
|
||
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key = 2481 -- Uitleen Fietsen
|
||
AND rrr.alg_ruimte_key = aog.alg_ruimte_key -- Losse voorziening
|
||
AND aog.alg_locatie_key IN (21, 25) -- A'dam of R'dam
|
||
AND rrr.res_rsv_ruimte_key = t.fac_tracking_refkey
|
||
AND ( (t.fac_srtnotificatie_key = 30 AND sn.fac_srtnotificatie_code = 'CUST01') -- RESNEW
|
||
OR (t.fac_srtnotificatie_key = 31 AND sn.fac_srtnotificatie_code = 'CUST02') -- RESUPD
|
||
OR (t.fac_srtnotificatie_key = 34 AND sn.fac_srtnotificatie_code = 'CUST03')) -- RESDEL
|
||
AND nj.fac_notificatie_job_view = 'HOUT_V_NOTI_RES_FIETS'
|
||
AND t.fac_tracking_datum BETWEEN nj.fac_notificatie_job_nextrun - (nj.fac_notificatie_job_interval / 24) AND nj.fac_notificatie_job_nextrun;
|
||
|
||
------ 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
|