YASK#90843 Opdrachten toevoegen voor contractmutaties in Facilitor

svn path=/Customer/trunk/; revision=70601
This commit is contained in:
Arthur Egberink
2025-10-13 14:55:47 +00:00
parent cdd2a8386a
commit 0c9c58cbba

View File

@@ -66,6 +66,12 @@ AS
PROCEDURE set_mandaatbedrag (p_opdr_key IN NUMBER);
FUNCTION vk_bepaal_maandbedrag (p_startdienstverlening IN DATE,
p_startverrekening IN DATE,
p_maand IN NUMBER,
p_bedrag IN NUMBER)
RETURN NUMBER;
PROCEDURE add_xml_row (p_bestand IN VARCHAR2,
p_regel IN VARCHAR2);
@@ -141,6 +147,12 @@ AS
OR (k.mld_kenmerk_niveau = 'D' AND k.mld_stdmelding_key = d.ins_discipline_key)
OR (k.mld_kenmerk_niveau = 'S' AND k.mld_stdmelding_key = std.mld_stdmelding_key)
);
WHEN p_module = 'ALG'
THEN
SELECT alg_kenmerk_key
INTO kkey
FROM alg_kenmerk k
WHERE k.alg_kenmerk_code = p_kenmerk_code;
ELSE
kkey := NULL;
END CASE;
@@ -1108,6 +1120,42 @@ AS
RETURN;
END;
-- Voor contractmutaties moet een excel bestand aangeleverd worden waarin per maand de kosten komen te staan.
-- Hierbij beginnen de kosten op p_startverrekening. Als de dienstverlening eerder start zal er een verrekening
-- plaatsvinden in p_startverrekening
FUNCTION vk_bepaal_maandbedrag (p_startdienstverlening IN DATE,
p_startverrekening IN DATE,
p_maand IN NUMBER,
p_bedrag IN NUMBER)
RETURN NUMBER
AS
v_startdienstverlening DATE;
v_startverrekening DATE;
v_maand DATE;
BEGIN
v_startdienstverlening := TRUNC (p_startdienstverlening, 'MM');
v_startverrekening := TRUNC (p_startverrekening, 'MM');
-- als de datum dat de dienstverlening start later ligt dan de datum dat de verrekening start,
-- wordt de verreking pas gestart als ook de dienstverlening start.
IF v_startdienstverlening > v_startverrekening
THEN
v_startverrekening := v_startdienstverlening;
END IF;
v_maand := ADD_MONTHS (TRUNC (SYSDATE, 'YY'), p_maand - 1);
CASE
WHEN v_maand = v_startverrekening
THEN
RETURN ROUND(MONTHS_BETWEEN (v_startverrekening, v_startdienstverlening) * p_bedrag,2);
WHEN v_maand > v_startverrekening
THEN
RETURN ROUND(p_bedrag,2);
ELSE
RETURN NULL;
END CASE;
END;
PROCEDURE add_xml_row (
p_bestand IN VARCHAR2,
@@ -4332,7 +4380,7 @@ BEGIN
v_errormsg := 'Fout bijwerken status (MLD).';
FLX.setflex('OPD', v_ts_kenmerk_key, rec.mld_opdr_key, TO_CHAR(SYSDATE, 'dd-mm-yyyy hh:mi:ss'));
FLX.setflex('OPD', v_ts_kenmerk_key, rec.mld_opdr_key, TO_CHAR(SYSDATE, 'dd-mm-yyyy hh24:mi:ss'));
-- Om tot een goede factuurmatch te komen wordt het bedrag van de opdracht toegevoegd aan het factuurschema
-- van het variabele contract.