VLKC#64166 Rap/Alleen CF- en CV-contracten beschouwen

svn path=/Customer/trunk/; revision=48582
This commit is contained in:
Maarten van der Heide
2020-10-26 10:18:24 +00:00
parent 34a33fa555
commit 9f34dd1588

View File

@@ -1435,6 +1435,7 @@ BEGIN
UPDATE fac_imp_factuur SET ordernr = SUBSTR (ordernr, 2) WHERE UPPER (SUBSTR (ordernr, 1, 1)) = 'B' AND SUBSTR (ordernr, 2, 1) BETWEEN '0' AND '9'; -- Strip prefix 'B'
UPDATE fac_imp_factuur SET ordernr = 'C' || SUBSTR (ordernr, 3) WHERE UPPER (SUBSTR (ordernr, 1, 2)) = 'CF' AND SUBSTR (ordernr, 3, 1) BETWEEN '0' AND '9'; -- 'CF':='C'
UPDATE fac_imp_factuur SET ordernr = 'C' || SUBSTR (ordernr, 3) WHERE UPPER (SUBSTR (ordernr, 1, 2)) = 'CV' AND SUBSTR (ordernr, 3, 1) BETWEEN '0' AND '9'; -- 'CV':='C'
UPDATE fac_imp_factuur SET ordernr = 'C' || SUBSTR (ordernr, 3) WHERE UPPER (SUBSTR (ordernr, 1, 2)) = 'CH' AND SUBSTR (ordernr, 3, 1) BETWEEN '0' AND '9'; -- 'CH':='C'
fac_update_factuur (p_import_key); -- Standaard import verwacht voor BES-verplichting g<><67>n prefix, voor MLD-verplichting prefix<>'C' en voor CNT-verplichting prefix='C'!
END;
/
@@ -3373,6 +3374,8 @@ AS -- Bestelopdrachten
-- VLKC#40188: Verantwoording per jaar/hernoemen Jaarbedrag naar Jaarbedrag_heel/toevoegen Jaarbedrag_deel.
-- VLKC#56902: Uitbreiding met extra CF/CV-kolom. Tevens in de bestaande Contractnummer-kolom de variabele
-- contracten de prefix CV gegeven (en de prefix voor vaste contracten ongewijzigd C gebleven).
-- VLKC#64166: Alleen CF- en CV-contracten beschouwen en daarmee CH-(huur)contracten uitsluiten! Tevens de
-- prefix voor vaste contracten voortaan op CF (ipv. C).
CREATE OR REPLACE VIEW vlkc_v_rap_cnt_verantw
(
fclt_f_jaar,
@@ -3393,8 +3396,8 @@ CREATE OR REPLACE VIEW vlkc_v_rap_cnt_verantw
)
AS
SELECT TO_CHAR (c.jaar, 'yyyy') jaar,
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CV', 'CV', 'C') || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || TO_CHAR (c.cnt_contract_versie)) contractnummer,
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CV', 'CV', 'C') cf_of_cv,
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CF', 'CF', 'CV') || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || TO_CHAR (c.cnt_contract_versie)) contractnummer,
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CF', 'CF', 'CV') cf_of_cv,
lev.prs_bedrijf_naam leverancier,
lev.prs_leverancier_nr leveranciersnummer,
c.cnt_contract_kosten contractbedrag,
@@ -3471,6 +3474,7 @@ AS
AND c.prs_kostensoort_key = ksc.prs_kostensoort_key(+)
AND ksc.prs_kostensoortgrp_key = ksgc.prs_kostensoortgrp_key(+)
AND c.ins_discipline_key = td.ins_discipline_key
AND SUBSTR (td.ins_discipline_omschrijving, 1, 2) IN ('CF', 'CV')
AND td.prs_kostensoort_key = ksd.prs_kostensoort_key(+)
AND ksd.prs_kostensoortgrp_key = ksgd.prs_kostensoortgrp_key(+)
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
@@ -3479,8 +3483,8 @@ AS
AND (c.cnt_contract_verwijder IS NULL OR COALESCE (verantw.reeds_gefactureerd, 0) <> 0 OR COALESCE (verantw.reeds_verantwoord, 0) <> 0)
AND c.cnt_contract_key = cp.cnt_contract_key(+)
GROUP BY TO_CHAR (c.jaar, 'yyyy'),
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CV', 'CV', 'C') || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || TO_CHAR (c.cnt_contract_versie)),
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CV', 'CV', 'C'),
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CF', 'CF', 'CV') || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || TO_CHAR (c.cnt_contract_versie)),
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CF', 'CF', 'CV'),
lev.prs_bedrijf_naam,
lev.prs_leverancier_nr,
c.cnt_contract_kosten,
@@ -3494,8 +3498,8 @@ AS
ROUND (MONTHS_BETWEEN (LEAST (TRUNC (c.cnt_contract_looptijd_tot), ADD_MONTHS (c.jaar, 12) - 1), GREATEST (TRUNC (c.cnt_contract_looptijd_van), c.jaar)), 0) * c.cnt_contract_termijnkosten
UNION ALL -- Facturatie/verantwoording op verlopen contracten (in jaren n<> cnt_contract_looptijd_tot)!
SELECT SUBSTR (verantw.jaarkey, 1, 4) jaar,
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CV', 'CV', 'C') || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || TO_CHAR (c.cnt_contract_versie)) contractnummer,
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CV', 'CV', 'C') cf_of_cv,
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CF', 'CF', 'CV') || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || TO_CHAR (c.cnt_contract_versie)) contractnummer,
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CF', 'CF', 'CV') cf_of_cv,
lev.prs_bedrijf_naam leverancier,
lev.prs_leverancier_nr leveranciersnummer,
c.cnt_contract_kosten contractbedrag,
@@ -3568,6 +3572,7 @@ AS
AND c.prs_kostensoort_key = ksc.prs_kostensoort_key(+)
AND ksc.prs_kostensoortgrp_key = ksgc.prs_kostensoortgrp_key(+)
AND c.ins_discipline_key = td.ins_discipline_key
AND SUBSTR (td.ins_discipline_omschrijving, 1, 2) IN ('CF', 'CV')
AND td.prs_kostensoort_key = ksd.prs_kostensoort_key(+)
AND ksd.prs_kostensoortgrp_key = ksgd.prs_kostensoortgrp_key(+)
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
@@ -3575,8 +3580,8 @@ AS
AND c.prs_afdeling_key_eig = ab.prs_afdeling_key(+)
AND c.cnt_contract_key = cp.cnt_contract_key(+)
GROUP BY SUBSTR (verantw.jaarkey, 1, 4),
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CV', 'CV', 'C') || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || TO_CHAR (c.cnt_contract_versie)),
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CV', 'CV', 'C'),
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CF', 'CF', 'CV') || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || TO_CHAR (c.cnt_contract_versie)),
DECODE (SUBSTR (td.ins_discipline_omschrijving, 1, 2), 'CF', 'CF', 'CV'),
lev.prs_bedrijf_naam,
lev.prs_leverancier_nr,
c.cnt_contract_kosten,