845 lines
40 KiB
Plaintext
845 lines
40 KiB
Plaintext
#ifdef PRJ
|
|
/* PRJ_TRI.SRC
|
|
*
|
|
* $Revision: 54 $
|
|
* $Modtime: 26-04-06 14:53 $
|
|
*/
|
|
|
|
/*
|
|
* DELEN ...
|
|
<prj_v_prj_deel_nieuw> : nieuwe delen in PRJ
|
|
<prj_v_ins_deel_nieuw> : nieuwe delen in INS {sinds afsplitsing PRJ}
|
|
<prj_v_deel_nieuw> : <prj_v_prj_deel_nieuw> UNION <prj_v_ins_deel_nieuw>
|
|
<prj_v_prj_deel_herstel> : verwijderd in INS, niet verwijderd in PRJ
|
|
<prj_v_deel_nieuw2> : <prj_v_prj_deel_nieuw> UNION <prj_v_prj_deel_herstel>
|
|
<prj_v_deel_verplaatst> : plaats in PRJ niet hetzelfde als in INS
|
|
<prj_v_deel_gewijzigd> : select * from <prj_v_deel_verplaatst>
|
|
<prj_v_deel_verwijderd> : in PRJ verwijderd, in INS niet verwijderd
|
|
<prj_v_deel_plaatsaanduiding> : o.a. ophalen plaatsaanduiding deel in PRJ
|
|
* WERKPLEKKEN ...
|
|
<prj_v_prj_werkplek_nieuw> : nieuw werkplekken in PRJ
|
|
<prj_v_prj_werkplek_herstel> : werkplekken verwijderd in PRS maar die niet
|
|
zijn verwijderd in PRJ
|
|
<prj_v_werkplek_nieuw> : <prj_v_prj_werkplek_nieuw> UNION <prj_v_prj_werkplek_herstel>
|
|
<prj_v_werkplek_verplaatst> : plaats in PRS niet hetzelfde als in PRJ
|
|
<prj_v_werkplek_verwijderd> : niet verwijderd in PRS, verwijderd in PRJ
|
|
<prj_v_werkplek_gewijzigd> : <prj_v_werkplek_nieuw> UNION <prj_v_werkplek_verplaatst>
|
|
<prj_v_prs_werkplek_nieuw> : werkplekken toegevoegd aan PRS sinds afsplitsing PRJ
|
|
<cad_v_prs_werkplek_nieuw> : select * from <prj_v_prs_werkplek_nieuw>
|
|
* RUIMTEN ...
|
|
<prj_v_ruimte_verwijderd> : in PRJ verwijderd, in ALG niet verwijderd
|
|
<prj_v_ruimte_gewijzigd> : verschil in omtrek en/of oppervlakte tussen PRJ en ALG
|
|
<prj_v_prj_ruimte_nieuw> : nieuwe ruimten in PRJ
|
|
<prj_v_prj_ruimte_herstel> : ruimten verwijderd in ALG maar die niet
|
|
zijn verwijderd in PRJ
|
|
<prj_v_ruimte_nieuw> : <prj_v_prj_ruimte_nieuw> UNION <prj_v_prj_ruimte_herstel>
|
|
<prj_v_ruimte_oppervlakte> : oude (ALG), en nieuwe (PRJ) oppervlakte
|
|
<prj_v_alg_ruimte_nieuw> : ruimten toegevoegd aan ALG nadat project is afgesplitst
|
|
<prj_v_prj_ruimte_aanduiding> : aanduiding ruimten van PRJ
|
|
<prj_v_alg_ruimte_aanduiding> : aanduiding ruimten van ALG
|
|
* VERDIEPINGEN ...
|
|
<prj_v_alg_verdiepingen> : selecteer alle verdiepingen van een bepaald project
|
|
*/
|
|
|
|
#include "comsql.h"
|
|
|
|
|
|
CREATE_VIEW(prj_v_deel_plaatsaanduiding, PRJ_NORMAAL_PRIVILEGE)
|
|
( alg_plaatsaanduiding
|
|
, prs_werkplek_key
|
|
, prs_werkplek_verwijder
|
|
, ins_deel_key
|
|
, ins_deel_omschrijving
|
|
, ins_deel_verwijder
|
|
, ins_srtdeel_key
|
|
, prj_scenario_key)
|
|
AS
|
|
SELECT alg_g.alg_gebouw_code || ' - ' || alg_v.alg_verdieping_code || ' - ' || prj_r.prj_ruimte_nr, TO_NUMBER (NULL),
|
|
TO_DATE (NULL), prj_d.ins_deel_key, prj_d.prj_deel_omschrijving, prj_d.prj_deel_verwijder,
|
|
prj_d.ins_srtdeel_key, prj_d.prj_scenario_key
|
|
FROM prj_deel prj_d, prj_ruimte prj_r, alg_verdieping alg_v, alg_gebouw alg_g
|
|
WHERE prj_d.prj_alg_ruimte_key = prj_r.alg_ruimte_key
|
|
AND prj_d.prj_alg_ruimte_type = 'R'
|
|
AND prj_r.alg_verdieping_key = alg_v.alg_verdieping_key
|
|
AND alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
|
|
AND prj_d.prj_scenario_key = prj_r.prj_scenario_key
|
|
UNION
|
|
SELECT alg_g.alg_gebouw_code
|
|
|| ' - '
|
|
|| alg_v.alg_verdieping_code
|
|
|| ' - '
|
|
|| prj_r.prj_ruimte_nr
|
|
|| '/'
|
|
|| TO_CHAR (prj_w.prj_werkplek_volgnr),
|
|
prj_w.prs_werkplek_key, prj_w.prj_werkplek_verwijder, prj_d.ins_deel_key, prj_d.prj_deel_omschrijving,
|
|
prj_d.prj_deel_verwijder, prj_d.ins_srtdeel_key, prj_d.prj_scenario_key
|
|
FROM prj_deel prj_d, prj_werkplek prj_w, prj_ruimte prj_r, alg_verdieping alg_v, alg_gebouw alg_g
|
|
WHERE prj_d.prj_alg_ruimte_key = prj_w.prs_werkplek_key
|
|
AND prj_d.prj_alg_ruimte_type = 'W'
|
|
AND prj_w.prj_ruimte_key = prj_r.alg_ruimte_key
|
|
AND prj_r.alg_verdieping_key = alg_v.alg_verdieping_key
|
|
AND alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
|
|
AND prj_d.prj_scenario_key = prj_w.prj_scenario_key
|
|
AND prj_w.prj_scenario_key = prj_r.prj_scenario_key;
|
|
|
|
-- nieuwe delen in PRJ
|
|
CREATE_VIEW(prj_v_prj_deel_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT ins_deel_key
|
|
, prj_scenario_key
|
|
FROM prj_deel PD
|
|
WHERE NOT EXISTS (SELECT ins_deel_key FROM ins_deel ID
|
|
WHERE PD.ins_deel_key = ID.ins_deel_key
|
|
AND rownum = 1)
|
|
AND PD.ins_deel_verwijder IS NULL;
|
|
|
|
-- object is in PRJ van ruimte gewijzigd, van/aan werkplek (los)gekoppeld of als onderdeel van een werkplek verplaatst.
|
|
CREATE_VIEW(prj_v_deel_verplaatst, PRJ_NORMAAL_PRIVILEGE)
|
|
-- Verplaatsing van Ruimte naar Werkplek of omgekeerd + verplaatsing
|
|
-- van de ene Ruimte (Werkplek) naar een andere Ruimte (Werkplek).
|
|
AS SELECT DISTINCT
|
|
PRJ_D.ins_deel_key
|
|
, PRJ_D.prj_scenario_key
|
|
FROM ins_deel INS_D
|
|
, prj_deel PRJ_D
|
|
WHERE PRJ_D.ins_deel_key = INS_D.ins_deel_key
|
|
AND (PRJ_D.ins_alg_ruimte_type <> INS_D.ins_alg_ruimte_type
|
|
OR
|
|
(PRJ_D.ins_alg_ruimte_type = INS_D.ins_alg_ruimte_type
|
|
AND
|
|
PRJ_D.ins_alg_ruimte_key <> INS_D.ins_alg_ruimte_key))
|
|
AND INS_D.ins_deel_verwijder IS NULL
|
|
AND PRJ_D.ins_deel_verwijder IS NULL
|
|
UNION
|
|
-- Werkplek waar een deel aan gekoppeld is, is veranderd van plaats.
|
|
SELECT DISTINCT
|
|
PRJ_D.ins_deel_key
|
|
, PRJ_D.prj_scenario_key
|
|
FROM ins_deel INS_D
|
|
, prj_deel PRJ_D
|
|
, prj_werkplek PRJ_W
|
|
, prs_werkplek PRS_W
|
|
WHERE PRJ_D.ins_deel_key = INS_D.ins_deel_key
|
|
AND PRJ_D.ins_alg_ruimte_key = INS_D.ins_alg_ruimte_key
|
|
AND PRJ_D.ins_alg_ruimte_type = INS_D.ins_alg_ruimte_type
|
|
AND PRJ_D.ins_alg_ruimte_type = 'W'
|
|
AND PRJ_D.ins_alg_ruimte_key = PRJ_W.prs_werkplek_key
|
|
AND INS_D.ins_alg_ruimte_key = PRS_W.prs_werkplek_key
|
|
AND PRJ_W.prs_alg_ruimte_key <> PRS_W.prs_alg_ruimte_key
|
|
AND PRJ_D.prj_scenario_key = PRJ_W.prj_scenario_key
|
|
AND INS_D.ins_deel_verwijder IS NULL
|
|
AND PRJ_D.ins_deel_verwijder IS NULL;
|
|
|
|
-- nieuw werkplekken in PRJ
|
|
CREATE_VIEW(prj_v_prj_werkplek_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS
|
|
SELECT prs_werkplek_key, prj_scenario_key
|
|
FROM prj_werkplek prj_w
|
|
WHERE prj_w.prs_werkplek_key IS NULL;
|
|
|
|
-- werkplekken verwijderd in PRS maar die niet zijn verwijderd in PRJ
|
|
CREATE_VIEW(prj_v_prj_werkplek_herstel, PRJ_NORMAAL_PRIVILEGE)
|
|
AS
|
|
SELECT prj_r.alg_ruimte_key, prj_r.prj_scenario_key
|
|
FROM prj_ruimte prj_r, alg_ruimte alg_r
|
|
WHERE prj_r.alg_ruimte_key = alg_r.alg_ruimte_key
|
|
AND prj_r.prj_ruimte_verwijder IS NULL
|
|
AND alg_r.alg_ruimte_verwijder IS NOT NULL;
|
|
|
|
-- plaats in PRS niet hetzelfde als in PRJ
|
|
CREATE_VIEW(prj_v_werkplek_verplaatst, PRJ_NORMAAL_PRIVILEGE)
|
|
AS
|
|
SELECT prj_w.prs_werkplek_key, prj_w.prj_scenario_key
|
|
FROM prj_werkplek prj_w, prs_werkplek prs_w, prj_ruimte rx
|
|
WHERE prj_w.prs_werkplek_key = prs_w.prs_werkplek_key
|
|
AND prj_w.prj_werkplek_verwijder IS NULL
|
|
AND prs_w.prs_werkplek_verwijder IS NULL
|
|
AND prj_w.prj_ruimte_key = rx.prj_ruimte_key
|
|
AND prs_w.prs_alg_ruimte_key <> rx.alg_ruimte_key;
|
|
|
|
-- <prj_v_prj_werkplek_nieuw> UNION <prj_v_prj_werkplek_herstel>
|
|
CREATE_VIEW(prj_v_werkplek_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_prj_werkplek_nieuw
|
|
UNION
|
|
SELECT *
|
|
FROM prj_v_prj_werkplek_herstel;
|
|
|
|
-- niet verwijderd in PRS, verwijderd in PRJ
|
|
CREATE_VIEW(prj_v_werkplek_verwijderd, PRJ_NORMAAL_PRIVILEGE)
|
|
AS
|
|
SELECT prj_w.prs_werkplek_key, prj_w.prj_scenario_key
|
|
FROM prs_werkplek prs_w, prj_werkplek prj_w
|
|
WHERE prs_w.prs_werkplek_key = prj_w.prs_werkplek_key
|
|
AND prs_w.prs_werkplek_verwijder IS NULL
|
|
AND prj_w.prj_werkplek_verwijder IS NOT NULL;
|
|
|
|
|
|
-- niet verwijderd in PRS, in PRJ met ruimte_key = 0 (wel + niet 'verwijderde')
|
|
CREATE_VIEW(prj_v_prj_werkplek_mag_delete, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT -1, -1
|
|
FROM DUAL;
|
|
|
|
-- prj_v_werkplek_verwijderd UNION prj_v_prj_werkplek_mag_delete
|
|
CREATE_VIEW(prj_v_werkplek_verwijderd_all, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_werkplek_verwijderd
|
|
UNION
|
|
SELECT *
|
|
FROM prj_v_prj_werkplek_mag_delete;
|
|
|
|
-- <prj_v_werkplek_nieuw> UNION <prj_v_werkplek_verplaatst>
|
|
CREATE_VIEW(prj_v_werkplek_gewijzigd, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_werkplek_nieuw
|
|
UNION
|
|
SELECT *
|
|
FROM prj_v_werkplek_verplaatst;
|
|
|
|
-- 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;
|
|
|
|
-- nieuwe delen in INS {sinds afsplitsing PRJ}
|
|
CREATE_VIEW(prj_v_ins_deel_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT INS_I.ins_deel_key
|
|
, PRJ_V.prj_scenario_key
|
|
FROM ins_v_ins_deel_verdieping INS_I,
|
|
prj_v_alg_verdiepingen PRJ_V
|
|
WHERE INS_I.alg_verdieping_key = PRJ_V.alg_verdieping_key
|
|
AND INS_I.ins_deel_key NOT IN (SELECT ins_deel_key
|
|
FROM prj_deel PRJ_D
|
|
WHERE PRJ_D.prj_scenario_key = PRJ_V.prj_scenario_key);
|
|
|
|
-- <prj_v_prj_deel_nieuw> UNION <prj_v_ins_deel_nieuw>
|
|
CREATE_VIEW(prj_v_deel_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_prj_deel_nieuw
|
|
UNION
|
|
SELECT *
|
|
FROM prj_v_ins_deel_nieuw;
|
|
|
|
-- verwijderd in INS, niet verwijderd in PRJ
|
|
CREATE_VIEW(prj_v_prj_deel_herstel, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT PRJ_D.ins_deel_key
|
|
, PRJ_D.prj_scenario_key
|
|
FROM prj_deel PRJ_D,
|
|
ins_deel INS_D
|
|
WHERE PRJ_D.ins_deel_key = INS_D.ins_deel_key
|
|
AND PRJ_D.ins_deel_verwijder IS NULL
|
|
AND INS_D.ins_deel_verwijder IS NOT NULL;
|
|
|
|
-- <prj_v_prj_deel_nieuw> UNION <prj_v_prj_deel_herstel>
|
|
CREATE_VIEW(prj_v_deel_nieuw2, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_prj_deel_herstel
|
|
UNION
|
|
SELECT *
|
|
FROM prj_v_prj_deel_nieuw;
|
|
|
|
-- in PRJ verwijderd, in INS niet verwijderd
|
|
CREATE_VIEW(prj_v_deel_verwijderd, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT PRJ_D.ins_deel_key
|
|
, PRJ_D.prj_scenario_key
|
|
FROM prj_deel PRJ_D
|
|
WHERE EXISTS (SELECT ins_deel_key FROM ins_deel INS_D
|
|
WHERE PRJ_D.ins_deel_key = INS_D.ins_deel_key
|
|
AND INS_D.ins_deel_verwijder IS NULL
|
|
AND PRJ_D.ins_deel_verwijder IS NOT NULL
|
|
AND rownum = 1);
|
|
|
|
-- alle in prj verwijderde objecten, en objecten die in het magazijn staan.
|
|
CREATE_VIEW(prj_v_deel_verwijderd_all, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT PRJ_D.ins_deel_key
|
|
, PRJ_D.prj_scenario_key
|
|
FROM prj_deel PRJ_D
|
|
, ins_deel INS_D
|
|
WHERE INS_D.ins_deel_key = PRJ_D.ins_deel_key
|
|
AND INS_D.ins_deel_verwijder IS NULL
|
|
AND PRJ_D.ins_deel_verwijder IS NOT NULL
|
|
AND PRJ_D.ins_alg_ruimte_key <> 0
|
|
UNION
|
|
SELECT PRJ_D.ins_deel_key
|
|
, PRJ_D.prj_scenario_key
|
|
FROM prj_deel PRJ_D
|
|
, ins_deel INS_D
|
|
WHERE INS_D.ins_deel_key = PRJ_D.ins_deel_key
|
|
AND INS_D.ins_deel_verwijder IS NULL
|
|
AND PRJ_D.ins_alg_ruimte_key = 0;
|
|
|
|
|
|
-- select * from <prj_v_deel_verplaatst>
|
|
CREATE_VIEW(prj_v_deel_gewijzigd, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_deel_verplaatst;
|
|
|
|
-- ruimten toegevoegd aan ALG nadat project is afgesplitst
|
|
CREATE_VIEW(prj_v_alg_ruimte_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT ALG_R.alg_ruimte_key
|
|
, PRJ_V.prj_scenario_key
|
|
FROM alg_v_alg_ruimte_verdieping ALG_R,
|
|
prj_v_alg_verdiepingen PRJ_V
|
|
WHERE ALG_R.alg_verdieping_key = PRJ_V.alg_verdieping_key
|
|
AND ALG_R.alg_ruimte_key NOT IN (SELECT alg_ruimte_key
|
|
FROM prj_ruimte
|
|
WHERE prj_scenario_key = PRJ_V.prj_scenario_key);
|
|
|
|
-- in PRJ verwijderd, in ALG niet verwijderd
|
|
CREATE_VIEW(prj_v_ruimte_verwijderd, PRJ_NORMAAL_PRIVILEGE)
|
|
AS
|
|
SELECT prj_r.alg_ruimte_key, prj_r.prj_scenario_key
|
|
FROM prj_ruimte prj_r, alg_ruimte alg_r
|
|
WHERE prj_r.alg_ruimte_key = alg_r.alg_ruimte_key
|
|
AND prj_r.prj_ruimte_verwijder IS NOT NULL
|
|
AND alg_r.alg_ruimte_verwijder IS NULL;
|
|
|
|
-- verschil in omtrek en/of oppervlakte tussen PRJ en ALG
|
|
CREATE_VIEW(prj_v_ruimte_gewijzigd, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT prj_r.alg_ruimte_key, prj_r.prj_scenario_key
|
|
FROM prj_ruimte prj_r, alg_ruimte alg_r
|
|
WHERE prj_r.alg_ruimte_key = alg_r.alg_ruimte_key
|
|
AND ( prj_r.prj_ruimte_bruto_vloeropp <> alg_r.alg_ruimte_bruto_vloeropp
|
|
OR prj_r.prj_ruimte_omtrek <> alg_r.alg_ruimte_omtrek
|
|
)
|
|
AND prj_r.prj_ruimte_verwijder IS NULL
|
|
AND alg_r.alg_ruimte_verwijder IS NULL;
|
|
|
|
-- nieuwe ruimten in PRJ
|
|
CREATE_VIEW(prj_v_prj_ruimte_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS
|
|
SELECT alg_ruimte_key, prj_scenario_key
|
|
FROM prj_ruimte prj_r
|
|
WHERE prj_r.alg_ruimte_key IS NULL;
|
|
|
|
-- ruimten verwijderd in ALG maar die niet zijn verwijderd in PRJ
|
|
CREATE_VIEW(prj_v_prj_ruimte_herstel, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT prj_r.alg_ruimte_key, prj_r.prj_scenario_key
|
|
FROM prj_ruimte prj_r, alg_ruimte alg_r
|
|
WHERE prj_r.alg_ruimte_key = alg_r.alg_ruimte_key
|
|
AND prj_r.prj_ruimte_verwijder IS NULL
|
|
AND alg_r.alg_ruimte_verwijder IS NOT NULL;
|
|
|
|
-- <prj_v_prj_ruimte_nieuw> UNION <prj_v_prj_ruimte_herstel>
|
|
CREATE_VIEW(prj_v_ruimte_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_prj_ruimte_nieuw
|
|
UNION
|
|
SELECT *
|
|
FROM prj_v_prj_ruimte_herstel;
|
|
|
|
-- werkplekken toegevoegd aan PRS sinds afsplitsing PRJ
|
|
CREATE_VIEW(prj_v_prs_werkplek_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT PRS_W.prs_werkplek_key
|
|
, PRJ_V.prj_scenario_key
|
|
FROM prj_v_alg_verdiepingen PRJ_V
|
|
, prs_werkplek PRS_W
|
|
, alg_ruimte ALG_R
|
|
WHERE PRS_W.prs_werkplek_key NOT IN (SELECT PRJ_W.prs_werkplek_key
|
|
FROM prj_werkplek PRJ_W
|
|
WHERE PRJ_W.prs_werkplek_key = PRS_W.prs_werkplek_key)
|
|
AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key
|
|
AND PRS_W.prs_werkplek_verwijder IS NULL
|
|
AND ALG_R.alg_verdieping_key = PRJ_V.alg_verdieping_key;
|
|
|
|
-- aanduiding ruimten van PRJ
|
|
CREATE_VIEW(prj_v_prj_ruimte_aanduiding, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT PRJ_R.alg_ruimte_key
|
|
, PRJ_R.prj_scenario_key
|
|
, ALG_G.alg_gebouw_code ||' - '
|
|
|| ALG_V.alg_verdieping_code ||' - '
|
|
|| PRJ_R.alg_ruimte_nr plaatsaanduiding
|
|
FROM prj_ruimte PRJ_R
|
|
, alg_verdieping ALG_V
|
|
, alg_gebouw ALG_G
|
|
WHERE PRJ_R.alg_verdieping_key = ALG_V.alg_verdieping_key
|
|
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key;
|
|
|
|
-- 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;
|
|
|
|
-- oude (ALG), en nieuwe (PRJ) oppervlakte
|
|
CREATE_VIEW(prj_v_ruimte_oppervlakte, PRJ_NORMAAL_PRIVILEGE)
|
|
(alg_ruimte_key,
|
|
prj_scenario_key,
|
|
oud_vloeropp,
|
|
nieuw_vloeropp) AS
|
|
SELECT prj_r.alg_ruimte_key, prj_r.prj_scenario_key, alg_r.alg_ruimte_bruto_vloeropp,
|
|
prj_r.prj_ruimte_bruto_vloeropp
|
|
FROM alg_ruimte alg_r, prj_ruimte prj_r
|
|
WHERE alg_r.alg_ruimte_key = prj_r.prj_ruimte_key;
|
|
|
|
-- Delen die in virtuele magazijn staan of zijn gekoppeld aan een werkplek die in
|
|
-- het virtuele magazijn staat met de volgende aanvullende condities: deel komt voor in
|
|
-- PRJ en INS, tevens is het deel in INS niet verwijderd.
|
|
CREATE_VIEW(prj_v_prj_deel_mag_delete, PRJ_NORMAAL_PRIVILEGE)
|
|
( alg_plaatsaanduiding
|
|
, ins_deel_omschrijving
|
|
, ins_deel_key
|
|
, ins_srtdeel_omschrijving
|
|
, prj_scenario_key
|
|
, alg_verdieping_key)
|
|
AS SELECT INS_P.alg_plaatsaanduiding
|
|
, INS_P.ins_deel_omschrijving
|
|
, PRJ_D.ins_deel_key
|
|
, INS_S.ins_srtdeel_omschrijving
|
|
, PRJ_D.prj_scenario_key
|
|
, INS_P.alg_verdieping_key
|
|
FROM prj_deel PRJ_D
|
|
, ins_v_deel_plaatsaanduiding_R INS_P
|
|
, ins_srtdeel INS_S
|
|
WHERE INS_P.ins_deel_key = PRJ_D.ins_deel_key
|
|
AND PRJ_D.ins_srtdeel_key = INS_S.ins_srtdeel_key
|
|
AND PRJ_D.ins_alg_ruimte_key = 0
|
|
AND PRJ_D.ins_alg_ruimte_type = 'R'
|
|
AND INS_P.ins_deel_verwijder IS NULL
|
|
UNION
|
|
SELECT INS_P.alg_plaatsaanduiding
|
|
, INS_P.ins_deel_omschrijving
|
|
, PRJ_D.ins_deel_key
|
|
, INS_S.ins_srtdeel_omschrijving
|
|
, PRJ_D.prj_scenario_key
|
|
, INS_P.alg_verdieping_key
|
|
FROM prj_deel PRJ_D
|
|
, ins_v_deel_plaatsaanduiding_W INS_P
|
|
, ins_srtdeel INS_S
|
|
, prj_werkplek PRJ_W
|
|
WHERE INS_P.ins_deel_key = PRJ_D.ins_deel_key
|
|
AND PRJ_D.ins_srtdeel_key = INS_S.ins_srtdeel_key
|
|
AND PRJ_D.ins_alg_ruimte_type = 'W'
|
|
AND PRJ_W.prs_werkplek_key = PRJ_D.ins_alg_ruimte_key
|
|
AND PRJ_W.prj_scenario_key = PRJ_D.prj_scenario_key
|
|
AND PRJ_W.prs_alg_ruimte_key = 0
|
|
AND INS_P.ins_deel_verwijder IS NULL;
|
|
|
|
-- 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;
|
|
|
|
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;
|
|
|
|
// Boolean view die aangeeft waar iets gewijzigd is, de 1 en 2 maken het verschil tussen van en naar..
|
|
CREATE OR REPLACE VIEW prj_v_cad_thema_onderhanden (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;
|
|
|
|
|
|
CREATE OR REPLACE VIEW prj_v_cad_thema_onderhanden0 (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;
|
|
|
|
-- 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)
|
|
AS
|
|
SELECT prs_w.prj_ruimte_key, '* [' || prs_a.prs_afdeling_naam || ']', 'PRJ_PERSLIDWERKPLEK',
|
|
prs_pw.prj_perslidwerkplek_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 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;
|
|
|
|
|
|
// 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)
|
|
AS
|
|
SELECT prs_w.prj_ruimte_key,
|
|
CHR (1)
|
|
|| prs_w.prj_werkplek_volgnr
|
|
|| ' * ['
|
|
|| prs_a.prs_afdeling_naam
|
|
|| ']: '
|
|
|| 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_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 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 || ')')
|
|
|| ': '
|
|
|| 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 prs_w.prj_ruimte_key,
|
|
CHR (1)
|
|
|| prs_w.prj_werkplek_volgnr
|
|
|| ' Vrij: '
|
|
|| 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;
|
|
|
|
CREATE_VIEW (prj_v_cad_label_werkplekken,0) (prj_ruimte_key, waarde, label_soort, label_key)
|
|
AS
|
|
SELECT prs_w.prj_ruimte_key,
|
|
CHR (1)
|
|
|| prs_w.prj_werkplek_volgnr
|
|
|| ' ('
|
|
|| TO_CHAR (SUM (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0)))
|
|
|| '%)',
|
|
'PRJ_WERKPLEK', prs_w.prj_werkplek_key
|
|
FROM prj_ruimte prj_r, prj_werkplek prs_w, prj_perslidwerkplek prs_pw
|
|
WHERE prs_w.prj_werkplek_key = prs_pw.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 prs_w.prj_ruimte_key, prs_w.prj_werkplek_volgnr, 'PRJ_WERKPLEK', prs_w.prj_werkplek_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)
|
|
(prs_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 pwpx.prs_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)
|
|
(prs_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 pwpx.prs_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!)
|
|
|
|
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
|
|
|| '/'
|
|
|| 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 // PRJ
|
|
|
|
|
|
|