Laatste aanpassing killtrajecten.

svn path=/Database/trunk/; revision=6426
This commit is contained in:
Bert in het Veld
1999-01-13 13:07:22 +00:00
parent 179fbdea84
commit 12158a2573

View File

@@ -562,18 +562,18 @@ CREATE OR REPLACE PACKAGE BODY cad AS
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 = 'LPNKEYDELO'
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);
CURSOR EindTrajectGroter IS
SELECT DISTINCT(BIS_BT1.bis_boring_key), BIS_BT1.bis_boring_key
FROM cad_slnkstruct CAD_S, bis_v_boring_trajecten BIS_BT1
WHERE CAD_S.cad_slnkstruct_sessionid = 114866
AND CAD_S.cad_slnkstruct_entry = 'LPNKEYDELO'
AND CAD_S.cad_slnkstruct_valint = BIS_BT1.bis_boring_key
AND Diepte >=
(SELECT MAX(BIS_BT2.bis_traject_einddiepte)
FROM bis_v_boring_trajecten BIS_BT2
WHERE BIS_BT2.bis_boring_key = BIS_BT1.bis_boring_key);
/* Als Diepte > einddiepte laatste traject v/e boring -> verwijder hele boring */
BEGIN
Eerste := TRUE;
@@ -582,6 +582,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
SET bis_boring_verwijderdatum = Datum
WHERE bis_boring_key = TrajectRec.bis_boring_key
AND bis_boring_verwijderdatum IS NULL;
COMMIT;
IF Eerste THEN
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'LPNALIASDELA', 1,'LPN_BIS_BORING', 1);
cad_SLNKSTRUCTinsertVALINT(Session_Id, 'LPNKEYDELA', 1, TrajectRec.bis_boring_key, 1);
@@ -592,22 +593,26 @@ CREATE OR REPLACE PACKAGE BODY cad AS
END IF;
END LOOP;
END;
DECLARE
DECLARE
CURSOR TrajectKleinerDiepte IS
SELECT CAD_S.cad_slnkstruct_valint, 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 = 'LPNKEYDELO'
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;
/* Hele traject valt binnen het ontgravingsvak */
BEGIN
FOR TrajectRec IN TrajectKleinerDiepte LOOP
UPDATE bis_traject
SET bis_traject_einddatum = Datum
WHERE bis_traject_key = TrajectRec.bis_traject_key;
WHERE bis_traject_key = TrajectRec.bis_traject_key
AND bis_traject_einddatum IS NULL;
/* Als een traject wordt verwijderd dan moet het ook uit het mengmonster verwijderd worden */
DELETE FROM bis_traject_mengmonster
WHERE bis_traject_mengmonster_key = TrajectRec.bis_traject_key;
COMMIT;
END LOOP;
END;
@@ -620,6 +625,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
@@ -929,6 +935,7 @@ CREATE OR REPLACE PACKAGE BODY cad AS
Diepte NUMBER(8,2);
Volume NUMBER(12,4);
Datum DATE;
CheckDatum VARCHAR2(11);
BEGIN
LPNName := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASINSO');
LPNKey := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYINSO');
@@ -948,15 +955,24 @@ CREATE OR REPLACE PACKAGE BODY cad AS
WHERE bis_veld_key = Veldkey;
END IF;
ELSIF LPNName = 'LPN_BIS_ONTGRAVINGSVAK' THEN
Oppervlak := cad_SLNKSTRUCTreadVALREAL(Session_id, 'AREA');
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');
BEGIN
SELECT bis_ontgravingsvak_aanmaak INTO Datum
FROM bis_ontgravingsvak
WHERE bis_ontgravingsvak_key = LPNKey;
EXCEPTION
WHEN NO_DATA_FOUND THEN
Datum := SYSDATE;
END;
UPDATE bis_ontgravingsvak
SET bis_ontgravingsvak_volume = Volume,
bis_ontgravingsvak_diepte = Diepte
WHERE bis_ontgravingsvak_key = LPNKey;
COMMIT;
/* "Onthoofden" van trajecten */
cad_KILLtrajecten(Session_Id, Diepte, Datum);
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR' THEN