LOGC#83589 Melding gereed melden en na x dagen automatisch definitief afmelden - functie daarvoor

svn path=/Database/trunk/; revision=66122
This commit is contained in:
Peter Feij
2024-09-04 08:21:55 +00:00
parent be3b76b638
commit 104195277d

View File

@@ -81,6 +81,7 @@ CREATE OR REPLACE PACKAGE mld AS
FUNCTION mldflexsummary (pmelding_key IN NUMBER) RETURN VARCHAR2;
PROCEDURE remove(p_melding_key IN NUMBER);
PROCEDURE remove_opdr(p_mld_opdr_key IN NUMBER);
PROCEDURE resetpostafmeldactie (p_actiecode IN NUMBER DEFAULT 2, p_days IN NUMBER DEFAULT 7);
END mld;
/
CREATE OR REPLACE PACKAGE BODY mld AS
@@ -4438,6 +4439,24 @@ BEGIN
fac.remove_tracking('opdracht', p_mld_opdr_key);
END;
-- Deze functie reset (gegarandeerd) de p_actiecode-bits van mld_melding_actiecode voor meldingen
-- die langer dan p_days dagen geleden zijn afgemeld
-- Als meer bits worden meegeven (bv 6 = 4+2) dan zijn beide bits na aanroep gereset
-- als dat voor de aanroep niet het geval was, dus zowel 2,4 als 6 worden dan 0
-- voor meldingen die aan de conditie voldoen.
-- Aanleiding voor deze functie is het resetten van de Actie-bij-melder na x dagen.
PROCEDURE resetpostafmeldactie (p_actiecode IN NUMBER DEFAULT 2, p_days IN NUMBER DEFAULT 7)
IS
BEGIN
UPDATE mld_melding m
SET m.mld_melding_actiecode = m.mld_melding_actiecode - BITAND (m.mld_melding_actiecode, p_actiecode)
WHERE m.mld_melding_status = 6 -- afgemeld
AND BITAND (m.mld_melding_actiecode, p_actiecode) > 0
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) < (SYSDATE - p_days);
-- Willen we nog iets tracken of zo? Ik denk zelf van niet
END;
END mld;
/