FCLT#85890 Orderqueue en notificatiequeue savepoint
svn path=/Database/trunk/; revision=67444
This commit is contained in:
@@ -2087,6 +2087,7 @@ DEF_FAC_SRTNOT('PRSUPT', 0, 'lcl_noti_PRSUPT', 'prs/prs_bedrijfadres.asp?badr_ke
|
||||
DEF_FAC_SRTNOT('PRSANO', 0, 'lcl_noti_PRSANO', 'prs/prs_perslid.asp?prs_key=' , '0', 'perslid', 10);
|
||||
|
||||
DEF_FAC_SRTNOT('RESNEW', 1, 'lcl_noti_RESNEW', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 60);
|
||||
DEF_FAC_SRTNOT('RESSND', 1, 'lcl_noti_RESSND', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 60);
|
||||
DEF_FAC_SRTNOT('RESUPD', 1, 'lcl_noti_RESUPD', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 60);
|
||||
DEF_FAC_SRTNOT('RESAFM', 0, 'lcl_noti_RESAFM', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
|
||||
DEF_FAC_SRTNOT('RESBEV', 1, 'lcl_noti_RESBEV', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 60);
|
||||
|
||||
@@ -2290,6 +2290,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
susermode fac_srtnotificatie.fac_srtnotificatie_usermode%TYPE;
|
||||
lmode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE;
|
||||
skey fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
|
||||
l_srtnoti_delay fac_srtnotificatie.fac_srtnotificatie_delay%TYPE;
|
||||
lemail fac_notificatie.fac_notificatie_receiver_email%TYPE;
|
||||
lphone fac_notificatie.fac_notificatie_receiver_phone%TYPE;
|
||||
llang prs_perslid.prs_perslid_lang%TYPE;
|
||||
@@ -2306,11 +2307,13 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
SELECT lcl.x('fac_srtnotificatie_oms', sn.fac_srtnotificatie_key, sn.fac_srtnotificatie_oms),
|
||||
sn.fac_srtnotificatie_mode,
|
||||
sn.fac_srtnotificatie_key,
|
||||
fac_srtnotificatie_usermode
|
||||
fac_srtnotificatie_usermode,
|
||||
fac_srtnotificatie_delay
|
||||
INTO soms,
|
||||
smode,
|
||||
skey,
|
||||
susermode
|
||||
susermode,
|
||||
l_srtnoti_delay
|
||||
FROM fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code = pcode;
|
||||
|
||||
@@ -2345,8 +2348,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END IF;
|
||||
|
||||
SELECT lcl.x('fac_srtnotificatie_oms', sn.fac_srtnotificatie_key, sn.fac_srtnotificatie_oms),
|
||||
sn.fac_srtnotificatie_key
|
||||
INTO soms, skey
|
||||
sn.fac_srtnotificatie_key, sn.fac_srtnotificatie_delay
|
||||
INTO soms, skey, l_srtnoti_delay
|
||||
FROM fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code = pcode;
|
||||
END IF;
|
||||
@@ -2552,7 +2555,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
fac_notificatie_attachments,
|
||||
prs_bedrijfadres_key,
|
||||
fac_notificatie_queue,
|
||||
fac_notificatie_geturl)
|
||||
fac_notificatie_geturl,
|
||||
fac_notificatie_notbefore)
|
||||
VALUES (skey,
|
||||
lmode,
|
||||
pfrom,
|
||||
@@ -2569,7 +2573,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
pattach,
|
||||
pbedrijfadreskey,
|
||||
pqueue,
|
||||
pgeturl);
|
||||
pgeturl,
|
||||
SYSDATE + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0));
|
||||
END IF;
|
||||
END;
|
||||
|
||||
@@ -3815,6 +3820,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
-- (nl. notificeren van een trackrecord van een bekende entiteit)
|
||||
-- Een stap verder niet meer, dan is het gewoon een bericht met
|
||||
-- een zender en ontvanger.
|
||||
|
||||
-- Dit is de 'gewone' notificatie naar mensen (en systeemadressen).
|
||||
-- Notificatie naar technische adressen gaat via notifytrackingbedrijven
|
||||
PROCEDURE notifytracking (psrtnotificatiekey NUMBER,
|
||||
pperslid_key NUMBER,
|
||||
ptracking_oms VARCHAR2,
|
||||
@@ -4846,12 +4854,16 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
pdiscipline_key NUMBER DEFAULT NULL,
|
||||
ptypeopdr_key NUMBER DEFAULT NULL)
|
||||
AS
|
||||
l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE;
|
||||
l_basrt_key prs_bedrijfadres_srtnoti.prs_bedrijfadres_srtnoti_key%TYPE;
|
||||
l_srtnoti_code fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
l_srtnoti_key fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
|
||||
l_srtnoti_delay fac_srtnotificatie.fac_srtnotificatie_delay%TYPE;
|
||||
nn_noti NUMBER (10);
|
||||
l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE;
|
||||
l_basrt_key prs_bedrijfadres_srtnoti.prs_bedrijfadres_srtnoti_key%TYPE;
|
||||
l_srtnoti_code fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
l_srtnoti_chkcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
l_srtnoti_key fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
|
||||
l_srtnoti_xmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
|
||||
l_srtnoti_delay fac_srtnotificatie.fac_srtnotificatie_delay%TYPE;
|
||||
nn_noti NUMBER (10);
|
||||
dummy VARCHAR2 (1);
|
||||
|
||||
BEGIN
|
||||
-- Merk op: per bedrijf notificeren we hooguit <20><>n enkel technisch adres
|
||||
-- Dat adres wordt eerst bepaald op basis van locatie/district/opdrachttype/discipline/bedrijfadres_type
|
||||
@@ -4894,15 +4906,17 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
|
||||
DBMS_OUTPUT.Put_line ('Gevonden technisch adres key ' || l_bdradr_key);
|
||||
|
||||
-- Nu de srtnotifictie zoeken
|
||||
-- Nu de srtnotificatie zoeken
|
||||
SELECT basrt.prs_bedrijfadres_srtnoti_key,
|
||||
srtnoti.fac_srtnotificatie_code,
|
||||
srtnoti.fac_srtnotificatie_delay,
|
||||
srtnoti.fac_srtnotificatie_key
|
||||
srtnoti.fac_srtnotificatie_key,
|
||||
srtnoti.fac_srtnotificatie_xmlnode
|
||||
INTO l_basrt_key,
|
||||
l_srtnoti_code,
|
||||
l_srtnoti_delay,
|
||||
l_srtnoti_key
|
||||
l_srtnoti_key,
|
||||
l_srtnoti_xmlnode
|
||||
FROM prs_bedrijfadres_srtnoti basrt, fac_srtnotificatie srtnoti, fac_tracking ft
|
||||
WHERE basrt.prs_bedrijfadres_key(+) = l_bdradr_key
|
||||
AND basrt.fac_srtnotificatie_key(+) = srtnoti.fac_srtnotificatie_key
|
||||
@@ -4914,7 +4928,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
IF (pbedrijfadres_type = 'O' AND l_srtnoti_code = 'ORDNEW')
|
||||
OR (pbedrijfadres_type = 'B' AND l_srtnoti_code = 'BES2NE') -- bestelopdracht aangemaakt
|
||||
OR (pbedrijfadres_type = 'C' AND l_srtnoti_code = 'CNTNEW')
|
||||
OR (pbedrijfadres_type = 'R' AND l_srtnoti_code = 'RESNEW') -- TODO: Doorgaans veel te vroeg?
|
||||
-- RESNEW nooit automatisch OR (pbedrijfadres_type = 'R' AND l_srtnoti_code = 'RESNEW')
|
||||
THEN
|
||||
NULL; -- backwards compatible: als geen enkel prs_bedrijfadres_srtnoti is dan is er default een xxxNEW
|
||||
ELSE
|
||||
@@ -4923,6 +4937,30 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- ORDUPD of wat dan ook sturen we niet als er nog geen ORDNEW tracking (en naar we aannamen notificatie) is geweest
|
||||
-- (DECODE mag alleen binnen een SELECT, domme Oracle)
|
||||
SELECT DECODE(l_srtnoti_xmlnode, 'opdracht', 'ORDNEW',
|
||||
'bestelopdr', 'BES2NE',
|
||||
'contract', 'CNTNEW',
|
||||
'reservering', 'RESSND') -- RESNEW gaat niet vaak naar externen
|
||||
INTO l_srtnoti_chkcode
|
||||
FROM DUAL;
|
||||
IF (l_srtnoti_chkcode IS NOT NULL)
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT MIN(NULL) INTO dummy -- Dubbele is nooit logisch maar is h<><68>l sporadisch wel aanwezig. Dan geen ORA- error nodig dus de MIN
|
||||
FROM fac_tracking ft, fac_srtnotificatie fsn
|
||||
WHERE ft.fac_srtnotificatie_key = fsn.fac_srtnotificatie_key
|
||||
AND ft.fac_tracking_refkey = prefkey
|
||||
AND fac_srtnotificatie_code = l_srtnoti_chkcode;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
DBMS_OUTPUT.Put_line ('Nog geen tracking van ' || l_srtnoti_chkcode || ' dus stuur ik ' || l_srtnoti_code || ' nog maar niet');
|
||||
RETURN;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
-- Ok, het technisch adres luistert naar onze notificatie!
|
||||
-- Geen putnotificationsrtprio. Die is veel te agressief met ontdubbelen
|
||||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||
|
||||
@@ -873,7 +873,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_failextralogging' , 'number
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_faillimit' , 'number' , '336' , 'After this time (hours) stop trying failed orders')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_fclt_web_apikey' , 'string' , '' , 'Putorders APIKEY to the Facilitor software')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_fclt_web_url' , 'string' , '' , 'Url to the Facilitor software (webserver internal address)')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_flags' , 'number' , '255' , '+1=send notifications, +2=send orders, +4=all orders Immediate')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_flags' , 'number' , '255' , '+1=send notifications to people, +2=send orders to technical addresses')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forceapppushtoken' , 'string' , '' , 'Force this pushtoken for test purposes')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forcefromaddress' , 'string' , '' , 'Force the from and reply address for test purposes eg john@example.com')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forcemailaddress' , 'string' , '' , 'Force this email address for test purposes eg john@example.com')
|
||||
|
||||
@@ -674,7 +674,9 @@ CREATE_TABLE(fac_notificatie, 0)
|
||||
NUMBER(10)
|
||||
DEFAULT 0 NOT NULL,
|
||||
fac_notificatie_failmessage /* de laatste failmessage, rest zoek je maar in Putorders logging */
|
||||
VARCHAR(4000)
|
||||
VARCHAR(4000),
|
||||
fac_notificatie_faildatum
|
||||
DATE // de laatste
|
||||
);
|
||||
/* Welke notificatiejobs bestaan er
|
||||
* Vermelding hierin veroorzaakt periodieke notificaties
|
||||
|
||||
@@ -1403,7 +1403,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
COALESCE (l1.alg_locatie_key, l2.alg_locatie_key) alg_locatie_key,
|
||||
COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email,
|
||||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr reference,
|
||||
o.mld_opdr_teverzenden_datum,
|
||||
d.prs_bedrijf_key persoon_bedrijf_key -- van de melder, niet de uitvoerende
|
||||
FROM mld_opdr o,
|
||||
mld_melding m,
|
||||
@@ -1418,7 +1417,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
OR EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres ba
|
||||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_type = 'OG'))
|
||||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
|
||||
AND ba.prs_bedrijfadres_type = 'OG'))
|
||||
AND o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_adres_key = ma.mld_adres_key(+)
|
||||
AND ma.alg_locatie_key = l1.alg_locatie_key(+)
|
||||
@@ -1432,8 +1433,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
ptrackingkey => ptrackingkey,
|
||||
preference => bedrijfrec.reference,
|
||||
ptypeopdr_key => bedrijfrec.mld_typeopdr_key,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
teverzenden_datum => bedrijfrec.mld_opdr_teverzenden_datum);
|
||||
plocatie_key => bedrijfrec.alg_locatie_key);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
@@ -1459,7 +1459,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres ba
|
||||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_type = 'MG')
|
||||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
|
||||
AND ba.prs_bedrijfadres_type = 'MG')
|
||||
AND m.mld_adres_key = ma.mld_adres_key(+)
|
||||
AND ma.alg_locatie_key = l1.alg_locatie_key(+)
|
||||
AND m.mld_alg_locatie_key = l2.alg_locatie_key(+)
|
||||
|
||||
@@ -2575,7 +2575,8 @@ AS
|
||||
(SELECT res_rsv_ruimte_key, MAX (rrd.prs_bedrijf_key) prs_bedrijf_key -- artikelen van verschillende leveranciers is unsupported
|
||||
FROM res_disc_params rrd, res_artikel ra, res_rsv_artikel rra
|
||||
WHERE rrd.res_ins_discipline_key = ra.res_discipline_key
|
||||
AND rra.res_artikel_key = ra.res_artikel_key) resbedrijf
|
||||
AND rra.res_artikel_key = ra.res_artikel_key
|
||||
GROUP BY res_rsv_ruimte_key) resbedrijf
|
||||
WHERE rrr.res_rsv_ruimte_key = prsvkey
|
||||
AND resbedrijf.res_rsv_ruimte_key = prsvkey
|
||||
AND rrr.res_ruimte_opstel_key = opstelalg.res_ruimte_opstel_key(+)
|
||||
@@ -2585,7 +2586,9 @@ AS
|
||||
OR EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_bedrijfadres ba
|
||||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_type = 'RG')))
|
||||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
|
||||
AND ba.prs_bedrijfadres_type = 'RG')))
|
||||
LOOP
|
||||
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
|
||||
pbedrijfadres_type => bedrijfrec.bedrijfadres_type,
|
||||
|
||||
@@ -91,6 +91,8 @@ CREATE_TABLE(fac_task, 0)
|
||||
CREATE SEQUENCE fac_s_fac_cust_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_task_key MINVALUE 1;
|
||||
|
||||
DEF_FAC_SRTNOT('RESSND', 1, 'lcl_noti_RESSND', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 60);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80469
|
||||
|
||||
|
||||
@@ -192,6 +194,18 @@ ALTER TABLE mld_typeopdr
|
||||
ADD mld_typeopdr_code VARCHAR2(60)
|
||||
CONSTRAINT mld_u_mld_typeopdr_code UNIQUE;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86003
|
||||
ALTER TABLE fac_imp_cnt
|
||||
ADD ( mantel_nr_versie VARCHAR2(10)
|
||||
, soortcontact VARCHAR2(1)
|
||||
, kostensoort VARCHAR2(60)
|
||||
, scope VARCHAR2(1)
|
||||
);
|
||||
ALTER TABLE fac_imp_cnt
|
||||
MODIFY ( bedrijf_naam VARCHAR2(200)
|
||||
, contact_naam VARCHAR2(200)
|
||||
);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user