CSUN#87104 Optimalisatie notificatiesysteem voor Rayonmanagers

svn path=/Customer/trunk/; revision=68704
This commit is contained in:
Sander Schepers
2025-04-09 11:42:38 +00:00
parent dfe815bc9c
commit f1b9f02a4f

View File

@@ -7929,7 +7929,10 @@ BEGIN
AND m.mld_melding_externnr IS NULL
GROUP BY n.fac_notificatie_key);
csun_export_mailnoti;
csun_export_mailnoti;
csun_noti_rm_noshow;
END;
/
@@ -8046,7 +8049,7 @@ AS
AND p.prs_perslid_email IS NOT NULL
AND p.prs_perslid_verwijder IS NULL
AND m.mld_melding_status IN (4, 7, 99)
AND mm.melding_accepted + 1 < SYSDATE
AND m.mld_melding_datum + 1 < SYSDATE
AND m.mld_melding_key NOT IN
(SELECT t.fac_tracking_refkey
FROM fac_tracking t, fac_srtnotificatie sn
@@ -8057,6 +8060,199 @@ AS
AND t.fac_tracking_oms LIKE
'%Melding nog niet afgemeld na 24 uur na registratie:%');
CREATE OR REPLACE PROCEDURE csun_noti_rm_noshow
AS
CURSOR CUST14 IS
SELECT p.prs_perslid_key AS receiver,
'Nieuwe melding aangemaakt: '
|| sm.mld_stdmelding_omschrijving
|| ' ('
|| m.mld_melding_key
|| ')' AS text,
m.mld_melding_key AS key,
sn.fac_srtnotificatie_key
FROM prs_perslid p,
mld_melding m,
mld_stdmelding sm,
prs_v_werkplekperslid_gegevens pwpg,
prs_kenmerklink kl,
fac_srtnotificatie sn
WHERE sm.mld_stdmelding_key = 61 -- No show
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
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 Rayonmanager
AND prs_kenmerk_key = 1100 -- notificatie enable vinkje
AND 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
AND m.mld_melding_status = 2
AND sn.fac_srtnotificatie_code = 'CUST14'
AND m.mld_melding_key NOT IN
(SELECT t.fac_tracking_refkey
FROM fac_tracking t, fac_srtnotificatie sn
WHERE sn.fac_srtnotificatie_key =
t.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'CUST14'
AND t.fac_tracking_refkey = m.mld_melding_key
AND t.fac_tracking_oms LIKE
'%Nieuwe melding aangemaakt:%');
CURSOR CUST15 IS
SELECT p.prs_perslid_key AS receiver,
'notificatie - Melding nog niet geaccepteerd na 4 uur; '
|| sm.mld_stdmelding_omschrijving
|| ' ('
|| m.mld_melding_key
|| ')' AS text,
m.mld_melding_key AS key,
sn.fac_srtnotificatie_key
FROM prs_perslid p,
mld_melding m,
mld_v_udr_melding mm,
mld_stdmelding sm,
prs_v_werkplekperslid_gegevens pwpg,
prs_kenmerklink kl,
fac_srtnotificatie sn
WHERE sm.mld_stdmelding_key = 61 -- No show
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND mm.melding_key = m.mld_melding_key
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 Rayonmanager
AND prs_kenmerk_key = 1100 -- notificatie enable vinkje
AND 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
AND m.mld_melding_status = 2
AND sn.fac_srtnotificatie_code = 'CUST15'
AND mm.melding_acceptdatum < SYSDATE
AND m.mld_melding_key NOT IN
(SELECT t.fac_tracking_refkey
FROM fac_tracking t, fac_srtnotificatie sn
WHERE sn.fac_srtnotificatie_key =
t.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'CUST15'
AND t.fac_tracking_refkey = m.mld_melding_key
AND t.fac_tracking_oms LIKE
'%notificatie - Melding nog niet geaccepteerd na 4 uur%');
CURSOR CUST16 IS
SELECT 'CUST16' AS code,
NULL AS sender,
p.prs_perslid_key AS receiver,
'Melding nog niet afgemeld na 24 uur na registratie; '
|| sm.mld_stdmelding_omschrijving
|| ' ('
|| m.mld_melding_key
|| ')' AS text,
m.mld_melding_key AS key,
sn.fac_srtnotificatie_key
FROM prs_perslid p,
mld_melding m,
mld_v_udr_melding mm,
mld_stdmelding sm,
prs_v_werkplekperslid_gegevens pwpg,
prs_kenmerklink kl,
fac_srtnotificatie sn
WHERE sm.mld_stdmelding_key = 61 -- No show
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND mm.melding_key = m.mld_melding_key
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 Rayonmanager
AND prs_kenmerk_key = 1100 -- notificatie enable vinkje
AND 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
AND m.mld_melding_status IN (4, 7, 99)
AND sn.fac_srtnotificatie_code = 'CUST16'
AND m.mld_melding_datum + 1 < SYSDATE
AND m.mld_melding_key NOT IN
(SELECT t.fac_tracking_refkey
FROM fac_tracking t, fac_srtnotificatie sn
WHERE sn.fac_srtnotificatie_key =
t.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'CUST16'
AND t.fac_tracking_refkey = m.mld_melding_key
AND t.fac_tracking_oms LIKE
'%Melding nog niet afgemeld na 24 uur na registratie:%');
BEGIN
FOR rec IN CUST14
LOOP
-- de notificatie klaarzetten
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
fac_notificatie_receiver_email,
prs_perslid_key_receiver,
fac_notificatie_oms,
fac_notificatie_refkey,
fac_notificatie_extrakey,
fac_notificatie_prioriteit)
VALUES (rec.fac_srtnotificatie_key,
2,
NULL,
rec.receiver,
rec.text,
rec.key,
NULL,
2);
COMMIT;
END LOOP;
FOR rec IN CUST15
LOOP
-- de notificatie klaarzetten
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
fac_notificatie_receiver_email,
prs_perslid_key_receiver,
fac_notificatie_oms,
fac_notificatie_refkey,
fac_notificatie_extrakey,
fac_notificatie_prioriteit)
VALUES (rec.fac_srtnotificatie_key,
2,
NULL,
rec.receiver,
rec.text,
rec.key,
NULL,
2);
COMMIT;
END LOOP;
FOR rec IN CUST16
LOOP
-- de notificatie klaarzetten
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
fac_notificatie_receiver_email,
prs_perslid_key_receiver,
fac_notificatie_oms,
fac_notificatie_refkey,
fac_notificatie_extrakey,
fac_notificatie_prioriteit)
VALUES (rec.fac_srtnotificatie_key,
2,
NULL,
rec.receiver,
rec.text,
rec.key,
NULL,
2);
COMMIT;
END LOOP;
END csun_noti_rm_noshow;
/
CREATE OR REPLACE VIEW CSUN_V_PERSLID_GEGEVENS
(
FACILITOR_ID,