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,
|
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
|
'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
|
'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;0;0;0;0;' ||
|
||||||
'0;0;0;0;0;0',
|
'0;0;0;0;0;0',
|
||||||
--1 2 3 4 5 6 7 8
|
--1 2 3 4 5 6 7 8 9 10 11
|
||||||
'"sAMAccountName";"name";"givenname";"sn";"department";"mail";"telephoneNumber";"L"%' -- Daarna nog ;"Company";"EmployeeID"
|
'"sAMAccountName";"name";"givenname";"sn";"department";"mail";"telephoneNumber";"L"%' -- Daarna nog ;"Company";"EmployeeID";"WW"
|
||||||
);
|
);
|
||||||
|
|
||||||
v_errorhint := 'Verrijken import';
|
v_errorhint := 'Verrijken import';
|
||||||
@@ -272,6 +272,14 @@ END mnnl_import_prs;
|
|||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE mnnl_update_prs (p_import_key IN NUMBER)
|
CREATE OR REPLACE PROCEDURE mnnl_update_prs (p_import_key IN NUMBER)
|
||||||
IS
|
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.
|
-- Verwijderen personen *binnen MN* die niet meer in importbestand voorkomen.
|
||||||
CURSOR c_del
|
CURSOR c_del
|
||||||
IS
|
IS
|
||||||
@@ -286,6 +294,21 @@ IS
|
|||||||
WHERE UPPER (prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin))
|
WHERE UPPER (prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin))
|
||||||
ORDER BY 1;
|
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!
|
-- Afnemen _Default-rol afh. van configuratie in Eigen tabel met key=721!
|
||||||
CURSOR c_no_default
|
CURSOR c_no_default
|
||||||
IS
|
IS
|
||||||
@@ -303,12 +326,6 @@ IS
|
|||||||
AND TO_CHAR (p.prs_afdeling_key) = ud.fac_usrdata_code
|
AND TO_CHAR (p.prs_afdeling_key) = ud.fac_usrdata_code
|
||||||
AND p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\' -- ' tbv. opmaak
|
AND p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\' -- ' tbv. opmaak
|
||||||
ORDER BY 2;
|
ORDER BY 2;
|
||||||
|
|
||||||
v_errorhint VARCHAR2 (1000);
|
|
||||||
v_errormsg VARCHAR2 (1000);
|
|
||||||
oracle_err_num NUMBER;
|
|
||||||
oracle_err_mes VARCHAR2 (200);
|
|
||||||
v_count NUMBER;
|
|
||||||
BEGIN
|
BEGIN
|
||||||
-- Generic update
|
-- Generic update
|
||||||
SELECT COUNT(*) INTO v_count FROM fac_imp_perslid;
|
SELECT COUNT(*) INTO v_count FROM fac_imp_perslid;
|
||||||
@@ -348,6 +365,69 @@ BEGIN
|
|||||||
FROM fac_imp_perslid
|
FROM fac_imp_perslid
|
||||||
WHERE UPPER (prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin));
|
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)!
|
-- Afnemen 2101=_Default_VB van medewerkers niet onder VB (op niveau 1)!
|
||||||
v_errorhint := 'Fout afnemen _Default_VB';
|
v_errorhint := 'Fout afnemen _Default_VB';
|
||||||
|
|
||||||
@@ -435,11 +515,11 @@ BEGIN
|
|||||||
AND prs_perslid_key = p.prs_perslid_key);
|
AND prs_perslid_key = p.prs_perslid_key);
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
-- Afnemen 2343=_Default_FRS & EC van medewerkers niet onder FRS of EC (op niveau 1)!
|
-- Afnemen 2343=_Default_FRS + EC van medewerkers niet onder FRS of EC (op niveau 1)!
|
||||||
v_errorhint := 'Fout afnemen _Default_FRS & EC';
|
v_errorhint := 'Fout afnemen _Default_FRS + EC';
|
||||||
|
|
||||||
DELETE FROM fac_gebruikersgroep gg
|
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
|
AND EXISTS
|
||||||
(SELECT 1
|
(SELECT 1
|
||||||
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
|
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
|
||||||
@@ -448,19 +528,19 @@ BEGIN
|
|||||||
AND p.prs_perslid_key = gg.prs_perslid_key);
|
AND p.prs_perslid_key = gg.prs_perslid_key);
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
-- Toekennen 2343=_Default_FRS & EC aan medewerkers onder FRS of EC (op niveau 1)!
|
-- Toekennen 2343=_Default_FRS + EC aan medewerkers onder FRS of EC (op niveau 1)!
|
||||||
v_errorhint := 'Fout toekennen _Default_FRS & EC';
|
v_errorhint := 'Fout toekennen _Default_FRS + EC';
|
||||||
|
|
||||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
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
|
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
|
||||||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||||||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
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 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
|
(SELECT 1
|
||||||
FROM fac_gebruikersgroep
|
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);
|
AND prs_perslid_key = p.prs_perslid_key);
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
@@ -471,7 +551,7 @@ BEGIN
|
|||||||
v_errorhint := 'Fout afnemen _Default(s)';
|
v_errorhint := 'Fout afnemen _Default(s)';
|
||||||
|
|
||||||
DELETE FROM fac_gebruikersgroep
|
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;
|
AND prs_perslid_key = rec.prs_perslid_key;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
WHEN OTHERS
|
WHEN OTHERS
|
||||||
@@ -4121,7 +4201,7 @@ END mnnl_update_eua;
|
|||||||
/
|
/
|
||||||
|
|
||||||
-- MNNL#69794: CERT-import (CERTificaten)!
|
-- 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)
|
CREATE OR REPLACE PROCEDURE mnnl_import_cert (p_import_key IN NUMBER)
|
||||||
IS
|
IS
|
||||||
c_delim VARCHAR2 (1) := ';';
|
c_delim VARCHAR2 (1) := ';';
|
||||||
|
|||||||
Reference in New Issue
Block a user