1960 lines
74 KiB
SQL
1960 lines
74 KiB
SQL
/* Formatted on 8/7/2021 14:04:29 (QP5 v5.336) */
|
|
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific sql statements for the FACILITOR database
|
|
-- Ook als het script gedraaid wordt voor de verkeerde cust wordt er een logfile gemaakt.
|
|
-- (dit in tegenstelling tot sample_xxxx.sql)
|
|
|
|
DEFINE thisfile = 'AKZO.SQL'
|
|
DEFINE dbuser = '^AKZO'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
|
|
SELECT adm.getscriptspoolfile ('&thisfile') AS fcltlogfile FROM DUAL;
|
|
|
|
SPOOL &fcltlogfile
|
|
WHENEVER SQLERROR EXIT;
|
|
|
|
SELECT adm.checkscriptcust ('&dbuser') AS fcltcusttxt FROM DUAL;
|
|
|
|
WHENEVER SQLERROR CONTINUE;
|
|
---------------------------------------
|
|
PROMPT &fcltcusttxt
|
|
---------------------------------------
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
CREATE OR REPLACE PACKAGE AKZO
|
|
AS
|
|
PROCEDURE upsert_inskenmerk (p_deel_key IN NUMBER,
|
|
p_srtkenmerk_key IN NUMBER,
|
|
p_waarde IN VARCHAR2);
|
|
|
|
PROCEDURE mld_after_insert (p_melding_key IN NUMBER);
|
|
|
|
PROCEDURE prs_mandaten;
|
|
|
|
PROCEDURE prs_autorisaties;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PACKAGE BODY AKZO
|
|
AS
|
|
PROCEDURE upsert_inskenmerk (p_deel_key IN NUMBER,
|
|
p_srtkenmerk_key IN NUMBER,
|
|
p_waarde IN VARCHAR2)
|
|
AS
|
|
v_kenmerk_key NUMBER;
|
|
v_srtkenmerk_type VARCHAR2 (1);
|
|
v_waarde VARCHAR2 (255);
|
|
v_objectnaam VARCHAR2 (30);
|
|
v_kolomnaam VARCHAR2 (30);
|
|
v_kolomtxt VARCHAR2 (30);
|
|
v_errormsg VARCHAR2 (1024);
|
|
v_aanduiding VARCHAR (200);
|
|
sql_stmt VARCHAR2 (1000);
|
|
ccount NUMBER;
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
|
|
v_kenmerkdeel_key NUMBER;
|
|
BEGIN
|
|
IF p_srtkenmerk_key IS NOT NULL AND p_waarde IS NOT NULL
|
|
THEN
|
|
v_errormsg :=
|
|
'Fout bepalen kenmerk van soort [' || p_srtkenmerk_key || ']';
|
|
|
|
SELECT k.ins_kenmerk_key, sk.ins_srtkenmerk_kenmerktype
|
|
INTO v_kenmerk_key, v_srtkenmerk_type
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
ins_v_aanwezigkenmerk k,
|
|
ins_v_aanwezigsrtkenmerk sk
|
|
WHERE d.ins_deel_key = p_deel_key
|
|
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND k.ins_srtkenmerk_key = p_srtkenmerk_key
|
|
AND ( ( k.ins_srtinstallatie_key = sd.ins_srtdeel_key
|
|
AND k.ins_kenmerk_niveau = 'S')
|
|
OR ( k.ins_srtinstallatie_key =
|
|
sg.ins_srtgroep_key
|
|
AND k.ins_kenmerk_niveau = 'G')
|
|
OR ( k.ins_srtinstallatie_key =
|
|
sg.ins_discipline_key
|
|
AND k.ins_kenmerk_niveau = 'D'))
|
|
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
|
|
|
|
IF v_srtkenmerk_type IN ('R', 'S')
|
|
THEN
|
|
v_errormsg := 'Fout bepalen eigen tabel';
|
|
|
|
SELECT COUNT (*)
|
|
INTO ccount
|
|
FROM ins_srtkenmerk sk, fac_kenmerkdomein d
|
|
WHERE sk.ins_srtkenmerk_key = p_srtkenmerk_key
|
|
AND sk.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
|
AND d.fac_usrtab_key IS NOT NULL;
|
|
|
|
v_errormsg :=
|
|
'Fout bepalen nieuwe waarde [' || p_waarde || ']';
|
|
|
|
IF ccount = 1
|
|
THEN -- Eigen tabel
|
|
SELECT TO_CHAR (ud.fac_usrdata_key)
|
|
INTO v_waarde
|
|
FROM ins_srtkenmerk sk,
|
|
fac_kenmerkdomein d,
|
|
fac_v_aanwezigusrdata ud
|
|
WHERE sk.ins_srtkenmerk_key = p_srtkenmerk_key
|
|
AND sk.fac_kenmerkdomein_key =
|
|
d.fac_kenmerkdomein_key
|
|
AND d.fac_usrtab_key = ud.fac_usrtab_key
|
|
AND UPPER (TRIM (ud.fac_usrdata_omschr)) =
|
|
UPPER (p_waarde);
|
|
ELSE -- FACILITOR view/tabel waarbij we uitgaan van de key
|
|
v_waarde := p_waarde;
|
|
END IF;
|
|
ELSE -- C(haracter)/D(ate)/N(umeric)
|
|
v_waarde := p_waarde;
|
|
END IF;
|
|
|
|
v_errormsg := 'Fout bepalen huidige waarde';
|
|
|
|
SELECT COUNT (*), MAX (ins_kenmerkdeel_key)
|
|
INTO ccount, v_kenmerkdeel_key
|
|
FROM ins_v_aanwezigkenmerkdeel
|
|
WHERE ins_deel_key = p_deel_key
|
|
AND ins_kenmerk_key = v_kenmerk_key;
|
|
|
|
IF ccount = 0
|
|
THEN
|
|
v_errormsg := 'Fout toevoegen waarde [' || v_waarde || ']';
|
|
|
|
INSERT INTO ins_kenmerkdeel (ins_deel_key,
|
|
ins_kenmerk_key,
|
|
ins_kenmerkdeel_waarde)
|
|
VALUES (p_deel_key, v_kenmerk_key, v_waarde);
|
|
ELSE
|
|
v_errormsg := 'Fout bijwerken waarde [' || v_waarde || ']';
|
|
|
|
UPDATE ins_kenmerkdeel
|
|
SET ins_kenmerkdeel_waarde = v_waarde
|
|
WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
|
END IF;
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog ('p_deel_key',
|
|
'W',
|
|
v_aanduiding || v_errormsg,
|
|
'upsert_inskenmerk');
|
|
END;
|
|
|
|
PROCEDURE mld_after_insert (p_melding_key IN NUMBER)
|
|
AS
|
|
v_errormsg VARCHAR2 (1024);
|
|
v_stdmelding_key NUMBER (10);
|
|
v_discipline_key NUMBER (10);
|
|
v_srtgroep_key NUMBER (10);
|
|
v_srtdeel_key NUMBER (10);
|
|
v_srtdeel_code VARCHAR2 (50);
|
|
v_perslid_naam VARCHAR (200);
|
|
v_perslid_voornaam VARCHAR (200);
|
|
v_perslid_tussenvoegsel VARCHAR (15);
|
|
v_perslid_geslacht NUMBER (10);
|
|
v_perslid_telefoonnr VARCHAR (15);
|
|
v_perslid_email VARCHAR (200);
|
|
v_startdatum DATE;
|
|
v_vervaldatum DATE;
|
|
v_vervaldatum_oud DATE;
|
|
v_pas_voor NUMBER (10);
|
|
v_deel_key NUMBER (10);
|
|
v_deel_oms VARCHAR2 (60);
|
|
v_aanduiding VARCHAR (200);
|
|
v_bedrijf VARCHAR2 (60);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
|
|
CURSOR c_melding IS
|
|
SELECT m.mld_melding_key,
|
|
m.mld_stdmelding_key,
|
|
m.prs_perslid_key_voor
|
|
FROM mld_melding m
|
|
WHERE m.mld_melding_key = p_melding_key;
|
|
BEGIN
|
|
v_aanduiding := '';
|
|
|
|
FOR rec IN c_melding
|
|
LOOP
|
|
BEGIN
|
|
v_stdmelding_key := rec.mld_stdmelding_key;
|
|
|
|
IF v_stdmelding_key = 41 -- aanvragen nieuwe badge, die moet aangemaakt worden
|
|
THEN
|
|
--- Welke badge wordt aangevraagd? op basis van een keuzelijst die alle objectsoorten toont
|
|
v_errormsg := 'Fout bepalen INS-objectsoort';
|
|
|
|
SELECT km.mld_kenmerkmelding_waarde,
|
|
sd.ins_srtdeel_code_upper
|
|
INTO v_srtdeel_key, v_srtdeel_code
|
|
FROM mld_kenmerkmelding km, ins_srtdeel sd
|
|
WHERE km.mld_kenmerk_key = 62
|
|
AND km.mld_kenmerkmelding_waarde =
|
|
sd.ins_srtdeel_key
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
v_errormsg := 'Fout bepalen ingangsdatum badge';
|
|
|
|
--- ingangsdatum badge bepalen, kenmerk in de melding
|
|
SELECT fac.safe_to_date (km.mld_kenmerkmelding_waarde,
|
|
'dd-mm-yyyy')
|
|
INTO v_startdatum
|
|
FROM mld_kenmerkmelding km
|
|
WHERE km.mld_kenmerk_key = 81
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
v_errormsg := 'Fout bepalen einddatum t-badge';
|
|
|
|
--- als het om een tijdelijke badge gaat, dat moet direct de einddatum op vandaag+ 1 jaar gezet worden
|
|
--- Passen die beginnen met AN zijn voor intern en dus onbeperkt geldig
|
|
SELECT (CASE
|
|
WHEN ins_srtdeel_code_upper NOT LIKE 'AN%'
|
|
THEN
|
|
ADD_MONTHS (TRUNC (v_startdatum), 12)
|
|
ELSE
|
|
NULL
|
|
END) eind_badge
|
|
INTO v_vervaldatum
|
|
FROM ins_srtdeel sd
|
|
WHERE sd.ins_srtdeel_key = v_srtdeel_key;
|
|
|
|
v_errormsg := 'Fout bepalen INS-discipline';
|
|
|
|
SELECT d.ins_discipline_key
|
|
INTO v_discipline_key
|
|
FROM ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
ins_tab_discipline d
|
|
WHERE sd.ins_srtdeel_key = v_srtdeel_key
|
|
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
|
AND d.ins_discipline_key = sg.ins_discipline_key
|
|
AND d.ins_discipline_module = 'INS';
|
|
|
|
v_errormsg := 'Fout bepalen INS-groepsoort';
|
|
|
|
SELECT sg.ins_srtgroep_key
|
|
INTO v_srtgroep_key
|
|
FROM ins_srtdeel sd, ins_srtgroep sg
|
|
WHERE sd.ins_srtdeel_key = v_srtdeel_key
|
|
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key;
|
|
|
|
v_errormsg := 'Fout toevoegen INS-object';
|
|
|
|
SELECT MAX (fac.safe_to_number (ins_deel_omschrijving))
|
|
+ 1
|
|
INTO v_deel_oms
|
|
FROM ins_deel d
|
|
WHERE ins_deel_verwijder IS NULL
|
|
AND ins_deel_module = 'INS';
|
|
|
|
|
|
v_errormsg := 'Fout aanmaken externe medewerker';
|
|
|
|
--- voor wie wordt de pas aangevraagd?
|
|
SELECT p.prs_perslid_key
|
|
INTO v_pas_voor
|
|
FROM mld_kenmerkmelding km, prs_perslid p
|
|
WHERE km.mld_kenmerk_key = 61
|
|
AND km.mld_kenmerkmelding_waarde =
|
|
p.prs_perslid_key
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
v_errormsg := 'Fout aanmaken pas';
|
|
|
|
INSERT INTO ins_deel (ins_discipline_key,
|
|
ins_srtdeel_key,
|
|
ins_deel_module,
|
|
ins_deel_omschrijving,
|
|
ins_deel_opmerking,
|
|
ins_alg_ruimte_key,
|
|
ins_alg_ruimte_type,
|
|
ins_alg_locatie_key,
|
|
ins_deel_aanmaak,
|
|
ins_deel_vervaldatum)
|
|
VALUES (v_discipline_key,
|
|
v_srtdeel_key,
|
|
'INS',
|
|
TO_CHAR (v_deel_oms),
|
|
'Toegangspas Sassenheim',
|
|
v_pas_voor,
|
|
'P',
|
|
NULL,
|
|
v_startdatum,
|
|
COALESCE (v_vervaldatum, NULL))
|
|
RETURNING ins_deel_key
|
|
INTO v_deel_key;
|
|
|
|
COMMIT;
|
|
|
|
--- noteren door wie de pas is aangevraagd, dat is de melder
|
|
akzo.upsert_inskenmerk (v_deel_key,
|
|
21,
|
|
rec.prs_perslid_key_voor);
|
|
|
|
--- bij een tijdelijke badge is bedrijf verplicht
|
|
--- bedrijf bepalen, kenmerk in de melding
|
|
SELECT COALESCE (km.prs_kenmerklink_waarde, 'AN SSH')
|
|
INTO v_bedrijf
|
|
FROM prs_perslid p,
|
|
(SELECT km.prs_kenmerklink_waarde, km.prs_link_key
|
|
FROM prs_kenmerklink km
|
|
WHERE km.prs_kenmerklink_key = 1020) km
|
|
WHERE km.prs_link_key(+) = p.prs_perslid_key
|
|
AND p.prs_perslid_key = v_pas_voor;
|
|
|
|
akzo.upsert_inskenmerk (v_deel_key, 41, v_bedrijf);
|
|
|
|
-- en dan mag de melding direct weer afgesloten worden
|
|
UPDATE mld_melding m
|
|
SET m.mld_melding_status = 5
|
|
WHERE m.mld_melding_key = p_melding_key;
|
|
|
|
COMMIT;
|
|
END IF;
|
|
|
|
IF v_stdmelding_key = 42 -- verlengen badge
|
|
THEN
|
|
v_errormsg := 'Fout bepalen te verlengen pas';
|
|
|
|
--- om welke pas gaat het
|
|
SELECT fac.safe_to_number (km.mld_kenmerkmelding_waarde)
|
|
INTO v_deel_key
|
|
FROM mld_kenmerkmelding km
|
|
WHERE km.mld_kenmerk_key = 141
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
v_errormsg := 'Fout bepalen nieuwe einddatum t-badge';
|
|
|
|
--- nieuwe einddatum
|
|
SELECT fac.safe_to_date (km.mld_kenmerkmelding_waarde,
|
|
'dd-mm-yyyy')
|
|
INTO v_vervaldatum
|
|
FROM mld_kenmerkmelding km
|
|
WHERE km.mld_kenmerk_key = 142
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
--- oude vervaldatum
|
|
SELECT d.ins_deel_vervaldatum
|
|
INTO v_vervaldatum_oud
|
|
FROM ins_deel d
|
|
WHERE d.ins_deel_key = v_deel_key;
|
|
|
|
--- dan kan de pas bijgewerkt worden
|
|
UPDATE ins_deel d
|
|
SET ins_deel_vervaldatum = v_vervaldatum
|
|
WHERE d.ins_deel_key = v_deel_key;
|
|
|
|
-- Tracking
|
|
fac.trackaction (
|
|
'INSUPD',
|
|
v_deel_key,
|
|
NULL,
|
|
NULL,
|
|
'Vervaldatum bijgewerkt '
|
|
|| v_vervaldatum_oud
|
|
|| ' --> '
|
|
|| v_vervaldatum);
|
|
|
|
-- en dan mag de melding direct weer afgesloten worden
|
|
UPDATE mld_melding m
|
|
SET m.mld_melding_status = 5
|
|
WHERE m.mld_melding_key = p_melding_key;
|
|
|
|
COMMIT;
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_melding_key,
|
|
'W',
|
|
v_aanduiding || v_errormsg,
|
|
'');
|
|
|
|
COMMIT;
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
|
|
PROCEDURE prs_mandaten
|
|
AS
|
|
-- Alle AkzoNobel medewerkers die nog geen mandaten hebben
|
|
CURSOR c IS
|
|
SELECT prs_perslid_key
|
|
FROM prs_perslid p
|
|
WHERE UPPER (p.prs_perslid_email) LIKE '%AKZONOBEL%'
|
|
AND prs_perslid_key NOT IN
|
|
(SELECT prs_perslid_key
|
|
FROM prs_perslidkostenplaats kpl);
|
|
|
|
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errormsg VARCHAR2 (200);
|
|
BEGIN
|
|
FOR rec IN c
|
|
LOOP
|
|
v_errormsg := 'Fout toekennen mandaten ' || rec.prs_perslid_key;
|
|
|
|
INSERT INTO prs_perslidkostenplaats (
|
|
prs_perslid_key,
|
|
prs_perslidkostenplaats_boeken,
|
|
prs_perslidkostenplaats_inzage)
|
|
VALUES (rec.prs_perslid_key, 1, 1);
|
|
END LOOP;
|
|
|
|
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.writelog ('Mandaten',
|
|
'E',
|
|
v_errormsg,
|
|
'');
|
|
END;
|
|
|
|
PROCEDURE prs_autorisaties
|
|
AS
|
|
-- Alle medewerkers zonder login of AkzoNobel mailadres moeten uit de _default autorisatie groep verwijderd worden
|
|
CURSOR c IS
|
|
SELECT p.prs_perslid_key
|
|
FROM fac_gebruikersgroep g, prs_perslid p
|
|
WHERE g.fac_groep_key = 1
|
|
AND g.prs_perslid_key = p.prs_perslid_key
|
|
AND p.prs_perslid_oslogin IS NULL
|
|
AND ( UPPER (p.prs_perslid_email) NOT LIKE '%AKZONOBEL%'
|
|
OR p.prs_perslid_email IS NULL);
|
|
|
|
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errormsg VARCHAR2 (200);
|
|
BEGIN
|
|
FOR rec IN c
|
|
LOOP
|
|
v_errormsg :=
|
|
'Fout opschonen autorisatie ' || rec.prs_perslid_key;
|
|
|
|
DELETE fac_gebruikersgroep g
|
|
WHERE g.fac_groep_key = 1
|
|
AND g.prs_perslid_key = rec.prs_perslid_key;
|
|
END LOOP;
|
|
|
|
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.writelog ('Mandaten',
|
|
'E',
|
|
v_errormsg,
|
|
'');
|
|
END;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_T_PAS_AMSTERDAM
|
|
(
|
|
INS_DEEL_OMSCHRIJVING,
|
|
INS_DEEL_KEY,
|
|
INS_DEEL_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT p.prs_perslid_naam_full
|
|
|| ' / '
|
|
|| sd.ins_srtdeel_omschrijving
|
|
|| ' '
|
|
|| d.ins_deel_omschrijving,
|
|
ins_deel_key,
|
|
ins_deel_verwijder
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
prs_v_perslid_fullnames_all p
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND sg.ins_srtgroep_key = 81
|
|
AND d.ins_alg_ruimte_type = 'P'
|
|
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
|
AND d.ins_deel_actief = 1
|
|
AND sd.ins_srtdeel_code_upper LIKE 'T-PAS' --- alleen tijdelijk passen kunnen worden verlengd
|
|
ORDER BY p.prs_perslid_naam_full;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_TIJDELIJK_PAS
|
|
(
|
|
INS_DEEL_OMSCHRIJVING,
|
|
INS_DEEL_KEY,
|
|
INS_DEEL_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT p.prs_perslid_naam_full
|
|
|| ' / '
|
|
|| sd.ins_srtdeel_omschrijving
|
|
|| ' '
|
|
|| d.ins_deel_omschrijving,
|
|
ins_deel_key,
|
|
ins_deel_verwijder
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
prs_v_perslid_fullnames_all p
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND sg.ins_srtgroep_key = 1
|
|
AND d.ins_alg_ruimte_type = 'P'
|
|
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
|
AND d.ins_deel_actief = 1
|
|
AND sd.ins_srtdeel_code_upper NOT LIKE 'AN%' --- alleen tijdelijk passen kunnen worden verlengd
|
|
ORDER BY p.prs_perslid_naam_full;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_SOORT_PAS_SSH
|
|
(
|
|
INS_SRTDEEL_KEY,
|
|
INS_SRTDEEL_OMSCHRIJVING,
|
|
INS_SRTDEEL_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT sd.ins_srtdeel_key,
|
|
ins_srtdeel_omschrijving,
|
|
ins_srtdeel_verwijder
|
|
FROM ins_srtdeel sd, ins_srtgroep gr
|
|
WHERE sd.ins_srtgroep_key = gr.ins_srtgroep_key
|
|
AND gr.ins_srtgroep_key = 1;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_SOORT_PAS_AMS
|
|
(
|
|
INS_SRTDEEL_KEY,
|
|
INS_SRTDEEL_OMSCHRIJVING,
|
|
INS_SRTDEEL_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT sd.ins_srtdeel_key,
|
|
ins_srtdeel_omschrijving,
|
|
ins_srtdeel_verwijder
|
|
FROM ins_srtdeel sd, ins_srtgroep gr
|
|
WHERE sd.ins_srtgroep_key = gr.ins_srtgroep_key
|
|
AND gr.ins_srtgroep_key = 81;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RAP_AANVR_BADGE
|
|
(
|
|
PERSONTYPE,
|
|
DISPLAYTYPE_CODE,
|
|
DISPLAYTYPE_NAAM,
|
|
PERSONEELSNUMMER,
|
|
ROEPNAAM,
|
|
VOORLETTERS,
|
|
TUSSENVOEGSEL,
|
|
ACHTERNAAM,
|
|
DATUM_IN_DIENST,
|
|
DATUM_UIT_DIENST,
|
|
KOSTENPLAATS_CODE,
|
|
KOSTENPLAATS_NAAM,
|
|
BUSINESS_UNIT_AN_CODE,
|
|
BUSINESS_UNIT_AN_NAAM,
|
|
AFDELING_AKZO_CODE,
|
|
AFDELING_AKZO_NAAM,
|
|
FIRMANAAM,
|
|
NEVENFUNCTIE_CODE,
|
|
NEVENFUNCTIE_NAAM,
|
|
WERKPLEK_CODE,
|
|
WERKPLEK_NAAM,
|
|
RUIMTE_CODE,
|
|
RUIMTE_NAAM
|
|
)
|
|
AS
|
|
SELECT UPPER (sd.ins_srtdeel_eenheid) persontype,
|
|
ins_srtdeel_nr displaytype_code,
|
|
ins_srtdeel_omschrijving displaytype_naam,
|
|
d.ins_deel_omschrijving personeelsnummer,
|
|
p.prs_perslid_voornaam roepnaam,
|
|
p.prs_perslid_voorletters voorletters,
|
|
p.prs_perslid_tussenvoegsel tussenvoegsel,
|
|
p.prs_perslid_naam achternaam,
|
|
d.ins_deel_aanmaak datum_in_dienst,
|
|
d.ins_deel_vervaldatum datum_uit_dienst,
|
|
a.prs_afdeling_naam kostenplaats_code,
|
|
a.prs_afdeling_omschrijving kostenplaats_naam,
|
|
'' business_unit_an_code,
|
|
'' business_unit_an_naam,
|
|
'' afdeling_akzo_code,
|
|
'' afdeling_akzo_naam,
|
|
bedrijf.ins_kenmerkdeel_waarde firmanaam,
|
|
'' nevenfunctie_code,
|
|
nevenfunctie.prs_kenmerklink_waarde nevenfunctie_naam,
|
|
werkplek.prs_werkplek_omschrijving werkplek_code,
|
|
werkplek.alg_ruimte_omschrijving werkplek_naam,
|
|
werkplek.ruimte_nr ruimte_code,
|
|
werkplek.alg_ruimte_omschrijving ruimte_naam
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
(SELECT kl.prs_kenmerklink_waarde, kl.prs_link_key prs_perslid_key
|
|
FROM prs_kenmerklink kl
|
|
WHERE kl.prs_kenmerk_key = 1040
|
|
AND kl.prs_kenmerklink_verwijder IS NULL) nevenfunctie,
|
|
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
|
|
FROM ins_kenmerkdeel kd
|
|
WHERE kd.ins_kenmerk_key = 41
|
|
AND kd.ins_kenmerkdeel_verwijder IS NULL) bedrijf,
|
|
(SELECT min_pw.prs_perslid_key,
|
|
min_pw.prs_werkplek_key,
|
|
w.prs_werkplek_omschrijving,
|
|
g.alg_gebouw_code || '-' || r.alg_ruimte_nr ruimte_nr,
|
|
r.alg_ruimte_omschrijving
|
|
FROM prs_werkplek w,
|
|
alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
( SELECT prs_perslid_key,
|
|
MIN (prs_werkplek_key) prs_werkplek_key
|
|
FROM prs_perslidwerkplek
|
|
GROUP BY prs_perslid_key) min_pw
|
|
WHERE w.prs_alg_ruimte_key = r.alg_ruimte_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND min_pw.prs_werkplek_key = w.prs_werkplek_key) werkplek
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND sg.ins_srtgroep_key = 1 --- alleen passen Sassenheim
|
|
AND d.ins_alg_ruimte_type = 'P'
|
|
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
|
AND d.ins_deel_actief = 1
|
|
AND d.ins_deel_verwijder IS NULL
|
|
AND p.prs_perslid_key = nevenfunctie.prs_perslid_key(+)
|
|
AND d.ins_deel_key = bedrijf.ins_deel_key(+)
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND p.prs_perslid_key = werkplek.prs_perslid_key(+);
|
|
|
|
CREATE OR REPLACE PROCEDURE AKZO_SELECT_EXP_BADGE (p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_errorhint VARCHAR2 (1000);
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
|
|
|
|
CURSOR c_badges IS SELECT * FROM AKZO_V_RAP_AANVR_BADGE;
|
|
|
|
v_teller NUMBER;
|
|
v_rap_count NUMBER;
|
|
v_kenmerk_key_laatste NUMBER;
|
|
BEGIN
|
|
v_teller := 0;
|
|
v_rap_count := 0;
|
|
|
|
v_aanduiding := 'Init';
|
|
v_errormsg := 'Header';
|
|
|
|
DELETE imp_log
|
|
WHERE imp_log_applicatie = p_applname;
|
|
|
|
DELETE fac_rapport
|
|
WHERE fac_rapport_node = p_applname;
|
|
|
|
-- Genereer headerregel
|
|
INSERT INTO fac_rapport (fac_rapport_node,
|
|
fac_rapport_volgnr,
|
|
fac_rapport_regel,
|
|
fac_rapport_soort)
|
|
VALUES (
|
|
p_applname,
|
|
v_rap_count,
|
|
'PersonType;Displaytype_Code;Displaytype_Naam;Personeelsnummer;Roepnaam;Voorletters;Tussenvoegsel;Achternaam;Datum_in_dienst;Datum_uit_dienst;Kostenplaats_Code;Kostenplaats_Naam;Business_Unit_AN_Code;Business_Unit_AN_Naam;Afdeling_Akzo_Code;Afdeling_Akzo_Naam;Firmanaam;Nevenfunctie_Code;Nevenfunctie_Naam;Werkplek_Code;Werkplek_Naam;Ruimte_Code;Ruimte_Naam',
|
|
0);
|
|
|
|
-- Genereer sommatie-, specificatie- en creditregels voor debiteuren
|
|
FOR rec IN c_badges
|
|
LOOP
|
|
v_errormsg := 'Per badge aanvraag een regel toevoegen';
|
|
v_teller := v_teller + 1;
|
|
v_aanduiding := v_teller || ': ' || rec.personeelsnummer;
|
|
v_rap_count := v_rap_count + 1;
|
|
|
|
-- Sommatieregel
|
|
INSERT INTO fac_rapport (fac_rapport_node,
|
|
fac_rapport_volgnr,
|
|
fac_rapport_regel,
|
|
fac_rapport_soort)
|
|
VALUES (
|
|
p_applname,
|
|
v_rap_count,
|
|
rec.persontype
|
|
|| ';'
|
|
|| rec.displaytype_code
|
|
|| ';'
|
|
|| rec.displaytype_naam
|
|
|| ';'
|
|
|| rec.personeelsnummer
|
|
|| ';'
|
|
|| rec.roepnaam
|
|
|| ';'
|
|
|| rec.voorletters
|
|
|| ';'
|
|
|| rec.tussenvoegsel
|
|
|| ';'
|
|
|| rec.achternaam
|
|
|| ';'
|
|
|| rec.datum_in_dienst
|
|
|| ';'
|
|
|| rec.datum_uit_dienst
|
|
|| ';'
|
|
|| rec.kostenplaats_code
|
|
|| ';'
|
|
|| rec.kostenplaats_naam
|
|
|| ';'
|
|
|| rec.business_unit_an_code
|
|
|| ';'
|
|
|| rec.business_unit_an_naam
|
|
|| ';'
|
|
|| rec.afdeling_akzo_code
|
|
|| ';'
|
|
|| rec.afdeling_akzo_naam
|
|
|| ';'
|
|
|| rec.firmanaam
|
|
|| ';'
|
|
|| rec.nevenfunctie_code
|
|
|| ';'
|
|
|| rec.nevenfunctie_naam
|
|
|| ';'
|
|
|| rec.werkplek_code
|
|
|| ';'
|
|
|| rec.werkplek_naam
|
|
|| ';'
|
|
|| rec.ruimte_code
|
|
|| ';'
|
|
|| rec.ruimte_naam,
|
|
0);
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
v_errorhint
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.writelog (p_applname,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
'Onbekende fout!');
|
|
COMMIT;
|
|
END akzo_select_exp_badge;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_EXPORT_EXP_BADGE
|
|
(
|
|
RESULT,
|
|
RESULT_ORDER
|
|
)
|
|
AS
|
|
SELECT fac_rapport_regel result, fac_rapport_volgnr result_order
|
|
FROM fac_rapport
|
|
WHERE fac_rapport_node = 'EXP_BADGE'
|
|
ORDER BY fac_rapport_volgnr;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RAP_CATERING_DAGLIJST
|
|
(
|
|
DATUM,
|
|
HIDE_F_RSV_RUIMTE,
|
|
LOCATIE,
|
|
RESNR,
|
|
HOST,
|
|
DAG,
|
|
RUIMTE,
|
|
VAN,
|
|
TOT,
|
|
TIJD_CATERING,
|
|
AANTAL,
|
|
ARTIKELOMSCHRIJVING,
|
|
ARTIKELOPMERKING,
|
|
CATERING_LOCATIE,
|
|
BIJZONDERHEDEN,
|
|
RES_OPMERKINGEN,
|
|
RES_OMSCHRIJVING
|
|
)
|
|
AS
|
|
SELECT res_rsv_artikel_levering,
|
|
r.res_rsv_ruimte_key,
|
|
locatie.alg_locatie_omschrijving,
|
|
r.res_reservering_key || '/' || r.res_rsv_ruimte_volgnr,
|
|
prs_perslid_naam_full,
|
|
TO_CHAR (res_rsv_ruimte_van, 'DAY')
|
|
dag,
|
|
r2a.ruimte_nr
|
|
ruimte,
|
|
res_rsv_ruimte_van
|
|
ruimte_van,
|
|
res_rsv_ruimte_tot
|
|
ruimte_tot,
|
|
TO_CHAR (res_rsv_artikel_levering, 'HH24:MI')
|
|
levering_catering,
|
|
aantal,
|
|
DECODE (UPPER (artikeloms),
|
|
'SPECIAL', artikeloms || ': ' || specialomschr,
|
|
artikeloms)
|
|
artikeloms,
|
|
artikelopm,
|
|
r2a.ruimte_nr
|
|
catering_locatie,
|
|
opmerking,
|
|
r2a.ruimte_opmerking,
|
|
r2a.ruimte_omschrijving
|
|
FROM (SELECT rr.res_reservering_key,
|
|
rr.res_rsv_ruimte_volgnr,
|
|
rr.res_rsv_ruimte_key,
|
|
rr.res_rsv_ruimte_van,
|
|
rr.res_rsv_ruimte_tot,
|
|
ra.res_rsv_artikel_key,
|
|
ra.res_rsv_artikel_levering,
|
|
act.res_srtactiviteit_key,
|
|
a.res_artikel_key,
|
|
a.res_artikel_nr artikelnr,
|
|
a.res_artikel_omschrijving artikeloms,
|
|
a.res_artikel_opmerking artikelopm,
|
|
d.ins_discipline_key,
|
|
d.ins_discipline_omschrijving catalogus,
|
|
ra.res_status_bo_key status,
|
|
ra.res_rsv_artikel_aantal aantal,
|
|
a.res_artikel_eenheid eenheid,
|
|
pf.prs_perslid_key,
|
|
pf.prs_perslid_naam_full,
|
|
opmerking.res_kenmerkartikel_waarde opmerking,
|
|
special.specialomschr
|
|
FROM res_rsv_artikel ra,
|
|
res_artikel a,
|
|
res_discipline d,
|
|
res_rsv_ruimte rr,
|
|
res_activiteit act,
|
|
prs_v_perslid_fullnames pf,
|
|
(SELECT ka.res_rsv_artikel_key, res_kenmerkartikel_waarde
|
|
FROM res_kenmerkartikel ka,
|
|
res_kenmerk k,
|
|
res_srtkenmerk sk
|
|
WHERE ka.res_kenmerk_key = k.res_kenmerk_key
|
|
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
|
AND res_srtkenmerk_upper = 'BIJZONDERHEDEN')
|
|
opmerking,
|
|
(SELECT ka.res_rsv_artikel_key,
|
|
res_kenmerkartikel_waarde specialomschr
|
|
FROM res_kenmerkartikel ka,
|
|
res_kenmerk k,
|
|
res_srtkenmerk sk
|
|
WHERE k.res_kenmerk_key = ka.res_kenmerk_key
|
|
AND sk.res_srtkenmerk_key = k.res_srtkenmerk_key
|
|
AND ka.res_kenmerkartikel_verwijder IS NULL
|
|
AND sk.res_srtkenmerk_upper =
|
|
'OMSCHRIJVING ARTIKEL') special
|
|
WHERE ra.res_rsv_artikel_verwijder IS NULL
|
|
AND ra.res_rsv_artikel_key =
|
|
opmerking.res_rsv_artikel_key(+)
|
|
AND ra.res_rsv_artikel_key =
|
|
special.res_rsv_artikel_key(+)
|
|
AND a.res_artikel_key = ra.res_artikel_key
|
|
AND d.ins_discipline_key = a.res_discipline_key
|
|
AND d.ins_discipline_min_level = 2
|
|
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
|
AND act.res_activiteit_key = rr.res_activiteit_key
|
|
AND pf.prs_perslid_key = rr.res_rsv_ruimte_host_key) r,
|
|
( SELECT res_rsv_ruimte_key,
|
|
MAX (r.res_rsv_ruimte_omschrijving)
|
|
ruimte_omschrijving,
|
|
MAX (r.res_rsv_ruimte_opmerking)
|
|
ruimte_opmerking,
|
|
MAX (o.res_opstelling_omschrijving)
|
|
opstelling,
|
|
MAX (ro.res_ruimte_opstel_bezoekers)
|
|
capaciteit,
|
|
MAX (ra.alg_ruimte_key)
|
|
alg_ruimte_key,
|
|
MAX (rr.res_ruimte_nr)
|
|
ruimte_nr
|
|
FROM res_rsv_ruimte r,
|
|
res_ruimte_opstelling ro,
|
|
res_opstelling o,
|
|
res_ruimte rr,
|
|
res_alg_ruimte ra
|
|
WHERE r.res_rsv_ruimte_verwijder IS NULL
|
|
AND r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key(+)
|
|
AND ro.res_ruimte_key = rr.res_ruimte_key
|
|
AND ro.res_opstelling_key = o.res_opstelling_key(+)
|
|
AND rr.res_ruimte_key = ra.res_ruimte_key
|
|
GROUP BY res_rsv_ruimte_key
|
|
UNION ALL
|
|
SELECT res_rsv_ruimte_key,
|
|
rrr.res_rsv_ruimte_omschrijving ruimte_omschrijving,
|
|
rrr.res_rsv_ruimte_opmerking ruimte_opmerking,
|
|
'' opstelling,
|
|
NULL capaciteit,
|
|
rrr.alg_ruimte_key,
|
|
r.alg_ruimte_nr
|
|
FROM res_rsv_ruimte rrr, alg_ruimte r
|
|
WHERE rrr.alg_ruimte_key IS NOT NULL
|
|
AND r.alg_ruimte_key = rrr.alg_ruimte_key) r2a,
|
|
(SELECT l.alg_locatie_key,
|
|
alg_locatie_code,
|
|
alg_locatie_omschrijving,
|
|
r.alg_ruimte_key
|
|
FROM alg_locatie l,
|
|
alg_gebouw g,
|
|
alg_verdieping v,
|
|
alg_ruimte r
|
|
WHERE l.alg_locatie_key = g.alg_locatie_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key) locatie
|
|
WHERE locatie.alg_ruimte_key = r2a.alg_ruimte_key
|
|
AND r.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+);
|
|
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RAP_CATERING_LABELS
|
|
AS
|
|
SELECT datum hide_f_datum,
|
|
hide_f_rsv_ruimte,
|
|
resnr,
|
|
HOST,
|
|
van,
|
|
TO_CHAR (van, 'dd-mm-yyyy') datum,
|
|
tijd_catering,
|
|
catering_locatie,
|
|
res_omschrijving,
|
|
bijzonderheden,
|
|
LISTAGG (aantal || 'x ' || artikelomschrijving, CHR (10))
|
|
WITHIN GROUP (ORDER BY hide_f_rsv_ruimte, tijd_catering) catering
|
|
FROM AKZO_V_RAP_CATERING_DAGLIJST
|
|
WHERE locatie = 'Sassenheim'
|
|
GROUP BY datum,
|
|
hide_f_rsv_ruimte,
|
|
resnr,
|
|
van,
|
|
TO_CHAR (van, 'dd-mm-yyyy'),
|
|
HOST,
|
|
ruimte,
|
|
tijd_catering,
|
|
catering_locatie,
|
|
res_omschrijving,
|
|
bijzonderheden;
|
|
|
|
CREATE OR REPLACE PROCEDURE akzo_daily
|
|
AS
|
|
BEGIN
|
|
-- mandaat voor alle AN medewerkers
|
|
akzo.prs_mandaten ();
|
|
|
|
-- medewerkers zonder AN mailadres of login verwijderen uit _default
|
|
akzo.prs_autorisaties ();
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE akzo_import_perslid (p_import_key IN NUMBER)
|
|
AS
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errormsg VARCHAR2 (400);
|
|
v_errorhint VARCHAR2 (400);
|
|
v_aantal_in_FCLT NUMBER;
|
|
BEGIN
|
|
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,
|
|
'1;2;3;4;5;6;7;8;9;11;'
|
|
|| '10;0;0;0;0;13;14;15;0;17;'
|
|
|| '16;0;0;12;0;0;0;0;0;0;'
|
|
|| '0;0;0;0;0;0;0;0;0;0;'
|
|
|| '0;0;0;0;0;0',
|
|
'Locatiecode;Gebouwcode;Bouwlaagvolgnummer;Ruimtenummer;Werkplekvolgnummer;Omschrijving;Afdelingscode;PersoonAchternaam;Tussenvoegsel;Voorletters;Voornaam;Titel/Aanhef;Telefoonnummer;Mobiel;Email;Functie;Personeelsnummer;Loginnaam;Password');
|
|
|
|
|
|
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;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE akzo_update_perslid (p_import_key IN NUMBER)
|
|
IS
|
|
v_count NUMBER;
|
|
|
|
-- als er geen mailadres betreft het een contractor en voegen we toe obv persnr
|
|
CURSOR c_insert IS
|
|
SELECT *
|
|
FROM fac_imp_perslid i
|
|
WHERE i.prs_perslid_email IS NULL;
|
|
|
|
-- met wel een mailadres kunnen we vergelijken en dus ook bijwerken
|
|
CURSOR c_upsert IS
|
|
SELECT *
|
|
FROM fac_imp_perslid i
|
|
WHERE i.prs_perslid_email IS NOT NULL;
|
|
|
|
BEGIN
|
|
FOR rec IN c_insert
|
|
LOOP
|
|
BEGIN
|
|
prs.update_perslid (p_import_key, 'NR', NULL);
|
|
END;
|
|
END LOOP;
|
|
|
|
FOR rec IN c_upsert
|
|
LOOP
|
|
BEGIN
|
|
prs.update_perslid (p_import_key, 'EMAIL', NULL);
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_NOTI_INS_TBADGE
|
|
(
|
|
CODE,
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
KEY,
|
|
XKEY
|
|
)
|
|
AS
|
|
SELECT 'CUST01',
|
|
NULL,
|
|
aanvrager,
|
|
'Tijdelijke badge verloopt: '
|
|
|| vervaldatum
|
|
|| ' (badgenummer: '
|
|
|| pasnr
|
|
|| ')',
|
|
pashouder,
|
|
NULL
|
|
FROM (SELECT d.ins_deel_key,
|
|
d.ins_deel_omschrijving pasnr,
|
|
d.ins_deel_vervaldatum vervaldatum,
|
|
d.ins_alg_ruimte_key pashouder,
|
|
aanvr.prs_perslid_key aanvrager
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
(SELECT kd.ins_deel_key, ins_kenmerkdeel_waarde
|
|
FROM ins_kenmerkdeel kd,
|
|
ins_kenmerk k,
|
|
ins_srtkenmerk sk
|
|
WHERE k.ins_kenmerk_key = kd.ins_kenmerk_key
|
|
AND sk.ins_srtkenmerk_key = k.ins_srtkenmerk_key
|
|
AND sk.ins_srtkenmerk_upper =
|
|
'PAS AANGEVRAAGD DOOR') kd,
|
|
prs_perslid aanvr
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND d.ins_deel_key = kd.ins_deel_key
|
|
AND kd.ins_kenmerkdeel_waarde = aanvr.prs_perslid_key
|
|
AND d.ins_alg_ruimte_type = 'P'
|
|
AND sd.ins_srtdeel_code_upper NOT LIKE 'AN%'
|
|
AND sd.ins_srtgroep_key IN (1, 181)
|
|
AND d.ins_deel_verwijder IS NULL
|
|
AND d.ins_deel_actief = 1
|
|
AND TRUNC (d.ins_deel_vervaldatum) = TRUNC (SYSDATE + 14))
|
|
PAS;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_THEMA_VLOERAFWERKING
|
|
(
|
|
ALG_RUIMTE_KEY,
|
|
WAARDE
|
|
)
|
|
AS
|
|
SELECT r.alg_ruimte_key, va.fac_usrdata_omschr
|
|
FROM alg_ruimte r,
|
|
(SELECT rr.alg_ruimte_key, ud.fac_usrdata_omschr
|
|
FROM alg_onrgoedkenmerk ok,
|
|
fac_usrdata ud,
|
|
fac_kenmerkdomein rk,
|
|
alg_kenmerk k,
|
|
alg_v_aanwezigruimte rr
|
|
WHERE rk.fac_usrtab_key = ud.fac_usrtab_key
|
|
AND k.fac_kenmerkdomein_key = rk.fac_kenmerkdomein_key
|
|
AND TO_CHAR (ud.fac_usrdata_key) =
|
|
ok.alg_onrgoedkenmerk_waarde
|
|
AND k.alg_kenmerk_key = 1001
|
|
AND rr.alg_ruimte_key = ok.alg_onrgoed_key) va
|
|
WHERE va.alg_ruimte_key = r.alg_ruimte_key;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_NOTI_BADGE_SSH
|
|
(
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
CODE,
|
|
FAC_SRTNOTIFICATIE_KEY,
|
|
KEY,
|
|
XKEY,
|
|
XEMAIL,
|
|
XMOBILE
|
|
)
|
|
AS
|
|
SELECT DISTINCT NULL sender,
|
|
NULL receiver,
|
|
sm.mld_stdmelding_omschrijving,
|
|
fac_srtnotificatie_code,
|
|
n.fac_srtnotificatie_key,
|
|
m.mld_melding_key,
|
|
NULL xkey,
|
|
'BeveiligingSassenheim@akzonobel.com' xemail,
|
|
NULL xmobile
|
|
FROM fac_tracking t,
|
|
mld_melding m,
|
|
mld_stdmelding sm,
|
|
fac_srtnotificatie n
|
|
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
|
AND t.fac_srtnotificatie_key = 50
|
|
AND n.fac_srtnotificatie_code = 'CUST02'
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sm.mld_stdmelding_key IN (41, 42) -- Aanvraag/ Verlengen badge
|
|
AND t.fac_tracking_datum >
|
|
(SELECT fac_notificatie_job_nextrun
|
|
- fac_notificatie_job_interval / 24
|
|
FROM fac_notificatie_job
|
|
WHERE UPPER (fac_notificatie_job_view) =
|
|
'AKZO_V_NOTI_BADGE_SSH')
|
|
AND t.fac_tracking_datum <
|
|
(SELECT fac_notificatie_job_nextrun
|
|
FROM fac_notificatie_job
|
|
WHERE UPPER (fac_notificatie_job_view) =
|
|
'AKZO_V_NOTI_BADGE_SSH');
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RUIMTE
|
|
(
|
|
ALG_RUIMTE_KEY,
|
|
ALG_RUIMTE_OMSCHRIJVING,
|
|
ALG_RUIMTE_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT r.alg_ruimte_key,
|
|
g.alg_gebouw_code
|
|
|| '-'
|
|
|| v.alg_verdieping_code
|
|
|| '-'
|
|
|| r.alg_ruimte_nr
|
|
|| ' '
|
|
|| r.alg_ruimte_omschrijving,
|
|
r.alg_ruimte_verwijder
|
|
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
|
|
WHERE g.alg_locatie_key = 1
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_KOSTENPLAATS
|
|
(
|
|
PRS_KOSTENPLAATS_KEY,
|
|
PRS_KOSTENPLAATS_OMSCHRIJVING,
|
|
PRS_KOSTENPLAATS_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT prs_kostenplaats_key,
|
|
prs_kostenplaats_upper || ' - ' || prs_kostenplaats_omschrijving,
|
|
prs_kostenplaats_verwijder
|
|
FROM prs_kostenplaats kp;
|
|
|
|
---------- Rittenadministratie ----------
|
|
-----------------------------------------
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RIT_TARIEFGROEP
|
|
AS
|
|
SELECT fac_usrdata_key akzo_v_rit_tariefgroep_key,
|
|
fac_usrdata_code akzo_v_rit_tariefgroep_naam,
|
|
fac.safe_to_number (TRIM (SUBSTR (fac_usrdata_omschr,
|
|
1,
|
|
INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
1)
|
|
- 1))) c_tarief,
|
|
fac.safe_to_number (TRIM (SUBSTR (fac_usrdata_omschr,
|
|
INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
1)
|
|
+ 1,
|
|
INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
2)
|
|
- 1
|
|
- INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
1)))) km_tarief,
|
|
fac.safe_to_number (TRIM (SUBSTR (fac_usrdata_omschr,
|
|
INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
2)
|
|
+ 1))) uur_tarief
|
|
FROM fac_usrdata
|
|
WHERE fac_usrtab_key = 81
|
|
AND fac_usrdata_volgnr > 0
|
|
AND fac_usrdata_verwijder IS NULL;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RIT_ADRES
|
|
(
|
|
MLD_ADRES_KEY,
|
|
MLD_ADRES_NAAM,
|
|
MLD_ADRES_UPPER,
|
|
MLD_ADRES_BEZOEK_ADRES,
|
|
MLD_ADRES_BEZOEK_PLAATS,
|
|
MLD_ADRES_PLAATS_ADRES_NAAM
|
|
)
|
|
AS
|
|
SELECT mld_adres_key,
|
|
mld_adres_naam,
|
|
mld_adres_upper,
|
|
mld_adres_bezoek_adres,
|
|
mld_adres_bezoek_plaats,
|
|
mld_adres_bezoek_plaats
|
|
|| ', '
|
|
|| mld_adres_bezoek_adres
|
|
|| DECODE (SUBSTR (mld_adres_naam, 1, 5),
|
|
SUBSTR (mld_adres_bezoek_plaats, 1, 5), '',
|
|
', ' || mld_adres_naam) mld_adres_plaats_adres_naam
|
|
FROM mld_adres
|
|
WHERE mld_adres_verwijder IS NULL;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RITTEN_RESERVERING_GEG
|
|
(
|
|
RES_RESERVERING_KEY,
|
|
RES_RSV_RUIMTE_KEY,
|
|
RES_RSV_RUIMTE_VOLGNR,
|
|
CHAUFFEUR,
|
|
OMSCHRIJVING,
|
|
OPMERKING,
|
|
AUTO,
|
|
DATUM_VAN,
|
|
TIJD_VAN,
|
|
DATUM_TOT,
|
|
TIJD_TOT,
|
|
GASTHEERVROUW,
|
|
PRS_PERSLID_KEY,
|
|
PRS_AFDELING_NAAM,
|
|
PRS_KOSTENPLAATS_NR,
|
|
PRS_KOSTENPLAATS_OMSCHRIJVING
|
|
)
|
|
AS
|
|
SELECT res.res_reservering_key,
|
|
ruim.res_rsv_ruimte_key,
|
|
ruim.res_rsv_ruimte_volgnr,
|
|
chauf.res_ruimte_nr
|
|
AS chauffeur,
|
|
ruim.res_rsv_ruimte_omschrijving
|
|
AS omschrijving,
|
|
ruim.res_rsv_ruimte_opmerking
|
|
AS opmerking,
|
|
auto.ins_deel_omschrijving
|
|
AS auto,
|
|
ruim.res_rsv_ruimte_van
|
|
datum_van,
|
|
TO_CHAR (ruim.res_rsv_ruimte_van, 'HH24:MI')
|
|
tijd_van,
|
|
ruim.res_rsv_ruimte_tot
|
|
datum_tot,
|
|
TO_CHAR (ruim.res_rsv_ruimte_tot, 'HH24:MI')
|
|
tijd_tot,
|
|
p.prs_perslid_naam
|
|
|| DECODE (COALESCE (p.prs_perslid_voorletters, ''),
|
|
'', '',
|
|
', ' || p.prs_perslid_voorletters)
|
|
|| DECODE (COALESCE (p.prs_perslid_tussenvoegsel, ''),
|
|
'', '',
|
|
' ' || p.prs_perslid_tussenvoegsel)
|
|
|| DECODE (COALESCE (p.prs_perslid_voornaam, ''),
|
|
'', '',
|
|
' (' || p.prs_perslid_voornaam || ')')
|
|
gastheervrouw,
|
|
p.prs_perslid_key,
|
|
afd.prs_afdeling_naam,
|
|
kpl.prs_kostenplaats_nr,
|
|
kpl.prs_kostenplaats_omschrijving
|
|
FROM res_v_aanwezigreservering res,
|
|
res_v_aanwezigrsv_ruimte ruim,
|
|
res_v_aanwezigrsv_deel deel,
|
|
(SELECT INS_DI.ins_discipline_key,
|
|
INS_SG.ins_srtgroep_key,
|
|
INS_SD.ins_srtdeel_key,
|
|
INS_SD.ins_srtdeel_code
|
|
|| ' - '
|
|
|| INS_SD.ins_srtdeel_omschrijving,
|
|
INS_DE.ins_alg_locatie_key,
|
|
INS_AO.alg_gebouw_key,
|
|
INS_AO.alg_verdieping_key,
|
|
INS_AO.alg_ruimte_key,
|
|
INS_AO.prs_werkplek_key,
|
|
INS_AO.alg_terreinsector_key,
|
|
INS_AO.alg_plaatsaanduiding,
|
|
INS_DE.ins_deel_key,
|
|
INS_DE.ins_deel_omschrijving,
|
|
RES_DE.res_deel_key,
|
|
RES_DE.res_deel_eenheid,
|
|
RES_DE.res_deel_prijs,
|
|
DECODE (RES_DE.res_deel_key, NULL, 0, 1)
|
|
FROM ins_v_aanwezigdeel INS_DE,
|
|
ins_tab_discipline INS_DI,
|
|
ins_v_alg_overzicht INS_AO,
|
|
ins_srtdeel INS_SD,
|
|
ins_srtgroep INS_SG,
|
|
res_v_aanwezigdeel RES_DE
|
|
WHERE INS_DE.ins_deel_key = RES_DE.res_ins_deel_key(+)
|
|
AND INS_DE.ins_deel_module = 'INS'
|
|
AND INS_DE.ins_deel_parent_key IS NULL
|
|
AND INS_AO.alg_onroerendgoed_keys =
|
|
INS_DE.ins_alg_ruimte_key
|
|
AND INS_AO.alg_onroerendgoed_type =
|
|
INS_DE.ins_alg_ruimte_type
|
|
AND INS_AO.alg_locatie_key = INS_DE.ins_alg_locatie_key
|
|
AND INS_SD.ins_srtdeel_key = INS_DE.ins_srtdeel_key
|
|
AND INS_SG.ins_srtgroep_key = INS_SD.ins_srtgroep_key
|
|
AND INS_DI.ins_discipline_key = INS_DE.ins_discipline_key
|
|
AND INS_DE.ins_discipline_key IN
|
|
(SELECT ins_discipline_key FROM ins_discipline))
|
|
auto,
|
|
res_ruimte_opstelling opstel,
|
|
res_ruimte chauf,
|
|
prs_perslid p,
|
|
prs_afdeling afd,
|
|
prs_kostenplaats kpl
|
|
WHERE res.res_reservering_key = ruim.res_reservering_key
|
|
AND ruim.res_rsv_ruimte_key = deel.res_rsv_ruimte_key(+)
|
|
AND deel.res_deel_key = auto.res_deel_key(+)
|
|
AND ruim.res_ruimte_opstel_key = opstel.res_ruimte_opstel_key
|
|
AND opstel.res_ruimte_key = chauf.res_ruimte_key
|
|
AND p.prs_perslid_key = ruim.res_rsv_ruimte_host_key
|
|
AND p.prs_afdeling_key = afd.prs_afdeling_key
|
|
AND ruim.prs_kostenplaats_key = kpl.prs_kostenplaats_key(+)
|
|
-- activiteit Rit
|
|
AND ruim.res_activiteit_key = 210;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RITTEN_RAPPORTAGE
|
|
(
|
|
RES_RESERVERING_KEY,
|
|
RES_RSV_RUIMTE_VOLGNR,
|
|
RES_RSV_RUIMTE_KEY,
|
|
CHAUFFEUR,
|
|
OMSCHRIJVING,
|
|
OPMERKING,
|
|
AUTO,
|
|
DATUM_VAN,
|
|
TIJD_VAN,
|
|
DATUM_TOT,
|
|
TIJD_TOT,
|
|
PRS_PERSLID_KEY,
|
|
GASTHEERVROUW,
|
|
PRS_AFDELING_NAAM,
|
|
PRS_KOSTENPLAATS_NR,
|
|
PRS_KOSTENPLAATS_OMSCHRIJVING,
|
|
AFWIJKEND_VAN_TIJD,
|
|
VIA_TIJD,
|
|
AFWIJKEND_TOT_TIJD,
|
|
STANDAARD_VAN,
|
|
STANDAARD_VAN_PLAATSNAAM,
|
|
AFWIJKEND_VAN_PLAATS,
|
|
AFWIJKEND_VAN_ADRES,
|
|
STANDAARD_VIA,
|
|
STANDAARD_VIA_PLAATSNAAM,
|
|
AFWIJKEND_VIA_PLAATS,
|
|
AFWIJKEND_VIA_ADRES,
|
|
STANDAARD_NAAR,
|
|
STANDAARD_NAAR_PLAATSNAAM,
|
|
AFWIJKEND_NAAR_PLAATS,
|
|
AFWIJKEND_NAAR_ADRES,
|
|
CHAUFF_VAN_TIJD,
|
|
CHAUFF_TOT_TIJD,
|
|
CHAUFF_KM,
|
|
DOORBELAST_UREN,
|
|
DOORBELAST_KM
|
|
)
|
|
AS
|
|
SELECT ritres.res_reservering_key,
|
|
ritres.res_rsv_ruimte_volgnr,
|
|
ritres.res_rsv_ruimte_key,
|
|
ritres.chauffeur,
|
|
ritres.omschrijving,
|
|
ritres.opmerking,
|
|
ritres.auto,
|
|
ritres.datum_van,
|
|
ritres.tijd_van,
|
|
ritres.datum_tot,
|
|
ritres.tijd_tot,
|
|
ritres.prs_perslid_key,
|
|
ritres.gastheervrouw,
|
|
ritres.prs_afdeling_naam,
|
|
ritres.prs_kostenplaats_nr,
|
|
ritres.prs_kostenplaats_omschrijving,
|
|
-- 'Vertrektijd (afwijkend)'
|
|
(SELECT fd.fac_usrdata_omschr
|
|
FROM fac_usrdata fd, res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 88
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
fd.fac_usrdata_key) afwijkend_van_tijd,
|
|
-- 'Via-tijd'
|
|
(SELECT fd.fac_usrdata_omschr
|
|
FROM fac_usrdata fd, res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 94
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
fd.fac_usrdata_key) via_tijd,
|
|
-- 'Aankomsttijd (afwijkend)'
|
|
(SELECT fd.fac_usrdata_omschr
|
|
FROM fac_usrdata fd, res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 100
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
fd.fac_usrdata_key) afwijkend_tot_tijd,
|
|
-- 'Standaard vertrekplaats'
|
|
(SELECT van.mld_adres_plaats_adres_naam
|
|
FROM res_kenmerkwaarde k, akzo_v_rit_adres van
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 83
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
van.mld_adres_key) standaard_van,
|
|
-- 'Standaard vertrekplaats'
|
|
(SELECT van.mld_adres_bezoek_plaats
|
|
FROM res_kenmerkwaarde k, akzo_v_rit_adres van
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 83
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
van.mld_adres_key) standaard_van_plaatsnaam,
|
|
-- 'Vertrekplaatsnaam (afwijkend)'
|
|
(SELECT k.res_kenmerkreservering_waarde
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 86) afwijkend_van_plaats,
|
|
-- 'Vertrekadres (afwijkend)'
|
|
(SELECT k.res_kenmerkreservering_waarde
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 87) afwijkend_van_adres,
|
|
-- 'Standaard via-adres'
|
|
(SELECT van.mld_adres_plaats_adres_naam
|
|
FROM res_kenmerkwaarde k, akzo_v_rit_adres van
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 90
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
van.mld_adres_key) standaard_via,
|
|
-- 'Standaard via-adres'
|
|
(SELECT van.mld_adres_bezoek_plaats
|
|
FROM res_kenmerkwaarde k, akzo_v_rit_adres van
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 90
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
van.mld_adres_key) standaard_via_plaatsnaam,
|
|
-- 'Via-plaatsnaam (afwijkend)'
|
|
(SELECT k.res_kenmerkreservering_waarde
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 92) afwijkend_via_plaats,
|
|
-- 'Via-adres (afwijkend)'
|
|
(SELECT k.res_kenmerkreservering_waarde
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 93) afwijkend_via_adres,
|
|
-- 'Standaard aankomstplaats'
|
|
(SELECT naar.mld_adres_plaats_adres_naam
|
|
FROM akzo_v_rit_adres naar, res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 96
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
naar.mld_adres_key) standaard_naar,
|
|
-- 'Standaard aankomstplaats'
|
|
(SELECT naar.mld_adres_bezoek_plaats
|
|
FROM akzo_v_rit_adres naar, res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 96
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
naar.mld_adres_key) standaard_naar_plaatsnaam,
|
|
-- 'Aankomstplaatsnaam (afwijkend)'
|
|
(SELECT k.res_kenmerkreservering_waarde
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 98) afwijkend_naar_plaats,
|
|
-- 'Aankomstadres (afwijkend)'
|
|
(SELECT k.res_kenmerkreservering_waarde
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 99) afwijkend_naar_adres,
|
|
-- 'Vertrektijd (werkelijk)'
|
|
(SELECT fd.fac_usrdata_omschr
|
|
FROM fac_usrdata fd, res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 103
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
fd.fac_usrdata_key) chauff_van_tijd,
|
|
-- 'Aankomsttijd (werkelijk)'
|
|
(SELECT fd.fac_usrdata_omschr
|
|
FROM fac_usrdata fd, res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 104
|
|
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) =
|
|
fd.fac_usrdata_key) chauff_tot_tijd,
|
|
-- 'Gereden km'
|
|
(SELECT fac.safe_to_number (
|
|
REPLACE (k.res_kenmerkreservering_waarde, ',', '.'))
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 105) chauff_km,
|
|
-- 'Aantal uren'
|
|
(SELECT fac.safe_to_number (
|
|
REPLACE (k.res_kenmerkreservering_waarde, ',', '.'))
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 108) doorbelast_uren,
|
|
-- 'Aantal km'
|
|
(SELECT fac.safe_to_number (
|
|
REPLACE (k.res_kenmerkreservering_waarde, ',', '.'))
|
|
FROM res_kenmerkwaarde k
|
|
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
|
AND k.res_kenmerk_key = 107) doorbelast_km
|
|
FROM akzo_v_ritten_reservering_geg ritres;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RIT_GEPLANDE_RITTEN
|
|
(
|
|
DATUM,
|
|
DAG,
|
|
STARTTIJD,
|
|
VIATIJD,
|
|
TOTTIJD,
|
|
VAN,
|
|
VIA,
|
|
NAAR,
|
|
FCLT_F_OPDRACHTGEVER,
|
|
FCLT_F_CHAUFFEUR,
|
|
FCLT_F_AUTO,
|
|
TOELICHTINGEN,
|
|
HIDE_F_RESERVERINGKEY,
|
|
HIDE_F_RESERVERINGVOLGNR,
|
|
HIDE_F_GASTHEERVROUW,
|
|
FCLT_F_KOSTENPLAATS,
|
|
HIDE_F_AFDELING
|
|
)
|
|
AS
|
|
SELECT datum_van
|
|
datum,
|
|
DECODE (TO_CHAR (datum_van, 'D'),
|
|
1, 'Zondag',
|
|
2, 'Maandag',
|
|
3, 'Dinsdag',
|
|
4, 'Woensdag',
|
|
5, 'Donderdag',
|
|
6, 'Vrijdag',
|
|
7, 'Zaterdag',
|
|
'')
|
|
AS Dag,
|
|
COALESCE (chauff_van_tijd, afwijkend_van_tijd, tijd_van)
|
|
AS Starttijd,
|
|
via_tijd
|
|
AS Viatijd,
|
|
COALESCE (chauff_tot_tijd, afwijkend_tot_tijd, tijd_tot)
|
|
AS Tottijd,
|
|
DECODE (afwijkend_van_plaats || ', ' || afwijkend_van_adres,
|
|
', ', standaard_van,
|
|
afwijkend_van_plaats || ', ' || afwijkend_van_adres)
|
|
AS Van,
|
|
DECODE (afwijkend_via_plaats || ', ' || afwijkend_via_adres,
|
|
', ', standaard_via,
|
|
afwijkend_via_plaats || ', ' || afwijkend_via_adres)
|
|
AS Via,
|
|
DECODE (afwijkend_naar_plaats || ', ' || afwijkend_naar_adres,
|
|
', ', standaard_naar,
|
|
afwijkend_naar_plaats || ', ' || afwijkend_naar_adres)
|
|
AS Naar,
|
|
prs_afdeling_naam
|
|
AS fclt_f_Opdrachtgever,
|
|
chauffeur
|
|
AS fclt_f_chauffeur,
|
|
auto
|
|
AS fclt_f_auto,
|
|
opmerking
|
|
AS Toelichtingen,
|
|
res_reservering_key
|
|
AS hide_f_reserveringkey,
|
|
res_rsv_ruimte_volgnr
|
|
AS hide_f_reserveringvolgnr,
|
|
gastheervrouw
|
|
AS hide_f_gastheervrouw,
|
|
prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving
|
|
AS fclt_f_kostenplaats,
|
|
prs_afdeling_naam
|
|
AS hide_f_afdeling
|
|
FROM akzo_v_ritten_rapportage;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RIT_GEPLANDE_RITTEN
|
|
(
|
|
DATUM,
|
|
DAG,
|
|
STARTTIJD,
|
|
VIATIJD,
|
|
TOTTIJD,
|
|
VAN,
|
|
VIA,
|
|
NAAR,
|
|
FCLT_F_OPDRACHTGEVER,
|
|
FCLT_F_CHAUFFEUR,
|
|
FCLT_F_AUTO,
|
|
TOELICHTINGEN,
|
|
HIDE_F_RESERVERINGKEY,
|
|
HIDE_F_RESERVERINGVOLGNR,
|
|
HIDE_F_GASTHEERVROUW,
|
|
FCLT_F_KOSTENPLAATS,
|
|
HIDE_F_AFDELING
|
|
)
|
|
AS
|
|
SELECT datum_van
|
|
datum,
|
|
DECODE (TO_CHAR (datum_van, 'D'),
|
|
1, 'Zondag',
|
|
2, 'Maandag',
|
|
3, 'Dinsdag',
|
|
4, 'Woensdag',
|
|
5, 'Donderdag',
|
|
6, 'Vrijdag',
|
|
7, 'Zaterdag',
|
|
'')
|
|
AS Dag,
|
|
COALESCE (chauff_van_tijd, afwijkend_van_tijd, tijd_van)
|
|
AS Starttijd,
|
|
via_tijd
|
|
AS Viatijd,
|
|
COALESCE (chauff_tot_tijd, afwijkend_tot_tijd, tijd_tot)
|
|
AS Tottijd,
|
|
DECODE (afwijkend_van_plaats || ', ' || afwijkend_van_adres,
|
|
', ', standaard_van,
|
|
afwijkend_van_plaats || ', ' || afwijkend_van_adres)
|
|
AS Van,
|
|
DECODE (afwijkend_via_plaats || ', ' || afwijkend_via_adres,
|
|
', ', standaard_via,
|
|
afwijkend_via_plaats || ', ' || afwijkend_via_adres)
|
|
AS Via,
|
|
DECODE (afwijkend_naar_plaats || ', ' || afwijkend_naar_adres,
|
|
', ', standaard_naar,
|
|
afwijkend_naar_plaats || ', ' || afwijkend_naar_adres)
|
|
AS Naar,
|
|
prs_afdeling_naam
|
|
AS fclt_f_Opdrachtgever,
|
|
chauffeur
|
|
AS fclt_f_chauffeur,
|
|
auto
|
|
AS fclt_f_auto,
|
|
opmerking
|
|
AS Toelichtingen,
|
|
res_reservering_key
|
|
AS hide_f_reserveringkey,
|
|
res_rsv_ruimte_volgnr
|
|
AS hide_f_reserveringvolgnr,
|
|
gastheervrouw
|
|
AS hide_f_gastheervrouw,
|
|
prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving
|
|
AS fclt_f_kostenplaats,
|
|
prs_afdeling_naam
|
|
AS hide_f_afdeling
|
|
FROM akzo_v_ritten_rapportage;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RIT_KM_SPEC
|
|
(
|
|
FCLT_F_CHAUFFEUR,
|
|
FCLT_F_VOERTUIG,
|
|
DAG,
|
|
DATUM,
|
|
VERTREK,
|
|
AANKOMST,
|
|
FCLT_F_OPDRACHTGEVER,
|
|
VAN,
|
|
NAAR,
|
|
KILOMETERS
|
|
)
|
|
AS
|
|
SELECT chauffeur
|
|
AS fclt_f_chauffeur,
|
|
auto
|
|
AS fclt_f_voertuig,
|
|
DECODE (TO_CHAR (datum_van, 'D'),
|
|
1, 'Zondag',
|
|
2, 'Maandag',
|
|
3, 'Dinsdag',
|
|
4, 'Woensdag',
|
|
5, 'Donderdag',
|
|
6, 'Vrijdag',
|
|
7, 'Zaterdag',
|
|
'')
|
|
AS Dag,
|
|
datum_van
|
|
datum,
|
|
chauff_van_tijd
|
|
AS Vertrek,
|
|
chauff_tot_tijd
|
|
AS Aankomst,
|
|
prs_afdeling_naam
|
|
AS fclt_f_Opdrachtgever,
|
|
DECODE (afwijkend_van_plaats || ', ' || afwijkend_van_adres,
|
|
', ', standaard_van,
|
|
afwijkend_van_plaats || ', ' || afwijkend_van_adres)
|
|
AS Van,
|
|
DECODE (afwijkend_naar_plaats || ', ' || afwijkend_naar_adres,
|
|
', ', standaard_naar,
|
|
afwijkend_naar_plaats || ', ' || afwijkend_naar_adres)
|
|
AS Naar,
|
|
TO_NUMBER (chauff_km)
|
|
AS Kilometers
|
|
FROM akzo_v_ritten_rapportage;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RITTEN_DOORBELASTING
|
|
(
|
|
RES_RESERVERING_KEY,
|
|
RES_RSV_RUIMTE_VOLGNR,
|
|
RES_RSV_RUIMTE_KEY,
|
|
STATUS,
|
|
TARIEFGROEP,
|
|
C_TARIEF,
|
|
KM_TARIEF,
|
|
UUR_TARIEF
|
|
)
|
|
AS
|
|
SELECT res.res_reservering_key,
|
|
ruim.res_rsv_ruimte_volgnr,
|
|
ruim.res_rsv_ruimte_key,
|
|
stat.res_status_bo_omschrijving status,
|
|
tariefgrp.akzo_v_rit_tariefgroep_naam tariefgroep,
|
|
tariefgrp.c_tarief,
|
|
tariefgrp.km_tarief,
|
|
tariefgrp.uur_tarief
|
|
FROM res_v_aanwezigreservering res,
|
|
res_v_aanwezigrsv_ruimte ruim,
|
|
res_status_bo stat,
|
|
akzo_v_rit_tariefgroep tariefgrp,
|
|
res_kenmerkwaarde k_tariefgrp
|
|
WHERE res.res_reservering_key = ruim.res_reservering_key
|
|
AND ruim.res_status_bo_key = stat.res_status_bo_key
|
|
-- key van kenmerk Tariefgroep
|
|
AND k_tariefgrp.res_kenmerk_key = 109
|
|
AND fac.safe_to_number (k_tariefgrp.res_kenmerkreservering_waarde) =
|
|
tariefgrp.akzo_v_rit_tariefgroep_key
|
|
AND ruim.res_rsv_ruimte_key = k_tariefgrp.res_rsv_ruimte_key
|
|
-- key van activiteit Rit
|
|
AND ruim.res_activiteit_key = 210;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RITTEN_ALL_DOORBELAST
|
|
(
|
|
RES_RESERVERING_KEY,
|
|
RES_RSV_RUIMTE_VOLGNR,
|
|
RES_RSV_RUIMTE_KEY,
|
|
CHAUFFEUR,
|
|
OMSCHRIJVING,
|
|
OPMERKING,
|
|
AUTO,
|
|
DATUM_VAN,
|
|
TIJD_VAN,
|
|
DATUM_TOT,
|
|
TIJD_TOT,
|
|
PRS_PERSLID_KEY,
|
|
GASTHEERVROUW,
|
|
PRS_AFDELING_NAAM,
|
|
PRS_KOSTENPLAATS_NR,
|
|
PRS_KOSTENPLAATS_OMSCHRIJVING,
|
|
AFWIJKEND_VAN_TIJD,
|
|
VIA_TIJD,
|
|
AFWIJKEND_TOT_TIJD,
|
|
STANDAARD_VAN,
|
|
STANDAARD_VAN_PLAATSNAAM,
|
|
AFWIJKEND_VAN_PLAATS,
|
|
AFWIJKEND_VAN_ADRES,
|
|
STANDAARD_VIA,
|
|
STANDAARD_VIA_PLAATSNAAM,
|
|
AFWIJKEND_VIA_PLAATS,
|
|
AFWIJKEND_VIA_ADRES,
|
|
STANDAARD_NAAR,
|
|
STANDAARD_NAAR_PLAATSNAAM,
|
|
AFWIJKEND_NAAR_PLAATS,
|
|
AFWIJKEND_NAAR_ADRES,
|
|
CHAUFF_VAN_TIJD,
|
|
CHAUFF_TOT_TIJD,
|
|
CHAUFF_KM,
|
|
DOORBELAST_UREN,
|
|
DOORBELAST_KM,
|
|
STATUS,
|
|
TARIEFGROEP,
|
|
C_TARIEF,
|
|
KM_TARIEF,
|
|
UUR_TARIEF,
|
|
TOTAAL
|
|
)
|
|
AS
|
|
SELECT rit_rap."RES_RESERVERING_KEY",
|
|
rit_rap."RES_RSV_RUIMTE_VOLGNR",
|
|
rit_rap."RES_RSV_RUIMTE_KEY",
|
|
rit_rap."CHAUFFEUR",
|
|
rit_rap."OMSCHRIJVING",
|
|
rit_rap."OPMERKING",
|
|
rit_rap."AUTO",
|
|
rit_rap."DATUM_VAN",
|
|
rit_rap."TIJD_VAN",
|
|
rit_rap."DATUM_TOT",
|
|
rit_rap."TIJD_TOT",
|
|
rit_rap."PRS_PERSLID_KEY",
|
|
rit_rap."GASTHEERVROUW",
|
|
rit_rap."PRS_AFDELING_NAAM",
|
|
rit_rap."PRS_KOSTENPLAATS_NR",
|
|
rit_rap."PRS_KOSTENPLAATS_OMSCHRIJVING",
|
|
rit_rap."AFWIJKEND_VAN_TIJD",
|
|
rit_rap."VIA_TIJD",
|
|
rit_rap."AFWIJKEND_TOT_TIJD",
|
|
rit_rap."STANDAARD_VAN",
|
|
rit_rap."STANDAARD_VAN_PLAATSNAAM",
|
|
rit_rap."AFWIJKEND_VAN_PLAATS",
|
|
rit_rap."AFWIJKEND_VAN_ADRES",
|
|
rit_rap."STANDAARD_VIA",
|
|
rit_rap."STANDAARD_VIA_PLAATSNAAM",
|
|
rit_rap."AFWIJKEND_VIA_PLAATS",
|
|
rit_rap."AFWIJKEND_VIA_ADRES",
|
|
rit_rap."STANDAARD_NAAR",
|
|
rit_rap."STANDAARD_NAAR_PLAATSNAAM",
|
|
rit_rap."AFWIJKEND_NAAR_PLAATS",
|
|
rit_rap."AFWIJKEND_NAAR_ADRES",
|
|
rit_rap."CHAUFF_VAN_TIJD",
|
|
rit_rap."CHAUFF_TOT_TIJD",
|
|
rit_rap."CHAUFF_KM",
|
|
rit_rap."DOORBELAST_UREN",
|
|
rit_rap."DOORBELAST_KM",
|
|
rit_doorb.status,
|
|
rit_doorb.tariefgroep,
|
|
rit_doorb.c_tarief,
|
|
rit_doorb.km_tarief,
|
|
rit_doorb.uur_tarief,
|
|
ROUND (
|
|
( rit_doorb.c_tarief
|
|
+ ( rit_doorb.km_tarief
|
|
* COALESCE (fac.safe_to_number (rit_rap.doorbelast_km), 0))
|
|
+ ( rit_doorb.uur_tarief
|
|
* COALESCE (fac.safe_to_number (rit_rap.doorbelast_uren),
|
|
0))),
|
|
2) AS totaal
|
|
FROM akzo_v_ritten_rapportage rit_rap,
|
|
akzo_v_ritten_doorbelasting rit_doorb
|
|
WHERE rit_rap.res_rsv_ruimte_key = rit_doorb.res_rsv_ruimte_key(+);
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RIT_KOSTENOVERZICHT
|
|
(
|
|
CODE,
|
|
DATUM,
|
|
VAN,
|
|
NAAR,
|
|
FCLT_F_CHAUFFEUR,
|
|
FCLT_F_VOERTUIG,
|
|
FCLT_F_OPDRACHTGEVER,
|
|
KM,
|
|
UREN,
|
|
STATUS,
|
|
TARIEFGROEP,
|
|
TOTAAL
|
|
)
|
|
AS
|
|
SELECT TO_CHAR (res_reservering_key)
|
|
AS Code,
|
|
datum_van
|
|
datum,
|
|
COALESCE (afwijkend_van_plaats, standaard_van_plaatsnaam)
|
|
AS Van,
|
|
COALESCE (afwijkend_naar_plaats, standaard_naar_plaatsnaam)
|
|
AS Naar,
|
|
chauffeur
|
|
AS fclt_f_chauffeur,
|
|
auto
|
|
AS fclt_f_voertuig,
|
|
prs_afdeling_naam
|
|
AS fclt_f_Opdrachtgever,
|
|
fac.safe_to_number (doorbelast_km)
|
|
AS Km,
|
|
fac.safe_to_number (doorbelast_uren)
|
|
AS Uren,
|
|
status,
|
|
tariefgroep,
|
|
totaal
|
|
FROM akzo_v_ritten_all_doorbelast;
|
|
|
|
----- Einde rittenadministratie ---------
|
|
-----------------------------------------
|
|
|
|
|
|
------ 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 |