prj_t_prj_ruimte_b_iu werkend gemaakt voor gecascadeerd verwijderen van ruimte, werkplek, object.
svn path=/Database/trunk/; revision=7031
This commit is contained in:
398
PRJ/PRJ_PAC.SRC
398
PRJ/PRJ_PAC.SRC
@@ -4,8 +4,10 @@
|
||||
**
|
||||
** REVISIONS:
|
||||
**
|
||||
** 26-07-1999 EGR Procedures verwerk_log en verwerk_log_clear toegevoegd om met een logbestand te kunnen werken.
|
||||
** 26-07-1999 EGR Procedure cad_GetSrcDwgOfEntity2 toegevoegd die de functie cad_GetSrcDwgOfEntity aanroept.
|
||||
** 26-07-1999 EGR Omschrijving van object, ruimte en werkplek bepalen uit prj-tabellen.
|
||||
** In cad_getsrcdwgofentity parameter projectkey niet gebruiken, maar hier zelf bebalen.
|
||||
** In cad_getsrcdwgofentity parameter projectkey niet gebruiken, maar hier zelf bepalen.
|
||||
** Functie prj_f_fac_get_description toegevoegd, waarin op dezelfde wijze als fac_f_fac_get_description
|
||||
** de default volgnummer wordt gemaakt, alleen nu aan de hand van de prj-tabellen.
|
||||
** 19-07-1999 EGR CAD-views vervangen door PRJ-views.
|
||||
@@ -58,15 +60,23 @@ CREATE OR REPLACE PACKAGE prj AS
|
||||
FUNCTION cad_GetSrcDwgOfEntity (Session_Id IN NUMBER
|
||||
,LPNAliasINSO IN VARCHAR2
|
||||
,LPNKey IN NUMBER) RETURN VARCHAR2;
|
||||
PROCEDURE cad_GetSrcDwgOfEntity2 (Session_Id IN NUMBER
|
||||
,LPNAliasINSO IN VARCHAR2
|
||||
,LPNKey IN NUMBER);
|
||||
PROCEDURE verwerk_log_clear (sessionID IN NUMBER
|
||||
,projectKEY IN NUMBER);
|
||||
PROCEDURE verwerk_log (logmelding IN VARCHAR
|
||||
,sessionID IN NUMBER
|
||||
,projectKEY IN NUMBER);
|
||||
|
||||
|
||||
/* garandeer dat de functies de database-state en package-state niet beinvloeden
|
||||
* (anders kunnen ze niet zondermeer in een view worden gebruikt)
|
||||
*/
|
||||
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_locatie, WNDS, WNPS);
|
||||
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_verdieping, WNDS, WNPS);
|
||||
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_discipline, WNDS, WNPS);
|
||||
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_tekeningnaam, WNDS, WNPS);
|
||||
-- PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_locatie, WNDS, WNPS);
|
||||
-- PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_verdieping, WNDS, WNPS);
|
||||
-- PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_discipline, WNDS, WNPS);
|
||||
-- PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_tekeningnaam, WNDS, WNPS);
|
||||
PRAGMA RESTRICT_REFERENCES (cad_f_ruimte_get_tekeningnaam, WNDS, WNPS);
|
||||
PRAGMA RESTRICT_REFERENCES (cad_getDisciplinetekening, WNDS, WNPS);
|
||||
PRAGMA RESTRICT_REFERENCES (cad_getPlattegrondtekening, WNDS, WNPS);
|
||||
@@ -89,14 +99,17 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
,Prefix IN VARCHAR2
|
||||
,PrefixKey IN NUMBER) RETURN VARCHAR2 IS
|
||||
NextVolgNr VARCHAR2(10);
|
||||
NextVolgNr1 VARCHAR2(10);
|
||||
NextVolgNr2 VARCHAR2(10);
|
||||
ReturnString VARCHAR2(30);
|
||||
BEGIN
|
||||
IF LPNName = 'LPN_INS_DEEL'
|
||||
THEN
|
||||
FOR i IN 3..10
|
||||
LOOP
|
||||
/* Bepaal het hoogste volgnummer voor het deel in dit project. */
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_omschrijving,LENGTH(ins_deel_omschrijving)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr
|
||||
INTO NextVolgNr1
|
||||
FROM prj_v_aanwezigdeel
|
||||
WHERE LTRIM(SUBSTR(ins_deel_omschrijving, LENGTH(ins_deel_omschrijving)-(i-1)))
|
||||
BETWEEN '0' AND LPAD('9',i,'9')
|
||||
@@ -104,7 +117,35 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
AND ins_alg_locatie_key = CondKey
|
||||
AND prj_project_key = ProjectKey
|
||||
AND ins_srtdeel_key = PrefixKey
|
||||
AND ins_deel_omschrijving LIKE Prefix ||'%' ;
|
||||
AND ins_deel_omschrijving LIKE Prefix ||'%';
|
||||
/* Bepaal het hoogste volgnummer voor deel in de gewone tekening. */
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_omschrijving,LENGTH(ins_deel_omschrijving)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr2
|
||||
FROM ins_v_aanwezigdeel
|
||||
WHERE LTRIM(SUBSTR(ins_deel_omschrijving, LENGTH(ins_deel_omschrijving)-(i-1)))
|
||||
BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND LENGTH(ins_deel_omschrijving) <= LENGTH(Prefix)+i
|
||||
AND ins_alg_locatie_key = CondKey
|
||||
AND ins_srtdeel_key = PrefixKey
|
||||
AND ins_deel_omschrijving LIKE Prefix ||'%';
|
||||
/* Neem de hoogste waarde van beide volgnummers. */
|
||||
IF NextVolgNr1 = '***' AND NextVolgNr2 = '***'
|
||||
THEN
|
||||
NextVolgNr := '***';
|
||||
ELSIF NextVolgNr1 = '***' AND NextVolgNr2 <> '***'
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr2;
|
||||
ELSIF NextVolgNr2 = '***' AND NextVolgNr1 <> '***'
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr1;
|
||||
ELSE
|
||||
IF TO_NUMBER(NextVolgNr1) > TO_NUMBER(NextVolgNr2)
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr1;
|
||||
ELSE
|
||||
NextVolgNr := NextVolgNr2;
|
||||
END IF;
|
||||
END IF;
|
||||
IF NextVolgNr = '***'
|
||||
THEN
|
||||
IF i = 3
|
||||
@@ -126,8 +167,9 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
THEN
|
||||
FOR i IN 3..10
|
||||
LOOP
|
||||
/* Bepaal het hoogste volgnummer voor het onderdeel in dit project. */
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_omschrijving,LENGTH(ins_deel_omschrijving)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr
|
||||
INTO NextVolgNr1
|
||||
FROM prj_deel
|
||||
WHERE LTRIM(SUBSTR(ins_deel_omschrijving,LENGTH(ins_deel_omschrijving)-(i-1)))
|
||||
BETWEEN '0' AND LPAD('9',i,'9')
|
||||
@@ -138,6 +180,36 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
AND ins_deel_verwijder IS NULL
|
||||
AND ins_deel_parent_key IS NOT NULL
|
||||
AND ins_deel_omschrijving LIKE Prefix ||'%';
|
||||
/* Bepaal het hoogste volgnummer voor deel in de gewone tekening. */
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_omschrijving,LENGTH(ins_deel_omschrijving)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr2
|
||||
FROM ins_deel
|
||||
WHERE LTRIM(SUBSTR(ins_deel_omschrijving,LENGTH(ins_deel_omschrijving)-(i-1)))
|
||||
BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND ins_alg_locatie_key = CondKey
|
||||
AND ins_srtdeel_key = PrefixKey
|
||||
AND LENGTH(ins_deel_omschrijving) <= LENGTH(Prefix)+i
|
||||
AND ins_deel_verwijder IS NULL
|
||||
AND ins_deel_parent_key IS NOT NULL
|
||||
AND ins_deel_omschrijving LIKE Prefix ||'%';
|
||||
/* Neem de hoogste waarde van beide volgnummers. */
|
||||
IF NextVolgNr1 = '***' AND NextVolgNr2 = '***'
|
||||
THEN
|
||||
NextVolgNr := '***';
|
||||
ELSIF NextVolgNr1 = '***' AND NextVolgNr2 <> '***'
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr2;
|
||||
ELSIF NextVolgNr2 = '***' AND NextVolgNr1 <> '***'
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr1;
|
||||
ELSE
|
||||
IF TO_NUMBER(NextVolgNr1) > TO_NUMBER(NextVolgNr2)
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr1;
|
||||
ELSE
|
||||
NextVolgNr := NextVolgNr2;
|
||||
END IF;
|
||||
END IF;
|
||||
IF NextVolgNr = '***'
|
||||
THEN
|
||||
IF i = 3
|
||||
@@ -159,13 +231,39 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
THEN
|
||||
FOR i IN 3..10
|
||||
LOOP
|
||||
/* Bepaal het hoogste volgnummer van ruimte in dit project. */
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr
|
||||
INTO NextVolgNr1
|
||||
FROM prj_v_aanwezigruimte
|
||||
WHERE LTRIM(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND alg_verdieping_key = CondKey
|
||||
AND prj_project_key = ProjectKey
|
||||
AND LENGTH(alg_ruimte_nr) <= i;
|
||||
/* Bepaal het hoogste volgnummer van ruimte in de gewone tekening. */
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr2
|
||||
FROM alg_v_aanwezigruimte
|
||||
WHERE LTRIM(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND alg_verdieping_key = CondKey
|
||||
AND LENGTH(alg_ruimte_nr) <= i;
|
||||
/* Neem de hoogste waarde van beide volgnummers. */
|
||||
IF NextVolgNr1 = '***' AND NextVolgNr2 = '***'
|
||||
THEN
|
||||
NextVolgNr := '***';
|
||||
ELSIF NextVolgNr1 = '***' AND NextVolgNr2 <> '***'
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr2;
|
||||
ELSIF NextVolgNr2 = '***' AND NextVolgNr1 <> '***'
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr1;
|
||||
ELSE
|
||||
IF TO_NUMBER(NextVolgNr1) > TO_NUMBER(NextVolgNr2)
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr1;
|
||||
ELSE
|
||||
NextVolgNr := NextVolgNr2;
|
||||
END IF;
|
||||
END IF;
|
||||
IF NextVolgNr = '***'
|
||||
THEN
|
||||
IF i = 3
|
||||
@@ -187,15 +285,36 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
THEN
|
||||
/* Bepaal het volgnummer v/d toe te voegen werkplek */
|
||||
BEGIN
|
||||
/* Bepaal eerst het hoogste volgnummer van werkplek in dit project. */
|
||||
SELECT TO_CHAR(MAX(prs_werkplek_volgnr) + 1)
|
||||
INTO NextVolgNr
|
||||
INTO NextVolgNr1
|
||||
FROM prj_werkplek
|
||||
WHERE prs_alg_ruimte_key = CondKey
|
||||
AND prj_project_key = ProjectKey
|
||||
AND prs_werkplek_verwijder IS NULL;
|
||||
IF NextVolgNr IS NULL
|
||||
/* Kijk of in de gewone tekening een werkplek voorkomt met een hoger nummer. */
|
||||
SELECT TO_CHAR(MAX(prs_werkplek_volgnr) +1)
|
||||
INTO NextVolgNr2
|
||||
FROM prs_werkplek
|
||||
WHERE prs_alg_ruimte_key = CondKey
|
||||
AND prs_werkplek_verwijder IS NULL;
|
||||
/* Neem de hoogste waarde van beide volgnummers. */
|
||||
IF ((NextVolgNr1 IS NULL) AND (NextVolgNr2 IS NULL))
|
||||
THEN
|
||||
NextVolgNr := '1';
|
||||
ELSIF ((NextVolgNr1 IS NULL) AND (NextVolgNr2 IS NOT NULL))
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr2;
|
||||
ELSIF ((NextVolgNr2 IS NULL) AND (NextVolgNr1 IS NOT NULL))
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr1;
|
||||
ELSE
|
||||
IF TO_NUMBER(NextVolgNr1) > TO_NUMBER(NextVolgNr2)
|
||||
THEN
|
||||
NextVolgNr := NextVolgNr1;
|
||||
ELSE
|
||||
NextVolgNr := NextVolgNr2;
|
||||
END IF;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
@@ -310,44 +429,63 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
verdieping_key NUMBER(10);
|
||||
discipline_key NUMBER(10);
|
||||
BEGIN
|
||||
locatie_key := cad_f_deel_get_locatie(p_project,p_deel);
|
||||
verdieping_key := cad_f_deel_get_verdieping(p_project,p_deel);
|
||||
discipline_key := cad_f_deel_get_discipline(p_project,p_deel);
|
||||
|
||||
prj_err.err('> cad_f_deel_get_tekeningnaam');
|
||||
locatie_key := prj.cad_f_deel_get_locatie(p_project,p_deel);
|
||||
verdieping_key := prj.cad_f_deel_get_verdieping(p_project,p_deel);
|
||||
discipline_key := prj.cad_f_deel_get_discipline(p_project,p_deel);
|
||||
prj_err.err('project_key ='||to_char(p_project));
|
||||
prj_err.err('deel_key ='||to_char(p_deel));
|
||||
prj_err.err('locatie_key ='||to_char(locatie_key));
|
||||
prj_err.err('verdieping_key='||to_char(verdieping_key));
|
||||
prj_err.err('discipline_key='||to_char(discipline_key));
|
||||
IF (locatie_key IS NOT NULL AND
|
||||
discipline_key IS NOT NULL)
|
||||
THEN
|
||||
prj_err.err('Locatiekey en disciplinekey bestaan');
|
||||
IF verdieping_key IS NOT NULL
|
||||
THEN
|
||||
prj_err.err('verdiepingkey bestaat');
|
||||
BEGIN
|
||||
SELECT cad_tekening_filenaam
|
||||
INTO tekeningnaam
|
||||
FROM prj_v_cad_tekening
|
||||
-- FROM prj_v_cad_tekening
|
||||
FROM cad_tekening
|
||||
WHERE alg_locatie_key = locatie_key
|
||||
AND alg_verdieping_key = verdieping_key
|
||||
AND ins_discipline_key = discipline_key
|
||||
AND prj_project_key IS NOT NULL
|
||||
AND prj_project_key = p_project;
|
||||
prj_err.err('goed');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN tekeningnaam := NULL;
|
||||
prj_err.err('fout');
|
||||
END;
|
||||
ELSE
|
||||
prj_err.err('verdiepingkey bestaat niet');
|
||||
BEGIN
|
||||
SELECT cad_tekening_filenaam
|
||||
INTO tekeningnaam
|
||||
FROM prj_v_cad_tekening
|
||||
-- FROM prj_v_cad_tekening
|
||||
FROM cad_tekening
|
||||
WHERE alg_locatie_key = locatie_key
|
||||
AND alg_verdieping_key IS NULL
|
||||
AND ins_discipline_key = discipline_key
|
||||
AND prj_project_key IS NOT NULL
|
||||
AND prj_project_key = p_project;
|
||||
prj_err.err('goed');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN tekeningnaam := NULL;
|
||||
prj_err.err('fout');
|
||||
END;
|
||||
END IF;
|
||||
ELSE
|
||||
prj_err.err('locatiekey of disciplinekey bestaat niet.');
|
||||
tekeningnaam := NULL;
|
||||
END IF;
|
||||
prj_err.err('tekeningnaam='||tekeningnaam);
|
||||
prj_err.err('< cad_f_deel_get_tekeningnaam');
|
||||
RETURN tekeningnaam;
|
||||
END cad_f_deel_get_tekeningnaam;
|
||||
|
||||
@@ -646,6 +784,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
Dummy NUMBER(10);
|
||||
ReturnVal BOOLEAN;
|
||||
BEGIN
|
||||
prj_err.err('> CheckLPNCondKey');
|
||||
IF LPNCondName = 'LPN_ALG_TERREINSECTOR'
|
||||
THEN
|
||||
BEGIN
|
||||
@@ -707,6 +846,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
ELSE
|
||||
ReturnVal := FALSE;
|
||||
END IF;
|
||||
prj_err.err('< CheckLPNCondKey');
|
||||
RETURN ReturnVal;
|
||||
END CheckLPNCondKey;
|
||||
|
||||
@@ -730,6 +870,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
LabelSymbool VARCHAR2(256);
|
||||
LabelOK BOOLEAN;
|
||||
BEGIN
|
||||
prj_err.err('> AddDeel');
|
||||
BEGIN
|
||||
SELECT prj_project_locatie_key
|
||||
, prj_project_nr
|
||||
@@ -825,6 +966,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN LPNKey := NULL;
|
||||
END;
|
||||
prj_err.err('< AddDeel');
|
||||
RETURN LPNKey;
|
||||
END AddDeel;
|
||||
|
||||
@@ -846,8 +988,10 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
TekeningKey cad_tekening.cad_tekening_key%TYPE;
|
||||
PlaatsDeel prj_deel.ins_alg_ruimte_type%TYPE;
|
||||
BEGIN
|
||||
prj_err.err('> cad_MaakCadTekening');
|
||||
IF LPNALIAS = 'LPN_ALG_TERREINSECTOR'
|
||||
THEN
|
||||
prj_err.err('LPN_ALG_TERREINSECTOR');
|
||||
SELECT alg_locatie_key
|
||||
, alg_locatie_code
|
||||
INTO LocatieKey
|
||||
@@ -860,6 +1004,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
DisciplineKey := NULL;
|
||||
ELSIF LPNALIAS = 'LPN_ALG_GEBOUW'
|
||||
THEN
|
||||
prj_err.err('LPN_ALG_GEBOUW');
|
||||
SELECT alg_locatie_key
|
||||
, alg_locatie_code
|
||||
INTO LocatieKey
|
||||
@@ -872,6 +1017,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
DisciplineKey := NULL;
|
||||
ELSIF LPNALIAS = 'LPN_ALG_RUIMTE'
|
||||
THEN
|
||||
prj_err.err('LPN_ALG_RUIMTE');
|
||||
SELECT G.alg_locatie_key
|
||||
, V.alg_verdieping_key
|
||||
INTO LocatieKey
|
||||
@@ -888,6 +1034,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
DisciplineKey := NULL;
|
||||
ELSIF LPNALIAS = 'LPN_INS_DEEL'
|
||||
THEN
|
||||
prj_err.err('LPN_INS_DEEL');
|
||||
SELECT ins_alg_locatie_key
|
||||
, ins_alg_ruimte_type
|
||||
INTO LocatieKey
|
||||
@@ -911,6 +1058,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
END IF;
|
||||
ELSIF LPNALIAS = 'LPN_PRS_WERKPLEK'
|
||||
THEN
|
||||
prj_err.err('LPN_PRS_WERKPLEK');
|
||||
SELECT alg_verdieping_key
|
||||
INTO VerdiepingKey
|
||||
FROM prj_ruimte R
|
||||
@@ -927,11 +1075,18 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
LocatieCode := cad.Bepaal_LocatieCode(LocatieKey);
|
||||
DisciplineKey := NULL;
|
||||
END IF;
|
||||
prj_err.err('Voor insert in cad_tekening');
|
||||
SELECT cad_s_cad_tekening_key.NEXTVAL
|
||||
INTO TekeningKey
|
||||
FROM DUAL;
|
||||
TekeningNaam := TO_CHAR(TekeningKey)||'.DWG';
|
||||
|
||||
prj_err.err('TekeningKey ='||to_char(TekeningKey ));
|
||||
prj_err.err('LocatieKey ='||to_char(LocatieKey ));
|
||||
prj_err.err('VerdiepingKey='||to_char(VerdiepingKey));
|
||||
prj_err.err('DisciplineKey='||to_char(DisciplineKey));
|
||||
prj_err.err('TekeningNaam ='||TekeningNaam );
|
||||
prj_err.err('SrtTekening ='||SrtTekening );
|
||||
prj_err.err('LPNProjectKey='||to_char(LPNProjectKey));
|
||||
INSERT INTO cad_tekening
|
||||
( cad_tekening_key
|
||||
, alg_locatie_key
|
||||
@@ -947,17 +1102,22 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, TekeningNaam
|
||||
, SrtTekening
|
||||
, LPNProjectKey);
|
||||
prj_err.err('Voor commit');
|
||||
COMMIT;
|
||||
prj_err.err('Na commit');
|
||||
|
||||
SELECT prj_project_nr
|
||||
INTO ProjectCode
|
||||
FROM prj_project
|
||||
WHERE prj_project_key = LPNProjectKey;
|
||||
prj_err.err('Projectcode='||projectcode);
|
||||
Tekeningnaam := ProjectCode ||'\'|| TekeningNaam;
|
||||
prj_err.err('Tekeningnaam='||ProjectCode ||'\'|| TekeningNaam);
|
||||
prj_err.err('< cad_MaakCadTekening');
|
||||
RETURN TekeningNaam;
|
||||
END cad_MaakCadTekening;
|
||||
|
||||
/* cad_GetSrcDwgOfEntity
|
||||
/* prj.cad_GetSrcDwgOfEntity
|
||||
**
|
||||
** Bepaal de pad\tekeningnaam die behoort bij object, werkplek, ruimte,
|
||||
** gebouw of terreinsector
|
||||
@@ -972,6 +1132,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
ProjectKey prj_project.prj_project_key%TYPE;
|
||||
VerdiepingKey alg_verdieping.alg_verdieping_key%TYPE;
|
||||
BEGIN
|
||||
prj_err.err('> cad_GetSrcDwgOfEntity');
|
||||
ProjectKey := cad.cad_SLNKSTRUCTreadVALINT(Session_id, 'PROJECTKEY');
|
||||
SELECT prj_project_locatie_key
|
||||
, prj_project_nr
|
||||
@@ -982,43 +1143,65 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
|
||||
IF LPNAliasINSO = 'LPN_INS_DEEL'
|
||||
THEN
|
||||
prj_err.err('LPN_INS_DEEL');
|
||||
/* Bepaal Disciplinetekening */
|
||||
SrcDwg := cad_f_deel_get_tekeningnaam(LPNKey,ProjectKey);
|
||||
SrcDwg := cad_f_deel_get_tekeningnaam(ProjectKey,LPNKey);
|
||||
IF SrcDwg IS NULL
|
||||
THEN
|
||||
prj_err.err('1a');
|
||||
SrcDwg := cad_MaakCadTekening('LPN_INS_DEEL', LPNKey, 'D',ProjectKey);
|
||||
prj_err.err('1b');
|
||||
ELSE
|
||||
prj_err.err('2');
|
||||
SrcDwg := ProjectCode ||'\'|| SrcDwg;
|
||||
END IF;
|
||||
prj_err.err('- '||srcdwg);
|
||||
ELSIF LPNAliasINSO = 'LPN_ALG_TERREINSECTOR'
|
||||
THEN
|
||||
prj_err.err('LPN_ALG_TERREINSECTOR');
|
||||
SrcDwg := cad_getContourtekening(LocatieKey,ProjectKey);
|
||||
prj_err.err('a');
|
||||
IF SrcDwg IS NULL
|
||||
THEN
|
||||
prj_err.err('1');
|
||||
SrcDwg := cad_MaakCadTekening('LPN_ALG_TERREINSECTOR', LPNKey, 'C',ProjectKey);
|
||||
prj_err.err('1a');
|
||||
END IF;
|
||||
prj_err.err('- '||srcdwg);
|
||||
ELSIF LPNAliasINSO = 'LPN_ALG_GEBOUW'
|
||||
THEN
|
||||
prj_err.err('LPN_ALG_GEBOUW');
|
||||
SrcDwg := cad_getContourtekening(LocatieKey,ProjectKey);
|
||||
prj_err.err('a');
|
||||
IF SrcDwg IS NULL
|
||||
THEN
|
||||
prj_err.err('1');
|
||||
SrcDwg := cad_MaakCadTekening('LPN_ALG_GEBOUW', LPNKey, 'C',ProjectKey);
|
||||
prj_err.err('1a');
|
||||
END IF;
|
||||
prj_err.err('- '||srcdwg);
|
||||
ELSIF LPNAliasINSO = 'LPN_ALG_RUIMTE'
|
||||
THEN
|
||||
prj_err.err('LPN_ALG_RUIMTE');
|
||||
SELECT alg_verdieping_key
|
||||
INTO VerdiepingKey
|
||||
FROM prj_ruimte
|
||||
WHERE alg_ruimte_verwijder IS NULL
|
||||
AND prj_project_key = ProjectKey
|
||||
AND alg_ruimte_key = LPNKey;
|
||||
prj_err.err('a');
|
||||
SrcDwg := cad_getVerdiepCntr_tekening(Locatiekey,ProjectKey,Verdiepingkey);
|
||||
prj_err.err('b');
|
||||
IF SrcDwg IS NULL
|
||||
THEN
|
||||
prj_err.err('1a');
|
||||
SrcDwg := cad_MaakCadTekening('LPN_ALG_RUIMTE', LPNKey, 'C',ProjectKey);
|
||||
prj_err.err('1b');
|
||||
END IF;
|
||||
prj_err.err('- '||srcdwg);
|
||||
ELSIF LPNAliasINSO = 'LPN_PRS_WERKPLEK'
|
||||
THEN
|
||||
prj_err.err('LPN_PRS_WERKPLEK');
|
||||
/* Contourtekening verdieping */
|
||||
SELECT alg_verdieping_key
|
||||
INTO VerdiepingKey
|
||||
@@ -1029,21 +1212,71 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
FROM prj_werkplek
|
||||
WHERE prs_werkplek_key = LPNKey
|
||||
AND prj_project_key = ProjectKey);
|
||||
prj_err.err('a');
|
||||
SrcDwg := cad_getVerdiepCntr_tekening(LocatieKey,ProjectKey,VerdiepingKey);
|
||||
prj_err.err('b');
|
||||
IF SrcDwg IS NULL
|
||||
THEN
|
||||
prj_err.err('1a');
|
||||
SrcDwg := cad_MaakCadTekening('LPN_PRS_WERKPLEK', LPNKey, 'C',Projectkey);
|
||||
prj_err.err('1b');
|
||||
END IF;
|
||||
prj_err.err('- '||srcdwg);
|
||||
ELSE
|
||||
/* Komt hier in de toekomst een ERROR-melding ? */
|
||||
prj_err.err('lpnaliasINSO niet in deel, terrein, ruimte, werkplek');
|
||||
NULL;
|
||||
END IF;
|
||||
prj_err.err('variabelen voor terugkeren naar lisp');
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'INFOS', 1, SrcDwg , 1);
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC' , 1, 'AUTOCAD', 1);
|
||||
prj_err.err('< cad_GetSrcDwgOfEntity');
|
||||
RETURN SrcDwg;
|
||||
END cad_GetSrcDwgOfEntity;
|
||||
|
||||
/* prj.cad_GetSrcDwgOfEntity2
|
||||
**
|
||||
** Roep de functie cad_GetSrcDwgOfEntity aan voor LNP_INS_DEEL, LPN_ALG_TERREINSECTOR, LPN_ALG_GEBOUW,
|
||||
** LPN_ALG_RUIMTE of LPN_PRS_WERKPLEK. In elk geval wordt INFOS en SYNC weer in de struct gezet.
|
||||
** Hiermee kan de functionaliteit met zowel een functie als een procedure gebruikt worden.
|
||||
*/
|
||||
PROCEDURE cad_GetSrcDwgOfEntity2(Session_Id IN NUMBER
|
||||
,LPNAliasINSO IN VARCHAR2
|
||||
,LPNKey IN NUMBER) IS
|
||||
SrcDwg cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
|
||||
BEGIN
|
||||
prj_err.err('> cad_GetSrcDwgOfEntity2');
|
||||
IF LPNAliasINSO = 'LPN_INS_DEEL'
|
||||
THEN
|
||||
prj_err.err(' LPNAliasINSO = LPN_INS_DEEL');
|
||||
SrcDwg := prj.cad_GetSrcDwgOfEntity(Session_Id, 'LPN_INS_DEEL', LPNKey);
|
||||
ELSIF LPNAliasINSO = 'LPN_ALG_TERREINSECTOR'
|
||||
THEN
|
||||
prj_err.err(' LPNAliasINSO = LPN_ALG_TERREINSECTOR');
|
||||
SrcDwg := prj.cad_GetSrcDwgOfEntity(Session_Id, 'LPN_ALG_TERREINSECTOR', LPNKey);
|
||||
ELSIF LPNAliasINSO = 'LPN_ALG_GEBOUW'
|
||||
THEN
|
||||
prj_err.err(' LPNAliasINSO = LPN_ALG_GEBOUW');
|
||||
SrcDwg := prj.cad_GetSrcDwgOfEntity(Session_Id,'LPN_ALG_GEBOUW', LPNKey);
|
||||
ELSIF LPNAliasINSO = 'LPN_ALG_RUIMTE'
|
||||
THEN
|
||||
prj_err.err(' LPNAliasINSO = LPN_ALG_RUIMTE');
|
||||
SrcDwg := prj.cad_GetSrcDwgOfEntity(Session_Id, 'LPN_ALG_RUIMTE', LPNKey);
|
||||
ELSIF LPNAliasINSO = 'LPN_PRS_WERKPLEK'
|
||||
THEN
|
||||
prj_err.err(' LPNAliasINSO = LPN_PRS_WERKPLEK');
|
||||
SrcDwg := prj.cad_GetSrcDwgOfEntity(Session_Id, 'LPN_PRS_WERKPLEK', LPNKey);
|
||||
ELSE
|
||||
prj_err.err(' LPNAliasINSO = niet goed gedefinieerd: '|| LPNAliasINSO);
|
||||
NULL;
|
||||
END IF;
|
||||
prj_err.err('voorbereiden op terugkeer naar lisp.');
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'INFOS', 1, srcdwg , 1);
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC' , 1, 'AUTOCAD', 1);
|
||||
prj_err.err('< cad_GetSrcDwgOfEntity2');
|
||||
END cad_GetSrcDwgOfEntity2;
|
||||
|
||||
/* cad_SLNKPreDraw
|
||||
/* prj.cad_SLNKPreDraw
|
||||
**
|
||||
*/
|
||||
PROCEDURE cad_SLNKPreDraw(Session_Id NUMBER) IS
|
||||
@@ -1091,14 +1324,17 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
END IF;
|
||||
IF LPNName = 'LPN_INS_DEEL'
|
||||
THEN
|
||||
prj_err.err('LPN_INS_DEEL');
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id,'LPNALIASINSA', SeqNr, 'LPN_INS_DEEL', 1);
|
||||
cad.cad_SLNKSTRUCTinsertVALINT(Session_Id,'LPNKEYINSA' , SeqNr, LPNKey , 1);
|
||||
prj_err.err('Bepaal soortdeelkey');
|
||||
/* Bepaal soortdeelkey */
|
||||
SELECT ins_srtdeel_key
|
||||
INTO SrtdeelKey
|
||||
FROM prj_deel
|
||||
WHERE ins_deel_key = LPNKey
|
||||
AND prj_project_key = LPNProjectKey;
|
||||
prj_err.err('Lees de grafische gegevens');
|
||||
/* Lees de grafische gegevens uit tabel ins_srtdeel */
|
||||
SELECT ins_srtdeel_cadlaycolor
|
||||
, ins_srtdeel_cadlaylinetype
|
||||
@@ -1114,6 +1350,7 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
, Dimensie
|
||||
FROM ins_srtdeel
|
||||
WHERE ins_srtdeel_key = SrtdeelKey;
|
||||
prj_err.err('schrijf de grafische gegevens');
|
||||
cad.cad_SLNKSTRUCTinsertVALINT(Session_Id,'DIMENSION' , SeqNr, Dimensie , 1);
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id,'LPNCOLINSA' , SeqNr, 'INS_DEEL_KEY', 1);
|
||||
cad.cad_SLNKstructinsertVALINT(Session_Id,'LAYERCOLOR' , SeqNr, LayerColor , 1);
|
||||
@@ -1129,7 +1366,8 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
, KeyDeel
|
||||
FROM prj_deel
|
||||
WHERE ins_deel_key = LPNKey
|
||||
AND prj_project_key = LPNProjectKey;
|
||||
AND prj_project_key = LPNProjectKey;
|
||||
prj_err.err('Plaatsdeel, keydeel='|| plaatsdeel ||','|| to_char(keydeel));
|
||||
IF PlaatsDeel = 'T'
|
||||
THEN /* Terreinsector */
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id,'LPNALIASCONDA', SeqNr, 'LPN_ALG_TERREINSECTOR', 1);
|
||||
@@ -1148,6 +1386,7 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
ELSE
|
||||
LPNKeyCond := KeyDeel;
|
||||
END IF;
|
||||
prj_err.err('lpnkeycond='||to_char(keydeel));
|
||||
cad.cad_SLNKstructinsertVALINT(Session_Id,'LPNKEYCONDA', SeqNr, LPNKeyCond, 1);
|
||||
SELECT ins_alg_locatie_key
|
||||
INTO LocatieKey
|
||||
@@ -1156,7 +1395,9 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
AND prj_project_key = LPNProjectKey;
|
||||
Locatiecode := cad.bepaal_locatiecode(LocatieKey);
|
||||
ProjectCode := prj.bepaal_projectcode(LPNProjectKey);
|
||||
prj_err.err('code locatie,project:'||locatiecode||projectcode);
|
||||
SrcDwg := prj.cad_GetSrcDwgOfEntity(Session_Id, 'LPN_INS_DEEL', LPNKey);
|
||||
prj_err.err('srcdwg='||srcdwg);
|
||||
/* Bepaal LoadDwg */
|
||||
IF PlaatsDeel = 'T'
|
||||
THEN /* Terreinsector */
|
||||
@@ -1169,6 +1410,7 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
AND prj_project_key = LPNProjectKey;
|
||||
LoadDwg := prj.cad_getVerdiepPlgrnd_tekening(LocatieKey, LPNProjectKey, Verdiepingkey);
|
||||
END IF;
|
||||
prj_err.err('loaddwg='||loaddwg);
|
||||
IF LoadDwg IS NULL
|
||||
THEN
|
||||
LoadDwg := cad_MaakCadTekening('LPN_INS_DEEL', LPNKey, 'P', LPNProjectKey);
|
||||
@@ -1182,6 +1424,7 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
/* Contourtekening verdieping */
|
||||
AttachDwg1 := prj.cad_getVerdiepCntr_tekening(LocatieKey, LPNProjectKey,Verdiepingkey);
|
||||
END IF;
|
||||
prj_err.err('attatchdwg='||attachdwg1);
|
||||
IF AttachDwg1 IS NULL
|
||||
THEN
|
||||
AttachDwg1 := cad_MaakCadTekening('LPN_INS_DEEL', LPNKey, 'C', LPNProjectKey);
|
||||
@@ -1191,8 +1434,10 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id,'LOADDWG' , SeqNr, LoadDwg , 1);
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id,'ATTACHDWG', SeqNr, AttachDwg1, 1);
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id,'ATTACHDWG', SeqNr, Attachdwg2, 0);
|
||||
prj_err.err('voor plaatsdee=T');
|
||||
IF PlaatsDeel = 'T'
|
||||
THEN
|
||||
prj_err.err('Voeg tekeningen zonder verdieping in struct toe.');
|
||||
DECLARE
|
||||
CURSOR D_tekeningen IS
|
||||
SELECT cad_tekening_filenaam
|
||||
@@ -1204,6 +1449,7 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
BEGIN
|
||||
FOR TekenRec IN D_tekeningen
|
||||
LOOP
|
||||
prj_err.err('- '||ProjectCode ||'\'|| Tekenrec.cad_tekening_filenaam);
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id
|
||||
,'ATTACHDWG'
|
||||
,SeqNr
|
||||
@@ -1212,6 +1458,7 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
END LOOP;
|
||||
END;
|
||||
ELSE
|
||||
prj_err.err('Voeg tekeningen met verdieping in struct toe.');
|
||||
DECLARE
|
||||
CURSOR D_tekeningen IS
|
||||
SELECT cad_tekening_filenaam
|
||||
@@ -1223,6 +1470,7 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
BEGIN
|
||||
FOR TekenRec IN D_tekeningen
|
||||
LOOP
|
||||
prj_err.err('- '||ProjectCode ||'\'|| Tekenrec.cad_tekening_filenaam);
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id,'ATTACHDWG'
|
||||
,SeqNr
|
||||
,ProjectCode ||'\'|| Tekenrec.cad_tekening_filenaam
|
||||
@@ -1230,13 +1478,16 @@ prj_err.err('> cad_SLNKPreDraw');
|
||||
END LOOP;
|
||||
END;
|
||||
END IF;
|
||||
prj_err.err('Na plaatsdeel=T');
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id,'LABELCOL', SeqNr, 'INS_DEEL_CADLABEL', 1);
|
||||
SELECT ins_deel_omschrijving
|
||||
INTO Omschrijving
|
||||
FROM prj_deel
|
||||
WHERE ins_deel_key = LPNKey
|
||||
AND prj_project_key = LPNProjectKey;
|
||||
prj_err.err('omschrijving='||omschrijving);
|
||||
cad.cad_SLNKstructinsertVALSTR(Session_Id,'LABEL',SeqNr, Omschrijving, 1);
|
||||
prj_err.err('einde lpn_ins_deel');
|
||||
ELSIF LPNName = 'LPN_ALG_GEBOUW'
|
||||
THEN
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id,'LPNALIASINSA', SeqNr, 'LPN_ALG_GEBOUW', 1);
|
||||
@@ -1735,6 +1986,7 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
LPNProjectKey := cad.cad_SLNKSTRUCTreadVALINT(Session_id, 'PROJECTKEY');
|
||||
IF LPNCondKey IS NOT NULL
|
||||
THEN
|
||||
prj_err.err('lpncondkey is not null');
|
||||
SELECT cad_symbool_symbool
|
||||
, cad_symbool_layer
|
||||
INTO Symbool
|
||||
@@ -1743,12 +1995,15 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
WHERE cad_symbool_entry = 'PRS_WERKPLEK';
|
||||
IF BlockNaam = Symbool -- i.o.v. mb AND LayerNaam = SymboolLayer
|
||||
THEN
|
||||
prj_err.err('Is werkplek');
|
||||
/* Het is een werkplek - Check eerst of LPNCondkey wel ruimtekey is */
|
||||
IF LPNCondName = 'LPN_ALG_RUIMTE'
|
||||
THEN
|
||||
prj_err.err('lpncondname=LPN_ALG_RUIMTE');
|
||||
LPNCondKeyOK := CheckLPNCondKey(LPNCondName, LPNCondKey, LPNProjectKey);
|
||||
IF NOT LPNCondKeyOK
|
||||
THEN
|
||||
prj_err.err('lpncondkey 1');
|
||||
SeqNr := 2;
|
||||
LOOP
|
||||
LPNCondName := cad.cad_SLNKSTRUCTreadVALSTR2(Session_id, 'LPNALIASCONDO', SeqNr);
|
||||
@@ -1764,11 +2019,14 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
END LOOP;
|
||||
END IF;
|
||||
ELSE
|
||||
prj_err.err('lpncondkey 2');
|
||||
LPNCondKeyOK := FALSE;
|
||||
END IF;
|
||||
IF LPNCondKeyOK
|
||||
THEN
|
||||
prj_err.err('lpncondkey OK');
|
||||
LabelSymbool := cad.cad_SLNKSTRUCTreadVALSTR(Session_id, 'LABELO');
|
||||
prj_err.err('LabelSymbool='||LabelSymbool);
|
||||
LabelOK := FALSE;
|
||||
IF LabelSymbool IS NOT NULL
|
||||
THEN
|
||||
@@ -1783,21 +2041,31 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
AND prs_werkplek_verwijder IS NULL
|
||||
AND prs_werkplek_volgnr = TO_NUMBER(LabelSymbool);
|
||||
LabelOK := FALSE;
|
||||
prj_err.err('Labelsymbool bestaat al');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN /* Label bestaat nog niet */
|
||||
LabelOK := TRUE;
|
||||
WerkplekNr := TO_NUMBER(LabelSymbool);
|
||||
Omschrijving := LabelSymbool;
|
||||
prj_err.err('LabelSymbool is nieuw');
|
||||
END;
|
||||
ELSE
|
||||
LabelOK := FALSE;
|
||||
END IF;
|
||||
IF NOT LabelOK
|
||||
THEN
|
||||
prj_err.err('label NOT OK');
|
||||
/* Bepaal het volgnummer v/d toe te voegen werkplek */
|
||||
Omschrijving := prj.prj_f_fac_get_description('LPN_PRS_WERKPLEK', LPNCondKey, LPNProjectKey, NULL, NULL);
|
||||
WerkplekNr := to_number(substr(Omschrijving,instr(Omschrijving,'-',1)+1));
|
||||
prj_err.err('label wordt '||omschrijving);
|
||||
END IF;
|
||||
prj_err.err('insert');
|
||||
prj_err.err('volgnr '|| to_char(WerkplekNr));
|
||||
prj_err.err('omschr '|| Omschrijving);
|
||||
prj_err.err('ruimte '|| to_char(lpncondkey));
|
||||
prj_err.err('project '|| to_char(lpnprojectkey));
|
||||
INSERT INTO prj_werkplek
|
||||
( prs_werkplek_volgnr
|
||||
, prs_werkplek_omschrijving
|
||||
@@ -1809,6 +2077,8 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
, LPNCondKey
|
||||
, SYSDATE
|
||||
, LPNProjectKey);
|
||||
prj_err.err('commit');
|
||||
COMMIT;
|
||||
RecordAdded := TRUE;
|
||||
/* Bepaal sleutel van zojuist toegevoegde werkplek i.v.m. aanroep Predraw */
|
||||
LPNName := 'LPN_PRS_WERKPLEK';
|
||||
@@ -1824,11 +2094,14 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN LPNKey := NULL;
|
||||
END;
|
||||
prj_err.err('Key bij werkplek:'||to_char(lpnkey));
|
||||
ELSE
|
||||
RecordAdded := FALSE;
|
||||
prj_err.err('Geen werkplek toegevoegd');
|
||||
END IF;
|
||||
ELSE
|
||||
/* Het is geen WERKPLEK - check of het een srtdeel is */
|
||||
prj_err.err('Het is geen werkplek');
|
||||
SELECT MIN(ins_srtdeel_key)
|
||||
INTO SrtDeelKey
|
||||
FROM ins_srtdeel
|
||||
@@ -1837,9 +2110,11 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
AND UPPER(ins_srtdeel_acadsymbol) = UPPER(BlockNaam);
|
||||
IF SrtDeelKey IS NOT NULL
|
||||
THEN
|
||||
prj_err.err('Het is een srtdeel, dus voeg een deel toe');
|
||||
/* Het is een srtdeel, dus voeg een deel toe */
|
||||
IF LPNCondName IN ('LPN_ALG_TERREINSECTOR','LPN_ALG_RUIMTE','LPN_PRS_WERKPLEK')
|
||||
THEN
|
||||
prj_err.err('lpncondname in terrein, ruimte, werkplek');
|
||||
LPNCondKeyOK := CheckLPNCondKey(LPNCondName, LPNCondKey, LPNProjectKey);
|
||||
IF NOT LPNCondKeyOK
|
||||
THEN
|
||||
@@ -1860,6 +2135,7 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
END LOOP;
|
||||
END IF;
|
||||
ELSE
|
||||
prj_err.err('lpncondname niet terrein, ruimte, werkplek');
|
||||
LPNCondKeyOK := FALSE;
|
||||
END IF;
|
||||
IF LPNCondKeyOK
|
||||
@@ -1871,6 +2147,7 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
RecordAdded:= FALSE;
|
||||
END IF;
|
||||
ELSE
|
||||
prj_err.err('Het is geen srtdeel, dus voeg een deel toe');
|
||||
SELECT MIN(ins_srtdeel_key)
|
||||
INTO SrtDeelKey
|
||||
FROM ins_srtdeel
|
||||
@@ -1878,12 +2155,15 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
AND UPPER(ins_srtdeel_acadsymbol) = UPPER(BlockNaam);
|
||||
IF SrtDeelKey IS NOT NULL
|
||||
THEN
|
||||
prj_err.err('Het is een srtdeel');
|
||||
/* Het is een srtdeel */
|
||||
IF LPNCondName IN ('LPN_ALG_TERREINSECTOR','LPN_ALG_RUIMTE','LPN_PRS_WERKPLEK')
|
||||
THEN
|
||||
prj_err.err('lpncondname in terrein, ruimte, werkplek');
|
||||
LPNCondKeyOK := CheckLPNCondKey(LPNCondName, LPNCondKey, LPNProjectKey);
|
||||
IF NOT LPNCondKeyOK
|
||||
THEN
|
||||
prj_err.err('lpncondkey false 1');
|
||||
Seqnr := 2;
|
||||
LOOP
|
||||
LPNCondName := cad.cad_SLNKSTRUCTreadVALSTR2(Session_id, 'LPNALIASCONDO', Seqnr);
|
||||
@@ -1901,31 +2181,39 @@ prj_err.err('> cad_SLNKPrePostDimensie0');
|
||||
END LOOP;
|
||||
END IF;
|
||||
ELSE
|
||||
prj_err.err('lpncondkey false 2');
|
||||
LPNCondKeyOK := FALSE;
|
||||
END IF;
|
||||
|
||||
IF LPNCondKeyOK
|
||||
THEN
|
||||
prj_err.err('lpncondkeyOK TRUE');
|
||||
LPNName := 'LPN_INS_DEEL';
|
||||
LPNKey := AddDeel(Session_id,SrtdeelKey, LPNCondName, LPNCondKey, LPNProjectKey);
|
||||
RecordAdded:= TRUE;
|
||||
ELSE
|
||||
prj_err.err('lpncondkeyOK FALSE');
|
||||
RecordAdded:= FALSE;
|
||||
END IF;
|
||||
ELSE
|
||||
prj_err.err('Het is geen srtdeel');
|
||||
RecordAdded:= FALSE;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
else
|
||||
prj_err.err('lpncondkey is null');
|
||||
END IF;
|
||||
cad.cad_SLNKSTRUCTclear(Session_Id);
|
||||
IF RecordAdded
|
||||
THEN
|
||||
prj_err.err('toevoegen aan struct');
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id,'LPNALIASPREDRAW', 1, LPNName , 1);
|
||||
cad.cad_SLNKSTRUCTinsertVALINT(Session_Id,'LPNKEYPREDRAW' , 1, LPNKey , 1);
|
||||
cad.cad_SLNKSTRUCTinsertVALINT(Session_Id,'PROJECTKEY' , 1, LPNProjectKey, 1);
|
||||
prj.cad_SLNKPreDraw(Session_Id);
|
||||
ELSE
|
||||
prj_err.err('doorgaan');
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
|
||||
END IF;
|
||||
prj_err.err('< cad_SLNKPrePostDimensie0');
|
||||
@@ -2315,7 +2603,8 @@ prj_err.err('25: '|| to_char(lpnprojectkey)||'-'||to_char(verdiepingkey)||'-'||r
|
||||
, alg_ruimte_nr)
|
||||
VALUES(LPNProjectKey
|
||||
, VerdiepingKey
|
||||
, RuimteNr);
|
||||
, RuimteNr);
|
||||
COMMIT;
|
||||
RecordAdded := TRUE;
|
||||
/* Bepaal sleutel van zojuist toegevoegde ruimte i.v.m. aanroep Predraw */
|
||||
LPNName := 'LPN_ALG_RUIMTE';
|
||||
@@ -2472,6 +2761,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
DoDeelUpdate BOOLEAN;
|
||||
LinkToRoom NUMBER;
|
||||
BEGIN
|
||||
prj_err.err('> cad_SLNKPostDraw');
|
||||
LPNName := cad.cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASINSO');
|
||||
LPNKey := cad.cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYINSO');
|
||||
LPNCondName := cad.cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASCONDO');
|
||||
@@ -2604,6 +2894,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
END IF;
|
||||
COMMIT;
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1); /* ORACLE is klaar */
|
||||
prj_err.err('< cad_SLNKPostDraw');
|
||||
END cad_SLNKpostdraw;
|
||||
|
||||
/* prj.cad_slnkpostErase
|
||||
@@ -2619,6 +2910,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
Eerste BOOLEAN;
|
||||
WerkPlekFound BOOLEAN;
|
||||
BEGIN
|
||||
prj_err.err('> cad_SLNKPostErase');
|
||||
CheckDatum := cad.cad_SLNKSTRUCTreadVALSTR(Session_id, 'DATE');
|
||||
Datum := TO_DATE(CheckDatum, 'DD-MM-YYYY');
|
||||
LPNName := cad.cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASDELO');
|
||||
@@ -2626,6 +2918,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
LPNProjectKey := cad.cad_SLNKSTRUCTreadVALINT(Session_id, 'PROJECTKEY');
|
||||
IF LPNName = 'LPN_INS_DEEL'
|
||||
THEN
|
||||
prj_err.err('verwijder LPN_INS_DEEL');
|
||||
UPDATE prj_deel
|
||||
SET ins_deel_verwijder = SYSDATE
|
||||
, ins_deel_getekend = NULL /* It's CAD */
|
||||
@@ -2638,6 +2931,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_ALG_GEBOUW'
|
||||
THEN
|
||||
prj_err.err('verwijder LPN_ALG_GEBOUW');
|
||||
UPDATE alg_gebouw
|
||||
SET alg_gebouw_verwijder = SYSDATE
|
||||
, alg_gebouw_getekend = NULL /* It's CAD */
|
||||
@@ -2645,10 +2939,12 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_ALG_RUIMTE'
|
||||
THEN
|
||||
prj_err.err('verwijder LPN_ALG_RUIMTE');
|
||||
/* Geef aan AutoCAD de sleutels door van de werkplekken die zich in de
|
||||
** te verwijderen ruimte bevinden.
|
||||
*/
|
||||
BEGIN
|
||||
prj_err.err('zoek werkplekken');
|
||||
DECLARE
|
||||
CURSOR RuimteWerkplek IS
|
||||
SELECT prs_werkplek_key
|
||||
@@ -2677,6 +2973,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
** de delen die zich op werkplekken bevinden binnen de te verwijderen ruimte...
|
||||
*/
|
||||
BEGIN
|
||||
prj_err.err('zoek objecten');
|
||||
DECLARE
|
||||
CURSOR RuimteDeel IS
|
||||
SELECT ins_deel_key
|
||||
@@ -2707,14 +3004,18 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
END LOOP;
|
||||
END;
|
||||
END;
|
||||
prj_err.err('zet verwijderdatum ruimte, project:'||to_char(lpnkey)||'-'||to_char(lpnprojectkey));
|
||||
UPDATE prj_ruimte
|
||||
SET alg_ruimte_verwijder = SYSDATE
|
||||
, alg_ruimte_getekend = NULL /* It's CAD */
|
||||
WHERE alg_ruimte_key = LPNKey
|
||||
AND prj_project_key = LPNProjectKey;
|
||||
prj_err.err('voor commit');
|
||||
COMMIT;
|
||||
prj_err.err('na commit');
|
||||
ELSIF LPNName = 'LPN_PRS_WERKPLEK'
|
||||
THEN
|
||||
prj_err.err('verwijder LPN_PRS_WERKPLEK');
|
||||
/* Geef aan AutoCAD de sleutels door van de delen die zich op
|
||||
** de te verwijderen werkplek bevinden...
|
||||
*/
|
||||
@@ -2751,6 +3052,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR'
|
||||
THEN
|
||||
prj_err.err('verwijder LPN_ALG_TERREINSECTOR');
|
||||
DECLARE
|
||||
CURSOR TerreinDeel IS
|
||||
SELECT ins_deel_key
|
||||
@@ -2780,6 +3082,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
WHERE alg_terreinsector_key = LPNKey;
|
||||
COMMIT;
|
||||
END IF;
|
||||
prj_err.err('< cad_SLNKPostErase');
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
|
||||
END cad_SLNKpostErase;
|
||||
|
||||
@@ -2811,6 +3114,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
LPNCondKeyOK BOOLEAN:= FALSE;
|
||||
DoDeelUpdate BOOLEAN;
|
||||
BEGIN
|
||||
prj_err.err('> cad_SLNKPostModify');
|
||||
LPNName := cad.cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASMODO');
|
||||
LPNKey := cad.cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYMODO');
|
||||
LPNProjectKey := cad.cad_SLNKSTRUCTreadVALINT(Session_id, 'PROJECTKEY');
|
||||
@@ -3033,6 +3337,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
END IF;
|
||||
COMMIT;
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
|
||||
prj_err.err('< cad_SLNKPostModify');
|
||||
END cad_SLNKpostModify;
|
||||
|
||||
/* prj.cad_SLNKDelenbijWerkplek
|
||||
@@ -3051,6 +3356,7 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
AND prj_project_key = LPNProjectKey
|
||||
AND ins_deel_verwijder IS NULL;
|
||||
BEGIN
|
||||
prj_err.err('> cad_SLNKDelenBijWerkplek');
|
||||
LPNKey := cad.cad_SLNKSTRUCTreadVALINT(Session_id, 'INFOI');
|
||||
LPNProjectKey := cad.cad_SLNKSTRUCTreadVALINT(Session_id, 'PROJECTKEY');
|
||||
BEGIN
|
||||
@@ -3070,8 +3376,54 @@ prj_err.err('< cad_SLNKPrePostDraw');
|
||||
END;
|
||||
END;
|
||||
cad.cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
|
||||
prj_err.err('< cad_SLNKDelenBijWerkplek');
|
||||
END cad_SLNKDelenbijWerkplek;
|
||||
|
||||
/* prj.verwerk_log_clear
|
||||
**
|
||||
** Maak de tabel voor verwerkings log leeg.
|
||||
*/
|
||||
PROCEDURE verwerk_log_clear(sessionID IN NUMBER
|
||||
,projectKEY IN NUMBER) IS
|
||||
BEGIN
|
||||
BEGIN
|
||||
DELETE
|
||||
FROM prj_verwerk_log
|
||||
WHERE prj_project_key = projectKEY
|
||||
AND prj_session_id = sessionID;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
NULL;
|
||||
END;
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
/* prj.verwerk_log
|
||||
**
|
||||
** Schrijf een logmelding in de verwerkings tabel.
|
||||
*/
|
||||
PROCEDURE verwerk_log(logmelding IN VARCHAR
|
||||
,sessionID IN NUMBER
|
||||
,projectKEY IN NUMBER) IS
|
||||
BEGIN
|
||||
BEGIN
|
||||
INSERT INTO prj_verwerk_log
|
||||
( prj_project_key
|
||||
, prj_log
|
||||
, prj_session_id)
|
||||
VALUES(projectKEY
|
||||
, logmelding
|
||||
, sessionID);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
NULL;
|
||||
END;
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
|
||||
END prj;
|
||||
/
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
/* Revisie:
|
||||
**
|
||||
** 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,
|
||||
@@ -42,28 +43,24 @@ BEGIN
|
||||
CHECK_CADMUTATIE(alg_ruimte_verwijder
|
||||
,alg_ruimte_getekend
|
||||
,'alg_m245');
|
||||
/*
|
||||
** Als er een INV-deel bestaat in de te verwijderen ruimte
|
||||
** dan mag de ruimte niet verwijderd worden.
|
||||
*/
|
||||
IF :new.alg_ruimte_verwijder IS NOT NULL
|
||||
IF :old.alg_ruimte_key IS NOT NULL
|
||||
AND :new.alg_ruimte_verwijder IS NULL
|
||||
THEN
|
||||
DECLARE
|
||||
dummy CHAR;
|
||||
BEGIN
|
||||
SELECT 'x'
|
||||
INTO dummy
|
||||
FROM prj_deel
|
||||
WHERE ins_alg_ruimte_key = :new.alg_ruimte_key
|
||||
FROM prj_werkplek
|
||||
WHERE prs_alg_ruimte_key = :new.alg_ruimte_key
|
||||
AND prj_project_key = :new.prj_project_key
|
||||
AND ins_alg_ruimte_type = 'R'
|
||||
AND ins_deel_verwijder IS NULL;
|
||||
APPLICATION_ERROR(-20000, 'prs_m055');
|
||||
AND prs_werkplek_verwijder IS NULL;
|
||||
APPLICATION_ERROR(-20000, 'prs_m034');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN NULL;
|
||||
WHEN TOO_MANY_ROWS
|
||||
THEN APPLICATION_ERROR(-20000, 'prs_m055');
|
||||
THEN APPLICATION_ERROR(-20000, 'prs_m034');
|
||||
END;
|
||||
END IF;
|
||||
/*
|
||||
@@ -76,6 +73,7 @@ BEGIN
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user