TWYN#55604 Verschil in cijfers meer en minderwerk
svn path=/Database/trunk/; revision=40173
This commit is contained in:
@@ -71,7 +71,7 @@ AS
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
BEGIN
|
||||
SELECT SUM(bedrag_mutatie)
|
||||
SELECT COALESCE(SUM(bedrag_mutatie), 0)
|
||||
INTO v_bedrag_mut
|
||||
FROM (SELECT bgt_budgetmutatie_key
|
||||
, bgt_budget_key_van budget_key
|
||||
@@ -111,23 +111,23 @@ AS
|
||||
BEGIN
|
||||
SELECT COALESCE(SUM(mut.bedrag_mutaties), 0)
|
||||
INTO v_bedrag_mut
|
||||
FROM (SELECT CASE WHEN p_btw=0 THEN SUM(bgt_budget_bedrag_van)
|
||||
WHEN p_btw=1 THEN SUM(bgt_budget_btwbedrag_van)
|
||||
WHEN p_btw=2 THEN SUM(bgt_budget_bedrag_van) + SUM(bgt_budget_btwbedrag_van)
|
||||
FROM (SELECT CASE WHEN p_btw=0 THEN COALESCE(SUM(bgt_budget_bedrag_van), 0)
|
||||
WHEN p_btw=1 THEN COALESCE(SUM(bgt_budget_btwbedrag_van), 0)
|
||||
WHEN p_btw=2 THEN COALESCE(SUM(bgt_budget_bedrag_van), 0) + COALESCE(SUM(bgt_budget_btwbedrag_van), 0)
|
||||
END bedrag_mutaties
|
||||
FROM bgt_budgetmutatie
|
||||
WHERE bgt_budget_key_van = p_budget_key
|
||||
AND ((p_datum_van IS NOT NULL AND bgt_budgetmutatie_datum >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND bgt_budgetmutatie_datum <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
AND ((p_datum_van IS NOT NULL AND TRUNC(bgt_budgetmutatie_datum) >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND TRUNC(bgt_budgetmutatie_datum) <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
UNION
|
||||
SELECT CASE WHEN p_btw=0 THEN SUM(bgt_budget_bedrag_naar)
|
||||
WHEN p_btw=1 THEN SUM(bgt_budget_btwbedrag_naar)
|
||||
WHEN p_btw=2 THEN SUM(bgt_budget_bedrag_naar) + SUM(bgt_budget_btwbedrag_naar)
|
||||
SELECT CASE WHEN p_btw=0 THEN COALESCE(SUM(bgt_budget_bedrag_naar), 0)
|
||||
WHEN p_btw=1 THEN COALESCE(SUM(bgt_budget_btwbedrag_naar), 0)
|
||||
WHEN p_btw=2 THEN COALESCE(SUM(bgt_budget_bedrag_naar), 0) + COALESCE(SUM(bgt_budget_btwbedrag_naar), 0)
|
||||
END bedrag_mutaties
|
||||
FROM bgt_budgetmutatie
|
||||
WHERE bgt_budget_key_naar = p_budget_key
|
||||
AND ((p_datum_van IS NOT NULL AND bgt_budgetmutatie_datum >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND bgt_budgetmutatie_datum <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
AND ((p_datum_van IS NOT NULL AND TRUNC(bgt_budgetmutatie_datum) >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND TRUNC(bgt_budgetmutatie_datum) <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
) mut;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
@@ -151,9 +151,9 @@ AS
|
||||
WHEN p_btw=1 THEN COALESCE(bgt_budget_btwbedrag, 0)
|
||||
WHEN p_btw=2 THEN COALESCE(bgt_budget_bedrag, 0) + COALESCE(bgt_budget_btwbedrag, 0)
|
||||
END huidig_budget
|
||||
, CASE WHEN p_btw=0 THEN BGT.getBudgetMutaties(bgt_budget_key, 0, p_datum, NULL)
|
||||
WHEN p_btw=1 THEN BGT.getBudgetMutaties(bgt_budget_key, 1, p_datum, NULL)
|
||||
WHEN p_btw=2 THEN BGT.getBudgetMutaties(bgt_budget_key, 0, p_datum, NULL) + BGT.getBudgetMutaties(bgt_budget_key, 1, p_datum, NULL)
|
||||
, CASE WHEN p_btw=0 THEN BGT.getBudgetMutaties(bgt_budget_key, 0, p_datum+1, NULL)
|
||||
WHEN p_btw=1 THEN BGT.getBudgetMutaties(bgt_budget_key, 1, p_datum+1, NULL)
|
||||
WHEN p_btw=2 THEN BGT.getBudgetMutaties(bgt_budget_key, 0, p_datum+1, NULL) + BGT.getBudgetMutaties(bgt_budget_key, 1, p_datum+1, NULL)
|
||||
END mutaties
|
||||
INTO v_huidig_budget
|
||||
, v_mutatie
|
||||
@@ -180,7 +180,7 @@ AS
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
BEGIN
|
||||
SELECT SUM(bgt_mutatie_bedrag) bgt_mutatie_bedrag
|
||||
SELECT COALESCE(SUM(bgt_mutatie_bedrag), 0) bgt_mutatie_bedrag
|
||||
INTO v_bedrag
|
||||
FROM ( SELECT b.bgt_kostenrubriek_key
|
||||
, b.prs_kostensoortgrp_key
|
||||
@@ -218,7 +218,7 @@ AS
|
||||
OR (p_kostenrubriek_key IS NULL AND p_kostensoortgrp_key IS NOT NULL AND p_kostensoort_key IS NULL AND prs_kostensoortgrp_key = p_kostensoortgrp_key AND prs_kostensoort_key IS NULL)
|
||||
OR (p_kostenrubriek_key IS NULL AND p_kostensoortgrp_key IS NULL AND p_kostensoort_key IS NOT NULL AND prs_kostensoort_key = p_kostensoort_key)
|
||||
)
|
||||
AND (bgt_budgetmutatie_datum < p_datum OR p_datum IS NULL);
|
||||
AND (TRUNC(bgt_budgetmutatie_datum) <= p_datum OR p_datum IS NULL);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := NULL;
|
||||
@@ -233,6 +233,7 @@ AS
|
||||
v_budget_naar bgt_budgetmutatie.bgt_budget_key_naar%TYPE;
|
||||
v_mutatie_omschrijving bgt_budgetmutatie.bgt_budgetmutatie_omschrijving%TYPE;
|
||||
v_mutatie_reserve bgt_budgetmutatie.bgt_budgetmutatie_reserve%TYPE;
|
||||
v_mutatie_code bgt_budgetmutatie.bgt_budgetmutatie_code%TYPE;
|
||||
v_mutatie_level_van VARCHAR2(1);
|
||||
v_mutatie_level_naar VARCHAR2(1);
|
||||
v_soort_mutatie VARCHAR2(1);
|
||||
@@ -243,6 +244,7 @@ AS
|
||||
, m.bgt_budget_key_naar
|
||||
, m.bgt_budgetmutatie_omschrijving
|
||||
, m.bgt_budgetmutatie_reserve
|
||||
, m.bgt_budgetmutatie_code
|
||||
, CASE WHEN bv.prs_kostensoort_key IS NOT NULL
|
||||
THEN 'S'
|
||||
ELSE CASE WHEN bv.prs_kostensoortgrp_key IS NOT NULL
|
||||
@@ -268,6 +270,7 @@ AS
|
||||
, v_budget_naar
|
||||
, v_mutatie_omschrijving
|
||||
, v_mutatie_reserve
|
||||
, v_mutatie_code
|
||||
, v_mutatie_level_van
|
||||
, v_mutatie_level_naar
|
||||
, v_budget_isreserve
|
||||
@@ -281,12 +284,17 @@ AS
|
||||
-- Mutatie van-naar reserve (tussen algemeenreserve en kostensoort of kostenrubriek en kostensoort)
|
||||
-- (Is dus allebei tussen kostenrubriek en kostensoort).
|
||||
-- Maak nog onderscheid tussen automatische overboeking A (correctie van budget tgv meer gecontracteerd dan budget)
|
||||
-- en een gewone mutatie van/naar reserve.
|
||||
-- overboeking wegens meer-minderwerk W
|
||||
-- en een gewone mutatie van/naar reserve.
|
||||
IF ( (v_mutatie_level_van = 'R')
|
||||
OR (v_mutatie_level_naar = 'R')
|
||||
) THEN
|
||||
IF (v_mutatie_reserve = 1) THEN -- 'AO Automatische overboeking'
|
||||
v_soort_mutatie := 'A';
|
||||
IF (v_mutatie_code = 'W') THEN
|
||||
v_soort_mutatie := 'W';
|
||||
ELSE
|
||||
v_soort_mutatie := 'A';
|
||||
END IF;
|
||||
ELSE
|
||||
v_soort_mutatie := 'R';
|
||||
END IF;
|
||||
@@ -337,8 +345,8 @@ AS
|
||||
OR (p_status = 2 AND mld_statusopdr_key <> 10)
|
||||
OR (p_status = 3 AND mld_statusopdr_key = mld_statusopdr_key)
|
||||
)
|
||||
AND ((p_datum_van IS NOT NULL AND mld_opdr_datumbegin >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND mld_opdr_datumbegin <= p_datum_tot) OR p_datum_tot IS NULL);
|
||||
AND ((p_datum_van IS NOT NULL AND TRUNC(mld_opdr_datumbegin) >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND TRUNC(mld_opdr_datumbegin) <= p_datum_tot) OR p_datum_tot IS NULL);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := NULL;
|
||||
@@ -405,8 +413,8 @@ AS
|
||||
END facturen
|
||||
INTO v_bedrag
|
||||
FROM fin_factuur
|
||||
WHERE ((p_datum_van IS NOT NULL AND fin_factuur_advies >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND fin_factuur_advies <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
WHERE ((p_datum_van IS NOT NULL AND TRUNC(fin_factuur_advies) >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND TRUNC(fin_factuur_advies) <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
AND mld_opdr_key = p_mld_opdr_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
|
||||
Reference in New Issue
Block a user