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_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,
|
||||||
|
|||||||
Reference in New Issue
Block a user