FMHN#82286 Once om een verbeterde view te leveren tbv Schermen Eerste Kamer

svn path=/Customer/; revision=69465
This commit is contained in:
Sander Schepers
2025-06-18 08:53:16 +00:00
parent 1b7512ed72
commit 582caf52dd

119
onces/FMHN/FMHN#82286.sql Normal file
View File

@@ -0,0 +1,119 @@
--
-- $Id$
--
-- Customer specific once-script FMHN#82286.sql.
DEFINE thisfile = 'FMHN#82286.sql'
DEFINE dbuser = '^FMHN'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- FMHN#82286: Het rapport met rapportcode SCHERM_EK gebruikte de udr-view.
-- De UDR view gaf een slechte performance
-- Daarom nu een once om deze view te leveren (zonder fmhn.sql in zijn geheel uit te voeren), want een snelle aanpassing van het rapport is gewenst
CREATE OR REPLACE VIEW fmhn_v_rap_scherm_ek
AS
SELECT *
FROM ( SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
AS nummer,
rrr.res_rsv_ruimte_omschrijving
AS res_omschrijving,
rrr.res_rsv_ruimte_van
AS datum,
r2a.ruimte_nr
AS ruimte,
rrr.res_rsv_ruimte_van
AS van,
rrr.res_rsv_ruimte_tot
AS tot,
(SELECT MAX(rrg.alg_ruimte_nr) -- Voor locatie Eerste Kamer (daar is deze view voor) zijn er geen koppelzalen en daarom volstaat dit
FROM res_rsv_ruimte rrr2
JOIN res_ruimte_opstelling rro
ON rrr2.res_ruimte_opstel_key =
rro.res_ruimte_opstel_key
JOIN res_ruimte rr
ON rro.res_ruimte_key = rr.res_ruimte_key
JOIN res_alg_ruimte rar
ON rr.res_ruimte_key = rar.res_ruimte_key
JOIN alg_v_ruimte_gegevens rrg
ON rar.alg_ruimte_key = rrg.alg_ruimte_key
WHERE rrr2.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
AS ruimte_nr,
(SELECT kenm.res_kenmerkreservering_waarde
FROM res_kenmerkwaarde kenm
WHERE kenm.res_kenmerkwaarde_verwijder IS NULL
AND kenm.res_kenmerk_key = 68
AND kenm.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
AS toelichting
FROM res_v_aanwezigrsv_ruimte rrr
LEFT JOIN
( SELECT res_rsv_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_ruimte rr
ON ro.res_ruimte_key = rr.res_ruimte_key
WHERE r.res_rsv_ruimte_verwijder IS NULL
GROUP BY res_rsv_ruimte_key) r2a
ON rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key
WHERE rrr.res_rsv_ruimte_van BETWEEN TO_DATE (
'18-06-2025 00:00',
'DD-MM-YYYY HH24:MI')
AND TO_DATE (
'18-06-2025 23:59',
'DD-MM-YYYY HH24:MI')
AND EXISTS
(SELECT 1
FROM res_ruimte_opstelling ro
JOIN res_ruimte rr
ON ro.res_ruimte_key = rr.res_ruimte_key
JOIN res_alg_ruimte rar
ON rr.res_ruimte_key = rar.res_ruimte_key
JOIN alg_ruimte ar
ON rar.alg_ruimte_key = ar.alg_ruimte_key
JOIN alg_verdieping v
ON ar.alg_verdieping_key =
v.alg_verdieping_key
JOIN alg_gebouw g
ON v.alg_gebouw_key = g.alg_gebouw_key
JOIN alg_locatie l
ON g.alg_locatie_key = l.alg_locatie_key
WHERE rrr.res_ruimte_opstel_key =
ro.res_ruimte_opstel_key
AND l.alg_locatie_key = 161)
ORDER BY nummer,
res_omschrijving,
datum,
ruimte,
van,
tot,
ruimte_nr,
toelichting);
/
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile