FSN#27309 Informatiebord reserveringen betere defaults
svn path=/Database/trunk/; revision=18936
This commit is contained in:
@@ -37,8 +37,6 @@ INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_leg
|
||||
VALUES (2,'99','FF0000','99');
|
||||
|
||||
|
||||
/* zijn de functies hier al bekend? */
|
||||
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
|
||||
SELECT 'Ruimtefunctie', 1, 'cad_v_thema_srtruimte', 1, fac_functie_key
|
||||
FROM fac_functie
|
||||
@@ -54,6 +52,27 @@ INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view,
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
INSERT INTO CAD_THEMA
|
||||
( CAD_THEMA_OMSCHRIJVING, CAD_LEGENDA_KEY, CAD_THEMA_VIEW, CAD_THEMA_TYPE, fac_functie_key )
|
||||
SELECT 'Bezetting: aantal werkplekken', 1, 'CAD_V_THEMA_AANTALWP', '1', fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_PRSBOF';
|
||||
|
||||
INSERT INTO CAD_THEMA
|
||||
( CAD_THEMA_OMSCHRIJVING, CAD_LEGENDA_KEY, CAD_THEMA_VIEW,CAD_THEMA_TYPE, fac_functie_key )
|
||||
SELECT 'Oppervlakte: Gemiddeld/werkplek', 1, 'CAD_V_THEMA_WPOPP', '1', fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_PRSBOF';
|
||||
|
||||
-- NB: deze gaat met vaste key 12, een harde default voor infobord.
|
||||
INSERT INTO cad_thema
|
||||
( cad_thema_key, cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key )
|
||||
SELECT 12, 'Actuele bezetting', 1, 'cad_v_thema_srtruimtesensor', '1', fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_RESFOF';
|
||||
-- De cad_thema_key sequence gaat later vanzelf wel verder met 21.
|
||||
|
||||
|
||||
|
||||
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, fac_functie_key, cad_label_size)
|
||||
SELECT 'Ruimtefunctie/opp', 'cad_v_label_srtruimteopp', 1, fac_functie_key, 360
|
||||
@@ -65,16 +84,6 @@ INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, f
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_PRSUSE';
|
||||
|
||||
INSERT INTO CAD_THEMA
|
||||
( CAD_THEMA_OMSCHRIJVING, CAD_LEGENDA_KEY, CAD_THEMA_VIEW, CAD_THEMA_TYPE, fac_functie_key )
|
||||
SELECT 'Bezetting: aantal werkplekken', 1, 'CAD_V_THEMA_AANTALWP', '1', fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_PRSBOF';
|
||||
INSERT INTO CAD_THEMA
|
||||
( CAD_THEMA_OMSCHRIJVING, CAD_LEGENDA_KEY, CAD_THEMA_VIEW,CAD_THEMA_TYPE, fac_functie_key )
|
||||
SELECT 'Oppervlakte: Gemiddeld/werkplek', 1, 'CAD_V_THEMA_WPOPP', '1', fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_PRSBOF';
|
||||
INSERT INTO CAD_LABEL
|
||||
( CAD_LABEL_OMSCHRIJVING, CAD_LABEL_VIEW, CAD_LABEL_TYPE, CAD_LABEL_SIZE, FAC_FUNCTIE_KEY )
|
||||
SELECT 'Werkplekken', 'cad_v_label_werkplekken', '1', 800, fac_functie_key
|
||||
@@ -91,6 +100,14 @@ INSERT INTO CAD_LABEL
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_ALGUSE';
|
||||
|
||||
-- NB: deze gaat met vaste key 12, een harde default voor infobord.
|
||||
INSERT INTO cad_label
|
||||
( cad_label_key, cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, fac_functie_key )
|
||||
SELECT 12, 'Flexibele ruimtes', 'cad_v_label_bezetbareruimtes', '1', -500, fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_RESFOF';
|
||||
-- De cad_label_key sequence gaat later vanzelf wel verder met 21.
|
||||
|
||||
REGISTERONCE('$Workfile: CAD_INI.SRC $','$Revision$')
|
||||
|
||||
#endif // CAD
|
||||
|
||||
@@ -628,6 +628,32 @@ AS
|
||||
blokkerend.res_ruimte_opstel_key(+))
|
||||
GROUP BY alg_ruimte_key;
|
||||
|
||||
-- Reserveerbare ruimtes label thema, toont de ruimtenaam van
|
||||
-- ruimtes die reserveerbaar zijn, hetzij door een reservering,
|
||||
-- hetzij door een sensor
|
||||
-- DEZE VIEW WORDT STANDAARD GEBRUIKT ALS DEFAULT THEMA VOOR HET INFOBORD
|
||||
CREATE_VIEW(cad_v_label_bezetbareruimtes, 0)
|
||||
(
|
||||
alg_ruimte_key,
|
||||
waarde
|
||||
)
|
||||
AS
|
||||
SELECT rar.alg_ruimte_key, MIN (res_ruimte_nr) waarde
|
||||
FROM res_ruimte_opstelling rro, res_ruimte rr, res_alg_ruimte rar
|
||||
WHERE rro.res_ruimte_key = rr.res_ruimte_key
|
||||
AND rar.res_ruimte_key = rr.res_ruimte_key
|
||||
AND rar.res_alg_ruimte_verwijder IS NULL
|
||||
GROUP BY rar.alg_ruimte_key
|
||||
UNION
|
||||
SELECT alg_ruimte_key, alg_ruimte_nr
|
||||
FROM alg_ruimte r, ins_deel
|
||||
WHERE ins_alg_ruimte_key = alg_ruimte_key
|
||||
AND ins_alg_ruimte_type = 'R'
|
||||
AND ins_deel_state IS NOT NULL
|
||||
AND NOT EXISTS (SELECT ''
|
||||
FROM res_alg_ruimte
|
||||
WHERE alg_ruimte_key = r.alg_ruimte_key);
|
||||
|
||||
-- Reserveerbare ruimtes label thema
|
||||
-- Let op: Toont *eerstvolgende* reservering als die binnen een uur begint
|
||||
CREATE_VIEW(cad_v_label_ruimte_reservering,0)
|
||||
@@ -717,6 +743,72 @@ AS
|
||||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||||
AND d.ins_deel_state IS NOT NULL;
|
||||
|
||||
-- Kleurenthema dat reserveringen en actuele bezetting weergeeft
|
||||
-- Geeft van de overige ruimte de ruimtesoort terug
|
||||
-- DEZE VIEW WORDT STANDAARD GEBRUIKT ALS DEFAULT THEMA VOOR HET INFOBORD
|
||||
CREATE_VIEW(cad_v_thema_srtruimtesensor, 0)
|
||||
(
|
||||
alg_ruimte_key,
|
||||
waarde
|
||||
)
|
||||
AS
|
||||
-- zalen met een sensor
|
||||
SELECT r.alg_ruimte_key,
|
||||
DECODE (
|
||||
INITCAP (d.ins_deel_state),
|
||||
'Uit', -- als de sensor uit is kijken we naar de reservering
|
||||
DECODE (r2a.res_reservering_key,
|
||||
NULL, 'Uit', -- als er geen reservering gescheduled staat is de status uit
|
||||
DECODE (eerste10min, 1, 'Aan', 'NoShow')), -- in de eerste 10 minuten v/d reservering melden we nog geen noshow
|
||||
'Aan')
|
||||
status
|
||||
FROM alg_ruimte r,
|
||||
ins_deel d,
|
||||
(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 < SYSDATE
|
||||
AND rr2a.res_rsv_ruimte_tot > SYSDATE) 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_deel_state IS NOT NULL
|
||||
AND r.alg_ruimte_key = r2a.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, 'Uit', 'Aan'))
|
||||
FROM alg_v_aanwezigruimte r,
|
||||
alg_srtruimte sr,
|
||||
(SELECT rr2a.res_reservering_key, rr2a.alg_ruimte_key
|
||||
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 < SYSDATE
|
||||
AND rr2a.res_rsv_ruimte_tot > SYSDATE) r2a,
|
||||
( SELECT alg_ruimte_key, MAX (res_ruimte_key) res_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NULL
|
||||
GROUP BY alg_ruimte_key) rr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
|
||||
AND r.alg_ruimte_key = r2a.alg_ruimte_key(+)
|
||||
AND r.alg_ruimte_key = rr.alg_ruimte_key(+)
|
||||
AND NOT EXISTS
|
||||
(SELECT r.alg_ruimte_key
|
||||
FROM ins_deel d
|
||||
WHERE 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_deel_state IS NOT NULL);
|
||||
|
||||
CREATE_VIEW(cad_v_thema_wpsensor,0)
|
||||
(
|
||||
prs_werkplek_key,
|
||||
|
||||
Reference in New Issue
Block a user