UWVA#90416+UWVA#90417 AFTERSALES-export/Meldingomschrijving van CHAR naar CLOB (en actualiseren)
svn path=/Customer/trunk/; revision=70133
This commit is contained in:
@@ -19,11 +19,10 @@ SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
CREATE OR REPLACE PROCEDURE uwva_aftersales_anonimiseer (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
CREATE OR REPLACE PROCEDURE uwva_aftersales_anonimiseer (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
AS
|
||||
c_txt_anoniem VARCHAR2 (200) := 'Geanonimiseerd';
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
@@ -56,7 +55,7 @@ AS
|
||||
CURSOR c_vertaal
|
||||
IS
|
||||
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key, km.mld_kenmerk_key
|
||||
FROM mld_melding m, mld_kenmerkmelding km--, fac_tracking tr
|
||||
FROM mld_melding m, mld_kenmerkmelding km --, fac_tracking tr
|
||||
WHERE m.mld_stdmelding_key = 1301 -- Vertaalwerk
|
||||
--AND m.mld_melding_key = tr.fac_tracking_refkey
|
||||
--AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
|
||||
@@ -70,7 +69,7 @@ AS
|
||||
CURSOR c_archief_dossier_hulshoff
|
||||
IS
|
||||
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key
|
||||
FROM mld_melding m, mld_kenmerkmelding km--, fac_tracking tr
|
||||
FROM mld_melding m, mld_kenmerkmelding km --, fac_tracking tr
|
||||
WHERE m.mld_stdmelding_key IN (2, 146, 2961) -- Vraag over archief+Overdracht naar Hulshoff+Verwijderen dossiers
|
||||
--AND m.mld_melding_key = tr.fac_tracking_refkey
|
||||
--AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
|
||||
@@ -89,7 +88,7 @@ AS
|
||||
CURSOR c_tolk
|
||||
IS
|
||||
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key
|
||||
FROM mld_melding m, mld_kenmerkmelding km, mld_kenmerk k--, fac_tracking tr
|
||||
FROM mld_melding m, mld_kenmerkmelding km, mld_kenmerk k --, fac_tracking tr
|
||||
WHERE m.mld_stdmelding_key IN (2801, 2802, 2821, 3421, 3422, 3423) -- Tolkdiensten (op UWV locatie+telefonisch+extern)
|
||||
--AND m.mld_melding_key = tr.fac_tracking_refkey
|
||||
--AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
|
||||
@@ -100,7 +99,7 @@ AS
|
||||
--AND tr.fac_tracking_datum > SYSDATE - 365 --MvH toegevoegd tbv performance
|
||||
UNION ALL
|
||||
SELECT m.mld_melding_key, km.mld_kenmerkmelding_key
|
||||
FROM mld_melding m, mld_kenmerkmelding km, mld_kenmerk k--, fac_tracking tr
|
||||
FROM mld_melding m, mld_kenmerkmelding km, mld_kenmerk k --, fac_tracking tr
|
||||
WHERE m.mld_stdmelding_key = 1721 -- Tolk Nederlandse gebarentaal
|
||||
--AND m.mld_melding_key = tr.fac_tracking_refkey
|
||||
--AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
|
||||
@@ -117,7 +116,7 @@ AS
|
||||
CURSOR c_mld_kenmerksoorten
|
||||
IS
|
||||
SELECT DISTINCT m.mld_melding_key
|
||||
FROM mld_melding m, mld_kenmerkmelding km, mld_kenmerk k--, fac_tracking tr
|
||||
FROM mld_melding m, mld_kenmerkmelding km, mld_kenmerk k --, fac_tracking tr
|
||||
WHERE m.mld_melding_key = km.mld_melding_key
|
||||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key IN (1267, -- Adres
|
||||
@@ -136,7 +135,7 @@ AS
|
||||
CURSOR c_bes_kenmerksoorten
|
||||
IS
|
||||
SELECT DISTINCT b.bes_bestelling_key
|
||||
FROM bes_bestelling b, bes_kenmerkbestell kb, bes_kenmerk k--, fac_tracking tr
|
||||
FROM bes_bestelling b, bes_kenmerkbestell kb, bes_kenmerk k --, fac_tracking tr
|
||||
WHERE b.bes_bestelling_key = kb.bes_bestelling_key
|
||||
AND kb.bes_kenmerk_key = k.bes_kenmerk_key
|
||||
AND k.bes_srtkenmerk_key IN (4, 5, 8) -- Afgeven bij/Straat huisnummer/Telefoon
|
||||
@@ -146,34 +145,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 ***Ook toekomstig!***
|
||||
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 ***Ook toekomstig!***
|
||||
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 ***Ook toekomstig!***
|
||||
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
|
||||
@@ -247,11 +228,11 @@ BEGIN
|
||||
WHERE COALESCE (mld_opdr_omschrijving, '-') NOT LIKE '[Geanonimiseerd%'
|
||||
AND mld_melding_key IN
|
||||
(SELECT mld_melding_key
|
||||
FROM mld_melding m--, fac_tracking tr
|
||||
FROM mld_melding m --, fac_tracking tr
|
||||
WHERE m.mld_stdmelding_key = 1301 -- Vertaalwerk
|
||||
--AND m.mld_melding_key = tr.fac_tracking_refkey
|
||||
--AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
|
||||
--AND tr.fac_tracking_datum < SYSDATE
|
||||
--AND tr.fac_tracking_datum < SYSDATE - 60
|
||||
AND 1=1);
|
||||
|
||||
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU ENABLE';
|
||||
@@ -272,7 +253,7 @@ BEGIN
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_omschrijving = '[Geanonimiseerd.]',
|
||||
mld_melding_onderwerp = '[Geanonimiseerd.]'
|
||||
WHERE COALESCE (mld_melding_omschrijving, mld_melding_onderwerp) NOT LIKE '[Geanonimiseerd%'
|
||||
WHERE COALESCE (TO_CHAR(SUBSTR(mld_melding_omschrijving, 1, 4000)), mld_melding_onderwerp) NOT LIKE '[Geanonimiseerd%'
|
||||
AND mld_melding_key = rc.mld_melding_key;
|
||||
|
||||
-- Delete 'Te verwijderen dossiers' (kenmerk met key=2385).
|
||||
@@ -291,11 +272,11 @@ BEGIN
|
||||
WHERE COALESCE (mld_opdr_omschrijving, '-') NOT LIKE '[Geanonimiseerd%'
|
||||
AND mld_melding_key IN
|
||||
(SELECT mld_melding_key
|
||||
FROM mld_melding m--, fac_tracking tr
|
||||
FROM mld_melding m --, fac_tracking tr
|
||||
WHERE m.mld_stdmelding_key IN (2, 146, 2961) -- Vraag over archief+Overdracht naar Hulshoff+Verwijderen dossiers
|
||||
--AND m.mld_melding_key = tr.fac_tracking_refkey
|
||||
--AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
|
||||
--AND tr.fac_tracking_datum < SYSDATE
|
||||
--AND tr.fac_tracking_datum < SYSDATE - 31
|
||||
AND 1=1);
|
||||
|
||||
EXECUTE IMMEDIATE 'ALTER TRIGGER MLD_T_MLD_OPDR_B_IU ENABLE';
|
||||
@@ -318,7 +299,7 @@ BEGIN
|
||||
SET mld_melding_omschrijving = '[Geanonimiseerd.]',
|
||||
mld_melding_onderwerp = '[Geanonimiseerd.]'
|
||||
WHERE mld_stdmelding_key IN (3421, 3422, 3423, 1721)
|
||||
AND COALESCE (mld_melding_omschrijving, mld_melding_onderwerp) NOT LIKE '[Geanonimiseerd%'
|
||||
AND COALESCE (TO_CHAR(SUBSTR(mld_melding_omschrijving, 1, 4000)), mld_melding_onderwerp) NOT LIKE '[Geanonimiseerd%'
|
||||
AND mld_melding_key = rc.mld_melding_key;
|
||||
|
||||
-- Delete 'Naam klant' (kenmerksoort met key=1500) of 'Naam gesprekspartner UWV' (kenmerksoort met key=701).
|
||||
@@ -338,7 +319,7 @@ BEGIN
|
||||
WHERE COALESCE (mld_opdr_omschrijving, '-') NOT LIKE '[Geanonimiseerd%'
|
||||
AND mld_melding_key IN
|
||||
(SELECT mld_melding_key
|
||||
FROM mld_melding m--, fac_tracking tr
|
||||
FROM mld_melding m --, fac_tracking tr
|
||||
WHERE m.mld_stdmelding_key IN (2801, 2802, 2821, 3421, 3422, 3423, 1721) -- Tolkdiensten (op UWV locatie+telefonisch+extern)
|
||||
--AND m.mld_melding_key = tr.fac_tracking_refkey
|
||||
--AND tr.fac_srtnotificatie_key IN (18, 22) -- MLDAFM/MLDREJ
|
||||
@@ -390,7 +371,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
|
||||
@@ -401,35 +382,94 @@ 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 = 1663); -- 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 = 1663); -- 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 = 1663);
|
||||
|
||||
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;
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
FOR rc IN c_res
|
||||
LOOP
|
||||
-- Cursor bevat reserveringen met BSN die moeten worden geanonimiseerd.
|
||||
|
||||
Reference in New Issue
Block a user