FMHN#73942 Once/Verwijderen DICTU-werkplekbezetting

svn path=/Customer/; revision=56981
This commit is contained in:
Maarten van der Heide
2022-08-23 16:00:09 +00:00
parent b1c5394489
commit 8bc0203d5a

103
onces/FMHN/FMHN#73942.sql Normal file
View File

@@ -0,0 +1,103 @@
--
-- $Id$
--
-- Customer specific once-script FMHN#73942.sql.
DEFINE thisfile = 'FMHN#73942.sql'
DEFINE dbuser = '^FMHN'
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 ------
-- FMHN#73942: Afpakken/verwijderen WPs op PB2 (= Prinses Beatrixlaan 2) voor
-- 08-ers (= EZK) onder afdelingen 0890076628=EZK.DICTU.DO.BTR en
-- 0890076631=EZK.DICTU.DO.DI.
/*
SELECT *
FROM prs_perslidwerkplek pw
WHERE EXISTS
(SELECT 1
FROM prs_v_perslidwerkplek_gegevens
WHERE alg_locatie_key = 8 -- Prinses Beatrixlaan 2
AND prs_werkplek_key = pw.prs_werkplek_key)
AND EXISTS
(SELECT 1
FROM prs_v_aanwezigperslid p, prs_afdeling a, prs_v_afdeling_boom ab
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '08' -- Alleen voor uit IDM geimporteerde personen!
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_afdeling_key = ab.prs_afdeling_key
AND (EXISTS
(SELECT 1 -- Satellietzetel op afdeling1 van persoon!
FROM prs_afdeling
WHERE prs_afdeling_key = ab.prs_afdeling_key1
AND (prs_afdeling_externid = '0890076628' -- EZK.DICTU.DO.BTR
OR prs_afdeling_externid = '0890076631')) -- EZK.DICTU.DO.DI
OR EXISTS
(SELECT 1 -- Satellietzetel op afdeling2 van persoon!
FROM prs_afdeling
WHERE prs_afdeling_key = ab.prs_afdeling_key2
AND (prs_afdeling_externid = '0890076628' -- EZK.DICTU.DO.BTR
OR prs_afdeling_externid = '0890076631')) -- EZK.DICTU.DO.DI
OR EXISTS
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
FROM prs_afdeling
WHERE prs_afdeling_key = ab.prs_afdeling_key3
AND (prs_afdeling_externid = '0890076628' -- EZK.DICTU.DO.BTR
OR prs_afdeling_externid = '0890076631')) -- EZK.DICTU.DO.DI
OR EXISTS
(SELECT 1 -- Satellietzetel op afdeling4 van persoon!
FROM prs_afdeling
WHERE prs_afdeling_key = ab.prs_afdeling_key4
AND (prs_afdeling_externid = '0890076628' -- EZK.DICTU.DO.BTR
OR prs_afdeling_externid = '0890076631')) -- EZK.DICTU.DO.DI
OR EXISTS
(SELECT 1 -- Satellietzetel op afdeling5 van persoon!
FROM prs_afdeling
WHERE prs_afdeling_key = ab.prs_afdeling_key5
AND (prs_afdeling_externid = '0890076628' -- EZK.DICTU.DO.BTR
OR prs_afdeling_externid = '0890076631'))) -- EZK.DICTU.DO.DI
AND p.prs_perslid_key = pw.prs_perslid_key);
*/
DELETE FROM prs_perslidwerkplek pw
WHERE EXISTS
(SELECT 1
FROM prs_v_perslidwerkplek_gegevens
WHERE alg_locatie_key = 8 -- Prinses Beatrixlaan 2
AND prs_werkplek_key = pw.prs_werkplek_key)
AND EXISTS
(SELECT 1
FROM prs_v_aanwezigperslid p, prs_afdeling a, prs_v_afdeling_boom ab
WHERE SUBSTR (p.prs_perslid_externid, 1, 2) = '08' -- Alleen voor uit IDM geimporteerde personen!
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_afdeling_key = ab.prs_afdeling_key
AND EXISTS
(SELECT 1 -- Satellietzetel op afdeling3 van persoon!
FROM prs_afdeling
WHERE prs_afdeling_key = ab.prs_afdeling_key3
AND (prs_afdeling_externid = '0890076628' -- EZK.DICTU.DO.BTR
OR prs_afdeling_externid = '0890076631')) -- EZK.DICTU.DO.DI
AND p.prs_perslid_key = pw.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