HSLE#74337 IFW-koppeling/Toekennen autorisatiegroep (via DAILY)

svn path=/Customer/trunk/; revision=58383
This commit is contained in:
Maarten van der Heide
2022-12-16 12:38:08 +00:00
parent b2b99bd638
commit 5383b071c0

View File

@@ -25,6 +25,7 @@ SET DEFINE OFF
CREATE OR REPLACE PACKAGE HSLE CREATE OR REPLACE PACKAGE HSLE
AS AS
PROCEDURE schonen_accounts; PROCEDURE schonen_accounts;
PROCEDURE update_fegroep;
END; END;
/ /
@@ -111,6 +112,64 @@ AS
fac.writelog ('HSLE_SCHONEN', 'E', v_errormsg, ''); fac.writelog ('HSLE_SCHONEN', 'E', v_errormsg, '');
COMMIT; COMMIT;
END schonen_accounts; END schonen_accounts;
-- HSLE#74337: Toekennen medewerkers aan groep 302=FE - Medewerker!
PROCEDURE update_fegroep
AS
c_applname VARCHAR2 (50) := 'UPDATE_FEGROEP';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
v_datum1 DATE;
v_datum2 DATE;
CURSOR c_medewerkers
IS
SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] '
aanduiding,
p.prs_perslid_key
FROM prs_v_aanwezigperslid p, prs_v_perslid_fullnames_all pf
WHERE INSTR (UPPER (COALESCE (p.prs_perslid_email, 'x')), '@STUDENT.HSLEIDEN.NL') = 0 -- HSLE#73333: Medewerker als email <> @student.hsleiden.nl (of leeg)!
AND p.prs_perslid_externid IS NOT NULL
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'x'), 1, 1) <> '_'
AND p.prs_perslid_apikey IS NULL -- Voor de zekerheid!
AND p.prs_perslid_key > 10 -- Voor de zekerheid!
AND p.prs_perslid_key = pf.prs_perslid_key
AND NOT EXISTS
(SELECT 1
FROM fac_gebruikersgroep
WHERE fac_groep_key = 302 -- FE - Medewerker
AND prs_perslid_key = p.prs_perslid_key)
ORDER BY prs_perslid_key;
BEGIN
v_count := 0;
v_datum1 := SYSDATE;
FOR rec IN c_medewerkers
LOOP
BEGIN
v_errormsg := 'Fout toevoegen autorisatiegroep';
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
VALUES (302, rec.prs_perslid_key);
v_count := v_count + 1;
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.writelog (c_applname, 'E', rec.aanduiding || v_errormsg, '');
COMMIT;
END;
END LOOP;
v_datum2 := SYSDATE;
fac.writelog (c_applname, 'S', 'FE - Medewerker/#toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
COMMIT;
END update_fegroep;
END; END;
/ /
@@ -122,6 +181,9 @@ AS
BEGIN BEGIN
-- Verwijder medewerkers 7 dagen na einddatum (in het verleden)! -- Verwijder medewerkers 7 dagen na einddatum (in het verleden)!
hsle.schonen_accounts (); hsle.schonen_accounts ();
-- HSLE#74337: Toekennen medewerkers aan groep 302=FE - Medewerker!
hsle.update_fegroep ();
EXCEPTION EXCEPTION
WHEN OTHERS WHEN OTHERS
THEN THEN