Functie cad_SLNKpostdraw uitgebreidt.
svn path=/Database/trunk/; revision=6360
This commit is contained in:
462
CAD/CAD_PAC.SRC
462
CAD/CAD_PAC.SRC
@@ -3,10 +3,17 @@
|
||||
/* 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 ---
|
||||
*
|
||||
* 20-11-1998 BIV Procedure cad_SLNKSTRUCTclearAll toegevoegd (wist alles van de opgegeven sessie).
|
||||
* 12-11-1998 BIV Procedure cad_SLNKSTRUCTmodify toegevoegd.
|
||||
* 09-11-1998 BIV Procedure cad_SLNKSTRUCTposterase toegevoegd.
|
||||
* 06-11-1998 BIV Procedure cad_SLNKSTRUCTpostdraw toegevoegd.
|
||||
* 05-11-1998 BIV Procedure cad_SLNKSTRUCTshift toegevoegd(wist 1ste entry van opgegeven sessie schuift
|
||||
* alle andere entries 1 pos. door (dus 4->3, 3->2 en 2->1)).
|
||||
* 05-11-1998 BIV Procedure cad_SLNKSTRUCTclear toegevoegd (wist alles van de opgegeven sessie, behalve de
|
||||
* entry FAC_MODULE).
|
||||
* 02-11-1998 BIV Procedures cad_SLNKSTRUCTinsertVALINT,...VALSTR, ....VALREAL en ....VALDATE toegevoegd.
|
||||
* 06-10-1998 PF #2060 get_tekeningnaam werkt nu ook voor terreinen
|
||||
* --- 01.40 ---
|
||||
* --- 01.39 ---
|
||||
@@ -16,8 +23,8 @@
|
||||
* 21-07-1998 BIV Functie cad_f_ruimte_get_tekeningnaam() toegevoegd.
|
||||
* 09-07-1998 PF Geen exception meer, en PRAGMA WNPS toegevoegd
|
||||
* 08-07-1998 PF Functies gebruiken TABLE ins_deel ipv VIEW ins_v_aanwezigdeel, vanwege autorisatie.
|
||||
* De functie wordt ook door andere users (FCLTCAD) gebruikt, en die ziet niets
|
||||
* in de autorisatie views
|
||||
* De functie wordt ook door andere users (FCLTCAD) gebruikt, en die ziet niets
|
||||
* in de autorisatie views
|
||||
* 07-07-1998 BIV Functies cad_f_deel_get_locatie_key, ..._get_verdieping_key, ..._get_discipline_key,
|
||||
* ..._get_tekeningnaam toegevoegd.
|
||||
* --- 01.38 ---
|
||||
@@ -32,14 +39,20 @@ 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(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_SLNKSTRUCTinsertVALINT(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER, ClrEntry NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALSTR(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value VARCHAR2, ClrEntry NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALREAL(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER, ClrEntry NUMBER);
|
||||
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_SLNKSTRUCTreadVALDATE(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN 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);
|
||||
PROCEDURE cad_SLNKpostDraw(Session_Id NUMBER);
|
||||
PROCEDURE cad_SLNKpostErase(Session_Id NUMBER);
|
||||
PROCEDURE cad_SLNKpostModify(Session_Id NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTclearAll(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)
|
||||
@@ -184,18 +197,26 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
COMMIT;
|
||||
END cad_p_ruimte_update_opp;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALINT(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER) IS
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTdelete(Session_Id NUMBER, Entry VARCHAR2) IS
|
||||
BEGIN
|
||||
IF seqnr = 1 THEN
|
||||
BEGIN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = entry;
|
||||
COMMIT;
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTdelete;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALINT(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER, ClrEntry NUMBER) IS
|
||||
BEGIN
|
||||
IF ClrEntry = 1 AND seqnr = 1 THEN
|
||||
cad_SLNKSTRUCTdelete(Session_Id, Entry);
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO cad_slnkstruct(cad_slnkstruct_sessionId, cad_slnkstruct_entry, cad_slnkstruct_seqnr, cad_slnkstruct_valint)
|
||||
@@ -207,18 +228,10 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALINT;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALSTR(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value VARCHAR2) IS
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALSTR(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value VARCHAR2, ClrEntry 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;
|
||||
IF ClrEntry = 1 AND seqnr = 1 THEN
|
||||
cad_SLNKSTRUCTdelete(Session_Id, Entry);
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO cad_slnkstruct(cad_slnkstruct_sessionId, cad_slnkstruct_entry, cad_slnkstruct_seqnr, cad_slnkstruct_valstr)
|
||||
@@ -230,18 +243,10 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALSTR;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALREAL(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER) IS
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALREAL(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER, ClrEntry 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;
|
||||
IF ClrEntry = 1 AND seqnr = 1 THEN
|
||||
cad_SLNKSTRUCTdelete(Session_Id, Entry);
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO cad_slnkstruct(cad_slnkstruct_sessionId, cad_slnkstruct_entry, cad_slnkstruct_seqnr, cad_slnkstruct_valreal)
|
||||
@@ -253,18 +258,10 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALREAL;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALDATE(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value DATE) IS
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALDATE(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value DATE, ClrEntry 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;
|
||||
IF ClrEntry = 1 AND seqnr = 1 THEN
|
||||
cad_SLNKSTRUCTdelete(Session_Id, Entry);
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO cad_slnkstruct(cad_slnkstruct_sessionId, cad_slnkstruct_entry, cad_slnkstruct_seqnr, cad_slnkstruct_valdate)
|
||||
@@ -280,7 +277,8 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
BEGIN
|
||||
BEGIN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id;
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry <> 'FAC_MODULE';
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
@@ -288,9 +286,20 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
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_SLNKSTRUCTclearAll(Session_Id NUMBER) IS
|
||||
BEGIN
|
||||
BEGIN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry <> 'FAC_MODULE';
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTclearAll;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTshift(Session_Id NUMBER) IS
|
||||
|
||||
@@ -299,16 +308,19 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
BEGIN
|
||||
SELECT max(cad_slnkstruct_seqnr) INTO aantal
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id;
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry <> 'FAC_MODULE';
|
||||
|
||||
IF aantal > 1 THEN
|
||||
DELETE FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_seqnr = 1
|
||||
AND cad_slnkstruct_sessionid = Session_Id;
|
||||
AND cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry <> 'FAC_MODULE';
|
||||
COMMIT;
|
||||
UPDATE cad_slnkstruct
|
||||
SET cad_slnkstruct_seqnr = cad_slnkstruct_seqnr - 1
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id;
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry <> 'FAC_MODULE';
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
@@ -317,71 +329,297 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTshift;
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTpostdraw(Session_Id NUMBER) IS
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALINT(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN NUMBER IS
|
||||
|
||||
Value NUMBER;
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valint INTO Value
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = Entry
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
RETURN Value;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTreadVALINT;
|
||||
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALSTR(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
|
||||
Value VARCHAR2(128);
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valstr INTO Value
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = Entry
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
RETURN Value;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTreadVALSTR;
|
||||
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALREAL(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN NUMBER IS
|
||||
|
||||
Value NUMBER;
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valreal INTO Value
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = Entry
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
RETURN Value;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTreadVALREAL;
|
||||
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALDATE(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN DATE IS
|
||||
|
||||
Value DATE;
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valdate INTO Value
|
||||
FROM cad_slnkstruct
|
||||
WHERE cad_slnkstruct_sessionid = Session_Id
|
||||
AND cad_slnkstruct_entry = Entry
|
||||
AND cad_slnkstruct_seqnr = 1;
|
||||
RETURN Value;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTreadVALDATE;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKpostdraw(Session_Id NUMBER) IS
|
||||
|
||||
LPNName VARCHAR2(128);
|
||||
LPNKey NUMBER(10);
|
||||
VeldKey NUMBER(10);
|
||||
Oppervlak NUMBER(13,3);
|
||||
Diepte NUMBER(8,2);
|
||||
Volume NUMBER(8,2);
|
||||
Datum DATE;
|
||||
Nieuwe_key NUMBER(10);
|
||||
|
||||
BEGIN
|
||||
LPNName := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASINSO');
|
||||
LPNKey := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYINSO');
|
||||
IF LPNName = 'LPN_BIS_BORING' THEN
|
||||
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 */
|
||||
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
|
||||
UPDATE bis_veld
|
||||
SET bis_veld_oppervlakte = Oppervlak
|
||||
WHERE bis_veld_key = Veldkey;
|
||||
END IF;
|
||||
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR' THEN
|
||||
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
|
||||
UPDATE alg_terreinsector
|
||||
SET alg_terreinsector_oppervlak = Oppervlak
|
||||
WHERE alg_terreinsector_key = LPNKey;
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_BIS_PROJECT' THEN
|
||||
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
|
||||
UPDATE bis_project
|
||||
SET bis_project_oppervlakte = Oppervlak
|
||||
WHERE bis_project_key = LPNKey;
|
||||
ELSIF LPNName = 'LPN_BIS_ONTGRAVINGSVAK' THEN
|
||||
Volume := cad_SLNKSTRUCTreadVALREAL(Session_id, 'VOLUME');
|
||||
Diepte:= cad_SLNKSTRUCTreadVALREAL(Session_id, 'DEPTH');
|
||||
Datum := TO_DATE(cad_SLNKSTRUCTreadVALSTR(Session_id, 'DATE'), 'DD-MM-YYYY');
|
||||
UPDATE bis_ontgravingsvak
|
||||
SET bis_ontgravingsvak_volume = Volume,
|
||||
bis_ontgravingsvak_diepte = Diepte
|
||||
WHERE bis_ontgravingsvak_key = LPNKey;
|
||||
|
||||
/* "Onthoofden" van trajecten */
|
||||
/*
|
||||
DECLARE
|
||||
CURSOR TrajectKleinerDiepte IS
|
||||
SELECT CAD_S.cad_slnkstruct_valint, BIS_BT.bis_traject_key
|
||||
FROM cad_slnkstruct CAD_S, bis_v_boring_trajecten BIS_BT
|
||||
WHERE CAD_S.cad_slnkstruct_sessionid = Session_Id
|
||||
AND CAD_S.cad_slnkstruct_entry = 'LPNKEYINSO'
|
||||
AND CAD_S.cad_slnkstruct_valint = BIS_BT.bis_boring_key
|
||||
AND BIS_BT.bis_traject_begindiepte < Diepte;
|
||||
BEGIN
|
||||
UPDATE bis_traject
|
||||
SET bis_traject_einddatum = Datum
|
||||
WHERE bis_traject_key IN
|
||||
(SELECT * FROM TrajectKleinerDiepte)
|
||||
AND bis_traject_einddatum IS NULL);
|
||||
END;
|
||||
|
||||
DECLARE
|
||||
CURSOR TrajectOverlap IS
|
||||
SELECT CAD_S.cad_slnkstruct_valint, BIS_BT.bis_traject_key
|
||||
FROM cad_slnkstruct CAD_S, bis_v_boring_trajecten BIS_BT
|
||||
WHERE CAD_S.cad_slnkstruct_sessionid = Session_Id
|
||||
AND CAD_S.cad_slnkstruct_entry = 'LPNKEYINSO'
|
||||
AND CAD_S.cad_slnkstruct_valint = BIS_BT.bis_boring_key
|
||||
AND BIS_BT.bis_traject_begindiepte < Diepte
|
||||
AND BIS_BT.bis_traject_einddiepte > Diepte;
|
||||
BEGIN
|
||||
FOR TrajectOverlapRec IN TrajectOverlap LOOP
|
||||
/* Maak kopie van bestaand traject en... */
|
||||
/*
|
||||
SELECT bis_s_bis_traject_key.nextval INTO Nieuwe_key FROM DUAL;
|
||||
INSERT INTO bis_traject(bis_boring_boringtype_key, bis_traject_einddiepte, bis_traject_begindatum,
|
||||
bis_traject_humus, bis_traject_lutum, bis_traject_ph, bis_traject_ec, bis_traject_opmerkingen)
|
||||
SELECT bis_boring_boringtype_key, bis_traject_einddiepte, bis_traject_begindatum,
|
||||
bis_traject_humus, bis_traject_lutum, bis_traject_ph, bis_traject_ec, bis_traject_opmerkingen
|
||||
FROM bis_traject
|
||||
WHERE bis_traject_key = TrajectOverlapRec.bis_traject_key;
|
||||
/* ...maak begindiepte gelijk aan diepte van ontgravingsvak */
|
||||
UPDATE bis_traject
|
||||
SET bis_traject_begindiepte = Diepte
|
||||
WHERE bis_traject_key = Nieuwe_key
|
||||
AND bis_traject_einddatum IS NULL;
|
||||
COMMIT;
|
||||
END LOOP;
|
||||
/* "Set" verwijderdatum van het traject dat met diepte ontgravingsvak overlapt. */
|
||||
UPDATE bis_traject
|
||||
SET bis_traject_einddatum = Datum
|
||||
WHERE bis_traject_key IN
|
||||
(SELECT * FROM TrajectOverlap)
|
||||
AND bis_traject_einddatum IS NULL;
|
||||
END;
|
||||
/* Als boringtype = 'GROND' dan ook bodemprofiel verwijderen als het binnen ontgravingsvak valt */
|
||||
*/
|
||||
END IF;
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1); /* ORACLE is klaar */
|
||||
END cad_SLNKpostdraw;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKpostErase(Session_Id NUMBER) IS
|
||||
LPNName VARCHAR2(128);
|
||||
LPNKey NUMBER(10);
|
||||
SeqNr NUMBER(10);
|
||||
CheckDatum VARCHAR2(10);
|
||||
Datum DATE;
|
||||
Eerste BOOLEAN;
|
||||
|
||||
BEGIN
|
||||
CheckDatum := cad_SLNKSTRUCTreadVALSTR(Session_id, 'DATE');
|
||||
Datum := TO_DATE(CheckDatum, 'DD-MM-YYYY');
|
||||
LPNName := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASDELO');
|
||||
LPNKey := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYDELO');
|
||||
|
||||
IF LPNName = 'LPN_BIS_BORING' THEN
|
||||
IF CheckDatum IS NOT NULL THEN
|
||||
UPDATE bis_boring
|
||||
SET bis_boring_verwijderdatum = Datum
|
||||
WHERE bis_boring_key = LPNKey;
|
||||
ELSE
|
||||
UPDATE bis_boring
|
||||
SET bis_boring_getekend = 'FALSE'
|
||||
WHERE bis_boring_key = LPNKey;
|
||||
|
||||
UPDATE bis_veld
|
||||
SET bis_veld_oppervlakte = NULL
|
||||
WHERE bis_veld_key IN
|
||||
(SELECT bis_veld_key FROM bis_boring_boringtype
|
||||
WHERE bis_boring_key = LPNKey);
|
||||
END IF;
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR' THEN
|
||||
BEGIN
|
||||
DECLARE
|
||||
CURSOR Sectorboring IS
|
||||
SELECT bis_boring_key, alg_terreinsector_key
|
||||
FROM bis_v_aanwezigboring
|
||||
WHERE alg_terreinsector_key = LPNKey;
|
||||
BEGIN
|
||||
Eerste := TRUE;
|
||||
FOR BoringRec IN Sectorboring LOOP
|
||||
IF Eerste THEN
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'LPNALIASDELA', 1,'LPN_BIS_BORING', 1);
|
||||
cad_SLNKSTRUCTinsertVALINT(Session_Id, 'LPNKEYDELA', 1, BoringRec.bis_boring_key, 1);
|
||||
Eerste := FALSE;
|
||||
ELSE
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'LPNALIASDELA', 1,'LPN_BIS_BORING', 0);
|
||||
cad_SLNKSTRUCTinsertVALINT(Session_Id, 'LPNKEYDELA', 1, BoringRec.bis_boring_key, 0);
|
||||
END IF;
|
||||
END LOOP;
|
||||
END;
|
||||
END;
|
||||
UPDATE alg_terreinsector
|
||||
SET alg_terreinsector_verwijder = Datum
|
||||
WHERE alg_terreinsector_key = LPNKey;
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_BIS_PROJECT' THEN
|
||||
UPDATE bis_project
|
||||
SET bis_project_einddatum = Datum
|
||||
WHERE bis_project_key = LPNKey;
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_BIS_ONTGRAVINGSVAK' THEN
|
||||
NULL; /* moet nog uitgewerkt worden */
|
||||
END IF;
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
|
||||
END cad_SLNKpostErase;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKpostModify(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;
|
||||
LPNName := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASMODO');
|
||||
LPNKey := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYMODO');
|
||||
IF LPNName = 'LPN_BIS_BORING' THEN
|
||||
/* 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 */
|
||||
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
|
||||
UPDATE bis_veld
|
||||
SET bis_veld_oppervlakte = Oppervlak
|
||||
WHERE bis_veld_key = Veldkey;
|
||||
END IF;
|
||||
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR' THEN
|
||||
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
|
||||
UPDATE alg_terreinsector
|
||||
SET alg_terreinsector_oppervlak = Oppervlak
|
||||
WHERE alg_terreinsector_key = LPNKey;
|
||||
COMMIT;
|
||||
ELSIF LPNName = 'LPN_BIS_PROJECT' THEN
|
||||
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
|
||||
UPDATE bis_project
|
||||
SET bis_project_oppervlakte = Oppervlak
|
||||
WHERE bis_project_key = LPNKey;
|
||||
ELSIF LPNName = 'LPN_BIS_ONTGRAVINGSVAK' THEN
|
||||
NULL; /* moet nog uitgewerkt worden */
|
||||
END IF;
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
|
||||
END cad_SLNKpostModify;
|
||||
END cad;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user