MNNL#78061 PRS-import/Uitbreiden met P-kolom
svn path=/Customer/trunk/; revision=68565
This commit is contained in:
118
MNNL/mnnl.sql
118
MNNL/mnnl.sql
@@ -188,11 +188,11 @@ BEGIN
|
||||
prs.import_perslid (p_import_key,
|
||||
'8;0;0;0;0;0;5;4;0;3;' || -- Locatiecode=8/Email=6/Afdeling=5/Achternaam=4/Voornaam=3
|
||||
'0;0;0;0;0;7;0;6;0;10;' || -- Telefoon=7/Email=6/Personeelsnummer=10
|
||||
'3;1;0;0;0;0;0;0;0;0;' || -- Functie=3/Login=1
|
||||
'3;1;0;0;0;0;11;0;0;0;' || -- Functie=3/Login=1/Woon-Werk-afstand=11
|
||||
'0;0;0;0;0;0;0;0;0;0;' ||
|
||||
'0;0;0;0;0;0',
|
||||
--1 2 3 4 5 6 7 8
|
||||
'"sAMAccountName";"name";"givenname";"sn";"department";"mail";"telephoneNumber";"L"%' -- Daarna nog ;"Company";"EmployeeID"
|
||||
--1 2 3 4 5 6 7 8 9 10 11
|
||||
'"sAMAccountName";"name";"givenname";"sn";"department";"mail";"telephoneNumber";"L"%' -- Daarna nog ;"Company";"EmployeeID";"WW"
|
||||
);
|
||||
|
||||
v_errorhint := 'Verrijken import';
|
||||
@@ -272,6 +272,14 @@ END mnnl_import_prs;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE mnnl_update_prs (p_import_key IN NUMBER)
|
||||
IS
|
||||
c_ww_kkey NUMBER (10) := 1000; -- 'Woon-Werk-afstand'-kenmerk!
|
||||
c_pp_gkey NUMBER (10) := 2461; -- 'Reserveer parkeerplek'-autorisatiegroep!
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER;
|
||||
|
||||
-- Verwijderen personen *binnen MN* die niet meer in importbestand voorkomen.
|
||||
CURSOR c_del
|
||||
IS
|
||||
@@ -286,6 +294,21 @@ IS
|
||||
WHERE UPPER (prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin))
|
||||
ORDER BY 1;
|
||||
|
||||
-- Bijwerken Woon-Werk-afstand (= kenmerk1).
|
||||
CURSOR c_prs
|
||||
IS
|
||||
SELECT '[' || TO_CHAR (x.prs_perslid_key) || '|' || x.prs_perslid_oslogin || '] ' aanduiding,
|
||||
x.prs_perslid_key, kl.prs_kenmerklink_key, ROUND (fac.safe_to_number (x.prs_kenmerk1), 2) afstand_ww
|
||||
FROM fac_imp_perslid x,
|
||||
prs_v_aanwezigperslid p,
|
||||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = c_ww_kkey) kl
|
||||
WHERE fac.safe_to_number (x.prs_kenmerk1) IS NOT NULL
|
||||
AND x.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_inactief IS NULL
|
||||
AND p.prs_perslid_key = kl.prs_link_key(+)
|
||||
AND COALESCE (fac.safe_to_number (kl.prs_kenmerklink_waarde), -1) != fac.safe_to_number (x.prs_kenmerk1) -- Afstand gewijzigd?
|
||||
ORDER BY 2;
|
||||
|
||||
-- Afnemen _Default-rol afh. van configuratie in Eigen tabel met key=721!
|
||||
CURSOR c_no_default
|
||||
IS
|
||||
@@ -303,12 +326,6 @@ IS
|
||||
AND TO_CHAR (p.prs_afdeling_key) = ud.fac_usrdata_code
|
||||
AND p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\' -- ' tbv. opmaak
|
||||
ORDER BY 2;
|
||||
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
-- Generic update
|
||||
SELECT COUNT(*) INTO v_count FROM fac_imp_perslid;
|
||||
@@ -348,6 +365,69 @@ BEGIN
|
||||
FROM fac_imp_perslid
|
||||
WHERE UPPER (prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin));
|
||||
|
||||
-- Bijwerken extra persoonsvelden (niet ondersteund door standaard import).
|
||||
v_count := 0;
|
||||
FOR rec IN c_prs
|
||||
LOOP
|
||||
BEGIN
|
||||
--IF rec.prs_kenmerklink_key IS NULL
|
||||
--THEN
|
||||
-- v_errorhint := 'Fout toevoegen Woon-Werk-afstand';
|
||||
-- INSERT INTO prs_kenmerklink (prs_link_key, prs_kenmerklink_niveau, prs_kenmerk_key, prs_kenmerklink_waarde)
|
||||
-- VALUES (rec.prs_perslid_key, 'P', c_ww_kkey, TO_CHAR (rec.afstand_ww));
|
||||
--ELSE
|
||||
-- v_errorhint := 'Fout bijwerken Woon-Werk-afstand';
|
||||
-- UPDATE prs_kenmerklink
|
||||
-- SET prs_kenmerklink_waarde = TO_CHAR (rec.afstand_ww)
|
||||
-- WHERE prs_kenmerklink_key = rec.prs_kenmerklink_key;
|
||||
--END IF;
|
||||
v_errorhint := 'Fout bijwerken Woon-Werk-afstand';
|
||||
prs.upsertkenmerk (c_ww_kkey, rec.prs_perslid_key, TO_CHAR (rec.afstand_ww)); -- Woon-Werk-afstand
|
||||
v_count := v_count + 1;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
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', rec.aanduiding || v_errormsg, v_errorhint);
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
fac.imp_writelog (p_import_key, 'S', 'Woon-Werk/#bijgewerkt: ' || TO_CHAR (v_count), '');
|
||||
/*
|
||||
-- Afnemen PP-autorisatiegroep als geldt woon-werk-afstand <8km!
|
||||
v_errorhint := 'Fout afnemen PP-autorisatiegroep';
|
||||
DELETE FROM fac_gebruikersgroep gg
|
||||
WHERE gg.fac_groep_key = c_pp_gkey -- PP-autorisatiegroep
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab,
|
||||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = c_ww_kkey) kl
|
||||
WHERE (p.prs_perslid_oslogin IS NULL OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak
|
||||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND ab.prs_bedrijf_key = 5 -- MN
|
||||
AND p.prs_perslid_key = kl.prs_link_key(+)
|
||||
AND COALESCE (fac.safe_to_number (kl.prs_kenmerklink_waarde), -1) < 8
|
||||
AND p.prs_perslid_key = gg.prs_perslid_key);
|
||||
|
||||
-- Toekennen PP-autorisatiegroep als geldt woon-werk-afstand >=8km!
|
||||
v_errorhint := 'Fout toekennen PP-autorisatiegroep';
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||||
SELECT c_pp_gkey, p.prs_perslid_key -- PP-autorisatiegroep
|
||||
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab,
|
||||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = c_ww_kkey) kl
|
||||
WHERE (p.prs_perslid_oslogin IS NULL OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak
|
||||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND ab.prs_bedrijf_key = 5 -- MN
|
||||
AND p.prs_perslid_key = kl.prs_link_key(+)
|
||||
AND COALESCE (fac.safe_to_number (kl.prs_kenmerklink_waarde), -1) >= 8
|
||||
AND NOT EXISTS -- Niet al in PP-autorisatiegroep!
|
||||
(SELECT 1
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = c_pp_gkey -- PP-autorisatiegroep
|
||||
AND prs_perslid_key = p.prs_perslid_key);
|
||||
*/
|
||||
-- Afnemen 2101=_Default_VB van medewerkers niet onder VB (op niveau 1)!
|
||||
v_errorhint := 'Fout afnemen _Default_VB';
|
||||
|
||||
@@ -435,11 +515,11 @@ BEGIN
|
||||
AND prs_perslid_key = p.prs_perslid_key);
|
||||
COMMIT;
|
||||
|
||||
-- Afnemen 2343=_Default_FRS & EC van medewerkers niet onder FRS of EC (op niveau 1)!
|
||||
v_errorhint := 'Fout afnemen _Default_FRS & EC';
|
||||
-- Afnemen 2343=_Default_FRS + EC van medewerkers niet onder FRS of EC (op niveau 1)!
|
||||
v_errorhint := 'Fout afnemen _Default_FRS + EC';
|
||||
|
||||
DELETE FROM fac_gebruikersgroep gg
|
||||
WHERE gg.fac_groep_key = 2343 -- _Default_FRS & EC
|
||||
WHERE gg.fac_groep_key = 2343 -- _Default_FRS + EC
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
|
||||
@@ -448,19 +528,19 @@ BEGIN
|
||||
AND p.prs_perslid_key = gg.prs_perslid_key);
|
||||
COMMIT;
|
||||
|
||||
-- Toekennen 2343=_Default_FRS & EC aan medewerkers onder FRS of EC (op niveau 1)!
|
||||
v_errorhint := 'Fout toekennen _Default_FRS & EC';
|
||||
-- Toekennen 2343=_Default_FRS + EC aan medewerkers onder FRS of EC (op niveau 1)!
|
||||
v_errorhint := 'Fout toekennen _Default_FRS + EC';
|
||||
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||||
SELECT 2343, p.prs_perslid_key -- _Default_FRS & EC
|
||||
SELECT 2343, p.prs_perslid_key -- _Default_FRS + EC
|
||||
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
|
||||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND ab.prs_afdeling_key1 IN (1061, 1041) -- Afdeling-1 met code=FRS of EC!
|
||||
AND NOT EXISTS -- Niet al in _Default_FRS & EC!
|
||||
AND NOT EXISTS -- Niet al in _Default_FRS + EC!
|
||||
(SELECT 1
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = 2343 -- _Default_FRS & EC
|
||||
WHERE fac_groep_key = 2343 -- _Default_FRS + EC
|
||||
AND prs_perslid_key = p.prs_perslid_key);
|
||||
COMMIT;
|
||||
|
||||
@@ -471,7 +551,7 @@ BEGIN
|
||||
v_errorhint := 'Fout afnemen _Default(s)';
|
||||
|
||||
DELETE FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key IN (1, 2101, 2341, 2342, 2343) -- _Default/_Default_VB/_Default_IV/_Default_PV/_Default_FRS & EC
|
||||
WHERE fac_groep_key IN (1, 2101, 2341, 2342, 2343) -- _Default/_Default_VB/_Default_IV/_Default_PV/_Default_FRS + EC
|
||||
AND prs_perslid_key = rec.prs_perslid_key;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
@@ -4121,7 +4201,7 @@ END mnnl_update_eua;
|
||||
/
|
||||
|
||||
-- MNNL#69794: CERT-import (CERTificaten)!
|
||||
-- Title;CommonName;Beheerteam (Facilitor);Aanvrager;Installateur;EindDatum;Omgeving;Uitgever;Product;Definition;Omschrijving certificaat
|
||||
-- "Title";"CommonName";"Beheerteam (Facilitor)";"Aanvrager";"Installateur";"EindDatum";"Product";"Omgeving";"Uitgever";"Definition";"Omschrijving certificaat"
|
||||
CREATE OR REPLACE PROCEDURE mnnl_import_cert (p_import_key IN NUMBER)
|
||||
IS
|
||||
c_delim VARCHAR2 (1) := ';';
|
||||
|
||||
Reference in New Issue
Block a user