diff --git a/CAD/CAD_VIE.SRC b/CAD/CAD_VIE.SRC index fc712c11..81858e56 100644 --- a/CAD/CAD_VIE.SRC +++ b/CAD/CAD_VIE.SRC @@ -742,42 +742,44 @@ CREATE_VIEW(cad_v_thema_srtruimtesensor, 0) ) AS -- zalen met een sensor - SELECT r.alg_ruimte_key, - DECODE ( - INITCAP (d.ins_deel_state), - '0', -- als de sensor uit is kijken we naar de reservering - DECODE (r2a.res_reservering_key, - NULL, '0', -- als er geen reservering gescheduled staat is de status uit - DECODE (eerste10min, 1, '1', 'NoShow')), -- in de eerste 10 minuten v/d reservering melden we nog geen noshow - '1') - status - FROM alg_ruimte r, - ins_deel d, - ins_srtdeel sd, - (SELECT rr2a.res_reservering_key, - rr2a.alg_ruimte_key, - CASE WHEN (SYSDATE - res_rsv_ruimte_van > 10 / 1440) - THEN 0 - ELSE 1 - END eerste10min - FROM res_v_rsv_ruimte_2_alg_ruimte rr2a - WHERE res_rsv_ruimte_dirtlevel = 0 - AND rr2a.res_alg_ruimte_verwijder IS NULL - AND rr2a.res_rsv_ruimte_van BETWEEN TRUNC(SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen - AND rr2a.res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC(SYSDATE + 1)) r2a - WHERE r.alg_ruimte_verwijder IS NULL - AND d.ins_deel_verwijder IS NULL - AND d.ins_alg_ruimte_type = 'R' - AND d.ins_alg_ruimte_key = r.alg_ruimte_key - AND d.ins_srtdeel_key = sd.ins_srtdeel_key - AND sd.ins_srtgroep_key = fac.getSetting('ins_occupationsensors_srtgroep_key') - AND d.ins_deel_state IS NOT NULL - AND r.alg_ruimte_key = r2a.alg_ruimte_key(+) + SELECT alg_ruimte_key, DECODE (MAX (status), 0, 'Uit', 2, 'Aan', 'NoShow') + FROM ( SELECT r.alg_ruimte_key, + DECODE ( + INITCAP (d.ins_deel_state), + '0', -- als de sensor uit is kijken we naar de reservering + DECODE (r2a.res_reservering_key, + NULL, 0, -- als er geen reservering gescheduled staat is de status uit + DECODE (eerste10min, 1, 2, 1)), -- in de eerste 10 minuten v/d reservering melden we nog geen noshow(1) aan(2) + 2) + status + FROM alg_ruimte r, + ins_deel d, + ins_srtdeel sd, + (SELECT rr2a.res_reservering_key, + rr2a.alg_ruimte_key, + CASE WHEN (SYSDATE - res_rsv_ruimte_van > 10 / 1440) + THEN 0 + ELSE 1 + END eerste10min + FROM res_v_rsv_ruimte_2_alg_ruimte rr2a + WHERE res_rsv_ruimte_dirtlevel = 0 + AND rr2a.res_alg_ruimte_verwijder IS NULL + AND rr2a.res_rsv_ruimte_van BETWEEN TRUNC(SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen + AND rr2a.res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC(SYSDATE + 1)) r2a + WHERE r.alg_ruimte_verwijder IS NULL + AND d.ins_deel_verwijder IS NULL + AND d.ins_alg_ruimte_type = 'R' + AND d.ins_alg_ruimte_key = r.alg_ruimte_key + AND d.ins_srtdeel_key = sd.ins_srtdeel_key + AND sd.ins_srtgroep_key = fac.getSetting('ins_occupationsensors_srtgroep_key') + AND d.ins_deel_state IS NOT NULL + AND r.alg_ruimte_key = r2a.alg_ruimte_key(+)) + GROUP BY alg_ruimte_key UNION ALL -- en dan de ruimten zonder sensor SELECT r.alg_ruimte_key, DECODE (rr.res_ruimte_key, -- is dit een vergaderruimte? NULL, '*' || sr.alg_srtruimte_omschrijving, - DECODE (r2a.res_reservering_key, NULL, '0', '1')) + DECODE (r2a.res_reservering_key, NULL, 0, 2)) -- 0 uit / 1 noshow / 2 aan FROM alg_v_aanwezigruimte r, alg_srtruimte sr, (SELECT rr2a.res_reservering_key, rr2a.alg_ruimte_key