TWYN#57971 rapporten inclusief btw
svn path=/Customer/; revision=42950
This commit is contained in:
599
onces/TWYN/TWYN#57971.sql
Normal file
599
onces/TWYN/TWYN#57971.sql
Normal file
@@ -0,0 +1,599 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Script bevat wijzigingen in views die noodzakelijk zijn voor de rapportages inclusief btw voor versie 2019.1
|
||||
DEFINE thisfile = 'TWYN#57971.SQL'
|
||||
DEFINE dbuser = '^TWYN'
|
||||
DEFINE custid = 'TWYN'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SPOOL &fcltlogfile
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
--=============================================================================
|
||||
-- RAPPORTAGES
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
-- CONT_RUB
|
||||
CREATE OR REPLACE VIEW twyn_v_contract_rubriek
|
||||
AS
|
||||
SELECT tp.opdrachtgever
|
||||
, tp.pcode
|
||||
, tp.project
|
||||
, tp.projectnaam
|
||||
, tp.dcode
|
||||
, tp.subproject
|
||||
, tp.subprojectnaam
|
||||
, tp.rcode
|
||||
, tp.kostenrubriek
|
||||
, tp.gcode
|
||||
, tp.kostengroep
|
||||
, tp.scode
|
||||
, tp.kostensoort
|
||||
, tp.versienummer
|
||||
, tp.kostencode
|
||||
, tp.kostennaam
|
||||
, o.mld_opdr_datumbegin datumfilter
|
||||
, b.prs_leverancier_nr
|
||||
, o.mld_opdr_ordernr
|
||||
, COALESCE(o.mld_opdr_bedrijfopdr_volgnr, 0) mld_opdr_ordervolgnr
|
||||
, MAX (o.mld_opdr_meerwerk) mld_opdr_meerwerk
|
||||
, MAX (o.mld_opdr_id) kenmerk
|
||||
, MAX (o.mld_opdr_omschrijving) mld_opdr_omschrijving
|
||||
, kp.prs_kostenplaats_nr accountcode
|
||||
, kp.prs_kostenplaats_omschrijving account
|
||||
, MIN (o.mld_opdr_datumbegin) datum
|
||||
, TO_CHAR (MIN (o.mld_opdr_datumbegin), 'DD-MM-YYYY') printdatum
|
||||
, SUM (o.mld_opdr_kosten) kosten
|
||||
, SUM (o.mld_opdr_kosten_btw) btw
|
||||
, SUM (bgt.getgefactureerd (o.mld_opdr_key, 0)) facturen
|
||||
, SUM (bgt.getgefactureerd (o.mld_opdr_key, 1)) facturen_btw
|
||||
FROM bgt_v_project_full tp
|
||||
, prs_kostenplaats kp
|
||||
, mld_opdr o
|
||||
, prs_bedrijf b
|
||||
WHERE o.prs_kostensoort_key = tp.prs_kostensoort_key
|
||||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||||
AND o.mld_statusopdr_key <> 10 -- ter goedkeuring (=raming) hier niet in meenemen
|
||||
AND tp.ins_discipline_verwijder IS NULL
|
||||
AND tp.bgt_project_verwijder IS NULL
|
||||
GROUP BY tp.opdrachtgever
|
||||
, tp.project
|
||||
, tp.subproject
|
||||
, tp.projectnaam
|
||||
, tp.pcode
|
||||
, tp.opdrachtgever
|
||||
, tp.subprojectnaam
|
||||
, tp.rcode
|
||||
, tp.kostenrubriek
|
||||
, tp.gcode
|
||||
, tp.kostengroep
|
||||
, tp.scode
|
||||
, tp.kostensoort
|
||||
, tp.versienummer
|
||||
, tp.dcode
|
||||
, tp.kostencode
|
||||
, tp.kostennaam
|
||||
, kp.prs_kostenplaats_nr
|
||||
, kp.prs_kostenplaats_omschrijving
|
||||
, b.prs_leverancier_nr
|
||||
, o.mld_opdr_ordernr
|
||||
, o.mld_opdr_bedrijfopdr_volgnr
|
||||
, o.mld_opdr_datumbegin
|
||||
ORDER BY tp.rcode
|
||||
, tp.gcode
|
||||
, tp.scode
|
||||
, b.prs_leverancier_nr
|
||||
, TO_NUMBER(o.mld_opdr_ordernr)
|
||||
, o.mld_opdr_bedrijfopdr_volgnr;
|
||||
|
||||
|
||||
-- CON_ACC1
|
||||
CREATE OR REPLACE VIEW twyn_v_contract
|
||||
AS
|
||||
SELECT tp.opdrachtgever
|
||||
, tp.pcode
|
||||
, tp.project
|
||||
, tp.projectnaam
|
||||
, tp.subproject
|
||||
, tp.subprojectnaam
|
||||
, tp.rcode
|
||||
, tp.kostenrubriek
|
||||
, tp.gcode
|
||||
, tp.kostengroep
|
||||
, tp.scode
|
||||
, tp.kostensoort
|
||||
, tp.versienummer
|
||||
, b.prs_leverancier_nr
|
||||
, o.mld_opdr_ordernr
|
||||
, COALESCE(o.mld_opdr_bedrijfopdr_volgnr, 0) mld_opdr_ordervolgnr
|
||||
, o.mld_opdr_id kenmerk
|
||||
, o.mld_opdr_omschrijving
|
||||
, COALESCE(kp.prs_kostenplaats_nr, ' ') accountcode
|
||||
, COALESCE(kp.prs_kostenplaats_omschrijving, 'zonder account') account
|
||||
, o.mld_opdr_datumbegin datumfilter
|
||||
, TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') printdatum
|
||||
, o.mld_opdr_meerwerk
|
||||
, o.mld_opdr_kosten
|
||||
, o.mld_opdr_kosten_btw
|
||||
, SUM (bgt.getgefactureerd (o.mld_opdr_key, 0)) fin_factuur_totaal
|
||||
, SUM (bgt.getgefactureerd (o.mld_opdr_key, 1)) fin_factuur_totaal_btw
|
||||
FROM bgt_v_project_full tp
|
||||
, prs_kostenplaats kp
|
||||
, mld_opdr o
|
||||
, prs_bedrijf b
|
||||
WHERE o.prs_kostensoort_key = tp.prs_kostensoort_key
|
||||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||||
AND tp.ins_discipline_verwijder IS NULL
|
||||
AND tp.bgt_project_verwijder IS NULL
|
||||
GROUP BY tp.opdrachtgever
|
||||
, tp.pcode
|
||||
, tp.project
|
||||
, tp.subproject
|
||||
, tp.dcode
|
||||
, tp.subprojectnaam
|
||||
, tp.projectnaam
|
||||
, tp.dcode
|
||||
, tp.opdrachtgever
|
||||
, tp.subprojectnaam
|
||||
, tp.rcode
|
||||
, tp.kostenrubriek
|
||||
, tp.gcode
|
||||
, tp.kostengroep
|
||||
, tp.scode
|
||||
, tp.kostensoort
|
||||
, kp.prs_kostenplaats_nr
|
||||
, kp.prs_kostenplaats_omschrijving
|
||||
, b.prs_leverancier_nr
|
||||
, o.mld_opdr_ordernr
|
||||
, o.mld_opdr_bedrijfopdr_volgnr
|
||||
, o.mld_opdr_id
|
||||
, o.mld_opdr_omschrijving
|
||||
, o.mld_opdr_meerwerk
|
||||
, kp.prs_kostenplaats_nr
|
||||
, kp.prs_kostenplaats_omschrijving
|
||||
, o.mld_opdr_datumbegin
|
||||
, o.mld_opdr_kosten
|
||||
, o.mld_opdr_kosten_btw
|
||||
, tp.versienummer
|
||||
ORDER BY kp.prs_kostenplaats_nr
|
||||
, b.prs_leverancier_nr
|
||||
, o.mld_opdr_ordernr
|
||||
, o.mld_opdr_bedrijfopdr_volgnr;
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE twyn
|
||||
AS
|
||||
TYPE t_cursor IS REF CURSOR;
|
||||
|
||||
PROCEDURE twyn_v_detailoverzicht ( user_key IN NUMBER
|
||||
, p_datum_van IN VARCHAR2
|
||||
, p_datum_tot IN VARCHAR2
|
||||
, p_cursor OUT t_cursor
|
||||
, p_where IN VARCHAR2 DEFAULT NULL
|
||||
);
|
||||
PROCEDURE twyn_v_contract_rubriek ( user_key IN NUMBER
|
||||
, p_datum_van IN VARCHAR2
|
||||
, p_datum_tot IN VARCHAR2
|
||||
, p_cursor OUT t_cursor
|
||||
, p_where IN VARCHAR2 DEFAULT NULL
|
||||
);
|
||||
PROCEDURE twyn_v_contr_fact_bedrijf ( user_key IN NUMBER
|
||||
, p_datum_van IN VARCHAR2
|
||||
, p_datum_tot IN VARCHAR2
|
||||
, p_cursor OUT t_cursor
|
||||
, p_where IN VARCHAR2 DEFAULT NULL
|
||||
);
|
||||
PROCEDURE twyn_v_factuur_datum ( user_key IN NUMBER
|
||||
, p_datum_van IN VARCHAR2
|
||||
, p_datum_tot IN VARCHAR2
|
||||
, p_cursor OUT t_cursor
|
||||
, p_where IN VARCHAR2 DEFAULT NULL
|
||||
);
|
||||
END twyn;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY twyn
|
||||
AS
|
||||
PROCEDURE twyn_v_detailoverzicht ( user_key IN NUMBER
|
||||
, p_datum_van IN VARCHAR2
|
||||
, p_datum_tot IN VARCHAR2
|
||||
, p_cursor OUT t_cursor
|
||||
, p_where IN VARCHAR2 DEFAULT NULL
|
||||
)
|
||||
AS
|
||||
v_datum_van DATE;
|
||||
v_datum_tot DATE;
|
||||
|
||||
v_part_A VARCHAR2(32767);
|
||||
v_part_B VARCHAR2(32767);
|
||||
v_part_W VARCHAR2(32767);
|
||||
v_part_T VARCHAR2(32767);
|
||||
v_part_L VARCHAR2(32767);
|
||||
v_where VARCHAR2(32767);
|
||||
|
||||
BEGIN
|
||||
v_datum_van := TO_DATE(p_datum_van, 'dd-mm-yyyy');
|
||||
v_datum_tot := TO_DATE(p_datum_tot, 'dd-mm-yyyy');
|
||||
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'
|
||||
|| ' , ''' || 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, ''ARW'', 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'
|
||||
|| ' , ''' || 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'
|
||||
|| ' , gcode'
|
||||
|| ' , kostengroep'
|
||||
|| ' , scode'
|
||||
|| ' , kostensoort'
|
||||
|| ' , startdatum_p'
|
||||
|| ' , 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'
|
||||
|| ' , gcode'
|
||||
|| ' , kostengroep'
|
||||
|| ' , scode'
|
||||
|| ' , kostensoort'
|
||||
|| ' , startdatum_p'
|
||||
|| ' , bgt_datum'
|
||||
|| ' , bgt_kostenrubriek_key'
|
||||
|| ' ORDER BY rcode';
|
||||
|
||||
v_part_L := 'SELECT x.*'
|
||||
|| ' , CASE WHEN scode IS NOT NULL'
|
||||
|| ' AND org_bedrag_exc = 0'
|
||||
|| ' AND org_bedrag_btw = 0'
|
||||
|| ' AND bgt_bedrag_exc = 0'
|
||||
|| ' AND bgt_bedrag_btw = 0'
|
||||
|| ' AND res_bedrag_exc = 0'
|
||||
|| ' AND res_bedrag_btw = 0'
|
||||
|| ' AND mut_bedrag_exc = 0'
|
||||
|| ' AND mut_bedrag_btw = 0'
|
||||
|| ' AND cnt_bedrag_exc = 0'
|
||||
|| ' AND cnt_bedrag_btw = 0'
|
||||
|| ' AND fin_bedrag_exc = 0'
|
||||
|| ' AND fin_bedrag_btw = 0'
|
||||
|| ' THEN 1'
|
||||
|| ' ELSE 0'
|
||||
|| ' END is_leeg'
|
||||
|| ' FROM (' || v_part_T || ') x';
|
||||
|
||||
OPEN p_cursor FOR 'SELECT * FROM '
|
||||
|| '( SELECT * FROM (' || v_part_L || ')'
|
||||
|| ')';
|
||||
END;
|
||||
|
||||
PROCEDURE twyn_v_contract_rubriek ( user_key IN NUMBER
|
||||
, p_datum_van IN VARCHAR2
|
||||
, p_datum_tot IN VARCHAR2 -- eigenlijk: tot-en-met
|
||||
, p_cursor OUT t_cursor
|
||||
, p_where IN VARCHAR2 DEFAULT NULL
|
||||
)
|
||||
AS
|
||||
v_datum_van DATE;
|
||||
v_datum_tot DATE;
|
||||
|
||||
v_part_W VARCHAR2(32767);
|
||||
v_part_T VARCHAR2(32767);
|
||||
v_where VARCHAR2(32767);
|
||||
|
||||
BEGIN
|
||||
v_datum_van := TO_DATE(p_datum_van, 'dd-mm-yyyy');
|
||||
v_datum_tot := TO_DATE(p_datum_tot, 'dd-mm-yyyy');
|
||||
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_T := 'SELECT tp.opdrachtgever'
|
||||
|| ' , tp.pcode'
|
||||
|| ' , tp.project'
|
||||
|| ' , tp.projectnaam'
|
||||
|| ' , tp.dcode'
|
||||
|| ' , tp.subproject'
|
||||
|| ' , tp.subprojectnaam'
|
||||
|| ' , tp.rcode'
|
||||
|| ' , tp.kostenrubriek'
|
||||
|| ' , tp.gcode'
|
||||
|| ' , tp.kostengroep'
|
||||
|| ' , tp.scode'
|
||||
|| ' , tp.kostensoort'
|
||||
|| ' , tp.kostencode'
|
||||
|| ' , tp.kostennaam'
|
||||
|| ' , b.prs_leverancier_nr'
|
||||
|| ' , o.mld_opdr_ordernr'
|
||||
|| ' , COALESCE(o.mld_opdr_bedrijfopdr_volgnr, 0) mld_opdr_ordervolgnr'
|
||||
|| ' , o.mld_opdr_meerwerk mld_opdr_meerwerk'
|
||||
|| ' , o.mld_opdr_id kenmerk'
|
||||
|| ' , o.mld_opdr_omschrijving mld_opdr_omschrijving'
|
||||
|| ' , kp.prs_kostenplaats_nr accountcode'
|
||||
|| ' , kp.prs_kostenplaats_omschrijving account'
|
||||
|| ' , TO_CHAR (o.mld_opdr_datumbegin, ''DD-MM-YYYY'') datum_p'
|
||||
|| ' , BGT.getGecontracteerd(o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) kosten'
|
||||
|| ' , BGT.getGecontracteerd(o.mld_opdr_key, 1, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) btw'
|
||||
|| ' , BGT.getGefactureerd (o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) facturen'
|
||||
|| ' , BGT.getGefactureerd (o.mld_opdr_key, 1, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) facturen_btw'
|
||||
|| ' , p.startdatum_p'
|
||||
|| ' FROM bgt_v_project_full tp'
|
||||
|| ' , prs_kostenplaats kp'
|
||||
|| ' , mld_opdr o'
|
||||
|| ' , prs_bedrijf b'
|
||||
|| ' , twyn_v_bgt_projectdatum p'
|
||||
|| ' WHERE o.prs_kostensoort_key = tp.prs_kostensoort_key'
|
||||
|| ' AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)'
|
||||
|| ' AND o.mld_uitvoerende_keys = b.prs_bedrijf_key'
|
||||
|| ' AND o.mld_statusopdr_key <> 10' -- ter goedkeuring (=raming) hier niet in meenemen
|
||||
|| ' AND tp.bgt_project_key = p.bgt_project_key'
|
||||
|| ' AND tp.ins_discipline_verwijder IS NULL'
|
||||
|| ' AND tp.bgt_project_verwijder IS NULL'
|
||||
|| ' AND ( ( mld_opdr_datumbegin <= to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')'
|
||||
|| ' AND COALESCE(BGT.getGefactureerd(o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')), 0) = 0'
|
||||
|| ' )'
|
||||
|| ' OR (COALESCE(BGT.getGefactureerd(o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')), 0) <> 0)'
|
||||
|| ' )'
|
||||
|| ' '|| v_where;
|
||||
|
||||
OPEN p_cursor FOR 'SELECT * FROM (' || v_part_T || ')';
|
||||
END;
|
||||
|
||||
PROCEDURE twyn_v_contr_fact_bedrijf ( user_key IN NUMBER
|
||||
, p_datum_van IN VARCHAR2
|
||||
, p_datum_tot IN VARCHAR2
|
||||
, p_cursor OUT t_cursor
|
||||
, p_where IN VARCHAR2 DEFAULT NULL
|
||||
)
|
||||
AS
|
||||
v_datum_van DATE;
|
||||
v_datum_tot DATE;
|
||||
|
||||
v_part_D VARCHAR2(32767);
|
||||
v_part_W VARCHAR2(32767);
|
||||
v_part_T VARCHAR2(32767);
|
||||
v_where VARCHAR2(32767);
|
||||
|
||||
BEGIN
|
||||
v_datum_van := TO_DATE(p_datum_van, 'dd-mm-yyyy');
|
||||
v_datum_tot := TO_DATE(p_datum_tot, 'dd-mm-yyyy');
|
||||
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
|
||||
|| CASE WHEN p_datum_van IS NOT NULL
|
||||
THEN ' AND o.mld_opdr_datumbegin >= TO_DATE('''|| p_datum_van ||''', ''dd-mm-yyyy'')'
|
||||
ELSE ''
|
||||
END
|
||||
|| CASE WHEN p_datum_tot IS NOT NULL
|
||||
THEN ' AND o.mld_opdr_datumbegin <= TO_DATE('''|| p_datum_tot ||''', ''dd-mm-yyyy'')'
|
||||
ELSE ''
|
||||
END;
|
||||
|
||||
v_part_D := CASE WHEN p_datum_van IS NOT NULL
|
||||
THEN ' AND fx.fin_factuur_advies >= TO_DATE('''|| p_datum_van ||''', ''dd-mm-yyyy'')'
|
||||
ELSE ''
|
||||
END
|
||||
|| CASE WHEN p_datum_tot IS NOT NULL
|
||||
THEN ' AND fx.fin_factuur_advies <= TO_DATE('''|| p_datum_tot ||''', ''dd-mm-yyyy'')'
|
||||
END;
|
||||
|
||||
|
||||
v_part_T := 'SELECT tp.opdrachtgever'
|
||||
|| ' , tp.pcode'
|
||||
|| ' , tp.project'
|
||||
|| ' , tp.subproject'
|
||||
|| ' , tp.rcode'
|
||||
|| ' , tp.kostenrubriek'
|
||||
|| ' , tp.kostengroep'
|
||||
|| ' , tp.scode'
|
||||
|| ' , tp.kostensoort'
|
||||
|| ' , b.prs_bedrijf_naam'
|
||||
|| ' , b.prs_leverancier_nr'
|
||||
|| ' , o.mld_opdr_ordernr'
|
||||
|| ' , COALESCE(o.mld_opdr_bedrijfopdr_volgnr, 0) mld_opdr_ordervolgnr'
|
||||
|| ' , o.mld_opdr_id kenmerk'
|
||||
|| ' , o.mld_opdr_omschrijving'
|
||||
|| ' , COALESCE(kp.prs_kostenplaats_nr, '' '') accountcode'
|
||||
|| ' , COALESCE(kp.prs_kostenplaats_omschrijving, ''zonder account'') account'
|
||||
|| ' , o.mld_opdr_kosten'
|
||||
|| ' , o.mld_opdr_kosten_btw'
|
||||
|| ' , o.mld_opdr_meerwerk'
|
||||
|| ' , CASE WHEN fin_factuur_key IS NULL'
|
||||
|| ' THEN 1'
|
||||
|| ' WHEN (SELECT MIN(fc.fin_factuur_key)'
|
||||
|| ' FROM fin_factuur fc'
|
||||
|| ' WHERE fc.mld_opdr_key = f.mld_opdr_key) = f.fin_factuur_key'
|
||||
|| ' THEN 1'
|
||||
|| ' ELSE 0'
|
||||
|| ' END contractwaarde'
|
||||
|| ' , f.fin_factuur_nr'
|
||||
|| ' , f.fin_factuur_opmerking'
|
||||
|| ' , f.fin_factuur_totaal'
|
||||
|| ' , f.fin_factuur_totaal_btw'
|
||||
|| ' , o.mld_opdr_datumbegin contractdatum'
|
||||
|| ' , f.fin_factuur_datum factuurdatum'
|
||||
|| ' , f.fin_factuur_advies adviesdatum'
|
||||
|| ' , TO_CHAR (o.mld_opdr_datumbegin, ''DD-MM-YYYY'') contractdatum_p'
|
||||
|| ' , TO_CHAR (f.fin_factuur_datum, ''DD-MM-YYYY'') factuurdatum_p'
|
||||
|| ' , TO_CHAR (f.fin_factuur_advies, ''DD-MM-YYYY'') adviesdatum_p'
|
||||
|| ' , p.startdatum_p'
|
||||
|| ' FROM (SELECT *'
|
||||
|| ' FROM fin_factuur fx'
|
||||
|| ' WHERE (1=1)'
|
||||
|| ' '|| v_part_D
|
||||
|| ' ) f'
|
||||
|| ' , mld_opdr o'
|
||||
|| ' , prs_bedrijf b'
|
||||
|| ' , prs_kostenplaats kp'
|
||||
|| ' , bgt_v_project_full tp'
|
||||
|| ' , twyn_v_bgt_projectdatum p'
|
||||
|| ' WHERE o.mld_opdr_key = f.mld_opdr_key(+)'
|
||||
|| ' AND o.prs_kostensoort_key = tp.prs_kostensoort_key'
|
||||
|| ' AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)'
|
||||
|| ' AND o.mld_uitvoerende_keys = b.prs_bedrijf_key'
|
||||
|| ' AND o.mld_statusopdr_key <> 10'
|
||||
|| ' AND tp.bgt_project_key = p.bgt_project_key'
|
||||
|| ' AND tp.ins_discipline_verwijder IS NULL'
|
||||
|| ' AND tp.bgt_project_verwijder IS NULL'
|
||||
|| ' '|| v_where;
|
||||
|
||||
OPEN p_cursor FOR 'SELECT * FROM (' || v_part_T || ')';
|
||||
END;
|
||||
|
||||
PROCEDURE twyn_v_factuur_datum ( user_key IN NUMBER
|
||||
, p_datum_van IN VARCHAR2
|
||||
, p_datum_tot IN VARCHAR2
|
||||
, p_cursor OUT t_cursor
|
||||
, p_where IN VARCHAR2 DEFAULT NULL
|
||||
)
|
||||
AS
|
||||
-- Dit is een voorbereiding op #53761 Dashboard budgetbewaking
|
||||
-- waarin ook een cumulatief factuurbedrag nodig is.
|
||||
v_datum_van DATE;
|
||||
v_datum_tot DATE;
|
||||
|
||||
v_part_W VARCHAR2(32767);
|
||||
v_part_T VARCHAR2(32767);
|
||||
v_where VARCHAR2(32767);
|
||||
|
||||
BEGIN
|
||||
v_datum_van := TO_DATE(p_datum_van, 'dd-mm-yyyy');
|
||||
v_datum_tot := TO_DATE(p_datum_tot, 'dd-mm-yyyy');
|
||||
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
|
||||
|| CASE WHEN p_datum_van IS NOT NULL
|
||||
THEN ' AND twyn_v_factuur_datum.factuur_datum >= TO_DATE('''|| p_datum_van ||''', ''dd-mm-yyyy'')'
|
||||
ELSE ''
|
||||
END
|
||||
|| CASE WHEN p_datum_tot IS NOT NULL
|
||||
THEN ' AND twyn_v_factuur_datum.factuur_datum <= TO_DATE('''|| p_datum_tot ||''', ''dd-mm-yyyy'')'
|
||||
ELSE ''
|
||||
END;
|
||||
|
||||
v_part_T := 'SELECT factuur_datum'
|
||||
|| ' , factuur_inc'
|
||||
|| ' , COALESCE( SUM(factuur_inc) OVER (ORDER BY factuur_datum), 0) cumulatief'
|
||||
|| ' FROM (SELECT TO_CHAR(factuur_datum, ''YYYY-MM'') AS factuur_datum'
|
||||
|| ' , SUM(factuur_inc) AS factuur_inc'
|
||||
|| ' FROM twyn_v_factuur_datum'
|
||||
|| ' WHERE 1=1'
|
||||
|| ' '|| v_where
|
||||
|| ' GROUP BY TO_CHAR(factuur_datum, ''YYYY-MM'') '
|
||||
|| ' ORDER BY 1, 2'
|
||||
|| ' )';
|
||||
|
||||
|
||||
OPEN p_cursor FOR 'SELECT * FROM (' || v_part_T || ')';
|
||||
END;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user