VLKC#82681: 79962 - kenmerksoort bestellingen anonimiseren.

svn path=/Database/trunk/; revision=67883
This commit is contained in:
Maykel Geerdink
2025-02-06 12:15:02 +00:00
parent ad5fc8090d
commit aa5efe18ba

View File

@@ -33,6 +33,7 @@ CREATE OR REPLACE PACKAGE BODY ano AS
anonymize_period NUMBER := fac.safe_to_number (fac.getsetting ('anonymize_period'));
v_count NUMBER;
anonymize_mode NUMBER;
lcl_fac_anonymized fac_locale_xsl.fac_locale_xsl_tekst%TYPE := lcl.l('lcl_fac_anonymized');
-- Alle bestellingen waarvan de afwijsdatum, alles geleverd datum, verwerkingsdatum of annuleringsdatum tussen de startdatum en de einddatum liggen.
CURSOR c_bestelling
@@ -60,18 +61,17 @@ CREATE OR REPLACE PACKAGE BODY ano AS
WHERE fac_srtnotificatie_code = 'BESANO'))
ORDER BY b.bes_bestelling_key;
-- BES heeft nog geen anonimiseerbare kenmerken
--CURSOR c_bijlagen(p_refkey IN NUMBER)
--IS
-- SELECT b.fac_bijlagen_key
-- FROM fac_bijlagen b
-- , bes_kenmerk k
-- , bes_srtkenmerk s
-- WHERE k.bes_srtkenmerk_key = s.bes_srtkenmerk_key
-- AND k.bes_kenmerk_key = b.fac_bijlagen_kenmerk_key
-- AND BITAND(s.bes_srtkenmerk_systeem, 8) = 8
-- AND b.fac_bijlagen_module = 'BES'
-- AND b.fac_bijlagen_refkey = p_refkey;
CURSOR c_bijlagen(p_refkey IN NUMBER)
IS
SELECT b.fac_bijlagen_key
FROM fac_bijlagen b
, bes_kenmerk k
, bes_srtkenmerk s
WHERE k.bes_srtkenmerk_key = s.bes_srtkenmerk_key
AND k.bes_kenmerk_key = b.fac_bijlagen_kenmerk_key
AND BITAND(s.bes_srtkenmerk_systeem, 8) = 8
AND b.fac_bijlagen_module = 'BES'
AND b.fac_bijlagen_refkey = p_refkey;
BEGIN
IF p_einddatum > SYSDATE - anonymize_period + 1
@@ -129,20 +129,29 @@ CREATE OR REPLACE PACKAGE BODY ano AS
WHERE bk.bes_srtkenmerk_key = bsk.bes_srtkenmerk_key
AND bk.bes_kenmerk_key = bkbl.bes_kenmerk_key
AND BITAND(bsk.bes_srtkenmerk_systeem, 8) = 8);
-- Zet het verwijder-veld van alle bijlagen van bestellingen waarvan het &8 (BITAND) bit (anonimiseren)
-- van het bes_srtkenmerk.bes_srtkenmerk_systeem veld is gezet.
-- De scheduled functie utils/gen_schedular/gen_cleanup.js verwijderd dan binnenkort de bijlage echt
-- en ruimt dan ook het record in fac_bijlagen op.
-- BES heeft nog geen anonimiseerbare kenmerken
--FOR rec_fb in c_bijlagen(rec_b.bes_bestelling_key)
--LOOP
-- flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
--END LOOP;
FOR rec_fb in c_bijlagen(rec_b.bes_bestelling_key)
LOOP
flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
END LOOP;
END IF;
--IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
--THEN
--END IF;
IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
THEN
-- Anonimiseren van tekstvelden in de bestelling.
UPDATE bes_bestelling
SET bes_bestelling_opmerking = CASE WHEN bes_bestelling_opmerking IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_ordernr = CASE WHEN bes_bestelling_ordernr IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_plaats = CASE WHEN bes_bestelling_plaats IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_satisfaction_op = CASE WHEN bes_bestelling_satisfaction_op IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_lev_opm = CASE WHEN bes_bestelling_lev_opm IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelling_externnr = CASE WHEN bes_bestelling_externnr IS NOT NULL THEN lcl_fac_anonymized END
WHERE bes_bestelling_key = rec_b.bes_bestelling_key;
END IF;
-- Anonimiseren van de bestelling tracken.
fac.trackaction('#BESANO', rec_b.bes_bestelling_key, NULL, NULL, NULL);
@@ -198,16 +207,26 @@ CREATE OR REPLACE PACKAGE BODY ano AS
WHERE bk.bes_srtkenmerk_key = bsk.bes_srtkenmerk_key
AND bk.bes_kenmerk_key = bkbi.bes_kenmerk_key
AND BITAND(bsk.bes_srtkenmerk_systeem, 8) = 8);
-- BES heeft nog geen anonimiseerbare kenmerken
--FOR rec_fb IN c_bijlagen(rec_bo.bes_bestelopdr_key)
--LOOP
-- flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
--END LOOP;
FOR rec_fb IN c_bijlagen(rec_bo.bes_bestelopdr_key)
LOOP
flx.deleteflexbijlage(rec_fb.fac_bijlagen_key);
END LOOP;
END IF;
--IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
--THEN
--END IF;
IF (BITAND(anonymize_mode, 8) = 8) -- vaste omschrijvingen
THEN
-- Anonimiseren van tekstvelden in de bestelopdracht.
UPDATE bes_bestelopdr
SET bes_bestelopdr_opmerking = CASE WHEN bes_bestelopdr_opmerking IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelopdr_delivery_opmerk = CASE WHEN bes_bestelopdr_delivery_opmerk IS NOT NULL THEN lcl_fac_anonymized END
, bes_bestelopdr_externnr = CASE WHEN bes_bestelopdr_externnr IS NOT NULL THEN lcl_fac_anonymized END
WHERE bes_bestelopdr_key = rec_bo.bes_bestelopdr_key;
UPDATE bes_bestelopdr_item
SET bes_bestelopdr_item_opmerking = CASE WHEN bes_bestelopdr_item_opmerking IS NOT NULL THEN lcl_fac_anonymized END
WHERE bes_bestelopdr_key = rec_bo.bes_bestelopdr_key;
END IF;
-- Anonimiseren van de bestelopdracht tracken.
fac.trackaction('BES2AN', rec_bo.bes_bestelopdr_key, NULL, NULL, NULL);