TWYN#87300 Projectsplitsing Vredespaleis: Kopiëren budgetten en contracten mogelijk?
svn path=/Customer/; revision=67901
This commit is contained in:
@@ -29,15 +29,18 @@ DECLARE
|
||||
nieuw_project_naam VARCHAR2(100) := 'Vredespaleis Den Haag Asbest';
|
||||
nieuw_project_key NUMBER(10);
|
||||
|
||||
FUNCTION getProject(p_project_naam IN VARCHAR2) RETURN NUMBER
|
||||
FUNCTION getProject( p_oud_project_naam IN VARCHAR2
|
||||
, p_nieuw_project_naam IN VARCHAR2
|
||||
) RETURN NUMBER
|
||||
AS
|
||||
project_key NUMBER(10);
|
||||
project_key NUMBER(10);
|
||||
bgt_params_key NUMBER(10);
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT ins_discipline_key
|
||||
INTO project_key
|
||||
FROM ins_tab_discipline
|
||||
WHERE ins_discipline_omschrijving = p_project_naam;
|
||||
WHERE ins_discipline_omschrijving = p_nieuw_project_naam;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
INSERT INTO ins_tab_discipline
|
||||
@@ -48,11 +51,33 @@ DECLARE
|
||||
, ins_discipline_image
|
||||
, ins_discipline_externnr
|
||||
)
|
||||
VALUES
|
||||
('BGT', p_project_naam, 1, 1, 'fa-eur', '521950')
|
||||
VALUES ('BGT', p_nieuw_project_naam, 1, 1, 'fa-eur', '521950')
|
||||
RETURNING ins_discipline_key
|
||||
INTO project_key;
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
SELECT bgt_disc_params_key
|
||||
INTO bgt_params_key
|
||||
FROM bgt_disc_params
|
||||
WHERE bgt_ins_discipline_key = project_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
INSERT INTO bgt_disc_params
|
||||
( bgt_ins_discipline_key
|
||||
, bgt_disc_params_code
|
||||
, bgt_disc_params_opdrachtgever
|
||||
, bgt_disc_params_startdatum
|
||||
)
|
||||
SELECT project_key
|
||||
, bgt_disc_params_code || 'A'
|
||||
, bgt_disc_params_opdrachtgever
|
||||
, bgt_disc_params_startdatum
|
||||
FROM bgt_disc_params p
|
||||
, ins_tab_discipline d
|
||||
WHERE d.ins_discipline_key = p.bgt_ins_discipline_key
|
||||
AND d.ins_discipline_omschrijving = p_oud_project_naam;
|
||||
END;
|
||||
RETURN project_key;
|
||||
END;
|
||||
|
||||
@@ -62,13 +87,18 @@ DECLARE
|
||||
AS
|
||||
deelproject_key NUMBER(10);
|
||||
BEGIN
|
||||
SELECT bgt_project_key
|
||||
INTO deelproject_key
|
||||
FROM bgt_project p
|
||||
, ins_tab_discipline d
|
||||
WHERE d.ins_discipline_key = p.ins_discipline_key
|
||||
AND d.ins_discipline_omschrijving = p_oud_project_naam
|
||||
AND p.bgt_project_omschrijving = p_oud_deelproject_naam;
|
||||
BEGIN
|
||||
SELECT bgt_project_key
|
||||
INTO deelproject_key
|
||||
FROM bgt_project p
|
||||
, ins_tab_discipline d
|
||||
WHERE d.ins_discipline_key = p.ins_discipline_key
|
||||
AND d.ins_discipline_omschrijving = p_oud_project_naam
|
||||
AND p.bgt_project_omschrijving = p_oud_deelproject_naam;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
deelproject_key := -1;
|
||||
END;
|
||||
RETURN deelproject_key;
|
||||
END;
|
||||
|
||||
@@ -84,16 +114,30 @@ DECLARE
|
||||
UPDATE bgt_budget
|
||||
SET ins_discipline_key = p_nieuw_project_key
|
||||
WHERE bgt_project_key = p_deelproject_key;
|
||||
|
||||
UPDATE prs_kostenplaats
|
||||
SET ins_discipline_key = p_nieuw_project_key
|
||||
WHERE prs_kostenplaats_key IN
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM bgt_project
|
||||
WHERE bgt_project_key = p_nieuw_project_key
|
||||
);
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
nieuw_project_key := getProject(nieuw_project_naam);
|
||||
nieuw_project_key := getProject(oud_project_naam, nieuw_project_naam);
|
||||
|
||||
oud_deelproject_a_key := getDeelproject(oud_project_naam, oud_deelproject_a_naam);
|
||||
splitsProject(nieuw_project_key, oud_deelproject_a_key);
|
||||
IF (oud_deelproject_a_key > 0)
|
||||
THEN
|
||||
splitsProject(nieuw_project_key, oud_deelproject_a_key);
|
||||
END IF;
|
||||
|
||||
oud_deelproject_b_key := getDeelproject(oud_project_naam, oud_deelproject_b_naam);
|
||||
splitsProject(nieuw_project_key, oud_deelproject_b_key);
|
||||
IF (oud_deelproject_b_key > 0)
|
||||
THEN
|
||||
splitsProject(nieuw_project_key, oud_deelproject_b_key);
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user