Files
Customer/VEST/vest.sql
Robin Stoker d5ca5a47f6 VEST#76939 -- Foutje hersteld
svn path=/Customer/trunk/; revision=59362
2023-02-28 16:27:07 +00:00

1367 lines
61 KiB
SQL

--
-- $Id$
--
-- Script containing customer specific sql statements for the Vesteda database
DEFINE thisfile = 'VEST.SQL'
DEFINE dbuser = '^VEST'
DEFINE custid = 'VEST'
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 ------
--
-- Personen import
--
CREATE OR REPLACE PROCEDURE vest_import_perslid (p_import_key IN NUMBER)
AS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (400);
v_errorhint VARCHAR2 (400);
v_newline FAC_IMP_FILE.FAC_IMP_FILE_LINE%TYPE;
CURSOR c1 IS
SELECT DISTINCT p.prs_afdeling_naam afdeling, i.prs_afdeling_naam
FROM prs_afdeling p, fac_imp_perslid i
WHERE i.prs_afdeling_naam =
SUBSTR (p.prs_afdeling_omschrijving, 1, 15)
AND p.prs_afdeling_verwijder IS NULL;
BEGIN
BEGIN
SELECT fac_imp_file_line
INTO v_newline
FROM fac_imp_file
WHERE fac_import_key = p_import_key
AND fac_imp_file_index = 1;
IF v_newline LIKE
CHR (TO_NUMBER ('EF', 'xx'))
|| CHR (TO_NUMBER ('BB', 'xx'))
|| CHR (TO_NUMBER ('BF', 'xx'))
|| '%'
THEN
-- EF BB BF aangetroffen
fac.imp_writelog (p_import_key,
'W',
'Byte Order Mark aangetroffen',
'Bestand heeft onbehandeld UTF-8 formaat.'
);
v_newline := SUBSTR (v_newline, 4);
END IF;
-- Verwijder de dubbele quotes
v_newline := REPLACE (v_newline, '"');
UPDATE fac_imp_file
SET fac_imp_file_line = v_newline
WHERE fac_import_key = p_import_key
AND fac_imp_file_index = 1;
EXCEPTION WHEN OTHERS
THEN
fac.imp_writelog (p_import_key,
'E',
'Fout bij controle op Byte Order Mark',
''
);
END;
v_errorhint := 'Generieke update';
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
prs.import_perslid (p_import_key,
'13;14;15;16;0;0;6;1;3;2;' ||
'0;0;0;0;9;10;11;5;0;12;' ||
'7;4;0;8;0;0;0;0;0;0;'||
'0;0;0;0;0;0;0;0;0;0;'||
'0;0;0;0;0;0',
'Achternaam;Voornaam;Tussenvoegsel;SamAccountName;Email;Afdeling;Functie;Titel/Aanhef;Geslacht;Telefoonnummer;Mobiel nummer;Personeelsnummer;Locatie;Gebouw;Verdieping;Ruimte%'
);
UPDATE fac_imp_perslid
SET alg_locatie_code = (
SELECT a.alg_locatie_code
FROM alg_locatie a, fac_imp_perslid i
WHERE fac_imp_perslid.alg_locatie_code = a.alg_locatie_omschrijving);
UPDATE fac_imp_perslid
SET alg_gebouw_code = '001'
WHERE fac_imp_perslid.alg_locatie_code LIKE '%AMS%';
UPDATE fac_imp_perslid
SET alg_verdieping_volgnr = '0'
WHERE fac_imp_perslid.alg_locatie_code LIKE '%AMS%';
UPDATE fac_imp_perslid
SET alg_ruimte_nr = '001'
WHERE fac_imp_perslid.alg_locatie_code LIKE '%AMS%';
FOR rec IN c1
LOOP
BEGIN
UPDATE fac_imp_perslid
SET prs_afdeling_naam = rec.afdeling
WHERE prs_afdeling_naam = rec.prs_afdeling_naam;
END;
END LOOP;
DELETE FROM fac_imp_perslid
WHERE alg_locatie_code NOT IN (SELECT alg_locatie_code FROM alg_locatie);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key, 'E', v_errormsg, v_errorhint);
END vest_import_perslid;
/
CREATE OR REPLACE PROCEDURE vest_update_perslid (
p_import_key IN NUMBER
) IS
-- Alle personen verwijderen die niet meer in import bestand voorkomen.
CURSOR c_del
IS
SELECT p.prs_perslid_key, p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_oslogin IS NULL
AND p.prs_perslid_email IS NOT NULL
AND NOT EXISTS
(SELECT 'x'
FROM fac_imp_perslid i
WHERE UPPER(p.prs_perslid_email) = UPPER(i.prs_perslid_email));
v_count NUMBER;
BEGIN
-- generic update
SELECT count(*)
INTO v_count
FROM fac_imp_perslid;
IF v_count < 150
THEN
fac.imp_writelog (p_import_key,
'E',
'Het aantal te importeren personen is te klein ('
|| TO_CHAR (v_count) || ')',
'Zie Specificatie'
);
RETURN;
END IF;
-- 'LOGIN' betekent dat op basis van oslogin wordt gematched.
-- 'A' betekent altijd alle (andere/overige) werkplekken verwijderen
prs.update_perslid (p_import_key, 'EMAIL', NULL);
-- Verwijder personen die niet meer in de import voorkomen.
FOR rec IN c_del
LOOP
BEGIN
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
END;
END LOOP;
END vest_update_perslid;
/
CREATE OR REPLACE VIEW VEST_V_RAP_CATERINGDAGLIJST
(
RESKEY,
FCLT_F_DATUM,
RESNR,
VAN,
TOT,
FCLT_F_RUIMTE,
FCLT_F_CATALOGUS,
LEVERING,
VOORZIENING,
AANTAL,
OPMERKING,
AANTAL_PERS,
FCLT_F_GASTHEER_VROUW
)
AS
SELECT rr.res_rsv_ruimte_key,
rr.res_rsv_ruimte_van,
rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr,
TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi'),
TO_CHAR (rr.res_rsv_ruimte_tot, 'hh24:mi'),
r.alg_ruimte_nr || ' ' || r.alg_ruimte_omschrijving,
rd.ins_discipline_omschrijving,
TO_CHAR (rra.res_rsv_artikel_levering, 'hh24:mi'),
TRIM (ra.res_artikel_omschrijving),
rra.res_rsv_artikel_aantal,
rr.res_rsv_ruimte_opmerking,
rr.res_rsv_ruimte_bezoekers,
prs_perslid_naam_full
FROM res_rsv_ruimte rr,
alg_ruimte r,
res_artikel ra,
res_rsv_artikel rra,
prs_v_perslid_fullnames ppf,
res_reservering re,
res_discipline rd
WHERE rr.alg_ruimte_key = r.alg_ruimte_key
AND rra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rra.res_artikel_key = ra.res_artikel_key
AND rr.res_rsv_ruimte_contact_key = ppf.prs_perslid_key
AND rr.res_rsv_ruimte_host_key = ppf.prs_perslid_key
AND ra.res_discipline_key = rd.ins_discipline_key
AND re.res_reservering_key = rr.res_reservering_key
AND re.res_reservering_verwijder IS NULL;
CREATE OR REPLACE VIEW vest_v_rap_mahler
(
mld_key,
datum,
maand_uitgifte,
datum_uitgifte,
stempelnummer,
uitgegeven_aan, -- Afhankelijk van wel/niet extern, anders prs_perslid
bezoeker_van,
inrijdtijd,
uitrijdtijd,
toelichting
)
AS
SELECT m.mld_melding_key,
TRUNC (m.mld_melding_datum),
(SELECT TO_CHAR (TO_DATE (mld_kenmerkmelding_waarde, 'DD-MM-YYYY'),
'YYYY-MM')
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 21)
maand_uitgifte,
(SELECT TO_DATE (mld_kenmerkmelding_waarde, 'DD-MM-YYYY')
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 21)
datum_uitgifte,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 1)
stempelnummer,
COALESCE (
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 22),
(SELECT p.prs_perslid_naam_friendly
FROM PRS_V_PERSLID_FULLNAMES_ALL p
WHERE p.prs_perslid_key =
(SELECT fac.safe_to_number (
mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 184)))
uitgegeven_aan,
COALESCE (
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 23),
'Vesteda')
bezoeker_van,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 24)
inrijdtijd,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 25)
uitrijdtijd,
m.mld_melding_omschrijving toelichting
FROM mld_melding m
WHERE m.mld_stdmelding_key = 302;
CREATE OR REPLACE VIEW vest_v_rap_kluistoegang
(
datum,
bevoegd_persoon_1,
bevoegd_persoon_2,
datum_toegang,
reden_toegang,
maand
)
AS
SELECT m.mld_melding_datum,
(SELECT pf.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key =
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 41))
bp1,
(SELECT pf.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key =
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 42))
bp2,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 44)
datum_toegang,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 43)
reden_toegang,
TO_CHAR (m.mld_melding_datum, 'MM-YYYY') maand
FROM mld_melding m
WHERE m.mld_stdmelding_key = 101;
CREATE OR REPLACE VIEW vest_v_rap_wf_progress
(
wf,
melding_key,
melding_datum,
melding_onderwerp,
melding_status,
melding_behandelaar,
max_stap_melding_key,
max_stap_melding_datum,
max_stap_melding_onderwerp,
max_stap_melding_status,
max_stap_melding_behandelaar,
max_stap_stdmelding_key,
max_stap_stdmelding_oms,
melder,
melder_afdeling_code,
melder_afdeling_oms
)
AS
SELECT (SELECT mld_workflowstep_omschrijving FROM mld_workflowstep WHERE mld_workflowstep_key = x.mld_workflowstep_key)
wf,
x.mld_melding_key,
x.mld_melding_datum,
x.mld_melding_onderwerp,
x.mld_statuses_omschrijving melding_status,
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = x.mld_melding_behandelaar_key)
melding_behandelaar,
stap.mld_melding_key max_stap_melding_key,
stap.mld_melding_datum max_stap_melding_datum,
stap.mld_melding_onderwerp max_stap_melding_onderwerp,
stap.mld_statuses_omschrijving max_stap_melding_status,
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = stap.mld_melding_behandelaar_key)
max_stap_melding_behandelaar,
stap.mld_stdmelding_key max_stap_stdmelding_key,
stap.mld_stdmelding_omschrijving max_stap_stdmelding_oms,
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = x.prs_perslid_key)
melder,
x.prs_afdeling_naam,
x.prs_afdeling_omschrijving
FROM (SELECT m.mld_melding_key,
m.mld_melding_datum,
m.mld_melding_onderwerp,
ms.mld_statuses_omschrijving,
m.mld_melding_behandelaar_key,
m.mld_workflowstep_key,
p.prs_perslid_key,
a.prs_afdeling_naam,
a.prs_afdeling_omschrijving
FROM mld_melding m, mld_statuses ms, prs_perslid p, prs_afdeling a
WHERE m.mld_melding_status = ms.mld_statuses_key
AND m.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key) x
LEFT JOIN
(SELECT m.mld_melding_start_key,
m.mld_melding_key,
m.mld_melding_datum,
m.mld_melding_onderwerp,
ms.mld_statuses_omschrijving,
m.mld_melding_behandelaar_key,
sm.mld_stdmelding_key,
sm.mld_stdmelding_omschrijving
FROM mld_melding m, mld_statuses ms, mld_stdmelding sm
WHERE m.mld_workflowstep_key IS NOT NULL -- Beschouw alleen WF-stappen
AND m.mld_melding_status = ms.mld_statuses_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key) stap
ON x.mld_melding_key = stap.mld_melding_start_key;
CREATE OR REPLACE VIEW vest_v_ins_qrc_mld
AS
SELECT i.ins_deel_omschrijving hide_f_sort,
l.alg_locatie_code||' '||l.alg_locatie_omschrijving fclt_f_locatie,
o.alg_gebouw_omschrijving fclt_f_gebouw,
o.alg_plaatsaanduiding fclt_f_plaats,
d.ins_discipline_omschrijving fclt_f_discipline,
g.ins_srtgroep_omschrijving fclt_f_objectgroep,
s.ins_srtdeel_omschrijving fclt_f_objectsoort,
i.ins_deel_omschrijving fclt_f_identificatie,
d.ins_discipline_omschrijving||' / '||sm.mld_stdmelding_omschrijving fclt_f_melding,
i.ins_deel_key,
s.ins_srtdeel_key,
o.alg_gebouw_code,
o.alg_verdieping_code,
i.ins_discipline_key fclt_3d_discipline_key,
l.alg_locatie_key fclt_3d_locatie_key,
i.ins_alg_ruimte_type,
i.ins_alg_ruimte_key,
b.fac_bookmark_id hide_f_bookmark_id
FROM ins_deel i,
ins_v_alg_overzicht o,
ins_srtdeel s,
ins_srtgroep g,
ins_discipline d,
alg_locatie l,
fac_bookmark b,
mld_stdmelding sm,
mld_stdmelding_srtinst si
WHERE b.fac_bookmark_naam = 'QRC_MELDING'
AND (b.fac_bookmark_expire IS NULL OR b.fac_bookmark_expire > SYSDATE)
AND ins_deel_verwijder IS NULL
AND i.ins_deel_module = 'INS'
AND i.ins_deel_parent_key IS NULL
AND s.ins_srtdeel_key = i.ins_srtdeel_key
AND g.ins_srtgroep_key = s.ins_srtgroep_key
AND d.ins_discipline_key = g.ins_discipline_key
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
AND o.alg_locatie_key = i.ins_alg_locatie_key
AND i.ins_alg_locatie_key = l.alg_locatie_key
AND sm.mld_stdmelding_key = si.mld_stdmelding_key
AND si.ins_srtinstallatie_key = DECODE(si.ins_srtinstallatie_niveau,
'S', i.ins_srtdeel_key,
'G', s.ins_srtgroep_key,
'D', g.ins_discipline_key);
CREATE OR REPLACE VIEW vest_v_rap_uitleen
(
HIDE_F_REFKEY,
HIDE_F_FAC_TRACKING_DATUM,
INS_DEEL_KEY,
OBJECTSOORT,
OBJECT,
UITGELEEND_AAN,
IN_UIT,
TRACKING_DATUM
)
AS
SELECT t.fac_tracking_refkey sort_refkey,
t.fac_tracking_datum sort_datum,
d.ins_deel_key,
i.ins_srtdeel_omschrijving,
d.ins_deel_omschrijving,
DECODE (
t.fac_srtnotificatie_key,
108,
SUBSTR (REPLACE (fac_tracking_oms, CHR (10), ''),
( (INSTR (fac_tracking_oms, 'is uitgegeven aan')) + 18)),
NULL)
uitgeleend_aan,
DECODE (fac_srtnotificatie_key,
108, 'Uitgifte datum: ',
'Inname datum: ')
In_uit,
fac_tracking_datum
FROM fac_tracking t, ins_deel d, ins_srtdeel i
WHERE fac_srtnotificatie_key IN (108, 110)
AND t.fac_tracking_refkey = d.ins_deel_key
AND d.ins_srtdeel_key = i.ins_srtdeel_key;
CREATE OR REPLACE VIEW vest_v_rap_parkeer
(
ins_deel_key,
locatie,
identificatie,
eigenaar,
kenteken,
van,
tot,
bedrag,
factuurdatum
)
AS
SELECT i.ins_deel_key,
al.alg_locatie_omschrijving,
i.ins_deel_omschrijving,
(SELECT d.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel d, ins_kenmerk k
WHERE i.ins_deel_key = d.ins_deel_key
AND k.ins_kenmerk_key = d.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 42)
eigenaar,
(SELECT d.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel d, ins_kenmerk k
WHERE i.ins_deel_key = d.ins_deel_key
AND k.ins_kenmerk_key = d.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 44)
kenteken,
(SELECT d.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel d, ins_kenmerk k
WHERE i.ins_deel_key = d.ins_deel_key
AND k.ins_kenmerk_key = d.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 46)
van,
(SELECT d.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel d, ins_kenmerk k
WHERE i.ins_deel_key = d.ins_deel_key
AND k.ins_kenmerk_key = d.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 45)
tot,
(SELECT d.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel d, ins_kenmerk k
WHERE i.ins_deel_key = d.ins_deel_key
AND k.ins_kenmerk_key = d.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 41)
bedrag,
(SELECT d.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel d, ins_kenmerk k
WHERE i.ins_deel_key = d.ins_deel_key
AND k.ins_kenmerk_key = d.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 43)
factuurdatum
FROM ins_deel i,
alg_ruimte ar,
alg_verdieping av,
alg_gebouw ag,
alg_locatie al
WHERE i.ins_srtdeel_key = 41
AND i.ins_deel_verwijder IS NULL
AND i.ins_alg_ruimte_key = ar.alg_ruimte_key
AND i.ins_alg_ruimte_type = 'R'
AND ar.alg_verdieping_key = av.alg_verdieping_key
AND av.alg_gebouw_key = ag.alg_gebouw_key
AND ag.alg_locatie_key = al.alg_locatie_key;
CREATE OR REPLACE VIEW VEST_V_THEMA_VENDING
(
INS_DEEL_KEY,
ALG_RUIMTE_KEY,
WAARDE
)
AS
SELECT ins_deel_key,
ins_alg_ruimte_key,
DECODE (
(SELECT COUNT ( * )
FROM mld_melding m, mld_melding_object mo
WHERE m.mld_melding_key = mo.mld_melding_key
AND mo.ins_deel_key = d.ins_deel_key
AND mld_melding_status IN (0, 2, 3, 4, 7, 99)),
0,
'Normaal',
'Defect')
ins_status
FROM ins_deel d
WHERE ins_discipline_key = 183;
CREATE OR REPLACE VIEW VEST_V_THEMA_GEBOUW
(
INS_DEEL_KEY,
ALG_RUIMTE_KEY,
WAARDE
)
AS
SELECT ins_deel_key,
ins_alg_ruimte_key,
DECODE (
(SELECT COUNT ( * )
FROM mld_melding m, mld_melding_object mo
WHERE m.mld_melding_key = mo.mld_melding_key
AND mo.ins_deel_key = d.ins_deel_key
AND mld_melding_status IN (0, 2, 3, 4, 7, 99)),
0,
'Normaal',
'Defect')
ins_status
FROM ins_deel d
WHERE ins_discipline_key = 184;
CREATE OR REPLACE VIEW VEST_V_THEMA_ICT
(
INS_DEEL_KEY,
ALG_RUIMTE_KEY,
WAARDE
)
AS
SELECT ins_deel_key,
ins_alg_ruimte_key,
DECODE (
(SELECT COUNT ( * )
FROM mld_melding m, mld_melding_object mo
WHERE m.mld_melding_key = mo.mld_melding_key
AND mo.ins_deel_key = d.ins_deel_key
AND mld_melding_status IN (0, 2, 3, 4, 7, 99)),
0,
'Normaal',
'Defect')
ins_status
FROM ins_deel d
WHERE ins_discipline_key = 186;
CREATE OR REPLACE VIEW VEST_V_THEMA_INVENTARIS
(
INS_DEEL_KEY,
ALG_RUIMTE_KEY,
WAARDE
)
AS
SELECT ins_deel_key,
ins_alg_ruimte_key,
DECODE (
(SELECT COUNT ( * )
FROM mld_melding m, mld_melding_object mo
WHERE m.mld_melding_key = mo.mld_melding_key
AND mo.ins_deel_key = d.ins_deel_key
AND mld_melding_status IN (0, 2, 3, 4, 7, 99)),
0,
'Normaal',
'Defect')
ins_status
FROM ins_deel d
WHERE ins_discipline_key = 182;
CREATE OR REPLACE VIEW VEST_V_THEMA_VEILIGHEID
(
INS_DEEL_KEY,
ALG_RUIMTE_KEY,
WAARDE
)
AS
SELECT ins_deel_key,
ins_alg_ruimte_key,
DECODE (
(SELECT COUNT ( * )
FROM mld_melding m, mld_melding_object mo
WHERE m.mld_melding_key = mo.mld_melding_key
AND mo.ins_deel_key = d.ins_deel_key
AND mld_melding_status IN (0, 2, 3, 4, 7, 99)),
0,
'Normaal',
'Defect')
ins_status
FROM ins_deel d
WHERE ins_discipline_key = 181;
CREATE OR REPLACE VIEW vest_v_wpl_pstatus
(
perslid_key,
voornaam,
naam,
tussenvoegsel,
voorletters,
email,
telefoonnr,
mobiel,
oslogin,
kostenplaats,
afdeling,
functie,
budget,
extra_budget,
totaal_budget,
declaratie_concept,
declaratie_definitief,
h2w_concept,
h2w_definitief,
totaal_concept,
totaal_definitief,
restbudget,
budget_verval
)
AS
SELECT p.prs_perslid_key,
p.prs_perslid_voornaam,
p.prs_perslid_naam,
p.prs_perslid_tussenvoegsel,
p.prs_perslid_voorletters,
p.prs_perslid_email,
p.prs_perslid_telefoonnr,
p.prs_perslid_mobiel,
p.prs_perslid_oslogin,
k.prs_kostenplaats_omschrijving,
a.prs_afdeling_naam,
f.prs_srtperslid_omschrijving,
(SELECT fac.safe_to_number (ud.fac_usrdata_prijs)
FROM prs_kenmerklink kml,
prs_kenmerk km,
fac_kenmerkdomein kd,
fac_usrdata ud
WHERE kml.prs_link_key = p.prs_perslid_key
AND kml.prs_kenmerk_key = km.prs_kenmerk_key
AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND kd.fac_usrtab_key = ud.fac_usrtab_key
AND fac.safe_to_number (kml.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND kml.prs_kenmerk_key = 1001) --Kenmerk extra_budget
budget,
(SELECT fac.safe_to_number (ud.fac_usrdata_prijs)
FROM prs_kenmerklink kml,
prs_kenmerk km,
fac_kenmerkdomein kd,
fac_usrdata ud
WHERE kml.prs_link_key = p.prs_perslid_key
AND kml.prs_kenmerk_key = km.prs_kenmerk_key
AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND kd.fac_usrtab_key = ud.fac_usrtab_key
AND fac.safe_to_number (kml.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND kml.prs_kenmerk_key = 1002) --Kenmerk extra_budget
extra_budget,
COALESCE (
(SELECT fac.safe_to_number (ud.fac_usrdata_prijs)
FROM prs_kenmerklink kml,
prs_kenmerk km,
fac_kenmerkdomein kd,
fac_usrdata ud
WHERE kml.prs_link_key = p.prs_perslid_key
AND kml.prs_kenmerk_key = km.prs_kenmerk_key
AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND kd.fac_usrtab_key = ud.fac_usrtab_key
AND fac.safe_to_number (kml.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND kml.prs_kenmerk_key = 1002),
0)
+ COALESCE (
(SELECT fac.safe_to_number (ud.fac_usrdata_prijs)
FROM prs_kenmerklink kml,
prs_kenmerk km,
fac_kenmerkdomein kd,
fac_usrdata ud
WHERE kml.prs_link_key = p.prs_perslid_key
AND kml.prs_kenmerk_key = km.prs_kenmerk_key
AND km.fac_kenmerkdomein_key =
kd.fac_kenmerkdomein_key
AND kd.fac_usrtab_key = ud.fac_usrtab_key
AND fac.safe_to_number (kml.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND kml.prs_kenmerk_key = 1001),
0)
AS totaal_budget,
(SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0)
FROM mld_kenmerkmelding kmm,
mld_kenmerk km,
mld_melding m,
mld_srtkenmerk sk
WHERE m.mld_melding_key = kmm.mld_melding_key
AND km.mld_kenmerk_key = kmm.mld_kenmerk_key
AND p.prs_perslid_key = m.prs_perslid_key_voor
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie
AND m.mld_stdmelding_key = 342 -- Declaratieformulier
AND m.mld_melding_status IN (0, 2, 3, 4))
AS declaratie_concept,
(SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0)
FROM mld_kenmerkmelding kmm,
mld_kenmerk km,
mld_melding m,
mld_srtkenmerk sk
WHERE m.mld_melding_key = kmm.mld_melding_key
AND km.mld_kenmerk_key = kmm.mld_kenmerk_key
AND p.prs_perslid_key = m.prs_perslid_key_voor
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie
AND m.mld_stdmelding_key = 342 -- Declaratieformulier
AND m.mld_melding_status IN (5, 6))
AS declaratie_definitief,
(SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0)
FROM mld_kenmerkmelding kmm,
mld_kenmerk km,
mld_melding m,
mld_srtkenmerk sk
WHERE m.mld_melding_key = kmm.mld_melding_key
AND km.mld_kenmerk_key = kmm.mld_kenmerk_key
AND p.prs_perslid_key = m.prs_perslid_key_voor
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie
AND m.mld_stdmelding_key = 343 -- H2W
AND m.mld_melding_status IN (0, 2, 3, 4))
AS h2w_concept,
(SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0)
FROM mld_kenmerkmelding kmm,
mld_kenmerk km,
mld_melding m,
mld_srtkenmerk sk
WHERE m.mld_melding_key = kmm.mld_melding_key
AND km.mld_kenmerk_key = kmm.mld_kenmerk_key
AND p.prs_perslid_key = m.prs_perslid_key_voor
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie
AND m.mld_stdmelding_key = 343 -- H2W
AND m.mld_melding_status IN (5, 6))
AS h2w_definitief,
(SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0)
FROM mld_kenmerkmelding kmm,
mld_kenmerk km,
mld_melding m,
mld_srtkenmerk sk
WHERE m.mld_melding_key = kmm.mld_melding_key
AND km.mld_kenmerk_key = kmm.mld_kenmerk_key
AND p.prs_perslid_key = m.prs_perslid_key_voor
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie
AND m.mld_melding_status IN (0, 2, 3, 4))
AS totaal_concept,
(SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0)
FROM mld_kenmerkmelding kmm,
mld_kenmerk km,
mld_melding m,
mld_srtkenmerk sk
WHERE m.mld_melding_key = kmm.mld_melding_key
AND km.mld_kenmerk_key = kmm.mld_kenmerk_key
AND p.prs_perslid_key = m.prs_perslid_key_voor
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie
AND m.mld_melding_status IN (5, 6))
AS totaal_definitief,
COALESCE (
(SELECT fac.safe_to_number (ud.fac_usrdata_prijs)
FROM prs_kenmerklink kml,
prs_kenmerk km,
fac_kenmerkdomein kd,
fac_usrdata ud
WHERE kml.prs_link_key = p.prs_perslid_key
AND kml.prs_kenmerk_key = km.prs_kenmerk_key
AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND kd.fac_usrtab_key = ud.fac_usrtab_key
AND fac.safe_to_number (kml.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND kml.prs_kenmerk_key = 1001),
0)
+ COALESCE (
(SELECT fac.safe_to_number (ud.fac_usrdata_prijs)
FROM prs_kenmerklink kml,
prs_kenmerk km,
fac_kenmerkdomein kd,
fac_usrdata ud
WHERE kml.prs_link_key = p.prs_perslid_key
AND kml.prs_kenmerk_key = km.prs_kenmerk_key
AND km.fac_kenmerkdomein_key =
kd.fac_kenmerkdomein_key
AND kd.fac_usrtab_key = ud.fac_usrtab_key
AND fac.safe_to_number (kml.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND kml.prs_kenmerk_key = 1002),
0)
- (SELECT COALESCE (SUM (kmm.mld_kenmerkmelding_waarde), 0)
FROM mld_kenmerkmelding kmm,
mld_kenmerk km,
mld_melding m,
mld_srtkenmerk sk
WHERE m.mld_melding_key = kmm.mld_melding_key
AND km.mld_kenmerk_key = kmm.mld_kenmerk_key
AND p.prs_perslid_key = m.prs_perslid_key_voor
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_key = 252 -- Kenmerksoort totaal declaratie
AND m.mld_melding_status IN (0, 2, 3, 4, 5, 6))
AS restbudget,
b.budget_verval
FROM ( SELECT prs_perslid_key,
budget,
extra_budget,
SUM (mld_kenmerkmelding_waarde) AS budget_verval -- Dit moet nog worden bepaald.
FROM (SELECT prs_perslid_key,
budget,
extra_budget,
mld_kenmerkmelding_waarde,
factuurdatum,
mndverval,
MONTHS_BETWEEN (
SYSDATE,
TO_DATE (factuurdatum, 'DD-MM-YYYY'))
mndtussen
FROM (SELECT pbudget.prs_perslid_key,
pbudget.budget,
pbudget.extra_budget,
kmmverv.mld_kenmerkmelding_waarde,
(SELECT MAX (fac_usrdata_volgnr)
FROM fac_usrdata
WHERE fac_usrdata_verwijder IS NULL
AND fac_usrtab_key = 141 --Eigen tabel Verval wpl (mnd)
AND fac.safe_to_number (
fac_usrdata_code) =
kmverv.mld_kenmerk_key)
mndverval,
DECODE (
kmverv.mld_kenmerk_key,
281, -- kenmerk Declaratie Beeldscherm
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 301 --Kenmerk factuurdatum Beeldscherm
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
282, -- kenmerk Declaratie Beeldscherm-arm
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 302 --Kenmerk factuurdatum Beeldscherm-arm
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
283, -- kenmerk Declaratie Bureau
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 303 --Kenmerk factuurdatum Bureau
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
284, -- kenmerk Declaratie Bureaulamp
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 304 --Kenmerk factuurdatum Bureaulamp
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
285, -- kenmerk Declaratie Bureaustoel
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 305 --Kenmerk factuurdatum Bureaustoel
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
286, -- kenmerk Declaratie Laptophouder
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 306 --Kenmerk factuurdatum Laptophouder
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
287, -- kenmerk Declaratie Muis
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 307 --Kenmerk factuurdatum Muis
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
288, -- kenmerk Declaratie Toetsenbord
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 308 --Kenmerk factuurdatum Toetsenbord
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
289, -- kenmerk Declaratie Voetensteun
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 309 --Kenmerk factuurdatum Voetensteun
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
290, -- kenmerk Declaratie Webcam
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 310 --Kenmerk factuurdatum Webcam
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
291, -- kenmerk Declaratie Zit-sta verhoger
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 311 --Kenmerk factuurdatum Zit-sta verhoger
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
292, -- kenmerk Declaratie Overig
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 312 --Kenmerk factuurdatum Overig
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key),
(SELECT DISTINCT
fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 344 --Kenmerk factuurdatum (bij stdmelding Bestelling Health2Work)
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key =
mverv.mld_melding_key))
AS factuurdatum
FROM (SELECT pa.prs_perslid_key,
(SELECT fac.safe_to_number (
ud.fac_usrdata_prijs)
FROM prs_kenmerklink kml,
prs_kenmerk km,
fac_kenmerkdomein kd,
fac_usrdata ud
WHERE prs_link_key =
pa.prs_perslid_key
AND kml.prs_kenmerk_key =
km.prs_kenmerk_key
AND km.fac_kenmerkdomein_key =
kd.fac_kenmerkdomein_key
AND kd.fac_usrtab_key =
ud.fac_usrtab_key
AND fac.safe_to_number(kml.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND kml.prs_kenmerk_key =
1001) --Kenmerk budget
budget,
(SELECT fac.safe_to_number (
ud.fac_usrdata_prijs)
FROM prs_kenmerklink kml,
prs_kenmerk km,
fac_kenmerkdomein kd,
fac_usrdata ud
WHERE prs_link_key =
pa.prs_perslid_key
AND kml.prs_kenmerk_key =
km.prs_kenmerk_key
AND km.fac_kenmerkdomein_key =
kd.fac_kenmerkdomein_key
AND kd.fac_usrtab_key =
ud.fac_usrtab_key
AND fac.safe_to_number(kml.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND kml.prs_kenmerk_key =
1002) --Kenmerk extra_budget
extra_budget
FROM prs_perslid pa
WHERE pa.prs_afdeling_key > 1) pbudget,
mld_melding mverv,
mld_kenmerkmelding kmmverv,
mld_kenmerk kmverv
WHERE kmmverv.mld_melding_key =
mverv.mld_melding_key
AND kmverv.mld_kenmerk_key =
kmmverv.mld_kenmerk_key
AND kmverv.mld_srtkenmerk_key = 253 --Kenmerksoort Declaratie
AND mverv.prs_perslid_key_voor =
pbudget.prs_perslid_key))
WHERE (TO_NUMBER (mndverval) < TO_NUMBER (mndtussen))
GROUP BY prs_perslid_key, budget, extra_budget) b,
prs_perslid p,
prs_afdeling a,
prs_srtperslid f,
prs_kostenplaats k
WHERE p.prs_perslid_key = b.prs_perslid_key(+)
AND a.prs_afdeling_key = p.prs_afdeling_key
AND f.prs_srtperslid_key = p.prs_srtperslid_key
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND p.prs_afdeling_key > 1;
CREATE OR REPLACE VIEW vest_v_wpl_declaraties
(
perslid_key,
voornaam,
naam,
tussenvoegsel,
voorletters,
email,
telefoonnr,
mobiel,
oslogin,
kostenplaats,
afdeling,
functie,
leverancier,
categorie,
bedrag,
status,
datum_definitief,
factuurdatum,
budget,
extra_budget,
totaal_budget,
decl_concept,
decl_goedgekeurd,
h2w_concept,
h2w_goedgekeurd,
totaal_concept,
totaal_goedgekeurd,
restbudget,
melding_key
)
AS
SELECT DISTINCT p.perslid_key,
p.voornaam,
p.naam,
p.tussenvoegsel,
p.voorletters,
p.email,
p.telefoonnr,
p.mobiel,
p.oslogin,
p.kostenplaats,
p.afdeling,
p.functie,
DECODE (m.mld_stdmelding_key,
342, 'Vrije bestelling',
343, 'Health2Work',
NULL),
km.mld_kenmerk_omschrijving,
fac.safe_to_number (kmm.mld_kenmerkmelding_waarde),
DECODE (m.mld_melding_status,
0, 'Ingediend',
1, 'Afgewezen',
2, x.fac_usrdata_omschr,
3, x.fac_usrdata_omschr,
4, x.fac_usrdata_omschr,
5, 'Goedgekeurd',
6, 'Goedgekeurd',
NULL), -- Er is een onderscheid tussen concept en ingediend via een kenmerk zodra de melding nog niet in behandeling is.
DECODE (
m.mld_stdmelding_key,
342, -- Als het de stdmelding Declaratie is, dan kijken naar de tracking, bij H2W is er geen tracking MLDAFM, maar de melding is meteen afgehandeld, dus gevuld kenmerk ophalen.
(SELECT MAX (fac_tracking_datum)
FROM fac_tracking t, fac_srtnotificatie sn
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'MLDAFM'
AND t.fac_tracking_refkey = m.mld_melding_key),
(SELECT DISTINCT
fac.safe_to_date (fkmm.mld_kenmerkmelding_waarde,
'DD-MM-YYYY')
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 344 --Kenmerk factuurdatum bij melding Bestelling Health2Work
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key))
AS datum_definitief,
(fac.safe_to_date (
DECODE (
kmm.mld_kenmerk_key,
281, -- kenmerk Declaratie Beeldscherm
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 301 --Kenmerk factuurdatum Beeldscherm
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
282, -- kenmerk Declaratie Beeldscherm-arm
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 302 --Kenmerk factuurdatum Beeldscherm-arm
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
283, -- kenmerk Declaratie Bureau
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 303 --Kenmerk factuurdatum Bureau
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
284, -- kenmerk Declaratie Bureaulamp
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 304 --Kenmerk factuurdatum Bureaulamp
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
285, -- kenmerk Declaratie Bureaustoel
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 305 --Kenmerk factuurdatum Bureaustoel
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
286, -- kenmerk Declaratie Laptophouder
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 306 --Kenmerk factuurdatum Laptophouder
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
287, -- kenmerk Declaratie Muis
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 307 --Kenmerk factuurdatum Muis
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
288, -- kenmerk Declaratie Toetsenbord
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 308 --Kenmerk factuurdatum Toetsenbord
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
289, -- kenmerk Declaratie Voetensteun
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 309 --Kenmerk factuurdatum Voetensteun
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
290, -- kenmerk Declaratie Webcam
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 310 --Kenmerk factuurdatum Webcam
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
291, -- kenmerk Declaratie Zit-sta verhoger
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 311 --Kenmerk factuurdatum Zit-sta verhoger
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
292, -- kenmerk Declaratie Overig
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 312 --Kenmerk factuurdatum Overig
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key),
(SELECT DISTINCT fkmm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding fkmm
WHERE fkmm.mld_kenmerk_key = 344 --Kenmerk factuurdatum bij melding Bestelling Health2Work
AND fkmm.mld_kenmerkmelding_verwijder IS NULL
AND fkmm.mld_melding_key = m.mld_melding_key)),
'DD-MM-YYYY'))
AS factuurdatum,
p.budget,
p.extra_budget,
p.totaal_budget,
p.declaratie_concept,
p.declaratie_definitief,
p.h2w_concept,
p.h2w_definitief,
p.totaal_concept,
p.totaal_definitief,
p.restbudget,
m.mld_melding_key
FROM vest_v_wpl_pstatus p,
mld_melding m,
mld_srtkenmerk skm,
mld_kenmerk km,
mld_kenmerkmelding kmm,
(SELECT status_ud.fac_usrdata_omschr, status_kmm.mld_melding_key
FROM mld_kenmerkmelding status_kmm,
mld_srtkenmerk status_skm,
mld_kenmerk status_km,
fac_usrdata status_ud,
fac_usrtab status_ut
WHERE status_kmm.mld_kenmerkmelding_verwijder IS NULL
AND status_kmm.mld_kenmerk_key = status_km.mld_kenmerk_key
AND status_skm.mld_srtkenmerk_key =
status_km.mld_srtkenmerk_key
AND status_ut.fac_usrtab_key = 123 -- Eigen tabel 'Status declaratie'
AND status_ut.fac_usrtab_key = status_ud.fac_usrtab_key
AND status_ud.fac_usrdata_key =
fac.safe_to_number (
status_kmm.mld_kenmerkmelding_waarde)) x
WHERE m.mld_melding_key = kmm.mld_melding_key
AND kmm.mld_kenmerk_key = km.mld_kenmerk_key
AND skm.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND m.mld_stdmelding_key IN (342, 343) -- Stdmeldingen Declaratieformulier & Bestelling H2W
AND skm.mld_srtkenmerk_key = 253 --srtkenmerk declaratie (hier zijn alle categorieen een afgeleide van)
AND m.mld_melding_status IN (0, 2, 3, 4, 5, 6) --Status 1 bewust niet meegenomen, anders zou dit als bedrag ook (onterecht) mee gaan tellen
AND m.mld_melding_key = x.mld_melding_key(+)
AND m.prs_perslid_key_voor = p.perslid_key
UNION ALL
SELECT pa.perslid_key,
pa.voornaam,
pa.naam,
pa.tussenvoegsel,
pa.voorletters,
pa.email,
pa.telefoonnr,
pa.mobiel,
pa.oslogin,
pa.kostenplaats,
pa.afdeling,
pa.functie,
NULL,
NULL,
NULL,
NULL,
NULL,
(fac.safe_to_date (NULL, 'DD-MM-YYYY')),
pa.budget,
pa.extra_budget,
pa.totaal_budget,
pa.declaratie_concept,
pa.declaratie_definitief,
pa.h2w_concept,
pa.h2w_definitief,
pa.totaal_concept,
pa.totaal_definitief,
pa.restbudget,
NULL
FROM vest_v_wpl_pstatus pa
WHERE pa.perslid_key NOT IN
(SELECT p.perslid_key
FROM vest_v_wpl_pstatus p,
mld_melding m,
mld_srtkenmerk skm,
mld_kenmerk km,
mld_kenmerkmelding kmm
WHERE m.mld_melding_key = kmm.mld_melding_key
AND kmm.mld_kenmerk_key = km.mld_kenmerk_key
AND skm.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND m.mld_stdmelding_key IN (342, 343) -- Stdmeldingen Declaratieformulier & Bestelling H2W
AND skm.mld_srtkenmerk_key = 241 --srtkenmerk declaratie (hier zijn alle categorieen een afgeleide van)
AND m.mld_melding_status IN (0, 2, 3, 4, 5, 6) --Status 1 bewust niet meegenomen, anders zou dit als bedrag ook (onterecht) mee gaan tellen
AND m.prs_perslid_key_voor = p.perslid_key);
CREATE OR REPLACE VIEW vest_v_werkplekbudget
(
prs_perslid_key,
restbudget
)
AS
SELECT x.perslid_key,
DECODE (
(SELECT p.prs_kenmerklink_waarde
FROM prs_kenmerklink p
WHERE p.prs_link_key = x.perslid_key
AND prs_kenmerklink_niveau = 'P'
AND prs_kenmerk_key = 1020), --Kenmerk of er een thuiswerkovereenkomst is getekend, zonder OVK is budget altijd 0.
NULL,
0,
x.restbudget)
FROM ( SELECT perslid_key, restbudget AS restbudget
FROM vest_v_wpl_declaraties
GROUP BY perslid_key, restbudget) x;
CREATE OR REPLACE FORCE VIEW vest_v_wpl_portalh2wmobile
(
perslid_key,
link
)
AS
SELECT prs_perslid_key,
'Klik hier om het assortiment te bekijken van Health2Work en een bestelling te doen.'
FROM prs_perslid;
------ 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