WSKO#81914 -- Implementatie Wasko kinderopvang

svn path=/Customer/trunk/; revision=65412
This commit is contained in:
Norbert Wassink
2024-07-03 12:52:00 +00:00
parent 8739911e9c
commit 553c6a001e

View File

@@ -55,7 +55,7 @@ AS
v_prs_kostensoort_key NUMBER; v_prs_kostensoort_key NUMBER;
v_alg_gebouw_code VARCHAR2(20); v_alg_gebouw_code VARCHAR2(20);
BEGIN BEGIN
fac_import_file2csv(p_import_key); --fac_import_genericcsv(p_import_key);
FOR rec IN imp_csv FOR rec IN imp_csv
LOOP LOOP
@@ -113,13 +113,16 @@ BEGIN
INTO v_prs_kostensoort_key INTO v_prs_kostensoort_key
FROM prs_kostensoort k FROM prs_kostensoort k
WHERE k.prs_kostensoort_upper=UPPER(rec.kostensoort) WHERE k.prs_kostensoort_upper=UPPER(rec.kostensoort)
AND k.prs_kostensoortgrp_key = v_prs_kostensoortgrp_key
AND k.prs_kostensoort_verwijder IS NULL; AND k.prs_kostensoort_verwijder IS NULL;
IF v_prs_kostensoort_key IS NULL IF v_prs_kostensoort_key IS NULL
THEN THEN
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errorhint, 'Kan kostensoort niet 1-duidig bepalen'); fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errorhint, 'Kan kostensoort niet 1-duidig bepalen');
END IF; END IF;
END IF; END IF;
END LOOP; END LOOP;
IF v_header_valid=0 IF v_header_valid=0
@@ -173,6 +176,8 @@ AS
v_kostenplaatsgrp_key NUMBER; v_kostenplaatsgrp_key NUMBER;
v_kostenplaats_key NUMBER; v_kostenplaats_key NUMBER;
v_budget NUMBER; v_budget NUMBER;
v_budget_nu NUMBER;
v_budget_key NUMBER;
v_periode_start DATE; v_periode_start DATE;
v_periode_eind DATE; v_periode_eind DATE;
v_alg_gebouw_code VARCHAR(20); 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'); fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errorhint, 'Kan project niet 1-duidig bepalen of aanmaken');
v_ongeldig := 1; v_ongeldig := 1;
ELSE ELSE
FOR rec IN bdgt FOR rec IN bdgt
LOOP LOOP
IF v_count>0 IF v_count>0
THEN THEN
v_aanduiding:='Ophalen locatie '||rec.locatie||' via kostenplaats '||rec.kostenplaats_nr||' is mislukt'; v_aanduiding:='Ophalen locatie '||rec.locatie||' via kostenplaats '||rec.kostenplaats_nr||' is mislukt';
SELECT g.alg_gebouw_code SELECT g.alg_gebouw_code
INTO v_alg_gebouw_code INTO v_alg_gebouw_code
FROM prs_kostenplaats p, FROM prs_kostenplaats p,
alg_gebouw g alg_gebouw g
where p.prs_kostenplaats_nr=rec.kostenplaats_nr WHERE p.prs_kostenplaats_nr=rec.kostenplaats_nr
AND g.PRS_KOSTENPLAATS_KEY = p.PRS_KOSTENPLAATS_KEY AND g.PRS_KOSTENPLAATS_KEY = p.PRS_KOSTENPLAATS_KEY
AND p.prs_kostenplaats_verwijder IS NULL; AND p.prs_kostenplaats_verwijder IS NULL;
BEGIN BEGIN
v_aanduiding:='Ophalen budget project kostenrubriek Inv Budget mislukt'; v_aanduiding:='Ophalen budget project kostenrubriek Inv Budget-'||v_alg_gebouw_code||' mislukt';
SELECT k.bgt_kostenrubriek_key SELECT k.bgt_kostenrubriek_key
INTO v_bgt_kostenrubriek_key INTO v_bgt_kostenrubriek_key
FROM bgt_kostenrubriek k FROM bgt_kostenrubriek k
WHERE k.bgt_project_key=v_bgt_project_key WHERE k.bgt_project_key=v_bgt_project_key
AND k.bgt_kostenrubriek_oms='Inv Budget-'||v_alg_gebouw_code; AND k.bgt_kostenrubriek_code=rec.periode
EXCEPTION AND k.bgt_kostenrubriek_oms='Inv Budget-'||v_alg_gebouw_code;
WHEN NO_DATA_FOUND EXCEPTION
THEN WHEN NO_DATA_FOUND
THEN
INSERT
INTO bgt_kostenrubriek (bgt_project_key, INSERT
bgt_kostenrubriek_oms) INTO bgt_kostenrubriek (bgt_project_key,
VALUES (v_bgt_project_key, bgt_kostenrubriek_code,
'Inv Budget-'||v_alg_gebouw_code) bgt_kostenrubriek_oms)
RETURNING bgt_kostenrubriek_key VALUES (v_bgt_project_key,
INTO v_bgt_kostenrubriek_key; rec.periode,
END; 'Inv Budget-'||v_alg_gebouw_code)
RETURNING bgt_kostenrubriek_key
INTO v_bgt_kostenrubriek_key;
END;
v_aanduiding:='OPhalen kostenplaatsnr '||rec.kostenplaats_nr||' mislukt';
v_aanduiding:='OPhalen kostenplaatsnr '||rec.kostenplaats_nr||' mislukt'; SELECT k.prs_kostenplaats_key, k.prs_kostenplaatsgrp_key
INTO v_kostenplaats_key, v_kostenplaatsgrp_key
SELECT k.prs_kostenplaats_key, k.prs_kostenplaatsgrp_key FROM prs_kostenplaats k
INTO v_kostenplaats_key, v_kostenplaatsgrp_key WHERE k.prs_kostenplaats_nr=rec.kostenplaats_nr
FROM prs_kostenplaats k AND k.prs_kostenplaats_verwijder IS NULL;
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
v_aanduiding:='OPhalen kostensoort en kostengroep '||rec.kostengroep||'-'||rec.kostensoort||' mislukt'; INTO v_kostensoort_key, v_kostensoortgrp_key
SELECT s.prs_kostensoort_key, s.prs_kostensoortgrp_key FROM prs_kostensoort s, prs_kostensoortgrp g
INTO v_kostensoort_key, v_kostensoortgrp_key WHERE s.prs_kostensoort_oms=rec.kostensoort
FROM prs_kostensoort s, prs_kostensoortgrp g AND g.prs_kostensoortgrp_oms=rec.kostengroep
WHERE s.prs_kostensoort_oms=rec.kostensoort AND s.prs_kostensoortgrp_key=g.prs_kostensoortgrp_key
AND g.prs_kostensoortgrp_oms=rec.kostengroep AND s.prs_kostensoort_verwijder IS NULL;
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_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');
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
IF v_kostenplaats_key>0 AND v_kostensoort_key>0
AND v_kostenplaatsgrp_key>0 AND v_kostensoortgrp_key>0
AND v_kostensoort_key>0 AND v_budget>0
AND v_kostensoortgrp_key>0 THEN
AND v_budget>0
THEN -- Eerst kijken of hij er al is
INSERT BEGIN
INTO bgt_budget(ins_discipline_key,
bgt_project_key, SELECT b.bgt_budget_key, b.bgt_budget_bedrag
bgt_kostenrubriek_key, INTO v_budget_key, v_budget_nu
prs_kostensoortgrp_key, FROM bgt_budget b
prs_kostensoort_key, WHERE b.ins_discipline_key=v_ins_discipline_key
prs_kostenplaatsgrp_key, AND b.bgt_project_key=v_bgt_project_key
prs_kostenplaats_key, AND b.bgt_kostenrubriek_key=v_bgt_kostenrubriek_key
bgt_budget_bedrag, AND b.prs_kostensoortgrp_key=v_kostensoortgrp_key
bgt_budget_begin, AND b.prs_kostensoort_key= v_kostensoort_key
bgt_budget_eind) AND b.prs_kostenplaatsgrp_key=v_kostenplaatsgrp_key
VALUES(v_ins_discipline_key, AND b.prs_kostenplaats_key=v_kostenplaats_key
v_bgt_project_key, AND b.bgt_budget_begin= v_periode_start
v_bgt_kostenrubriek_key, AND b.bgt_budget_eind= v_periode_eind;
v_kostensoortgrp_key, v_aanduiding := 'Aanpassen budget van '||rec.kostenplaats_nr||'-'||rec.kostengroep||'-'||rec.kostensoort||' van '||v_budget_nu|| '-> '||v_budget;
v_kostensoort_key, UPDATE bgt_budget b
v_kostenplaatsgrp_key, SET b.bgt_budget_bedrag=v_budget
v_kostenplaats_key, WHERE bgt_budget_key=v_budget_key;
v_budget,
v_periode_start, fac.imp_writelog (p_import_key, 'I', v_aanduiding , 'Aanpassen budget bedrag');
v_periode_eind);
END IF; 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; END IF;
v_count:=v_count+1; v_count:=v_count+1;
@@ -397,7 +429,7 @@ AS
BEGIN BEGIN
fac_import_file2csv(p_import_key); fac_import_genericcsv(p_import_key);
v_count:=0; v_count:=0;
v_error:=0; v_error:=0;
@@ -740,14 +772,18 @@ AS
budget - COALESCE (opdracht_gefact, opdracht_uitv, offerte) budget_res budget - COALESCE (opdracht_gefact, opdracht_uitv, offerte) budget_res
FROM (SELECT kp.prs_kostenplaats_nr, FROM (SELECT kp.prs_kostenplaats_nr,
kp.prs_perslid_key, 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, g.alg_gebouw_naam,
ksg.prs_kostensoortgrp_oms, ksg.prs_kostensoortgrp_oms,
ks.prs_kostensoort_oms, ks.prs_kostensoort_oms,
b.bgt_budget_bedrag budget, b.bgt_budget_bedrag budget,
TRUNC(b.bgt_budget_begin,'YYYY') budget_jaar,
b.bgt_budget_begin, b.bgt_budget_begin,
b.bgt_budget_eind, b.bgt_budget_eind,
(SELECT SUM (opdr_kost) (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 FROM mld_opdr o, mld_typeopdr ot
WHERE o.prs_kostenplaats_key = WHERE o.prs_kostenplaats_key =
kp.prs_kostenplaats_key kp.prs_kostenplaats_key
@@ -761,6 +797,7 @@ AS
7, 7,
8, 8,
9) 9)
AND o.mld_opdr_datumbegin BETWEEN b.bgt_budget_begin AND b.bgt_budget_begin
GROUP BY o.mld_melding_key)) offerte, GROUP BY o.mld_melding_key)) offerte,
(SELECT SUM (mld_opdr_kosten) (SELECT SUM (mld_opdr_kosten)
FROM mld_opdr o, mld_typeopdr ot FROM mld_opdr o, mld_typeopdr ot
@@ -768,14 +805,16 @@ AS
AND o.prs_kostensoort_key = ks.prs_kostensoort_key AND o.prs_kostensoort_key = ks.prs_kostensoort_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND UPPER(ot.mld_typeopdr_omschrijving)='INVESTERING OPDRACHT' 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) (SELECT SUM (mld_opdr_kosten)
FROM mld_opdr o, mld_typeopdr ot FROM mld_opdr o, mld_typeopdr ot
WHERE o.prs_kostenplaats_key = kp.prs_kostenplaats_key WHERE o.prs_kostenplaats_key = kp.prs_kostenplaats_key
AND o.prs_kostensoort_key = ks.prs_kostensoort_key AND o.prs_kostensoort_key = ks.prs_kostensoort_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND UPPER(ot.mld_typeopdr_omschrijving)='INVESTERING OPDRACHT' 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, FROM bgt_budget b,
bgt_project p, bgt_project p,
bgt_kostenrubriek kr, bgt_kostenrubriek kr,