KFSG#85713 CUST11-notijob/Catering-reminder

svn path=/Customer/trunk/; revision=66801
This commit is contained in:
Maarten van der Heide
2024-10-29 13:04:40 +00:00
parent d767bcf3e8
commit 04957b2d12

View File

@@ -455,136 +455,137 @@ CREATE OR REPLACE VIEW kfsg_v_noti_resreminder
AS
SELECT 'RESINF',
NULL,
rsvr.res_rsv_ruimte_host_key,
rrr.res_rsv_ruimte_host_key,
'Reservering '
|| res.res_reservering_key
|| TO_CHAR (res_reservering_key)
|| ': U heeft op '
|| TO_CHAR (rsvr.res_rsv_ruimte_van, 'DD-MM')
|| TO_CHAR (rrr.res_rsv_ruimte_van, 'DD-MM')
|| ' van '
|| TO_CHAR (rsvr.res_rsv_ruimte_van, 'HH24:MI')
|| TO_CHAR (rrr.res_rsv_ruimte_van, 'HH24:MI')
|| ' tot '
|| TO_CHAR (rsvr.res_rsv_ruimte_tot, 'HH24:MI')
|| TO_CHAR (rrr.res_rsv_ruimte_tot, 'HH24:MI')
|| ' ruimte '
|| r.res_ruimte_nr
|| rr.res_ruimte_nr
|| ' gereserveerd.',
res.res_reservering_key,
rsvr.res_rsv_ruimte_key
FROM res_v_aanwezigreservering res,
res_v_aanwezigrsv_ruimte rsvr,
res_ruimte_opstelling opst,
res_disc_params rdp,
res_ruimte r
WHERE r.res_discipline_key = rdp.res_ins_discipline_key
AND rdp.res_disc_params_noti_dagen IS NOT NULL
AND res.res_reservering_key = rsvr.res_reservering_key
AND opst.res_ruimte_opstel_key = rsvr.res_ruimte_opstel_key
AND opst.res_ruimte_key = r.res_ruimte_key
AND rsvr.res_status_fo_key <= 5
AND rsvr.res_rsv_ruimte_van BETWEEN fac.datumtijdplusuitvoertijd (
SYSDATE,
res_disc_params_noti_dagen,
'DAGEN')
AND fac.datumtijdplusuitvoertijd (
SYSDATE,
res_disc_params_noti_dagen
+ 1,
'DAGEN')
AND fac.getweekdaynum (SYSDATE) NOT IN (1, 7)
AND rsvr.res_rsv_ruimte_van >= SYSDATE
rrr.res_reservering_key,
rrr.res_rsv_ruimte_key
FROM res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
res_ruimte rr,
res_disc_params dp
WHERE rrr.res_rsv_ruimte_van > TRUNC (SYSDATE)
--AND rrr.res_status_fo_key <= 5
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_discipline_key = dp.res_ins_discipline_key
--AND dp.res_disc_params_noti_dagen IS NOT NULL
AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Notificatie alleen op werkdagen!
AND fac.count_work_days (SYSDATE, rrr.res_rsv_ruimte_van) = dp.res_disc_params_noti_dagen
UNION ALL
SELECT 'RESINF',
NULL,
res_rsv_ruimte_host_key,
'Reservering '
|| res_reservering_key
|| TO_CHAR (res_reservering_key)
|| ': U heeft op '
|| TO_CHAR (MIN (van), 'dd-mm')
|| DECODE (
MIN (van),
MAX (tot),
' om ' || TO_CHAR (MIN (van), 'hh24:mi'),
' van '
|| TO_CHAR (MIN (van), 'hh24:mi')
|| ' tot '
|| TO_CHAR (MAX (tot), 'hh24:mi'))
|| ' in ruimte ('
|| (SELECT alg_gebouw_code
|| '-'
|| alg_verdieping_code
|| '-'
|| alg_ruimte_nr
FROM alg_v_onroerendgoed_gegevens arg
WHERE arg.alg_ruimte_key = ruimte_key)
MAX (tot), ' om ' || TO_CHAR (MIN (van), 'hh24:mi'),
' van ' || TO_CHAR (MIN (van), 'hh24:mi') || ' tot ' || TO_CHAR (MAX (tot), 'hh24:mi'))
|| ' (in ruimte '
|| MIN (aanduiding)
|| ') '
|| COUNT (res_reservering_key)
|| COUNT ( * )
|| ' voorziening(en) gereserveerd.',
res_reservering_key,
res_rsv_ruimte_key
FROM (SELECT rsvr.res_rsv_ruimte_host_key,
res.res_reservering_key,
rsvd.res_rsv_deel_van van,
rsvd.res_rsv_deel_tot tot,
rsvr.res_rsv_ruimte_key,
rsvr.alg_ruimte_key ruimte_key
FROM res_v_aanwezigreservering res,
res_v_aanwezigrsv_ruimte rsvr,
res_disc_params rdp,
res_rsv_deel rsvd,
res_deel rd
WHERE rsvd.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
AND rd.res_deel_key = rsvd.res_deel_key
AND rd.res_discipline_key = rdp.res_ins_discipline_key
AND rdp.res_disc_params_noti_dagen IS NOT NULL
AND res.res_reservering_key = rsvr.res_reservering_key
AND rsvr.res_ruimte_opstel_key IS NULL
AND rsvr.res_status_fo_key <= 5
AND rsvd.res_rsv_deel_verwijder IS NULL
AND rsvd.res_rsv_deel_van BETWEEN fac.datumtijdplusuitvoertijd (
SYSDATE,
res_disc_params_noti_dagen,
'DAGEN')
AND fac.datumtijdplusuitvoertijd (
SYSDATE,
res_disc_params_noti_dagen
+ 1,
'DAGEN')
AND fac.getweekdaynum (SYSDATE) NOT IN (1, 7)
AND rsvd.res_rsv_deel_van >= SYSDATE
FROM (SELECT rrr.res_reservering_key, rrr.res_rsv_ruimte_key, rrr.res_rsv_ruimte_host_key,
rrd.res_rsv_deel_van van, rrd.res_rsv_deel_tot tot,
alg_gebouw_code || '-' || alg_verdieping_code || '-' || alg_ruimte_nr aanduiding
FROM res_v_aanwezigrsv_ruimte rrr,
res_v_aanwezigrsv_deel rrd,
res_deel rd,
res_disc_params dp,
alg_v_onroerendgoed_gegevens aog
WHERE 1 = 1
--AND rrr.res_ruimte_opstel_key IS NULL
--AND rrr.res_status_fo_key <= 5
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
AND rrd.res_rsv_deel_van > TRUNC (SYSDATE)
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_discipline_key = dp.res_ins_discipline_key
--AND dp.res_disc_params_noti_dagen IS NOT NULL
AND rrr.alg_ruimte_key = aog.alg_ruimte_key
AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Notificatie alleen op werkdagen!
AND fac.count_work_days (SYSDATE, rrd.res_rsv_deel_van) = dp.res_disc_params_noti_dagen
UNION ALL
SELECT rsvr.res_rsv_ruimte_host_key,
res.res_reservering_key,
rsva.res_rsv_artikel_levering van,
rsva.res_rsv_artikel_levering tot,
rsvr.res_rsv_ruimte_key,
rsvr.alg_ruimte_key ruimte_key
FROM res_v_aanwezigreservering res,
res_v_aanwezigrsv_ruimte rsvr,
res_disc_params rdp,
res_rsv_artikel rsva,
res_artikel ra
WHERE rsva.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
AND ra.res_discipline_key = rdp.res_ins_discipline_key
AND rsva.res_artikel_key = ra.res_artikel_key
AND rdp.res_disc_params_noti_dagen IS NOT NULL
AND res.res_reservering_key = rsvr.res_reservering_key
AND rsvr.res_ruimte_opstel_key IS NULL
AND rsvr.res_status_fo_key <= 5
AND rsva.res_rsv_artikel_verwijder IS NULL
AND rsva.res_rsv_artikel_levering BETWEEN fac.datumtijdplusuitvoertijd (
SYSDATE,
res_disc_params_noti_dagen,
'DAGEN')
AND fac.datumtijdplusuitvoertijd (
SYSDATE,
res_disc_params_noti_dagen
+ 1,
'DAGEN')
AND fac.getweekdaynum (SYSDATE) NOT IN (1, 7)
AND rsva.res_rsv_artikel_levering >= SYSDATE)
GROUP BY res_rsv_ruimte_host_key,
res_reservering_key,
res_rsv_ruimte_key,
ruimte_key;
SELECT rrr.res_reservering_key, rrr.res_rsv_ruimte_key, rrr.res_rsv_ruimte_host_key,
rra.res_rsv_artikel_levering van, rra.res_rsv_artikel_levering tot,
alg_gebouw_code || '-' || alg_verdieping_code || '-' || alg_ruimte_nr aanduiding
FROM res_v_aanwezigrsv_ruimte rrr,
res_v_aanwezigrsv_artikel rra,
res_artikel ra,
res_disc_params dp,
alg_v_onroerendgoed_gegevens aog
WHERE 1 = 1
--AND rrr.res_ruimte_opstel_key IS NULL
--AND rrr.res_status_fo_key <= 5
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND rra.res_rsv_artikel_levering > TRUNC (SYSDATE)
AND rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key = dp.res_ins_discipline_key
--AND dp.res_disc_params_noti_dagen IS NOT NULL
AND rrr.alg_ruimte_key = aog.alg_ruimte_key
AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Notificatie alleen op werkdagen!
AND fac.count_work_days (SYSDATE, rra.res_rsv_artikel_levering) = dp.res_disc_params_noti_dagen)
GROUP BY res_rsv_ruimte_host_key, res_reservering_key, res_rsv_ruimte_key;
-- KFSG#85713: Reminder voor cateringreserveringen 4 (werk)dagen van tevoren.
CREATE OR REPLACE VIEW KFSG_V_NOTI_CAT_REMINDER
(
code,
sender,
receiver,
text,
key,
--par1,
--par2,
xkey,
xemail,
xmobile
--fac_srtnotificatie_key,
--attachments,
--xsender,
--prs_bedrijfadres_key
)
AS
SELECT 'CUST11', -- sn.fac_srtnotificatie_code
TO_NUMBER (NULL),
rrr.res_rsv_ruimte_contact_key,
REPLACE (
REPLACE (
lcl.x ('fac_srtnotificatie_oms', sn.fac_srtnotificatie_key, sn.fac_srtnotificatie_oms),
'##KEY##', TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr)),
'##DESC##', rrr.res_rsv_ruimte_omschrijving),
rrr.res_reservering_key,
--NULL,
--NULL,
rrr.res_rsv_ruimte_key,
NULL,
NULL
--TO_NUMBER (NULL),
--NULL
--NULL,
--TO_NUMBER (NULL)
FROM res_v_aanwezigrsv_ruimte rrr, fac_srtnotificatie sn
WHERE rrr.res_rsv_ruimte_van > TRUNC (SYSDATE + 4) -- Tbv. performance!
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
AND rrr.res_rsv_ruimte_dirtlevel = 0
AND EXISTS (SELECT 1 FROM res_v_aanwezigrsv_artikel WHERE res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
AND sn.fac_srtnotificatie_code = 'CUST11'
AND TO_CHAR (SYSDATE, 'd') BETWEEN '2' AND '6' -- Notificatie alleen op werkdagen!
AND fac.count_work_days (SYSDATE, rrr.res_rsv_ruimte_van) = 4;
CREATE OR REPLACE VIEW kfsg_v_resruimte_qrc
(