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_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,