KFNS#62486 Reserveren werkplekken

svn path=/Customer/trunk/; revision=47526
This commit is contained in:
Maarten van der Heide
2020-07-24 10:04:41 +00:00
parent 83a95f9726
commit 1ad78e7bb0

View File

@@ -2,7 +2,6 @@
-- $Id$
--
-- Script containing customer specific db-configuration for KFNS.
DEFINE thisfile = 'KFNS.SQL'
DEFINE dbuser = '^KFNS'
@@ -9790,6 +9789,48 @@ AS
SELECT * FROM kfns_v_kpi_ew51
UNION ALL
SELECT * FROM kfns_v_kpi_ew52
--UNION ALL
--SELECT * FROM kfns_v_kpi_asito11
--UNION ALL
--SELECT * FROM kfns_v_kpi_asito12
--UNION ALL
--SELECT * FROM kfns_v_kpi_asito13
--UNION ALL
--SELECT * FROM kfns_v_kpi_asito21
--UNION ALL
--SELECT * FROM kfns_v_kpi_asito22
--UNION ALL
--SELECT * FROM kfns_v_kpi_asito31
--UNION ALL
--SELECT * FROM kfns_v_kpi_asito51
--UNION ALL
--SELECT * FROM kfns_v_kpi_csu11
--UNION ALL
--SELECT * FROM kfns_v_kpi_csu12
--UNION ALL
--SELECT * FROM kfns_v_kpi_csu13
--UNION ALL
--SELECT * FROM kfns_v_kpi_csu21
--UNION ALL
--SELECT * FROM kfns_v_kpi_csu22
--UNION ALL
--SELECT * FROM kfns_v_kpi_csu31
--UNION ALL
--SELECT * FROM kfns_v_kpi_csu51
--UNION ALL
--SELECT * FROM kfns_v_kpi_victoria11
--UNION ALL
--SELECT * FROM kfns_v_kpi_victoria12
--UNION ALL
--SELECT * FROM kfns_v_kpi_victoria13
--UNION ALL
--SELECT * FROM kfns_v_kpi_victoria21
--UNION ALL
--SELECT * FROM kfns_v_kpi_victoria22
--UNION ALL
--SELECT * FROM kfns_v_kpi_victoria31
--UNION ALL
--SELECT * FROM kfns_v_kpi_victoria51
UNION ALL
SELECT * FROM kfns_v_kpi_gispen11
UNION ALL
@@ -9898,6 +9939,48 @@ AS
SELECT * FROM kfns_v_kpi_sws51
UNION ALL
SELECT * FROM kfns_v_kpi_sws52
--UNION ALL
--SELECT * FROM kfns_v_kpi_4some11
--UNION ALL
--SELECT * FROM kfns_v_kpi_4some12
--UNION ALL
--SELECT * FROM kfns_v_kpi_4some22
--UNION ALL
--SELECT * FROM kfns_v_kpi_4some24
--UNION ALL
--SELECT * FROM kfns_v_kpi_4some25
--UNION ALL
--SELECT * FROM kfns_v_kpi_4some31
--UNION ALL
--SELECT * FROM kfns_v_kpi_4some51
--UNION ALL
--SELECT * FROM kfns_v_kpi_facilicom11
--UNION ALL
--SELECT * FROM kfns_v_kpi_facilicom12
--UNION ALL
--SELECT * FROM kfns_v_kpi_facilicom22
--UNION ALL
--SELECT * FROM kfns_v_kpi_facilicom24
--UNION ALL
--SELECT * FROM kfns_v_kpi_facilicom25
--UNION ALL
--SELECT * FROM kfns_v_kpi_facilicom31
--UNION ALL
--SELECT * FROM kfns_v_kpi_facilicom51
--UNION ALL
--SELECT * FROM kfns_v_kpi_homij11
--UNION ALL
--SELECT * FROM kfns_v_kpi_homij12
--UNION ALL
--SELECT * FROM kfns_v_kpi_homij22
--UNION ALL
--SELECT * FROM kfns_v_kpi_homij24
--UNION ALL
--SELECT * FROM kfns_v_kpi_homij25
--UNION ALL
--SELECT * FROM kfns_v_kpi_homij31
--UNION ALL
--SELECT * FROM kfns_v_kpi_homij51
UNION ALL
SELECT * FROM kfns_v_kpi_uts11
UNION ALL
@@ -11035,6 +11118,83 @@ EXCEPTION
END;
/
-- KFNS#62486: Reserveren werkplekken!
CREATE OR REPLACE VIEW kfns_v_thema_srtruimtesensor
(
alg_ruimte_key,
waarde
)
AS
SELECT alg_ruimte_key, -- Ruimten met sensor!
DECODE (MAX (status), 0, 'Uit', 2, 'Aan', 'NoShow')
FROM (SELECT r.alg_ruimte_key,
DECODE (
INITCAP (d.ins_deel_state),
'0', -- Als sensor uit, dan kijken naar de reservering
DECODE (r2a.res_reservering_key,
NULL, 0, -- Geen reservering, dan dus Uit(0)
DECODE (eerste10min, 1, 2, 1)), -- Eerste 10 minuten nog Aan(2), daarna NoShow(1)
2)
status
FROM alg_v_aanwezigruimte r,
ins_v_aanwezigdeel d,
ins_srtdeel sd,
(SELECT alg_ruimte_key,
res_reservering_key,
CASE
WHEN (SYSDATE - res_rsv_ruimte_van > 10 / 1440)
THEN 0
ELSE 1
END
eerste10min
FROM res_v_rsv_ruimte_2_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
AND res_rsv_ruimte_dirtlevel = 0
AND res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen!
AND res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC(SYSDATE + 1)) r2a
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key
AND d.ins_discipline_key = 2221 -- Werkplek
AND d.ins_alg_ruimte_type = 'R'
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 -- 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')) -- Uit(0)/NoShow(1)/Aan(2)
FROM alg_v_aanwezigruimte r,
alg_srtruimte sr,
(SELECT alg_ruimte_key, res_reservering_key
FROM res_v_rsv_ruimte_2_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
AND res_rsv_ruimte_dirtlevel = 0
AND res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen!
AND res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC (SYSDATE + 1)) 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 EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d2, alg_ruimte r2
WHERE d2.ins_discipline_key = 2221
AND d2.ins_alg_ruimte_key = r2.alg_ruimte_key
AND r2.alg_verdieping_key = r.alg_verdieping_key)
AND NOT EXISTS
(SELECT r.alg_ruimte_key
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
WHERE d.ins_alg_ruimte_type = 'R'
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 d.ins_alg_ruimte_key = r.alg_ruimte_key);
------ payload end ------
SET DEFINE OFF