Fixrapport SM44 -#103 - Procedure cad_GetSrcDwgOfEntity toegevoegd die de SrcDwg van een entity in cad_slnkstruct schrijft.

svn path=/Database/trunk/; revision=6819
This commit is contained in:
Bert in het Veld
1999-05-20 09:08:56 +00:00
parent ffb79db338
commit 39699b426f

View File

@@ -2,6 +2,8 @@
/* REVISIONS:
*
* 20-05-1999 BIV Procedure cad_GetSrcDwgOfEntity toegevoegd die source_dwg in cad_slnkstruct zet.
* 19-05-1999 BIV Bepaal_VolgnummerTxt niet meer gebruiken. Hier nu functie fac_f_fac_get_description voor.
* 10-05-1999 BIV Procedure cad_SLNKSTRUCTdelete aangepast zodat deze ook van buiten de package kan worden aangeroepen.
* 05-05-1999 BIV update van de _getekend-velden toegevoegd in cad_SLNKPostDraw.
* 28-04-1999 PF update van de _getekend-velden toegevoegd. De database weet hierdoor dat de
@@ -86,7 +88,8 @@ CREATE OR REPLACE PACKAGE cad AS
PROCEDURE cad_SLNKPrePostDraw(Session_Id NUMBER);
PROCEDURE cad_SLNKDelenbijWerkplek(Session_Id NUMBER);
PROCEDURE cad_getSymboolInfo(Session_Id NUMBER, Entry VARCHAR2);
PROCEDURE cad_SLNKgetBinnenBuiten(Session_Id NUMBER, LoadDwg IN 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);
@@ -1006,6 +1009,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
END CheckLPNCondKey;
/*
FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
VolgnrTxt VARCHAR2(10);
Volgnummer NUMBER(3);
@@ -1059,6 +1063,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
RETURN ReturnString;
END IF;
END Bepaal_VolgnummerTxt;
*/
FUNCTION AddDeel(Session_Id IN NUMBER, SrtdeelKey IN NUMBER, LoadDwg IN VARCHAR2, LPNCondName IN VARCHAR2,
@@ -1122,7 +1127,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
LabelOK := FALSE;
END IF;
IF NOT LabelOK THEN
SELECT ins_srtdeel_code INTO SrtDeelCode
SELECT RTRIM(ins_srtdeel_code) INTO SrtDeelCode
FROM ins_srtdeel
WHERE ins_srtdeel_key = SrtdeelKey;
/* vervangen door nieuwe functie in FAC_PAC.SRC
@@ -1158,10 +1163,9 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
Omschrijving := VolgnrTxt;
*/
VolgnrTxt := FAC_F_FAC_GET_DESCRIPTION('LPN_INS_DEEL', LocatieKey, SrtDeelCode);
Omschrijving := FAC_F_FAC_GET_DESCRIPTION('LPN_INS_DEEL', LocatieKey, SrtDeelCode);
END IF;
INSERT INTO ins_deel(ins_srtdeel_key, ins_alg_ruimte_key, ins_alg_ruimte_type, ins_deel_aantal,
ins_deel_omschrijving) VALUES(SrtdeelKey, LPNCondKey, PlaatsDeel, 1, Omschrijving);
COMMIT;
@@ -1969,6 +1973,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
WHEN NO_DATA_FOUND THEN
werkplekNr := 1;
END;
/* Omschrijving */
SELECT alg_ruimte_nr INTO RuimteNr
FROM alg_ruimte
@@ -2230,7 +2235,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END IF;
IF NOT LabelOK THEN
/* De terreinsectorcode = locatiecode + volgnummer */
BEGIN
/* BEGIN
SELECT MAX(LENGTH(alg_terreinsector_code)) INTO MaxLengte
FROM alg_v_aanwezigterreinsector
WHERE alg_locatie_key = LocatieKey
@@ -2250,6 +2255,8 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
WHEN NO_DATA_FOUND THEN
SectorCode := '01';
END;
*/
SectorCode := FAC_F_FAC_GET_DESCRIPTION('LPN_ALG_TERREINSECTOR', LocatieKey, NULL);
END IF;
INSERT INTO alg_terreinsector(alg_locatie_key, alg_terreinsector_code, alg_terreinsector_naam)
VALUES (LocatieKey, SectorCode, SectorCode);
@@ -2296,6 +2303,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
LabelOK := FALSE;
END IF;
IF NOT labelOK THEN
/*
BEGIN
SELECT MAX(LENGTH(alg_gebouw_code)) INTO MaxLengte
FROM alg_v_aanweziggebouw
@@ -2316,6 +2324,9 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
WHEN NO_DATA_FOUND THEN
GebouwCode := '01';
END;
*/
GebouwCode := FAC_F_FAC_GET_DESCRIPTION('LPN_ALG_GEBOUW', LocatieKey, NULL);
END IF;
INSERT INTO alg_gebouw(alg_locatie_key,alg_srtgebouw_key,alg_gebouw_code,alg_gebouw_naam,
alg_gebouw_omschrijving) VALUES(LocatieKey, NULL, GebouwCode, GebouwCode, GebouwCode);
@@ -2378,6 +2389,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END IF;
IF VerdiepingNr IS NOT NULL THEN
IF NOT LabelOK THEN
/*
BEGIN
SELECT MAX(LENGTH(alg_ruimte_nr)) INTO MaxLengte
FROM alg_v_aanwezigruimte
@@ -2398,6 +2410,8 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
WHEN NO_DATA_FOUND THEN
RuimteNr := '01';
END;
*/
RuimteNr := FAC_F_FAC_GET_DESCRIPTION('LPN_ALG_RUIMTE', VerdiepingKey, NULL);
END IF;
INSERT INTO alg_ruimte(alg_verdieping_key, alg_srtruimte_key, alg_ruimte_nr)
@@ -2563,12 +2577,12 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
WHERE ins_deel_key = LPNKey;
END IF;
DoDeelUpdate := TRUE;
SELECT ins_alg_ruimte_type, ins_alg_ruimte_key INTO PlaatsDeel, PlaatsKey
FROM all_v_aanwezigdeel
WHERE ins_deel_key = LPNKey;
IF LPNCondName = 'LPN_ALG_RUIMTE' THEN
/* Bij LPN_ALG_RUIMTE checken - of deel gekoppeld is aan een werkplek die zich in dezelfde
ruimte bevindt dan de opgegeven ruimte, zo ja dan GEEN update van de plaats v/h deel */
SELECT ins_alg_ruimte_type, ins_alg_ruimte_key INTO PlaatsDeel, PlaatsKey
FROM all_v_aanwezigdeel
WHERE ins_deel_key = LPNKey;
IF PlaatsDeel = 'W' THEN
SELECT prs_alg_ruimte_key INTO RuimteKey
FROM prs_werkplek
@@ -3135,6 +3149,70 @@ 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;
/