FCLT#85890 fac.notifytrackingbedrijven kan nu ook met delay (voor Mareon)
svn path=/Database/branches/DB50/; revision=68269
This commit is contained in:
@@ -148,14 +148,15 @@ CREATE OR REPLACE PACKAGE fac
|
||||
PROCEDURE trackaction_withkey (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2, psubjectkey NUMBER, new_fac_tracking_key OUT NUMBER);
|
||||
PROCEDURE backtrackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE);
|
||||
PROCEDURE notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER, ptrackingkey NUMBER DEFAULT NULL);
|
||||
PROCEDURE notifytrackingbedrijven(ptrackingkey NUMBER);
|
||||
PROCEDURE notifytrackingbedrijven(peventcode IN VARCHAR2, prefkey IN NUMBER);
|
||||
PROCEDURE notifygeneriekbedrijven(prefkey NUMBER, ptrackingkey NUMBER);
|
||||
PROCEDURE notifytrackingbedrijven(ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL);
|
||||
PROCEDURE notifytrackingbedrijven(peventcode IN VARCHAR2, prefkey IN NUMBER, pnotidelay NUMBER DEFAULT NULL);
|
||||
PROCEDURE notifygeneriekbedrijven(prefkey NUMBER, ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL);
|
||||
PROCEDURE notifybedrijf(pbedrijf_key NUMBER,
|
||||
pbedrijfadres_type VARCHAR2,
|
||||
prefkey NUMBER,
|
||||
ptrackingkey NUMBER DEFAULT NULL,
|
||||
psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey
|
||||
pnotidelay NUMBER DEFAULT NULL,
|
||||
pxrefkey NUMBER DEFAULT NULL,
|
||||
preference VARCHAR2 DEFAULT NULL,
|
||||
psender VARCHAR2 DEFAULT NULL,
|
||||
@@ -4863,7 +4864,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END;
|
||||
|
||||
-- Zoek de nieuwste 'peventcode' tracking van prefkey en notificeer daarvan de bedrijven
|
||||
PROCEDURE notifytrackingbedrijven(peventcode IN VARCHAR2, prefkey IN NUMBER)
|
||||
PROCEDURE notifytrackingbedrijven(peventcode IN VARCHAR2, prefkey IN NUMBER, pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
l_trackingkey fac_tracking.fac_tracking_key%TYPE;
|
||||
BEGIN
|
||||
@@ -4876,12 +4877,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
AND fsn.fac_srtnotificatie_code = peventcode;
|
||||
IF l_trackingkey IS NOT NULL
|
||||
THEN
|
||||
fac.notifytrackingbedrijven (l_trackingkey);
|
||||
fac.notifytrackingbedrijven (l_trackingkey, pnotidelay);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- Notificeren via een technisch adres
|
||||
PROCEDURE notifytrackingbedrijven (ptrackingkey NUMBER)
|
||||
PROCEDURE notifytrackingbedrijven (ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
|
||||
lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
@@ -4902,30 +4903,30 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
CASE
|
||||
WHEN lxmlnode = 'melding'
|
||||
THEN
|
||||
mld.notifymeldingbedrijven(l_refkey, ptrackingkey);
|
||||
mld.notifymeldingbedrijven(l_refkey, ptrackingkey, pnotidelay);
|
||||
WHEN lxmlnode = 'opdracht'
|
||||
THEN
|
||||
mld.notifyopdrbedrijven(l_refkey, ptrackingkey);
|
||||
mld.notifyopdrbedrijven(l_refkey, ptrackingkey, pnotidelay);
|
||||
WHEN lxmlnode = 'reservering' OR lxmlnode = 'xreservering'
|
||||
THEN
|
||||
res.notifyreserveringbedrijven(l_refkey, ptrackingkey);
|
||||
res.notifyreserveringbedrijven(l_refkey, ptrackingkey, pnotidelay);
|
||||
WHEN lxmlnode = 'bestelling'
|
||||
THEN
|
||||
bes.notifybestellingbedrijven(l_refkey, ptrackingkey);
|
||||
bes.notifybestellingbedrijven(l_refkey, ptrackingkey, pnotidelay);
|
||||
WHEN lxmlnode = 'bestelopdr'
|
||||
THEN
|
||||
bes.notifybestelopdrbedrijven(l_refkey, ptrackingkey);
|
||||
bes.notifybestelopdrbedrijven(l_refkey, ptrackingkey, pnotidelay);
|
||||
WHEN lxmlnode = 'contract'
|
||||
THEN
|
||||
cnt.notifycontractbedrijven(l_refkey, ptrackingkey);
|
||||
cnt.notifycontractbedrijven(l_refkey, ptrackingkey, pnotidelay);
|
||||
ELSE
|
||||
fac.notifygeneriekbedrijven(l_refkey, ptrackingkey);
|
||||
fac.notifygeneriekbedrijven(l_refkey, ptrackingkey, pnotidelay);
|
||||
|
||||
END CASE;
|
||||
END;
|
||||
|
||||
-- Notificeer genrieke bedrijven die luisteren naar onze notificatie
|
||||
PROCEDURE notifygeneriekbedrijven (prefkey NUMBER, ptrackingkey NUMBER)
|
||||
PROCEDURE notifygeneriekbedrijven (prefkey NUMBER, ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL)
|
||||
AS
|
||||
BEGIN
|
||||
FOR bedrijfrec
|
||||
@@ -4944,7 +4945,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
|
||||
pbedrijfadres_type => bedrijfrec.bedrijfadres_type,
|
||||
prefkey => prefkey,
|
||||
ptrackingkey => ptrackingkey);
|
||||
ptrackingkey => ptrackingkey,
|
||||
pnotidelay => pnotidelay);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
@@ -4954,6 +4956,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
prefkey NUMBER,
|
||||
ptrackingkey NUMBER DEFAULT NULL,
|
||||
psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey, bijvoorbeeld vanuit mld_t_mld_opdr_B_IU als teverzenden op 2 wordt gezet
|
||||
pnotidelay NUMBER DEFAULT NULL,
|
||||
pxrefkey NUMBER DEFAULT NULL,
|
||||
preference VARCHAR2 DEFAULT NULL,
|
||||
psender VARCHAR2 DEFAULT NULL, -- alleen bij opdrachten alg_locatie_email?
|
||||
@@ -5111,14 +5114,18 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
|
||||
-- Ok, het technisch adres luistert naar onze notificatie!
|
||||
-- Geen putnotificationsrtprio. Die is veel te agressief met ontdubbelen
|
||||
notbefore := SYSDATE;
|
||||
delaymode := fac.safe_to_number(fac.getsetting('noti_delay_mode'));
|
||||
IF delaymode = 1 -- default uit, naar technische adres zonder vertraging
|
||||
IF pnotidelay IS NOT NULL
|
||||
THEN
|
||||
notbefore := notbefore + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0);
|
||||
notbefore := SYSDATE + pnotidelay / 60/ 60/ 24;
|
||||
ELSIF delaymode = 1
|
||||
THEN
|
||||
notbefore := SYSDATE + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0);
|
||||
ELSIF delaymode > 1 -- fixed delay
|
||||
THEN
|
||||
notbefore := notbefore + delaymode / 60/ 60/ 24;
|
||||
notbefore := SYSDATE + delaymode / 60/ 60/ 24;
|
||||
ELSE -- delaymode = 0 -- default uit, naar technische adres zonder vertraging
|
||||
notbefore := SYSDATE;
|
||||
END IF;
|
||||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||
fac_notificatie_oms,
|
||||
|
||||
@@ -412,6 +412,9 @@ BEGIN
|
||||
OR :NEW.fac_notificatie_systeemadres IS NOT NULL
|
||||
THEN
|
||||
tsk.starttask(p_taskcode => 'PUTORDERS', p_nextrun => :NEW.fac_notificatie_notbefore);
|
||||
ELSIF :NEW.fac_notificatie_queue = 'EXCHANGE' -- future use
|
||||
THEN
|
||||
tsk.starttask(p_taskcode => 'EXCHANGE', p_nextrun => :NEW.fac_notificatie_notbefore);
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
Reference in New Issue
Block a user