FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization

svn path=/Database/trunk/; revision=34566
This commit is contained in:
Erik Groener
2017-07-07 11:16:59 +00:00
parent f498080962
commit 432751b821
4 changed files with 161 additions and 1 deletions

View File

@@ -3,7 +3,143 @@
* $Revision$
* $Id$
*/
CREATE OR REPLACE PACKAGE bgt
AS
FUNCTION getBudgetMutaties ( p_budget_key IN NUMBER
, p_datum_van DATE DEFAULT NULL
, p_datum_tot DATE DEFAULT NULL
) RETURN NUMBER;
FUNCTION getBudgetOpDatum ( p_budget_key IN NUMBER
, p_datum DATE DEFAULT NULL
) RETURN NUMBER;
FUNCTION getGefactureerd ( p_mld_opdr_key IN NUMBER
, p_btw IN NUMBER
, p_datum_van DATE DEFAULT NULL
, p_datum_tot DATE DEFAULT NULL
) RETURN NUMBER;
FUNCTION getTefactureren ( p_mld_opdr_key IN NUMBER
, p_btw IN NUMBER
, p_datum_van DATE DEFAULT NULL
, p_datum_tot DATE DEFAULT NULL
) RETURN NUMBER;
END bgt;
/
CREATE OR REPLACE PACKAGE BODY bgt
AS
FUNCTION getBudgetMutaties ( p_budget_key IN NUMBER
, p_datum_van DATE DEFAULT NULL
, p_datum_tot DATE DEFAULT NULL
) RETURN NUMBER
IS
v_bedrag_mut NUMBER;
BEGIN
v_bedrag_mut := 0;
BEGIN
SELECT COALESCE(SUM(mut.bedrag_van), 0)
INTO v_bedrag_mut
FROM (SELECT SUM(bgt_budget_bedrag_van) bedrag_van
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)
UNION
SELECT SUM(bgt_budget_bedrag_naar) bedrag_van
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)
) mut;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_bedrag_mut := 0;
END;
RETURN v_bedrag_mut;
END getBudgetMutaties;
FUNCTION getBudgetOpDatum ( p_budget_key IN NUMBER
, p_datum DATE DEFAULT NULL
) RETURN NUMBER
IS
v_bedrag NUMBER;
v_mutatie NUMBER;
v_eindbedrag NUMBER;
BEGIN
v_bedrag := 0;
BEGIN
SELECT COALESCE(bgt_budget_bedrag, 0)
, BGT.getBudgetMutaties(bgt_budget_key, p_datum+1, NULL)
INTO v_eindbedrag
, v_mutatie
FROM bgt_budget
WHERE bgt_budget_key = p_budget_key;
v_bedrag := v_eindbedrag - v_mutatie;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_bedrag := 0;
END;
RETURN v_bedrag;
END getBudgetOpDatum;
FUNCTION getGefactureerd ( p_mld_opdr_key IN NUMBER
, p_btw IN NUMBER
, p_datum_van DATE DEFAULT NULL
, p_datum_tot DATE DEFAULT NULL
) RETURN NUMBER
IS
v_bedrag NUMBER;
BEGIN
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
v_bedrag := 0;
BEGIN
SELECT CASE WHEN p_btw=0 THEN SUM(fin_factuur_totaal)
WHEN p_btw=1 THEN SUM(fin_factuur_totaal_btw)
WHEN p_btw=2 THEN SUM(fin_factuur_totaal) + SUM(fin_factuur_totaal_btw)
END facturen
INTO v_bedrag
FROM fin_factuur
WHERE ((p_datum_van IS NOT NULL AND fin_factuur_datum >= p_datum_van) OR p_datum_van IS NULL)
AND ((p_datum_tot IS NOT NULL AND fin_factuur_datum < p_datum_tot) OR p_datum_tot IS NULL)
AND mld_opdr_key = p_mld_opdr_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_bedrag := 0;
END;
RETURN v_bedrag;
END getGefactureerd;
FUNCTION getTefactureren ( p_mld_opdr_key IN NUMBER
, p_btw IN NUMBER
, p_datum_van DATE DEFAULT NULL
, p_datum_tot DATE DEFAULT NULL
) RETURN NUMBER
IS
v_bedrag NUMBER;
BEGIN
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
v_bedrag := 0;
BEGIN
SELECT CASE WHEN p_btw=0 THEN COALESCE(MAX(o.mld_opdr_kosten), 0) - SUM(f.fin_factuur_totaal)
WHEN p_btw=1 THEN COALESCE(MAX(o.mld_opdr_kosten_btw), 0) - SUM(f.fin_factuur_totaal_btw)
WHEN p_btw=2 THEN COALESCE(MAX(o.mld_opdr_kosten), 0) + COALESCE(MAX(o.mld_opdr_kosten_btw), 0) - SUM(f.fin_factuur_totaal) - SUM(f.fin_factuur_totaal_btw)
END tefactureren
INTO v_bedrag
FROM fin_factuur f
, mld_opdr o
WHERE o.mld_opdr_key = f.mld_opdr_key(+)
AND ((p_datum_van IS NOT NULL AND fin_factuur_datum >= p_datum_van) OR p_datum_van IS NULL)
AND ((p_datum_tot IS NOT NULL AND fin_factuur_datum < p_datum_tot) OR p_datum_tot IS NULL)
AND o.mld_opdr_key = p_mld_opdr_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_bedrag := 0;
END;
RETURN v_bedrag;
END getTefactureren;
END bgt;
/
REGISTERRUN('$Id$')

View File

@@ -42,7 +42,10 @@ CREATE_TABLE(bgt_project, 0)
bgt_project_aanmaak
DATE DEFAULT SYSDATE,
bgt_project_verwijder
DATE
DATE,
prs_kostenplaats_key
NUMBER (10)
CONSTRAINT bgt_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats (prs_kostenplaats_key)
);
ALTER TABLE prs_kostenplaatsgrp ADD bgt_project_key NUMBER(10) CONSTRAINT prs_r_bgt_project_key2 REFERENCES bgt_project (bgt_project_key);

View File

@@ -102,6 +102,8 @@ CREATE_TABLE(fin_factuur,0)
, fin_factuur_datum
DATE
NOT_NULL(fin_factuur_datum, fin_c_fin_factuur3)
, fin_factuur_advies
DATE
, fin_factuur_boekmaand
VARCHAR2(7)
, fin_factuur_debiteur_nr

View File

@@ -44,6 +44,25 @@ DEF_FAC_SRTNOT('CTRSUP', 0, 'lcl_noti_CTRSUP', 'mgt/ins_srtcontrole.asp?id=152',
ALTER TABLE ins_srtcontroledl_xcp DROP CONSTRAINT ins_u_ins_srtcontroledl_xcp;
ALTER TABLE ins_srtcontroledl_xcp ADD CONSTRAINT ins_u_ins_srtcontroledl_xcp UNIQUE (ins_deel_key, ins_srtcontrole_key, ins_scenario_key);
DEF_MENUITEM(2, 'lcl_menu_ctr_scenarios' , '', 'CTR', 'appl/mgt/ctr_scenario.asp', 0, 0, 'WEB_PRJMAN', 'W', '1', '');
/////////////////////////////////////////////////////////////////////////////////////////// FSN#39055
ALTER TABLE bgt_project
ADD prs_kostenplaats_key
NUMBER (10)
CONSTRAINT bgt_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats (prs_kostenplaats_key);
ALTER TABLE fin_factuur
ADD fin_factuur_advies
DATE;
DEF_MENUITEM(1, 'lcl_menu_bgt_account' , '', 'BGT', 'appl/mgt/prs_kostenplaats.asp', 0, 0, 'WEB_BGTMGT', 'W', '1', '');
DEF_MENUITEM(1, 'lcl_menu_bgt_bedrijf' , '', 'BGT', 'appl/prs/prs_bedrijf_search.asp?intern=0', 0, 0, 'WEB_BGTMGT', 'R', '1', '');
DEF_MENUITEM(1, 'lcl_menu_bgt_budget' , '', 'BGT', 'appl/bgt/bgt_budget.asp', 0, 0, 'WEB_BGTUSE', 'W', '1', '');
DEF_MENUITEM(1, 'lcl_menu_bgt_opdracht' , '', 'BGT', 'appl/bgt/mld_opdr.asp', 0, 0, 'WEB_BGTORD', 'W', '1', '');
DEF_MENUITEM(1, 'lcl_menu_bgt_factuur' , '', 'BGT', 'appl/bgt/fin_factuur.asp', 0, 0, 'WEB_BGTORD', 'W', '1', '');
DEF_MENUITEM(1, 'lcl_menu_bgt_rapport' , '', 'BGT', 'appl/fac/fac_reportx.asp', 0, 0, 'WEB_BGTMAN', 'R', '1', '');
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////