From dcb09947cd6cb0510a4e5380cd32e899c6ec8c40 Mon Sep 17 00:00:00 2001 From: Sander Schepers Date: Wed, 21 Jun 2023 11:47:37 +0000 Subject: [PATCH] FMHN#78760 Werkplek proeftuin KK4: Op schermen per etage tonen wat de beschikbaarheid is svn path=/Customer/trunk/; revision=60874 --- FMHN/fmhn.sql | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) diff --git a/FMHN/fmhn.sql b/FMHN/fmhn.sql index 221098301..44d681510 100644 --- a/FMHN/fmhn.sql +++ b/FMHN/fmhn.sql @@ -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, '', + '' + || TO_CHAR (res_rsv_deel_van, 'HH24:MI') + || ' ' + || naam + || ''), + '
') + WITHIN GROUP (ORDER BY res_rsv_deel_van) waarde_html, + LISTAGG ( + DECODE (naam, + NULL, '', + '' || naam || ''), + '
') + 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