Voor bepalen SrcDwg in SlnkPreDraw nu overal de bestaande functie cad_GetSrcDwgOfEntity gebruikt.

svn path=/Database/trunk/; revision=6894
This commit is contained in:
Bert in het Veld
1999-06-08 12:33:40 +00:00
parent 327985f944
commit 6dc669aa22

View File

@@ -90,7 +90,6 @@ CREATE OR REPLACE PACKAGE cad AS
PROCEDURE cad_SLNKDelenbijWerkplek(Session_Id NUMBER);
PROCEDURE cad_getSymboolInfo(Session_Id NUMBER, Entry VARCHAR2);
PROCEDURE cad_SLNKgetBinnenBuiten(Session_Id NUMBER, LoadDwg VARCHAR2);
PROCEDURE cad_GetSrcDwgOfEntity(Session_Id NUMBER, LPNAliasINSO VARCHAR2, LPNKey NUMBER);
/* Deze procedure is slechts eenmaal gebruikt t.b.v. grafische conversie BIS ...
* PROCEDURE cad_SLNKConvPreDraw(Session_Id NUMBER, LOC_X_COORD NUMBER, LOC_Y_COORD NUMBER);
@@ -102,6 +101,8 @@ CREATE OR REPLACE PACKAGE cad AS
FUNCTION cad_getVerdiepCntr_tekening(Locatiekey IN NUMBER, Verdiepingkey IN NUMBER) RETURN VARCHAR2;
FUNCTION cad_getLocatieCode_Tekening(TekeningNaam IN VARCHAR2) RETURN VARCHAR2;
FUNCTION cad_getTekeningNaam_LoadDwg(LoadDwg IN VARCHAR2) RETURN VARCHAR2;
FUNCTION cad_GetSrcDwgOfEntity(Session_Id NUMBER, LPNAliasINSO VARCHAR2, LPNKey NUMBER) RETURN VARCHAR2;
/* garandeer dat de functies de database-state en package-state niet beinvloeden
* (anders kunnen ze niet zondermeer in een view worden gebruikt)
@@ -1259,6 +1260,72 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
RETURN TekeningNaam;
END cad_MaakCadTekening;
FUNCTION cad_GetSrcDwgOfEntity(Session_Id NUMBER, LPNAliasINSO VARCHAR2, LPNKey NUMBER) RETURN VARCHAR2 IS
SrcDwg cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LocatieCode alg_locatie.alg_locatie_code%TYPE;
LocatieKey alg_locatie.alg_locatie_key%TYPE;
VerdiepingKey alg_verdieping.alg_verdieping_key%TYPE;
BEGIN
IF LPNAliasINSO = 'LPN_INS_DEEL' THEN
/* Bepaal Disciplinetekening */
SrcDwg := cad_f_deel_get_tekeningnaam(LPNKey);
SELECT ins_alg_locatie_key INTO LocatieKey
FROM ins_deel
WHERE ins_deel_key = LPNKey;
Locatiecode := Bepaal_locatiecode(LocatieKey);
IF SrcDwg IS NOT NULL THEN
SrcDwg := Locatiecode||'\'||SrcDwg;
ELSE
SrcDwg := cad_MaakCadTekening('LPN_INS_DEEL', LPNKey, 'D');
END IF;
ELSIF LPNAliasINSO = 'LPN_ALG_TERREINSECTOR' THEN
SELECT alg_locatie_key INTO Locatiekey
FROM alg_terreinsector
WHERE alg_terreinsector_key = LPNKey;
SrcDwg := cad_getContourtekening(LocatieKey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_TERREINSECTOR', LPNKey, 'C');
END IF;
ELSIF LPNAliasINSO = 'LPN_ALG_GEBOUW' THEN
SELECT alg_locatie_key INTO Locatiekey
FROM alg_gebouw
WHERE alg_gebouw_key = LPNKey;
SrcDwg := cad_getContourtekening(LocatieKey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_GEBOUW', LPNKey, 'C');
END IF;
ELSIF LPNAliasINSO = 'LPN_ALG_RUIMTE' THEN
SELECT alg_locatie_key, alg_verdieping_key
INTO locatiekey, verdiepingkey
FROM alg_v_ruimte_gegevens
WHERE alg_ruimte_key = LPNKey;
SrcDwg := cad_getVerdiepCntr_tekening(Locatiekey, Verdiepingkey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_RUIMTE', LPNKey, 'C');
END IF;
ELSIF LPNAliasINSO = 'LPN_PRS_WERKPLEK' THEN
SELECT alg_locatie_key, alg_verdieping_key
INTO Locatiekey, Verdiepingkey
FROM alg_v_ruimte_gegevens
WHERE alg_ruimte_key =
(SELECT prs_alg_ruimte_key FROM prs_werkplek
WHERE prs_werkplek_key = LPNKey);
SrcDwg := cad_getVerdiepCntr_tekening(LocatieKey, Verdiepingkey); /* Contourtekening verdieping */
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_PRS_WERKPLEK', LPNKey, 'C');
END IF;
ELSE
/* Komt hier in de toekomst een ERROR-melding ? */
NULL;
END IF;
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'INFOS', 1, srcdwg, 1);
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
RETURN SrcDwg;
END cad_GetSrcDwgOfEntity;
PROCEDURE cad_SLNKPreDraw(Session_Id NUMBER) IS
LPNName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
@@ -1350,17 +1417,20 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
WHERE ins_deel_key = LPNKey;
END IF;
cad.cad_SLNKstructinsertVALINT(Session_Id,'LPNKEYCONDA', SeqNr, LPNKeyCond, 1);
/* Bepaal Disciplinetekening */
SrcDwg := cad_f_deel_get_tekeningnaam(LPNKey);
SELECT ins_alg_locatie_key INTO LocatieKey
FROM ins_deel
WHERE ins_deel_key = LPNKey;
Locatiecode := Bepaal_locatiecode(LocatieKey);
/*
SrcDwg := cad_f_deel_get_tekeningnaam(LPNKey);
IF SrcDwg IS NOT NULL THEN
SrcDwg := Locatiecode||'\'||SrcDwg;
ELSE
SrcDwg := cad_MaakCadTekening('LPN_INS_DEEL', LPNKey, 'D');
END IF;
*/
SrcDwg := cad_GetSrcDwgOfEntity(Session_Id, 'LPN_INS_DEEL', LPNKey);
/* Bepaal LoadDwg */
IF PlaatsDeel = 'T' THEN /* Terreinsector */
LoadDwg := cad_getPlattegrondtekening(Locatiekey);
@@ -1440,10 +1510,14 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
IF LoadDwg IS NULL THEN
LoadDwg := cad_MaakCadTekening('LPN_ALG_GEBOUW', LPNKey, 'P');
END IF;
/*
SrcDwg := cad_getContourtekening(LocatieKey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_GEBOUW', LPNKey, 'C');
END IF;
*/
/* Schrijf SrcDwg weg in cad_slnkstruct */
SrcDwg := cad_GetSrcDwgOfEntity(Session_Id, 'LPN_ALG_GEBOUW', LPNKey);
AttachDwg1 := SrcDwg;
cad.cad_SLNKstructinsertVALSTR(Session_Id,'SRCDWG', 1, SrcDwg, 1);
cad.cad_SLNKstructinsertVALSTR(Session_Id,'LOADDWG', 1, LoadDwg, 1);
@@ -1486,10 +1560,14 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
IF LoadDwg IS NULL THEN
LoadDwg := cad_MaakCadTekening('LPN_ALG_RUIMTE', LPNKey, 'P');
END IF;
/*
SrcDwg := cad_getVerdiepCntr_tekening(Locatiekey, Verdiepingkey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_RUIMTE', LPNKey, 'C');
END IF;
*/
/* Schrijf SrcDwg weg in cad_slnkstruct */
SrcDwg := cad_GetSrcDwgOfEntity(Session_Id, 'LPN_ALG_RUIMTE', LPNKey);
AttachDwg1 := SrcDwg;
cad.cad_SLNKstructinsertVALSTR(Session_Id,'SRCDWG', SeqNr, SrcDwg, 1);
cad.cad_SLNKstructinsertVALSTR(Session_Id,'LOADDWG', SeqNr, LoadDwg, 1);
@@ -1542,11 +1620,15 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
(SELECT prs_alg_ruimte_key FROM prs_werkplek
WHERE prs_werkplek_key = LPNKey);
LocatieCode := Bepaal_locatiecode(LocatieKey);
SrcDwg := cad_getVerdiepCntr_tekening(LocatieKey, Verdiepingkey); /* Contourtekening verdieping */
/*
SrcDwg := cad_getVerdiepCntr_tekening(LocatieKey, Verdiepingkey); -- Contourtekening verdieping
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_PRS_WERKPLEK', LPNKey, 'C');
END IF;
LoadDwg := cad_getVerdiepPlgrnd_tekening(LocatieKey, Verdiepingkey); /* Plattegrondtekening verdieping */
*/
/* Schrijf SrcDwg weg in cad_slnkstruct */
SrcDwg := cad_GetSrcDwgOfEntity(Session_Id, 'LPN_PRS_WERKPLEK', LPNKey);
LoadDwg := cad_getVerdiepPlgrnd_tekening(LocatieKey, Verdiepingkey); -- Plattegrondtekening verdieping
IF LoadDwg IS NULL THEN
LoadDwg := cad_MaakCadTekening('LPN_PRS_WERKPLEK', LPNKey, 'P');
END IF;
@@ -1595,10 +1677,14 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
IF LoadDwg IS NULL THEN
LoadDwg := cad_MaakCadTekening('LPN_ALG_TERREINSECTOR', LPNKey, 'P');
END IF;
/*
SrcDwg := cad_getContourtekening(LocatieKey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_TERREINSECTOR', LPNKey, 'C');
END IF;
*/
/* Schrijf SrcDwg weg in cad_slnkstruct */
SrcDwg := cad_GetSrcDwgOfEntity(Session_Id, 'LPN_ALG_TERREINSECTOR', LPNKey);
AttachDwg1 := SrcDwg;
cad.cad_SLNKstructinsertVALSTR(Session_Id,'SRCDWG', 1, SrcDwg, 1);
cad.cad_SLNKstructinsertVALSTR(Session_Id,'LOADDWG', 1, LoadDwg, 1);
@@ -3168,70 +3254,6 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END;
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
END cad_getSymboolInfo;
PROCEDURE cad_GetSrcDwgOfEntity(Session_Id NUMBER, LPNAliasINSO VARCHAR2, LPNKey NUMBER) IS
SrcDwg cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LocatieCode alg_locatie.alg_locatie_code%TYPE;
LocatieKey alg_locatie.alg_locatie_key%TYPE;
VerdiepingKey alg_verdieping.alg_verdieping_key%TYPE;
BEGIN
IF LPNAliasINSO = 'LPN_INS_DEEL' THEN
/* Bepaal Disciplinetekening */
SrcDwg := cad_f_deel_get_tekeningnaam(LPNKey);
SELECT ins_alg_locatie_key INTO LocatieKey
FROM ins_deel
WHERE ins_deel_key = LPNKey;
Locatiecode := Bepaal_locatiecode(LocatieKey);
IF SrcDwg IS NOT NULL THEN
SrcDwg := Locatiecode||'\'||SrcDwg;
ELSE
SrcDwg := cad_MaakCadTekening('LPN_INS_DEEL', LPNKey, 'D');
END IF;
ELSIF LPNAliasINSO = 'LPN_ALG_TERREINSECTOR' THEN
SELECT alg_locatie_key INTO Locatiekey
FROM alg_terreinsector
WHERE alg_terreinsector_key = LPNKey;
SrcDwg := cad_getContourtekening(LocatieKey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_TERREINSECTOR', LPNKey, 'C');
END IF;
ELSIF LPNAliasINSO = 'LPN_ALG_GEBOUW' THEN
SELECT alg_locatie_key INTO Locatiekey
FROM alg_gebouw
WHERE alg_gebouw_key = LPNKey;
SrcDwg := cad_getContourtekening(LocatieKey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_GEBOUW', LPNKey, 'C');
END IF;
ELSIF LPNAliasINSO = 'LPN_ALG_RUIMTE' THEN
SELECT alg_locatie_key, alg_verdieping_key
INTO locatiekey, verdiepingkey
FROM alg_v_ruimte_gegevens
WHERE alg_ruimte_key = LPNKey;
SrcDwg := cad_getVerdiepCntr_tekening(Locatiekey, Verdiepingkey);
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_ALG_RUIMTE', LPNKey, 'C');
END IF;
ELSIF LPNAliasINSO = 'LPN_PRS_WERKPLEK' THEN
SELECT alg_locatie_key, alg_verdieping_key
INTO Locatiekey, Verdiepingkey
FROM alg_v_ruimte_gegevens
WHERE alg_ruimte_key =
(SELECT prs_alg_ruimte_key FROM prs_werkplek
WHERE prs_werkplek_key = LPNKey);
SrcDwg := cad_getVerdiepCntr_tekening(LocatieKey, Verdiepingkey); /* Contourtekening verdieping */
IF SrcDwg IS NULL THEN
SrcDwg := cad_MaakCadTekening('LPN_PRS_WERKPLEK', LPNKey, 'C');
END IF;
ELSE
/* Komt hier in de toekomst een ERROR-melding ? */
NULL;
END IF;
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SRCDWG', 1, srcdwg, 1);
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
END cad_GetSrcDwgOfEntity;
END cad;
/