PLAT#57861 inserts bij autorisatie robuuster maken zodat import meer dan 1x gedraaid kan worden

svn path=/Customer/trunk/; revision=42670
This commit is contained in:
Ruud Lipper
2019-05-23 08:37:30 +00:00
parent 27d1c95cae
commit 41f61b952b

View File

@@ -1072,71 +1072,93 @@ BEGIN
v_errorhint := 'plat_post_update_ins - insert i5';
--- En tenslotte gaan we de 3 MJOB autorisatiegroepen MJOB-R, MJOB-W en MJOB-A de rechten op INSUSE, INSMAN en CTRUSE uitdelen....
-- 1. Eerst MJOB-R (Leesrechten): INSUSE READ en INSMAN READ op elke INS-discipline en CTRUSE READ op de MJOB-discipline (v_ctr_discipline_key)
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT
(SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-R: LEESRECHTEN'),
fac_functie_key,
d.ins_discipline_key,
-1, 9, -1, 9
FROM fac_functie, ins_discipline d
WHERE fac_functie_code = 'WEB_INSUSE'
AND d.ins_discipline_verwijder IS NULL;
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT fac_groep_key, fac_functie_key, ins_discipline_key, -1, 9, -1, 9
FROM (SELECT (SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-R: LEESRECHTEN') fac_groep_key,
fac_functie_key, d.ins_discipline_key, fac_functie_code
FROM fac_functie, ins_discipline d
WHERE fac_functie_code = 'WEB_INSUSE'
AND d.ins_discipline_verwijder IS NULL) a
WHERE NOT EXISTS
(SELECT 1 FROM fac_groeprechten fg
WHERE a.fac_groep_key = fg.fac_groep_key
AND a.fac_functie_key = fg.fac_functie_key
AND a.ins_discipline_key = fg.ins_discipline_key);
v_errorhint := 'plat_post_update_ins - insert i6';
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT
(SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-R: LEESRECHTEN'),
fac_functie_key,
d.ins_discipline_key,
-1, 9, -1, 9
FROM fac_functie, ins_discipline d
WHERE fac_functie_code = 'WEB_INSMAN'
AND d.ins_discipline_verwijder IS NULL;
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT fac_groep_key, fac_functie_key, ins_discipline_key, -1, 9, -1, 9
FROM (SELECT (SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-R: LEESRECHTEN') fac_groep_key,
fac_functie_key, d.ins_discipline_key, fac_functie_code
FROM fac_functie, ins_discipline d
WHERE fac_functie_code = 'WEB_INSMAN'
AND d.ins_discipline_verwijder IS NULL) a
WHERE NOT EXISTS
(SELECT 1 FROM fac_groeprechten fg
WHERE a.fac_groep_key = fg.fac_groep_key
AND a.fac_functie_key = fg.fac_functie_key
AND a.ins_discipline_key = fg.ins_discipline_key);
v_errorhint := 'plat_post_update_ins - insert i7';
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT
(SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-R: LEESRECHTEN'),
fac_functie_key,
v_ctr_discipline_key,
-1, 9, -1, 9
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRUSE';
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT fac_groep_key, fac_functie_key, ins_discipline_key, -1, 9, -1, 9 FROM
(SELECT
(SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-R: LEESRECHTEN') fac_groep_key,
fac_functie_key,
v_ctr_discipline_key ins_discipline_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRUSE') a
WHERE NOT EXISTS
(SELECT 1 FROM fac_groeprechten fg
WHERE a.fac_groep_key = fg.fac_groep_key
AND a.fac_functie_key = fg.fac_functie_key
AND a.ins_discipline_key = fg.ins_discipline_key);
-- 2. Dan MJOB-W (Schrijfrechten): INSUSE WRITE en INSMAN WRITE op elke INS-discipline en CTRUSE WRITE op de MJOB-discipline (v_ctr_discipline_key)
v_errorhint := 'plat_post_update_ins - insert i8';
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT
(SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-W: SCHRIJFRECHTEN'),
fac_functie_key,
d.ins_discipline_key,
-1, -1, -1, -1
FROM fac_functie, ins_discipline d
WHERE fac_functie_code = 'WEB_INSUSE'
AND d.ins_discipline_verwijder IS NULL;
v_errorhint := 'plat_post_update_ins - insert i8';
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT fac_groep_key, fac_functie_key, ins_discipline_key, -1, -1, -1, -1
FROM (SELECT (SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-W: SCHRIJFRECHTEN') fac_groep_key,
fac_functie_key, d.ins_discipline_key, fac_functie_code
FROM fac_functie, ins_discipline d
WHERE fac_functie_code = 'WEB_INSUSE'
AND d.ins_discipline_verwijder IS NULL) a
WHERE NOT EXISTS
(SELECT 1 FROM fac_groeprechten fg
WHERE a.fac_groep_key = fg.fac_groep_key
AND a.fac_functie_key = fg.fac_functie_key
AND a.ins_discipline_key = fg.ins_discipline_key);
v_errorhint := 'plat_post_update_ins - insert i9';
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT
(SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-W: SCHRIJFRECHTEN'),
fac_functie_key,
d.ins_discipline_key,
-1, -1, -1, -1
FROM fac_functie, ins_discipline d
WHERE fac_functie_code = 'WEB_INSMAN'
AND d.ins_discipline_verwijder IS NULL;
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT fac_groep_key, fac_functie_key, ins_discipline_key, -1, -1, -1, -1
FROM (SELECT (SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-W: SCHRIJFRECHTEN') fac_groep_key,
fac_functie_key, d.ins_discipline_key, fac_functie_code
FROM fac_functie, ins_discipline d
WHERE fac_functie_code = 'WEB_INSMAN'
AND d.ins_discipline_verwijder IS NULL) a
WHERE NOT EXISTS
(SELECT 1 FROM fac_groeprechten fg
WHERE a.fac_groep_key = fg.fac_groep_key
AND a.fac_functie_key = fg.fac_functie_key
AND a.ins_discipline_key = fg.ins_discipline_key);
v_errorhint := 'plat_post_update_ins - insert i10';
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT
(SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-W: SCHRIJFRECHTEN'),
fac_functie_key,
v_ctr_discipline_key,
-1, -1, -1, -1
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRUSE';
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write)
SELECT fac_groep_key, fac_functie_key, ins_discipline_key, -1, -1, -1, -1 FROM
(SELECT
(SELECT fac_groep_key FROM fac_groep WHERE fac_groep_upper = 'MJOB-W: SCHRIJFRECHTEN') fac_groep_key,
fac_functie_key,
v_ctr_discipline_key ins_discipline_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRUSE') a
WHERE NOT EXISTS
(SELECT 1 FROM fac_groeprechten fg
WHERE a.fac_groep_key = fg.fac_groep_key
AND a.fac_functie_key = fg.fac_functie_key
AND a.ins_discipline_key = fg.ins_discipline_key);
-- 3. Tenslotte MJOB-A (Admin MJOB): INSMGT, ALG..? en nog wat.... TODO...