UWVA#59571 Ruimere/betere opschoning en anonimisering van bezoekers/afspraken
svn path=/Customer/trunk/; revision=48834
This commit is contained in:
@@ -6623,6 +6623,7 @@ AS
|
||||
----------------------------------------------------------------------------------
|
||||
--
|
||||
-- UWVA#29299: Allemaal cursors voor tracken van anonimisering van MLD/RES/BEZ
|
||||
-- UWVA#59571: Anonimisering van BEZ aangepast
|
||||
CREATE OR REPLACE PROCEDURE uwva_aftersales_anonimiseer (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
@@ -6742,34 +6743,16 @@ AS
|
||||
AND tr.fac_tracking_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
|
||||
ORDER BY 1;
|
||||
|
||||
-- Delete 'BSN' van alle bezoekers bij afspraken >31 dagen oud! (UWVA#28511)
|
||||
-- Met UWVA#59571 is de opschoning vwb de bezoekers- en afspraakregistratie een stuk vereenvoudigd en daarmee deze cursor ook.
|
||||
-- Of een BSN gevuld is is niet meer van toepassing, van alle bezoekers meer dan 31 dagen geleden mag er geanonimiseerd/geschoond worden.
|
||||
-- De bezoekersregistratie zelf laten we wel nog staan ivm tellingen.
|
||||
CURSOR c_afspraak
|
||||
IS -- Afspraken met een bezoeker met een gevuld BSN-veld!
|
||||
SELECT DISTINCT a.bez_afspraak_key
|
||||
FROM bez_afspraak a, bez_bezoekers b, bez_kenmerkwaarde bk
|
||||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||||
AND b.bez_bezoekers_key = bk.bez_bezoekers_key
|
||||
AND bk.bez_kenmerk_key = 1 --BSN
|
||||
AND a.bez_afspraak_datum < SYSDATE - 31
|
||||
AND a.bez_afspraak_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
|
||||
UNION
|
||||
SELECT DISTINCT a.bez_afspraak_key
|
||||
IS
|
||||
SELECT DISTINCT (a.bez_afspraak_key)
|
||||
FROM bez_afspraak a, bez_bezoekers b
|
||||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||||
AND (LENGTH (REPLACE (bez_afspraak_bedrijf || 'x', ' ', '')) - LENGTH (REPLACE (TRANSLATE (bez_afspraak_bedrijf || 'x', '1234567890', ' '), ' ', '')) > 5
|
||||
OR LENGTH (REPLACE (bez_afspraak_naam || 'x', ' ', '')) - LENGTH (REPLACE (TRANSLATE (bez_afspraak_naam || 'x', '1234567890', ' '), ' ', '')) > 5)
|
||||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||||
AND a.bez_afspraak_datum < SYSDATE - 31
|
||||
AND a.bez_afspraak_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
|
||||
UNION -- Afspraken bij een reservering met een gevuld BSN-veld (voordat die in c_res wordt verwijderd)!
|
||||
SELECT a.bez_afspraak_key
|
||||
FROM bez_afspraak a, res_rsv_ruimte r, res_kenmerkwaarde kw, res_kenmerk k
|
||||
WHERE a.res_rsv_ruimte_key = r.res_rsv_ruimte_key
|
||||
AND r.res_rsv_ruimte_key = kw.res_rsv_ruimte_key
|
||||
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = 3 --BSN
|
||||
AND a.bez_afspraak_datum < SYSDATE - 31
|
||||
AND a.bez_afspraak_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
|
||||
ORDER BY bez_afspraak_key;
|
||||
AND a.bez_afspraak_datum > SYSDATE - 365;
|
||||
|
||||
-- Reserveringen met een gevuld BSN-veld (deze hebben hier geen bezoekers meer met een gevuld BSN-veld)!
|
||||
CURSOR c_res
|
||||
@@ -6977,7 +6960,7 @@ BEGIN
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
FOR rc IN c_afspraak
|
||||
LOOP
|
||||
-- Delete 'BSN' van alle bezoekers bij afspraken >31 dagen oud (UWVA#28511)
|
||||
-- Anonimiseren van alle bezoekersregistratie > 31 dagen oud en verwijderen tracking (UWVA#59571)
|
||||
DELETE FROM bez_kenmerkwaarde kw
|
||||
WHERE EXISTS
|
||||
(SELECT 1
|
||||
@@ -6988,30 +6971,88 @@ BEGIN
|
||||
-- UWVA#30245: Anonimiseren bez_bezoekers.bez_bezoekers_opmerking hoeft
|
||||
-- niet, want bevat geen vertrouwelijke info!
|
||||
|
||||
-- Anonimiseer gegevens per bezoeker van afspraken >31 dagen oud met BSN (bij bezoeker of reservering)
|
||||
-- Anonimiseer gegevens per bezoeker van afspraken >31 dagen oud (bij bezoeker of reservering)
|
||||
-- Met UWVA#59571 moeten bepaalde bezoekersregistraties (KZ) naar 'Anoniem', anderen naar 'Bezoeker'
|
||||
-- Dat gaat via eigen tabel 'KZ-klant zone' waarin de betreffende activiteit-key staat van de KZ activiteiten (die wijzigen minder vaak)
|
||||
UPDATE bez_bezoekers
|
||||
SET bez_afspraak_naam = 'Anoniem', bez_afspraak_bedrijf = NULL
|
||||
WHERE bez_afspraak_key = rc.bez_afspraak_key;
|
||||
WHERE bez_afspraak_key = rc.bez_afspraak_key
|
||||
AND bez_afspraak_key IN
|
||||
(SELECT a2.bez_afspraak_key
|
||||
FROM fac_usrdata ud,
|
||||
bez_afspraak a2,
|
||||
res_rsv_ruimte r
|
||||
WHERE r.res_activiteit_key =
|
||||
fac.safe_to_number (ud.fac_usrdata_code)
|
||||
AND a2.res_rsv_ruimte_key =
|
||||
r.res_rsv_ruimte_key
|
||||
AND ud.fac_usrdata_verwijder IS NULL
|
||||
AND ud.fac_usrtab_key = 1623); -- Eigen tabel Klantzone
|
||||
|
||||
UPDATE bez_bezoekers
|
||||
SET bez_afspraak_naam = 'Bezoeker', bez_afspraak_bedrijf = NULL
|
||||
WHERE bez_afspraak_key = rc.bez_afspraak_key
|
||||
AND bez_afspraak_key NOT IN
|
||||
(SELECT a2.bez_afspraak_key
|
||||
FROM fac_usrdata ud,
|
||||
bez_afspraak a2,
|
||||
res_rsv_ruimte r
|
||||
WHERE r.res_activiteit_key =
|
||||
fac.safe_to_number (ud.fac_usrdata_code)
|
||||
AND a2.res_rsv_ruimte_key =
|
||||
r.res_rsv_ruimte_key
|
||||
AND ud.fac_usrdata_verwijder IS NULL
|
||||
AND ud.fac_usrtab_key = 1623); -- Eigen tabel Klantzone
|
||||
|
||||
-- Verwijder opmerking van afspraken >31 dagen oud met BSN (bij bezoeker of reservering)
|
||||
UPDATE bez_afspraak
|
||||
SET bez_afspraak_opmerking = NULL
|
||||
WHERE bez_afspraak_key = rc.bez_afspraak_key;
|
||||
|
||||
-- Met UWVA#59571 moeten de reserveringsopmerkingen ook leeg worden gemaakt voor de kz-reserveringen.
|
||||
UPDATE res_rsv_ruimte
|
||||
SET res_rsv_ruimte_opmerking = NULL
|
||||
WHERE res_rsv_ruimte_key IN
|
||||
(SELECT r.res_rsv_ruimte_key
|
||||
FROM fac_usrdata ud, bez_afspraak a2, res_rsv_ruimte r
|
||||
WHERE r.res_activiteit_key =
|
||||
fac.safe_to_number (ud.fac_usrdata_code)
|
||||
AND a2.res_rsv_ruimte_key = r.res_rsv_ruimte_key
|
||||
AND a2.bez_afspraak_key = rc.bez_afspraak_key
|
||||
AND ud.fac_usrdata_verwijder IS NULL
|
||||
AND ud.fac_usrtab_key = 1623);
|
||||
|
||||
DELETE FROM fac_tracking
|
||||
WHERE fac_srtnotificatie_key = 334 -- BEZUPD
|
||||
AND fac_tracking_refkey = rc.bez_afspraak_key;
|
||||
WHERE fac_tracking_key IN
|
||||
(SELECT t.fac_tracking_key
|
||||
FROM fac_srtnotificatie sn,
|
||||
fac_tracking t,
|
||||
bez_bezoekers b,
|
||||
bez_afspraak a
|
||||
WHERE t.fac_srtnotificatie_key =
|
||||
sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode =
|
||||
'bezoeker'
|
||||
AND t.fac_tracking_refkey =
|
||||
b.bez_bezoekers_key
|
||||
AND b.bez_afspraak_key = a.bez_afspraak_key
|
||||
AND t.fac_tracking_refkey =
|
||||
rc.bez_afspraak_key);
|
||||
|
||||
DELETE FROM fac_tracking t1
|
||||
WHERE t1.fac_srtnotificatie_key IN (14, 15, 61, 62, 154) -- BEZDON/BEZOUT/BEZDO2/BEZOU2/BEZBAD
|
||||
AND t1.fac_tracking_oms IS NOT NULL -- Niet van belang
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM bez_bezoekers b
|
||||
WHERE b.bez_afspraak_key = rc.bez_afspraak_key
|
||||
AND b.bez_bezoekers_key = t1.fac_tracking_refkey);
|
||||
|
||||
fac.trackaction ('#BEZUPD', rc.bez_afspraak_key, NULL, v_nu, c_txt_anoniem);
|
||||
DELETE FROM fac_tracking
|
||||
WHERE fac_tracking_key IN
|
||||
(SELECT t.fac_tracking_key
|
||||
FROM fac_srtnotificatie sn,
|
||||
fac_tracking t,
|
||||
bez_afspraak a
|
||||
WHERE t.fac_srtnotificatie_key =
|
||||
sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode =
|
||||
'afspraak'
|
||||
AND t.fac_tracking_refkey =
|
||||
a.bez_afspraak_key
|
||||
AND t.fac_tracking_refkey =
|
||||
rc.bez_afspraak_key);
|
||||
END LOOP;
|
||||
|
||||
COMMIT;
|
||||
|
||||
Reference in New Issue
Block a user