HSLE#87557 DAILY/Toekennen FE-autorisatiegroep (voor studenten)

svn path=/Customer/trunk/; revision=68250
This commit is contained in:
Maarten van der Heide
2025-02-28 18:14:07 +00:00
parent 718c7902dc
commit 94ddbbef29

View File

@@ -25,7 +25,8 @@ SET DEFINE OFF
CREATE OR REPLACE PACKAGE HSLE
AS
PROCEDURE schonen_accounts;
PROCEDURE update_fegroep;
PROCEDURE update_femdw;
PROCEDURE update_festd;
END;
/
@@ -115,9 +116,9 @@ AS
END schonen_accounts;
-- HSLE#74337: Toekennen medewerkers aan groep 302=FE - Medewerker!
PROCEDURE update_fegroep
PROCEDURE update_femdw
AS
c_applname VARCHAR2 (50) := 'UPDATE_FEGROEP';
c_applname VARCHAR2 (50) := 'UPDATE_FEMDW';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
@@ -170,7 +171,65 @@ AS
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 update_femdw;
-- HSLE#87557: Toekennen studenten aan groep 621=FE - Student!
PROCEDURE update_festd
AS
c_applname VARCHAR2 (50) := 'UPDATE_FESTD';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
v_datum1 DATE;
v_datum2 DATE;
CURSOR c_studenten
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 (p.prs_perslid_email), '@STUDENT.HSLEIDEN.NL') > 0 -- HSLE#87557: Student als email = @student.hsleiden.nl!
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 = 621 -- FE - Student
AND prs_perslid_key = p.prs_perslid_key)
ORDER BY prs_perslid_key;
BEGIN
v_count := 0;
v_datum1 := SYSDATE;
FOR rec IN c_studenten
LOOP
BEGIN
v_errormsg := 'Fout toevoegen autorisatiegroep';
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
VALUES (621, 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 - Student/#toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
COMMIT;
END update_festd;
END;
/
@@ -184,7 +243,10 @@ BEGIN
hsle.schonen_accounts ();
-- HSLE#74337: Toekennen medewerkers aan groep 302=FE - Medewerker!
hsle.update_fegroep ();
hsle.update_femdw ();
-- HSLE#87557: Toekennen studenten aan groep 621=FE - Student!
hsle.update_festd ();
EXCEPTION
WHEN OTHERS
THEN