diff --git a/PNBR/pnbr.sql b/PNBR/pnbr.sql index c7b5f6980..7d3dc7bfe 100644 --- a/PNBR/pnbr.sql +++ b/PNBR/pnbr.sql @@ -5267,6 +5267,176 @@ AS WHERE n.receiver = p.prs_perslid_key AND prs_perslid_naam NOT LIKE 'INACTIEF:%'; +--- PNBR#77939 Reservering herinnering +--- Indien contact en host 2 verschillende personen zijn dan ook host een reminder sturen +CREATE OR REPLACE FORCE VIEW PNBR_V_NOTI_RESREMINDER_HOST +( + CODE, + SENDER, + RECEIVER, + TEXT, + KEY, + XKEY +) +AS + SELECT 'RESINF' code, + NULL sender, + rsvr.res_rsv_ruimte_host_key receiver, + 'Herinnering - ' + || REPLACE ( + 'Reservering ' + || res.res_reservering_key + || ': U heeft op ' + || TO_CHAR (rsvr.res_rsv_ruimte_van, 'DD-MM') + || ' van ' + || TO_CHAR (rsvr.res_rsv_ruimte_van, 'HH24:MI') + || ' tot ' + || TO_CHAR (rsvr.res_rsv_ruimte_tot, 'HH24:MI') + || ' ruimte ' + || r.res_ruimte_nr + || ' gereserveerd.', + ' ', + ' ') text, + res.res_reservering_key key, + rsvr.res_rsv_ruimte_key xkey + FROM res_v_aanwezigreservering res, + res_v_aanwezigrsv_ruimte rsvr, + res_ruimte_opstelling opst, + res_disc_params rdp, + res_ruimte r, + prs_perslid p + 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 + AND p.prs_perslid_key = rsvr.res_rsv_ruimte_host_key + AND prs_perslid_naam NOT LIKE 'INACTIEF:%' + AND rsvr.res_rsv_ruimte_host_key <> + rsvr.res_rsv_ruimte_contact_key + UNION ALL + SELECT 'RESINF', + NULL, + res_rsv_ruimte_host_key, + 'Herinnering - ' + || REPLACE ( + 'Reservering ' + || 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) + || ') ' + || COUNT (res_reservering_key) + || ' voorziening(en) gereserveerd.', + ' ', + ' ') text, + res_reservering_key, + res_rsv_ruimte_key + FROM (SELECT rsvr.res_rsv_ruimte_contact_key, + 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, + prs_perslid p + 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 + AND p.prs_perslid_key = rsvr.res_rsv_ruimte_host_key + AND prs_perslid_naam NOT LIKE 'INACTIEF:%' + AND rsvr.res_rsv_ruimte_host_key <> + rsvr.res_rsv_ruimte_contact_key + UNION ALL + SELECT rsvr.res_rsv_ruimte_contact_key, + 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, + prs_perslid p + 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 + AND p.prs_perslid_key = rsvr.res_rsv_ruimte_host_key + AND prs_perslid_naam NOT LIKE 'INACTIEF:%' + AND rsvr.res_rsv_ruimte_host_key <> + rsvr.res_rsv_ruimte_contact_key) + GROUP BY res_rsv_ruimte_contact_key, + res_rsv_ruimte_host_key, + res_reservering_key, + res_rsv_ruimte_key, + ruimte_key; + -- notificatie naar klant die niet binnen 7 dagen op een vraag heeft geantwoord. CREATE OR REPLACE VIEW pnbr_v_noti_mld_fenote_rem