DJIN#66156 Eenmalig script/Verwijderen autorisaties
svn path=/Customer/; revision=50272
This commit is contained in:
123
onces/DJIN/DJIN#66156.sql
Normal file
123
onces/DJIN/DJIN#66156.sql
Normal file
@@ -0,0 +1,123 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Customer specific once-script DJIN#66156.SQL.
|
||||
DEFINE thisfile = 'DJIN#66156.sql'
|
||||
DEFINE dbuser = '^FMS'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
-- DJIN#66156: Verwijderen autorisatiegroep met key=421=FE_DJI voor personen
|
||||
-- in autorisatiegroep met key=781=FE_DJI_BASIS met alleen(!) WP
|
||||
-- op de volgende plaatsen (en dus niet op andere plaatsen):
|
||||
-- - alg_district_key = 61 -- PI Vught (alle 12 locaties)
|
||||
-- - alg_locatie_key = 163 -- DVO-ASSEN1
|
||||
-- - alg_locatie_key = 181 -- HARTEL-JJI
|
||||
-- - alg_locatie_key = 402 -- ZWOL-Z-PI
|
||||
/*
|
||||
SELECT DISTINCT gg.prs_perslid_key
|
||||
FROM fac_gebruikersgroep gg
|
||||
WHERE gg.fac_groep_key = 421 -- FE_DJI
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = 781 -- FE_DJI_BASIS
|
||||
AND prs_perslid_key = gg.prs_perslid_key)
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_perslidwerkplek pw1,
|
||||
prs_werkplek wp1,
|
||||
alg_ruimte r1,
|
||||
alg_verdieping v1,
|
||||
alg_gebouw g1,
|
||||
alg_locatie l1
|
||||
WHERE pw1.prs_werkplek_key = wp1.prs_werkplek_key
|
||||
AND wp1.prs_alg_ruimte_key = r1.alg_ruimte_key
|
||||
AND r1.alg_verdieping_key = v1.alg_verdieping_key
|
||||
AND v1.alg_gebouw_key = g1.alg_gebouw_key
|
||||
AND g1.alg_locatie_key = l1.alg_locatie_key
|
||||
AND (l1.alg_district_key = 61
|
||||
OR l1.alg_locatie_key IN (163, 181, 402))
|
||||
AND pw1.prs_perslid_key = gg.prs_perslid_key)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_perslidwerkplek pw2,
|
||||
prs_werkplek wp2,
|
||||
alg_ruimte r2,
|
||||
alg_verdieping v2,
|
||||
alg_gebouw g2,
|
||||
alg_locatie l2
|
||||
WHERE pw2.prs_werkplek_key = wp2.prs_werkplek_key
|
||||
AND wp2.prs_alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||||
AND v2.alg_gebouw_key = g2.alg_gebouw_key
|
||||
AND g2.alg_locatie_key = l2.alg_locatie_key
|
||||
AND l2.alg_district_key <> 61
|
||||
AND l2.alg_locatie_key NOT IN (163, 181, 402)
|
||||
AND pw2.prs_perslid_key = gg.prs_perslid_key);
|
||||
*/
|
||||
DELETE FROM fac_gebruikersgroep gg
|
||||
WHERE gg.fac_groep_key = 421 -- FE_DJI
|
||||
AND EXISTS -- Personen in autorisatiegroep FE_DJI_BASIS
|
||||
(SELECT 1
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = 781 -- FE_DJI_BASIS
|
||||
AND prs_perslid_key = gg.prs_perslid_key)
|
||||
AND EXISTS -- WP op gespecificeerde plaatsen
|
||||
(SELECT 1
|
||||
FROM prs_perslidwerkplek pw1,
|
||||
prs_werkplek wp1,
|
||||
alg_ruimte r1,
|
||||
alg_verdieping v1,
|
||||
alg_gebouw g1,
|
||||
alg_locatie l1
|
||||
WHERE pw1.prs_werkplek_key = wp1.prs_werkplek_key
|
||||
AND wp1.prs_alg_ruimte_key = r1.alg_ruimte_key
|
||||
AND r1.alg_verdieping_key = v1.alg_verdieping_key
|
||||
AND v1.alg_gebouw_key = g1.alg_gebouw_key
|
||||
AND g1.alg_locatie_key = l1.alg_locatie_key
|
||||
AND (l1.alg_district_key = 61
|
||||
OR l1.alg_locatie_key IN (163, 181, 402))
|
||||
AND pw1.prs_perslid_key = gg.prs_perslid_key)
|
||||
AND NOT EXISTS -- Geen WP op andere dan gespecificeerde plaatsen
|
||||
(SELECT 1
|
||||
FROM prs_perslidwerkplek pw2,
|
||||
prs_werkplek wp2,
|
||||
alg_ruimte r2,
|
||||
alg_verdieping v2,
|
||||
alg_gebouw g2,
|
||||
alg_locatie l2
|
||||
WHERE pw2.prs_werkplek_key = wp2.prs_werkplek_key
|
||||
AND wp2.prs_alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||||
AND v2.alg_gebouw_key = g2.alg_gebouw_key
|
||||
AND g2.alg_locatie_key = l2.alg_locatie_key
|
||||
AND l2.alg_district_key <> 61
|
||||
AND l2.alg_locatie_key NOT IN (163, 181, 402)
|
||||
AND pw2.prs_perslid_key = gg.prs_perslid_key);
|
||||
COMMIT;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user