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
|
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 ;
|
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
|
IS
|
||||||
SELECT p.prs_perslid_key, p.naam,
|
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 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
|
FROM bfnl_v_personenlijst_loc p
|
||||||
WHERE p.prs_perslid_verwijder IS NULL AND INSTR(p.naam, 'Regiomanager')=0 -- uitsluiten regiomanagers
|
WHERE p.prs_perslid_verwijder IS NULL AND INSTR(p.naam, 'Regiomanager')=0 -- uitsluiten regiomanagers
|
||||||
ORDER BY 1 ;
|
ORDER BY 1 ;
|
||||||
@@ -572,8 +573,6 @@ AS
|
|||||||
v_prs_perslidkostenplaats_key NUMBER (10);
|
v_prs_perslidkostenplaats_key NUMBER (10);
|
||||||
v_teller_mandaat NUMBER (10);
|
v_teller_mandaat NUMBER (10);
|
||||||
v_upsert_sync NUMBER(1);
|
v_upsert_sync NUMBER(1);
|
||||||
c_fac_groep_key NUMBER(10) := 461 ; -- standaard autorisatiegroep voor Locatiemanagers BFNL
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
v_count := 0;
|
v_count := 0;
|
||||||
@@ -719,33 +718,56 @@ BEGIN
|
|||||||
FOR rec IN c_loc_recht
|
FOR rec IN c_loc_recht
|
||||||
LOOP
|
LOOP
|
||||||
BEGIN
|
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 :=
|
v_aanduiding :=
|
||||||
'bijwerken locatiemanager - perslid_key:'
|
'bijwerken locatiemanager - perslid_key:'
|
||||||
|| TO_CHAR (rec.prs_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
|
IF rec.aantal_wp = 0 AND rec.groep = 1
|
||||||
THEN
|
THEN
|
||||||
|
|
||||||
DELETE
|
DELETE
|
||||||
FROM fac_gebruikersgroep
|
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;
|
END IF;
|
||||||
|
|
||||||
v_errorhint := 'toevoegen locatiemanagers aan autorisatiegroep';
|
v_errorhint := 'toevoegen locatiemanagers aan eigen autorisatiegroep';
|
||||||
|
|
||||||
IF rec.aantal_wp > 0 AND rec.groep = 0
|
IF rec.aantal_wp > 0 AND rec.groep = 0
|
||||||
THEN
|
THEN
|
||||||
|
|
||||||
INSERT INTO fac_gebruikersgroep (fac_groep_key,
|
INSERT INTO fac_gebruikersgroep (fac_groep_key,
|
||||||
prs_perslid_key)
|
prs_perslid_key)
|
||||||
VALUES (c_fac_groep_key,
|
VALUES (461,
|
||||||
rec.prs_perslid_key) ;
|
rec.prs_perslid_key) ;
|
||||||
|
|
||||||
END IF;
|
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;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
|
|||||||
Reference in New Issue
Block a user