First version (snapshot)
svn path=/Database/trunk/; revision=9215
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
#ifdef PRJ
|
||||
|
||||
/*
|
||||
** Revisie
|
||||
**
|
||||
** 30-09-1999 EGR Indexen op project, ruimte, werkplek en deel gedefinieerd in prj zoals bij ins/alg/prs.
|
||||
** 20-04-1999 ABO Aangemaakt.
|
||||
*/
|
||||
/* PRJ_IND.SRC
|
||||
*
|
||||
* $Revision: 4 $
|
||||
* $Modtime: 22-03-06 10:26 $
|
||||
*/
|
||||
create index prj_i_prj_project1 on prj_project(prj_project_nr);
|
||||
|
||||
create index prj_i_prj_ruimte1 on prj_ruimte(prj_project_key,alg_verdieping_key);
|
||||
@@ -20,6 +18,5 @@ create index prj_i_prj_deel3 on prj_deel(prj_project_key,ins_discipline_key);
|
||||
create index prj_i_prj_deel4 on prj_deel(prj_project_key,ins_alg_locatie_key);
|
||||
create index prj_i_prj_deel5 on prj_deel(prj_project_key,ins_alg_locatie_key,ins_srtdeel_key);
|
||||
|
||||
create index prj_i_cad_tekening1 on cad_tekening(prj_project_key);
|
||||
|
||||
#endif // PRJ
|
||||
|
||||
142
PRJ/PRJ_INI.SRC
142
PRJ/PRJ_INI.SRC
@@ -1,124 +1,34 @@
|
||||
#ifdef PRJ // 22-05-1998 ABO
|
||||
#ifdef PRJ
|
||||
|
||||
/* $Revision: 8 $
|
||||
* $Modtime: 24-10-05 13:42 $
|
||||
/* $Revision: 9 $
|
||||
* $Modtime: 21-04-06 17:40 $
|
||||
*/
|
||||
#include "comsql.h"
|
||||
/*
|
||||
** Bij installatie van modules moet de tabel FAC_MODULE gevuld of ge-update worden.
|
||||
*/
|
||||
|
||||
_FAC_MODULE('PRJ','Projecten')
|
||||
|
||||
/*
|
||||
** De ENTITY_NAMES van de PRJ module.
|
||||
*/
|
||||
DEF_FAC_ENTITY ('MENU_PRJ_PROJECT', 'Pro'||CHR(38)||'jecten', null, null, '');
|
||||
DEF_FAC_ENTITY ('GRAFISCH', 'Grafisch', null, null, '');
|
||||
DEF_FAC_ENTITY ('PRJ_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_VERDIEPING', 'Verdieping', 'Verdiepingen', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_DATA', 'Projectplanning', null, 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_PROJECT_NR', 'Projectnr', 'Projectnr''s', 'het', '');
|
||||
DEF_FAC_ENTITY ('PRJ_DEFINITIE', 'Definitie', 'Definities', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_VERWERKEN', 'Verwerken', null, 'het', '');
|
||||
DEF_FAC_ENTITY ('PRJ_PROJECT_OPMERKING', 'Opmerkingen', null, 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_PROJECT_NAAM', 'Naam', 'Namen', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_GEBOUW', 'Gebouw', 'Gebouwen', 'het', '');
|
||||
DEF_FAC_ENTITY ('PRJ_KAMER_NR', 'Kamernummer', 'Kamernummers', 'het', '');
|
||||
DEF_FAC_ENTITY ('PRJ_AFDELING', 'Afdeling', 'Afdelingen', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_OPDRGEVER', 'Opdrachtgever', 'Opdrachtgevers', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_TELEFOON', 'Telefoon', null, 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_KOSTENPLAATS', 'Kostenplaats', 'Kostenplaatsen', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_REALISATIE', 'Realisatie', 'Realisaties', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_PROJECT_BEGIN', 'Begin', null, 'het', '');
|
||||
DEF_FAC_ENTITY ('PRJ_PROJECT_EIND', 'Eind', null, 'het', '');
|
||||
DEF_FAC_ENTITY ('PRJ_VOORBEREIDING', 'Voorbereiding', 'Voorbereidingen', 'de', '');
|
||||
DEF_FAC_ENTITY ('PRJ_PROJECT', 'project', 'projecten', 'het', '');
|
||||
DEF_FAC_ENTITY ('PRJ_DISCIPLINE', 'Discipline', 'Disciplines', 'de', '');
|
||||
/*
|
||||
** De MESSAGES van de PRJ module.
|
||||
*/
|
||||
DEF_FAC_MESSAGE ('PRJ_M001','Verwijderen project','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M002a','Verwijderen van discipline %1%','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M002b',' op bouwlaag %1% ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M002c',' van gebouw %1%?','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M003','Verwijderen verdieping/discipline','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M004','Geen locatie gekozen!','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M005','Projectdefinitie','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M006','Toevoegen verdiepingen aan project ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M007','Projectomschrijving','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M008','Lopende projecten','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M009','Projecten','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M010','Niet alle informatie gevonden','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M011','project','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M012','Voortgangsrapportage projectcontrole ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M013','Projectrapportage','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M014','Verwerken','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M015','Controleren','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M016','Accoord','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M017','Voortgangsmeldingen','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M018','Kopie plattegrondtekening ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M019','*Fout: ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M020',' ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M021','Voortgangsrapportage projectverwerking ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M022','Het virtuele magazijn is niet leeg, de inhoud ervan wordt verwijderd','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M023','Verplaatsingen Van/Naar','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M024','Verplaatsingen Naar/Van','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M025','Werkinstructies','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M026','Overzicht verplaatsbewegingen','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M027','Overzicht werkinstructies','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M028','Het virtuele magazijn is NIET leeg','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M029','Het virtuele magazijn is leeg.','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M030','Verwijderde ruimten ...','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M031','Er zijn geen verwijderde ruimten','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M032','Gewijzigde ruimten (ruimte/oude oppervlakte/nieuwe oppervlakte) ...','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M033','Er zijn geen gewijzigde ruimten','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M034','Nieuwe ruimten (ruimte/oppervlakte) ...','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M035','Er zijn geen nieuwe ruimten','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M036','Fout opgetreden bij controle van het project, voer evt. controle nogmaals uit.','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M037','>Begin van verwerking','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M038','<Eind van verwerking','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M039','Controleer de nieuwe voortgangsmeldingen','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M040','LET OP! ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M041','Kan plattegrondtekening niet vinden: ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M042','Er is een fout opgetreden bij het verwerken van het project','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M043','Plattegrondtekening gevonden: ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M044','Er is %1% verdieping/discipline aan het project toegevoegd','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M045','Er zijn %1% verdiepingen/disciplines aan het project toegevoegd','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M046','Het bestand %1% is niet aanwezig','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M047','>Begin van controle','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M048','<Eind van controle','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M049','Doorvoeren','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M050','Rapport','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M051','Doorvoeren project','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M052','Project','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M053','Omschrijving','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M054','Werkelijk doorvoeren project?','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M055','Project %1% eerst defini<6E>ren, daarna kan het doorgevoerd worden','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M056','Deze discipline/verdieping wordt ook in een ander project gebruikt!','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M057','Deze discipline/verdieping wordt ook in andere projecten gebruikt!','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M058','Rapport werkplekverplaatsingen','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M059','Er is geen enkele plattegrondtekening gevonden','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M060','Fout opgetreden bij het bepalen van object- en/of ruimtetekeningen','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M061','Kan volgende bestand niet vinden: ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M062','Er is geen enkele objecttekening en ruimtetekening gevonden','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M063','Ruimtenummer %1% bestaat al: gewijzigd in %2%','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M064','Werkpleknummer %1% bestaat al: gewijzigd in %2%','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M065','Objectomschrijving %1% bestaat al: gewijzigd in 2%','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M066','Projectrapportage kan niet meer worden aangeroepen nadat het project is verwerkt','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M067','Sluit eerst AutoCAD, daarna kan het project doorgevoerd worden','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M068','<27> ','undefined'); /* = [alt 168] */
|
||||
DEF_FAC_MESSAGE ('PRJ_M069','Object dat buiten het project om is toegevoegd: ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M070','Werkplek dat buiten het project om is toegevoegd: ','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_M071','Vraag projectleiding.','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP001', 'Project','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP002', 'Omschrijving','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP003', 'Opdrachtgever','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP004', 'Verwijderde objecten','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP005', 'Verplaatste objecten','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP006', 'Nieuwe objecten','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP007', 'Verwijderde werkplekken','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP008', 'Verplaatste werkplekken','undefined');
|
||||
DEF_FAC_MESSAGE ('PRJ_RAP009', 'Nieuwe werkplekken','undefined');
|
||||
|
||||
--TODO: WELKE LEGENDA NEMEN WE?
|
||||
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type)
|
||||
VALUES ('Bezetting: Aantal werkplekken', 2, 'prj_v_cad_thema_aantalwp', '5');
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type)
|
||||
VALUES ('Gebruik: Ruimtefunctie', 2, 'prj_v_cad_thema_srtruimte', '5');
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type)
|
||||
VALUES ('Bezetting: Afdeling', 2, 'prj_v_cad_thema_afdeling', '5');
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type)
|
||||
VALUES ('Oppervlakte: Gemiddeld/werkplek', 2, 'prj_v_cad_thema_wpopp', '5');
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type)
|
||||
VALUES ('Oppervlakte: Restoppervlak', 2, 'prj_v_cad_thema_restopp', '5');
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type)
|
||||
VALUES ('Onderhanden', 2, 'prj_v_cad_thema_onderhanden', '5');
|
||||
|
||||
|
||||
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size)
|
||||
VALUES ('Werkplekken', 'prj_v_cad_label_werkplekken', '5', 420);
|
||||
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size)
|
||||
VALUES ('Bewoners', 'prj_v_cad_label_bewoner', '5', 400);
|
||||
INSERT INTO cad_label (cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size)
|
||||
VALUES ('Bewoners/werkplekken', 'prj_v_cad_label_bewonerwp', '5', 380);
|
||||
|
||||
#endif // PRJ
|
||||
|
||||
5021
PRJ/PRJ_PAC.SRC
5021
PRJ/PRJ_PAC.SRC
File diff suppressed because it is too large
Load Diff
@@ -1,13 +1,17 @@
|
||||
#ifdef PRJ
|
||||
/* REVISIONS:
|
||||
/* PRJ_SEQ.SRC
|
||||
*
|
||||
* 11-10-1999 RD Aanmaken <prj_s_prj_project_key> met NOCACHE (key wordt gebruikt
|
||||
* als projectnummer en moet dus niet te snel oplopen).
|
||||
* 25-08-1999 RD Toegevoegd sequence <prj_s_prj_verwerk_log_key>.
|
||||
* 21-03-1996 ABO Creation
|
||||
* $Revision: 4 $
|
||||
* $Modtime: 6-04-06 17:13 $
|
||||
*/
|
||||
|
||||
CREATE SEQUENCE prj_s_prj_project_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE prj_s_prj_verwerk_log_key MINVALUE 1;
|
||||
CREATE SEQUENCE prj_s_prj_scenario_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE prj_s_prj_scenario_note_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE prj_s_prj_ruimte_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE prj_s_prj_werkplek_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE prj_s_prj_perslidwerkplek_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE prj_s_prj_deel_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE prj_s_prj_log_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE prj_s_prj_selectie_key MINVALUE 1;
|
||||
|
||||
#endif // PRJ
|
||||
|
||||
418
PRJ/PRJ_TAB.SRC
418
PRJ/PRJ_TAB.SRC
@@ -1,180 +1,290 @@
|
||||
#ifdef PRJ
|
||||
|
||||
/* Revisie:
|
||||
**
|
||||
** 03-04-2000 BIV Velden prj_ruimte.alg_ruimte_bruto_vloeropp en ...omtrek van NUMBER(x,2) naar NUMBER(12,2)
|
||||
** 28-09-1999 EGR aan prj_ruimte veld alg_srtruimte_key toegevoegd.
|
||||
** 14-09-1999 EGR constraints op prj_ruimte.alg_verdieping_key verwijderd. Anders kan er geen verhuisomgeving worden aangemaakt.
|
||||
** 06-09-1999 BIV / toegevoegd na CREATE_TABLE prj_verwerk_log, anders foutmelding
|
||||
** 25-08-1999 RD Tabel toegevoegd <prj_verwerk_log>.
|
||||
** 26-07-1999 EGR toevoegen veld prs_werkplek_omschrijving aan prj_werkplek.
|
||||
** 15-07-1999 EGR toevoegen tabellen prj_ruimte, prj_werkplek en prj_deel.
|
||||
** 20-04-1999 ABO aangemaakt.
|
||||
*/
|
||||
/* PRJ_TAB.SRC
|
||||
*
|
||||
* $Revision: 15 $
|
||||
* $Modtime: 1-05-06 11:09 $
|
||||
*/
|
||||
|
||||
#include "comsql.h"
|
||||
|
||||
CREATE_TABLE(prj_project,PRJ_NORMAAL_PRIVILEGE)
|
||||
/* Om een naam te kunnen geven aan een scenario en deze later weer op te kunnen roepen */
|
||||
CREATE_TABLE(prj_scenario, 0)
|
||||
(
|
||||
prj_project_key
|
||||
prj_scenario_key
|
||||
NUMBER(10) _IDENTITY(10000000,1)
|
||||
CONSTRAINT prj_k_prj_scenario_key PRIMARY KEY,
|
||||
prj_scenario_omschrijving
|
||||
VARCHAR2(30),
|
||||
NOT_NULL(prj_scenario_omschrijving, prj_r_prj_scenario_omschr),
|
||||
mld_melding_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_k_prj_project_key PRIMARY KEY,
|
||||
prj_project_nr
|
||||
VARCHAR2(8),
|
||||
prj_project_omschrijving
|
||||
VARCHAR2(32),
|
||||
prj_project_opmerking
|
||||
VARCHAR2(1024),
|
||||
prj_project_beginvoorb
|
||||
DATE,
|
||||
prj_project_eindvoorb
|
||||
DATE,
|
||||
prj_project_beginreal
|
||||
DATE,
|
||||
prj_project_eindreal
|
||||
CONSTRAINT prj_r_mld_melding_key1 REFERENCES mld_melding ON DELETE CASCADE,
|
||||
prj_scenario_status
|
||||
VARCHAR2(30),
|
||||
prj_scenario_opmerking
|
||||
VARCHAR2(2000),
|
||||
prj_scenario_datum
|
||||
DATE,
|
||||
prj_scenario_raming
|
||||
NUMBER(10),
|
||||
prs_perslid_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key),
|
||||
prj_project_kstplaats
|
||||
VARCHAR2(10),
|
||||
prj_project_locatie_key
|
||||
NUMBER(10,0),
|
||||
prj_project_verwijder
|
||||
CONSTRAINT prj_r_prs_perslid_key0 REFERENCES prs_perslid(prs_perslid_key),
|
||||
prj_scenario_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE,
|
||||
prj_scenario_verwerkt
|
||||
DATE
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE cad_tekening
|
||||
ADD
|
||||
CREATE_TABLE(prj_scenario_note, 0)
|
||||
(
|
||||
prj_project_key
|
||||
prj_scenario_note_key
|
||||
NUMBER(10) _IDENTITY(10000000,1)
|
||||
CONSTRAINT prj_k_prj_scenario_reamrk_key PRIMARY KEY,
|
||||
prj_scenario_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cad_r_prj_project_key REFERENCES prj_project(prj_project_key)
|
||||
)
|
||||
/
|
||||
NOT_NULL(prj_scenario_key, prj_c_prj_scenario_key6)
|
||||
CONSTRAINT prj_r_prj_scenario_key6 REFERENCES prj_scenario(prj_scenario_key) ON DELETE CASCADE,
|
||||
prj_scenario_note_nr
|
||||
NUMBER(3),
|
||||
prj_scenario_note_DWGX
|
||||
NUMBER(10),
|
||||
prj_scenario_note_DWGY
|
||||
NUMBER(10),
|
||||
prj_scenario_note_omschrijving
|
||||
VARCHAR2(2000),
|
||||
prj_ruimte_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prj_ruimte_key3 REFERENCES prj_ruimte(prj_ruimte_key),
|
||||
alg_verdieping_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_alg_verdieping_key3 REFERENCES alg_verdieping(alg_verdieping_key),
|
||||
prs_perslid_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prs_perslid_key6 REFERENCES prs_perslid(prs_perslid_key),
|
||||
prj_scenario_note_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
ALTER TABLE cad_tekening DROP CONSTRAINT CAD_U_CAD_TEKENING
|
||||
/
|
||||
ALTER TABLE cad_tekening DROP CONSTRAINT CAD_C_CAD_TEKENING_TYPE2
|
||||
/
|
||||
ALTER TABLE cad_tekening ADD CONSTRAINT CAD_U_CAD_TEKENING
|
||||
UNIQUE (ALG_LOCATIE_KEY
|
||||
, ALG_VERDIEPING_KEY
|
||||
, CAD_TEKENING_TYPE
|
||||
, INS_DISCIPLINE_KEY
|
||||
, PRJ_PROJECT_KEY)
|
||||
/
|
||||
ALTER TABLE cad_tekening ADD CONSTRAINT CAD_C_CAD_TEKENING_TYPE2
|
||||
CHECK (cad_tekening_type IN ('P','C','D','V'))
|
||||
/
|
||||
CREATE_TABLE(prj_ruimte,PRJ_NORMAAL_PRIVILEGE)
|
||||
( prj_project_key
|
||||
NUMBER(10)
|
||||
NOT NULL
|
||||
, alg_ruimte_key
|
||||
NUMBER(10)
|
||||
NOT NULL
|
||||
, alg_verdieping_key
|
||||
NUMBER(10)
|
||||
, alg_srtruimte_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_alg_srtruimte_key REFERENCES alg_srtruimte(alg_srtruimte_key)
|
||||
, alg_ruimte_nr
|
||||
VARCHAR2(10)
|
||||
CONSTRAINT prj_c_alg_ruimte_nr CHECK(alg_ruimte_nr IS NOT NULL)
|
||||
, alg_ruimte_bruto_vloeropp
|
||||
NUMBER(8,2)
|
||||
CONSTRAINT prj_c_alg_ruimte_vloeropp CHECK(alg_ruimte_bruto_vloeropp >= 0)
|
||||
, alg_ruimte_omtrek
|
||||
NUMBER(8,2)
|
||||
CONSTRAINT prj_c_alg_ruimte_omtrek CHECK(alg_ruimte_omtrek >= 0)
|
||||
, alg_ruimte_getekend
|
||||
DATE
|
||||
DEFAULT NULL
|
||||
, alg_ruimte_verwijder
|
||||
DATE
|
||||
DEFAULT NULL
|
||||
, CONSTRAINT prj_k_prj_ruimte PRIMARY KEY(prj_project_key,alg_ruimte_key)
|
||||
)
|
||||
/
|
||||
CREATE_TABLE(prj_deel,PRJ_NORMAAL_PRIVILEGE)
|
||||
( prj_project_key
|
||||
NUMBER(10)
|
||||
NOT NULL
|
||||
/* Om afwijkende oppervlaktes en nieuwe ruimtes te ondersteunen; een ruimte zou ook nog kunnen
|
||||
vervallen in dit scenario, dus dat moet ook kunnen. Een andere ruimtefunctie: idem. Kunnen we
|
||||
ook een ander ruimtenummer aan? */
|
||||
CREATE_TABLE(prj_ruimte, 0)
|
||||
(
|
||||
prj_ruimte_key
|
||||
NUMBER(10) _IDENTITY(10000000,1)
|
||||
CONSTRAINT prj_k_prj_ruimte_key PRIMARY KEY,
|
||||
prj_scenario_key
|
||||
NUMBER(10)
|
||||
NOT_NULL(prj_scenario_key, prj_c_prj_scenario_key1)
|
||||
CONSTRAINT prj_r_prj_scenario_key1 REFERENCES prj_scenario(prj_scenario_key) ON DELETE CASCADE,
|
||||
alg_ruimte_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_alg_ruimte_key2 REFERENCES alg_ruimte(alg_ruimte_key),
|
||||
alg_verdieping_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_alg_verdieping_key2 REFERENCES alg_verdieping(alg_verdieping_key),
|
||||
alg_srtruimte_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_alg_srtruimte_key REFERENCES alg_srtruimte(alg_srtruimte_key),
|
||||
prj_ruimte_nr
|
||||
VARCHAR2(10)
|
||||
NOT_NULL(prj_ruimte_nr, prj_c_alg_ruimte_nr),
|
||||
prj_ruimte_upper_nr
|
||||
VARCHAR2(10)
|
||||
#ifndef MS_SQL
|
||||
NOT_NULL(prj_ruimte_upper_nr, prj_c_alg_ruimte_upper_nr)
|
||||
#endif
|
||||
,
|
||||
prj_ruimte_omschrijving
|
||||
VARCHAR2(30),
|
||||
prj_ruimte_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
NOT_NULL(prj_ruimte_aanmaak, prj_c_prj_ruimte_aanmaak),
|
||||
prj_ruimte_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
prj_ruimte_bruto_vloeropp
|
||||
NUMBER(8,2)
|
||||
CONSTRAINT prj_c_prj_ruimte_vloeropp CHECK(prj_ruimte_bruto_vloeropp >= 0),
|
||||
prj_ruimte_omtrek
|
||||
NUMBER(8,2),
|
||||
CONSTRAINT prj_c_prj_ruimte_omtrek CHECK(prj_ruimte_omtrek >= 0),
|
||||
prj_ruimte_inhoud
|
||||
NUMBER(12,2)
|
||||
CONSTRAINT prj_c_prj_ruimte_inhoud CHECK(prj_ruimte_inhoud >= 0),
|
||||
prj_ruimte_opmerking
|
||||
VARCHAR2(50),
|
||||
CONSTRAINT prj_u_prj_ruimte_upper_nr UNIQUE(prj_scenario_key, alg_verdieping_key, prj_ruimte_upper_nr, prj_ruimte_verwijder)
|
||||
);
|
||||
|
||||
/* Nieuwe werkplekken? Alle werkplekken van een verdieping in scenario? */
|
||||
CREATE_TABLE(prj_werkplek, 0)
|
||||
(
|
||||
prj_werkplek_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_k_prj_werkplek_key PRIMARY KEY,
|
||||
prs_werkplek_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prs_werkplek_key REFERENCES prs_werkplek(prs_werkplek_key),
|
||||
prj_werkplek_volgnr
|
||||
NUMBER(3)
|
||||
NOT_NULL(prj_werkplek_volgnr, prj_c_prj_werkplek_volgnr),
|
||||
prj_werkplek_omschrijving
|
||||
VARCHAR2(30),
|
||||
prj_werkplek_vastopp
|
||||
NUMBER(1)
|
||||
CONSTRAINT prj_c_prj_werkplek_vastopp CHECK(prj_werkplek_vastopp IS NULL
|
||||
OR prj_werkplek_vastopp = 1),
|
||||
prj_werkplek_opp
|
||||
NUMBER(8,2)
|
||||
CONSTRAINT prj_c_prs_werkplek_opp CHECK(prj_werkplek_opp >= 0
|
||||
OR prj_werkplek_opp IS NULL),
|
||||
prj_ruimte_key
|
||||
NUMBER(10)
|
||||
NOT_NULL(prj_ruimte_key, prj_r_prs_prj_ruimte_key1)
|
||||
CONSTRAINT prs_r_prs_prj_ruimte_key2 REFERENCES prj_ruimte(prj_ruimte_key) ON DELETE CASCADE,
|
||||
prj_werkplek_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
NOT_NULL(prj_werkplek_aanmaak, prj_c_prj_werkplek_aanmaak),
|
||||
prj_werkplek_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
CONSTRAINT prj_u_prj_werkplek_volgnr UNIQUE(prj_ruimte_key, prj_werkplek_volgnr, prj_werkplek_verwijder)
|
||||
);
|
||||
|
||||
CREATE_TABLE(prj_perslidwerkplek, 0)
|
||||
(
|
||||
prj_perslidwerkplek_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_k_prj_perslidwerkplek_key PRIMARY KEY,
|
||||
prs_perslidwerkplek_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prs_perslidwp_key REFERENCES prs_perslidwerkplek(prs_perslidwerkplek_key),
|
||||
prs_perslid_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE,
|
||||
prs_afdeling_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prs_pw_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key),
|
||||
prj_werkplek_key
|
||||
NUMBER(10)
|
||||
// niet: NOT_NULL(prj_werkplek_key, prj_c_prj_perslidwp_key)
|
||||
CONSTRAINT prj_r_prj_werkplek_key REFERENCES prj_werkplek(prj_werkplek_key) ON DELETE CASCADE,
|
||||
prj_perslidwerkplek_bezetting
|
||||
NUMBER(3)
|
||||
DEFAULT 100
|
||||
CONSTRAINT prj_c_prj_perslidwp_bezetting2 CHECK
|
||||
(prj_perslidwerkplek_bezetting is not null and prj_perslidwerkplek_bezetting BETWEEN 0 AND 100),
|
||||
prj_perslidwerkplek_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
NOT_NULL(prj_perslidwerkplek_aanmaak, prj_c_prj_perslidwp_aanmaak),
|
||||
prj_perslidwerkplek_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
-- CONSTRAINT prj_c_prj_perslidwp_koppeling CHECK(
|
||||
/* PF: ik wil juist wel de afdeling altijd, evt redundant, gevuld is */
|
||||
-- (prs_perslid_key IS NULL AND prs_afdeling_key IS NOT NULL) OR
|
||||
-- (prs_afdeling_key IS NULL AND prs_perslid_key IS NOT NULL)
|
||||
-- ),
|
||||
CONSTRAINT prj_u_perslidwerkplek UNIQUE(prs_perslid_key, prs_afdeling_key, prj_werkplek_key,prj_perslidwerkplek_verwijder)
|
||||
);
|
||||
|
||||
/* Noot: waar in de real world met een gecombineerde key+type wordt gewerkt, hebben we hier twee aparte verwijzingen
|
||||
* waarbij de ruimte_key verplicht is en de werkplek_key optioneel
|
||||
*/
|
||||
CREATE_TABLE(prj_deel, 0)
|
||||
(
|
||||
prj_deel_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_k_prj_deel_key PRIMARY KEY
|
||||
, ins_deel_key
|
||||
NUMBER(10)
|
||||
NOT NULL
|
||||
CONSTRAINT prj_r_prj_deel_key REFERENCES ins_deel(ins_deel_key)
|
||||
, ins_srtdeel_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_c_deel_srtdeel_key CHECK(ins_srtdeel_key IS NOT NULL)
|
||||
CONSTRAINT prj_r_deel_srtdeel_key REFERENCES ins_srtdeel
|
||||
, ins_alg_ruimte_key
|
||||
NUMBER(10)
|
||||
, ins_alg_ruimte_type
|
||||
VARCHAR2(1)
|
||||
, ins_alg_locatie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_c_ins_deel_locatie CHECK(ins_alg_locatie_key IS NOT NULL)
|
||||
CONSTRAINT prj_r_ins_deel_locatie REFERENCES alg_locatie(alg_locatie_key)
|
||||
, ins_discipline_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_ins_deel_discipline REFERENCES ins_tab_discipline(ins_discipline_key)
|
||||
, ins_deel_omschrijving
|
||||
NOT_NULL(ins_srtdeel_key, prj_r_deel_srtdeel_key1)
|
||||
CONSTRAINT prj_r_deel_srtdeel_key2 REFERENCES ins_srtdeel
|
||||
, prj_ruimte_key
|
||||
NUMBER(10)
|
||||
NOT_NULL(prj_ruimte_key, prj_r_prs_prj_ruimte_key2)
|
||||
CONSTRAINT prs_r_prs_prj_ruimte_key3 REFERENCES prj_ruimte(prj_ruimte_key) ON DELETE CASCADE
|
||||
, prj_werkplek_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prj_werkplek_key2 REFERENCES prj_werkplek(prj_werkplek_key) ON DELETE CASCADE
|
||||
, prj_deel_omschrijving
|
||||
VARCHAR2(30)
|
||||
CONSTRAINT prj_c_ins_deel_omschrijving CHECK(ins_deel_omschrijving IS NOT NULL)
|
||||
, ins_deel_parent_key
|
||||
NUMBER(10)
|
||||
, ins_deel_oppervlak
|
||||
NUMBER(8,2)
|
||||
, ins_deel_omtrek
|
||||
NUMBER(8,2)
|
||||
, ins_deel_getekend
|
||||
CONSTRAINT prj_c_ins_deel_omschrijving CHECK(prj_deel_omschrijving IS NOT NULL)
|
||||
, prj_deel_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
, prj_deel_verwijder
|
||||
DATE
|
||||
DEFAULT NULL
|
||||
, ins_deel_verwijder
|
||||
DATE
|
||||
DEFAULT NULL
|
||||
, CONSTRAINT prj_k_prj_deel PRIMARY KEY(prj_project_key,ins_deel_key)
|
||||
)
|
||||
/
|
||||
CREATE_TABLE(prj_werkplek,PRJ_NORMAAL_PRIVILEGE)
|
||||
( prj_project_key
|
||||
NUMBER(10)
|
||||
NOT NULL
|
||||
, prs_werkplek_key
|
||||
NUMBER(10)
|
||||
NOT NULL
|
||||
, prs_alg_ruimte_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_c_prs_alg_ruimte_key CHECK(prs_alg_ruimte_key IS NOT NULL)
|
||||
, prs_werkplek_volgnr
|
||||
NUMBER(3)
|
||||
CONSTRAINT prj_c_prs_werkplek_volgnr CHECK(prs_werkplek_volgnr IS NOT NULL)
|
||||
, prs_werkplek_omschrijving
|
||||
VARCHAR2(30)
|
||||
, prs_werkplek_getekend
|
||||
DATE
|
||||
DEFAULT NULL
|
||||
, prs_werkplek_verwijder
|
||||
DATE
|
||||
DEFAULT NULL
|
||||
, CONSTRAINT prj_k_prj_werkplek PRIMARY KEY(prj_project_key,prs_werkplek_key)
|
||||
, CONSTRAINT prj_r_prs_alg_ruimte_key FOREIGN KEY (prj_project_key,prs_alg_ruimte_key)
|
||||
REFERENCES prj_ruimte(prj_project_key,alg_ruimte_key)
|
||||
)
|
||||
/
|
||||
CREATE_TABLE(prj_verwerk_log,PRJ_NORMAAL_PRIVILEGE)
|
||||
( prj_verwerk_log_key
|
||||
);
|
||||
|
||||
CREATE_TABLE(prj_log, 0)
|
||||
( prj_log_key
|
||||
NUMBER(10) PRIMARY KEY
|
||||
, prj_project_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_c_prj_project_key REFERENCES prj_project(prj_project_key)
|
||||
, prj_session_id
|
||||
, prj_scenario_key
|
||||
NUMBER(10)
|
||||
NOT_NULL(prj_scenario_key, prj_c_prj_scenario_key5)
|
||||
CONSTRAINT prj_r_prj_scenario_key5 REFERENCES prj_scenario(prj_scenario_key)
|
||||
, prj_log_datum
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
, prj_log_code
|
||||
VARCHAR(12) NOT NULL
|
||||
, prj_log
|
||||
VARCHAR(128)
|
||||
)
|
||||
/
|
||||
, prj_log_omschrijving
|
||||
VARCHAR(250)
|
||||
);
|
||||
|
||||
CREATE_TABLE(prj_selectie, 0)
|
||||
(
|
||||
prj_selectie_key
|
||||
NUMBER(10) _IDENTITY(10000000,1)
|
||||
CONSTRAINT prj_k_prj_selectie_key PRIMARY KEY,
|
||||
prj_scenario_key
|
||||
NUMBER(10)
|
||||
NOT_NULL(prj_scenario_key, prj_c_prj_scenario_key2)
|
||||
CONSTRAINT prj_r_prj_scenario_key2 REFERENCES prj_scenario(prj_scenario_key) ON DELETE CASCADE,
|
||||
prs_perslid_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_prs_perslid_key2 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE,
|
||||
prj_selectie_tabelnaam
|
||||
VARCHAR2(32)
|
||||
CONSTRAINT prj_c_prj_selectie_tabelnaam CHECK(prj_selectie_tabelnaam IN ('PRJ_WERKPLEK', 'PRJ_PERSLIDWERKPLEK', 'PRJ_DEEL', 'PRS_PERSLID', 'PRS_AFDELING'))
|
||||
NOT_NULL(prj_selectie_tabelnaam, prj_c_prj_selectie_tabelnaam),
|
||||
prj_selectie_tabelkey
|
||||
NUMBER(10),
|
||||
NOT_NULL(prj_selectie_tabelkey, prj_c_prj_selectie_tabelkey),
|
||||
prj_selectie_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
CREATE TABLE prj_scenario_xml
|
||||
(
|
||||
prj_scenario_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT prj_r_scenario_xml_key REFERENCES prj_scenario (prj_scenario_key) ON DELETE CASCADE,
|
||||
prj_scenario_xml
|
||||
LONG,
|
||||
prj_scenario_xml_datum
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
NOT_NULL(prj_scenario_xml_datum,prj_c_prj_scenario_xml_datum),
|
||||
prj_scenario_xml_volgnr
|
||||
NUMBER
|
||||
);
|
||||
|
||||
|
||||
// Subject to discussion:
|
||||
ALTER TABLE cad_imp_contour ADD prj_scenario_key NUMBER(10) REFERENCES prj_scenario(prj_scenario_key);
|
||||
|
||||
#endif // PRJ
|
||||
|
||||
357
PRJ/PRJ_TRI.SRC
357
PRJ/PRJ_TRI.SRC
@@ -1,340 +1,73 @@
|
||||
#ifdef PRJ
|
||||
/* PRJ_TRI.SRC
|
||||
*
|
||||
* $Revision: 13 $
|
||||
* $Modtime: 6-04-06 17:13 $
|
||||
*/
|
||||
|
||||
#include "comsql.h"
|
||||
|
||||
/* Revisie:
|
||||
**
|
||||
** 28-09-1999 EGR prj_t_prj_ruimte_b_iu moet gebruik maken van alg_srtruimte_key bij controle van werkplekken.
|
||||
** 27-08-1999 EGR prj_t_prj_ruimte_b_iu werkend gemaakt voor gecascadeerd verwijderen van ruimte, werkplek, object.
|
||||
** 25-08-1999 RD Trigger <prj_t_prj_verwerk_log_B_IU> toegevoegd.
|
||||
** 23-07-1999 EGR LOG verwijderd en ins_deel. gewijzigd in prj_deel. .
|
||||
** 22-07-1999 EGR prj_t_prj_ruimte_B_IU, prj_t_prj_deel_b_iu, prj_t_prj_deel_s_b_iu,
|
||||
** prj_t_prj_deel_s_a_iu, prj_t_prj_werkplek_b_iu aangemaakt.
|
||||
** 20-04-1999 ABO Aangemaakt
|
||||
*/
|
||||
|
||||
CREATE_TRIGGER(prj_t_prj_project_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_project
|
||||
CREATE_TRIGGER(prj_t_prj_scenario_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_scenario
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(prj_project_key
|
||||
,prj_s_prj_project_key);
|
||||
UPDATE_PRIMARY_KEY(prj_scenario_key, prj_s_prj_scenario_key);
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(cad_t_cad_tekening_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON cad_tekening
|
||||
|
||||
CREATE_TRIGGER(prj_t_prj_scenario_note_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_scenario_note
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
-- Deze trigger is ook gedefinieerd in CAD !!
|
||||
UPDATE_PRIMARY_KEY(cad_tekening_key
|
||||
,cad_s_cad_tekening_key);
|
||||
UPDATE_AANMAAKDATUM(cad_tekening
|
||||
,cad_tekening_aanmaak);
|
||||
IF :new.cad_tekening_type IN ('P', 'C') AND
|
||||
:new.ins_discipline_key IS NOT NULL
|
||||
THEN
|
||||
RAISE_APPLICATION_ERROR(-20000, 'CAD_M010');
|
||||
END IF;
|
||||
IF :new.prj_project_key IS NOT NULL
|
||||
THEN
|
||||
:new.cad_tekening_filenaam := :new.cad_tekening_key ||'.DWG';
|
||||
END IF;
|
||||
UPDATE_PRIMARY_KEY(prj_scenario_note_key, prj_s_prj_scenario_note_key);
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(prj_t_prj_ruimte_B_IU)
|
||||
|
||||
CREATE_TRIGGER(prj_t_prj_ruimte_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_ruimte
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(alg_ruimte_key
|
||||
,alg_s_alg_onroerendgoed_keys);
|
||||
CHECK_CADMUTATIE(alg_ruimte_verwijder
|
||||
,alg_ruimte_getekend
|
||||
,'alg_m245');
|
||||
IF :old.alg_ruimte_key IS NOT NULL
|
||||
AND :new.alg_ruimte_verwijder IS NULL
|
||||
AND :old.alg_srtruimte_key <> :new.alg_srtruimte_key
|
||||
THEN
|
||||
DECLARE
|
||||
dummy CHAR;
|
||||
BEGIN
|
||||
SELECT 'x'
|
||||
INTO dummy
|
||||
FROM prj_werkplek PRS_W
|
||||
, alg_srtruimte SR_1
|
||||
, alg_srtruimte SR_2
|
||||
WHERE SR_1.alg_srtruimte_key = :old.alg_srtruimte_key
|
||||
AND SR_2.alg_srtruimte_key = :new.alg_srtruimte_key
|
||||
AND SR_1.prs_bevat_werkplek = 1
|
||||
AND SR_2.prs_bevat_werkplek IS NULL
|
||||
AND prs_werkplek_verwijder IS NULL
|
||||
AND prs_alg_ruimte_key = :new.alg_ruimte_key
|
||||
AND prj_project_key = :new.prj_project_key;
|
||||
APPLICATION_ERROR(-20000, 'prs_m034');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN NULL;
|
||||
WHEN TOO_MANY_ROWS
|
||||
THEN APPLICATION_ERROR(-20000, 'prs_m034');
|
||||
END;
|
||||
END IF;
|
||||
/*
|
||||
** Als de ruimte verwijderd wordt, dan moeten ook de bijbehorende
|
||||
** werkplekken verwijderd worden.
|
||||
*/
|
||||
BEGIN
|
||||
IF :new.alg_ruimte_verwijder IS NOT NULL
|
||||
OR (:new.alg_ruimte_verwijder IS NULL AND :old.alg_ruimte_verwijder IS NOT NULL)
|
||||
THEN
|
||||
UPDATE prj_werkplek
|
||||
SET prs_werkplek_verwijder = :new.alg_ruimte_verwijder
|
||||
, prs_werkplek_getekend = :new.alg_ruimte_getekend
|
||||
WHERE prj_werkplek.prs_alg_ruimte_key = :new.alg_ruimte_key
|
||||
AND prj_werkplek.prj_project_key = :new.prj_project_key;
|
||||
END IF;
|
||||
END;
|
||||
/*
|
||||
** Als de ruimte verwijderd wordt, dan moeten ook de bijbehorende
|
||||
** objecten verwijderd wordne.
|
||||
*/
|
||||
BEGIN
|
||||
IF :new.alg_ruimte_verwijder IS NOT NULL
|
||||
OR (:new.alg_ruimte_verwijder IS NULL AND :old.alg_ruimte_verwijder IS NOT NULL)
|
||||
THEN
|
||||
UPDATE prj_deel
|
||||
SET ins_deel_verwijder = :new.alg_ruimte_verwijder
|
||||
, ins_deel_getekend = :new.alg_ruimte_getekend
|
||||
WHERE prj_deel.ins_alg_ruimte_key = :new.alg_ruimte_key
|
||||
AND prj_deel.prj_project_key = :new.prj_project_key
|
||||
AND ins_alg_ruimte_type <> 'W';
|
||||
END IF;
|
||||
END;
|
||||
UPDATE_PRIMARY_KEY(prj_ruimte_key, prj_s_prj_ruimte_key);
|
||||
:new.prj_ruimte_upper_nr := UPPER(:new.prj_ruimte_nr);
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(prj_t_prj_deel_S_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON prj_deel
|
||||
DECLARE
|
||||
Dummy BOOLEAN;
|
||||
BEGIN
|
||||
Dummy := fac_p_fac_save_restore.ResetSelectie('PRJ_DEEL');
|
||||
Dummy := fac_p_fac_save_restore.ResetSelectie('PRJ_DEEL_VERWIJDER');
|
||||
Dummy := fac_p_fac_save_restore.ResetSelectie('PRJ_DEEL_CASCADE');
|
||||
Dummy := fac_p_fac_save_restore.ResetSelectie('PRJ_DEEL_PROJECT');
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(prj_t_prj_deel_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON prj_deel
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(ins_deel_key
|
||||
,ins_s_ins_inst_keys);
|
||||
CHECK_CADMUTATIE2(ins_deel_verwijder
|
||||
,ins_deel_getekend
|
||||
,ins_alg_ruimte_key
|
||||
,'ins_m187');
|
||||
/*
|
||||
** Het zetten van de verwijderingsdatum gebeurt via FAC_P_FAC_SAVE_RESTORE-package. De key
|
||||
** voor het verwijderen wordt vastgelegd als tabelnaam PRJ_DEEL_VERWIJDER.
|
||||
** Verwijderen van INS_DEELKOPPELING-records gebeurt via FAC_P_FAC_SAVE_RESTORE-package.
|
||||
** Hier hoeft alleen de PRJ_DEEL_KEY onthouden te worden.
|
||||
** anders krijg je ORA-4094: Mutating-trigger-bla.
|
||||
*/
|
||||
IF :new.ins_deel_verwijder IS NOT NULL
|
||||
THEN
|
||||
DECLARE
|
||||
Dummy BOOLEAN;
|
||||
BEGIN
|
||||
Dummy := fac_p_fac_save_restore.SavePrimaryKey('PRJ_DEEL' , :new.ins_deel_key);
|
||||
Dummy := fac_p_fac_save_restore.SavePrimaryKey('PRJ_DEEL_VERWIJDER', :new.ins_deel_key);
|
||||
Dummy := fac_p_fac_save_restore.SavePrimaryKey('PRJ_DEEL_PROJECT' , :new.prj_project_key);
|
||||
END;
|
||||
END IF;
|
||||
/*
|
||||
** Vul het veld INS_DISCIPLINE van het huidige deel.
|
||||
*/
|
||||
IF :old.ins_srtdeel_key IS NULL
|
||||
OR :old.ins_srtdeel_key <> :new.ins_srtdeel_key
|
||||
OR :old.ins_discipline_key IS NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT INS_D.ins_discipline_key
|
||||
INTO :new.ins_discipline_key
|
||||
FROM ins_srtdeel INS_SD
|
||||
, ins_srtgroep INS_SG
|
||||
, ins_tab_discipline INS_D
|
||||
WHERE INS_SD.ins_srtdeel_key = :new.ins_srtdeel_key
|
||||
AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key
|
||||
AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN :new.ins_discipline_key := NULL;
|
||||
END;
|
||||
END IF;
|
||||
/*
|
||||
** Vul het veld INS_ALG_LOCATIE_KEY van het huidige deel
|
||||
*/
|
||||
IF :old.ins_alg_ruimte_key IS NULL
|
||||
OR :old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
|
||||
OR :new.ins_alg_locatie_key IS NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prj_project_locatie_key
|
||||
INTO :new.ins_alg_locatie_key
|
||||
FROM prj_project
|
||||
WHERE prj_project_key = :new.prj_project_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN :new.ins_alg_locatie_key := NULL;
|
||||
END;
|
||||
END IF;
|
||||
/*
|
||||
** Bij INS_DEEL moet INS_ALG_RUIMTE_KEY ingevuld zijn
|
||||
** en wel met ruimte, werkplek of terreinsector.
|
||||
** Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn
|
||||
** (met 'R' of 'W' of 'T').
|
||||
** Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een
|
||||
** nieuw record geinsert wordt.
|
||||
*/
|
||||
IF (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
|
||||
OR :old.ins_alg_ruimte_key IS NULL)
|
||||
THEN
|
||||
IF :new.ins_alg_ruimte_type = 'W'
|
||||
THEN
|
||||
DECLARE
|
||||
dummy NUMBER(10);
|
||||
BEGIN
|
||||
SELECT prs_werkplek_key
|
||||
INTO dummy
|
||||
FROM prj_v_aanwezigwerkplek
|
||||
WHERE prs_werkplek_key = :new.ins_alg_ruimte_key
|
||||
AND prj_project_key = :new.prj_project_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN APPLICATION_ERROR(-20000,'ins_m174');
|
||||
END;
|
||||
ELSIF :new.ins_alg_ruimte_type = 'R'
|
||||
THEN
|
||||
DECLARE
|
||||
dummy NUMBER(10);
|
||||
BEGIN
|
||||
SELECT alg_ruimte_key
|
||||
INTO dummy
|
||||
FROM prj_v_aanwezigruimte
|
||||
WHERE alg_ruimte_key = :new.ins_alg_ruimte_key
|
||||
AND prj_project_key = :new.prj_project_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN APPLICATION_ERROR(-20000,'ins_m092');
|
||||
END;
|
||||
ELSIF :new.ins_alg_ruimte_type = 'T'
|
||||
THEN
|
||||
null;
|
||||
/* terreinsector wordt nog niet gebuikt in project.
|
||||
DECLARE
|
||||
dummy NUMBER(10);
|
||||
BEGIN
|
||||
SELECT alg_terreinsector_key
|
||||
INTO dummy
|
||||
FROM prj_v_aanwezigterreinsector
|
||||
WHERE alg_terreinsector_key = :new.ins_alg_ruimte_key
|
||||
AND prj_project_key = :new.prj_project_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN APPLICATION_ERROR(-20000,'ins_m095');
|
||||
END;
|
||||
*/
|
||||
ELSE
|
||||
APPLICATION_ERROR(-20000, 'ins_m84');
|
||||
END IF;
|
||||
|
||||
DECLARE
|
||||
Dummy BOOLEAN;
|
||||
BEGIN
|
||||
Dummy := fac_p_fac_save_restore.SavePrimaryKey('PRJ_DEEL_CASCADE', :new.ins_deel_key);
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(prj_t_prj_deel_S_A_IU)
|
||||
AFTER INSERT OR UPDATE ON prj_deel
|
||||
BEGIN
|
||||
DECLARE
|
||||
IndexNr NUMBER;
|
||||
PrimaryKey NUMBER(10);
|
||||
ProjectKey NUMBER(10);
|
||||
Dummy BOOLEAN;
|
||||
BEGIN
|
||||
/* Zet de verwijderdatum voor PRJ_DEEL. */
|
||||
IndexNr := 1;
|
||||
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('PRJ_DEEL', IndexNr);
|
||||
ProjectKey := fac_p_fac_save_restore.GetPrimaryKey('PRJ_DEEL_PROJECT',1);
|
||||
WHILE PrimaryKey IS NOT NULL
|
||||
LOOP
|
||||
UPDATE prj_deel
|
||||
SET ins_deel_verwijder = SYSDATE
|
||||
WHERE prj_deel.ins_deel_parent_key = PrimaryKey
|
||||
AND prj_project_key = ProjectKey
|
||||
AND ins_deel_verwijder IS NULL;
|
||||
IndexNr := IndexNr + 1;
|
||||
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('PRJ_DEEL_VERWIJDER', IndexNr);
|
||||
END LOOP;
|
||||
Dummy := fac_p_fac_save_restore.ResetSelectie('PRJ_DEEL_VERWIJDER');
|
||||
/*
|
||||
** (onder)deel is verplaatst; dus ook de children naar die plaats.
|
||||
*/
|
||||
IndexNr := 1;
|
||||
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('PRJ_DEEL_CASCADE', IndexNr);
|
||||
WHILE PrimaryKey IS NOT NULL
|
||||
LOOP
|
||||
UPDATE prj_deel
|
||||
SET (ins_alg_ruimte_key
|
||||
, ins_alg_ruimte_type
|
||||
, ins_alg_locatie_key) = (SELECT ins_alg_ruimte_key
|
||||
, ins_alg_ruimte_type
|
||||
, ins_alg_locatie_key
|
||||
FROM prj_deel
|
||||
WHERE ins_deel_key = PrimaryKey
|
||||
AND prj_project_key = ProjectKey)
|
||||
WHERE prj_deel.ins_deel_parent_key = PrimaryKey
|
||||
AND prj_project_key = ProjectKey;
|
||||
IndexNr := IndexNr + 1;
|
||||
PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey('PRJ_DEEL_CASCADE', IndexNr);
|
||||
END LOOP;
|
||||
Dummy := fac_p_fac_save_restore.ResetSelectie('PRJ_DEEL_CASCADE');
|
||||
Dummy := fac_p_fac_save_restore.ResetSelectie('PRJ_DEEL_PROJECT');
|
||||
END;
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(prj_t_prj_werkplek_B_IU)
|
||||
CREATE_TRIGGER(prj_t_prj_werkplek_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_werkplek
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(prs_werkplek_key
|
||||
,prs_s_prs_werkplek_key);
|
||||
CHECK_CADMUTATIE2(prs_werkplek_verwijder
|
||||
,prs_werkplek_getekend
|
||||
,prs_alg_ruimte_key
|
||||
,'prs_m161');
|
||||
BEGIN
|
||||
IF :new.prs_werkplek_verwijder IS NOT NULL
|
||||
OR (:new.prs_werkplek_verwijder IS NULL AND :old.prs_werkplek_verwijder IS NOT NULL)
|
||||
THEN
|
||||
UPDATE prj_deel
|
||||
SET ins_deel_verwijder = :new.prs_werkplek_verwijder
|
||||
, ins_deel_getekend = :new.prs_werkplek_getekend
|
||||
WHERE prj_deel.ins_alg_ruimte_key = :new.prs_werkplek_key
|
||||
AND prj_deel.prj_project_key = :new.prj_project_key
|
||||
AND ins_alg_ruimte_type = 'W';
|
||||
END IF;
|
||||
END;
|
||||
UPDATE_PRIMARY_KEY(prj_werkplek_key, prj_s_prj_werkplek_key);
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(prj_t_prj_verwerk_log_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON prj_verwerk_log
|
||||
|
||||
CREATE_TRIGGER(prj_t_prj_perslidwerkplek_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_perslidwerkplek
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF :new.prj_verwerk_log_key IS NULL THEN SELECT prj_s_prj_verwerk_log_key.nextval INTO :new.prj_verwerk_log_key FROM DUAL; END IF;
|
||||
UPDATE_PRIMARY_KEY(prj_perslidwerkplek_key, prj_s_prj_perslidwerkplek_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(prj_t_prj_deel_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_deel
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(prj_deel_key, prj_s_prj_deel_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(prj_t_prj_log_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_log
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(prj_log_key, prj_s_prj_log_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(prj_t_prj_selectie_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON prj_selectie
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(prj_selectie_key, prj_s_prj_selectie_key);
|
||||
END;
|
||||
/
|
||||
|
||||
#endif // PRJ
|
||||
|
||||
941
PRJ/PRJ_VIE.SRC
941
PRJ/PRJ_VIE.SRC
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user