AAIT#90164 Voor BFNL - Locatiemanagers automatisch mandaat en wp's krijgen - Laatste finetunen
svn path=/Customer/trunk/; revision=71138
This commit is contained in:
@@ -549,11 +549,12 @@ AS
|
||||
AND pk.prs_perslid_key IN (SELECT d.prs_perslid_key FROM bfnl_v_personenlijst_loc d WHERE p.prs_perslid_verwijder IS NULL AND INSTR(d.naam, 'Regiomanager')=0) -- kijken alleen naar locatieverantwoordelijke
|
||||
ORDER BY 1, 2 ;
|
||||
|
||||
CURSOR c_loc_recht -- -- Voor onderhouden van de locatiemanagers in de autorisatiegroepen
|
||||
CURSOR c_loc_recht -- -- Voor onderhouden van de locatiemanagers in de eigen autorisatiegroep en de _default-groep
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.naam,
|
||||
(SELECT count(*) FROM prs_perslidwerkplek wp WHERE wp.prs_perslid_key = p.prs_perslid_key) aantal_wp,
|
||||
(SELECT count(*) FROM fac_gebruikersgroep gg WHERE gg.prs_perslid_key = p.prs_perslid_key AND gg.fac_groep_key = 461) groep
|
||||
(SELECT count(*) FROM fac_gebruikersgroep gg WHERE gg.prs_perslid_key = p.prs_perslid_key AND gg.fac_groep_key = 461) groep, -- de locatiemanagers-autorisatiegroep
|
||||
(SELECT count(*) FROM fac_gebruikersgroep gg WHERE gg.prs_perslid_key = p.prs_perslid_key AND gg.fac_groep_key = 1) groep_default -- de default_groep
|
||||
FROM bfnl_v_personenlijst_loc p
|
||||
WHERE p.prs_perslid_verwijder IS NULL AND INSTR(p.naam, 'Regiomanager')=0 -- uitsluiten regiomanagers
|
||||
ORDER BY 1 ;
|
||||
@@ -572,8 +573,6 @@ AS
|
||||
v_prs_perslidkostenplaats_key NUMBER (10);
|
||||
v_teller_mandaat NUMBER (10);
|
||||
v_upsert_sync NUMBER(1);
|
||||
c_fac_groep_key NUMBER(10) := 461 ; -- standaard autorisatiegroep voor Locatiemanagers BFNL
|
||||
|
||||
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
@@ -719,33 +718,56 @@ BEGIN
|
||||
FOR rec IN c_loc_recht
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Alle managers zonder WP's uit de autorisatiegroep Locatiemanagers halen (key 24)
|
||||
-- Alle managers zonder WP's uit de autorisatiegroep Locatiemanagers halen (key 461)
|
||||
v_aanduiding :=
|
||||
'bijwerken locatiemanager - perslid_key:'
|
||||
|| TO_CHAR (rec.prs_perslid_key);
|
||||
|
||||
v_errorhint := 'verwijderen locatiemanager uit autorisatiegroep';
|
||||
|
||||
v_errorhint := 'verwijderen locatiemanager uit eigen autorisatiegroep';
|
||||
|
||||
IF rec.aantal_wp = 0 AND rec.groep = 1
|
||||
THEN
|
||||
|
||||
DELETE
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = c_fac_groep_key AND prs_perslid_key = rec.prs_perslid_key ;
|
||||
WHERE fac_groep_key = 461 AND prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
v_errorhint := 'toevoegen locatiemanagers aan autorisatiegroep';
|
||||
v_errorhint := 'toevoegen locatiemanagers aan eigen autorisatiegroep';
|
||||
|
||||
IF rec.aantal_wp > 0 AND rec.groep = 0
|
||||
THEN
|
||||
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key,
|
||||
prs_perslid_key)
|
||||
VALUES (c_fac_groep_key,
|
||||
VALUES (461,
|
||||
rec.prs_perslid_key) ;
|
||||
|
||||
END IF;
|
||||
|
||||
v_errorhint := 'verwijderen locatiemanager met werkplekkoppelingen uit default autorisatiegroep';
|
||||
|
||||
IF rec.aantal_wp > 0 AND rec.groep_default = 1
|
||||
THEN
|
||||
|
||||
DELETE
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = 1 AND prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
v_errorhint := 'toevoegen locatiemanager zonder werkplekkoppelingen aan de default autorisatiegroep';
|
||||
|
||||
IF rec.aantal_wp = 0 AND rec.groep_default = 0
|
||||
THEN
|
||||
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key,
|
||||
prs_perslid_key)
|
||||
VALUES (1,
|
||||
rec.prs_perslid_key) ;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
Reference in New Issue
Block a user