Files
Database/PRJ/PRJ_VIE.SRC
Jos Groot Lipman 38477d439f Betere label views
svn path=/Database/trunk/; revision=9274
2006-06-22 09:20:42 +00:00

536 lines
28 KiB
Plaintext

#ifdef PRJ
/* PRJ_VIE.SRC
*
* $Revision: 57 $
* $Modtime: 22-06-06 9:20 $
*/
#include "comsql.h"
-- selecteer alle verdiepingen van een bepaald project
CREATE_VIEW(prj_v_alg_verdiepingen, PRJ_NORMAAL_PRIVILEGE)
AS
SELECT DISTINCT alg_verdieping_key, prj_scenario_key
FROM prj_ruimte
WHERE alg_verdieping_key IS NOT NULL;
-- aanduiding ruimten van ALG
CREATE_VIEW(prj_v_alg_ruimte_aanduiding, PRJ_NORMAAL_PRIVILEGE)
AS SELECT ALG_R.alg_ruimte_key
, to_number(NULL) prj_scenario_key
, ALG_G.alg_gebouw_code ||' - '
|| ALG_V.alg_verdieping_code ||' - '
|| ALG_R.alg_ruimte_nr plaatsaanduiding
FROM alg_ruimte ALG_R
, alg_verdieping ALG_V
, alg_gebouw ALG_G
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key;
-- wat suggesties:(gebruiken we ..1 en..2 of alg vs prj?)
CREATE_VIEW(prj_v_ruimte_voor_en_na, 0) (alg_verdieping_key,
alg_ruimte_key1,
alg_ruimte_nr1,
alg_srtruimte_key1,
alg_srtruimte_omschrijving1,
alg_ruimte_bruto_vloeropp1,
alg_ruimte_nr2,
alg_srtruimte_key2,
alg_srtruimte_omschrijving2,
alg_ruimte_bruto_vloeropp2
)
AS
SELECT rx.alg_verdieping_key, rx.alg_ruimte_key, r.alg_ruimte_nr, r.alg_srtruimte_key,
sr1.alg_srtruimte_omschrijving, r.alg_ruimte_bruto_vloeropp, rx.prj_ruimte_nr, rx.alg_srtruimte_key,
sr2.alg_srtruimte_omschrijving, rx.prj_ruimte_bruto_vloeropp
FROM prj_ruimte rx, alg_ruimte r, alg_srtruimte sr1, alg_srtruimte sr2
WHERE rx.alg_ruimte_key = r.alg_ruimte_key(+) AND r.alg_srtruimte_key = sr1.alg_srtruimte_key(+)
AND rx.alg_srtruimte_key = sr2.alg_srtruimte_key;
-- GRAFISCHE VIEWS
CREATE_VIEW (cad_v_sync_prj_ruimte,0)
(prj_scenario_key, prj_ruimte_key, alg_verdieping_key, cadlabel)
AS
SELECT r.prj_scenario_key, r.prj_ruimte_key, r.alg_verdieping_key, r.prj_ruimte_nr
FROM prj_ruimte r;
-- GRAFISCHE THEMAS
-- GRAFISCHE THEMAS
-- GRAFISCHE THEMAS
-- GRAFISCHE THEMAS
CREATE_VIEW (prj_v_cad_thema_aantalwp,0) (prj_ruimte_key, waarde)
AS
SELECT wp.prj_ruimte_key, COUNT (*)
FROM prj_werkplek wp
WHERE wp.prj_werkplek_verwijder IS NULL
GROUP BY prj_ruimte_key;
CREATE_VIEW (prj_v_cad_thema_afdeling,0) (prj_ruimte_key, waarde)
AS
SELECT wx.prj_ruimte_key, d.prs_afdeling_naam
FROM prs_afdeling d, prj_perslidwerkplek pwx, prj_werkplek wx
WHERE pwx.prj_werkplek_key = wx.prj_werkplek_key
AND pwx.prs_afdeling_key = d.prs_afdeling_key
AND pwx.prj_perslidwerkplek_verwijder IS NULL
AND wx.prj_werkplek_verwijder IS NULL
AND pwx.prs_perslid_key IS NULL
UNION
SELECT wx.prj_ruimte_key, d.prs_afdeling_naam
FROM prs_afdeling d, prj_perslidwerkplek pwx, prj_werkplek wx, prs_perslid p
WHERE pwx.prj_werkplek_key = wx.prj_werkplek_key
AND pwx.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key=d.prs_afdeling_key
AND pwx.prj_perslidwerkplek_verwijder IS NULL
AND wx.prj_werkplek_verwijder IS NULL
AND pwx.prs_perslid_key IS NOT NULL;
CREATE_VIEW (prj_v_cad_thema_srtruimte,0) (prj_ruimte_key, waarde)
AS
SELECT r.prj_ruimte_key, sr.alg_srtruimte_omschrijving
FROM prj_ruimte r, alg_srtruimte sr
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key;
// De gemiddelde oppervlakte per werkplek (GEEN rekening houdend met vaste werkplekoppervlaktes)
CREATE_VIEW (prj_v_cad_thema_wpopp,0) (prj_ruimte_key, waarde)
AS
SELECT wp.prj_ruimte_key, r.prj_ruimte_bruto_vloeropp / COUNT (prj_werkplek_key)
FROM prj_werkplek wp, prj_ruimte r
WHERE wp.prj_werkplek_verwijder IS NULL AND wp.prj_ruimte_key = r.prj_ruimte_key
GROUP BY wp.prj_ruimte_key, r.prj_ruimte_bruto_vloeropp;
// De hoeveelheid beschikbare oppervlakte (indien de werkplekken een vaste oppervlakte hebben, anders past het altijd)
CREATE_VIEW (prj_v_cad_thema_restopp,0) (prj_ruimte_key, waarde)
AS
SELECT wp.prj_ruimte_key, SUM (r.prj_ruimte_bruto_vloeropp - NVL (prj_werkplek_opp, 0))
FROM prj_werkplek wp, prj_ruimte r
WHERE wp.prj_werkplek_verwijder IS NULL
AND wp.prj_ruimte_key = r.prj_ruimte_key
AND wp.prj_werkplek_vastopp IS NOT NULL
GROUP BY wp.prj_ruimte_key;
// Hulpview voor de daaropvolgende
CREATE_VIEW (prj_v_cad_thema_onderhanden0, 0) (prj_ruimte_key1, prj_ruimte_key2)
AS
SELECT prj_rkey1, prj_rkey2
FROM (SELECT algprs.prs_werkplek_key oud_wpkey, prj_w.prs_werkplek_key new_wpkey, algprs.alg_ruimte_key oud_rkey,
prj_r.alg_ruimte_key new_rkey, prj_zoek.prj_ruimte_key prj_rkey1, prj_r.prj_ruimte_key prj_rkey2
FROM prj_ruimte prj_r,
prj_werkplek prj_w,
prj_perslidwerkplek prj_wp,
prj_ruimte prj_zoek,
(SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_pw.prs_perslidwerkplek_key,
prs_w.prs_alg_ruimte_key alg_ruimte_key, prs_pw.prs_afdeling_key,
TO_NUMBER (NULL) prs_perslid_key
FROM prs_v_aanwezigwerkplek prs_w, prs_v_aanwezigperslidwerkplek prs_pw
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
AND prs_pw.prs_afdeling_key IS NOT NULL
AND prs_w.prs_werkplek_virtueel = 0
UNION ALL
SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_pw.prs_perslidwerkplek_key,
prs_w.prs_alg_ruimte_key, prs_p.prs_afdeling_key, prs_pw.prs_perslid_key
FROM prs_v_aanwezigwerkplek prs_w, prs_v_aanwezigperslidwerkplek prs_pw, prs_perslid prs_p
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_w.prs_werkplek_virtueel = 0
UNION ALL
SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, TO_NUMBER (NULL), prs_w.prs_alg_ruimte_key,
TO_NUMBER (NULL), TO_NUMBER (NULL)
FROM prs_v_aanwezigwerkplek prs_w, prs_v_werkplek_bezetting prs_wb
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
AND prs_w.prs_werkplek_virtueel = 0
AND prs_wb.prs_werkplek_bezetting < 100) algprs
WHERE prj_wp.prs_perslidwerkplek_key = algprs.prs_perslidwerkplek_key
AND prj_wp.prj_werkplek_key = prj_w.prj_werkplek_key
AND prj_w.prj_ruimte_key = prj_r.prj_ruimte_key
AND algprs.alg_ruimte_key = prj_zoek.alg_ruimte_key)
WHERE oud_wpkey <> new_wpkey OR oud_rkey <> new_rkey;
// Boolean view die aangeeft waar iets gewijzigd is, de 1 en 2 maken het verschil tussen van en naar..
CREATE_VIEW (prj_v_cad_thema_onderhanden,0) (prj_ruimte_key, waarde)
AS
SELECT prj_ruimte_key1, '1'
FROM prj_v_cad_thema_onderhanden0
UNION ALL
SELECT prj_ruimte_key2, '2'
FROM prj_v_cad_thema_onderhanden0;
-- GRAFISCHE LABELS
-- GRAFISCHE LABELS
-- GRAFISCHE LABELS
-- GRAFISCHE LABELS
-- GRAFISCHE LABELS
CREATE_VIEW (prj_v_cad_label_bewoner,0) (prj_ruimte_key, waarde, label_soort, label_key, highlight)
AS
SELECT DISTINCT /*Voor als in meerdere buffers*/
prj_ruimte_key, waarde, label_soort, label_key, DECODE (prj_selectie_key, NULL, 0, 1) highlight
FROM (SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key, '* [' || prs_a.prs_afdeling_naam || ']' waarde,
'PRJ_PERSLIDWERKPLEK' label_soort, prs_pw.prj_perslidwerkplek_key label_key
FROM prj_ruimte prj_r, prj_werkplek prs_w, prj_perslidwerkplek prs_pw, prs_afdeling prs_a
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
AND prs_pw.prs_perslid_key IS NULL
AND prs_w.prj_werkplek_verwijder IS NULL
AND prs_pw.prj_perslidwerkplek_verwijder IS NULL
AND prs_pw.prs_afdeling_key = prs_a.prs_afdeling_key
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
UNION
SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
prs_p.prs_perslid_naam
|| DECODE (prs_p.prs_perslid_voorletters, NULL, '', ', ' || prs_p.prs_perslid_voorletters)
|| DECODE (prs_p.prs_perslid_voornaam, NULL, '', ' (' || prs_p.prs_perslid_voornaam || ')'),
'PRJ_PERSLIDWERKPLEK', prs_pw.prj_perslidwerkplek_key
FROM prj_ruimte prj_r, prj_werkplek prs_w, prj_perslidwerkplek prs_pw, prs_perslid prs_p
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_w.prj_werkplek_verwijder IS NULL
AND prs_pw.prj_perslidwerkplek_verwijder IS NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key) vdata,
prj_selectie ps
WHERE ps.prj_scenario_key(+) = vdata.prj_scenario_key AND ps.prj_selectie_tabelnaam(+) = label_soort
AND ps.prj_selectie_tabelkey(+) = label_key;
// Note: the subselect in the FROM is *necessary* to force these record to be retrieved by outer join
// else deleted prj_perslidwerkplek records are retrieved by inner join, and do not show up if
// the _verwijder IS NULL is then applied.
CREATE_VIEW (prj_v_cad_label_bewonerwp, 0) (prj_ruimte_key, waarde, label_soort, label_key, highlight)
AS
SELECT DISTINCT /*Voor als in meerdere buffers*/
prj_ruimte_key, waarde, label_soort, label_key, DECODE (prj_selectie_key, NULL, 0, 1)
FROM (SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
CHR (1)
|| prs_w.prj_werkplek_volgnr
|| ' * ['
|| prs_a.prs_afdeling_naam
|| ']: '
|| NUMBER_TO_CHAR (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0))
|| '%' waarde,
'PRJ_PERSLIDWERKPLEK' label_soort, prs_pw.prj_perslidwerkplek_key label_key
FROM prj_ruimte prj_r,
prj_werkplek prs_w,
(SELECT *
FROM prj_perslidwerkplek
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw,
prs_afdeling prs_a
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
AND prs_pw.prs_perslid_key IS NULL
AND prs_pw.prs_afdeling_key = prs_a.prs_afdeling_key
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
UNION
SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
CHR (1)
|| prs_w.prj_werkplek_volgnr
|| ' '
|| prs_p.prs_perslid_naam
|| DECODE (prs_p.prs_perslid_voorletters, NULL, '', ', ' || prs_p.prs_perslid_voorletters)
|| DECODE (prs_p.prs_perslid_voornaam, NULL, '', ' (' || prs_p.prs_perslid_voornaam || ')')
|| ': '
|| NUMBER_TO_CHAR (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0))
|| '%',
'PRJ_PERSLIDWERKPLEK', prs_pw.prj_perslidwerkplek_key
FROM prj_ruimte prj_r,
prj_werkplek prs_w,
(SELECT *
FROM prj_perslidwerkplek
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw,
prs_perslid prs_p
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
UNION
SELECT -1, prs_w.prj_ruimte_key,
CHR (1)
|| prs_w.prj_werkplek_volgnr
|| ' Vrij: '
|| NUMBER_TO_CHAR (100 - NVL (SUM (prs_wb.prj_perslidwerkplek_bezetting), 0))
|| '%',
'PRJ_WERKPLEK', prs_w.prj_werkplek_key
FROM prj_werkplek prs_w, (SELECT *
FROM prj_perslidwerkplek
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_wb
WHERE prs_w.prj_werkplek_key = prs_wb.prj_werkplek_key(+) AND prj_werkplek_verwijder IS NULL
GROUP BY prs_w.prj_ruimte_key, prs_w.prj_werkplek_key, prs_w.prj_werkplek_volgnr
HAVING SUM (NVL (prs_wb.prj_perslidwerkplek_bezetting, 0)) < 100) DATA,
prj_selectie ps
WHERE ps.prj_scenario_key(+) = DATA.prj_scenario_key AND ps.prj_selectie_tabelnaam(+) = label_soort
AND ps.prj_selectie_tabelkey(+) = label_key;
CREATE_VIEW(prj_v_werkplek_oppervlakte, 0) (prj_werkplek_key, wpopp)
AS
SELECT prj_werkplek_key,
DECODE (prj_werkplek_vastopp,1,
prj_werkplek_opp, (prj_ruimte_bruto_vloeropp - totvastopp)
/ vrijwp
) wpopp
FROM (SELECT prj_ruimte_key, COUNT (*),
COUNT (*) - COUNT (prj_werkplek_vastopp) vrijwp,
COUNT (prj_werkplek_vastopp) vastwp,
SUM (DECODE (prj_werkplek_vastopp,1,
prj_werkplek_opp, 0
)
) totvastopp
FROM prj_werkplek
WHERE prj_werkplek_verwijder is null
GROUP BY prj_ruimte_key) selopp,
prj_ruimte prj_r,
prj_werkplek prj_w
WHERE prj_r.prj_ruimte_key = prj_w.prj_ruimte_key
AND selopp.prj_ruimte_key = prj_r.prj_ruimte_key
AND prj_werkplek_verwijder is null
ORDER BY prj_werkplek_key;
CREATE_VIEW (prj_v_cad_label_werkplekken,0) (prj_ruimte_key, waarde, label_soort, label_key, highlight)
AS
SELECT prj_ruimte_key,
CHR (1)
|| prj_werkplek_volgnr
|| ' ('
|| NUMBER_TO_CHAR (wpopp, 'FM9999.0')
|| 'm2 '
|| NUMBER_TO_CHAR (bez)
|| '%)' waarde,
label_soort, label_key,
DECODE (SIGN (bez - 100),
1, 2,
DECODE (prj_selectie_key, NULL, 0, 1)
) highlight
FROM (SELECT prj_scenario_key, prs_w.prj_ruimte_key,
prs_w.prj_werkplek_volgnr,
SUM (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0)) bez,
'PRJ_WERKPLEK' label_soort,
prs_w.prj_werkplek_key label_key, wpopp
FROM prj_ruimte prj_r,
prj_werkplek prs_w,
prj_v_werkplek_oppervlakte pwo,
(SELECT *
FROM prj_perslidwerkplek
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key(+)
AND pwo.prj_werkplek_key(+) = prs_w.prj_werkplek_key
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
AND prs_w.prj_werkplek_verwijder IS NULL
-- AND prs_pw.prj_perslidwerkplek_verwijder IS NULL
GROUP BY prj_scenario_key,
prs_w.prj_ruimte_key,
prs_w.prj_werkplek_volgnr,
'PRJ_WERKPLEK',
prs_w.prj_werkplek_key,
wpopp) vdata,
prj_selectie ps
WHERE ps.prj_scenario_key(+) = vdata.prj_scenario_key
AND ps.prj_selectie_tabelnaam(+) = label_soort AND ps.prj_selectie_tabelkey(+) =
label_key;
//De objecten in een ruimte (de soort-keys kunnen worden gebruikt om onroerende objecten uit te sluiten)
CREATE_VIEW (prj_v_cad_label_object,0) (prj_ruimte_key,
waarde,
label_soort,
label_key,
fclt_ins_discipline_key,
ins_srtgroep_key,
ins_srtdeel_key
)
AS
SELECT prj_ruimte_key, s.ins_srtdeel_omschrijving || ' ' || prj_deel_omschrijving, 'PRJ_DEEL', prj_deel_key,
ins_discipline_key, g.ins_srtgroep_key, d.ins_srtdeel_key
FROM prj_deel d, ins_srtdeel s, ins_srtgroep g
WHERE d.ins_srtdeel_key = s.ins_srtdeel_key
AND d.prj_deel_verwijder IS NULL
AND g.ins_srtgroep_key = s.ins_srtgroep_key;
//----------------
// Personen met van en naar
CREATE_VIEW (prj_v_prs_verhuizing, 0)
(prj_scenario_key,
prs_perslid_key,
prs_afdeling_key,
alg_ruimte_key,
prs_werkplek_key,
alg_ruimte_key2,
prj_ruimte_key2,
prs_werkplek_key2,
prj_werkplek_key2
)
AS
SELECT rx.prj_scenario_key, p.prs_perslid_key, d.prs_afdeling_key, w.prs_alg_ruimte_key, w.prs_werkplek_key,
rx.alg_ruimte_key, rx.prj_ruimte_key, wx.prs_werkplek_key, wx.prj_werkplek_key
FROM prs_v_aanwezigperslid p,
prs_v_afdeling d,
prs_v_aanwezigwerkplek w,
prs_v_aanwezigperslidwerkplek pwp,
prj_werkplek wx,
prj_perslidwerkplek pwpx,
prj_ruimte rx
WHERE d.prs_afdeling_key = p.prs_afdeling_key
AND pwp.prs_perslid_key = p.prs_perslid_key
AND w.prs_werkplek_key = pwp.prs_werkplek_key
AND pwpx.prs_perslid_key(+) = p.prs_perslid_key
AND wx.prj_werkplek_key(+) = pwpx.prj_werkplek_key
AND rx.prj_ruimte_key(+) = wx.prj_ruimte_key
AND pwp.prs_perslid_key IS NOT NULL;
// afdelingen met van en naar
CREATE_VIEW (prj_v_afd_verhuizing, 0)
(prj_scenario_key,
prs_afdeling_key,
alg_ruimte_key,
prs_werkplek_key,
alg_ruimte_key2,
prj_ruimte_key2,
prs_werkplek_key2,
prj_werkplek_key2
)
AS
SELECT rx.prj_scenario_key, d.prs_afdeling_key, w.prs_alg_ruimte_key, w.prs_werkplek_key,
rx.alg_ruimte_key, rx.prj_ruimte_key, wx.prs_werkplek_key, wx.prj_werkplek_key
FROM prs_v_afdeling d,
prs_v_aanwezigwerkplek w,
prs_v_aanwezigperslidwerkplek pwp,
prj_werkplek wx,
prj_perslidwerkplek pwpx,
prj_ruimte rx
WHERE pwp.prs_afdeling_key = d.prs_afdeling_key
AND w.prs_werkplek_key = pwp.prs_werkplek_key
AND pwpx.prs_afdeling_key(+) = d.prs_afdeling_key
AND wx.prj_werkplek_key(+) = pwpx.prj_werkplek_key
AND rx.prj_ruimte_key(+) = wx.prj_ruimte_key
AND pwp.prs_afdeling_key IS NOT NULL;
// PRJ evenknie (met prs kolomnamen!)
#ifdef PFzijnnietgoedduswaarschijnlijknietgebruikt
CREATE_VIEW(prj_v_werkplek_gegevens, 0) (prj_scenario_key,
prs_werkplek_key,
prs_werkplek_volgnr,
prs_werkplek_omschrijving,
prs_werkplek_opp,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_ruimte_bruto_vloeropp,
alg_verdieping_key,
alg_verdieping_code,
alg_verdieping_volgnr,
alg_verdieping_omschrijving,
alg_gebouw_key,
alg_gebouw_code,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_locatie_key,
prs_werkplek_aanduiding,
alg_ruimte_omschrijving,
prs_werkplek_vastopp
)
AS
SELECT prs_w.prj_scenario_key, prs_w.prj_werkplek_key, prs_w.prj_werkplek_volgnr, prs_w.prj_werkplek_omschrijving,
prs_p_prs_bepaalwerkplekopp (prs_w.prj_werkplek_key,
alg_r.alg_ruimte_key,
alg_r.alg_ruimte_bruto_vloeropp,
prs_w.prj_werkplek_vastopp,
prs_w.prj_werkplek_opp,
NULL
),
alg_r.alg_ruimte_key, alg_r.alg_ruimte_nr, alg_r.alg_ruimte_upper_nr, alg_r.alg_ruimte_bruto_vloeropp,
alg_v.alg_verdieping_key, alg_v.alg_verdieping_code, alg_v.alg_verdieping_volgnr,
alg_v.alg_verdieping_omschrijving, alg_g.alg_gebouw_key, alg_g.alg_gebouw_code, alg_g.alg_gebouw_omschrijving,
alg_g.alg_gebouw_upper, alg_g.alg_locatie_key,
alg_l.alg_locatie_code
|| ' - '
|| alg_g.alg_gebouw_code
|| ' - '
|| alg_v.alg_verdieping_code
|| ' - '
|| alg_r.alg_ruimte_nr
|| '/'
|| NUMBER_TO_CHAR (prs_w.prj_werkplek_volgnr),
alg_r.alg_ruimte_omschrijving, prs_w.prj_werkplek_vastopp
FROM prj_werkplek prs_w, alg_ruimte alg_r, alg_verdieping alg_v, alg_gebouw alg_g, alg_locatie alg_l
WHERE alg_r.alg_verdieping_key = alg_v.alg_verdieping_key
AND alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
AND prs_w.prj_ruimte_key = alg_r.alg_ruimte_key
AND alg_g.alg_locatie_key = alg_l.alg_locatie_key;
CREATE_VIEW(prj_v_werkplekperslid_gegevens,0) (prj_scenario_key,
prs_perslidwerkplek_key,
prs_perslid_key,
prs_afdeling_key,
prs_naam,
prs_werkplek_key,
prs_werkplek_volgnr,
prs_werkplek_opp,
alg_locatie_key,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_verdieping_code,
alg_verdieping_omschrijving,
alg_ruimte_nr,
alg_ruimte_upper_nr
)
AS
SELECT prs_w.prj_scenario_key, prs_pw.prs_perslidwerkplek_key, prs_pw.prs_perslid_key, prs_p.prs_afdeling_key,
prs_p.prs_perslid_naam || ' ' || prs_perslid_voorletters, prs_pw.prj_werkplek_key, prs_w.prs_werkplek_volgnr,
prs_w.prs_werkplek_opp, prs_w.alg_locatie_key, prs_w.alg_gebouw_omschrijving, prs_w.alg_gebouw_upper,
prs_w.alg_verdieping_code, prs_w.alg_verdieping_omschrijving, prs_w.alg_ruimte_nr, prs_w.alg_ruimte_upper_nr
FROM prj_perslidwerkplek prs_pw, prs_perslid prs_p, prj_v_werkplek_gegevens prs_w
WHERE prs_pw.prs_perslid_key = prs_p.prs_perslid_key AND prs_pw.prj_werkplek_key = prs_w.prs_werkplek_key
UNION
SELECT prs_w.prj_scenario_key, prs_pw.prs_perslidwerkplek_key, TO_NUMBER (NULL), prs_pw.prs_afdeling_key,
'[' || prs_a.prs_afdeling_naam || ']', prs_pw.prj_werkplek_key, prs_w.prs_werkplek_volgnr,
prs_w.prs_werkplek_opp, prs_w.alg_locatie_key, prs_w.alg_gebouw_omschrijving, prs_w.alg_gebouw_upper,
prs_w.alg_verdieping_code, prs_w.alg_verdieping_omschrijving, prs_w.alg_ruimte_nr, prs_w.alg_ruimte_upper_nr
FROM prj_perslidwerkplek prs_pw, prs_afdeling prs_a, prj_v_werkplek_gegevens prs_w
WHERE prs_pw.prs_afdeling_key = prs_a.prs_afdeling_key AND prs_pw.prj_werkplek_key = prs_w.prs_werkplek_key;
CREATE_VIEW(prj_v_werkplekafdeling_geg,0) (prj_scenario_key, prs_perslidwerkplek_key,
prs_afdeling_key,
prs_afdeling_naam,
prs_afdeling_upper,
prs_werkplek_key,
prs_werkplek_volgnr,
prs_werkplek_opp,
alg_locatie_key,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_verdieping_code,
alg_verdieping_omschrijving,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_ruimte_bruto_vloeropp
)
AS
SELECT prs_w.prj_scenario_key, prs_pw.prs_perslidwerkplek_key, prs_a.prs_afdeling_key, prs_a.prs_afdeling_naam, prs_a.prs_afdeling_upper,
prs_pw.prj_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_opp, prs_w.alg_locatie_key,
prs_w.alg_gebouw_omschrijving, prs_w.alg_gebouw_upper, prs_w.alg_verdieping_code,
prs_w.alg_verdieping_omschrijving, prs_w.alg_ruimte_key, prs_w.alg_ruimte_nr, prs_w.alg_ruimte_upper_nr,
prs_w.alg_ruimte_bruto_vloeropp
FROM prj_perslidwerkplek prs_pw, prs_perslid prs_p, prs_afdeling prs_a, prj_v_werkplek_gegevens prs_w
WHERE prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_p.prs_afdeling_key = prs_a.prs_afdeling_key
AND prs_pw.prj_werkplek_key = prs_w.prs_werkplek_key
UNION
SELECT prs_w.prj_scenario_key, prs_pw.prs_perslidwerkplek_key, prs_a.prs_afdeling_key, prs_a.prs_afdeling_naam, prs_a.prs_afdeling_upper,
prs_pw.prj_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_opp, prs_w.alg_locatie_key,
prs_w.alg_gebouw_omschrijving, prs_w.alg_gebouw_upper, prs_w.alg_verdieping_code,
prs_w.alg_verdieping_omschrijving, prs_w.alg_ruimte_key, prs_w.alg_ruimte_nr, prs_w.alg_ruimte_upper_nr,
prs_w.alg_ruimte_bruto_vloeropp
FROM prj_perslidwerkplek prs_pw, prs_afdeling prs_a, prj_v_werkplek_gegevens prs_w
WHERE prs_pw.prs_afdeling_key = prs_a.prs_afdeling_key AND prs_pw.prj_werkplek_key = prs_w.prs_werkplek_key;
#endif
#endif // PRJ