ifdef BIS toegevoegd.
svn path=/Database/trunk/; revision=6395
This commit is contained in:
141
CAD/CAD_PAC.SRC
141
CAD/CAD_PAC.SRC
@@ -5,6 +5,8 @@
|
||||
*
|
||||
* --- 01.41 ---
|
||||
*
|
||||
* 04-12-1998 BIV Functie cad_GETSonderingGrafiek toegevoegd.
|
||||
* 03-12-1998 BIV Procedure cad_SLNKgetDrawing toegevoegd.
|
||||
* 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.
|
||||
@@ -53,6 +55,7 @@ CREATE OR REPLACE PACKAGE cad AS
|
||||
PROCEDURE cad_SLNKpostErase(Session_Id NUMBER);
|
||||
PROCEDURE cad_SLNKpostModify(Session_Id NUMBER);
|
||||
PROCEDURE cad_SLNKSTRUCTclearAll(Session_Id NUMBER);
|
||||
PROCEDURE cad_SLNKgetDrawing(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)
|
||||
@@ -109,6 +112,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
RETURN NULL;
|
||||
END cad_f_deel_get_discipline;
|
||||
|
||||
|
||||
FUNCTION cad_f_deel_get_tekeningnaam(Key IN NUMBER) RETURN VARCHAR2 IS
|
||||
tekeningnaam VARCHAR2(256);
|
||||
locatie_key NUMBER(10);
|
||||
@@ -152,6 +156,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END IF;
|
||||
END cad_f_deel_get_tekeningnaam;
|
||||
|
||||
|
||||
FUNCTION cad_f_ruimte_get_tekeningnaam(Key IN NUMBER) RETURN VARCHAR2 IS
|
||||
tekeningnaam VARCHAR2(256);
|
||||
locatie_key NUMBER(10);
|
||||
@@ -182,6 +187,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END IF;
|
||||
END cad_f_ruimte_get_tekeningnaam;
|
||||
|
||||
|
||||
/*
|
||||
* CAD_P_RUIMTE_UPDATE_OPP wordt aangeroepen vanuit AutoCAD
|
||||
* en wijzigt de vloeroppervlakte van een opgegeven ruimte
|
||||
@@ -228,6 +234,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALINT;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALSTR(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value VARCHAR2, ClrEntry NUMBER) IS
|
||||
BEGIN
|
||||
IF ClrEntry = 1 AND seqnr = 1 THEN
|
||||
@@ -243,6 +250,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALSTR;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALREAL(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value NUMBER, ClrEntry NUMBER) IS
|
||||
BEGIN
|
||||
IF ClrEntry = 1 AND seqnr = 1 THEN
|
||||
@@ -258,6 +266,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALREAL;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTinsertVALDATE(Session_Id NUMBER, entry VARCHAR2, seqnr NUMBER, value DATE, ClrEntry NUMBER) IS
|
||||
BEGIN
|
||||
IF ClrEntry = 1 AND seqnr = 1 THEN
|
||||
@@ -273,6 +282,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTinsertVALDATE;
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTclear(Session_Id NUMBER) IS
|
||||
BEGIN
|
||||
BEGIN
|
||||
@@ -302,7 +312,6 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKSTRUCTshift(Session_Id NUMBER) IS
|
||||
|
||||
aantal NUMBER(10);
|
||||
BEGIN
|
||||
BEGIN
|
||||
@@ -333,9 +342,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALINT(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN NUMBER IS
|
||||
|
||||
Value NUMBER;
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valint INTO Value
|
||||
@@ -352,9 +359,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALSTR(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
|
||||
Value VARCHAR2(128);
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valstr INTO Value
|
||||
@@ -370,10 +375,25 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END cad_SLNKSTRUCTreadVALSTR;
|
||||
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALSTR2(Session_Id IN NUMBER, Entry IN VARCHAR2, SeqNr IN NUMBER) 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 = SeqNr;
|
||||
RETURN Value;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
END cad_SLNKSTRUCTreadVALSTR2;
|
||||
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALREAL(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN NUMBER IS
|
||||
|
||||
Value NUMBER;
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valreal INTO Value
|
||||
@@ -390,9 +410,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
|
||||
|
||||
FUNCTION cad_SLNKSTRUCTreadVALDATE(Session_Id IN NUMBER, Entry IN VARCHAR2) RETURN DATE IS
|
||||
|
||||
Value DATE;
|
||||
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT cad_slnkstruct_valdate INTO Value
|
||||
@@ -407,11 +425,93 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END;
|
||||
END cad_SLNKSTRUCTreadVALDATE;
|
||||
|
||||
|
||||
|
||||
PROCEDURE cad_KILLtrajecten(Session_Id NUMBER, Diepte NUMBER, Datum DATE) IS
|
||||
PROCEDURE cad_SLNKgetDrawing(Session_Id NUMBER) IS
|
||||
LPNName VARCHAR2(128);
|
||||
tekeningnaam VARCHAR2(256);
|
||||
locatie_key NUMBER(10);
|
||||
locCode VARCHAR2(5);
|
||||
DwgString VARCHAR2(261);
|
||||
|
||||
BEGIN
|
||||
LocCode := cad_SLNKSTRUCTreadVALSTR2(Session_id, 'INFOS', 1);
|
||||
LPNName := cad_SLNKSTRUCTreadVALSTR2(Session_id, 'INFOS', 2);
|
||||
SELECT alg_locatie_key INTO locatie_key
|
||||
FROM alg_v_aanweziglocatie
|
||||
WHERE alg_locatie_code = LocCode;
|
||||
|
||||
IF LPNName = 'LPN_BIS_BORING' THEN
|
||||
BEGIN
|
||||
SELECT cad_tekening_filenaam
|
||||
INTO tekeningnaam
|
||||
FROM cad_v_cad_tekening
|
||||
WHERE alg_locatie_key = locatie_key
|
||||
AND cad_tekening_type = 'D'
|
||||
AND ins_discipline_key =
|
||||
(SELECT ins_discipline_key
|
||||
FROM ins_tab_discipline
|
||||
WHERE UPPER(ins_discipline_omschrijving) = 'MILIEU');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
tekeningnaam := NULL;
|
||||
END;
|
||||
ELSE
|
||||
/* Later misschien verder uitwerken voor LPN_ALG_TERREINSECTOR, LPN_BIS_PROJECT en LPN_BIS_ONTGRAVINGSVAK.
|
||||
* Voorlopig voor al deze LPN's dezelfde acties.
|
||||
*/
|
||||
BEGIN
|
||||
SELECT cad_tekening_filenaam
|
||||
INTO tekeningnaam
|
||||
FROM cad_v_cad_tekening
|
||||
WHERE alg_locatie_key = locatie_key
|
||||
AND cad_tekening_type = 'C';
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
tekeningnaam := NULL;
|
||||
END;
|
||||
END IF;
|
||||
DwgString := LocCode||'\'||tekeningnaam;
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SRCDWG', 1, DwgString, 1);
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
|
||||
END cad_SLNKgetDrawing;
|
||||
|
||||
|
||||
#ifdef BIS
|
||||
PROCEDURE cad_KILLtrajecten(Session_Id NUMBER, Diepte NUMBER, Datum DATE) IS
|
||||
Eerste BOOLEAN;
|
||||
BEGIN
|
||||
DECLARE
|
||||
CURSOR EindTrajectGroter IS
|
||||
SELECT BIS_BT1.bis_boring_key, BIS_BT1.bis_traject_key
|
||||
FROM cad_slnkstruct CAD_S, bis_v_boring_trajecten BIS_BT1
|
||||
WHERE CAD_S.cad_slnkstruct_sessionid = Session_Id
|
||||
AND CAD_S.cad_slnkstruct_entry = 'LPNKEYMODO'
|
||||
AND CAD_S.cad_slnkstruct_valint = BIS_BT1.bis_boring_key
|
||||
AND (BIS_BT1.bis_boring_key, BIS_BT1.bis_traject_einddiepte) IN
|
||||
(SELECT MAX(BIS_BT2.bis_boring_key), MAX(BIS_BT2.bis_traject_einddiepte)
|
||||
FROM bis_v_boring_trajecten BIS_BT2
|
||||
WHERE BIS_BT2.bis_boring_key = BIS_BT1.bis_boring_key
|
||||
AND BIS_BT2.bis_traject_einddiepte <= Diepte);
|
||||
|
||||
/* Als Diepte > einddiepte laatste traject v/e boring -> verwijder hele boring */
|
||||
BEGIN
|
||||
Eerste := TRUE;
|
||||
FOR TrajectRec IN EindTrajectGroter LOOP
|
||||
UPDATE bis_boring
|
||||
SET bis_boring_verwijderdatum = Datum
|
||||
WHERE bis_boring_key = TrajectRec.bis_boring_key
|
||||
AND bis_boring_verwijderdatum IS NULL;
|
||||
IF Eerste THEN
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'LPNALIASDELA', 1,'LPN_BIS_BORING', 1);
|
||||
cad_SLNKSTRUCTinsertVALINT(Session_Id, 'LPNKEYDELA', 1, TrajectRec.bis_boring_key, 1);
|
||||
Eerste := FALSE;
|
||||
ELSE
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'LPNALIASDELA', 1,'LPN_BIS_BORING', 0);
|
||||
cad_SLNKSTRUCTinsertVALINT(Session_Id, 'LPNKEYDELA', 1, TrajectRec.bis_boring_key, 0);
|
||||
END IF;
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
DECLARE
|
||||
CURSOR TrajectKleinerDiepte IS
|
||||
SELECT CAD_S.cad_slnkstruct_valint, bis_traject_key
|
||||
@@ -420,7 +520,8 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
AND CAD_S.cad_slnkstruct_entry = 'LPNKEYMODO'
|
||||
AND CAD_S.cad_slnkstruct_valint = BIS_BT.bis_boring_key
|
||||
AND BIS_BT.bis_traject_begindiepte < Diepte;
|
||||
|
||||
|
||||
/* Hele traject valt binnen het ontgravingsvak */
|
||||
BEGIN
|
||||
FOR TrajectRec IN TrajectKleinerDiepte LOOP
|
||||
UPDATE bis_traject
|
||||
@@ -438,6 +539,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
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;
|
||||
/* Het traject valt gedeeltelijk binnen het ontgravingsvak */
|
||||
BEGIN
|
||||
FOR TrajectRec IN TrajectOverlap LOOP
|
||||
UPDATE bis_traject
|
||||
@@ -450,7 +552,6 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
|
||||
|
||||
PROCEDURE cad_SLNKpostdraw(Session_Id NUMBER) IS
|
||||
|
||||
LPNName VARCHAR2(128);
|
||||
LPNKey NUMBER(10);
|
||||
VeldKey NUMBER(10);
|
||||
@@ -458,7 +559,6 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
Diepte NUMBER(8,2);
|
||||
Volume NUMBER(8,2);
|
||||
Datum DATE;
|
||||
|
||||
BEGIN
|
||||
LPNName := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASINSO');
|
||||
LPNKey := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYINSO');
|
||||
@@ -489,8 +589,9 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
SET bis_project_oppervlakte = Oppervlak
|
||||
WHERE bis_project_key = LPNKey;
|
||||
ELSIF LPNName = 'LPN_BIS_ONTGRAVINGSVAK' THEN
|
||||
Volume := cad_SLNKSTRUCTreadVALREAL(Session_id, 'VOLUME');
|
||||
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
|
||||
Diepte:= cad_SLNKSTRUCTreadVALREAL(Session_id, 'DEPTH');
|
||||
Volume := Oppervlak * Diepte;
|
||||
Datum := TO_DATE(cad_SLNKSTRUCTreadVALSTR(Session_id, 'DATE'), 'DD-MM-YYYY');
|
||||
UPDATE bis_ontgravingsvak
|
||||
SET bis_ontgravingsvak_volume = Volume,
|
||||
@@ -510,7 +611,6 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
CheckDatum VARCHAR2(10);
|
||||
Datum DATE;
|
||||
Eerste BOOLEAN;
|
||||
|
||||
BEGIN
|
||||
CheckDatum := cad_SLNKSTRUCTreadVALSTR(Session_id, 'DATE');
|
||||
Datum := TO_DATE(CheckDatum, 'DD-MM-YYYY');
|
||||
@@ -581,8 +681,8 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
VeldKey NUMBER(10);
|
||||
Oppervlak NUMBER(13,3);
|
||||
Diepte NUMBER(8,2);
|
||||
Volume NUMBER(8,2);
|
||||
Datum DATE;
|
||||
|
||||
BEGIN
|
||||
LPNName := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASMODO');
|
||||
LPNKey := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYMODO');
|
||||
@@ -609,9 +709,12 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
SET bis_project_oppervlakte = Oppervlak
|
||||
WHERE bis_project_key = LPNKey;
|
||||
ELSIF LPNName = 'LPN_BIS_ONTGRAVINGSVAK' THEN
|
||||
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
|
||||
Diepte := cad_SLNKSTRUCTreadVALREAL(Session_id, 'DEPTH');
|
||||
Volume := Oppervlak * Diepte;
|
||||
UPDATE bis_ontgravingsvak
|
||||
SET bis_ontgravingsvak_diepte = Diepte
|
||||
SET bis_ontgravingsvak_diepte = Diepte,
|
||||
bis_ontgravingsvak_volume = Volume
|
||||
WHERE bis_ontgravingsvak_key = LPNKey;
|
||||
/* "Onthoofden" van trajecten */
|
||||
Datum := TO_DATE(cad_SLNKSTRUCTreadVALSTR(Session_id, 'DATE'), 'DD-MM-YYYY');
|
||||
@@ -619,6 +722,8 @@ CREATE OR REPLACE PACKAGE BODY cad AS
|
||||
END IF;
|
||||
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
|
||||
END cad_SLNKpostModify;
|
||||
#endif // BIS
|
||||
|
||||
END cad;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user