prj_f_fac_get_description moet voor objecten gegevens uit all_v_aanwezigdeel halen ivm autorisatie van fcltcad. svn path=/Database/trunk/; revision=7148
This commit is contained in:
169
PRJ/PRJ_PAC.SRC
169
PRJ/PRJ_PAC.SRC
@@ -4,6 +4,10 @@
|
||||
**
|
||||
** REVISIONS:
|
||||
**
|
||||
** 11-11-1999 RD Nieuwe bugs toegevoegd.
|
||||
** 04-10-1999 EGR Voor verwerk_project_... de cursors aangepast voor objecten. Deze mogen niets selecteren als ruimtekey=0
|
||||
** of een werkplek met ruimtekey=0.
|
||||
** prj_f_fac_get_description moet voor realworld gegevens uit all_v_aanwezigdeel halen ivm autorisatie fcltcad.
|
||||
** 29-09-1999 EGR Functie prj_disciplinetekening_bestaat toegevoegd. Deze wordt in cad_slnkPrePostDimensie0, 1, 2 gebruikt
|
||||
** om te kijken of een geselecteerd object wel op een tekening kan worden toegevoegd.
|
||||
** cad_getsrcdwgofentity levert nu de magazijntekening als een object of werkplek zich in ruimte 0 bevindt.
|
||||
@@ -138,7 +142,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
/* Bepaal het hoogste volgnummer voor deel in de gewone tekening. */
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_omschrijving,LENGTH(ins_deel_omschrijving)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr2
|
||||
FROM ins_v_aanwezigdeel
|
||||
FROM all_v_aanwezigdeel
|
||||
WHERE LTRIM(SUBSTR(ins_deel_omschrijving, LENGTH(ins_deel_omschrijving)-(i-1)))
|
||||
BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND LENGTH(ins_deel_omschrijving) <= LENGTH(Prefix)+i
|
||||
@@ -3297,6 +3301,7 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
omschrijving VARCHAR2(30);
|
||||
SrtDeelCode VARCHAR2(30);
|
||||
dummy VARCHAR2(1);
|
||||
ruimte_nr VARCHAR2(10);
|
||||
BEGIN
|
||||
IF element_type = 'RUIMTE'
|
||||
THEN
|
||||
@@ -3326,19 +3331,21 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
THEN
|
||||
/* Zoek in de geselecteerde ruimte of het huidige werkpleknummer al voor komt. */
|
||||
BEGIN
|
||||
SELECT 'x'
|
||||
INTO dummy
|
||||
FROM prs_werkplek
|
||||
WHERE prs_werkplek_volgnr = element_omschrijving
|
||||
AND prs_alg_ruimte_key = element_key
|
||||
AND prs_werkplek_verwijder IS NULL;
|
||||
SELECT alg_ruimte_nr
|
||||
INTO ruimte_nr
|
||||
FROM prs_werkplek W
|
||||
, alg_ruimte R
|
||||
WHERE W.prs_alg_ruimte_key = R.alg_ruimte_key
|
||||
AND W.prs_werkplek_volgnr = element_omschrijving
|
||||
AND W.prs_alg_ruimte_key = element_key
|
||||
AND W.prs_werkplek_verwijder IS NULL;
|
||||
/* Deze werkpleknummer komt al voor, dus een nieuw nummer bepalen. */
|
||||
omschrijving := fac_f_fac_get_description('LPN_PRS_WERKPLEK'
|
||||
,element_key
|
||||
,NULL
|
||||
,NULL);
|
||||
prj.verwerk_log('Werkpleknummer <'|| element_omschrijving
|
||||
||'> bestaat al; gewijzigd in <'|| omschrijving ||'>.'
|
||||
prj.verwerk_log('Werkpleknummer <'|| ruimte_nr ||'/'|| element_omschrijving
|
||||
||'> bestaat al; gewijzigd in <'|| ruimte_nr ||'/'|| omschrijving ||'>.'
|
||||
,session_id
|
||||
,project_key);
|
||||
EXCEPTION
|
||||
@@ -3438,18 +3445,30 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
WHERE c.ins_deel_key = p.ins_deel_key
|
||||
AND c.prj_project_key = p.prj_project_key
|
||||
AND p.prj_project_key = p_project
|
||||
AND p.ins_alg_ruimte_key <> 0; /* virtueel magazijn */
|
||||
dummy VARCHAR2(1);
|
||||
alg_verwijder DATE;
|
||||
prj_verwijder DATE;
|
||||
omschrijving VARCHAR2(30);
|
||||
ruimtenr alg_ruimte.alg_ruimte_nr%TYPE;
|
||||
werkpleknr prs_werkplek.prs_werkplek_volgnr%TYPE;
|
||||
SrtDeelCode ins_srtdeel.ins_srtdeel_code%TYPE;
|
||||
AND EXISTS (SELECT ''
|
||||
FROM prj_werkplek
|
||||
WHERE prs_alg_ruimte_key <> 0
|
||||
AND prs_werkplek_key = p.ins_alg_ruimte_key
|
||||
AND p.ins_alg_ruimte_type = 'W'
|
||||
UNION
|
||||
SELECT ''
|
||||
FROM prj_ruimte
|
||||
WHERE alg_ruimte_key <> 0
|
||||
AND alg_ruimte_key = p.ins_alg_ruimte_key
|
||||
AND p.ins_alg_ruimte_type = 'R'); /* virtueel magazijn */
|
||||
dummy VARCHAR2(1);
|
||||
alg_verwijder DATE;
|
||||
prj_verwijder DATE;
|
||||
omschrijving VARCHAR2(30);
|
||||
ruimtenr alg_ruimte.alg_ruimte_nr%TYPE;
|
||||
werkpleknr prs_werkplek.prs_werkplek_volgnr%TYPE;
|
||||
SrtDeelCode ins_srtdeel.ins_srtdeel_code%TYPE;
|
||||
aantal_hersteld NUMBER(10);
|
||||
BEGIN
|
||||
/*
|
||||
** OBJECTEN
|
||||
*/
|
||||
aantal_hersteld := 0;
|
||||
FOR v_object IN c_object(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('DEEL'
|
||||
@@ -3471,11 +3490,16 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, ins_deel_getekend = v_object.ins_deel_getekend
|
||||
, ins_deel_verwijder = v_object.ins_deel_verwijder
|
||||
WHERE ins_deel_key = v_object.ins_deel_key;
|
||||
aantal_hersteld := aantal_hersteld + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_hersteld)||' objecten vervangen.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
/*
|
||||
** WERKPLEKKEN
|
||||
*/
|
||||
aantal_hersteld := 0;
|
||||
FOR v_werkplek IN c_werkplek(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('WERKPLEK'
|
||||
@@ -3492,11 +3516,16 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, prs_werkplek_getekend = v_werkplek.prs_werkplek_getekend
|
||||
, prs_werkplek_verwijder = v_werkplek.prs_werkplek_verwijder
|
||||
WHERE prs_werkplek_key = v_werkplek.prs_werkplek_key;
|
||||
aantal_hersteld := aantal_hersteld + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_hersteld)||' werkplekken vervangen.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
/*
|
||||
** RUIMTEN
|
||||
*/
|
||||
aantal_hersteld := 0;
|
||||
FOR v_ruimte IN c_ruimte(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('RUIMTE'
|
||||
@@ -3513,8 +3542,12 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, alg_ruimte_getekend = v_ruimte.alg_ruimte_getekend
|
||||
, alg_ruimte_verwijder = v_ruimte.alg_ruimte_verwijder
|
||||
WHERE alg_ruimte_key = v_ruimte.alg_ruimte_key;
|
||||
aantal_hersteld := aantal_hersteld + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_hersteld)||' ruimten vervangen.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
END verwerk_project_hersteld;
|
||||
|
||||
/* prj.verwerk_project_nieuw
|
||||
@@ -3570,14 +3603,26 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
WHERE c.ins_deel_key = p.ins_deel_key
|
||||
AND c.prj_project_key = p.prj_project_key
|
||||
AND p.prj_project_key = p_project
|
||||
AND p.ins_alg_ruimte_key <> 0; /* virtueel magazijn */
|
||||
omschrijving VARCHAR2(30);
|
||||
werkpleknr prs_werkplek.prs_werkplek_volgnr%TYPE;
|
||||
ruimtenr alg_ruimte.alg_ruimte_nr%TYPE;
|
||||
AND EXISTS (SELECT ''
|
||||
FROM prj_werkplek
|
||||
WHERE prs_alg_ruimte_key <> 0
|
||||
AND prs_werkplek_key = p.ins_alg_ruimte_key
|
||||
AND p.ins_alg_ruimte_type = 'W'
|
||||
UNION
|
||||
SELECT ''
|
||||
FROM prj_ruimte
|
||||
WHERE alg_ruimte_key <> 0
|
||||
AND alg_ruimte_key = p.ins_alg_ruimte_key
|
||||
AND p.ins_alg_ruimte_type = 'R'); /* virtueel magazijn */
|
||||
omschrijving VARCHAR2(30);
|
||||
werkpleknr prs_werkplek.prs_werkplek_volgnr%TYPE;
|
||||
ruimtenr alg_ruimte.alg_ruimte_nr%TYPE;
|
||||
aantal_toegevoegd NUMBER(10);
|
||||
BEGIN
|
||||
/*
|
||||
** RUIMTEN
|
||||
*/
|
||||
aantal_toegevoegd := 0;
|
||||
FOR v_ruimte IN c_ruimte(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('RUIMTE'
|
||||
@@ -3601,11 +3646,16 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, v_ruimte.alg_ruimte_omtrek
|
||||
, v_ruimte.alg_ruimte_getekend
|
||||
, v_ruimte.alg_ruimte_verwijder);
|
||||
aantal_toegevoegd := aantal_toegevoegd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_toegevoegd)||' nieuwe ruimten toegevoegd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
/*
|
||||
** WERKPLEKKEN
|
||||
*/
|
||||
aantal_toegevoegd := 0;
|
||||
FOR v_werkplek IN c_werkplek(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('WERKPLEK'
|
||||
@@ -3632,11 +3682,16 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, v_werkplek.prs_werkplek_verwijder
|
||||
, omschrijving
|
||||
, v_werkplek.prs_werkplek_getekend);
|
||||
aantal_toegevoegd := aantal_toegevoegd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_toegevoegd)||' nieuwe werkplekken toegevoegd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
/*
|
||||
** OBJECTEN
|
||||
*/
|
||||
aantal_toegevoegd := 0;
|
||||
FOR v_object IN c_object(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('DEEL'
|
||||
@@ -3670,8 +3725,12 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, v_object.ins_deel_omtrek
|
||||
, v_object.ins_deel_getekend
|
||||
, v_object.ins_deel_verwijder);
|
||||
aantal_toegevoegd := aantal_toegevoegd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_toegevoegd)||' nieuwe objecten toegevoegd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
END verwerk_project_nieuw;
|
||||
|
||||
/* prj.verwerk_project_gewijzigd
|
||||
@@ -3726,17 +3785,29 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
WHERE c.ins_deel_key = p.ins_deel_key
|
||||
AND c.prj_project_key = p.prj_project_key
|
||||
AND p.prj_project_key = p_project
|
||||
AND p.ins_alg_ruimte_key <> 0; /* virtueel magazijn */
|
||||
dummy VARCHAR2(1);
|
||||
omschrijving VARCHAR2(30);
|
||||
ruimtenr alg_ruimte.alg_ruimte_nr%TYPE;
|
||||
werkpleknr prs_werkplek.prs_werkplek_volgnr%TYPE;
|
||||
SrtDeelCode ins_srtdeel.ins_srtdeel_code%TYPE;
|
||||
AND EXISTS (SELECT ''
|
||||
FROM prj_werkplek
|
||||
WHERE prs_alg_ruimte_key <> 0
|
||||
AND prs_werkplek_key = p.ins_alg_ruimte_key
|
||||
AND p.ins_alg_ruimte_type = 'W'
|
||||
UNION
|
||||
SELECT ''
|
||||
FROM prj_ruimte
|
||||
WHERE alg_ruimte_key <> 0
|
||||
AND alg_ruimte_key = p.ins_alg_ruimte_key
|
||||
AND p.ins_alg_ruimte_type = 'R'); /* virtueel magazijn */
|
||||
dummy VARCHAR2(1);
|
||||
omschrijving VARCHAR2(30);
|
||||
ruimtenr alg_ruimte.alg_ruimte_nr%TYPE;
|
||||
werkpleknr prs_werkplek.prs_werkplek_volgnr%TYPE;
|
||||
SrtDeelCode ins_srtdeel.ins_srtdeel_code%TYPE;
|
||||
aantal_gewijzigd NUMBER(10);
|
||||
BEGIN
|
||||
/*
|
||||
** De OBJECTEN bestaat na uitvoering van het project nog steeds, maar de
|
||||
** gegevens kunnen gewijzigd zijn.
|
||||
*/
|
||||
aantal_gewijzigd := 0;
|
||||
FOR v_object IN c_object(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('DEEL'
|
||||
@@ -3757,12 +3828,17 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, ins_deel_omtrek = v_object.ins_deel_omtrek
|
||||
, ins_deel_getekend = v_object.ins_deel_getekend
|
||||
WHERE ins_deel_key = v_object.ins_deel_key;
|
||||
aantal_gewijzigd := aantal_gewijzigd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_gewijzigd)||' objecten gewijzigd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
/*
|
||||
** De WERKPLEKKEN bestaat na uitvoering van het project nog steeds, maar de
|
||||
** gegevens kunnen gewijzigd zijn.
|
||||
*/
|
||||
aantal_gewijzigd := 0;
|
||||
FOR v_werkplek IN c_werkplek(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('WERKPLEK'
|
||||
@@ -3778,12 +3854,17 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, prs_werkplek_omschrijving = omschrijving
|
||||
, prs_werkplek_getekend = v_werkplek.prs_werkplek_getekend
|
||||
WHERE prs_werkplek_key = v_werkplek.prs_werkplek_key;
|
||||
aantal_gewijzigd := aantal_gewijzigd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_gewijzigd)||' werkplekken gewijzigd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
/*
|
||||
** De RUIMTEN bestaat na uitvoering van het project nog steeds, maar de
|
||||
** gegevens kunnen gewijzigd zijn.
|
||||
*/
|
||||
aantal_gewijzigd := 0;
|
||||
FOR v_ruimte IN c_ruimte(p_projectkey)
|
||||
LOOP
|
||||
omschrijving := verwerk_project_description('RUIMTE'
|
||||
@@ -3799,9 +3880,13 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
, alg_ruimte_omtrek = v_ruimte.alg_ruimte_omtrek
|
||||
, alg_ruimte_getekend = v_ruimte.alg_ruimte_getekend
|
||||
WHERE alg_ruimte_key = v_ruimte.alg_ruimte_key;
|
||||
aantal_gewijzigd := aantal_gewijzigd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
END;
|
||||
prj.verwerk_log(to_char(aantal_gewijzigd)||' ruimten gewijzigd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
END verwerk_project_gewijzigd;
|
||||
|
||||
/* prj.verwerk_project_verwijderd
|
||||
**
|
||||
@@ -3839,43 +3924,69 @@ CREATE OR REPLACE PACKAGE BODY prj AS
|
||||
WHERE c.ins_deel_key = p.ins_deel_key
|
||||
AND c.prj_project_key = p.prj_project_key
|
||||
AND p.prj_project_key = p_project
|
||||
AND p.ins_alg_ruimte_key <> 0; /* virtueel magazijn */
|
||||
AND EXISTS (SELECT ''
|
||||
FROM prj_werkplek
|
||||
WHERE prs_alg_ruimte_key <> 0
|
||||
AND prs_werkplek_key = p.ins_alg_ruimte_key
|
||||
AND p.ins_alg_ruimte_type = 'W'
|
||||
UNION
|
||||
SELECT ''
|
||||
FROM prj_ruimte
|
||||
WHERE alg_ruimte_key <> 0
|
||||
AND alg_ruimte_key = p.ins_alg_ruimte_key
|
||||
AND p.ins_alg_ruimte_type = 'R'); /* virtueel magazijn */
|
||||
aantal_verwijderd NUMBER(10);
|
||||
BEGIN
|
||||
/*
|
||||
** In de projectsituatie zijn deze OBJECTEN verwijderd.
|
||||
*/
|
||||
aantal_verwijderd := 0;
|
||||
FOR v_object IN c_object(p_projectkey)
|
||||
LOOP
|
||||
UPDATE ins_deel
|
||||
SET ins_deel_getekend = v_object.ins_deel_getekend
|
||||
, ins_deel_verwijder = v_object.ins_deel_verwijder
|
||||
WHERE ins_deel_key = v_object.ins_deel_key;
|
||||
aantal_verwijderd := aantal_verwijderd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_verwijderd)||' objecten uit project verwijderd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
/*
|
||||
** In de projectsituatie zijn deze WERKPLEKKEN verwijderd. Daarmee zijn ook de
|
||||
** objecten die nog aan deze werkplekken verbonden zijn verwijderd.
|
||||
*/
|
||||
aantal_verwijderd := 0;
|
||||
FOR v_werkplek IN c_werkplek(p_projectkey)
|
||||
LOOP
|
||||
UPDATE prs_werkplek
|
||||
SET prs_werkplek_getekend = v_werkplek.prs_werkplek_getekend
|
||||
, prs_werkplek_verwijder = v_werkplek.prs_werkplek_verwijder
|
||||
WHERE prs_werkplek_key = v_werkplek.prs_werkplek_key;
|
||||
aantal_verwijderd := aantal_verwijderd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_verwijderd)||' werkplekken uit project verwijderd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
/*
|
||||
** In de projectsituatie zijn deze RUIMTEN verwijderd. Daarmee zijn ook de
|
||||
** werkplekken en objecten die zich nog in deze ruimten bevonden verwijderd.
|
||||
*/
|
||||
aantal_verwijderd := 0;
|
||||
FOR v_ruimte IN c_ruimte(p_projectkey)
|
||||
LOOP
|
||||
UPDATE alg_ruimte
|
||||
SET alg_ruimte_getekend = v_ruimte.alg_ruimte_getekend
|
||||
, alg_ruimte_verwijder = v_ruimte.alg_ruimte_verwijder
|
||||
WHERE alg_ruimte_key = v_ruimte.alg_ruimte_key;
|
||||
aantal_verwijderd := aantal_verwijderd + 1;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
prj.verwerk_log(to_char(aantal_verwijderd)||' ruimten uit project verwijderd.'
|
||||
,p_session
|
||||
,p_projectkey);
|
||||
END verwerk_project_verwijderd;
|
||||
|
||||
/* prj.verwerk_project
|
||||
|
||||
Reference in New Issue
Block a user