BLCC#64393 Herziening facturatie/allocatiemodel

svn path=/Customer/trunk/; revision=49246
This commit is contained in:
Maarten van der Heide
2020-12-18 13:24:20 +00:00
parent 4ddef5e988
commit 2b3e01744d

View File

@@ -12943,34 +12943,57 @@ AS
'1300' grtboekrek, -- Hard op '1300'
debiteur_nr rel_kpl,
NULL prj_activa, -- Hard op NULL
DECODE (mld_melding_key,
NULL, bedrag + ROUND (1.21 * ROUND (0.065 * netsum, 2), 2),
bedrag)
bedrag, -- Totaalbedrag incl. BTW (soms wel, soms niet Handling fee)!
netsum bedrag, -- Totaalbedrag incl. BTW per factuur!
'debit' debitcredit,
TRIM (DECODE (mld_melding_key, NULL, DECODE (aant, 1, regel_id, ''), DECODE (SUBSTR (regel_id, 1, 2), 'LV', DECODE (contract_id, NULL, regel_id, regel_id || ' C' || contract_id), 'CORR' || regel_id)) || ' Total') omschrijving,
NULL btwcode, -- Hard op NULL
mld_melding_key,
DECODE (mld_melding_key, NULL, 1, 0) antedateren -- Sync_id terug-antedateren igv. reguliere ADDD-facturatie
FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum,
SUM (v.mndnet) netsum,
SUM (ROUND (v.mndnet * DECODE (v.fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1), 2)) bedrag, -- Totaalbedrag incl. BTW!
COUNT (DISTINCT v.regel_id) aant,
SUM (ROUND (DECODE (v.fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) * netsum, 2)) netsum, -- Totaalbedrag incl. BTW per factuur!
SUM (aant) aant,
MIN (v.regel_id) regel_id,
MIN (v.contract_id) contract_id,
MIN (v.mld_melding_key) mld_melding_key
FROM blcc_v_addd_frozen v
WHERE (v.mld_melding_key IS NULL -- Reguliere facturatie!
OR NOT EXISTS -- Correctie/losverkoop tegen CV!
(SELECT 1
FROM cnt_v_aanwezigcontract c, fac_v_aanwezigusrdata factent
WHERE c.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code)
AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit
AND UPPER (factent.fac_usrdata_omschr) = 'CRF'
AND v.xmlnode = 'contract'
AND c.cnt_contract_key = v.refkey))
AND COALESCE (crf, 0) = 0
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code,
SUM (v.mndnet) netsum, -- Totaalbedrag excl. BTW gegroepeerd per factuur/BTW-tarief tbv. juiste afronding!
COUNT (DISTINCT v.regel_id) aant,
MIN (v.regel_id) regel_id,
MIN (v.contract_id) contract_id,
MIN (v.mld_melding_key) mld_melding_key
FROM (SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum,
v.fin_btwtabelwaarde_code,
v.mndnet,
v.regel_id,
v.contract_id,
v.mld_melding_key
FROM blcc_v_addd_frozen v
WHERE (v.mld_melding_key IS NULL -- Reguliere facturatie!
OR NOT EXISTS -- Correctie/losverkoop tegen CV!
(SELECT 1
FROM cnt_v_aanwezigcontract c, fac_v_aanwezigusrdata factent
WHERE c.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code)
AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit
AND UPPER (factent.fac_usrdata_omschr) = 'CRF'
AND v.xmlnode = 'contract'
AND c.cnt_contract_key = v.refkey))
AND COALESCE (v.crf, 0) = 0
--AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
UNION ALL -- Handling fee (=6,5% over totaal tegen 21%) toevoegen als regel!
SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
'H' fin_btwtabelwaarde_code,
ROUND (0.065 * mndnet, 2) mndnet,
NULL regel_id,
contract_id,
NULL mld_melding_key
FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, contract_id, crf,
SUM (mndnet) mndnet
FROM blcc_v_addd_frozen
WHERE mld_melding_key IS NULL -- Handling fee alleen bij reguliere facturatie!
AND COALESCE (crf, 0) = 0
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, contract_id, crf)) v
GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code) v
GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum)
UNION ALL
SELECT v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) sortering,
@@ -13265,33 +13288,36 @@ AS
'1300' grtboekrek, -- Hard op '1300'
debiteur_nr rel_kpl,
NULL prj_activa, -- Hard op NULL
DECODE (mld_melding_key,
NULL, bedrag + ROUND (1.21 * ROUND (0.065 * netsum, 2), 2),
bedrag)
bedrag, -- Totaalbedrag incl. BTW (soms wel, soms niet Handling fee)!
netsum bedrag, -- Totaalbedrag incl. BTW per factuur!
'debit' debitcredit,
TRIM (DECODE (mld_melding_key, NULL, DECODE (aant, 1, regel_id, ''), DECODE (SUBSTR (regel_id, 1, 2), 'LV', DECODE (contract_id, NULL, regel_id, regel_id || ' C' || contract_id), 'CORR' || regel_id)) || ' Total') omschrijving,
NULL btwcode, -- Hard op NULL
mld_melding_key,
DECODE (mld_melding_key, NULL, 1, 0) antedateren -- Sync_id terug-antedateren igv. reguliere ADDD-facturatie
FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum,
SUM (v.mndnet) netsum,
SUM (ROUND (v.mndnet * DECODE (v.fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1), 2)) bedrag, -- Totaalbedrag incl. BTW!
COUNT (DISTINCT v.regel_id) aant,
SUM (ROUND (DECODE (v.fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) * netsum, 2)) netsum, -- Totaalbedrag incl. BTW per factuur!
SUM (aant) aant,
MIN (v.regel_id) regel_id,
MIN (v.contract_id) contract_id,
MIN (v.mld_melding_key) mld_melding_key
FROM blcc_v_addd_frozen v
WHERE EXISTS -- Correctie/losverkoop tegen CRF!
(SELECT 1
FROM cnt_v_aanwezigcontract c, fac_v_aanwezigusrdata factent
WHERE c.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code)
AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit
AND UPPER (factent.fac_usrdata_omschr) = 'CRF'
AND v.xmlnode = 'contract'
AND c.cnt_contract_key = v.refkey)
OR crf = 1
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code,
SUM (v.mndnet) netsum, -- Totaalbedrag excl. BTW gegroepeerd per factuur/BTW-tarief tbv. juiste afronding!
COUNT (DISTINCT v.regel_id) aant,
MIN (v.regel_id) regel_id,
MIN (v.contract_id) contract_id,
MIN (v.mld_melding_key) mld_melding_key
FROM blcc_v_addd_frozen v
WHERE EXISTS -- Correctie/losverkoop tegen CRF!
(SELECT 1
FROM cnt_v_aanwezigcontract c, fac_v_aanwezigusrdata factent
WHERE c.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code)
AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit
AND UPPER (factent.fac_usrdata_omschr) = 'CRF'
AND v.xmlnode = 'contract'
AND c.cnt_contract_key = v.refkey)
OR crf = 1
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code) v
GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum)
UNION ALL
SELECT v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) sortering,
@@ -15397,7 +15423,9 @@ CREATE OR REPLACE VIEW blcc_v_rap_opdrachten
datum_tf,
raming_bcc,
raming_pma,
raming_cma
raming_cma,
kostensoort_reg,
kostensoort_afw
)
AS
SELECT DECODE (mld_melding_spoed,
@@ -15460,7 +15488,9 @@ AS
dtf.datum_tf,
rbcc.raming_bcc,
rpma.raming_pma,
rcma.raming_cma
rcma.raming_cma,
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) kostensoort_reg,
kso.prs_kostensoort_oms kostensoort_afw
FROM mld_opdr o,
mld_typeopdr ot,
mld_melding m,
@@ -15628,7 +15658,10 @@ AS
WHERE EXISTS (SELECT 1 -- 122=Raming CMA
FROM mld_kenmerk
WHERE mld_kenmerk_key = ko.mld_kenmerk_key
AND mld_srtkenmerk_key = 122)) rcma
AND mld_srtkenmerk_key = 122)) rcma,
prs_kostensoort kso,
prs_kostensoort ksm,
prs_kostensoort ksv
WHERE o.mld_typeopdr_key = ot.mld_typeopdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
@@ -15651,7 +15684,10 @@ AS
AND o.mld_opdr_key = dtf.mld_opdr_key(+)
AND o.mld_opdr_key = rbcc.mld_opdr_key(+)
AND o.mld_opdr_key = rpma.mld_opdr_key(+)
AND o.mld_opdr_key = rcma.mld_opdr_key(+);
AND o.mld_opdr_key = rcma.mld_opdr_key(+)
AND o.prs_kostensoort_key = kso.prs_kostensoort_key(+)
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
AND md.prs_kostensoort_key = ksv.prs_kostensoort_key(+);
-- BLCC#38512
CREATE OR REPLACE VIEW blcc_v_rap_mldtrk
@@ -18337,8 +18373,8 @@ AS
--DECODE (sr.prs_verhuurbaar, NULL, 'Nee', 'Ja') verhuurbaar,
sr.alg_srtruimte_omschrijving,
r.alg_ruimte_omschrijving,
fac.safe_to_number (nvo.alg_onrgoedkenmerk_waarde) nvo,
vloertype.alg_onrgoedkenmerk_waarde vloertype,
nvo.waarde,
vloertype.waarde,
c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') contractnr
FROM cnt_v_aanwezigcontract c,
cnt_contract_plaats cp,
@@ -18347,8 +18383,15 @@ AS
alg_gebouw g,
alg_locatie l,
alg_srtruimte sr,
(SELECT * FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1460 AND alg_onrgoed_niveau = 'R') nvo,
(SELECT * FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1301 AND alg_onrgoed_niveau = 'R') vloertype
(SELECT alg_onrgoed_key, fac.safe_to_number (alg_onrgoedkenmerk_waarde) waarde
FROM alg_v_aanwezigonrgoedkenmerk
WHERE alg_kenmerk_key = 1460 -- NVO
AND alg_onrgoed_niveau = 'R') nvo,
(SELECT alg_onrgoed_key, ud.fac_usrdata_omschr waarde
FROM alg_v_aanwezigonrgoedkenmerk ok, fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1301 -- Vloertype
AND ok.alg_onrgoed_niveau = 'R'
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key) vloertype
WHERE c.ins_discipline_key = 2501 -- Soft Services Cleaning
AND c.cnt_contract_status = 0 -- Definitief
AND TRUNC (ADD_MONTHS (SYSDATE, 1), 'mm') - 1 BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1)