FSN#14942
svn path=/Database/trunk/; revision=9928
This commit is contained in:
102
PRJ/PRJ_PAC.SRC
102
PRJ/PRJ_PAC.SRC
@@ -1,8 +1,8 @@
|
||||
#ifdef PRJ
|
||||
/* PRJ_PAC.SRC
|
||||
*
|
||||
* $Revision: 55 $
|
||||
* $Modtime: 7-10-08 14:01 $
|
||||
* $Revision: 56 $
|
||||
* $Modtime: 24-11-08 10:46 $
|
||||
*/
|
||||
/*
|
||||
CODE COMMENTS, CONSIDERATIONS
|
||||
@@ -310,16 +310,23 @@ AS
|
||||
AND rx.prj_scenario_key = pscenariokey
|
||||
AND pw.prs_perslid_key IS NOT NULL
|
||||
AND wx.prj_ruimte_key = rx.prj_ruimte_key
|
||||
AND rx.alg_verdieping_key = pverdiepingkey
|
||||
UNION
|
||||
SELECT NULL, pw.prs_perslidwerkplek_key, NULL, pw.prs_afdeling_key,
|
||||
wx.prj_werkplek_key, pw.prs_perslidwerkplek_bezetting
|
||||
FROM prs_perslidwerkplek pw, prj_werkplek wx, prj_ruimte rx
|
||||
WHERE pw.prs_werkplek_key = wx.prs_werkplek_key
|
||||
AND pw.prs_perslidwerkplek_verwijder IS NULL
|
||||
AND rx.alg_verdieping_key = pverdiepingkey;
|
||||
-- Kopieer de ruimteafdelingen
|
||||
INSERT INTO prj_ruimteafdeling
|
||||
(prj_ruimteafdeling_key, prs_ruimteafdeling_key,
|
||||
prs_afdeling_key, prj_ruimte_key,
|
||||
prj_ruimteafdeling_bezetting
|
||||
)
|
||||
SELECT NULL,
|
||||
ra.prs_ruimteafdeling_key,
|
||||
ra.prs_afdeling_key,
|
||||
rx.prj_ruimte_key,
|
||||
ra.prs_ruimteafdeling_bezetting
|
||||
FROM prs_ruimteafdeling ra,
|
||||
prj_ruimte rx
|
||||
WHERE ra.alg_ruimte_key = rx.alg_ruimte_key
|
||||
AND ra.prs_ruimteafdeling_verwijder IS NULL
|
||||
AND rx.prj_scenario_key = pscenariokey
|
||||
AND pw.prs_perslid_key IS NULL
|
||||
AND wx.prj_ruimte_key = rx.prj_ruimte_key
|
||||
AND rx.alg_verdieping_key = pverdiepingkey;
|
||||
-- Kopieer de objecten
|
||||
INSERT INTO prj_deel
|
||||
@@ -804,6 +811,18 @@ AS
|
||||
AND wx.prj_werkplek_key = pwx.prj_werkplek_key
|
||||
AND rx.prj_ruimte_key = wx.prj_ruimte_key
|
||||
AND rx.prj_scenario_key = sk;
|
||||
CURSOR new_ruimteafdeling (sk IN NUMBER)
|
||||
IS
|
||||
SELECT rax.prs_afdeling_key,
|
||||
rx.alg_ruimte_key,
|
||||
prj_ruimteafdeling_bezetting,
|
||||
rax.prj_ruimteafdeling_key
|
||||
FROM prj_ruimteafdeling rax,
|
||||
prj_ruimte rx
|
||||
WHERE rx.prj_ruimte_key = rax.prj_ruimte_key
|
||||
AND rax.prj_ruimteafdeling_verwijder IS NULL
|
||||
AND rax.prs_ruimteafdeling_key IS NULL
|
||||
AND rx.prj_scenario_key = sk;
|
||||
CURSOR new_deel (sk IN NUMBER)
|
||||
IS
|
||||
SELECT dx.prj_deel_key, alg_locatie_key, prj_deel_omschrijving,
|
||||
@@ -841,6 +860,7 @@ AS
|
||||
aantal_r_toegevoegd NUMBER;
|
||||
aantal_w_toegevoegd NUMBER;
|
||||
aantal_pw_toegevoegd NUMBER;
|
||||
aantal_ra_toegevoegd NUMBER;
|
||||
aantal_d_toegevoegd NUMBER;
|
||||
ruimte_nr alg_ruimte.alg_ruimte_nr%TYPE;
|
||||
werkplek_nr prs_werkplek.prs_werkplek_volgnr%TYPE;
|
||||
@@ -929,12 +949,10 @@ AS
|
||||
LOOP
|
||||
INSERT INTO prs_perslidwerkplek pw
|
||||
(prs_perslid_key,
|
||||
prs_afdeling_key,
|
||||
prs_werkplek_key,
|
||||
prs_perslidwerkplek_bezetting
|
||||
)
|
||||
VALUES (v_perslidwerkplek.prs_perslid_key,
|
||||
v_perslidwerkplek.prs_afdeling_key,
|
||||
v_perslidwerkplek.prs_werkplek_key,
|
||||
v_perslidwerkplek.prj_perslidwerkplek_bezetting
|
||||
);
|
||||
@@ -942,6 +960,24 @@ AS
|
||||
aantal_pw_toegevoegd := aantal_pw_toegevoegd + 1;
|
||||
END LOOP;
|
||||
--
|
||||
-- RUIMTEAFDELINGBEZETTINGEN (anoniem)
|
||||
--
|
||||
aantal_ra_toegevoegd := 0;
|
||||
FOR v_ruimteafdeling IN new_ruimteafdeling (pscenariokey)
|
||||
LOOP
|
||||
INSERT INTO prs_ruimteafdeling pw
|
||||
(prs_afdeling_key,
|
||||
alg_ruimte_key,
|
||||
prs_ruimteafdeling_bezetting
|
||||
)
|
||||
VALUES (v_ruimteafdeling.prs_afdeling_key,
|
||||
v_ruimteafdeling.alg_ruimte_key,
|
||||
v_ruimteafdeling.prj_ruimteafdeling_bezetting
|
||||
);
|
||||
-- Bijwerken van de nieuwe keys is niet nodig..
|
||||
aantal_ra_toegevoegd := aantal_ra_toegevoegd + 1;
|
||||
END LOOP;
|
||||
--
|
||||
-- OBJECTEN
|
||||
--
|
||||
aantal_d_toegevoegd := 0;
|
||||
@@ -1013,15 +1049,26 @@ AS
|
||||
AND pr.prj_scenario_key = sk;
|
||||
CURSOR perslidwerkplek_updates (sk IN NUMBER)
|
||||
IS
|
||||
SELECT prs_perslid_key, prs_afdeling_key,
|
||||
prj_perslidwerkplek_bezetting, prs_perslidwerkplek_key,
|
||||
prs_werkplek_key
|
||||
SELECT prs_perslid_key, prj_perslidwerkplek_bezetting,
|
||||
prs_perslidwerkplek_key, prs_werkplek_key
|
||||
FROM prj_perslidwerkplek pwp, prj_werkplek wp, prj_ruimte rx
|
||||
WHERE pwp.prj_werkplek_key = wp.prj_werkplek_key
|
||||
AND wp.prj_ruimte_key = rx.prj_ruimte_key
|
||||
AND wp.prj_werkplek_verwijder IS NULL
|
||||
AND wp.prs_werkplek_key IS NOT NULL
|
||||
AND rx.prj_scenario_key = sk;
|
||||
CURSOR ruimteafdeling_updates (sk IN NUMBER)
|
||||
IS
|
||||
SELECT rax.prs_afdeling_key,
|
||||
rx.alg_ruimte_key,
|
||||
prj_ruimteafdeling_bezetting,
|
||||
rax.prs_ruimteafdeling_key
|
||||
FROM prj_ruimteafdeling rax,
|
||||
prj_ruimte rx
|
||||
WHERE rx.prj_ruimte_key = rax.prj_ruimte_key
|
||||
AND rax.prj_ruimteafdeling_verwijder IS NULL
|
||||
AND rax.prj_ruimteafdeling_key IS NOT NULL
|
||||
AND rx.prj_scenario_key = sk;
|
||||
|
||||
werkplek_nr PRJ_WERKPLEK.prj_werkplek_volgnr%TYPE;
|
||||
BEGIN
|
||||
@@ -1094,12 +1141,21 @@ AS
|
||||
UPDATE prs_perslidwerkplek r
|
||||
SET prs_werkplek_key = cr.prs_werkplek_key,
|
||||
prs_perslid_key = cr.prs_perslid_key,
|
||||
prs_afdeling_key = cr.prs_afdeling_key,
|
||||
prs_perslidwerkplek_bezetting =
|
||||
cr.prj_perslidwerkplek_bezetting
|
||||
WHERE r.prs_perslidwerkplek_verwijder IS NULL
|
||||
AND r.prs_perslidwerkplek_key = cr.prs_perslidwerkplek_key;
|
||||
END LOOP;
|
||||
-- Bestaande ruimteafdelingen aanpassen
|
||||
FOR cr IN ruimteafdeling_updates (pscenariokey)
|
||||
LOOP
|
||||
UPDATE prs_ruimteafdeling r
|
||||
SET prs_afdeling_key = cr.prs_afdeling_key,
|
||||
alg_ruimte_key = cr.alg_ruimte_key,
|
||||
prs_ruimteafdeling_bezetting = cr.prj_ruimteafdeling_bezetting
|
||||
WHERE r.prs_ruimteafdeling_verwijder IS NULL
|
||||
AND r.prs_ruimteafdeling_key = cr.prs_ruimteafdeling_key;
|
||||
END LOOP;
|
||||
END;
|
||||
END prj_commit_changes;
|
||||
PROCEDURE prj_commit_deletions (pscenariokey IN NUMBER)
|
||||
@@ -1141,6 +1197,18 @@ AS
|
||||
AND ppw.prs_perslidwerkplek_key IS NOT NULL
|
||||
AND rx.prj_scenario_key = pscenariokey)
|
||||
WHERE p.prs_perslidwerkplek_verwijder IS NULL;
|
||||
-- Vervallen ruimteafdelingen laten vervallen
|
||||
UPDATE prs_ruimteafdeling p
|
||||
SET prs_ruimteafdeling_verwijder =
|
||||
(SELECT SYSDATE
|
||||
FROM prj_ruimteafdeling pra,
|
||||
prj_ruimte rx
|
||||
WHERE pra.prj_ruimte_key = rx.prj_ruimte_key
|
||||
AND pra.prs_ruimteafdeling_key = p.prs_ruimteafdeling_key
|
||||
AND pra.prj_ruimteafdeling_verwijder IS NOT NULL
|
||||
AND pra.prs_ruimteafdeling_key IS NOT NULL
|
||||
AND rx.prj_scenario_key = pscenariokey)
|
||||
WHERE p.prs_ruimteafdeling_verwijder IS NULL;
|
||||
END prj_commit_deletions;
|
||||
PROCEDURE prj_commit_cleanup (pscenariokey IN NUMBER)
|
||||
AS
|
||||
|
||||
Reference in New Issue
Block a user