INLO#57145 -- Notifcatiejob voor last-minute-reserveringen

svn path=/Customer/trunk/; revision=42537
This commit is contained in:
Jos Migo
2019-05-15 12:26:58 +00:00
parent 165450c1df
commit 6ccae45aef

View File

@@ -17,6 +17,139 @@ SET DEFINE OFF
------ payload begin ------
-- VIEW voor Notificatiejob Last-minute-reservering. Alle mensen uit specifieke autorisatiegroep krijgen mail dat de reservering (ruimte en/of catering) gewijzigd is - Ticketnr 57145
CREATE OR REPLACE VIEW INLO_V_NOTIFY_LASTMINUTE
(
SENDER,
RECEIVER,
TEXT,
CODE,
FAC_SRTNOTIFICATIE_KEY,
KEY,
XKEY,
XEMAIL,
XMOBILE
)
AS
SELECT -- Voor Catering.....
NULL
sender,
NULL
receiver,
'Catering bij reservering '
|| rrr.res_reservering_key
|| '/'
|| rrr.res_rsv_ruimte_volgnr
|| ' is aangemaakt/gewijzigd '
text,
'CUST07'
code,
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'CUST07')
fac_srtnotificatie_key,
rrr.res_reservering_key
key,
rrr.res_rsv_ruimte_key
xkey,
medewerker.email
xemail,
NULL
xmobile
FROM res_rsv_artikel rra,
res_rsv_ruimte rrr,
res_artikel ra,
(SELECT g.fac_groep_key,
p.prs_perslid_key,
p.prs_perslid_email AS email
FROM fac_groep g, fac_gebruikersgroep ge, prs_perslid p
WHERE g.fac_groep_key = 441 -- Specifieke Autorisatiegroep
AND g.fac_groep_key = ge.fac_groep_key
AND ge.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_email IS NOT NULL
AND p.prs_perslid_verwijder IS NULL) medewerker
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rra.res_artikel_key = ra.res_artikel_key
AND rra.res_rsv_artikel_levering > SYSDATE
AND GREATEST (COALESCE (res_rsv_artikel_mutatie, SYSDATE - 100),
COALESCE (res_rsv_artikel_verwijder, SYSDATE - 100),
COALESCE (res_rsv_artikel_aanmaak, SYSDATE - 100)) >
(SELECT fac_notificatie_job_nextrun
- fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE fac_notificatie_job_view = 'INLO_V_NOTIFY_LASTMINUTE')
AND GREATEST (COALESCE (res_rsv_artikel_mutatie, SYSDATE - 100),
COALESCE (res_rsv_artikel_verwijder, SYSDATE - 100),
COALESCE (res_rsv_artikel_aanmaak, SYSDATE - 100)) <
(SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE fac_notificatie_job_view = 'INLO_V_NOTIFY_LASTMINUTE')
GROUP BY rrr.res_rsv_ruimte_key,
rrr.res_reservering_key,
rrr.res_rsv_ruimte_volgnr,
medewerker.email
UNION ALL
SELECT -- voor Ruimte
NULL
sender,
NULL
receiver,
'Reservering '
|| rrr.res_reservering_key
|| '/'
|| rrr.res_rsv_ruimte_volgnr
|| ' is aangemaakt/gewijzigd '
text,
'CUST07'
code,
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'CUST07')
fac_srtnotificatie_key,
rrr.res_reservering_key
key,
rrr.res_rsv_ruimte_key
xkey,
medewerker.email
xemail,
NULL
xmobile
FROM fac_tracking t,
res_rsv_ruimte rrr,
res_ruimte_opstelling ro,
res_ruimte rr,
(SELECT g.fac_groep_key,
p.prs_perslid_key,
p.prs_perslid_email AS email
FROM fac_groep g, fac_gebruikersgroep ge, prs_perslid p
WHERE g.fac_groep_key = 441 -- Specifieke Autorisatiegroep
AND g.fac_groep_key = ge.fac_groep_key
AND ge.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_email IS NOT NULL
AND p.prs_perslid_verwijder IS NULL) medewerker
WHERE t.fac_srtnotificatie_key IN (59, 60) -- resnew, resupd
AND t.fac_tracking_refkey = rrr.res_rsv_ruimte_key
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
-- AND rr.res_discipline_key = 561 -- Greenport Vergaderen
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun
- fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE fac_notificatie_job_view = 'INLO_V_NOTIFY_LASTMINUTE')
AND t.fac_tracking_datum <
(SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE fac_notificatie_job_view = 'INLO_V_NOTIFY_LASTMINUTE')
AND rrr.res_rsv_ruimte_van > SYSDATE
GROUP BY rrr.res_rsv_ruimte_key,
rrr.res_reservering_key,
rrr.res_rsv_ruimte_volgnr,
medewerker.email;
-- VIEW voor Notificatiejob om bezoekers 2 dagen voor event te mailen met bevestiging bezoek
CREATE OR REPLACE VIEW INLO_V_NOTI_BEZOEKERS
(