diff --git a/DEMO/demo.sql b/DEMO/demo.sql index afa4ede8d..446f5a63f 100644 --- a/DEMO/demo.sql +++ b/DEMO/demo.sql @@ -4949,6 +4949,147 @@ AS AND choice.fac_gui_counter_refkey(+) = fgc.fac_gui_counter_key AND result.fac_gui_counter_refkey(+) = fgc.fac_gui_counter_key; +-- Beurs 2020, sensoren bij flexplekken (ins_deel - ins_deel koppeling) +CREATE OR REPLACE VIEW DEMO_V_THEMA_DEEL_RES_SENSOR +( + INS_DEEL_KEY, + INS_ALG_RUIMTE_KEY, + WAARDE +) +BEQUEATH DEFINER +AS + SELECT r.ins_deel_key, + r.ins_alg_ruimte_key, + -- k.vaste_bezetting, + -- s.sensor, + -- s.sensor_status, + -- r.tijdvrij, + DECODE ( + k.vaste_bezetting, -- vaste bezetter gaat voor alles, FLEX030 heeft een vaste gebruiker + NULL, (DECODE ( + s.sensor_status, --- dan kijken of er een sensor op 1 staat + 1, 1, + COALESCE (MIN (TRUNC (r.tijdvrij * 24 * 60) - 1), + 999999))), + 1) WAARDE + FROM (SELECT r.res_ins_deel_key ins_deel_key, + d.ins_alg_ruimte_key, + blokkerend.res_rsv_deel_van - SYSDATE tijdvrij + FROM res_v_aanwezigdeel r, + ins_deel d, + (SELECT res_deel_key, res_rsv_deel_van, res_rsv_deel_tot + FROM res_v_aanwezigrsv_deel + WHERE SYSDATE BETWEEN TRUNC (res_rsv_deel_van) + AND res_rsv_deel_tot) blokkerend -- Vandaag en nog niet afgelopen + WHERE r.res_ins_deel_key = d.ins_deel_key + AND d.ins_alg_ruimte_type = 'R' + AND d.ins_srtdeel_key = 48701 --- alleen flexplekken + AND r.res_deel_key = blokkerend.res_deel_key(+)) r, + (SELECT ins_deel_key, ins_kenmerkdeel_waarde vaste_bezetting + FROM ins_v_aanwezigkenmerkdeel + WHERE ins_kenmerk_key = 1141) k, -- Bezet door + (SELECT dk.ins_deelkoppeling_van_key flexplek_deel_key, + d.ins_deel_omschrijving sensor, + d.ins_deel_state sensor_status + FROM ins_deelkoppeling dk, ins_deel d + WHERE d.ins_deel_key = dk.ins_deelkoppeling_naar_key + AND d.ins_srtdeel_key IN (48802, 48803)) s ---- Sensoren + WHERE r.ins_deel_key = k.ins_deel_key(+) + AND r.ins_deel_key = s.flexplek_deel_key(+) + GROUP BY r.ins_deel_key, + r.ins_alg_ruimte_key, + k.vaste_bezetting, + s.sensor, + sensor_status, + r.tijdvrij; + +CREATE OR REPLACE VIEW demo_v_rap_res_looplijst +AS + SELECT DISTINCT + TO_CHAR (rr.res_rsv_ruimte_van, 'yyyy-mm-dd') + || rg.alg_gebouw_upper + || TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi') + hide_f_srt, + rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr nr, + rg.alg_gebouw_omschrijving fclt_f_gebouw, + rr.res_rsv_ruimte_van datum, + TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi') begintijd, + TO_CHAR (rr.res_rsv_ruimte_tot, 'hh24:mi') eindtijd, + r.res_ruimte_nr fclt_f_ruimte, + o.res_opstelling_omschrijving opstelling, + rr.res_rsv_ruimte_bezoekers aantal, + rr.res_rsv_ruimte_omschrijving omschrijving, + mld.aant Meldingen, + voorzieningen, + CASE + WHEN LENGTH (catering) > 75 + THEN + SUBSTR (catering, 1, 75) || ' ...' + ELSE + catering + END + catering, + rr.res_rsv_ruimte_key + FROM res_rsv_ruimte rr, + res_ruimte_opstelling ro, + res_opstelling o, + res_ruimte r, + res_alg_ruimte ar, + alg_v_ruimte_gegevens rg, + ( SELECT res_rsv_ruimte_key, + 'Ja (' || COUNT (res_rsv_ruimte_key) || ')' aant + FROM mld_melding + WHERE res_rsv_ruimte_key IS NOT NULL + GROUP BY res_rsv_ruimte_key) mld, + ( SELECT res_rsv_ruimte_key, + LISTAGG (voorziening, CHR (13) || CHR (10)) + WITHIN GROUP (ORDER BY voorziening) + AS Voorzieningen + FROM (SELECT res_rsv_ruimte_key, + res_deel_omschrijving voorziening + FROM res_deel rd, res_rsv_deel rrd + WHERE RES_RSV_DEEL_verwijder IS NULL + AND rd.res_deel_key = rrd.res_deel_key + AND res_rsv_ruimte_key IS NOT NULL) + GROUP BY res_rsv_ruimte_key) voorz, + ( SELECT res_rsv_ruimte_key, + LISTAGG (artikel, ', ') WITHIN GROUP (ORDER BY artikel) + AS catering + FROM (SELECT res_rsv_ruimte_key, + res_rsv_artikel_aantal + || '*' + || res_artikel_omschrijving + artikel + FROM res_artikel ra, res_rsv_artikel rra + WHERE RES_RSV_artikel_verwijder IS NULL + AND ra.res_artikel_key = rra.res_artikel_key + AND res_rsv_ruimte_key IS NOT NULL) + GROUP BY res_rsv_ruimte_key) cat + WHERE rr.res_rsv_ruimte_verwijder IS NULL + AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key + AND o.res_opstelling_key = ro.res_opstelling_key + AND r.res_ruimte_key = ro.res_ruimte_key + AND ar.res_ruimte_key = r.res_ruimte_key + AND ar.res_alg_ruimte_verwijder IS NULL + AND rg.alg_ruimte_key = ar.alg_ruimte_key + AND mld.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key + AND voorz.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key + AND cat.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key; + + +CREATE OR REPLACE VIEW demo_v_rap_mob_looplijst +AS + SELECT * + FROM demo_v_rap_res_looplijst dvr + WHERE TRUNC (datum) = TRUNC (SYSDATE) + AND NOT EXISTS + (SELECT '1' + FROM res_kenmerkwaarde rk, res_kenmerk k + WHERE rk.res_kenmerk_key = k.res_kenmerk_key + AND res_srtkenmerk_key = 101 + AND rk.res_rsv_ruimte_key = dvr.res_rsv_ruimte_key + AND fac.safe_to_number ( + res_kenmerkreservering_waarde) = 1); ------ payload end ------