FMHN#89949 Extra verzoek, leidt tot een nieuwe rapportage.

Dit is nog niet helemaal zoals het moet, er zullen nog velden vanuit meldingen (tbv filtering). Maar het is een eerste aanzet (met daarbij de vraag aan Daan of dit verder uitgewerkt moet worden).

svn path=/Customer/trunk/; revision=69876
This commit is contained in:
Sander Schepers
2025-07-30 09:12:40 +00:00
parent 2d4ddb5d40
commit 1cbdf90eb3

View File

@@ -24018,6 +24018,260 @@ AS
-- AND ab.prs_afdeling_key = p.prs_afdeling_key
AND rrr.res_rsv_ruimte_van >= TO_DATE ('01-01-2010', 'DD-MM-YYYY');
CREATE OR REPLACE VIEW FMHN_V_AANVRAAG_RES
(
KEY,
LOCATIE,
GEBOUW,
GEBOUW_CODE,
VERDIEPING,
RUIMTE_NR,
RESNR,
DATUM,
VAN,
DATUM_TOT,
TOT,
OMSCHRIJVING,
AANTAL,
OPSTELLING,
VOORZIENINGEN,
BESTEMD_VOOR,
AANVRAGER,
AANVRAGER_TELEFOONNR,
AANVRAGER_MOBIEL,
PRS_KOSTENPLAATS_NR,
PRS_KOSTENPLAATS_OMSCHRIJVING,
ACTIVITEIT,
REFERENTIE,
TELEFOONNR_CONTACTPERSOON,
TOELICHTING,
PC_NR_ZAAL,
PC_NR_VOORZIENINGEN,
BEHANDELAAR,
SOORT_EVENEMENT,
RES_GEANNULEERD,
AANVRAAG_AANVRAGER,
AANVRAAG_OPDRACHTGEVER,
AANVRAAG_STATUS,
AANVRAAG_TOELICHTING,
AANVRAAG_AFGEWEZEN_DOOR
)
--BEQUEATH DEFINER
AS
SELECT m.res_rsv_ruimte_key
AS key,
-- Locatiegegevens via r2a (optioneel)
(SELECT alg_locatie_omschrijving
FROM alg_locatie l,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r
WHERE l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
AS locatie,
(SELECT alg_locatie_plaats
FROM alg_locatie l,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r
WHERE l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
AS gebouw,
(SELECT alg_gebouw_code
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
WHERE g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
AS gebouw_code,
(SELECT alg_verdieping_code
FROM alg_verdieping v, alg_ruimte r
WHERE v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key)
AS verdieping,
r2a.ruimte_nr,
res.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
AS resnr,
TRUNC (rrr.res_rsv_ruimte_van)
AS datum,
TO_CHAR (rrr.res_rsv_ruimte_van, 'HH24:MI')
AS van,
TRUNC (rrr.res_rsv_ruimte_tot)
AS datum_tot,
TO_CHAR (rrr.res_rsv_ruimte_tot, 'HH24:MI')
AS tot,
rrr.res_rsv_ruimte_omschrijving
AS omschrijving,
rrr.res_rsv_ruimte_bezoekers
AS aantal,
r2a.opstelling,
-- Artikelen
( SELECT LISTAGG (
rra.res_rsv_artikel_aantal
|| ' '
|| ra.res_artikel_omschrijving
|| ', '
|| CHR (10))
WITHIN GROUP (ORDER BY rra.res_rsv_artikel_aantal)
FROM res_rsv_artikel rra
JOIN res_artikel ra
ON ra.res_artikel_key = rra.res_artikel_key
WHERE rra.res_rsv_artikel_verwijder IS NULL
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
GROUP BY rra.res_rsv_ruimte_key)
AS voorzieningen,
-- Persoonsgegevens
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key)
AS bestemd_voor,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_contact_key)
AS aanvrager,
(SELECT pc.prs_perslid_telefoonnr
FROM prs_perslid pc
WHERE pc.prs_perslid_key = rrr.res_rsv_ruimte_contact_key)
AS aanvrager_telefoonnr,
(SELECT pc.prs_perslid_mobiel
FROM prs_perslid pc
WHERE pc.prs_perslid_key = rrr.res_rsv_ruimte_contact_key)
AS aanvrager_mobiel,
k.prs_kostenplaats_nr,
k.prs_kostenplaats_omschrijving,
ra.res_activiteit_omschrijving
AS activiteit,
-- Kenmerken
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
FROM RES_V_AANWEZIGKENMERKWAARDE kmw
JOIN res_kenmerk km
ON km.res_kenmerk_key = kmw.res_kenmerk_key
WHERE km.RES_SRTKENMERK_KEY = 21
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
AS referentie,
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
FROM RES_V_AANWEZIGKENMERKWAARDE kmw
JOIN res_kenmerk km
ON km.res_kenmerk_key = kmw.res_kenmerk_key
WHERE km.RES_SRTKENMERK_KEY = 41
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
AS telefoonnr_contactpersoon,
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
FROM RES_V_AANWEZIGKENMERKWAARDE kmw
JOIN res_kenmerk km
ON km.res_kenmerk_key = kmw.res_kenmerk_key
WHERE km.RES_SRTKENMERK_KEY = 1
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
AS toelichting,
(SELECT MAX (p.PRS_DEP_AFD)
FROM RES_V_AANWEZIGKENMERKWAARDE kmw
JOIN res_kenmerk km
ON km.res_kenmerk_key = kmw.res_kenmerk_key
JOIN FMHN_V_IDM_MEDEWERKER p
ON fac.safe_to_number (
kmw.res_kenmerkreservering_waarde) =
p.PRS_PERSLID_KEY
WHERE km.RES_SRTKENMERK_KEY = 162
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
AS behandelaar,
(SELECT MAX (ud.fac_usrdata_omschr)
FROM RES_V_AANWEZIGKENMERKWAARDE kmw
JOIN res_kenmerk km
ON km.res_kenmerk_key = kmw.res_kenmerk_key
JOIN fac_usrdata ud
ON fac.safe_to_number (
kmw.res_kenmerkreservering_waarde) =
ud.fac_usrdata_key
WHERE km.RES_SRTKENMERK_KEY = 181
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
AS soort_evenement,
rrr.res_rsv_ruimte_verwijder
AS res_geannuleerd,
-- Meldingsinfo (altijd beschikbaar)
aanvr.prs_dep_afd
AS aanvraag_aanvrager,
opd.prs_dep_afd
AS aanvraag_opdrachtgever,
ms.mld_statuses_omschrijving
AS aanvraag_status,
m.mld_melding_opmerking
AS aanvraag_toelichting,
-- PC_nr_zaal
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
FROM RES_V_AANWEZIGKENMERKWAARDE kmw
JOIN res_kenmerk km
ON km.res_kenmerk_key = kmw.res_kenmerk_key
WHERE km.RES_SRTKENMERK_KEY = 61
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
AS pc_nr_zaal,
-- PC_nr_voorzieningen
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
FROM RES_V_AANWEZIGKENMERKWAARDE kmw
JOIN res_kenmerk km
ON km.res_kenmerk_key = kmw.res_kenmerk_key
WHERE km.RES_SRTKENMERK_KEY = 62
AND kmw.RES_RSV_RUIMTE_KEY = rrr.res_rsv_ruimte_key)
AS pc_nr_voorzieningen,
(SELECT MAX (p.prs_dep_afd)
FROM fac_tracking t
JOIN FMHN_V_IDM_MEDEWERKER p
ON t.prs_perslid_key = p.prs_perslid_key
WHERE t.fac_srtnotificatie_key = 52
AND t.fac_tracking_refkey = m.mld_melding_key)
AS aanvraag_afgewezen_door
FROM mld_melding m
LEFT JOIN res_rsv_ruimte rrr
ON m.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
LEFT JOIN res_reservering res
ON rrr.res_reservering_key = res.res_reservering_key
LEFT JOIN res_activiteit ra
ON rrr.res_activiteit_key = ra.res_activiteit_key
LEFT JOIN res_srtactiviteit rsa
ON ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key
LEFT JOIN prs_kostenplaats k
ON rrr.prs_kostenplaats_key = k.prs_kostenplaats_key
LEFT JOIN prs_perslid p
ON rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
LEFT JOIN mld_statuses ms
ON m.mld_melding_status = ms.mld_statuses_key
LEFT JOIN FMHN_V_IDM_MEDEWERKER aanvr
ON aanvr.prs_perslid_key = m.prs_perslid_key
LEFT JOIN FMHN_V_IDM_MEDEWERKER opd
ON opd.prs_perslid_key = m.prs_perslid_key_voor
-- r2a: locatiegegevens uit ruimte-opstelling of ruimte zelf
LEFT JOIN
( SELECT res_rsv_ruimte_key,
MAX (o.res_opstelling_omschrijving) AS opstelling,
MAX (ro.res_ruimte_opstel_bezoekers) AS capaciteit,
MAX (ra.alg_ruimte_key) AS alg_ruimte_key,
MAX (rr.res_ruimte_nr) AS ruimte_nr
FROM res_rsv_ruimte r
JOIN res_ruimte_opstelling ro
ON r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
JOIN res_opstelling o
ON ro.res_opstelling_key = o.res_opstelling_key
JOIN res_ruimte rr
ON ro.res_ruimte_key = rr.res_ruimte_key
JOIN res_alg_ruimte ra
ON rr.res_ruimte_key = ra.res_ruimte_key
WHERE r.res_rsv_ruimte_verwijder IS NULL
GROUP BY res_rsv_ruimte_key
UNION ALL
SELECT rrr.res_rsv_ruimte_key,
'' AS opstelling,
NULL AS capaciteit,
rrr.alg_ruimte_key,
r.alg_ruimte_nr
FROM res_rsv_ruimte rrr
JOIN alg_ruimte r ON r.alg_ruimte_key = rrr.alg_ruimte_key
WHERE rrr.alg_ruimte_key IS NOT NULL) r2a
ON r2a.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
-- Alleen meldingen van na 2010
WHERE m.mld_melding_datum >= TO_DATE ('01-01-2010', 'DD-MM-YYYY');
CREATE OR REPLACE VIEW FMHN_V_NOTI_KLANTVERZOEK
(
CODE,