UWVA#36449 2016.1 RES/BEZ: notificatie bezoekersoproepsysteem.

svn path=/Database/branches/DB28/; revision=29505
This commit is contained in:
Erik Groener
2016-05-24 12:17:14 +00:00
parent 673bb1cff3
commit 5fb93a5ec5
2 changed files with 20 additions and 17 deletions

View File

@@ -2863,6 +2863,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lmldbehandelaar mld_melding.mld_melding_behandelaar_key%TYPE; lmldbehandelaar mld_melding.mld_melding_behandelaar_key%TYPE;
lafs_key bez_afspraak.bez_afspraak_key%TYPE; lafs_key bez_afspraak.bez_afspraak_key%TYPE;
lins_deel_ley ins_deel.ins_deel_key%TYPE; lins_deel_ley ins_deel.ins_deel_key%TYPE;
lpoolnotified NUMBER;
BEGIN BEGIN
-- Het gaat om een notificatie bij een entiteit prefkey, -- Het gaat om een notificatie bij een entiteit prefkey,
-- waarvan het type alleen nog moet worden bepaald via -- waarvan het type alleen nog moet worden bepaald via
@@ -2884,6 +2885,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lrefkey := prefkey; -- dan kunnen we bij reservering nog wijzigen lrefkey := prefkey; -- dan kunnen we bij reservering nog wijzigen
bericht := ptracking_oms; -- als die leeg is zoeken we zelf bericht := ptracking_oms; -- als die leeg is zoeken we zelf
lpoolnotified := 0;
-- welk type? -- welk type?
SELECT fac_srtnotificatie_xmlnode, SELECT fac_srtnotificatie_xmlnode,
@@ -3447,11 +3449,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IF lcode = 'BEZDON' IF lcode = 'BEZDON'
THEN THEN
lcode2 := 'BEZDO2'; lcode2 := 'BEZDO2';
res.notifypool(prefkey, lcode2); lpoolnotified := res.notifypool(prefkey, lcode2);
ELSIF lcode = 'BEZDO2'
THEN
res.notifypool(prefkey, lcode);
lcode := 'BEZDO2'; -- Ook undo-checkin behandelen als checkin.
ELSIF lcode = 'BEZUNI' ELSIF lcode = 'BEZUNI'
THEN THEN
lcode2 := 'BEZDO2'; lcode2 := 'BEZDO2';
@@ -3649,7 +3647,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IF lcode2 IS NOT NULL AND lreceiver2 IS NOT NULL IF lcode2 IS NOT NULL AND lreceiver2 IS NOT NULL
THEN THEN
IF NOT(lcode = 'BEZDON' AND lcode2 = 'BEZDO2') THEN IF lpoolnotified = 0 THEN
fac.putnotificationsrtprio (pperslid_key, fac.putnotificationsrtprio (pperslid_key,
lreceiver2, lreceiver2,
lcode2, lcode2,

View File

@@ -32,7 +32,7 @@ CREATE OR REPLACE PACKAGE res AS
FUNCTION getartikelprijs (pres_rsv_artikel_key IN NUMBER) RETURN NUMBER; FUNCTION getartikelprijs (pres_rsv_artikel_key IN NUMBER) RETURN NUMBER;
FUNCTION getdeelresprijs (pres_rsv_ruimte_key IN NUMBER) RETURN NUMBER; FUNCTION getdeelresprijs (pres_rsv_ruimte_key IN NUMBER) RETURN NUMBER;
FUNCTION sprintf (ps IN VARCHAR2 , pres_rsv_ruimte_key IN NUMBER) RETURN VARCHAR2; FUNCTION sprintf (ps IN VARCHAR2 , pres_rsv_ruimte_key IN NUMBER) RETURN VARCHAR2;
PROCEDURE notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2); FUNCTION notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2) RETURN NUMBER;
END res; END res;
/ /
@@ -1701,7 +1701,8 @@ AS
s := REPLACE (s, ' ()', ''); s := REPLACE (s, ' ()', '');
RETURN s; RETURN s;
END; END;
PROCEDURE notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2) AS FUNCTION notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2)
RETURN NUMBER IS
lnrreceivers NUMBER; lnrreceivers NUMBER;
lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE; lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
lreceivers fac_srtnotificatie.fac_srtnotificatie_oms%TYPE; lreceivers fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
@@ -1710,7 +1711,9 @@ AS
lbezoeker bez_bezoekers.bez_afspraak_naam%TYPE; lbezoeker bez_bezoekers.bez_afspraak_naam%TYPE;
lmailfrom alg_locatie.alg_locatie_email%TYPE; lmailfrom alg_locatie.alg_locatie_email%TYPE;
ltracking VARCHAR2(4000); -- moet tijdelijk groter dan fac_srtnotificatie.fac_srtnotificatie_oms%TYPE kunnen zijn ltracking VARCHAR2(4000); -- moet tijdelijk groter dan fac_srtnotificatie.fac_srtnotificatie_oms%TYPE kunnen zijn
s NUMBER;
BEGIN BEGIN
s := 0;
IF (pcode = 'BEZDO2' OR pcode = 'BEZUNI') THEN IF (pcode = 'BEZDO2' OR pcode = 'BEZUNI') THEN
SELECT bez_afspraak_naam SELECT bez_afspraak_naam
INTO lbezoeker INTO lbezoeker
@@ -1729,6 +1732,15 @@ AS
lnrreceivers := 0; lnrreceivers := 0;
lreceivers := ''; lreceivers := '';
SELECT l.alg_locatie_email
INTO lmailfrom
FROM bez_bezoekers b
, bez_afspraak a
, alg_locatie l
WHERE b.bez_afspraak_key = a.bez_afspraak_key
AND a.alg_locatie_key = l.alg_locatie_key
AND b.bez_bezoekers_key = pbez_bezoeker_key;
FOR hosts IN (SELECT DISTINCT k.res_rsv_ruimte_host_key FOR hosts IN (SELECT DISTINCT k.res_rsv_ruimte_host_key
FROM res_rsv_ruimte k FROM res_rsv_ruimte k
WHERE k.res_reservering_key = WHERE k.res_reservering_key =
@@ -1746,15 +1758,6 @@ AS
AND k.res_rsv_ruimte_verwijder IS NULL AND k.res_rsv_ruimte_verwijder IS NULL
) )
LOOP LOOP
SELECT l.alg_locatie_email
INTO lmailfrom
FROM bez_bezoekers b
, bez_afspraak a
, alg_locatie l
WHERE b.bez_afspraak_key = a.bez_afspraak_key
AND a.alg_locatie_key = l.alg_locatie_key
AND b.bez_bezoekers_key = pbez_bezoeker_key;
fac.putnotificationsrtprio (NULL, fac.putnotificationsrtprio (NULL,
hosts.res_rsv_ruimte_host_key, hosts.res_rsv_ruimte_host_key,
lcode, lcode,
@@ -1778,6 +1781,7 @@ AS
lreceivers := lreceivers||', '||lreceivers1; lreceivers := lreceivers||', '||lreceivers1;
END IF; END IF;
lnrreceivers := lnrreceivers+1; lnrreceivers := lnrreceivers+1;
s := 1;
END LOOP; END LOOP;
IF lnrreceivers > 0 THEN IF lnrreceivers > 0 THEN
@@ -1790,6 +1794,7 @@ AS
fac.trackaction ('#BEZDO2', pbez_bezoeker_key, NULL, NULL, SUBSTR(ltracking,1,2048)); -- maxlengte van fac_srtnotificatie_oms fac.trackaction ('#BEZDO2', pbez_bezoeker_key, NULL, NULL, SUBSTR(ltracking,1,2048)); -- maxlengte van fac_srtnotificatie_oms
END IF; END IF;
END IF; END IF;
RETURN s;
END; END;
END res; END res;