svn path=/Database/trunk/; revision=10176
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#ifdef BES // 03-11-2000 PF
|
||||
|
||||
/* $Revision: 67 $
|
||||
* $Modtime: 25-08-09 15:40 $
|
||||
/* $Revision: 68 $
|
||||
* $Modtime: 24-11-09 18:15 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -29,6 +29,11 @@ AS
|
||||
|
||||
FUNCTION calcbesopdrachtkosten (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
|
||||
RETURN NUMBER;
|
||||
|
||||
FUNCTION bessprintf (ps IN varchar2, pbes_bestelling_key IN number)
|
||||
RETURN varchar2;
|
||||
FUNCTION opdrsprintf (ps IN varchar2, pbes_bestelopdr_key IN number)
|
||||
RETURN varchar2;
|
||||
END bes;
|
||||
/
|
||||
|
||||
@@ -365,6 +370,31 @@ AS
|
||||
THEN
|
||||
RETURN 0;
|
||||
END;
|
||||
|
||||
FUNCTION bessprintf (ps IN varchar2, pbes_bestelling_key IN number)
|
||||
RETURN varchar2
|
||||
IS
|
||||
s varchar2 (2048 CHAR);
|
||||
BEGIN
|
||||
s := ps;
|
||||
-- We support substitution of placeholders in the messages
|
||||
-- ##KEY## = bes_bestelling_key
|
||||
-- ##DATUM## = bes_bestelling_datum
|
||||
RETURN 'TODO '||s;
|
||||
END;
|
||||
FUNCTION opdrsprintf (ps IN varchar2, pbes_bestelopdr_key IN number)
|
||||
RETURN varchar2
|
||||
IS
|
||||
s varchar2 (2048 CHAR);
|
||||
BEGIN
|
||||
s := ps;
|
||||
|
||||
-- We support substitution of placeholders in the messages
|
||||
-- ##KEY## = bes_bestelling_key
|
||||
-- ##NAAM## = bes_bestelling_datum
|
||||
RETURN 'TODO '||s;
|
||||
END;
|
||||
|
||||
END bes;
|
||||
/
|
||||
|
||||
|
||||
205
BES/BES_TRI.SRC
205
BES/BES_TRI.SRC
@@ -1,8 +1,8 @@
|
||||
#ifdef BES // 03-11-2000 PF
|
||||
|
||||
/*
|
||||
* $Revision: 48 $
|
||||
* $Modtime: 23-09-09 14:53 $
|
||||
* $Revision: 49 $
|
||||
* $Modtime: 30-11-09 15:33 $
|
||||
*/
|
||||
|
||||
#include "comsql.h"
|
||||
@@ -113,207 +113,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_notificatie_bestelling)
|
||||
AFTER INSERT OR UPDATE
|
||||
ON bes_bestelling
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE
|
||||
soms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||
scode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
lreceiver prs_perslid.prs_perslid_key%TYPE;
|
||||
lsender fac_notificatie.fac_notificatie_sender_email%TYPE;
|
||||
BEGIN
|
||||
IF :NEW.bes_bestelling_status = 5 AND :OLD.bes_bestelling_status <> 5
|
||||
THEN
|
||||
scode := 'BESBES';
|
||||
ELSIF :NEW.bes_bestelling_status = 6 AND :OLD.bes_bestelling_status <> 6
|
||||
THEN
|
||||
scode := 'BESOTV';
|
||||
ELSIF :NEW.bes_bestelling_status = 1 AND :OLD.bes_bestelling_status <> 1
|
||||
THEN
|
||||
scode := 'BESREJ';
|
||||
ELSIF :NEW.bes_bestelling_status = 3 AND :OLD.bes_bestelling_status <> 3
|
||||
THEN
|
||||
scode := 'BESFIT';
|
||||
ELSIF :NEW.bes_bestelling_status = 4 AND :OLD.bes_bestelling_status <> 4
|
||||
THEN
|
||||
scode := 'BESACP';
|
||||
END IF;
|
||||
|
||||
IF scode IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT sn.fac_srtnotificatie_oms
|
||||
INTO soms
|
||||
FROM fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code = scode
|
||||
AND sn.fac_srtnotificatie_mode > 0;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- Nothing to do
|
||||
RETURN;
|
||||
END;
|
||||
|
||||
-- We support substitution of placeholders in the messages
|
||||
-- ##KEY## = bes_bestelling_key
|
||||
-- ##DATUM## = bes_bestelling_datum
|
||||
IF INSTR2 (soms, '#') > 0
|
||||
THEN
|
||||
soms :=
|
||||
REPLACE (REPLACE (soms,
|
||||
'##KEY##',
|
||||
NUMBER_TO_CHAR (:NEW.bes_bestelling_key)
|
||||
),
|
||||
'##DATUM##',
|
||||
DATE_TO_CHAR (:NEW.bes_bestelling_datum, 'DD-MM-YY HH24:MI')
|
||||
);
|
||||
END IF;
|
||||
|
||||
-- Bepaal de afzender
|
||||
-- die komt van de (strikt: een) catalogus van de artikelen uit deze bestelling
|
||||
-- of anders bepaald door de locatie van het afleveradres
|
||||
BEGIN
|
||||
-- Merk op dat tijdens insert nog niet bekend is welke items nog gaan worden toegevoegd
|
||||
-- en dan is het dus niet mogelijk hier de catalogus te bepalen en te gebruiken
|
||||
-- Tijdens update zou dat wel kunnen, maar de update wordt soms veroorzaakt door
|
||||
-- een andere update, in het bijzonder makeorders(). Dat levert dan weer een
|
||||
-- table is mutating error op. Dat betekent dus dat de notificatie eigenlijk dieper
|
||||
-- moet worden gegenereerd, op bestelling-item. Dit valt nu buiten de scope van RWSN#14861
|
||||
-- SELECT MAX (ins_discipline_email)
|
||||
-- INTO lsender
|
||||
-- FROM ins_tab_discipline d, bes_bestelling_item bi, ins_srtdeel sd, ins_srtgroep sg
|
||||
-- WHERE bi.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
-- AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
-- AND sg.ins_discipline_key = d.ins_discipline_key
|
||||
-- AND bi.bes_bestelling_key = :NEW.bes_bestelling_key;
|
||||
|
||||
IF lsender IS NULL
|
||||
THEN
|
||||
SELECT l.alg_locatie_email
|
||||
INTO lsender
|
||||
FROM mld_adres ma, alg_locatie l
|
||||
WHERE :NEW.mld_adres_key_lev = ma.mld_adres_key(+) AND ma.alg_locatie_key = l.alg_locatie_key(+);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
lsender := NULL;
|
||||
END;
|
||||
|
||||
-- Stuur notificatie naar de aanvrager
|
||||
fac.putnotificationsrtprio (:NEW.prs_perslid_key, :NEW.prs_perslid_key, scode, :NEW.bes_bestelling_key, soms, NULL, NULL, NULL, NULL, 2, lsender);
|
||||
-- Stuur notificatie naar de behandelaar indien afwijkend
|
||||
IF :NEW.prs_perslid_key <> :NEW.bes_bestelling_owner_key
|
||||
THEN
|
||||
fac.putnotificationsrtprio (:NEW.prs_perslid_key, :NEW.prs_perslid_key, scode, :NEW.bes_bestelling_key, soms, NULL, NULL, NULL, NULL, 2, lsender);
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
END;
|
||||
#ifdef MS_SQL
|
||||
lerror:
|
||||
#endif
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_notificatie_bestelopdr)
|
||||
AFTER INSERT OR UPDATE
|
||||
ON bes_bestelopdr
|
||||
FOR EACH ROW
|
||||
DECLARE
|
||||
soms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||
scode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
rfokey bes_bestelling.bes_bestelling_key%TYPE;
|
||||
lreceiver prs_perslid.prs_perslid_key%TYPE;
|
||||
lemail prs_bedrijf.prs_bedrijf_email%TYPE;
|
||||
lphone prs_bedrijf.prs_bedrijf_telefoon2%TYPE;
|
||||
lbedrijfnaam prs_bedrijf.prs_bedrijf_naam%TYPE;
|
||||
lsender fac_notificatie.fac_notificatie_sender_email%TYPE;
|
||||
BEGIN
|
||||
-- Nu sturen we naar de leverancier, vooralsnog
|
||||
IF :NEW.bes_bestelopdr_status = 4 AND :OLD.bes_bestelopdr_status <> 4
|
||||
THEN
|
||||
scode := 'BES2BE';
|
||||
ELSIF :NEW.bes_bestelopdr_status = 1 AND :OLD.bes_bestelopdr_status <> 1
|
||||
THEN
|
||||
scode := 'BES2RE';
|
||||
ELSIF :NEW.bes_bestelopdr_status = 6 AND :OLD.bes_bestelopdr_status <> 6
|
||||
THEN
|
||||
scode := 'BES2AF';
|
||||
ELSIF :NEW.bes_bestelopdr_status = 2 AND :OLD.bes_bestelopdr_status <> 2
|
||||
THEN
|
||||
scode := 'BES2NE';
|
||||
ELSIF :NEW.bes_bestelopdr_status = 7 AND :OLD.bes_bestelopdr_status <> 7
|
||||
THEN
|
||||
scode := 'BES2VE';
|
||||
END IF;
|
||||
|
||||
IF scode IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT sn.fac_srtnotificatie_oms
|
||||
INTO soms
|
||||
FROM fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code = scode AND sn.fac_srtnotificatie_mode > 0;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- Nothing to do
|
||||
RETURN;
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
SELECT prs_bedrijf_email, prs_bedrijf_telefoon2, prs_bedrijf_naam
|
||||
INTO lemail, lphone, lbedrijfnaam
|
||||
FROM prs_bedrijf
|
||||
WHERE prs_bedrijf_key=:NEW.prs_bedrijf_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN;
|
||||
END;
|
||||
|
||||
|
||||
IF instr2 (soms, '#') > 0
|
||||
THEN
|
||||
soms :=
|
||||
REPLACE (REPLACE (soms, '##KEY##', :NEW.bes_bestelopdr_id),
|
||||
'##NAAM##', lbedrijfnaam
|
||||
);
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
-- Dit leidt al snel tot table is mutating error.
|
||||
-- Dat betekent dus dat de notificatie eigenlijk dieper moet worden gegenereerd
|
||||
-- Dit valt nu buiten de scope van RWSN#14861
|
||||
-- SELECT MAX (ins_discipline_email)
|
||||
-- INTO lsender
|
||||
-- FROM ins_tab_discipline d, bes_bestelling_item bi, ins_srtdeel sd, ins_srtgroep sg, bes_bestelopdr_item boi
|
||||
-- WHERE bi.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
-- AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
-- AND sg.ins_discipline_key = d.ins_discipline_key
|
||||
-- AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||||
-- AND boi.bes_bestelopdr_key = :NEW.bes_bestelopdr_key;
|
||||
|
||||
IF lsender IS NULL
|
||||
THEN
|
||||
SELECT l.alg_locatie_email
|
||||
INTO lsender
|
||||
FROM mld_adres ma, alg_locatie l
|
||||
WHERE :NEW.mld_adres_key_lev = ma.mld_adres_key(+) AND ma.alg_locatie_key = l.alg_locatie_key(+);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
lsender := NULL;
|
||||
END;
|
||||
|
||||
fac.putnotificationsrtprio(NULL, NULL, scode, :NEW.bes_bestelopdr_key, soms, NULL, lemail, lphone, NULL, 2, lsender);
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON BES_BESTELOPDR_ITEM FOR EACH ROW
|
||||
|
||||
@@ -1,9 +1,48 @@
|
||||
#ifdef BEZ // 03-11-2000 PF
|
||||
|
||||
/* REVISIONS:
|
||||
/*
|
||||
* $Revision: 2 $
|
||||
* $Modtime: 30-11-09 22:38 $
|
||||
*
|
||||
* 03-11-20000 PF CREATION (concept).
|
||||
*/
|
||||
CREATE OR REPLACE PACKAGE bez AS
|
||||
FUNCTION sprintf (ps IN VARCHAR2, p_afspraak_key IN NUMBER) RETURN VARCHAR2;
|
||||
END bez;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
|
||||
FUNCTION sprintf (ps IN VARCHAR2, p_afspraak_key IN NUMBER) RETURN VARCHAR2 IS
|
||||
lafspraak_datum bez_afspraak.bez_afspraak_datum%TYPE;
|
||||
lbezoek VARCHAR2 (200);
|
||||
s varchar2 (2048 CHAR);
|
||||
BEGIN
|
||||
s := ps;
|
||||
-- We support substitution of placeholders in the messages
|
||||
-- ##KEY## afspraaknummer
|
||||
-- ##NAAM## volledige naam van de bezoeker
|
||||
IF INSTR (s, '#') > 0
|
||||
THEN
|
||||
SELECT bez_afspraak_datum
|
||||
INTO lafspraak_datum
|
||||
FROM bez_afspraak
|
||||
WHERE bez_afspraak_key = p_afspraak_key;
|
||||
|
||||
SELECT MIN(bez_afspraak_naam) || DECODE (COUNT (*), 1, '', '...')
|
||||
INTO lbezoek
|
||||
FROM bez_bezoekers
|
||||
WHERE bez_afspraak_key = p_afspraak_key
|
||||
GROUP BY bez_afspraak_key;
|
||||
|
||||
s :=
|
||||
REPLACE (REPLACE (REPLACE (s, '##NAAM##', lbezoek), '##KEY##', NUMBER_TO_CHAR (p_afspraak_key)),
|
||||
'##DATUM##',
|
||||
DATE_TO_CHAR (lafspraak_datum, 'DD-MM-YY HH24:MI')
|
||||
);
|
||||
END IF;
|
||||
RETURN s;
|
||||
|
||||
END;
|
||||
END bez;
|
||||
/
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
237
BEZ/BEZ_TRI.SRC
237
BEZ/BEZ_TRI.SRC
@@ -1,7 +1,7 @@
|
||||
#ifdef BEZ // 03-11-2000 PF
|
||||
|
||||
/* $Revision: 28 $
|
||||
* $Modtime: 27-02-08 14:33 $
|
||||
/* $Revision: 29 $
|
||||
* $Modtime: 30-11-09 15:35 $
|
||||
*/
|
||||
|
||||
#include "comsql.h"
|
||||
@@ -16,39 +16,18 @@ BEGIN
|
||||
dummy := :new.bez_afspraak_key;
|
||||
|
||||
IF :new.bez_afspraak_contact_key IS NULL AND :new.prs_perslid_key IS NOT NULL THEN
|
||||
#ifdef MS_SQL
|
||||
update bez_afspraak set bez_afspraak_contact_key = prs_perslid_key
|
||||
where bez_afspraak_key = @new__bez_afspraak_key;
|
||||
#else
|
||||
:new.bez_afspraak_contact_key := :new.prs_perslid_key;
|
||||
#endif
|
||||
END IF;
|
||||
|
||||
IF :new.bez_afspraak_host_key IS NULL AND :new.bez_afspraak_gastheer IS NULL THEN
|
||||
#ifdef MS_SQL
|
||||
update bez_afspraak set bez_afspraak_host_key = bez_afspraak_contact_key
|
||||
where bez_afspraak_key = @new__bez_afspraak_key;
|
||||
#else
|
||||
:new.bez_afspraak_host_key := :new.bez_afspraak_contact_key;
|
||||
#endif
|
||||
END IF;
|
||||
IF :new.bez_afspraak_host_key IS NOT NULL THEN
|
||||
#ifdef MS_SQL
|
||||
update bez_afspraak set bez_afspraak_gastheer =
|
||||
(select SUBSTRING(prs_perslid_naam_full,1,50) FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key=:new.bez_afspraak_host_key)
|
||||
where bez_afspraak_key = @new__bez_afspraak_key;
|
||||
#else
|
||||
SELECT SUBSTR(prs_perslid_naam_full,1,50)
|
||||
INTO :new.bez_afspraak_gastheer FROM prs_v_perslid_fullnames_all
|
||||
WHERE prs_perslid_key=:new.bez_afspraak_host_key;
|
||||
#endif
|
||||
END IF;
|
||||
IF :new.alg_onrgoed_keys IS NOT NULL THEN
|
||||
#ifdef MS_SQL
|
||||
update bez_afspraak set bez_afspraak_ruimte =
|
||||
(select SUBSTRING(alg_plaatsaanduiding,1,30) FROM alg_v_plaatsaanduiding_all WHERE alg_onroerendgoed_keys=:new.alg_onrgoed_keys)
|
||||
where bez_afspraak_key = @new__bez_afspraak_key;
|
||||
#else
|
||||
BEGIN
|
||||
SELECT SUBSTR (alg_plaatsaanduiding, 1, 30)
|
||||
INTO :NEW.bez_afspraak_ruimte
|
||||
@@ -59,7 +38,6 @@ BEGIN
|
||||
THEN
|
||||
:NEW.bez_afspraak_ruimte := SUBSTR ('*' || :NEW.bez_afspraak_ruimte, 1, 30);
|
||||
END;
|
||||
#endif
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
@@ -89,103 +67,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
// Uitgangspunt: we notificeren op Afspraak, niet op bezoeker als het gaat om aanmelding etc
|
||||
// We notificeren alleen op bezoeker als het gaat om binnenkomen en weggaan.
|
||||
// Er is slechts 1 zo een notificatie per afspraak, bij nieuw weet je nog niets van de bezoekers
|
||||
CREATE_TRIGGER(bez_t_notificatie_afspraak)
|
||||
AFTER INSERT OR UPDATE
|
||||
ON bez_afspraak
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE
|
||||
soms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||
scode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
lbezoek VARCHAR2 (50);
|
||||
lreceiver prs_perslid.prs_perslid_key%TYPE;
|
||||
lsender fac_notificatie.fac_notificatie_sender_email%TYPE;
|
||||
BEGIN
|
||||
-- Alleen registratie van globale mutaties; per bezoeker wordt ook genotificeerd
|
||||
-- Er is niet noodzakelijk iets gewijzigd, maar we notificeren wel
|
||||
-- (er is immers een update), zodat de namen van de bezoekers
|
||||
-- kunnen worden getoond.
|
||||
-- De noticaties gaat naar de contactpersoon
|
||||
|
||||
-- Voor bezoekrersafspraken bij een reservering notificeren we NIET
|
||||
IF :NEW.res_rsv_ruimte_key IS NOT NULL
|
||||
THEN
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
scode := 'BEZMUT';
|
||||
|
||||
IF scode IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT sn.fac_srtnotificatie_oms
|
||||
INTO soms
|
||||
FROM fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code = scode
|
||||
AND sn.fac_srtnotificatie_mode > 0;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- Nothing to do
|
||||
RETURN;
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
SELECT MIN(bez_afspraak_naam || DECODE ((SELECT COUNT (*)
|
||||
FROM bez_bezoekers
|
||||
WHERE bez_afspraak_key = :NEW.bez_afspraak_key), 1, '', ' c.s.'))
|
||||
INTO lbezoek
|
||||
FROM bez_bezoekers
|
||||
WHERE bez_afspraak_key = :NEW.bez_afspraak_key;
|
||||
|
||||
-- We support substitution of placeholders in the messages
|
||||
-- ##KEY## = afspraaknummer
|
||||
-- ##NAAM## = volledige naam van de bezoeker
|
||||
IF INSTR2(soms, '#') > 0
|
||||
THEN
|
||||
soms :=
|
||||
REPLACE (REPLACE (REPLACE (soms, '##NAAM##', lbezoek), '##KEY##', NUMBER_TO_CHAR (:NEW.bez_afspraak_key)),
|
||||
'##DATUM##',
|
||||
DATE_TO_CHAR (:NEW.bez_afspraak_datum, 'DD-MM-YY HH24:MI')
|
||||
);
|
||||
END IF;
|
||||
BEGIN
|
||||
SELECT l.alg_locatie_email
|
||||
INTO lsender
|
||||
FROM alg_locatie l
|
||||
WHERE l.alg_locatie_key = :new.alg_locatie_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
lsender := NULL;
|
||||
END;
|
||||
|
||||
fac.clrnotifications(scode, :NEW.bez_afspraak_key);
|
||||
fac.putnotificationsrtprio (:NEW.prs_perslid_key,
|
||||
:NEW.bez_afspraak_contact_key,
|
||||
scode,
|
||||
:NEW.bez_afspraak_key,
|
||||
soms,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
2,
|
||||
lsender
|
||||
);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.clrnotifications (scode, :NEW.bez_afspraak_key);
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bez_t_notificatie_afspraak_d)
|
||||
AFTER DELETE
|
||||
ON bez_afspraak
|
||||
@@ -195,118 +76,4 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
// Geen notificaties bij inserten van een bezoeker,het gaat immers alleen om binnen/buitenmelding
|
||||
// Zou je het wel bij inserten doen, dan levert dit ongewenste spooknotificaties op bij uitbreiding van
|
||||
// deels al binnen/buitengemeld bezoek (UWVA#13607)!
|
||||
CREATE_TRIGGER(bez_t_notificatie_bezoekers)
|
||||
AFTER UPDATE
|
||||
ON bez_bezoekers
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE
|
||||
soms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||
soms2 fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||
scode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
scode2 fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
lbezoek bez_bezoekers.bez_afspraak_naam%TYPE;
|
||||
lreceiver prs_perslid.prs_perslid_key%TYPE;
|
||||
lreceiver2 prs_perslid.prs_perslid_key%TYPE;
|
||||
lalglocatiekey bez_afspraak.alg_locatie_key%TYPE;
|
||||
lsender fac_notificatie.fac_notificatie_sender_email%TYPE;
|
||||
ldatum DATE;
|
||||
BEGIN
|
||||
SELECT bez_afspraak_host_key, bez_afspraak_contact_key, bez_afspraak_datum, alg_locatie_key
|
||||
INTO lreceiver, lreceiver2, ldatum, lalglocatiekey
|
||||
FROM bez_afspraak
|
||||
WHERE bez_afspraak_key = :NEW.bez_afspraak_key;
|
||||
|
||||
-- Geen notificatie van wijzigingen als afspraak onder een reservering hangt;
|
||||
-- Die reservering notificeert dan (meestal) wel
|
||||
IF :OLD.bez_bezoekers_done IS NULL AND :NEW.bez_bezoekers_done IS NOT NULL
|
||||
THEN
|
||||
scode := 'BEZDON';
|
||||
scode2 := 'BEZDO2';
|
||||
ldatum := :NEW.bez_bezoekers_done;
|
||||
ELSIF :OLD.bez_bezoekers_out IS NULL AND :NEW.bez_bezoekers_out IS NOT NULL
|
||||
THEN
|
||||
scode := 'BEZOUT';
|
||||
scode2 := 'BEZOU2';
|
||||
ldatum := :NEW.bez_bezoekers_out;
|
||||
ELSE
|
||||
-- update komt eigenlijk niet voor (vanuit de GUI), want er wordt altijd delete+insert uitgevoerd
|
||||
scode := 'BEZUPD';
|
||||
END IF;
|
||||
|
||||
IF scode IS NOT NULL OR scode2 IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT sn.fac_srtnotificatie_oms
|
||||
INTO soms
|
||||
FROM fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code = scode AND sn.fac_srtnotificatie_mode > 0;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- Nothing to do
|
||||
NULL;
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
SELECT sn.fac_srtnotificatie_oms
|
||||
INTO soms2
|
||||
FROM fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code = scode2 AND sn.fac_srtnotificatie_mode > 0;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- Nothing to do
|
||||
NULL;
|
||||
END;
|
||||
|
||||
-- We support substitution of placeholders in the messages
|
||||
-- ##KEY## = ins_srtdiscipline_prefix+key+/+volgnr
|
||||
-- ##NAAM## = volledige naam van de afmelder
|
||||
IF (soms IS NOT NULL OR soms2 IS NOT NULL) AND (INSTR2(soms, '#') > 0 OR INSTR2(soms2, '#') > 0)
|
||||
THEN
|
||||
lbezoek := :NEW.bez_afspraak_naam;
|
||||
soms :=
|
||||
REPLACE (REPLACE (REPLACE (soms, '##NAAM##', lbezoek), '##KEY##', TO_CHAR (:NEW.bez_afspraak_key)),
|
||||
'##DATUM##',
|
||||
DATE_TO_CHAR (ldatum, 'DD-MM-YY HH24:MI')
|
||||
);
|
||||
soms2 :=
|
||||
REPLACE (REPLACE (REPLACE (soms2, '##NAAM##', lbezoek), '##KEY##', TO_CHAR (:NEW.bez_afspraak_key)),
|
||||
'##DATUM##',
|
||||
DATE_TO_CHAR (ldatum, 'DD-MM-YY HH24:MI')
|
||||
);
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
SELECT l.alg_locatie_email
|
||||
INTO lsender
|
||||
FROM alg_locatie l
|
||||
WHERE l.alg_locatie_key = lalglocatiekey;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
lsender := NULL;
|
||||
END;
|
||||
|
||||
-- We would like to prevent notifications if we are the one that causes this
|
||||
-- But we do not know what user we are, so we do not prevent it.
|
||||
IF soms IS NOT NULL
|
||||
THEN
|
||||
fac.putnotificationsrtprio (NULL, lreceiver, scode, :NEW.bez_afspraak_key, soms, NULL, NULL, NULL, NULL, 2, lsender);
|
||||
END IF;
|
||||
|
||||
IF soms2 IS NOT NULL
|
||||
THEN
|
||||
fac.putnotificationsrtprio (NULL, lreceiver2, scode2, :NEW.bez_afspraak_key, soms2, NULL, NULL, NULL, NULL, 2, lsender);
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifdef FAC // 13-03-96 AH
|
||||
|
||||
/* $Revision: 417 $
|
||||
* $Modtime: 7-12-09 13:07 $
|
||||
/* $Revision: 418 $
|
||||
* $Modtime: 9-12-09 18:23 $
|
||||
*/
|
||||
|
||||
#include "comsql.h"
|
||||
@@ -1903,10 +1903,11 @@ DEF_FAC_SRTNOT('MLDBWD', 0, 'Uw melding ##KEY## (##DISC##/##STDMLD##) is terugge
|
||||
DEF_FAC_SRTNOT('MLDBEH', 0, 'Uw melding ##KEY## (##DISC##/##STDMLD##) heeft andere behandelaar', 'mld/mld_melding.asp?mld_key=', '0', 'melding');
|
||||
|
||||
-- noot: ##KEY## = meldingkey/volgnr
|
||||
DEF_FAC_SRTNOT('ORDAFM', 1, 'Uw opdracht ##KEY## is gereed gemeld door ##NAAM##', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht');
|
||||
-- bericht aan uitvoerende
|
||||
DEF_FAC_SRTNOT('ORDMLI', 4, '##PLAATS##: ##SPOED##Opdracht ##KEY## (##STDMLD##) is aan u toegewezen', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht');
|
||||
DEF_FAC_SRTNOT('ORDMLE', 2, '##SPOED##Opdracht ##KEY## (##DISC##/##STDMLD##) is aan u toegewezen', '', '0', 'opdracht');
|
||||
|
||||
DEF_FAC_SRTNOT('ORDMLE', 2, '##SPOED##Opdracht ##KEY## (##DISC##/##STDMLD##) is aan u toegewezen', '', '0', 'opdracht');
|
||||
-- bericht naar interne contactpersoon
|
||||
DEF_FAC_SRTNOT('ORDAFM', 1, 'Opdracht ##KEY## is gereed gemeld door ##NAAM##', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht');
|
||||
DEF_FAC_SRTNOT('ORDNEW', 0, 'Opdracht ##KEY## is aangemaakt', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht');
|
||||
DEF_FAC_SRTNOT('ORDFIA', 0, 'Opdracht ##KEY## is ter fiattering aangeboden aan ##FIATTEUR##', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht');
|
||||
DEF_FAC_SRTNOT('ORDFOK', 0, 'Opdracht ##KEY## is gefiatteerd', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht');
|
||||
@@ -1921,11 +1922,10 @@ DEF_FAC_SRTNOT('PRSINF', 2, '*beschikbaar tbv persoonsafhankelijke notificatiejo
|
||||
|
||||
DEF_FAC_SRTNOT('RESNEW', 1, 'Uw reservering ##KEY## (##DESC##) is geregistreerd', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
DEF_FAC_SRTNOT('RESUPD', 1, 'Uw reservering ##KEY## (##DESC##) is aangepast', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
//DEF_FAC_SRTNOT('RESUP2', 1, 'Voorzieningen van uw reservering ##KEY## (##DESC##) zijn aangepast', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
DEF_FAC_SRTNOT('RESAFM', 0, 'Uw reservering ##KEY## (##DESC##) is afgemeld', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
DEF_FAC_SRTNOT('RESBEV', 1, 'Uw reservering ##KEY## (##DESC##) is nu definitief', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
DEF_FAC_SRTNOT('RESDEL', 9, 'Uw reservering ##KEY## (##DESC##) is vervallen', '', '0', 'reservering');
|
||||
DEF_FAC_SRTNOT('RESOPT', 1, 'Uw reservering ##KEY## (##DESC##) is in optie gezet', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
DEF_FAC_SRTNOT('RESOPT', 0, 'Uw reservering ##KEY## (##DESC##) is in optie gezet', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
DEF_FAC_SRTNOT('RESVER', 0, 'Uw reservering ##KEY## (##DESC##) is geheel verwerkt', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
DEF_FAC_SRTNOT('RESINF', 3, 'Uw reservering op ##KEY## (##DESC##) moet bevestigd worden', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
|
||||
|
||||
@@ -2233,8 +2233,8 @@ DEF_MENUKOP(0, 'lcl_menu_fe_other');
|
||||
DEF_MENUITEM(0, 'lcl_menu_faq_kennisbank_fe' , '', 'FAC', 'appl/fac/fac_faq_search.asp?urole=fe', 0, 0, 'WEB_MLDUSE', 'R', '0');
|
||||
DEF_MENUITEM(0, 'lcl_menu_prs_phonebook' , '', 'PRS', 'appl/prs/prs_phonebook.asp', 0, 0, 'WEB_PHONEB', 'R', '1');
|
||||
DEF_MENUITEM(0, 'lcl_menu_obj_fe_haltewerkzaam' , '', 'MLD', 'appl/mld/splace_activities.asp', 0, 0, 'WEB_INSUSE', 'W', '0');
|
||||
//DEF_MENUITEM(0, 'lcl_menu_prs_bezittingen' , '', 'PRS', 'appl/PersObjects/PersSearch.asp', 0, 0, 'WEB_PRSOBJ', 'R', '1');
|
||||
DEF_MENUITEM(0, 'lcl_menu_fac_fiattering' , '', 'FAC', 'appl/fac/fac_fiattering_list.asp', 0, 0, 'WEB_MLDUSE', 'R', '1'); /* autorisatie?*/
|
||||
DEF_MENUITEM(0, 'lcl_menu_fe_myinfo' , '', 'FAC', 'appl/fac/fac_user_info.asp', 0, 0, 'WEB_PROFIL', 'R', '1');
|
||||
|
||||
|
||||
// ==================================== PROFESSIONAL OPTIES =======================================
|
||||
@@ -2253,21 +2253,23 @@ DEF_MENUITEM(1, 'lcl_menu_ins_fo' , '', 'INS', 'appl/ins/ins_searc
|
||||
DEF_MENUITEM(1, 'lcl_menu_bes_fo_overzicht' , '', 'BES', 'appl/bes/bes_search.asp?urole=fo', 0, 0, 'WEB_BESFOF', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_bes_fo_1' , '', 'BES', 'appl/bes/bes_bestelling.asp?urole=fo', 0, 1, 'WEB_BESFOF', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_bes_fo_2' , '', 'BES', 'appl/bes/bes_bestelling.asp?urole=fo', 0, 0, 'WEB_BESFOF', 'W', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_sleutels' , '', 'SLE', 'appl/sle/sleutel_search.asp?fronto=1', 0, 0, 'WEB_SLEFOF', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_cilinders' , '', 'SLE', 'appl/sle/cilinder_search.asp?fronto=1', 0, 0, 'WEB_SLEFOF', 'W', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_toegangwie' , '', 'SLE', 'appl/sle/toegang_wie.asp?fronto=1', 0, 0, 'WEB_SLEFOF', 'R', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_toegangwaar' , '', 'SLE', 'appl/sle/toegang_waar.asp?fronto=1', 0, 0, 'WEB_SLEFOF', 'R', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_sleutels' , '', 'SLE', 'appl/sle/sleutel_search.asp?urole=fo', 0, 0, 'WEB_SLEFOF', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_cilinders' , '', 'SLE', 'appl/sle/cilinder_search.asp?urole=fo', 0, 0, 'WEB_SLEFOF', 'W', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_toegangwie' , '', 'SLE', 'appl/sle/toegang_wie.asp?urole=fo', 0, 0, 'WEB_SLEFOF', 'R', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_toegangwaar' , '', 'SLE', 'appl/sle/toegang_waar.asp?urole=fo', 0, 0, 'WEB_SLEFOF', 'R', '0');
|
||||
|
||||
DEF_MENUKOP(1, 'lcl_bo');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_call_center' , '', 'MLD', 'appl/mld/mld_search.asp?urole=bo', 0, 0, 'WEB_MLDBOF', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_close ' , '', 'MLD', 'appl/mld/mld_search.asp?close=1', 0, 0, 'WEB_MLDBO2', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_accept' , '', 'MLD', 'appl/mld/mld_search.asp?accept=1', 0, 0, 'WEB_MLDBO3', 'R', '1');
|
||||
// WEB_MLDORD is autorisatie voor interne uitvoerders om eigen opdrachten te mogen afmelden
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_mijnopdrachte' , '', 'MLD', 'appl/mld/opdr_search.asp?urole=fe', 0, 0, 'WEB_MLDORD', 'W', '1');
|
||||
// WEB_ORDBO2 is BO-recht om opdrachten binnen de scope af te mogen melden
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_afmeldenopdra' , '', 'MLD', 'appl/mld/opdr_search.asp?urole=bo', 0, 0, 'WEB_ORDBO2', 'W', '1');
|
||||
// WEB_ORDBOF is alles moet opdrachten te kunnen doen
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_mijnopdrachte' , '', 'MLD', 'appl/mld/opdr_search.asp?urole=fe', 0, 0, 'WEB_MLDORD', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_afmeldenopdra' , '', 'MLD', 'appl/mld/opdr_search.asp?urole=b2', 0, 0, 'WEB_ORDBO2', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_opdracht' , '', 'MLD', 'appl/mld/opdr_search.asp?urole=bo', 0, 0, 'WEB_ORDBOF', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_notes' , '', 'MLD', 'appl/mld/mld_show_note.asp?urole=bo', 0, 0, 'WEB_MLDBOF', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_mld_bo_close_orders' , '', 'MLD', 'appl/mld/ord_search.asp?close_only=1', 0, 0, 'WEB_ORDFOF', 'R', '1');
|
||||
|
||||
DEF_MENUITEM(1, 'lcl_menu_res_bo' , '', 'RES', 'appl/res/res_search.asp?urole=bo', 0, 0, 'WEB_RESBOF', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_bez_bo' , '', 'BEZ', 'appl/bez/bez_search.asp?urole=bo', 0, 0, 'WEB_BEZBOF', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_bes_bo_aanvraag_overz', '', 'BES', 'appl/bes/bes_search.asp?urole=bo', 0, 0, 'WEB_BESBOF', 'R', '1');
|
||||
@@ -2307,10 +2309,10 @@ DEF_MENUITEM(1, 'lcl_menu_ins_bo_use' , '', 'INS', 'appl/ins/ins_searc
|
||||
DEF_MENUITEM(1, 'lcl_menu_prs_bedrijf' , '', 'PRS', 'appl/prs/prs_bedrijf_search.asp', 0, 0, 'WEB_RELMAN', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_cnt_bo' , '', 'CNT', 'appl/cnt/cnt_search.asp?urole=bo', 0, 0, 'WEB_CNTMAN', 'R', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_fac_reports' , '', 'FAC', 'appl/fac/fac_usrrap.asp', 0, 0, 'WEB_USRRAP', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_sleutels' , '', 'SLE', 'appl/sle/sleutel_search.asp?backo=1', 0, 0, 'WEB_SLEBOF', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_cilinders' , '', 'SLE', 'appl/sle/cilinder_search.asp?backo=1', 0, 0, 'WEB_SLEBOF', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_toegangwie' , '', 'SLE', 'appl/sle/toegang_wie.asp?backo=1', 0, 0, 'WEB_SLEBOF', 'R', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_toegangwaar' , '', 'SLE', 'appl/sle/toegang_waar.asp?backo=1', 0, 0, 'WEB_SLEBOF', 'R', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_sleutels' , '', 'SLE', 'appl/sle/sleutel_search.asp?urole=bo', 0, 0, 'WEB_SLEBOF', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_cilinders' , '', 'SLE', 'appl/sle/cilinder_search.asp?urole=bo', 0, 0, 'WEB_SLEBOF', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_toegangwie' , '', 'SLE', 'appl/sle/toegang_wie.asp?urole=bo', 0, 0, 'WEB_SLEBOF', 'R', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_sle_toegangwaar' , '', 'SLE', 'appl/sle/toegang_waar.asp?urole=bo', 0, 0, 'WEB_SLEBOF', 'R', '0');
|
||||
DEF_MENUITEM(1, 'lcl_menu_ins_verbruik' , '', 'INS', 'appl/ins/consum_reg.asp', 0, 0, 'WEB_INSUSE', 'W', '1');
|
||||
DEF_MENUITEM(1, 'lcl_menu_cnt_huurregister' , '', 'CNT', 'appl/cnt/cnt_huurmut_search.asp', 0, 0, 'WEB_CNTMAN', 'W', '1'); /*R?*/
|
||||
// Te bereiken via bedrijf DEF_MENUITEM(1, 'lcl_menu_prs_diensten' , '', 'PRS', 'appl/prs/dienst_search.asp', 0, 0, 'WEB_RELMAN', 'W', '1');
|
||||
|
||||
181
FAC/FAC_PAC.SRC
181
FAC/FAC_PAC.SRC
@@ -1,6 +1,6 @@
|
||||
#ifdef FAC
|
||||
/* $Revision: 170 $
|
||||
* $Modtime: 4-12-09 10:08 $
|
||||
/* $Revision: 171 $
|
||||
* $Modtime: 8-12-09 15:00 $
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -2438,6 +2438,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
AS
|
||||
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
|
||||
lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
lcode2 fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
loms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||
bericht fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||
lreceiver fac_notificatie.prs_perslid_key_receiver%TYPE;
|
||||
@@ -2478,6 +2479,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
|
||||
|
||||
-- welk type?
|
||||
SELECT fac_srtnotificatie_xmlnode, fac_srtnotificatie_code, fac_srtnotificatie_oms
|
||||
INTO lxmlnode, lcode, loms
|
||||
@@ -2490,25 +2492,36 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
THEN
|
||||
IF ptracking_oms IS NULL
|
||||
THEN
|
||||
bericht := mld.mldsprintf(loms, prefkey);
|
||||
bericht := mld.mldsprintf (loms, prefkey);
|
||||
END IF;
|
||||
|
||||
-- basisgegevens, de ontvanger enzo
|
||||
SELECT m.prs_perslid_key, m.mld_stdmelding_key, m.mld_adres_key, m.mld_alg_locatie_key,
|
||||
mld_disc_params_notify, stdm.mld_stdmelding_notify, d.ins_discipline_email
|
||||
INTO lreceiver, lmld_stdmelding_key, lmld_adres_key, lalglocatiekey,
|
||||
lnotify, lmnotify, lsender
|
||||
FROM mld_melding m, mld_stdmelding stdm, ins_tab_discipline d, mld_disc_params mp
|
||||
WHERE stdm.mld_stdmelding_key = m.mld_stdmelding_key
|
||||
AND d.ins_discipline_key = stdm.mld_ins_discipline_key
|
||||
AND mp.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND m.mld_melding_key = prefkey;
|
||||
SELECT m.prs_perslid_key,
|
||||
m.mld_stdmelding_key,
|
||||
m.mld_adres_key,
|
||||
m.mld_alg_locatie_key,
|
||||
mld_disc_params_notify,
|
||||
stdm.mld_stdmelding_notify,
|
||||
d.ins_discipline_email
|
||||
INTO lreceiver,
|
||||
lmld_stdmelding_key,
|
||||
lmld_adres_key,
|
||||
lalglocatiekey,
|
||||
lnotify,
|
||||
lmnotify,
|
||||
lsender
|
||||
FROM mld_melding m, mld_stdmelding stdm, ins_tab_discipline d, mld_disc_params mp
|
||||
WHERE stdm.mld_stdmelding_key = m.mld_stdmelding_key
|
||||
AND d.ins_discipline_key = stdm.mld_ins_discipline_key
|
||||
AND mp.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND m.mld_melding_key = prefkey;
|
||||
|
||||
-- Deze notificatie gaat over een melding. Meldingen worden eventueel niet genotificeerd als
|
||||
-- settings daartoe aanleiding geven. We weten genoeg om te checken of dat zo is
|
||||
IF (lnotify = 0 OR (lnotify = 2 AND lmnotify = 0))
|
||||
THEN
|
||||
-- Nothing to do: disc says no OR disc says: see stdmelding and stdmelding says no
|
||||
RETURN;
|
||||
-- Nothing to do: disc says no OR disc says: see stdmelding and stdmelding says no
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
IF lsender IS NULL
|
||||
@@ -2516,58 +2529,73 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
-- (kennelijk) is de verantwoordelijke voor van het afleveradres iets sterker of zo
|
||||
IF lmld_adres_key IS NOT NULL
|
||||
THEN
|
||||
SELECT l1.alg_locatie_email
|
||||
INTO lsender
|
||||
FROM mld_adres ma, alg_locatie l1
|
||||
WHERE ma.mld_adres_key = lmld_adres_key
|
||||
AND ma.alg_locatie_key = l1.alg_locatie_key(+);
|
||||
END IF;
|
||||
SELECT l1.alg_locatie_email
|
||||
INTO lsender
|
||||
FROM mld_adres ma, alg_locatie l1
|
||||
WHERE ma.mld_adres_key = lmld_adres_key AND ma.alg_locatie_key = l1.alg_locatie_key(+);
|
||||
END IF;
|
||||
|
||||
IF lsender IS NULL AND lalglocatiekey IS NOT NULL -- nog steeds onbekend
|
||||
THEN
|
||||
SELECT l2.alg_locatie_email
|
||||
INTO lsender
|
||||
FROM alg_locatie l2
|
||||
WHERE l2.alg_locatie_key = lalglocatiekey;
|
||||
END IF;
|
||||
IF lsender IS NULL AND lalglocatiekey IS NOT NULL -- nog steeds onbekend
|
||||
THEN
|
||||
SELECT l2.alg_locatie_email
|
||||
INTO lsender
|
||||
FROM alg_locatie l2
|
||||
WHERE l2.alg_locatie_key = lalglocatiekey;
|
||||
END IF;
|
||||
END IF;
|
||||
WHEN 'opdracht'
|
||||
THEN
|
||||
IF ptracking_oms IS NULL
|
||||
THEN
|
||||
bericht := mld.opdrsprintf(loms, prefkey);
|
||||
bericht := mld.opdrsprintf (loms, prefkey);
|
||||
END IF;
|
||||
-- In 4i notificeerden we alleen de uitvoerder
|
||||
|
||||
-- In 4i notificeerden we alleen toekenning aan de uitvoerder
|
||||
-- In 5i tracken we veel meer, en is er dus ook de mogelijkheid
|
||||
-- tot notificeren van tracking
|
||||
-- Echter: wie houden we hiervan nou actief op de hoogte? TODO
|
||||
SELECT mld_uitvoerende_keys
|
||||
INTO lreceiver
|
||||
FROM mld_opdr
|
||||
WHERE mld_opdr_key = prefkey;
|
||||
|
||||
SELECT u.TYPE
|
||||
INTO luitvtype
|
||||
FROM mld_v_uitvoerende u
|
||||
WHERE u.mld_uitvoerende_key = lreceiver;
|
||||
|
||||
IF luitvtype = 'B'
|
||||
-- Echter: wie houden we hiervan nou actief op de hoogte?
|
||||
-- Dat wordt de interne contacpersoon van de opdracht
|
||||
-- behalve ORDMLE/ORDMLI, die naar de uitvoerder
|
||||
IF lcode IN ('ORDMLI', 'ORDMLE')
|
||||
THEN
|
||||
-- Het gaat om een externe receiver
|
||||
BEGIN
|
||||
SELECT prs_bedrijf_email, prs_bedrijf_telefoon2
|
||||
INTO lemail, lphone
|
||||
FROM prs_bedrijf
|
||||
WHERE prs_bedrijf_key = lreceiver;
|
||||
-- Hoe komen we derop: nooit op een portal voor externen
|
||||
-- want dan zou iedereen die notificatie zien ivm lege receiver
|
||||
-- dit overrulet dus iedere setting!
|
||||
-- TODO smode := BITAND (smode, 255 - 1);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN;
|
||||
END;
|
||||
SELECT mld_uitvoerende_keys
|
||||
INTO lreceiver
|
||||
FROM mld_opdr
|
||||
WHERE mld_opdr_key = prefkey;
|
||||
|
||||
SELECT u.TYPE
|
||||
INTO luitvtype
|
||||
FROM mld_v_uitvoerende u
|
||||
WHERE u.mld_uitvoerende_key = lreceiver;
|
||||
|
||||
IF luitvtype = 'B'
|
||||
THEN
|
||||
-- Het gaat om een externe receiver
|
||||
BEGIN
|
||||
SELECT prs_bedrijf_email, prs_bedrijf_telefoon2
|
||||
INTO lemail, lphone
|
||||
FROM prs_bedrijf
|
||||
WHERE prs_bedrijf_key = lreceiver;
|
||||
|
||||
-- Nooit op een portal voor externen
|
||||
-- want dan zou iedereen die notificatie zien ivm lege receiver
|
||||
-- dit overrulet dus iedere setting!
|
||||
-- TODO smode := BITAND (smode, 255 - 1);
|
||||
-- voorkom dat er een bericht wordt gestuurd
|
||||
-- aan een perslid_key als deze bedrijf_key
|
||||
lreceiver := NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN;
|
||||
END;
|
||||
END IF;
|
||||
ELSE
|
||||
-- ons contactpersoon krijgt het bericht
|
||||
SELECT prs_perslid_key
|
||||
INTO lreceiver
|
||||
FROM mld_opdr
|
||||
WHERE mld_opdr_key = prefkey;
|
||||
END IF;
|
||||
|
||||
-- de afzender
|
||||
@@ -2598,7 +2626,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
THEN
|
||||
IF ptracking_oms IS NULL
|
||||
THEN
|
||||
bericht := res.sprintf(loms, prefkey);
|
||||
bericht := res.sprintf (loms, prefkey);
|
||||
END IF;
|
||||
|
||||
SELECT res_rsv_ruimte_contact_key, res_ruimte_opstel_key, alg_ruimte_key, res_reservering_key
|
||||
@@ -2653,8 +2681,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
THEN
|
||||
IF ptracking_oms IS NULL
|
||||
THEN
|
||||
bericht := bes.bessprintf(loms, prefkey);
|
||||
bericht := bes.bessprintf (loms, prefkey);
|
||||
END IF;
|
||||
|
||||
SELECT prs_perslid_key, mld_adres_key_lev
|
||||
INTO lreceiver, lmld_adres_key
|
||||
FROM bes_bestelling
|
||||
@@ -2695,8 +2724,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
THEN
|
||||
IF ptracking_oms IS NULL
|
||||
THEN
|
||||
bericht := bes.opdrsprintf(loms, prefkey);
|
||||
bericht := bes.opdrsprintf (loms, prefkey);
|
||||
END IF;
|
||||
|
||||
lreceiver := NULL; -- TODO aanvrager opsnorren
|
||||
|
||||
SELECT prs_bedrijf_key
|
||||
@@ -2749,16 +2779,25 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
THEN
|
||||
IF ptracking_oms IS NULL
|
||||
THEN
|
||||
bericht := bez.sprintf(loms, prefkey);
|
||||
bericht := bez.sprintf (loms, prefkey);
|
||||
END IF;
|
||||
-- TODO: we sturen soms TWEE notificaties, naar contact en host
|
||||
-- Moeten dus kijken of psrtnotificatiekey naar BEZDON of BEZOUT wijst
|
||||
-- Dan moeten we ook BEZDO2 of BEZOU2 versturen.
|
||||
|
||||
SELECT bez_afspraak_host_key, bez_afspraak_contact_key, alg_locatie_key
|
||||
INTO lreceiver, lreceiver2, lalglocatiekey
|
||||
FROM bez_afspraak
|
||||
WHERE bez_afspraak_key = prefkey;
|
||||
|
||||
-- We sturen soms TWEE notificaties, naar contact en host
|
||||
-- Moeten dus kijken of psrtnotificatiekey naar BEZDON of BEZOUT wijst
|
||||
-- Dan moeten we ook BEZDO2 of BEZOU2 versturen.
|
||||
IF lcode = 'BEZDON'
|
||||
THEN
|
||||
lcode2 := 'BEZDO2';
|
||||
ELSIF lcode = 'BEZOUT'
|
||||
THEN
|
||||
lcode2 := 'BEZOU2';
|
||||
END IF;
|
||||
|
||||
-- afzender
|
||||
BEGIN
|
||||
SELECT l.alg_locatie_email
|
||||
@@ -2789,6 +2828,22 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
2,
|
||||
lsender
|
||||
);
|
||||
|
||||
IF lcode2 IS NOT NULL AND lreceiver2 IS NOT NULL
|
||||
THEN
|
||||
fac.putnotificationsrtprio (pperslid_key,
|
||||
lreceiver2,
|
||||
lcode2,
|
||||
lrefkey,
|
||||
bericht,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
lxrefkey,
|
||||
2,
|
||||
lsender
|
||||
);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
|
||||
Reference in New Issue
Block a user