TWYN#53903 Totaaloverzicht en Overzicht rubrieken deelproject 3 Stadhuis

svn path=/Customer/trunk/; revision=39056
This commit is contained in:
Erik Groener
2018-09-05 12:12:45 +00:00
parent 51c217ae0b
commit a2412d4222
2 changed files with 116 additions and 226 deletions

View File

@@ -554,23 +554,23 @@ CREATE OR REPLACE PACKAGE twyn
AS
TYPE t_cursor IS REF CURSOR;
PROCEDURE twyn_v_budgettotaal ( user_key IN NUMBER
, p_datum_van IN VARCHAR2
, p_datum_tot IN VARCHAR2
, p_cursor OUT t_cursor
, p_where IN VARCHAR2
);
PROCEDURE twyn_v_totaaloverzicht ( user_key IN NUMBER
, p_datum_van IN VARCHAR2
, p_datum_tot IN VARCHAR2
, p_cursor OUT t_cursor
, p_where IN VARCHAR2
);
END twyn;
/
CREATE OR REPLACE PACKAGE BODY twyn
AS
PROCEDURE twyn_v_budgettotaal ( user_key IN NUMBER
, p_datum_van IN VARCHAR2
, p_datum_tot IN VARCHAR2
, p_cursor OUT t_cursor
, p_where IN VARCHAR2
)
PROCEDURE twyn_v_totaaloverzicht ( user_key IN NUMBER
, p_datum_van IN VARCHAR2
, p_datum_tot IN VARCHAR2
, p_cursor OUT t_cursor
, p_where IN VARCHAR2
)
AS
v_datum_van DATE;
v_datum_tot DATE;
@@ -587,107 +587,109 @@ AS
v_part_W := SUBSTR(p_where, INSTR(p_where, 'WHERE')+6);
v_where := CASE WHEN v_part_W IS NOT NULL THEN 'AND ' || v_part_W ELSE '' END;
v_part_A := 'SELECT f.*'
|| ' , 0 budget_origineel_exc'
|| ' , 0 budget_origineel_btw'
|| ' , 0 budget_actueel_exc'
|| ' , 0 budget_actueel_btw'
|| ' , 0 budget_reserve_exc'
|| ' , 0 budget_reserve_btw'
|| ' , 0 budget_mutatie_exc'
|| ' , 0 budget_mutatie_btw'
|| ' , BGT.getGecontracteerd(o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) gecontracteerd_exc'
|| ' , BGT.getGecontracteerd(o.mld_opdr_key, 1, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) gecontracteerd_btw'
|| ' , BGT.getGefactureerd (o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) gefactureerd_exc'
|| ' , BGT.getGefactureerd (o.mld_opdr_key, 1, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) gefactureerd_btw'
|| ' , p.startdatum_p startdatum'
|| ' , ''' || p_datum_tot || ''' bgt_datum'
|| ' FROM bgt_v_project_full f'
|| ' , bgt_budget b'
|| ' , twyn_v_bgt_projectdatum p'
|| ' , mld_opdr o'
|| ' WHERE ( f.prs_kostensoort_key = b.prs_kostensoort_key'
|| ' OR ( f.bgt_kostenrubriek_key = b.bgt_kostenrubriek_key'
|| ' AND b.prs_kostensoort_key IS NULL'
|| ' )'
|| ' )'
|| ' AND f.bgt_project_key = p.bgt_project_key'
|| ' AND f.prs_kostensoort_key = o.prs_kostensoort_key'
|| ' AND f.ins_discipline_verwijder IS NULL'
|| ' AND f.bgt_project_verwijder IS NULL'
|| ' '|| v_where;
v_part_A := 'SELECT f.*'
|| ' , 0 budget_origineel_exc'
|| ' , 0 budget_origineel_btw'
|| ' , 0 budget_actueel_exc'
|| ' , 0 budget_actueel_btw'
|| ' , 0 budget_reserve_exc'
|| ' , 0 budget_reserve_btw'
|| ' , 0 budget_mutatie_exc'
|| ' , 0 budget_mutatie_btw'
|| ' , BGT.getGecontracteerd(o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) gecontracteerd_exc'
|| ' , BGT.getGecontracteerd(o.mld_opdr_key, 1, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) gecontracteerd_btw'
|| ' , BGT.getGefactureerd (o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) gefactureerd_exc'
|| ' , BGT.getGefactureerd (o.mld_opdr_key, 1, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) gefactureerd_btw'
|| ' , p.startdatum_p startdatum'
|| ' , ''' || p_datum_tot || ''' bgt_datum'
|| ' , o.mld_opdr_key'
|| ' FROM bgt_v_project_full f'
|| ' , bgt_budget b'
|| ' , twyn_v_bgt_projectdatum p'
|| ' , mld_opdr o'
|| ' WHERE ( f.prs_kostensoort_key = b.prs_kostensoort_key'
|| ' OR ( f.bgt_kostenrubriek_key = b.bgt_kostenrubriek_key'
|| ' AND b.prs_kostensoort_key IS NULL'
|| ' )'
|| ' )'
|| ' AND f.bgt_project_key = p.bgt_project_key'
|| ' AND f.prs_kostensoort_key = o.prs_kostensoort_key'
|| ' AND f.ins_discipline_verwijder IS NULL'
|| ' AND f.bgt_project_verwijder IS NULL'
|| ' '|| v_where;
v_part_B := 'SELECT f.*'
|| ' , BGT.getBudgetOpDatum(b.bgt_budget_key, 0, null) budget_origineel_exc'
|| ' , BGT.getBudgetOpDatum(b.bgt_budget_key, 1, null) budget_origineel_btw'
|| ' , BGT.getBudgetOpDatum(b.bgt_budget_key, 0, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_actueel_exc'
|| ' , BGT.getBudgetOpDatum(b.bgt_budget_key, 1, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_actueel_btw'
|| ' , BGT.getBudgetSoortMutatie(b.bgt_kostenrubriek_key, b.prs_kostensoortgrp_key, b.prs_kostensoort_key, 0, ''AR'', to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_reserve_exc'
|| ' , BGT.getBudgetSoortMutatie(b.bgt_kostenrubriek_key, b.prs_kostensoortgrp_key, b.prs_kostensoort_key, 1, '''', to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_reserve_btw'
|| ' , BGT.getBudgetSoortMutatie(b.bgt_kostenrubriek_key, b.prs_kostensoortgrp_key, b.prs_kostensoort_key, 0, ''EM'', to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_mutatie_exc'
|| ' , BGT.getBudgetSoortMutatie(b.bgt_kostenrubriek_key, b.prs_kostensoortgrp_key, b.prs_kostensoort_key, 1, ''EM'', to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_mutatie_btw'
|| ' , 0 gecontracteerd_exc'
|| ' , 0 gecontracteerd_btw'
|| ' , 0 gefactureerd_exc'
|| ' , 0 gefactureerd_btw'
|| ' , p.startdatum_p startdatum'
|| ' , ''' || p_datum_tot || ''' bgt_datum'
|| ' FROM bgt_v_project_full f'
|| ' , bgt_budget b'
|| ' , twyn_v_bgt_projectdatum p'
|| ' WHERE ( f.prs_kostensoort_key = b.prs_kostensoort_key'
|| ' OR ( f.bgt_kostenrubriek_key = b.bgt_kostenrubriek_key'
|| ' AND b.prs_kostensoort_key IS NULL'
|| ' )'
|| ' )'
|| ' AND f.bgt_project_key = p.bgt_project_key'
|| ' AND f.ins_discipline_verwijder IS NULL'
|| ' AND f.bgt_project_verwijder IS NULL'
|| ' '|| v_where;
v_part_B := 'SELECT f.*'
|| ' , BGT.getBudgetOpDatum(b.bgt_budget_key, 0, null) budget_origineel_exc'
|| ' , BGT.getBudgetOpDatum(b.bgt_budget_key, 1, null) budget_origineel_btw'
|| ' , BGT.getBudgetOpDatum(b.bgt_budget_key, 0, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_actueel_exc'
|| ' , BGT.getBudgetOpDatum(b.bgt_budget_key, 1, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_actueel_btw'
|| ' , BGT.getBudgetSoortMutatie(b.bgt_kostenrubriek_key, b.prs_kostensoortgrp_key, b.prs_kostensoort_key, 0, ''AR'', to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_reserve_exc'
|| ' , BGT.getBudgetSoortMutatie(b.bgt_kostenrubriek_key, b.prs_kostensoortgrp_key, b.prs_kostensoort_key, 1, '''', to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_reserve_btw'
|| ' , BGT.getBudgetSoortMutatie(b.bgt_kostenrubriek_key, b.prs_kostensoortgrp_key, b.prs_kostensoort_key, 0, ''EM'', to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_mutatie_exc'
|| ' , BGT.getBudgetSoortMutatie(b.bgt_kostenrubriek_key, b.prs_kostensoortgrp_key, b.prs_kostensoort_key, 1, ''EM'', to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) budget_mutatie_btw'
|| ' , 0 gecontracteerd_exc'
|| ' , 0 gecontracteerd_btw'
|| ' , 0 gefactureerd_exc'
|| ' , 0 gefactureerd_btw'
|| ' , p.startdatum_p startdatum'
|| ' , ''' || p_datum_tot || ''' bgt_datum'
|| ' , null mld_opdr_key'
|| ' FROM bgt_v_project_full f'
|| ' , bgt_budget b'
|| ' , twyn_v_bgt_projectdatum p'
|| ' WHERE ( f.prs_kostensoort_key = b.prs_kostensoort_key'
|| ' OR ( f.bgt_kostenrubriek_key = b.bgt_kostenrubriek_key'
|| ' AND b.prs_kostensoort_key IS NULL'
|| ' )'
|| ' )'
|| ' AND f.bgt_project_key = p.bgt_project_key'
|| ' AND f.ins_discipline_verwijder IS NULL'
|| ' AND f.bgt_project_verwijder IS NULL'
|| ' '|| v_where;
v_part_T := 'SELECT opdrachtgever'
|| ' , pcode'
|| ' , project'
|| ' , projectnaam'
|| ' , dcode'
|| ' , subproject'
|| ' , subprojectnaam'
|| ' , rcode'
|| ' , kostenrubriek'
|| ' , startdatum'
|| ' , bgt_datum'
|| ' , bgt_kostenrubriek_key'
|| ' , sum(budget_origineel_exc) org_bedrag_exc'
|| ' , sum(budget_origineel_btw) org_bedrag_btw'
|| ' , sum(budget_actueel_exc) bgt_bedrag_exc'
|| ' , sum(budget_actueel_btw) bgt_bedrag_btw'
|| ' , sum(budget_reserve_exc) res_bedrag_exc'
|| ' , sum(budget_reserve_btw) res_bedrag_btw'
|| ' , sum(budget_mutatie_exc) mut_bedrag_exc'
|| ' , sum(budget_mutatie_btw) mut_bedrag_btw'
|| ' , sum(gecontracteerd_exc) cnt_bedrag_exc'
|| ' , sum(gecontracteerd_btw) cnt_bedrag_btw'
|| ' , sum(gefactureerd_exc) fin_bedrag_exc'
|| ' , sum(gefactureerd_btw) fin_bedrag_btw'
|| ' FROM (' || v_part_A || ' UNION ' || v_part_B || ')'
|| ' GROUP BY opdrachtgever'
|| ' , pcode'
|| ' , project'
|| ' , projectnaam'
|| ' , dcode'
|| ' , subproject'
|| ' , subprojectnaam'
|| ' , rcode'
|| ' , kostenrubriek'
|| ' , startdatum'
|| ' , bgt_datum'
|| ' , bgt_kostenrubriek_key'
|| ' ORDER BY rcode';
v_part_T := 'SELECT opdrachtgever'
|| ' , pcode'
|| ' , project'
|| ' , projectnaam'
|| ' , dcode'
|| ' , subproject'
|| ' , subprojectnaam'
|| ' , rcode'
|| ' , kostenrubriek'
|| ' , startdatum'
|| ' , bgt_datum'
|| ' , bgt_kostenrubriek_key'
|| ' , sum(budget_origineel_exc) org_bedrag_exc'
|| ' , sum(budget_origineel_btw) org_bedrag_btw'
|| ' , sum(budget_actueel_exc) bgt_bedrag_exc'
|| ' , sum(budget_actueel_btw) bgt_bedrag_btw'
|| ' , sum(budget_reserve_exc) res_bedrag_exc'
|| ' , sum(budget_reserve_btw) res_bedrag_btw'
|| ' , sum(budget_mutatie_exc) mut_bedrag_exc'
|| ' , sum(budget_mutatie_btw) mut_bedrag_btw'
|| ' , sum(gecontracteerd_exc) cnt_bedrag_exc'
|| ' , sum(gecontracteerd_btw) cnt_bedrag_btw'
|| ' , sum(gefactureerd_exc) fin_bedrag_exc'
|| ' , sum(gefactureerd_btw) fin_bedrag_btw'
|| ' FROM (' || v_part_A || ' UNION ' || v_part_B || ')'
|| ' GROUP BY opdrachtgever'
|| ' , pcode'
|| ' , project'
|| ' , projectnaam'
|| ' , dcode'
|| ' , subproject'
|| ' , subprojectnaam'
|| ' , rcode'
|| ' , kostenrubriek'
|| ' , startdatum'
|| ' , bgt_datum'
|| ' , bgt_kostenrubriek_key'
|| ' ORDER BY rcode';
OPEN p_cursor FOR 'SELECT * FROM '
|| '( SELECT * FROM (' || v_part_T || ')'
|| ')';
-- || p_where;
|| ')'
|| p_where;
END;
END;

View File

@@ -745,7 +745,7 @@ AS
, TO_DATE(NULL) cnt_datum
, COALESCE (fa.fin_factuur_totaal, 0) fin_bedrag_exc
, COALESCE (fa.fin_factuur_totaal_btw, 0) fin_bedrag_btw
, fa.fin_factuur_datum fin_datum
, fa.fin_factuur_advies fin_datum
FROM bgt_budget bu
, mld_opdr op
, fin_factuur fa
@@ -860,124 +860,12 @@ AS
-- BREG_TOT
-- BREG_RES
-- BREG_BTW
CREATE OR REPLACE VIEW twyn_v_budgettotaal
CREATE OR REPLACE VIEW twyn_v_totaaloverzicht
AS
SELECT opdrachtgever
, pcode
, project
, projectnaam
, dcode
, subproject
, subprojectnaam
, versienummer
, rcode
, kostenrubriek
, projectdatum.startdatum_p
, financieel.*
, CASE WHEN financieel.soort = 'F' THEN financieel.fin_datum
WHEN financieel.soort = 'C' THEN financieel.cnt_datum
WHEN financieel.soort = 'M' THEN financieel.mut_datum
WHEN financieel.soort = 'B' THEN financieel.bgt_datum
END all_datum
FROM bgt_v_project_full gegevens
, twyn_v_bgt_projectdatum projectdatum
, (
SELECT kr.bgt_kostenrubriek_key
, 'B' soort
, NULL soortmutatie
, SUM(bu.bgt_budget_bedrag) bgt_bedrag_exc
, SUM(bu.bgt_budget_btwbedrag) bgt_bedrag_btw
, COALESCE(MIN(bu.bgt_budget_begin), MIN(p.bgt_project_prijspeildatum)) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_kostenrubriek kr
, bgt_budget bu
, bgt_project p
WHERE bu.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key
AND bu.bgt_project_key = p.bgt_project_key
GROUP BY kr.bgt_kostenrubriek_key
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, 'M' soort
, bm.soortmutatie soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, COALESCE(bm.res_bedrag_exc, 0) res_bedrag_exc
, COALESCE(bm.res_bedrag_btw, 0) res_bedrag_btw
, COALESCE(bm.mut_bedrag_exc, 0) mut_bedrag_exc
, COALESCE(bm.mut_bedrag_btw, 0) mut_bedrag_btw
, bm.bgt_budgetmutatie_datum mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_budget bu
, twyn_v_bgt_budgetsrtmutatie bm
WHERE bu.bgt_budget_key = bm.bgt_budget_key
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, 'C' soort
, NULL soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, COALESCE(mo.mld_opdr_kosten, 0) cnt_bedrag_exc
, COALESCE(mo.mld_opdr_kosten_btw, 0) cnt_bedrag_btw
, mo.mld_opdr_datumbegin cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_budget bu
, mld_opdr mo
WHERE bu.prs_kostensoort_key = mo.prs_kostensoort_key(+)
AND mo.mld_statusopdr_key <> 10 -- ter goedkeuring (=raming) hier niet in meenemen
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, 'F' soort
, NULL soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, COALESCE(fa.fin_factuur_totaal, 0) fin_bedrag_exc
, COALESCE(fa.fin_factuur_totaal_btw, 0) fin_bedrag_btw
, fa.fin_factuur_datum fin_datum
FROM bgt_budget bu
, mld_opdr op
, fin_factuur fa
WHERE fa.mld_opdr_key = op.mld_opdr_key
AND bu.prs_kostensoort_key = op.prs_kostensoort_key
) financieel
WHERE gegevens.bgt_kostenrubriek_key = financieel.bgt_kostenrubriek_key
AND gegevens.bgt_project_key = projectdatum.bgt_project_key
AND prs_kostensoortgrp_key IS NULL
AND prs_kostensoort_key IS NULL
AND ins_discipline_verwijder IS NULL
AND bgt_project_verwijder IS NULL;
SELECT *
FROM bgt_v_project_full
WHERE ins_discipline_verwijder IS NULL
AND bgt_project_verwijder IS NULL;
-- MMW_CONT