EIND#77861 EIND0

svn path=/Customer/trunk/; revision=65966
This commit is contained in:
Maarten van der Heide
2024-08-21 07:45:34 +00:00
parent b0d8a79752
commit 7b70ec4a20

View File

@@ -67,7 +67,7 @@ AS
COUNT (vp.prs_perslid_key) aant
FROM prs_v_aanwezigperslid p, prs_v_verplichting_keys vp, prs_v_perslid_fullnames pf
WHERE p.prs_perslid_externid IS NOT NULL -- SCIM-populatie!
AND COAlESCE (p.prs_perslid_inactief, SYSDATE) < TRUNC (SYSDATE - 14) -- Op 20-2 (oa. met Dominic van de Mosselaar) besloten om 14 dagen te wachten!
AND COALESCE (p.prs_perslid_inactief, SYSDATE) < TRUNC (SYSDATE - 14) -- Op 20-2 (oa. met Dominic van de Mosselaar) besloten om 14 dagen te wachten!
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
AND p.prs_perslid_key = pf.prs_perslid_key
--AND EXISTS
@@ -118,6 +118,15 @@ AS
COMMIT;
END IF;
ELSE
-- Op 13-3 (oa. met Dominic van de Mosselaar) besloten om de
-- login alvast te wissen (ter voorkoming van Sally Badji-
-- gevallen=dezelfde login toegekend aan een persoon met een
-- andere externid)!
v_errormsg := 'Fout wissen loginnaam';
UPDATE prs_perslid
SET prs_perslid_oslogin = NULL
WHERE prs_perslid_key = rec.prs_perslid_key;
fac.writelog ('EIND_SCHONEN', 'I', rec.aanduiding || '/#Verplichtingen: ' || TO_CHAR (rec.aant), 'Persoon niet geschoond');
END IF;
EXCEPTION
@@ -945,6 +954,236 @@ EXCEPTION
END eind_update_prs;
/
CREATE OR REPLACE PROCEDURE eind_import_licenties (
p_import_key IN NUMBER
)
IS
c_fielddelimitor VARCHAR2 (1) := ';';
v_newline VARCHAR2 (1000); -- Input line
v_aanduiding VARCHAR2 (200);
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
header_is_valid NUMBER := 0;
v_ongeldig NUMBER (1);
v_count_tot NUMBER (10);
v_count_import NUMBER (10);
v_count NUMBER;
-- De importvelden:
v_Software VARCHAR2 (256);
v_Email VARCHAR2 (256);
v_Bedrag VARCHAR2 (256);
CURSOR c1
IS
SELECT *
FROM fac_imp_file
WHERE fac_import_key = p_import_key
ORDER BY fac_imp_file_index;
BEGIN
DELETE FROM eind_imp_licenties;
COMMIT;
v_count_tot := 0;
v_count_import := 0;
FOR rec1 IN c1
LOOP
BEGIN
v_newline := rec1.fac_imp_file_line;
v_aanduiding := '';
v_errorhint := 'Fout bij opvragen te importeren rij';
v_ongeldig := 0;
-- Lees alle veldwaarden
-- Licentie gegevens uit csv
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_Software);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 2, v_Email);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_Bedrag);
--
v_aanduiding :=
'['
|| v_Software
|| '|'
|| v_Email
|| '] ';
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
IF (header_is_valid = 0)
THEN
IF UPPER (v_Software) = 'SOFTWARE'
AND UPPER (v_Email) = 'EMAIL'
AND UPPER (v_Bedrag) = 'BEDRAG'
THEN
header_is_valid := 1;
END IF;
ELSE
v_count_tot := v_count_tot + 1;
-- Insert geformatteerde import record
IF v_ongeldig = 0
THEN
BEGIN
v_errorhint :=
'Fout bij toevoegen regel aan importtabel eind_imp_licenties';
INSERT INTO eind_imp_licenties (col01, col02, col03)
VALUES (v_Software, v_Email, v_Bedrag);
COMMIT;
v_count_import := v_count_import + 1;
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.imp_writelog
(p_import_key,
'E',
v_aanduiding || v_errormsg,
'Ingelezen regel kan niet worden weggeschreven!'
);
COMMIT;
END;
END IF;
END IF;
END;
END LOOP;
IF (header_is_valid = 0)
THEN
fac.imp_writelog (p_import_key,
'E',
'Ongeldig importbestand',
'Geen header of header niet volgens specificatie!'
);
ELSE
fac.imp_writelog (p_import_key,
'S',
'LICENTIES: aantal ingelezen regels: '
|| TO_CHAR (v_count_import),
''
);
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg :=
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || v_errormsg,
v_errorhint
);
COMMIT;
END eind_import_licenties;
/
CREATE OR REPLACE PROCEDURE eind_update_licenties (
p_import_key IN NUMBER
)
IS
v_aanduiding VARCHAR2 (200);
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count_tot NUMBER (10);
v_count_error NUMBER (10);
v_count NUMBER (10);
CURSOR c1 IS
SELECT l.col01,
l.col02,
l.col03,
p.prs_perslid_key persoon,
i.ins_deel_key parent,
i.ins_deel_omschrijving
FROM eind_imp_licenties l, ins_deel i, prs_perslid p
WHERE UPPER (l.col01) = UPPER (i.ins_deel_omschrijving)
AND UPPER (l.col02) = UPPER (p.prs_perslid_email)
AND i.ins_deel_verwijder IS NULL;
BEGIN
FOR rec IN c1
LOOP
BEGIN
v_count_tot := v_count_tot + 1;
v_errorhint := 'Fout bij toevoegen licentie ' || rec.col01 || ' ' || rec.col02;
INSERT INTO ins_deel (ins_deel_module,
ins_srtdeel_key,
ins_alg_ruimte_key,
ins_alg_ruimte_type,
ins_deel_aantal,
ins_deel_omschrijving,
ins_discipline_key,
ins_deel_parent_key)
VALUES ('INS',
941,
rec.persoon,
'P',
1,
ins.nextdescription ('LIC', rec.parent),
1422,
rec.parent);
EXCEPTION
WHEN OTHERS
THEN
v_count_error := v_count_error + 1;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
'OTHERS (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || v_errormsg,
v_errorhint
);
COMMIT;
END;
END LOOP;
fac.imp_writelog (p_import_key,
'S',
'LICENTIES: verwerkte regels zonder foutmelding: '
|| TO_CHAR (v_count_tot - v_count_error),
''
);
fac.imp_writelog (p_import_key,
'S',
'LICENTIES: verwerkte regels met foutmelding: '
|| TO_CHAR (v_count_error),
''
);
COMMIT;
END eind_update_licenties;
/
/*
CREATE OR REPLACE VIEW EIND_V_RAP_QRC
AS
@@ -1163,6 +1402,144 @@ AS
AND m.mld_melding_key = grootboeknummer.mld_melding_key(+)) intbes
ON extbes.ins_srtdeel_key = intbes.ins_srtdeel_key;
-- Objecten UDR incl kenmerken die kijkt naar ins_kenmerk_omschrijving
CREATE OR REPLACE VIEW EIND_V_UDR_DEELKENMERK_CND
(
DEEL_KEY,
DISCIPLINE,
SOORT,
GROEP,
SOORTCODE,
OMSCHRIJVING,
PLAATSEIGENAAR,
PLAATSEIGENAARTYPE,
PLAATSAANDUIDING,
EIGENAAR,
EIGENAAR_KEY,
EIGENAAR_AFD,
OPMERKING,
REGIO,
DISTRICT,
LOCATIE_CODE,
LOCATIE_OMSCHRIJVING,
LOCATIE_PLAATS,
GEBOUWCODE,
GEBOUW,
GEBOUWOMSCHRIJVING,
TERREINSECTORCODE,
TERREINSECTOR,
VERDIEPINGCODE,
RUIMTENR,
WERKPLEKVOLGNR,
WERKPLEK,
UITLEENBAAR,
UITGELEEND,
RES_OPMERKING,
BEHEERDER,
VERVALDATUM,
ACTIEF,
AANTAL,
STATE,
STATEDATE,
FCLT_3D_DISCIPLINE_KEY,
FCLT_3D_AFDELING_KEY,
FCLT_3D_LOCATIE_KEY,
KENMERK,
WAARDE_C,
WAARDE_N,
WAARDE_D,
WAARDE_X
)
AS
SELECT m."DEEL_KEY",
m."DISCIPLINE",
m."SOORT",
m."GROEP",
m."SOORTCODE",
m."OMSCHRIJVING",
m."PLAATSEIGENAAR",
m."PLAATSEIGENAARTYPE",
m."PLAATSAANDUIDING",
m."EIGENAAR",
m."EIGENAAR_KEY",
(SELECT pa.prs_afdeling_omschrijving
FROM prs_afdeling pa
WHERE pa.prs_afdeling_key = m.fclt_3d_afdeling_key) EIGENAAR_AFDELING,
m."OPMERKING",
m."REGIO",
m."DISTRICT",
m."LOCATIE_CODE",
m."LOCATIE_OMSCHRIJVING",
m."LOCATIE_PLAATS",
m."GEBOUWCODE",
m."GEBOUW",
m."GEBOUWOMSCHRIJVING",
m."TERREINSECTORCODE",
m."TERREINSECTOR",
m."VERDIEPINGCODE",
m."RUIMTENR",
m."WERKPLEKVOLGNR",
m."WERKPLEK",
m."UITLEENBAAR",
m."UITGELEEND",
m."RES_OPMERKING",
m."BEHEERDER",
m."VERVALDATUM",
m."ACTIEF",
m."AANTAL",
m."STATE",
m."STATEDATE",
m."FCLT_3D_DISCIPLINE_KEY",
m."FCLT_3D_AFDELING_KEY",
m."FCLT_3D_LOCATIE_KEY",
k.ins_kenmerk_omschrijving kenmerk,
CASE
WHEN skm.ins_srtkenmerk_kenmerktype = 'R'
OR skm.ins_srtkenmerk_kenmerktype = 'S'
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key,
km.ins_kenmerkdeel_waarde)
WHEN skm.ins_srtkenmerk_kenmerktype = 'C'
OR skm.ins_srtkenmerk_kenmerktype = 'F'
THEN
km.ins_kenmerkdeel_waarde
ELSE
NULL
END waarde_c,
CASE
WHEN skm.ins_srtkenmerk_kenmerktype = 'N'
OR skm.ins_srtkenmerk_kenmerktype = 'B'
THEN
TO_NUMBER (km.ins_kenmerkdeel_waarde)
ELSE
TO_NUMBER (NULL)
END waarde_n,
CASE
WHEN skm.ins_srtkenmerk_kenmerktype = 'D'
THEN
TO_DATE (km.ins_kenmerkdeel_waarde, 'DD-MM-YYYY')
ELSE
TO_DATE (NULL)
END waarde_d,
CASE
WHEN skm.ins_srtkenmerk_kenmerktype IN ('R', 'S')
THEN
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key,
km.ins_kenmerkdeel_waarde)
ELSE
km.ins_kenmerkdeel_waarde
END waarde_x
FROM ins_v_udr_deel M,
ins_kenmerkdeel km,
ins_kenmerk K,
ins_srtkenmerk skm
WHERE km.ins_deel_key = m.deel_key
AND km.ins_kenmerkdeel_verwijder IS NULL
AND k.ins_kenmerk_verwijder IS NULL
AND skm.ins_srtkenmerk_verwijder IS NULL
AND km.ins_kenmerk_key = k.ins_kenmerk_key(+)
AND k.ins_srtkenmerk_key = skm.ins_srtkenmerk_key(+);
CREATE OR REPLACE VIEW EIND_V_RAP_MLD_MIGRATIE
AS
SELECT COALESCE (m.mld_ins_discipline_key, md.ins_discipline_key) fclt_3d_discipline_key,
@@ -1316,6 +1693,8 @@ AS
prijs,
ext_besteld;
-- Softwarelijst met software die mag worden aangevraagd
CREATE OR REPLACE VIEW eind_v_software
(
ins_deel_key,
@@ -1323,11 +1702,31 @@ CREATE OR REPLACE VIEW eind_v_software
ins_deel_vervaldatum
)
AS
SELECT ins_deel_key, ins_deel_omschrijving, ins_deel_vervaldatum
SELECT i.ins_deel_key, i.ins_deel_omschrijving, i.ins_deel_vervaldatum
FROM ins_deel i, ins_srtdeel sd, ins_srtgroep sg, ins_kenmerkdeel ikd
WHERE i.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_discipline_key IN (1501, 2561) -- Software en software met licentie
AND i.ins_deel_key = ikd.ins_deel_key
AND ikd.ins_kenmerk_key IN (826, 874) -- Alleen aan te vragen software
AND ikd.ins_kenmerkdeel_waarde = 'Ja'
AND i.ins_deel_verwijder IS NULL
AND sd.ins_srtdeel_verwijder IS NULL
AND sg.ins_srtgroep_verwijder IS NULL;
-- Ongefilterde lijst met alle software, voor o.a. het melden van storingen
CREATE OR REPLACE VIEW eind_v_software_all
(
ins_deel_key,
ins_deel_omschrijving,
ins_deel_vervaldatum
)
AS
SELECT i.ins_deel_key, i.ins_deel_omschrijving, i.ins_deel_vervaldatum
FROM ins_deel i, ins_srtdeel sd, ins_srtgroep sg
WHERE i.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_discipline_key = 1501 -- Software
AND sg.ins_discipline_key IN (1501, 2561) -- Software en software met licentie
AND i.ins_deel_verwijder IS NULL
AND sd.ins_srtdeel_verwijder IS NULL
AND sg.ins_srtgroep_verwijder IS NULL;
@@ -1341,7 +1740,7 @@ AS
AND itb.ins_discipline_module = 'MLD'
AND itb.ins_discipline_verwijder IS NULL;
CREATE OR REPLACE VIEW eind_v_rap_licentie_overzicht
CREATE OR REPLACE VIEW eind_v_rap_licentie_bron
AS
SELECT i.ins_deel_omschrijving software_naam,
x.ins_srtgroep_omschrijving soort_licentie,
@@ -1355,23 +1754,19 @@ SELECT i.ins_deel_omschrijving software_naam,
(SELECT ikd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel ikd
WHERE ikd.ins_deel_key = i.ins_deel_key
AND ikd.ins_kenmerk_key = 801) aantal_gekocht,
AND ikd.ins_kenmerk_key = 880) aantal_gekocht,
(SELECT ikd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel ikd
WHERE ikd.ins_deel_key = ii.ins_deel_key
AND ikd.ins_kenmerk_key = 401) prijs_per_stuk,
(SELECT ikd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel ikd
WHERE ikd.ins_deel_key = ii.ins_deel_key
AND ikd.ins_kenmerk_key = 402) totaal_prijs,
WHERE ikd.ins_deel_key = i.ins_deel_key
AND ikd.ins_kenmerk_key = 862) totaal_prijs,
(SELECT ikd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel ikd
WHERE ikd.ins_deel_key = ii.ins_deel_key
AND ikd.ins_kenmerk_key = 403) serienummer,
(SELECT ikd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel ikd
WHERE ikd.ins_deel_key = ii.ins_deel_key
AND ikd.ins_kenmerk_key = 404) leverancier,
WHERE ikd.ins_deel_key = i.ins_deel_key
AND ikd.ins_kenmerk_key = 868) leverancier,
ii.ins_deel_key licentie_key,
i.ins_deel_key software_key
FROM ins_deel i,
@@ -1408,7 +1803,44 @@ SELECT i.ins_deel_omschrijving software_naam,
) x
WHERE i.ins_deel_key = ii.ins_deel_parent_key
AND ii.ins_deel_key = x.ins_deel_key
AND ii.ins_deel_parent_key IS NOT NULL;
AND ii.ins_deel_parent_key IS NOT NULL
AND i.ins_deel_verwijder IS NULL
AND ii.ins_deel_verwijder IS NULL;
CREATE OR REPLACE VIEW eind_v_rap_licentie_overzicht
AS
SELECT lb.software_naam,
lb.soort_licentie,
lb.licentie_naam,
lb.licentie_status,
lb.uitgegeven_aan,
lb.afdeling,
lb.datum_uit_dienst,
lb.ingangsdatum,
lb.einddatum,
DECODE (sub.aantal, NULL, 0, sub.aantal)
ingeberuik,
DECODE (sub2.aantal_voorraad, NULL, 0, sub2.aantal_voorraad)
voorraad,
lb.aantal_gekocht,
lb.aantal_gekocht - sub.aantal
verschil,
lb.prijs_per_stuk,
lb.totaal_prijs,
lb.leverancier,
lb.licentie_key,
lb.software_key
FROM eind_v_rap_licentie_bron lb,
( SELECT software_naam, COUNT (licentie_key) aantal
FROM eind_v_rap_licentie_bron
WHERE uitgegeven_aan IS NOT NULL
GROUP BY software_naam) sub,
( SELECT software_naam, COUNT (licentie_key) aantal_voorraad
FROM eind_v_rap_licentie_bron
WHERE uitgegeven_aan IS NULL
GROUP BY software_naam) sub2
WHERE lb.software_naam = sub.software_naam(+)
AND lb.software_naam = sub2.software_naam(+);
CREATE OR REPLACE VIEW eind_v_leidinggevenden
AS
@@ -1421,6 +1853,176 @@ prs_v_perslid_fullnames p
WHERE p.prs_perslid_key = f.prs_perslid_key
AND f.fac_groep_key = 501;
-- Objectenimport om ook de plaats / eigenaar van het object bij te werken.
CREATE OR REPLACE PROCEDURE eind_import_obj (p_import_key IN NUMBER)
AS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (400);
v_errorhint VARCHAR2 (400);
BEGIN
v_errorhint := 'eind_import_obj';
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
fac_import_ins (p_import_key);
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 eind_import_obj;
/
CREATE OR REPLACE PROCEDURE eind_post_update_obj (p_import_key IN NUMBER)
AS
v_aanduiding VARCHAR (400);
CURSOR c_update
IS
SELECT DISTINCT d.ins_deel_key,
i.ins_deel_omschrijving,
i.ins_deel_aanmaak aanmaak_imp,
d.ins_deel_aanmaak aanmaak_ins,
i.ins_deel_vervaldatum vervaldatum_imp,
d.ins_deel_vervaldatum vervaldatum_ins,
i.ins_deel_opmerking opmerking_imp,
d.ins_deel_opmerking opmerking_ins,
i.ins_deel_aantal aantal_imp,
d.ins_deel_aantal aantal_ins,
i.alg_ruimte_nr ruimte_imp,
(SELECT r.alg_ruimte_nr
FROM alg_ruimte r
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key
AND d.ins_alg_ruimte_type = 'R') ruimte_ins,
(SELECT r.alg_ruimte_key
FROM alg_ruimte r
WHERE UPPER (r.alg_ruimte_nr) = UPPER (i.alg_ruimte_nr)) ruimte_imp_key,
i.prs_perslid_matchwaarde prs_imp,
(SELECT p.prs_perslid_key
FROM prs_perslid p
WHERE UPPER (p.prs_perslid_email) = UPPER (i.prs_perslid_matchwaarde)) prs_imp_key,
(SELECT p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_key = d.ins_alg_ruimte_key
AND d.ins_alg_ruimte_type = 'P') prs_ins
FROM fac_imp_ins i,
ins_deel d,
ins_discipline disc,
ins_srtgroep g,
ins_srtdeel srt
WHERE UPPER (i.ins_discipline_omschrijving) =
UPPER (disc.ins_discipline_omschrijving)
AND UPPER (i.ins_srtgroep_omschrijving) =
UPPER (g.ins_srtgroep_omschrijving)
AND UPPER (i.ins_srtdeel_omschrijving) =
UPPER (srt.ins_srtdeel_omschrijving)
AND UPPER (i.ins_srtdeel_code) = UPPER (srt.ins_srtdeel_code)
AND UPPER (i.ins_deel_omschrijving) = UPPER (d.ins_deel_omschrijving)
AND d.ins_discipline_key = disc.ins_discipline_key
AND d.ins_srtdeel_key = srt.ins_srtdeel_key
AND srt.ins_srtgroep_key = g.ins_srtgroep_key
AND d.ins_deel_verwijder IS NULL;
BEGIN
FOR rec IN c_update
LOOP
BEGIN
v_aanduiding := 'Gewijzigd aanmaakdatum van ' || TO_CHAR(rec.aanmaak_ins, 'dd-mm-yyyy') || ' naar ' || TO_CHAR(rec.aanmaak_imp, 'dd-mm-yyyy') ;
IF rec.aanmaak_imp is not null and rec.aanmaak_imp <> rec.aanmaak_ins THEN
UPDATE ins_deel d
SET d.ins_deel_aanmaak = rec.aanmaak_imp
WHERE d.ins_deel_key = rec.ins_deel_key ;
fac.trackaction ('INSUPD', rec.ins_deel_key, sys_context('USERENV', 'CLIENT_IDENTIFIER'), NULL, v_aanduiding);
END IF;
v_aanduiding := 'Gewijzigd vervaldatum ' || TO_CHAR(rec.vervaldatum_ins, 'dd-mm-yyyy') || ' naar ' || TO_CHAR(rec.vervaldatum_imp, 'dd-mm-yyyy') ;
IF rec.vervaldatum_imp is not null and (rec.vervaldatum_imp <> rec.vervaldatum_ins or rec.vervaldatum_ins is null) THEN
UPDATE ins_deel d
SET d.ins_deel_vervaldatum = rec.vervaldatum_imp
WHERE d.ins_deel_key = rec.ins_deel_key ;
fac.trackaction ('INSUPD', rec.ins_deel_key, sys_context('USERENV', 'CLIENT_IDENTIFIER'), NULL, v_aanduiding);
END IF;
v_aanduiding := 'Gewijzigd omschrijving ' || rec.opmerking_ins || ' naar ' || rec.opmerking_imp ;
IF rec.opmerking_imp is not null and (rec.opmerking_imp <> rec.opmerking_ins or rec.opmerking_ins is null) THEN
UPDATE ins_deel d
SET d.ins_deel_opmerking = rec.opmerking_imp
WHERE d.ins_deel_key = rec.ins_deel_key ;
fac.trackaction ('INSUPD', rec.ins_deel_key, sys_context('USERENV', 'CLIENT_IDENTIFIER'), NULL, v_aanduiding);
END IF;
v_aanduiding := 'Gewijzigd aantal ' || rec.aantal_ins || ' naar ' || rec.aantal_imp ;
IF rec.aantal_imp is not null and rec.aantal_imp <> rec.aantal_ins THEN
UPDATE ins_deel d
SET d.ins_deel_aantal = rec.aantal_imp
WHERE d.ins_deel_key = rec.ins_deel_key ;
fac.trackaction ('INSUPD', rec.ins_deel_key, sys_context('USERENV', 'CLIENT_IDENTIFIER'), NULL, v_aanduiding);
END IF;
v_aanduiding := 'Persoon gewijzigd ' || rec.prs_ins || ' naar ' || rec.prs_imp ;
IF rec.prs_imp is not null and rec.prs_imp <> rec.prs_ins THEN
UPDATE ins_deel d
SET d.ins_alg_ruimte_key = rec.prs_imp_key
WHERE d.ins_deel_key = rec.ins_deel_key ;
fac.trackaction ('INSUPD', rec.ins_deel_key, sys_context('USERENV', 'CLIENT_IDENTIFIER'), NULL, v_aanduiding);
END IF;
v_aanduiding := 'Ruimte gewijzigd ' || rec.ruimte_ins || ' naar ' || rec.ruimte_imp ;
IF rec.ruimte_imp is not null and rec.ruimte_imp <> rec.ruimte_ins THEN
UPDATE ins_deel d
SET d.ins_alg_ruimte_key = rec.ruimte_imp_key
WHERE d.ins_deel_key = rec.ins_deel_key ;
fac.trackaction ('INSUPD', rec.ins_deel_key, sys_context('USERENV', 'CLIENT_IDENTIFIER'), NULL, v_aanduiding);
END IF;
END;
END LOOP;
END eind_post_update_obj;
/
CREATE OR REPLACE PROCEDURE eind_update_obj (p_import_key IN NUMBER)
AS
v_count NUMBER;
BEGIN
SELECT count(*)
INTO v_count
FROM imp_log
WHERE fac_import_key = p_import_key
AND imp_log_status = 'E';
IF v_count = 0
THEN
fac_update_ins (p_import_key);
eind_post_update_obj (p_import_key);
ELSE
fac.imp_writelog (p_import_key, 'E', 'Verwerk actie niet uitgevoerd ivm fouten in bestand', '');
END IF;
END;
/
-- Mail2Melding-stroom:
-- - SERVICEDESK -: Registreren melding
CREATE OR REPLACE PROCEDURE eind_processemail (
@@ -1589,8 +2191,6 @@ BEGIN
ELSE
-- Bepaal de afgesproken soortmelding
v_stdmelding_key := fac.getsetting ('defaultstdmelding');
IF UPPER (psubject) LIKE '%AUTOMATISCH ANTWOORD%'
THEN
v_negeer := 1;
@@ -1598,6 +2198,31 @@ BEGIN
v_negeer := 0;
END IF;
IF pfrom IS NOT NULL
THEN
SELECT MAX (fac.safe_to_number (f.fac_usrdata_omschr2))
INTO v_stdmelding_key
FROM fac_usrdata f, fac_usrtab t
WHERE f.fac_usrtab_key = t.fac_usrtab_key
AND UPPER (t.fac_usrtab_naam) = 'MAPPING M2M'
AND f.fac_usrdata_verwijder IS NULL
AND UPPER (pfrom) = UPPER (f.fac_usrdata_omschr);
END IF;
IF psubject IS NOT NULL
THEN
SELECT MAX (fac.safe_to_number (f.fac_usrdata_omschr2))
INTO v_stdmelding_key
FROM fac_usrdata f, fac_usrtab t
WHERE f.fac_usrtab_key = t.fac_usrtab_key
AND UPPER (t.fac_usrtab_naam) = 'MAPPING M2M'
AND f.fac_usrdata_verwijder IS NULL
AND UPPER (psubject) LIKE '%' || to_char (UPPER (f.fac_usrdata_omschr)) || '%';
END IF;
/*
IF UPPER (pfrom) = 'SERVICEDESK_PENO@EINDHOVEN.NL'
THEN
v_stdmelding_key := 3141;
@@ -1639,20 +2264,57 @@ BEGIN
THEN
v_stdmelding_key := 3805;
END IF;
IF UPPER (pfrom) = 'SERVICEDESK_FACILITAIR@EINDHOVEN.NL'
THEN
v_stdmelding_key := 3921;
END IF;
IF UPPER (psubject) LIKE '%MIM UIT DIENST%'
THEN
v_stdmelding_key := 1463;
END IF;
IF UPPER (psubject) LIKE '%MIM WIJZIGING%'
IF UPPER (psubject) LIKE '%MIM WIJZIGING MEDEWERKER AFDELING%'
THEN
v_stdmelding_key := 1501;
END IF;
IF UPPER (psubject) LIKE '%MIM WIJZIGING MEDEWERKER DIENSTVERBAND%'
THEN
v_stdmelding_key := 4183;
END IF;
IF UPPER (psubject) LIKE '%MIM EINDDATUM%'
THEN
v_stdmelding_key := 1501;
v_stdmelding_key := 4181;
END IF;
IF UPPER (pfrom) = 'SUITESVOORHETSOCIAALDOMEIN@EINDHOVEN.NL'
THEN
v_stdmelding_key := 4201;
END IF;
IF UPPER (pfrom) = 'BADGEMAIL@EINDHOVEN.NL'
THEN
v_stdmelding_key := 4202;
END IF;
IF UPPER (pfrom) = 'HUISSTIJLSYSTEEM@EINDHOVEN.NL'
THEN
v_stdmelding_key := 4261;
END IF;
IF UPPER (pfrom) = 'VERVANGING-STADSPAS@EINDHOVEN.NL'
THEN
v_stdmelding_key := 4262;
END IF;
*/
IF v_stdmelding_key IS NULL
THEN
v_stdmelding_key := fac.getsetting ('defaultstdmelding');
END IF;
IF v_stdmelding_key IS NOT NULL
@@ -1722,6 +2384,9 @@ BEGIN
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_melding_key);
-- Handle workflow actions for completion (in case of new melding).
MLD.mld_nextworkflowstep (v_melding_key, -1); -- -1=Initial
END IF;
END IF;
@@ -1775,10 +2440,6 @@ BEGIN
v_errormsg := 'Fout toevoegen originele mail';
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'kenmerkorgmailpath', 'MLD\M' || TO_CHAR (TRUNC (v_melding_key / 1000), 'FM0000') || '___\M' || v_melding_key || '\' || 8041 || '\');
-- Handle workflow actions for completion (in case of new melding).
MLD.mld_nextworkflowstep (v_melding_key, -1); -- -1=Initial
ELSE
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'errormsg', 'Ontvanger ongeldig - Neem contact op met uw systeembeheerder ');
@@ -2103,7 +2764,7 @@ AS
od.ins_discipline_omschrijving
--sg.ins_srtgroep_omschrijving,
--sd.ins_srtdeel_code,
--sd.ins_srtdeel_omschrijving
--sd.ins_srtdeel_omschrijving
;
CREATE OR REPLACE VIEW eind_v_noti_arbobril
@@ -2146,6 +2807,48 @@ SELECT
'EIND_V_NOTI_ARBOBRIL')) x
WHERE x.receiver IS NOT NULL;
CREATE OR REPLACE VIEW EIND_V_RAP_PRS_GEG
AS
SELECT p.prs_perslid_key,
pf.prs_perslid_naam_full naam,
pf.prs_perslid_naam_friendly naam2,
p.prs_perslid_nr personeelsnr,
p.prs_perslid_telefoonnr vast,
p.prs_perslid_mobiel mobiel,
p.prs_perslid_email email,
p.prs_perslid_titel vip,
p.prs_perslid_ingangsdatum indienst,
p.prs_perslid_einddatum uitdienst,
p.prs_perslid_inactief inactief,
a.prs_afdeling_naam afdelingscode,
a.prs_afdeling_omschrijving afdelingsomschrijving
FROM prs_v_aanwezigperslid P, prs_v_perslid_fullnames pf, prs_afdeling a
WHERE p.prs_perslid_externid IS NOT NULL
AND p.prs_perslid_key = pf.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key;
CREATE OR REPLACE VIEW eind_v_rap_prs_online
(
naam,
laatste_tracking
)
AS
SELECT x.prs_perslid_naam_full,
CASE
WHEN x.note > x.tracking_date THEN x.note
ELSE x.tracking_date
END
FROM ( SELECT p.prs_perslid_naam_full,
MAX (f.fac_tracking_datum) tracking_date,
MAX (m.mld_melding_note_aanmaak) note
FROM fac_tracking f,
prs_v_perslid_fullnames p,
mld_melding_note m
WHERE p.prs_perslid_key = f.prs_perslid_key(+)
AND p.prs_perslid_key = m.prs_perslid_key(+)
AND p.prs_perslid_key > 5
GROUP BY p.prs_perslid_naam_full) x;
------ payload end ------
SET DEFINE OFF