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;
lafs_key bez_afspraak.bez_afspraak_key%TYPE;
lins_deel_ley ins_deel.ins_deel_key%TYPE;
lpoolnotified NUMBER;
BEGIN
-- Het gaat om een notificatie bij een entiteit prefkey,
-- 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
bericht := ptracking_oms; -- als die leeg is zoeken we zelf
lpoolnotified := 0;
-- welk type?
SELECT fac_srtnotificatie_xmlnode,
@@ -3447,11 +3449,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IF lcode = 'BEZDON'
THEN
lcode2 := 'BEZDO2';
res.notifypool(prefkey, lcode2);
ELSIF lcode = 'BEZDO2'
THEN
res.notifypool(prefkey, lcode);
lcode := 'BEZDO2'; -- Ook undo-checkin behandelen als checkin.
lpoolnotified := res.notifypool(prefkey, lcode2);
ELSIF lcode = 'BEZUNI'
THEN
lcode2 := 'BEZDO2';
@@ -3649,7 +3647,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IF lcode2 IS NOT NULL AND lreceiver2 IS NOT NULL
THEN
IF NOT(lcode = 'BEZDON' AND lcode2 = 'BEZDO2') THEN
IF lpoolnotified = 0 THEN
fac.putnotificationsrtprio (pperslid_key,
lreceiver2,
lcode2,

View File

@@ -32,7 +32,7 @@ CREATE OR REPLACE PACKAGE res AS
FUNCTION getartikelprijs (pres_rsv_artikel_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;
PROCEDURE notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2);
FUNCTION notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2) RETURN NUMBER;
END res;
/
@@ -1701,7 +1701,8 @@ AS
s := REPLACE (s, ' ()', '');
RETURN s;
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;
lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
lreceivers fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
@@ -1710,7 +1711,9 @@ AS
lbezoeker bez_bezoekers.bez_afspraak_naam%TYPE;
lmailfrom alg_locatie.alg_locatie_email%TYPE;
ltracking VARCHAR2(4000); -- moet tijdelijk groter dan fac_srtnotificatie.fac_srtnotificatie_oms%TYPE kunnen zijn
s NUMBER;
BEGIN
s := 0;
IF (pcode = 'BEZDO2' OR pcode = 'BEZUNI') THEN
SELECT bez_afspraak_naam
INTO lbezoeker
@@ -1729,6 +1732,15 @@ AS
lnrreceivers := 0;
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
FROM res_rsv_ruimte k
WHERE k.res_reservering_key =
@@ -1746,15 +1758,6 @@ AS
AND k.res_rsv_ruimte_verwijder IS NULL
)
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,
hosts.res_rsv_ruimte_host_key,
lcode,
@@ -1778,6 +1781,7 @@ AS
lreceivers := lreceivers||', '||lreceivers1;
END IF;
lnrreceivers := lnrreceivers+1;
s := 1;
END LOOP;
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
END IF;
END IF;
RETURN s;
END;
END res;