FMHN#78760 Werkplek proeftuin KK4: Op schermen per etage tonen wat de beschikbaarheid is

svn path=/Customer/trunk/; revision=60874
This commit is contained in:
Sander Schepers
2023-06-21 11:47:37 +00:00
parent 2fef341172
commit dcb09947cd

View File

@@ -21463,6 +21463,170 @@ AS
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key(+);
CREATE OR REPLACE VIEW CAD_V_THEMA_DEEL_RES_TODAY
(
FCLT_F_DATUM,
INS_DEEL_KEY,
MIN_VAN,
MAX_TOT,
WAARDE1,
WAARDE,
WAARDE3
)
AS
WITH
datums
AS
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
FROM DUAL
CONNECT BY LEVEL <= 42)
SELECT datum
fclt_f_datum,
ins_deel_key,
MIN (res_rsv_deel_van)
min_van,
MAX (res_rsv_deel_tot)
max_tot,
CASE WHEN MAX (res_rsv_deel_tot) IS NULL THEN 0 ELSE 3 -- hele dag
END
waarde1,
CASE
WHEN MAX (res_rsv_deel_tot) IS NULL THEN 0
WHEN TO_CHAR (MAX (res_rsv_deel_tot), 'HH24') <= 13 THEN 1 -- ochtend
WHEN TO_CHAR (MIN (res_rsv_deel_van), 'HH24') >= 12 THEN 2 -- middag
ELSE 3 -- hele dag
END
waarde,
COUNT (res_rsv_deel_tot) -- aantal reservering deze dag
waarde3
FROM (SELECT datums.datum,
res_ins_deel_key ins_deel_key,
res_rsv_deel_van,
res_rsv_deel_tot
FROM res_v_aanwezigdeel r,
ins_deel d,
datums,
(SELECT datum,
res_deel_key,
res_rsv_deel_van,
res_rsv_deel_tot
FROM datums, res_v_aanwezigrsv_deel rrd
WHERE res_rsv_deel_van > TRUNC (SYSDATE) - 1 -- negeer alle irrelevante historie sowieso
AND datum + 1 >= res_rsv_deel_van
AND datum < res_rsv_deel_tot) blokkerend -- vandaag en nog niet afgelopen
WHERE r.res_deel_key = blokkerend.res_deel_key(+)
AND datums.datum = blokkerend.datum(+)
AND datums.datum = TRUNC (SYSDATE) -- Deze view: alleen vandaag!
AND ( r.res_deel_vervaldatum IS NULL
OR r.res_deel_vervaldatum > datums.datum)
AND d.ins_deel_key = r.res_ins_deel_key)
GROUP BY datum, ins_deel_key
ORDER BY datum, ins_deel_key;
CREATE OR REPLACE VIEW FMHN_V_LABEL_DEEL_RES_TODAY
(
FCLT_F_DATUM,
INS_DEEL_KEY,
RES_DEEL_OMSCHRIJVING,
WAARDE1,
WAARDE,
WAARDE3,
WAARDE_HTML,
WAARDE_HTML2,
TOOLTIP
)
AS
WITH
datums
AS
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
FROM DUAL
CONNECT BY LEVEL <= 42)
SELECT datums.datum fclt_f_datum,
isd.res_ins_deel_key ins_deel_key,
res_deel_omschrijving,
CHR (10)
|| LISTAGG (
DECODE (
naam,
NULL, '',
'[s40]'
|| naam
|| ' ('
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| '-'
|| DECODE (
TRUNC (res_rsv_deel_tot),
TRUNC (res_rsv_deel_van), TO_CHAR (
res_rsv_deel_tot,
'HH24:MI'),
TO_CHAR (res_rsv_deel_tot, 'DD-MM-YYYY HH24:MI'))
|| ')'),
CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde1,
CHR (10)
|| LISTAGG (
DECODE (
naam,
NULL, '',
'[s40]'
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| ' '
|| naam),
CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde2,
CHR (10)
|| LISTAGG (DECODE (naam, NULL, '', '[s40]' || naam), CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde3,
LISTAGG (
DECODE (
naam,
NULL, '',
'<span class="body">'
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| ' '
|| naam
|| '</span>'),
'<br>')
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde_html,
LISTAGG (
DECODE (naam,
NULL, '',
'<span class="body">' || naam || '</span>'),
'<br>')
WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde_html2,
res_deel_opmerking
FROM res_v_aanwezigdeel isd,
datums,
(SELECT datum,
res_ins_deel_key,
DECODE (p.prs_perslid_visibility,
1, pf.prs_perslid_naam_friendly,
a.prs_afdeling_omschrijving) naam,
res_rsv_deel_van,
res_rsv_deel_tot
FROM res_v_aanwezigdeel r,
res_v_aanwezigrsv_deel rrd,
res_rsv_ruimte rrr,
prs_v_perslid_fullnames pf,
prs_perslid p,
prs_afdeling a,
datums
WHERE r.res_deel_key = rrd.res_deel_key
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key
AND pf.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND datum + 1 >= res_rsv_deel_van
AND datum < res_rsv_deel_tot) res -- Bezet
WHERE isd.res_ins_deel_key = res.res_ins_deel_key(+)
AND datums.datum = res.datum(+)
AND datums.datum = TRUNC (SYSDATE) -- Deze view: alleen vandaag!
GROUP BY datums.datum,
isd.res_ins_deel_key,
res_deel_omschrijving,
res_deel_opmerking;
------ payload end ------
SET DEFINE OFF