FSN#30278 -- Sensorstatus van AAN/UIT naar 1/0

svn path=/Database/trunk/; revision=22782
This commit is contained in:
Arthur Egberink
2014-10-03 14:19:45 +00:00
parent 6ff065a738
commit be9031e5df

View File

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