FCLT#88153 prs_perslid_systeemadres deprecated-->technisch adres
svn path=/Database/branches/DB50/; revision=68449
This commit is contained in:
149
FAC/FAC_PAC.SRC
149
FAC/FAC_PAC.SRC
@@ -2293,6 +2293,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
oldersmode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE;
|
||||
susermode fac_srtnotificatie.fac_srtnotificatie_usermode%TYPE;
|
||||
lmode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE;
|
||||
any_tech NUMBER;
|
||||
skey fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
|
||||
l_srtnoti_delay fac_srtnotificatie.fac_srtnotificatie_delay%TYPE;
|
||||
lemail fac_notificatie.fac_notificatie_receiver_email%TYPE;
|
||||
@@ -2340,13 +2341,14 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
NULL;
|
||||
END;
|
||||
END IF;
|
||||
IF smode IS NULL OR smode = 0
|
||||
THEN
|
||||
RETURN; -- Geen kanaal om te notificeren
|
||||
END IF;
|
||||
-- Misschien komt er nog een technisch adres
|
||||
--IF smode IS NULL OR smode = 0
|
||||
--THEN
|
||||
-- RETURN; -- Geen kanaal om te notificeren
|
||||
--END IF;
|
||||
ELSE
|
||||
-- Wel status meegegeven; die is dan vast
|
||||
-- Als status=2 en pcode=xxxMAI, dan moet de mail altijd vertuurd worden.
|
||||
-- Als status=2 en pcode=xxxMAI, dan moet de mail altijd verstuurd worden.
|
||||
smode := poptstatus;
|
||||
IF ((SUBSTR(pcode, -3) = 'MAI' AND poptstatus = 2) OR pcode = 'PRSREG')
|
||||
THEN
|
||||
@@ -2409,59 +2411,70 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
|
||||
IF pbedrijfadreskey IS NULL
|
||||
THEN -- Mogelijk naar technische adressen van het (interne) bedrijf waar deze persoon onder valt
|
||||
FOR bedrijfadresrec
|
||||
IN (SELECT ba.prs_bedrijfadres_key
|
||||
FROM prs_perslid p,
|
||||
prs_v_afdeling aa,
|
||||
prs_bedrijfadres ba,
|
||||
prs_bedrijfadres_srtnoti basrt
|
||||
WHERE p.prs_perslid_key = pto
|
||||
AND aa.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND ba.prs_bedrijf_key = aa.prs_bedrijf_key
|
||||
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
|
||||
AND ba.prs_bedrijfadres_type = 'S' // Systeem notificaties
|
||||
AND basrt.prs_bedrijfadres_key = ba.prs_bedrijfadres_key
|
||||
AND basrt.fac_srtnotificatie_key = skey
|
||||
)
|
||||
LOOP
|
||||
notbefore := SYSDATE;
|
||||
delaymode := fac.safe_to_number(fac.getsetting('noti_delay_mode'));
|
||||
IF delaymode = 1 -- default uit, naar technische adres zonder vertraging
|
||||
THEN
|
||||
notbefore := notbefore + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0);
|
||||
ELSIF delaymode > 1 -- fixed delay
|
||||
THEN
|
||||
notbefore := notbefore + delaymode / 60/ 60/ 24;
|
||||
END IF;
|
||||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||
fac_notificatie_status,
|
||||
prs_perslid_key_sender,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_extrakey,
|
||||
fac_notificatie_prioriteit,
|
||||
fac_notificatie_sender_email,
|
||||
fac_notificatie_lang,
|
||||
fac_notificatie_systeemadres,
|
||||
fac_notificatie_attachments,
|
||||
prs_bedrijfadres_key,
|
||||
fac_notificatie_notbefore)
|
||||
VALUES (skey,
|
||||
0,
|
||||
pfrom,
|
||||
soms,
|
||||
pref,
|
||||
pxref,
|
||||
pprio,
|
||||
psender,
|
||||
llang,
|
||||
lsysteem,
|
||||
pattach,
|
||||
bedrijfadresrec.prs_bedrijfadres_key, -- enige bijzondere, rest gewoon blind doorgeven,
|
||||
notbefore);
|
||||
END LOOP;
|
||||
END IF;
|
||||
FOR bedrijfadresrec
|
||||
IN (SELECT ba.prs_bedrijfadres_key
|
||||
FROM prs_perslid p,
|
||||
prs_v_afdeling_boom aa,
|
||||
prs_bedrijfadres ba,
|
||||
prs_bedrijfadres_srtnoti basrt
|
||||
WHERE p.prs_perslid_key = pto
|
||||
AND BITAND(prs_perslid_flags, 1) = 1 -- System user, voorkomt dat het naar elke user onder dit bedrijf gaat
|
||||
AND prs_perslid_verwijder IS NULL
|
||||
AND aa.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND ba.prs_bedrijf_key = aa.prs_bedrijf_key
|
||||
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
|
||||
AND ba.prs_bedrijfadres_type = 'S' -- Systeem notificaties
|
||||
AND basrt.prs_bedrijfadres_key = ba.prs_bedrijfadres_key
|
||||
AND basrt.fac_srtnotificatie_key = skey
|
||||
)
|
||||
LOOP
|
||||
DBMS_OUTPUT.PUT_LINE('Notify systeembedrijf-adres: ' || bedrijfadresrec.prs_bedrijfadres_key);
|
||||
IF (pto = pfrom) -- Toch maar niet
|
||||
THEN
|
||||
DBMS_OUTPUT.PUT_LINE('Maar ik ga niet naar mezelf terugsturen');
|
||||
CONTINUE;
|
||||
END IF;
|
||||
|
||||
notbefore := SYSDATE;
|
||||
delaymode := fac.safe_to_number(fac.getsetting('noti_delay_mode'));
|
||||
IF delaymode = 1 -- default uit, naar technische adres zonder vertraging
|
||||
THEN
|
||||
notbefore := notbefore + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0);
|
||||
ELSIF delaymode > 1 -- fixed delay
|
||||
THEN
|
||||
notbefore := notbefore + delaymode / 60/ 60/ 24;
|
||||
END IF;
|
||||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||
fac_notificatie_status,
|
||||
prs_perslid_key_sender,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_extrakey,
|
||||
fac_notificatie_prioriteit,
|
||||
fac_notificatie_sender_email,
|
||||
fac_notificatie_lang,
|
||||
fac_notificatie_attachments,
|
||||
prs_bedrijfadres_key,
|
||||
fac_notificatie_notbefore)
|
||||
VALUES (skey, -- deze is eerder al bepaald
|
||||
0, -- nooit via andere opties versturen
|
||||
pfrom,
|
||||
soms,
|
||||
pref,
|
||||
pxref,
|
||||
pprio,
|
||||
psender,
|
||||
llang,
|
||||
pattach,
|
||||
bedrijfadresrec.prs_bedrijfadres_key, -- enige bijzondere, rest gewoon blind doorgeven,
|
||||
notbefore);
|
||||
END LOOP;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF smode IS NULL OR smode = 0
|
||||
THEN
|
||||
RETURN; -- Geen kanaal om te notificeren
|
||||
END IF;
|
||||
|
||||
lmode := smode;
|
||||
@@ -4993,9 +5006,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
FROM fac_tracking ft
|
||||
WHERE ft.fac_tracking_key = ptrackingkey;
|
||||
|
||||
-- als de tracking.prs_perslid_key een systeem contactpersoon is van prs_bedrijf
|
||||
-- dan geen notificatie terugsturen (Arai/van Dorp case)
|
||||
|
||||
-- als de tracking.prs_perslid_key een systeem contactpersoon is van het prs_bedrijf
|
||||
-- dan geen notificatie terugsturen (ARAI/van Dorp case)
|
||||
SELECT COUNT(*)
|
||||
INTO aantal
|
||||
FROM prs_contactpersoon pcp
|
||||
@@ -5004,6 +5016,23 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
AND prs_contactpersoon_systeem = 1;
|
||||
IF aantal > 0
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('NOT sending notification initiated by System contact person');
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
-- als de tracking.prs_perslid_key zelf een system user is en van het prs_bedrijf
|
||||
-- dan ook geen notificatie terugsturen
|
||||
SELECT COUNT(*)
|
||||
INTO aantal
|
||||
FROM prs_perslid p,
|
||||
prs_v_afdeling_boom aa
|
||||
WHERE p.prs_perslid_key = l_perslid_key
|
||||
AND BITAND(p.prs_perslid_flags, 1) = 1 -- System user
|
||||
AND aa.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND aa.prs_bedrijf_key = pbedrijf_key;
|
||||
IF aantal > 0
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('NOT sending notification initiated by System user');
|
||||
RETURN;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
Reference in New Issue
Block a user