FMHN#87561 Automatisch adresgegevens wissen na afsluiten melding 'Thuiswerkstoel'

svn path=/Customer/; revision=69390
This commit is contained in:
Sander Schepers
2025-06-11 21:37:47 +00:00
parent 26de0fb36b
commit a08afd0803

168
onces/FMHN/FMHN#87561.sql Normal file
View File

@@ -0,0 +1,168 @@
--
-- $Id$
--
-- Customer specific once-script FMHN#87561.sql.
DEFINE thisfile = 'FMHN#87561.sql'
DEFINE dbuser = '^FMHN_TEST'
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#87561: Er zijn enkele meldingsformulieren ingesteld met kenmerksoorten die niet vertrouwelijk en te anonimiseren zijn.
-- Hier staan persoonsgegevens in van medewerkers (adres/telefoonnummer).
-- Daarbij zijn de kenmerken ingesteld obv kenmerksoorten die ook bij andere meldingsformulieren gebruikt worden (en daar niet geanonimiseerd moeten worden).
-- Dit betreft meer dan 60.000 records en voor alle smaken is een nieuw kenmerk ingesteld. De omzetting zet dus een kenmerk_key om naar een nieuw kenmerk_key (wel vertrouwelijk en te anonimiseren).
-- Ook als er tracking bij deze meldingen plaats heeft gevonden waar 1 van de 4 velden (straat/huisnummer;postcode;woonplaats/telefoonnummer) is aangepast (MLDUPD), wordt de tracking geanonimiseerd.
DECLARE
-- Cursor met alle relevante records die aangepast moeten worden
CURSOR c_updates IS
SELECT kmm.mld_melding_key,
kmm.mld_kenmerk_key AS oude_key,
CASE kmm.mld_kenmerk_key
WHEN 3380 THEN 4781
WHEN 3383 THEN 4786
WHEN 3386 THEN 4791
WHEN 3388 THEN 4796
WHEN 4035 THEN 4782
WHEN 4038 THEN 4787
WHEN 4039 THEN 4792
WHEN 4041 THEN 4797
WHEN 4036 THEN 4783
WHEN 4037 THEN 4788
WHEN 4040 THEN 4793
WHEN 4042 THEN 4798
WHEN 3379 THEN 4784
WHEN 3382 THEN 4789
WHEN 3385 THEN 4794
WHEN 3389 THEN 4799
WHEN 3381 THEN 4785
WHEN 3384 THEN 4790
WHEN 3387 THEN 4795
WHEN 3390 THEN 4800
WHEN 3466 THEN 4802
WHEN 3469 THEN 4822
WHEN 3471 THEN 4825
WHEN 3477 THEN 4828
WHEN 3464 THEN 4803
WHEN 3467 THEN 4823
WHEN 3474 THEN 4826
WHEN 3476 THEN 4829
WHEN 3465 THEN 4801
WHEN 3470 THEN 4821
WHEN 3472 THEN 4824
WHEN 3475 THEN 4827
-- WHEN 3463 THEN xx -- 8 kenmerken uitsluiten, want voor Defect TWS (ook RS8) geen nieuwe kenmerken ingesteld
-- WHEN 3468 THEN xx
-- WHEN 3473 THEN xx
-- WHEN 3478 THEN xx
-- WHEN 3425 THEN xx
-- WHEN 3426 THEN xx
-- WHEN 3427 THEN xx
-- WHEN 3428 THEN xx
ELSE NULL
END AS nieuwe_key
FROM mld_kenmerkmelding kmm
JOIN mld_melding m ON kmm.mld_melding_key = m.mld_melding_key
JOIN mld_stdmelding sm
ON m.mld_stdmelding_key = sm.mld_stdmelding_key
WHERE sm.mld_stdmelding_key IN (881,
882,
883,
884,
901,
921,
922,
941,
1161,
1163)
-- AND m.mld_melding_key = 478611
AND kmm.mld_kenmerk_key IN (3380,
3383,
3386,
3388,
4035,
4038,
4039,
4041,
4036,
4037,
4040,
4042,
3379,
3382,
3385,
3389,
3381,
3384,
3387,
3390,
3466,
3469,
3471,
3477,
3464,
3467,
3474,
3476,
3465,
3470,
3472,
3475)
AND kmm.mld_kenmerk_key NOT IN -- 8 kenmerken uitsluiten, want voor Defect TWS (ook RS8) geen nieuwe kenmerken ingesteld
(3463,
3468,
3473,
3478,
3425,
3426,
3427,
3428);
BEGIN
FOR rec IN c_updates
LOOP
IF rec.nieuwe_key IS NOT NULL
THEN
UPDATE mld_kenmerkmelding
SET mld_kenmerk_key = rec.nieuwe_key
WHERE mld_melding_key = rec.mld_melding_key
AND mld_kenmerk_key = rec.oude_key;
UPDATE fac_tracking
SET fac_tracking_oms =
'Geanonimiseerd op '
|| TO_CHAR (SYSDATE, 'dd-mm-yyyy HH24:MI')
WHERE fac_tracking_refkey = rec.mld_melding_key
AND fac_srtnotificatie_key = 53 --MLDUPD
AND ( LOWER (fac_tracking_oms) LIKE '%huisnummer:%'
OR LOWER (fac_tracking_oms) LIKE '%woonplaats:%'
OR LOWER (fac_tracking_oms) LIKE '%telefoonnummer:%'
OR LOWER (fac_tracking_oms) LIKE '%postcode:%');
END IF;
END LOOP;
END;
------ 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