WSKO#81914 -- Implementatie Wasko kinderopvang
svn path=/Customer/trunk/; revision=65412
This commit is contained in:
233
WSKO/WSKO.sql
233
WSKO/WSKO.sql
@@ -55,7 +55,7 @@ AS
|
||||
v_prs_kostensoort_key NUMBER;
|
||||
v_alg_gebouw_code VARCHAR2(20);
|
||||
BEGIN
|
||||
fac_import_file2csv(p_import_key);
|
||||
--fac_import_genericcsv(p_import_key);
|
||||
|
||||
FOR rec IN imp_csv
|
||||
LOOP
|
||||
@@ -113,13 +113,16 @@ BEGIN
|
||||
INTO v_prs_kostensoort_key
|
||||
FROM prs_kostensoort k
|
||||
WHERE k.prs_kostensoort_upper=UPPER(rec.kostensoort)
|
||||
AND k.prs_kostensoortgrp_key = v_prs_kostensoortgrp_key
|
||||
AND k.prs_kostensoort_verwijder IS NULL;
|
||||
IF v_prs_kostensoort_key IS NULL
|
||||
THEN
|
||||
IF v_prs_kostensoort_key IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errorhint, 'Kan kostensoort niet 1-duidig bepalen');
|
||||
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
END LOOP;
|
||||
|
||||
IF v_header_valid=0
|
||||
@@ -173,6 +176,8 @@ AS
|
||||
v_kostenplaatsgrp_key NUMBER;
|
||||
v_kostenplaats_key NUMBER;
|
||||
v_budget NUMBER;
|
||||
v_budget_nu NUMBER;
|
||||
v_budget_key NUMBER;
|
||||
v_periode_start DATE;
|
||||
v_periode_eind DATE;
|
||||
v_alg_gebouw_code VARCHAR(20);
|
||||
@@ -240,95 +245,122 @@ BEGIN
|
||||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errorhint, 'Kan project niet 1-duidig bepalen of aanmaken');
|
||||
v_ongeldig := 1;
|
||||
ELSE
|
||||
FOR rec IN bdgt
|
||||
LOOP
|
||||
IF v_count>0
|
||||
THEN
|
||||
v_aanduiding:='Ophalen locatie '||rec.locatie||' via kostenplaats '||rec.kostenplaats_nr||' is mislukt';
|
||||
SELECT g.alg_gebouw_code
|
||||
INTO v_alg_gebouw_code
|
||||
FROM prs_kostenplaats p,
|
||||
alg_gebouw g
|
||||
where p.prs_kostenplaats_nr=rec.kostenplaats_nr
|
||||
AND g.PRS_KOSTENPLAATS_KEY = p.PRS_KOSTENPLAATS_KEY
|
||||
AND p.prs_kostenplaats_verwijder IS NULL;
|
||||
BEGIN
|
||||
v_aanduiding:='Ophalen budget project kostenrubriek Inv Budget mislukt';
|
||||
SELECT k.bgt_kostenrubriek_key
|
||||
INTO v_bgt_kostenrubriek_key
|
||||
FROM bgt_kostenrubriek k
|
||||
WHERE k.bgt_project_key=v_bgt_project_key
|
||||
AND k.bgt_kostenrubriek_oms='Inv Budget-'||v_alg_gebouw_code;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
|
||||
INSERT
|
||||
INTO bgt_kostenrubriek (bgt_project_key,
|
||||
bgt_kostenrubriek_oms)
|
||||
VALUES (v_bgt_project_key,
|
||||
'Inv Budget-'||v_alg_gebouw_code)
|
||||
RETURNING bgt_kostenrubriek_key
|
||||
INTO v_bgt_kostenrubriek_key;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
v_aanduiding:='OPhalen kostenplaatsnr '||rec.kostenplaats_nr||' mislukt';
|
||||
|
||||
SELECT k.prs_kostenplaats_key, k.prs_kostenplaatsgrp_key
|
||||
INTO v_kostenplaats_key, v_kostenplaatsgrp_key
|
||||
FROM prs_kostenplaats k
|
||||
WHERE k.prs_kostenplaats_nr=rec.kostenplaats_nr
|
||||
AND k.prs_kostenplaats_verwijder IS NULL;
|
||||
|
||||
v_aanduiding:='OPhalen kostensoort en kostengroep '||rec.kostengroep||'-'||rec.kostensoort||' mislukt';
|
||||
SELECT s.prs_kostensoort_key, s.prs_kostensoortgrp_key
|
||||
INTO v_kostensoort_key, v_kostensoortgrp_key
|
||||
FROM prs_kostensoort s, prs_kostensoortgrp g
|
||||
WHERE s.prs_kostensoort_oms=rec.kostensoort
|
||||
AND g.prs_kostensoortgrp_oms=rec.kostengroep
|
||||
AND s.prs_kostensoortgrp_key=g.prs_kostensoortgrp_key
|
||||
AND s.prs_kostensoort_verwijder IS NULL;
|
||||
|
||||
v_budget := fac.safe_to_number(REPLACE(rec.budget,'.',''));
|
||||
|
||||
v_periode_start := fac.safe_to_date('01-01-'||rec.periode,'DD-MM-YYYY');
|
||||
v_periode_eind := fac.safe_to_date('31-12-'||rec.periode,'DD-MM-YYYY');
|
||||
|
||||
|
||||
IF v_kostenplaats_key>0
|
||||
AND v_kostenplaatsgrp_key>0
|
||||
AND v_kostensoort_key>0
|
||||
AND v_kostensoortgrp_key>0
|
||||
AND v_budget>0
|
||||
THEN
|
||||
INSERT
|
||||
INTO bgt_budget(ins_discipline_key,
|
||||
bgt_project_key,
|
||||
bgt_kostenrubriek_key,
|
||||
prs_kostensoortgrp_key,
|
||||
prs_kostensoort_key,
|
||||
prs_kostenplaatsgrp_key,
|
||||
prs_kostenplaats_key,
|
||||
bgt_budget_bedrag,
|
||||
bgt_budget_begin,
|
||||
bgt_budget_eind)
|
||||
VALUES(v_ins_discipline_key,
|
||||
v_bgt_project_key,
|
||||
v_bgt_kostenrubriek_key,
|
||||
v_kostensoortgrp_key,
|
||||
v_kostensoort_key,
|
||||
v_kostenplaatsgrp_key,
|
||||
v_kostenplaats_key,
|
||||
v_budget,
|
||||
v_periode_start,
|
||||
v_periode_eind);
|
||||
|
||||
END IF;
|
||||
FOR rec IN bdgt
|
||||
LOOP
|
||||
IF v_count>0
|
||||
THEN
|
||||
v_aanduiding:='Ophalen locatie '||rec.locatie||' via kostenplaats '||rec.kostenplaats_nr||' is mislukt';
|
||||
SELECT g.alg_gebouw_code
|
||||
INTO v_alg_gebouw_code
|
||||
FROM prs_kostenplaats p,
|
||||
alg_gebouw g
|
||||
WHERE p.prs_kostenplaats_nr=rec.kostenplaats_nr
|
||||
AND g.PRS_KOSTENPLAATS_KEY = p.PRS_KOSTENPLAATS_KEY
|
||||
AND p.prs_kostenplaats_verwijder IS NULL;
|
||||
BEGIN
|
||||
v_aanduiding:='Ophalen budget project kostenrubriek Inv Budget-'||v_alg_gebouw_code||' mislukt';
|
||||
SELECT k.bgt_kostenrubriek_key
|
||||
INTO v_bgt_kostenrubriek_key
|
||||
FROM bgt_kostenrubriek k
|
||||
WHERE k.bgt_project_key=v_bgt_project_key
|
||||
AND k.bgt_kostenrubriek_code=rec.periode
|
||||
AND k.bgt_kostenrubriek_oms='Inv Budget-'||v_alg_gebouw_code;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
|
||||
INSERT
|
||||
INTO bgt_kostenrubriek (bgt_project_key,
|
||||
bgt_kostenrubriek_code,
|
||||
bgt_kostenrubriek_oms)
|
||||
VALUES (v_bgt_project_key,
|
||||
rec.periode,
|
||||
'Inv Budget-'||v_alg_gebouw_code)
|
||||
RETURNING bgt_kostenrubriek_key
|
||||
INTO v_bgt_kostenrubriek_key;
|
||||
END;
|
||||
|
||||
v_aanduiding:='OPhalen kostenplaatsnr '||rec.kostenplaats_nr||' mislukt';
|
||||
|
||||
SELECT k.prs_kostenplaats_key, k.prs_kostenplaatsgrp_key
|
||||
INTO v_kostenplaats_key, v_kostenplaatsgrp_key
|
||||
FROM prs_kostenplaats k
|
||||
WHERE k.prs_kostenplaats_nr=rec.kostenplaats_nr
|
||||
AND k.prs_kostenplaats_verwijder IS NULL;
|
||||
|
||||
v_aanduiding:='OPhalen kostensoort en kostengroep '||rec.kostengroep||'-'||rec.kostensoort||' mislukt';
|
||||
SELECT s.prs_kostensoort_key, s.prs_kostensoortgrp_key
|
||||
INTO v_kostensoort_key, v_kostensoortgrp_key
|
||||
FROM prs_kostensoort s, prs_kostensoortgrp g
|
||||
WHERE s.prs_kostensoort_oms=rec.kostensoort
|
||||
AND g.prs_kostensoortgrp_oms=rec.kostengroep
|
||||
AND s.prs_kostensoortgrp_key=g.prs_kostensoortgrp_key
|
||||
AND s.prs_kostensoort_verwijder IS NULL;
|
||||
|
||||
v_budget := fac.safe_to_number(REPLACE(rec.budget,'.',''));
|
||||
|
||||
v_periode_start := fac.safe_to_date('01-01-'||rec.periode,'DD-MM-YYYY');
|
||||
v_periode_eind := fac.safe_to_date('31-12-'||rec.periode,'DD-MM-YYYY');
|
||||
|
||||
|
||||
IF v_kostenplaats_key>0
|
||||
AND v_kostenplaatsgrp_key>0
|
||||
AND v_kostensoort_key>0
|
||||
AND v_kostensoortgrp_key>0
|
||||
AND v_budget>0
|
||||
THEN
|
||||
|
||||
-- Eerst kijken of hij er al is
|
||||
BEGIN
|
||||
|
||||
SELECT b.bgt_budget_key, b.bgt_budget_bedrag
|
||||
INTO v_budget_key, v_budget_nu
|
||||
FROM bgt_budget b
|
||||
WHERE b.ins_discipline_key=v_ins_discipline_key
|
||||
AND b.bgt_project_key=v_bgt_project_key
|
||||
AND b.bgt_kostenrubriek_key=v_bgt_kostenrubriek_key
|
||||
AND b.prs_kostensoortgrp_key=v_kostensoortgrp_key
|
||||
AND b.prs_kostensoort_key= v_kostensoort_key
|
||||
AND b.prs_kostenplaatsgrp_key=v_kostenplaatsgrp_key
|
||||
AND b.prs_kostenplaats_key=v_kostenplaats_key
|
||||
AND b.bgt_budget_begin= v_periode_start
|
||||
AND b.bgt_budget_eind= v_periode_eind;
|
||||
v_aanduiding := 'Aanpassen budget van '||rec.kostenplaats_nr||'-'||rec.kostengroep||'-'||rec.kostensoort||' van '||v_budget_nu|| '-> '||v_budget;
|
||||
UPDATE bgt_budget b
|
||||
SET b.bgt_budget_bedrag=v_budget
|
||||
WHERE bgt_budget_key=v_budget_key;
|
||||
|
||||
fac.imp_writelog (p_import_key, 'I', v_aanduiding , 'Aanpassen budget bedrag');
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT
|
||||
INTO bgt_budget(ins_discipline_key,
|
||||
bgt_project_key,
|
||||
bgt_kostenrubriek_key,
|
||||
prs_kostensoortgrp_key,
|
||||
prs_kostensoort_key,
|
||||
prs_kostenplaatsgrp_key,
|
||||
prs_kostenplaats_key,
|
||||
bgt_budget_bedrag,
|
||||
bgt_budget_begin,
|
||||
bgt_budget_eind)
|
||||
VALUES(v_ins_discipline_key,
|
||||
v_bgt_project_key,
|
||||
v_bgt_kostenrubriek_key,
|
||||
v_kostensoortgrp_key,
|
||||
v_kostensoort_key,
|
||||
v_kostenplaatsgrp_key,
|
||||
v_kostenplaats_key,
|
||||
v_budget,
|
||||
v_periode_start,
|
||||
v_periode_eind);
|
||||
|
||||
END;
|
||||
|
||||
END IF;
|
||||
END IF;
|
||||
v_count:=v_count+1;
|
||||
|
||||
@@ -397,7 +429,7 @@ AS
|
||||
|
||||
|
||||
BEGIN
|
||||
fac_import_file2csv(p_import_key);
|
||||
fac_import_genericcsv(p_import_key);
|
||||
v_count:=0;
|
||||
|
||||
v_error:=0;
|
||||
@@ -740,14 +772,18 @@ AS
|
||||
budget - COALESCE (opdracht_gefact, opdracht_uitv, offerte) budget_res
|
||||
FROM (SELECT kp.prs_kostenplaats_nr,
|
||||
kp.prs_perslid_key,
|
||||
(SELECT prs_perslid_naam_friendly
|
||||
FROM prs_v_perslid_fullnames p
|
||||
WHERE p.prs_perslid_key=kp.prs_perslid_key) budgethouder,
|
||||
g.alg_gebouw_naam,
|
||||
ksg.prs_kostensoortgrp_oms,
|
||||
ks.prs_kostensoort_oms,
|
||||
b.bgt_budget_bedrag budget,
|
||||
TRUNC(b.bgt_budget_begin,'YYYY') budget_jaar,
|
||||
b.bgt_budget_begin,
|
||||
b.bgt_budget_eind,
|
||||
(SELECT SUM (opdr_kost)
|
||||
FROM ( SELECT MIN (mld_opdr_kosten) opdr_kost
|
||||
FROM ( SELECT AVG (mld_opdr_kosten) opdr_kost
|
||||
FROM mld_opdr o, mld_typeopdr ot
|
||||
WHERE o.prs_kostenplaats_key =
|
||||
kp.prs_kostenplaats_key
|
||||
@@ -761,6 +797,7 @@ AS
|
||||
7,
|
||||
8,
|
||||
9)
|
||||
AND o.mld_opdr_datumbegin BETWEEN b.bgt_budget_begin AND b.bgt_budget_begin
|
||||
GROUP BY o.mld_melding_key)) offerte,
|
||||
(SELECT SUM (mld_opdr_kosten)
|
||||
FROM mld_opdr o, mld_typeopdr ot
|
||||
@@ -768,14 +805,16 @@ AS
|
||||
AND o.prs_kostensoort_key = ks.prs_kostensoort_key
|
||||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||||
AND UPPER(ot.mld_typeopdr_omschrijving)='INVESTERING OPDRACHT'
|
||||
AND o.mld_statusopdr_key IN (5, 8)) opdracht_uitv,
|
||||
AND o.mld_statusopdr_key IN (5, 8)
|
||||
AND o.mld_opdr_datumbegin BETWEEN b.bgt_budget_begin AND b.bgt_budget_begin) opdracht_uitv,
|
||||
(SELECT SUM (mld_opdr_kosten)
|
||||
FROM mld_opdr o, mld_typeopdr ot
|
||||
WHERE o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND o.prs_kostensoort_key = ks.prs_kostensoort_key
|
||||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||||
AND UPPER(ot.mld_typeopdr_omschrijving)='INVESTERING OPDRACHT'
|
||||
AND o.mld_statusopdr_key = 9) opdracht_gefact
|
||||
AND o.mld_statusopdr_key = 9
|
||||
AND o.mld_opdr_datumbegin BETWEEN b.bgt_budget_begin AND b.bgt_budget_begin) opdracht_gefact
|
||||
FROM bgt_budget b,
|
||||
bgt_project p,
|
||||
bgt_kostenrubriek kr,
|
||||
|
||||
Reference in New Issue
Block a user