TWYN#56084 fout in rapport contracten per rubriek

svn path=/Customer/trunk/; revision=40537
This commit is contained in:
Erik Groener
2019-01-15 10:27:24 +00:00
parent ff776371a9
commit 0e9a4a289c

View File

@@ -479,6 +479,12 @@ AS
, 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;
/
@@ -699,6 +705,11 @@ AS
|| ' 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 BGT.getGefactureerd(o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) = 0'
|| ' )'
|| ' OR (BGT.getGefactureerd(o.mld_opdr_key, 0, null, to_date(''' || p_datum_tot || ''', ''dd-mm-yyyy'')) <> 0)'
|| ' )'
|| ' '|| v_where;
OPEN p_cursor FOR 'SELECT * FROM (' || v_part_T || ')';
@@ -808,6 +819,55 @@ AS
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;
/
---