CSUN#73611 Is het mogelijk op basis van werkplek wel of geen melding te versturen?
svn path=/Customer/trunk/; revision=56840
This commit is contained in:
337
CSUN/CSUN.sql
337
CSUN/CSUN.sql
@@ -7,7 +7,7 @@
|
||||
DEFINE thisfile = 'CSUN.SQL'
|
||||
DEFINE dbuser = 'CSUN'
|
||||
|
||||
SET ECHO ON
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||||
@@ -548,81 +548,113 @@ END;
|
||||
|
||||
-- Wanneer de Politie Haaglanden gekoppeld kan worden aan een melding (via werkplek) moet de notificatie NIET naar andere personen met een werkplek op die locatie.
|
||||
CREATE OR REPLACE PROCEDURE csun_export_mailnoti (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT DISTINCT x.mld_melding_key, DECODE (count (haaglanden) OVER (PARTITION BY mld_melding_key), 1, 'Politie.Haaglanden@csu.nl', x.prs_perslid_email) prs_perslid_email
|
||||
FROM
|
||||
(SELECT DISTINCT mld_melding_key, prs_perslid_email, DECODE (UPPER (prs_perslid_email), 'POLITIE.HAAGLANDEN@CSU.NL', 1, NULL) haaglanden
|
||||
FROM (SELECT m.mld_melding_key,
|
||||
alg_onrgoedkenmerk_waarde prs_perslid_email,
|
||||
mld_melding_status,
|
||||
mld_stdmelding_key
|
||||
FROM mld_melding m,
|
||||
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde
|
||||
FROM alg_onrgoedkenmerk aogk
|
||||
WHERE alg_kenmerk_key = 1260) lse
|
||||
WHERE m.mld_alg_locatie_key = lse.alg_onrgoed_key
|
||||
AND m.mld_stdmelding_key != 41 -- ontvangen berichten
|
||||
UNION ALL
|
||||
SELECT m.mld_melding_key, prs_perslid_email, mld_melding_status, mld_stdmelding_key
|
||||
FROM prs_perslid p,
|
||||
mld_melding m,
|
||||
alg_locatie l,
|
||||
alg_locatie l2,
|
||||
prs_v_perslidwerkplek_gegevens pwpg,
|
||||
prs_kenmerklink kl
|
||||
WHERE m.mld_alg_locatie_key = l.alg_locatie_key
|
||||
AND m.mld_stdmelding_key != 41 -- ontvangen berichten
|
||||
AND pwpg.alg_locatie_key = l2.alg_locatie_key
|
||||
AND l.alg_district_key = l2.alg_district_key
|
||||
AND pwpg.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_srtperslid_key = 32 -- BBer
|
||||
AND prs_kenmerk_key = 1100 -- notificatie enable vinkje
|
||||
AND fac.safe_to_number (prs_kenmerklink_waarde) = 1
|
||||
AND kl.prs_link_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_email IS NOT NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
UNION ALL
|
||||
SELECT m.mld_melding_key, prs_perslid_email, mld_melding_status, mld_stdmelding_key
|
||||
FROM prs_perslid p,
|
||||
mld_melding m,
|
||||
prs_v_perslidwerkplek_gegevens pwpg,
|
||||
prs_kenmerklink kl
|
||||
WHERE m.mld_stdmelding_key != 41 -- ontvangen berichten
|
||||
AND pwpg.alg_locatie_key = m.mld_alg_locatie_key
|
||||
AND pwpg.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_srtperslid_key IN (4041, 50) -- Objectleider en Rayonleider
|
||||
AND prs_kenmerk_key = 1100 -- notificatie enable vinkje
|
||||
AND fac.safe_to_number (prs_kenmerklink_waarde) = 1
|
||||
AND kl.prs_link_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_email IS NOT NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
) g
|
||||
WHERE g.mld_melding_status IN (2, 3, 4, 7) -- Ivm CSUN#59537 moet deze notificatie ook pas wanneer deze bij Backoffice staat (status 2/3/4/7) ipv alleen nog in planning bij Frontoffice (status 0)
|
||||
AND mld_stdmelding_key NOT IN (SELECT mld_stdmelding_key
|
||||
FROM mld_stdmelding
|
||||
WHERE mld_stdmeldinggroep_key = 1) -- Geen notificatie
|
||||
AND NOT EXISTS
|
||||
(SELECT ft.fac_tracking_key
|
||||
FROM ( SELECT MAX (fac_tracking_key) fac_tracking_key
|
||||
FROM fac_tracking t
|
||||
WHERE ( (fac_tracking_oms LIKE 'Gemaild naar BBer:%'
|
||||
AND fac_srtnotificatie_key = 111) -- MLDMAI
|
||||
OR (UPPER (fac_tracking_oms) LIKE '%PLAATS:%'
|
||||
AND fac_srtnotificatie_key = 41)) -- MLDUPD
|
||||
GROUP BY fac_tracking_refkey) ot,
|
||||
fac_tracking ft
|
||||
WHERE ot.fac_tracking_key = ft.fac_tracking_key
|
||||
AND ft.fac_srtnotificatie_key = 111
|
||||
AND ft.fac_tracking_refkey = g.mld_melding_key)) x;
|
||||
CURSOR c IS
|
||||
SELECT DISTINCT
|
||||
x.mld_melding_key,
|
||||
DECODE (
|
||||
COUNT (haaglanden) OVER (PARTITION BY mld_melding_key),
|
||||
1, 'Politie.Haaglanden@csu.nl',
|
||||
x.prs_perslid_email) prs_perslid_email
|
||||
FROM (SELECT DISTINCT
|
||||
mld_melding_key,
|
||||
prs_perslid_email,
|
||||
DECODE (UPPER (prs_perslid_email),
|
||||
'POLITIE.HAAGLANDEN@CSU.NL', 1,
|
||||
NULL) haaglanden
|
||||
FROM (SELECT m.mld_melding_key,
|
||||
alg_onrgoedkenmerk_waarde
|
||||
prs_perslid_email,
|
||||
mld_melding_status,
|
||||
mld_stdmelding_key
|
||||
FROM mld_melding m,
|
||||
(SELECT alg_onrgoed_key,
|
||||
alg_onrgoedkenmerk_waarde
|
||||
FROM alg_onrgoedkenmerk aogk
|
||||
WHERE alg_kenmerk_key = 1260) lse
|
||||
WHERE m.mld_alg_locatie_key =
|
||||
lse.alg_onrgoed_key
|
||||
AND m.mld_stdmelding_key != 41 -- ontvangen berichten
|
||||
UNION ALL
|
||||
SELECT m.mld_melding_key,
|
||||
prs_perslid_email,
|
||||
mld_melding_status,
|
||||
mld_stdmelding_key
|
||||
FROM prs_perslid p,
|
||||
mld_melding m,
|
||||
alg_locatie l,
|
||||
alg_locatie l2,
|
||||
prs_v_perslidwerkplek_gegevens pwpg,
|
||||
prs_kenmerklink kl
|
||||
WHERE m.mld_alg_locatie_key = l.alg_locatie_key
|
||||
AND m.mld_stdmelding_key != 41 -- ontvangen berichten
|
||||
AND pwpg.alg_locatie_key = l2.alg_locatie_key
|
||||
AND l.alg_district_key = l2.alg_district_key
|
||||
AND pwpg.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_srtperslid_key = 32 -- BBer
|
||||
AND prs_kenmerk_key = 1100 -- notificatie enable vinkje
|
||||
AND fac.safe_to_number (
|
||||
prs_kenmerklink_waarde) =
|
||||
1
|
||||
AND kl.prs_link_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_email IS NOT NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
UNION ALL
|
||||
SELECT m.mld_melding_key,
|
||||
prs_perslid_email,
|
||||
mld_melding_status,
|
||||
mld_stdmelding_key
|
||||
FROM prs_perslid p,
|
||||
mld_melding m,
|
||||
prs_v_perslidwerkplek_gegevens pwpg,
|
||||
prs_kenmerklink kl
|
||||
WHERE m.mld_stdmelding_key != 41 -- ontvangen berichten
|
||||
AND pwpg.alg_locatie_key =
|
||||
m.mld_alg_locatie_key
|
||||
AND pwpg.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_srtperslid_key IN (4041, 50) -- Objectleider en Rayonleider
|
||||
AND prs_kenmerk_key = 1100 -- notificatie enable vinkje
|
||||
AND fac.safe_to_number (
|
||||
prs_kenmerklink_waarde) =
|
||||
1
|
||||
AND kl.prs_link_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_email IS NOT NULL
|
||||
AND p.prs_perslid_verwijder IS NULL) g
|
||||
WHERE g.mld_melding_status IN (2,
|
||||
3,
|
||||
4,
|
||||
7) -- Ivm CSUN#59537 moet deze notificatie ook pas wanneer deze bij Backoffice staat (status 2/3/4/7) ipv alleen nog in planning bij Frontoffice (status 0)
|
||||
AND mld_stdmelding_key NOT IN
|
||||
(SELECT mld_stdmelding_key
|
||||
FROM mld_stdmelding
|
||||
WHERE mld_stdmeldinggroep_key = 1) -- Geen notificatie
|
||||
AND NOT EXISTS
|
||||
(SELECT ft.fac_tracking_key
|
||||
FROM ( SELECT MAX (fac_tracking_key) fac_tracking_key
|
||||
FROM fac_tracking t
|
||||
WHERE ( ( fac_tracking_oms LIKE
|
||||
'Gemaild naar BBer:%'
|
||||
AND fac_srtnotificatie_key =
|
||||
111) -- MLDMAI
|
||||
OR ( UPPER (
|
||||
fac_tracking_oms) LIKE
|
||||
'%PLAATS:%'
|
||||
AND fac_srtnotificatie_key =
|
||||
41)) -- MLDUPD
|
||||
GROUP BY fac_tracking_refkey) ot,
|
||||
fac_tracking ft
|
||||
WHERE ot.fac_tracking_key =
|
||||
ft.fac_tracking_key
|
||||
AND ft.fac_srtnotificatie_key = 111
|
||||
AND ft.fac_tracking_refkey =
|
||||
g.mld_melding_key)) x;
|
||||
|
||||
v_dummy VARCHAR2 (128);
|
||||
v_dummy VARCHAR2 (128);
|
||||
v_pattach VARCHAR2 (4000);
|
||||
BEGIN
|
||||
-- stuur de notificatie ook naar het emailadres kenmerk.
|
||||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||
@@ -635,75 +667,110 @@ BEGIN
|
||||
fac_notificatie_sender_email,
|
||||
fac_notificatie_lang,
|
||||
prs_perslid_key_sender)
|
||||
SELECT n.fac_srtnotificatie_key,
|
||||
2, -- e-mail
|
||||
mld_kenmerkmelding_waarde,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_prioriteit,
|
||||
fac_notificatie_datum,
|
||||
fac_notificatie_sender_email,
|
||||
fac_notificatie_lang,
|
||||
prs_perslid_key_sender
|
||||
FROM fac_notificatie n,
|
||||
fac_srtnotificatie sn,
|
||||
mld_kenmerkmelding km,
|
||||
mld_kenmerk k,
|
||||
mld_melding m,
|
||||
prs_perslid p
|
||||
WHERE n.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND ( sn.fac_srtnotificatie_code = 'MLDAFM'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDUPD'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDREJ')
|
||||
AND BITAND(fac_notificatie_status, 2) = 2 -- Alleen als het een e-mail notificatie was
|
||||
AND km.mld_melding_key = m.mld_melding_key
|
||||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||||
AND UPPER (mld_kenmerkmelding_waarde) <>
|
||||
SELECT n.fac_srtnotificatie_key,
|
||||
2, -- e-mail
|
||||
mld_kenmerkmelding_waarde,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_prioriteit,
|
||||
fac_notificatie_datum,
|
||||
fac_notificatie_sender_email,
|
||||
fac_notificatie_lang,
|
||||
prs_perslid_key_sender
|
||||
FROM fac_notificatie n,
|
||||
fac_srtnotificatie sn,
|
||||
mld_kenmerkmelding km,
|
||||
mld_kenmerk k,
|
||||
mld_melding m,
|
||||
prs_perslid p
|
||||
WHERE n.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND ( sn.fac_srtnotificatie_code = 'MLDAFM'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDUPD'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDREJ')
|
||||
AND BITAND (fac_notificatie_status, 2) = 2 -- Alleen als het een e-mail notificatie was
|
||||
AND km.mld_melding_key = m.mld_melding_key
|
||||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||||
AND UPPER (mld_kenmerkmelding_waarde) <>
|
||||
UPPER (p.prs_perslid_email)
|
||||
AND n.fac_notificatie_refkey = km.mld_melding_key
|
||||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 1; -- email notificatie
|
||||
AND n.fac_notificatie_refkey = km.mld_melding_key
|
||||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 1; -- email notificatie
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
IF rec.prs_perslid_email IS NOT NULL
|
||||
THEN
|
||||
fac.putnotificationsrtprio(null, null, 'MLDMAI', rec.mld_melding_key, 'BB: Melding ' || rec.mld_melding_key || ' is aan u in behandeling gegeven', 2, rec.prs_perslid_email, null, null, 2, null);
|
||||
fac.trackaction('MLDMAI', rec.mld_melding_key, 4, NULL, 'Gemaild naar BBer: ' || rec.prs_perslid_email);
|
||||
ELSE
|
||||
fac.trackaction('MLDMAI', rec.mld_melding_key, 4, NULL, 'Gemaild naar BBer: <Geen info gevonden>');
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
v_pattach := NULL;
|
||||
|
||||
-- Op verzoek van SVB worden mail notificaties naar een mailadres dat bij de locatie geconfigureerd is gestuurd.
|
||||
UPDATE fac_notificatie n
|
||||
SET prs_perslid_key_receiver = NULL,
|
||||
fac_notificatie_receiver_email =
|
||||
(SELECT aogk.alg_onrgoedkenmerk_waarde
|
||||
FROM alg_onrgoedkenmerk aogk, mld_melding m
|
||||
WHERE aogk.alg_onrgoed_key = m.mld_alg_locatie_key
|
||||
AND aogk.alg_kenmerk_key = 1320 -- alternatief email adres.
|
||||
AND n.fac_notificatie_refkey = m.mld_melding_key)
|
||||
WHERE EXISTS
|
||||
(SELECT sn.fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie sn,
|
||||
mld_melding m,
|
||||
alg_onrgoedkenmerk aogk
|
||||
WHERE n.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||||
AND fac_notificatie_oms NOT LIKE 'BB: %'
|
||||
AND ( sn.fac_srtnotificatie_code = 'MLDNEW'
|
||||
IF rec.prs_perslid_email IS NOT NULL
|
||||
THEN
|
||||
SELECT LISTAGG (fac_bijlagen_key, '|')
|
||||
WITHIN GROUP (ORDER BY fac_bijlagen_key)
|
||||
INTO v_pattach
|
||||
FROM fac_bijlagen
|
||||
WHERE fac_bijlagen_refkey = rec.mld_melding_key
|
||||
AND fac_bijlagen_module = 'MLD'
|
||||
AND fac_bijlagen_verwijder IS NULL;
|
||||
|
||||
fac.putnotificationsrtprio (
|
||||
NULL,
|
||||
NULL,
|
||||
'MLDMAI',
|
||||
rec.mld_melding_key,
|
||||
'BB: Melding '
|
||||
|| rec.mld_melding_key
|
||||
|| ' is aan u in behandeling gegeven',
|
||||
2,
|
||||
rec.prs_perslid_email,
|
||||
NULL,
|
||||
NULL,
|
||||
2,
|
||||
NULL,
|
||||
v_pattach);
|
||||
fac.trackaction (
|
||||
'MLDMAI',
|
||||
rec.mld_melding_key,
|
||||
4,
|
||||
NULL,
|
||||
'Gemaild naar BBer: ' || rec.prs_perslid_email);
|
||||
ELSE
|
||||
fac.trackaction ('MLDMAI',
|
||||
rec.mld_melding_key,
|
||||
4,
|
||||
NULL,
|
||||
'Gemaild naar BBer: <Geen info gevonden>');
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- Op verzoek van SVB worden mail notificaties naar een mailadres dat bij de locatie geconfigureerd is gestuurd.
|
||||
UPDATE fac_notificatie n
|
||||
SET prs_perslid_key_receiver = NULL,
|
||||
fac_notificatie_receiver_email =
|
||||
(SELECT aogk.alg_onrgoedkenmerk_waarde
|
||||
FROM alg_onrgoedkenmerk aogk, mld_melding m
|
||||
WHERE aogk.alg_onrgoed_key = m.mld_alg_locatie_key
|
||||
AND aogk.alg_kenmerk_key = 1320 -- alternatief email adres.
|
||||
AND n.fac_notificatie_refkey = m.mld_melding_key)
|
||||
WHERE EXISTS
|
||||
(SELECT sn.fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie sn,
|
||||
mld_melding m,
|
||||
alg_onrgoedkenmerk aogk
|
||||
WHERE n.fac_srtnotificatie_key =
|
||||
sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||||
AND fac_notificatie_oms NOT LIKE 'BB: %'
|
||||
AND ( sn.fac_srtnotificatie_code = 'MLDNEW'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDAFM'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDACP'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDAFR'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDUPD'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDREJ')
|
||||
AND fac_notificatie_refkey = m.mld_melding_key
|
||||
AND m.mld_alg_locatie_key = aogk.alg_onrgoed_key
|
||||
AND aogk.alg_kenmerk_key = 1320);
|
||||
COMMIT;
|
||||
AND fac_notificatie_refkey = m.mld_melding_key
|
||||
AND m.mld_alg_locatie_key = aogk.alg_onrgoed_key
|
||||
AND aogk.alg_kenmerk_key = 1320);
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user