Kleine aanpassing in cad_SLNKPrePostUndo i.v.m. aanroep cad_slnkPreDraw.
svn path=/Database/trunk/; revision=6733
This commit is contained in:
106
CAD/CAD_PAC.SRC
106
CAD/CAD_PAC.SRC
@@ -2,6 +2,10 @@
|
||||
|
||||
/* REVISIONS:
|
||||
*
|
||||
* 27-04-1999 BIV Zelfde al vorige regel, maar dan voor terreinsectoren.
|
||||
* --- 01.44 ---
|
||||
* 22-04-1999 BIV Procedure cad_slnkPredraw zodanig aangepast dat bij een deel ALLE discipline-tekeningen die de
|
||||
* gebruiker mag zien(disciplines) worden weggeschreven in cad_slnkstruct.
|
||||
* --- 01.43 ---
|
||||
* 14-04-1999 BIV Functie cad_MaakCadTekening toegevoegd. Deze functie maakt een tekening aan in cad_tekening en
|
||||
* en geeft de naam van die tekening terug.
|
||||
@@ -64,7 +68,7 @@ CREATE OR REPLACE PACKAGE cad AS
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALDATE(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value DATE, ClrEntry NUMBER);
|
||||
FUNCTION cad_SLNKSTRUCTreadVALINT(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN NUMBER;
|
||||
FUNCTION cad_SLNKSTRUCTreadVALSTR(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN VARCHAR2;
|
||||
FUNCTION cad_SLNKSTRUCTreadVALREAL(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN NUMBER;
|
||||
FUNCTION cad_SLNKSTRUCTreadVALREAL(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN NUMBER;
|
||||
FUNCTION cad_SLNKSTRUCTreadVALDATE(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN DATE;
|
||||
PROCEDURE cad_SLNKSTRUCTclear(Session_Id NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTshift(Session_Id NUMBER);
|
||||
@@ -1384,19 +1388,35 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
cad_SLNKstructinsertVALSTR(Session_Id,'LOADDWG', SeqNr, LoadDwg, 1);
|
||||
cad_SLNKstructinsertVALSTR(Session_Id,'ATTACHDWG', SeqNr, AttachDwg1, 1);
|
||||
cad_SLNKstructinsertVALSTR(Session_Id,'ATTACHDWG', SeqNr, Attachdwg2, 0);
|
||||
DECLARE Cursor D_tekeningen IS
|
||||
SELECT cad_tekening_filenaam
|
||||
FROM cad_v_discipline
|
||||
WHERE alg_locatie_key = LocatieKey
|
||||
AND alg_verdieping_key = VerdiepingKey
|
||||
AND ins_discipline_key IN
|
||||
(SELECT ins_discipline_key
|
||||
FROM INS_v_aanwezigdiscipline);
|
||||
BEGIN
|
||||
FOR TekenRec IN D_tekeningen LOOP
|
||||
cad_SLNKstructinsertVALSTR(Session_Id,'ATTACHDWG', SeqNr, LocatieCode||'\'||Tekenrec.cad_tekening_filenaam, 0);
|
||||
END LOOP;
|
||||
END;
|
||||
IF PlaatsDeel = 'T' THEN
|
||||
DECLARE Cursor D_tekeningen IS
|
||||
SELECT cad_tekening_filenaam
|
||||
FROM cad_v_discipline
|
||||
WHERE alg_locatie_key = LocatieKey
|
||||
AND alg_verdieping_key IS NULL
|
||||
AND ins_discipline_key IN
|
||||
(SELECT ins_discipline_key
|
||||
FROM INS_v_aanwezigdiscipline);
|
||||
BEGIN
|
||||
FOR TekenRec IN D_tekeningen LOOP
|
||||
cad_SLNKstructinsertVALSTR(Session_Id,'ATTACHDWG', SeqNr, LocatieCode||'\'||Tekenrec.cad_tekening_filenaam, 0);
|
||||
END LOOP;
|
||||
END;
|
||||
ELSE
|
||||
DECLARE Cursor D_tekeningen IS
|
||||
SELECT cad_tekening_filenaam
|
||||
FROM cad_v_discipline
|
||||
WHERE alg_locatie_key = LocatieKey
|
||||
AND alg_verdieping_key = VerdiepingKey
|
||||
AND ins_discipline_key IN
|
||||
(SELECT ins_discipline_key
|
||||
FROM INS_v_aanwezigdiscipline);
|
||||
BEGIN
|
||||
FOR TekenRec IN D_tekeningen LOOP
|
||||
cad_SLNKstructinsertVALSTR(Session_Id,'ATTACHDWG', SeqNr, LocatieCode||'\'||Tekenrec.cad_tekening_filenaam, 0);
|
||||
END LOOP;
|
||||
END;
|
||||
END IF;
|
||||
cad_SLNKstructinsertVALSTR(Session_Id,'LABELCOL', SeqNr, 'INS_DEEL_CADLABEL', 1);
|
||||
SELECT ins_deel_omschrijving INTO Omschrijving
|
||||
FROM ins_deel
|
||||
@@ -1738,6 +1758,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
SrtdeelKey ins_srtdeel.ins_srtdeel_key%TYPE;
|
||||
Omschrijving VARCHAR2(30);
|
||||
Dummy NUMBER(10);
|
||||
RetValue BOOLEAN;
|
||||
BEGIN
|
||||
LPNAliasINSO := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASINSO');
|
||||
LPNKeyINSO := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYINSO');
|
||||
@@ -1752,14 +1773,14 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
FROM alg_v_aanwezigterreinsector
|
||||
WHERE alg_locatie_key = LocatieKey
|
||||
AND alg_terreinsector_code = Code;
|
||||
RETURN FALSE;
|
||||
RetValue := FALSE;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
/* Verwijderdatum wordt NULL */
|
||||
UPDATE alg_terreinsector
|
||||
SET alg_terreinsector_verwijder = NULL
|
||||
WHERE alg_terreinsector_key = LPNKeyINSO;
|
||||
RETURN TRUE;
|
||||
RetValue := TRUE;
|
||||
END;
|
||||
ELSIF LPNAliasINSO = 'LPN_ALG_GEBOUW' THEN
|
||||
SELECT alg_locatie_key, alg_gebouw_code INTO LocatieKey, Code
|
||||
@@ -1770,14 +1791,14 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
FROM alg_v_aanweziggebouw
|
||||
WHERE alg_locatie_key = LocatieKey
|
||||
AND alg_gebouw_code = Code;
|
||||
RETURN FALSE;
|
||||
RetValue := FALSE;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
/* Verwijderdatum wordt NULL */
|
||||
UPDATE alg_gebouw
|
||||
SET alg_gebouw_verwijder = NULL
|
||||
WHERE alg_gebouw_key = LPNKeyINSO;
|
||||
RETURN TRUE;
|
||||
RetValue := TRUE;
|
||||
END;
|
||||
ELSIF LPNAliasINSO = 'LPN_ALG_RUIMTE' THEN
|
||||
SELECT alg_verdieping_key, alg_ruimte_upper_nr INTO VerdiepingKey, Code
|
||||
@@ -1788,14 +1809,14 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
FROM alg_v_aanwezigruimte
|
||||
WHERE alg_verdieping_key = VerdiepingKey
|
||||
AND alg_ruimte_upper_nr = Code;
|
||||
RETURN FALSE;
|
||||
RetValue := FALSE;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
/* Verwijderdatum wordt NULL */
|
||||
UPDATE alg_ruimte
|
||||
SET alg_ruimte_verwijder = NULL
|
||||
WHERE alg_ruimte_key = LPNKeyINSO;
|
||||
RETURN TRUE;
|
||||
RetValue := TRUE;
|
||||
END;
|
||||
ELSIF LPNAliasINSO = 'LPN_PRS_WERKPLEK' THEN
|
||||
SELECT prs_alg_ruimte_key, prs_werkplek_volgnr INTO RuimteKey, Werkpleknr
|
||||
@@ -1806,14 +1827,14 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
FROM prs_v_aanwezigwerkplek
|
||||
WHERE prs_alg_ruimte_key = RuimteKey
|
||||
AND prs_werkplek_volgnr = WerkplekNr;
|
||||
RETURN FALSE;
|
||||
RetValue := FALSE;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
/* Verwijderdatum wordt NULL */
|
||||
UPDATE prs_werkplek
|
||||
SET prs_werkplek_verwijder = NULL
|
||||
WHERE prs_werkplek_key = LPNKeyINSO;
|
||||
RETURN TRUE;
|
||||
RetValue := TRUE;
|
||||
END;
|
||||
ELSIF LPNAliasINSO = 'LPN_INS_DEEL' THEN
|
||||
SELECT ins_alg_locatie_key, ins_srtdeel_key, ins_deel_upper INTO LocatieKey, SrtdeelKey, Omschrijving
|
||||
@@ -1826,24 +1847,31 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
AND ins_srtdeel_key = SrtDeelKey
|
||||
AND ins_deel_parent_key IS NULL
|
||||
AND ins_deel_upper = Omschrijving;
|
||||
RETURN FALSE;
|
||||
RetValue := FALSE;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
UPDATE ins_deel
|
||||
SET ins_deel_verwijder = NULL
|
||||
WHERE ins_deel_key = LPNKeyINSO;
|
||||
RETURN TRUE;
|
||||
RetValue := TRUE;
|
||||
END;
|
||||
ELSE
|
||||
RETURN FALSE;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
RETURN FALSE;
|
||||
RetValue := FALSE;
|
||||
END;
|
||||
ELSE
|
||||
RETURN FALSE; /* Geen undo gegevens vanuit AutoCAD - gewoon toevoegen via PrePostDraw */
|
||||
RetValue := FALSE; /* Geen undo gegevens vanuit AutoCAD - gewoon toevoegen via PrePostDraw */
|
||||
END IF;
|
||||
IF RetValue THEN
|
||||
cad_SLNKSTRUCTclear(Session_Id);
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id,'LPNALIASPREDRAW', 1, LPNAliasINSO, 1);
|
||||
cad_SLNKSTRUCTinsertVALINT(Session_Id,'LPNKEYPREDRAW', 1, LPNKeyINSO, 1);
|
||||
cad_SLNKPreDraw(Session_Id);
|
||||
END IF;
|
||||
RETURN RetValue;
|
||||
END cad_SLNKPrePostUndo;
|
||||
|
||||
|
||||
@@ -2465,10 +2493,6 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
NULL;
|
||||
END IF;
|
||||
END IF;
|
||||
IF UndoOK THEN
|
||||
cad_SLNKSTRUCTclear(session_Id);
|
||||
cad_SLNKPreDraw(Session_Id);
|
||||
END IF;
|
||||
END cad_SLNKPrePostDraw;
|
||||
|
||||
|
||||
@@ -2497,6 +2521,9 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
BEGIN
|
||||
LPNName := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASINSO');
|
||||
LPNKey := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYINSO');
|
||||
LPNCondName := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASCONDO');
|
||||
LPNCondKey := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNKEYCONDO');
|
||||
|
||||
IF LPNNAME = 'LPN_INS_DEEL' THEN
|
||||
LPNAliasLinkO := cad_SLNKSTRUCTreadVALSTR(Session_Id, 'LPNALIASLINKO');
|
||||
IF LPNAliasLinkO IS NOT NULL THEN
|
||||
@@ -2848,6 +2875,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
PlaatsDeel ins_deel.ins_alg_ruimte_type%TYPE;
|
||||
PlaatsKey NUMBER(10);
|
||||
RuimteKey prs_werkplek.prs_alg_ruimte_key%TYPE;
|
||||
WerkplekNr prs_werkplek.prs_werkplek_volgnr%TYPE;
|
||||
DoDeelUpdate BOOLEAN;
|
||||
|
||||
BEGIN
|
||||
@@ -2988,9 +3016,21 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
END LOOP;
|
||||
END IF;
|
||||
IF LPNCondKeyOK THEN
|
||||
UPDATE prs_werkplek
|
||||
SET prs_alg_ruimte_key = LPNCondKey
|
||||
WHERE prs_werkplek_key = LPNKey;
|
||||
BEGIN
|
||||
UPDATE prs_werkplek
|
||||
SET prs_alg_ruimte_key = LPNCondKey
|
||||
WHERE prs_werkplek_key = LPNKey;
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX THEN
|
||||
SELECT MAX(prs_werkplek_volgnr) + 1
|
||||
INTO WerkplekNr
|
||||
FROM all_v_aanwezigwerkplek
|
||||
WHERE prs_alg_ruimte_key = LPNCondKey;
|
||||
UPDATE prs_werkplek
|
||||
SET prs_werkplek_volgnr = WerkplekNr,
|
||||
prs_alg_ruimte_key = LPNCondKey
|
||||
WHERE prs_werkplek_key = LPNKey;
|
||||
END;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR' THEN
|
||||
|
||||
Reference in New Issue
Block a user