GDFS#60508

svn path=/Customer/; revision=45169
This commit is contained in:
Ruud Lipper
2019-12-10 09:22:21 +00:00
parent e0958b82d9
commit a4d3e2b80b

68
onces/GDFS/GDFS#60508.sql Normal file
View File

@@ -0,0 +1,68 @@
--
-- $Id$
--
-- Anonimiseren contactpersonen die niet gekoppeld zijn aan recente bezoekafspraken.
DEFINE thisfile = 'GDFS#60508.SQL'
DEFINE dbuser = '^GDFS'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
-- Gooi alle contactpersonen weg die niet gekopeld zijn aan bezoekafspraken van 3 maanden oud of eerder
UPDATE prs_contactpersoon
SET prs_contactpersoon_verwijder = SYSDATE
WHERE prs_contactpersoon_verwijder IS NULL
AND prs_contactpersoon_key NOT IN
(SELECT DISTINCT cp.prs_contactpersoon_key
FROM bez_bezoekers b,
bez_afspraak a,
prs_contactpersoon cp
WHERE a.bez_afspraak_key = b.bez_afspraak_key
AND cp.prs_contactpersoon_key =
b.prs_contactpersoon_key
AND a.bez_afspraak_eind > TRUNC (SYSDATE) - 92
AND cp.prs_contactpersoon_verwijder IS NULL);
-- Anonimiseer alle verwijderde contactpersonen
-- Bij vaker gebruik van het script kan de volgende regel worden toegevoegd
-- AND prs_contactpersoon_naam != 'Geanonimiseerd'
UPDATE prs_contactpersoon
SET prs_contactpersoon_naam = 'Geanonimiseerd',
prs_contactpersoon_voornaam = NULL,
prs_contactpersoon_email = NULL,
prs_contactpersoon_telefoon_1 = NULL,
prs_contactpersoon_telefoon_2 = NULL,
prs_contactpersoon_tussenv = NULL,
prs_contactpersoon_voorletters = NULL,
prs_contactpersoon_opmerking = NULL
WHERE prs_contactpersoon_verwijder IS NOT NULL;
-- Gooi de kenmerkwaarde kenteken weg van verwijderde contactpersonen
DELETE FROM prs_kenmerklink
WHERE prs_kenmerklink_niveau = 'C' AND prs_kenmerk_key = 1002 -- kenteken
AND prs_link_key IN
(SELECT prs_contactpersoon_key
FROM prs_contactpersoon
WHERE prs_contactpersoon_verwijder IS NOT NULL);
------ 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