Package cad - procedure Postdraw aangepast.
svn path=/Database/trunk/; revision=6351
This commit is contained in:
208
CAD/CAD_PAC.SRC
208
CAD/CAD_PAC.SRC
@@ -3,6 +3,10 @@
|
||||
/* REVISIONS:
|
||||
*
|
||||
*
|
||||
* --- 01.42 ---
|
||||
* 05-11-1998 BIV Procedure cad_SLNKSTRUCTclear toegevoegd.
|
||||
* 02-11-1998 BIV Procedures cad_SLNKSTRUCTinsertVALINT,...VALSTR, ....VALREAL en ....VALDATE toegevoegd.
|
||||
* --- 01.41 ---
|
||||
* 06-10-1998 PF #2060 get_tekeningnaam werkt nu ook voor terreinen
|
||||
* --- 01.40 ---
|
||||
* --- 01.39 ---
|
||||
@@ -28,7 +32,14 @@ CREATE OR REPLACE PACKAGE cad AS
|
||||
FUNCTION cad_f_deel_get_tekeningnaam(key IN NUMBER) RETURN VARCHAR2;
|
||||
FUNCTION cad_f_ruimte_get_tekeningnaam(key IN NUMBER) RETURN VARCHAR2;
|
||||
PROCEDURE cad_p_ruimte_update_opp(key IN NUMBER, VloerOpp IN NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALINT(entry VARCHAR2, seqnr NUMBER, waarde NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALINT(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALSTR(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value VARCHAR2);
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALREAL(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALDATE(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value DATE);
|
||||
PROCEDURE cad_SLNKSTRUCTclear(Session_Id NUMBER);
|
||||
-- FUNCTION cad_SLNKSTRUCTread(Session_Id NUMBER, entry VARCHAR2) RETURN NUMBER; werking is nog onduidelijk
|
||||
PROCEDURE cad_SLNKSTRUCTshift(Session_Id NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTpostdraw(Session_Id NUMBER);
|
||||
|
||||
/* garandeer dat de functies de database-state en package-state niet beinvloeden
|
||||
* (anders kunnen ze niet zondermeer in een view worden gebruikt)
|
||||
@@ -173,15 +184,204 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
COMMIT;
|
||||
END cad_p_ruimte_update_opp;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALINT(entry VARCHAR2, seqnr NUMBER, waarde NUMBER) IS
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALINT(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER) IS
|
||||
BEGIN
|
||||
|
||||
IF seqnr = 1 THEN
|
||||
BEGIN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = entry;
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO cad_slnkstruct(cad_slnkstruct_sessionId, cad_slnkstruct_entry, cad_slnkstruct_seqnr, cad_slnkstruct_valint)
|
||||
VALUES(Session_Id, entry, seqnr, value);
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALINT;
|
||||
|
||||
END cad_SLNKSTRUCTinsertVALINT
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALSTR(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value VARCHAR2) IS
|
||||
BEGIN
|
||||
IF seqnr = 1 THEN
|
||||
BEGIN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = entry;
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO cad_slnkstruct(cad_slnkstruct_sessionId, cad_slnkstruct_entry, cad_slnkstruct_seqnr, cad_slnkstruct_valstr)
|
||||
VALUES(Session_Id, entry, seqnr, value);
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALSTR;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALREAL(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER) IS
|
||||
BEGIN
|
||||
IF seqnr = 1 THEN
|
||||
BEGIN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = entry;
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO cad_slnkstruct(cad_slnkstruct_sessionId, cad_slnkstruct_entry, cad_slnkstruct_seqnr, cad_slnkstruct_valreal)
|
||||
VALUES(Session_Id, entry, seqnr, value);
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALREAL;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALDATE(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value DATE) IS
|
||||
BEGIN
|
||||
IF seqnr = 1 THEN
|
||||
BEGIN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = entry;
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO cad_slnkstruct(cad_slnkstruct_sessionId, cad_slnkstruct_entry, cad_slnkstruct_seqnr, cad_slnkstruct_valdate)
|
||||
VALUES(Session_Id, entry, seqnr, value);
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALDATE;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTclear(Session_Id NUMBER) IS
|
||||
BEGIN
|
||||
BEGIN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id;
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTclear;
|
||||
|
||||
/* FUNCTION cad_SLNKSTRUCTread(Session_Id NUMBER, entry VARCHAR2) RETURN NUMBER;
|
||||
Werking van deze functie is me nog niet helemaal duidelijk. Komt later.
|
||||
*/
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTshift(Session_Id NUMBER) IS
|
||||
|
||||
aantal NUMBER(10);
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT max(cad_slnkstruct_seqnr) INTO aantal
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id;
|
||||
|
||||
IF aantal > 1 THEN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_seqnr = 1
|
||||
AND cad_slnkstruct_sessionid = Session_Id;
|
||||
COMMIT;
|
||||
UPDATE cad_slnkstruct
|
||||
SET cad_slnkstruct_seqnr = cad_slnkstruct_seqnr - 1
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id;
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTshift;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTpostdraw(Session_Id NUMBER) IS
|
||||
|
||||
LPNName VARCHAR2(128);
|
||||
LPNKey NUMBER(10);
|
||||
VeldKey NUMBER(10);
|
||||
Oppervlak NUMBER(13,3);
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valstr INTO LPNName
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = 'LPNALIASINSO'
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
|
||||
IF LPNName = 'LPN_BIS_BORING' THEN
|
||||
SELECT cad_slnkstruct_valint INTO LPNKey
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = 'LPNKEYINSO'
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
UPDATE bis_boring
|
||||
SET bis_boring_getekend = 'TRUE'
|
||||
WHERE bis_boring_key = LPNKey;
|
||||
/* als het een veld betreft dan oppervlakte aanpassen in tabel bis_veld */
|
||||
SELECT bis_veld_key INTO VeldKey
|
||||
FROM bis_boring_boringtype
|
||||
WHERE bis_boring_key = LPNKey;
|
||||
IF VeldKey IS NOT NULL THEN
|
||||
/* lees oppervlakte uit */
|
||||
SELECT cad_slnkstruct_valreal INTO Oppervlak
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = 'AREA'
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
UPDATE bis_veld
|
||||
SET bis_veld_oppervlakte = Oppervlak
|
||||
WHERE bis_veld_key = Veldkey;
|
||||
END IF;
|
||||
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR' THEN
|
||||
SELECT cad_slnkstruct_valint INTO LPNKey
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = 'LPNKEYINSA'
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
SELECT cad_slnkstruct_valreal INTO Oppervlak
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = 'AREA'
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
UPDATE alg_terreinsector
|
||||
SET alg_terreinsector_oppervlak = Oppervlak
|
||||
WHERE alg_terreinsector_key = LPNKey;
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_BIS_PROJECT' THEN
|
||||
NULL; /* moet nog uitgewerkt worden */
|
||||
ELSIF LPNName = 'LPN_BIS_ONTGRAVINGSVAK' THEN
|
||||
NULL; /* moet nog uitgewerkt worden */
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'ACAD'); /* ORACLE is klaar */
|
||||
END cad_SLNKSTRUCTpostdraw;
|
||||
END cad;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user