610 lines
24 KiB
Plaintext
610 lines
24 KiB
Plaintext
#ifdef PRJ
|
|
|
|
/* Revisie:
|
|
|
|
** 06-09-1999 BIV View prj_v_ruimte_oppervlakte aangepast (bevatte 2x alg_ruimte_bruto_vloeropp)
|
|
** 03-09-1999 RD Toegevoegd: (LET OP: specificatie views NIET veranderen.)
|
|
* 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
|
|
<cad_v_prj_deel_gewijzigd> : select * from <prj_v_deel_gewijzigd>
|
|
* 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>
|
|
<cad_v_prj_werkplek_gewijzigd>: select * from <prj_v_werkplek_gewijzigd>
|
|
<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
|
|
<cad_v_prj_ruimte_gewijzigd> : select * from <prj_v_ruimte_gewijzigd>
|
|
<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
|
|
|
|
** 31-08-1999 EGR prj_v_[ruimte|werkplek|deel]_verplaatst: in prj verwijderde [ruimte|werkplek|deel] hoort wel bij de selectie.
|
|
** 30-08-1999 RD Aangepast view <prj_v_deel_nieuw>: maakt gebruik van view <prj_v_ins_deel_nieuw>.
|
|
** 24-08-1999 RD Nieuwe view: <prj_v_alg_ruimte_nieuw>.
|
|
** 23-08-1999 RD Nieuwe views: <prj_v_alg_verdiepingen> & <prj_v_ins_deel_nieuw>.
|
|
** 28-07-1999 RD Nieuwe views tbv. rapportage: prj_v_deel_plaatsaanduiding,
|
|
** prj_v_deel_verplaatst, prj_v_deel_nieuw, prj_v_deel_gewijzigd,
|
|
** prj_v_werkplek_verplaatst, prj_v_werkplek_nieuw, prj_v_werkplek_gewijzigd,
|
|
** prj_v_ruimte_verplaatst, prj_v_ruimte_nieuw, prj_v_ruimte_gewijzigd
|
|
** 26-07-1999 EGR nieuwe view: prj_v_aanwezigdeel.
|
|
** 22-07-1999 EGR nieuwe views: prj_v_aanwezigruimte, prj_v_aanwezigwerkplek, prj_v_plattegrond,
|
|
** prj_v_contour, prj_v_discipline, prj_v_verhuis, prj_v_cad_aanwezigtekening,
|
|
** prj_v_cad_tekening, prj_v_cad_tekening_gegevens
|
|
** en herdefinitie van cad-views i.v.m. uitbreiding tabel cad_tekening:
|
|
** cad_v_cad_tekening, cad_v_cad_aanwezigtekening,cad_v_cad_tekening_gegevens,
|
|
** cad_v_plattegrond, cad_v_contour, cad_v_discipline
|
|
** 20-04-1999 ABO Aangemaakt.
|
|
*/
|
|
|
|
#include "comsql.h"
|
|
|
|
CREATE_VIEW(PRJ_V_PRJ_PROJECT_DEFINITIE, PRJ_NORMAAL_PRIVILEGE)
|
|
( cad_tekening_key
|
|
, prj_project_key
|
|
, prj_gebouw_key
|
|
, prj_locatie_key
|
|
, prj_verdieping_key
|
|
, prj_discipline_key
|
|
, prj_project_nr
|
|
, prj_gebouw_omschrijving
|
|
, prj_verdieping_omschrijving
|
|
, prj_discipline_omschrijving
|
|
)
|
|
AS
|
|
SELECT T.cad_tekening_key
|
|
, T.prj_project_key
|
|
, O.alg_gebouw_key
|
|
, T.alg_locatie_key
|
|
, T.alg_verdieping_key
|
|
, T.ins_discipline_key
|
|
, P.prj_project_nr
|
|
, O.alg_gebouw_code||' '||alg_gebouw_naam
|
|
, O.alg_verdieping_volgnr||' '||O.alg_verdieping_omschrijving
|
|
, D.ins_discipline_omschrijving
|
|
FROM ins_tab_discipline D
|
|
, cad_tekening T
|
|
, alg_v_onroerendgoed_gegevens O
|
|
, prj_project P
|
|
WHERE P.prj_project_key (+) = T.prj_project_key
|
|
AND T.ins_discipline_key = D.ins_discipline_key
|
|
AND T.alg_verdieping_key = O.alg_onroerendgoed_keys (+)
|
|
AND T.cad_tekening_type = 'D';
|
|
|
|
DEFINIEER_VIEW_AANWEZIG(prj_deel
|
|
,ins_deel_verwijder
|
|
,prj_v_aanwezigdeel
|
|
,PRJ_NORMAAL_PRIVILEGE);
|
|
DEFINIEER_VIEW_AANWEZIG(prj_ruimte
|
|
,alg_ruimte_verwijder
|
|
,prj_v_aanwezigruimte
|
|
,PRJ_NORMAAL_PRIVILEGE);
|
|
DEFINIEER_VIEW_AANWEZIG(prj_werkplek
|
|
,prs_werkplek_verwijder
|
|
,prj_v_aanwezigwerkplek
|
|
,PRS_NORMAAL_PRIVILEGE);
|
|
|
|
CREATE_VIEW(prj_v_plattegrond, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening
|
|
WHERE UPPER(cad_tekening_type) = 'P'
|
|
AND prj_project_key IS NOT NULL;
|
|
|
|
CREATE_VIEW(prj_v_contour, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening
|
|
WHERE UPPER(cad_tekening_type) = 'C'
|
|
AND prj_project_key IS NOT NULL;
|
|
|
|
CREATE_VIEW(prj_v_discipline, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening
|
|
WHERE UPPER(cad_tekening_type) = 'D'
|
|
AND prj_project_key IS NOT NULL;
|
|
|
|
CREATE_VIEW(prj_v_verhuis, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening
|
|
WHERE UPPER(cad_tekening_type) = 'V'
|
|
AND prj_project_key IS NOT NULL;
|
|
|
|
CREATE_VIEW(prj_v_cad_aanwezigtekening, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening C_T
|
|
WHERE prj_project_key IS NOT NULL
|
|
AND ( C_T.ins_discipline_key IN (SELECT ins_discipline_key
|
|
FROM ins_discipline)
|
|
OR C_T.ins_discipline_key IS NULL);
|
|
|
|
CREATE_VIEW(prj_v_cad_tekening, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT ins_discipline_key
|
|
, alg_locatie_key
|
|
, alg_verdieping_key
|
|
, cad_tekening_type
|
|
, cad_tekening_filenaam
|
|
, prj_project_key
|
|
FROM cad_tekening C_T
|
|
WHERE prj_project_key IS NOT NULL;
|
|
|
|
CREATE_VIEW(prj_v_cad_tekening_gegevens, PRJ_NORMAAL_PRIVILEGE)
|
|
( cad_tekening_key
|
|
, alg_locatie_key
|
|
, alg_locatie_code
|
|
, alg_gebouw_key
|
|
, alg_gebouw_code
|
|
, alg_verdieping_key
|
|
, alg_verdieping_omschrijving
|
|
, ins_discipline_key
|
|
, ins_discipline_omschrijving)
|
|
AS SELECT C_T.cad_tekening_key
|
|
, C_T.alg_locatie_key
|
|
, ALG_L.alg_locatie_code
|
|
, ALG_G.alg_gebouw_key
|
|
, ALG_G.alg_gebouw_code
|
|
, C_T.alg_verdieping_key
|
|
, ALG_V.alg_verdieping_omschrijving
|
|
, C_T.ins_discipline_key
|
|
, INS_D.ins_discipline_omschrijving
|
|
FROM alg_locatie ALG_L
|
|
, alg_verdieping ALG_V
|
|
, alg_gebouw ALG_G
|
|
, ins_discipline INS_D
|
|
, cad_v_cad_aanwezigtekening C_T
|
|
WHERE C_T.alg_locatie_key = ALG_L.alg_locatie_key
|
|
AND C_T.alg_verdieping_key = ALG_V.alg_verdieping_key (+)
|
|
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key (+)
|
|
AND C_T.ins_discipline_key = INS_D.ins_discipline_key (+);
|
|
|
|
/*
|
|
** Herdefinitie van de cad-views omdat er een veld aan cad_tekening
|
|
** is toegevoegd voor projecten.
|
|
*/
|
|
|
|
CREATE_VIEW(cad_v_cad_aanwezigtekening, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening C_T
|
|
WHERE prj_project_key IS NULL
|
|
AND ( C_T.ins_discipline_key IN (SELECT ins_discipline_key
|
|
FROM ins_discipline)
|
|
OR C_T.ins_discipline_key IS NULL);
|
|
|
|
CREATE_VIEW(cad_v_cad_tekening, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT ins_discipline_key
|
|
, alg_locatie_key
|
|
, alg_verdieping_key
|
|
, cad_tekening_type
|
|
, cad_tekening_filenaam
|
|
, prj_project_key
|
|
FROM cad_tekening C_T
|
|
WHERE prj_project_key IS NULL;
|
|
|
|
CREATE_VIEW(cad_v_cad_tekening_gegevens, PRJ_NORMAAL_PRIVILEGE)
|
|
( cad_tekening_key
|
|
, alg_locatie_key
|
|
, alg_locatie_code
|
|
, alg_gebouw_key
|
|
, alg_gebouw_code
|
|
, alg_verdieping_key
|
|
, alg_verdieping_omschrijving
|
|
, ins_discipline_key
|
|
, ins_discipline_omschrijving)
|
|
AS SELECT C_T.cad_tekening_key
|
|
, C_T.alg_locatie_key
|
|
, ALG_L.alg_locatie_code
|
|
, ALG_G.alg_gebouw_key
|
|
, ALG_G.alg_gebouw_code
|
|
, C_T.alg_verdieping_key
|
|
, ALG_V.alg_verdieping_omschrijving
|
|
, C_T.ins_discipline_key
|
|
, INS_D.ins_discipline_omschrijving
|
|
FROM alg_locatie ALG_L
|
|
, alg_verdieping ALG_V
|
|
, alg_gebouw ALG_G
|
|
, ins_discipline INS_D
|
|
, cad_v_cad_aanwezigtekening C_T
|
|
WHERE C_T.alg_locatie_key = ALG_L.alg_locatie_key
|
|
AND C_T.alg_verdieping_key = ALG_V.alg_verdieping_key (+)
|
|
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key (+)
|
|
AND C_T.ins_discipline_key = INS_D.ins_discipline_key (+);
|
|
|
|
CREATE_VIEW(cad_v_plattegrond, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening
|
|
WHERE UPPER(cad_tekening_type) = 'P'
|
|
AND prj_project_key IS NULL;
|
|
|
|
CREATE_VIEW(cad_v_contour, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening
|
|
WHERE UPPER(cad_tekening_type) = 'C'
|
|
AND prj_project_key IS NULL;
|
|
|
|
CREATE_VIEW(cad_v_discipline, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM cad_tekening
|
|
WHERE UPPER(cad_tekening_type) = 'D'
|
|
AND prj_project_key IS NULL;
|
|
|
|
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
|
|
, prj_project_key)
|
|
AS SELECT ALG_G.alg_gebouw_code ||' - '
|
|
|| to_char(ALG_V.alg_verdieping_volgnr) ||' - '
|
|
|| PRJ_R.alg_ruimte_nr
|
|
, TO_NUMBER(NULL)
|
|
, TO_DATE(NULL)
|
|
, PRJ_D.ins_deel_key
|
|
, PRJ_D.ins_deel_omschrijving
|
|
, PRJ_D.ins_deel_verwijder
|
|
, PRJ_D.prj_project_key
|
|
FROM prj_deel PRJ_D
|
|
, prj_ruimte PRJ_R
|
|
, alg_verdieping ALG_V
|
|
, alg_gebouw ALG_G
|
|
WHERE PRJ_D.ins_alg_ruimte_key = PRJ_R.alg_ruimte_key
|
|
AND PRJ_D.ins_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
|
|
UNION
|
|
SELECT ALG_G.alg_gebouw_code ||' - '
|
|
|| to_char(ALG_V.alg_verdieping_volgnr) ||' - '
|
|
|| PRJ_R.alg_ruimte_nr ||'/'
|
|
|| to_char(PRJ_W.prs_werkplek_volgnr)
|
|
, PRJ_W.prs_werkplek_key
|
|
, PRJ_W.prs_werkplek_verwijder
|
|
, PRJ_D.ins_deel_key
|
|
, PRJ_D.ins_deel_omschrijving
|
|
, PRJ_D.ins_deel_verwijder
|
|
, PRJ_D.prj_project_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.ins_alg_ruimte_key = PRJ_W.prs_werkplek_key
|
|
AND PRJ_D.ins_alg_ruimte_type = 'W'
|
|
AND PRJ_W.prs_alg_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;
|
|
|
|
-- nieuwe delen in PRJ
|
|
CREATE_VIEW(prj_v_prj_deel_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT ins_deel_key
|
|
, prj_project_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)
|
|
AS SELECT DISTINCT
|
|
PRJ_D.ins_deel_key
|
|
, PRJ_D.prj_project_key
|
|
FROM ins_deel INS_D
|
|
, prj_deel PRJ_D
|
|
WHERE PRJ_D.ins_deel_key = INS_D.ins_deel_key
|
|
AND (NOT ( 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 INS_D.ins_deel_verwijder IS NULL
|
|
AND PRJ_D.ins_deel_verwijder IS NULL
|
|
UNION
|
|
SELECT DISTINCT
|
|
PRJ_D.ins_deel_key
|
|
, PRJ_D.prj_project_key
|
|
FROM ins_deel INS_D
|
|
, prj_deel PRJ_D
|
|
, alg_ruimte ALG_R
|
|
, prj_ruimte PRJ_R
|
|
WHERE PRJ_D.ins_deel_key = INS_D.ins_deel_key
|
|
AND PRJ_D.ins_alg_ruimte_type = INS_D.ins_alg_ruimte_type
|
|
AND PRJ_D.ins_alg_ruimte_type = 'W'
|
|
AND INS_D.ins_deel_verwijder IS NULL
|
|
AND PRJ_D.ins_deel_verwijder IS NULL
|
|
AND PRJ_D.ins_alg_ruimte_key <> INS_D.ins_alg_ruimte_key;
|
|
|
|
-- nieuw werkplekken in PRJ
|
|
CREATE_VIEW(prj_v_prj_werkplek_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT prs_werkplek_key
|
|
, prj_project_key
|
|
FROM prj_werkplek PRJ_W
|
|
WHERE NOT EXISTS (SELECT prs_werkplek_key FROM prs_werkplek PRS_W
|
|
WHERE PRS_W.prs_werkplek_key = PRJ_W.prs_werkplek_key
|
|
AND rownum = 1)
|
|
AND prs_werkplek_verwijder 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_W.prs_werkplek_key
|
|
, PRJ_W.prj_project_key
|
|
FROM prj_werkplek PRJ_W
|
|
, prs_werkplek PRS_W
|
|
WHERE PRJ_W.prs_werkplek_key = PRS_W.prs_werkplek_key
|
|
AND PRJ_W.prs_werkplek_verwijder IS NULL
|
|
AND PRS_W.prs_werkplek_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_project_key
|
|
FROM prj_werkplek PRJ_W
|
|
, prs_werkplek PRS_W
|
|
WHERE PRJ_W.prs_werkplek_key = PRS_W.prs_werkplek_key
|
|
AND PRJ_W.prs_werkplek_verwijder IS NULL
|
|
AND PRS_W.prs_werkplek_verwijder IS NULL
|
|
AND PRS_W.prs_alg_ruimte_key <> PRJ_W.prs_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_project_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.prs_werkplek_verwijder IS NOT NULL;
|
|
|
|
-- <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_project_key
|
|
FROM cad_tekening
|
|
WHERE alg_verdieping_key IS NOT NULL
|
|
AND prj_project_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_project_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_project_key = PRJ_V.prj_project_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_project_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_project_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);
|
|
|
|
-- 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_project_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_project_key = PRJ_V.prj_project_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_project_key
|
|
FROM prj_ruimte PRJ_R
|
|
, alg_ruimte ALG_R
|
|
WHERE PRJ_R.alg_ruimte_key = ALG_R.alg_ruimte_key
|
|
AND PRJ_R.alg_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_project_key
|
|
FROM prj_ruimte PRJ_R
|
|
, alg_ruimte ALG_R
|
|
WHERE PRJ_R.alg_ruimte_key = ALG_R.alg_ruimte_key
|
|
AND (PRJ_R.alg_ruimte_bruto_vloeropp <> ALG_R.alg_ruimte_bruto_vloeropp
|
|
OR
|
|
PRJ_R.alg_ruimte_omtrek <> ALG_R.alg_ruimte_omtrek
|
|
)
|
|
AND PRJ_R.alg_ruimte_verwijder IS NULL
|
|
AND PRJ_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_project_key
|
|
FROM prj_ruimte PRJ_R
|
|
WHERE NOT EXISTS (SELECT alg_ruimte_key FROM alg_ruimte ALG_R
|
|
WHERE PRJ_R.alg_ruimte_key = ALG_R.alg_ruimte_key
|
|
AND rownum = 1)
|
|
AND alg_ruimte_verwijder 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_project_key
|
|
FROM prj_ruimte PRJ_R
|
|
, alg_ruimte ALG_R
|
|
WHERE PRJ_R.alg_ruimte_key = ALG_R.alg_ruimte_key
|
|
AND PRJ_R.alg_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_project_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;
|
|
|
|
-- select * from <prj_v_prs_werkplek_nieuw>
|
|
CREATE_VIEW(cad_v_prs_werkplek_nieuw, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_prs_werkplek_nieuw;
|
|
|
|
-- aanduiding ruimten van PRJ
|
|
CREATE_VIEW(prj_v_prj_ruimte_aanduiding, PRJ_NORMAAL_PRIVILEGE)
|
|
AS SELECT PRJ_R.alg_ruimte_key
|
|
, PRJ_R.prj_project_key
|
|
, ALG_G.alg_gebouw_code ||' - '
|
|
|| to_char(ALG_V.alg_verdieping_volgnr) ||' - '
|
|
|| 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_project_key
|
|
, ALG_G.alg_gebouw_code ||' - '
|
|
|| to_char(ALG_V.alg_verdieping_volgnr) ||' - '
|
|
|| 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_project_key,
|
|
oud_vloeropp,
|
|
nieuw_vloeropp) AS
|
|
SELECT PRJ_R.alg_ruimte_key
|
|
, PRJ_R.prj_project_key
|
|
, ALG_R.alg_ruimte_bruto_vloeropp
|
|
, PRJ_R.alg_ruimte_bruto_vloeropp
|
|
FROM alg_ruimte ALG_R
|
|
, prj_ruimte PRJ_R
|
|
WHERE ALG_R.alg_ruimte_key = PRJ_R.alg_ruimte_key;
|
|
|
|
CREATE_VIEW(cad_v_prj_deel, FAC_NORMAAL_PRIVILEGE)
|
|
AS SELECT ins_deel_key
|
|
, prj_project_key
|
|
, ins_deel_verwijder
|
|
FROM prj_deel;
|
|
|
|
CREATE_VIEW(cad_v_prj_werkplek, FAC_NORMAAL_PRIVILEGE)
|
|
AS SELECT prs_werkplek_key
|
|
, prj_project_key
|
|
, prs_werkplek_verwijder
|
|
FROM prj_werkplek;
|
|
|
|
CREATE_VIEW(cad_v_prj_ruimte, FAC_NORMAAL_PRIVILEGE)
|
|
AS SELECT alg_ruimte_key
|
|
, prj_project_key
|
|
, alg_ruimte_verwijder
|
|
FROM prj_ruimte;
|
|
|
|
CREATE_VIEW(cad_v_prj_ruimte_gewijzigd, FAC_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_ruimte_gewijzigd;
|
|
|
|
CREATE_VIEW(cad_v_prj_werkplek_gewijzigd, FAC_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_werkplek_gewijzigd;
|
|
|
|
CREATE_VIEW(cad_v_prj_deel_gewijzigd, FAC_NORMAAL_PRIVILEGE)
|
|
AS SELECT *
|
|
FROM prj_v_deel_gewijzigd;
|
|
|
|
#endif // PRJ
|
|
|
|
|
|
|