BSSC#55692 Facturatieproces (eenmalige tweak tbv. Parkeren CMD)
svn path=/Customer/trunk/; revision=59401
This commit is contained in:
137
BSSC/bssc.sql
137
BSSC/bssc.sql
@@ -1409,13 +1409,9 @@ AS
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||||
x.maand,
|
||||
--TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||||
--TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||||
--TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||||
--TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||||
'01-03-2023' mndbegin, -- TODO:Eenmalige tweak!
|
||||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||||
'01-03-2023' dagbegin, -- TODO:Eenmalige tweak!
|
||||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||||
@@ -1424,14 +1420,12 @@ AS
|
||||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage
|
||||
bedrag.cnt_kenmerk_key regel_key,
|
||||
NULL alg_onroerendgoed_type, NULL alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||||
--ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
ROUND ((1 + ((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1))) *
|
||||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) *
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) *
|
||||
1/12, 2)
|
||||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||||
--ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
ROUND ((1 + ((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1))) *
|
||||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) *
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) *
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) *
|
||||
@@ -1466,36 +1460,6 @@ AS
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = cmdnr.prs_link_key(+)
|
||||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||||
UNION ALL --TODO:Eenmalige tweak voor contracten t/m maart 2023 lopen!
|
||||
SELECT c.ins_discipline_key,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||||
c.cnt_contract_nummer,
|
||||
c.cnt_contract_omschrijving,
|
||||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (cmdnr.prs_kenmerklink_waarde) debiteur_nr,
|
||||
0.21 btw,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||||
lp.maand
|
||||
FROM lopendeperiode lp,
|
||||
cnt_v_aanwezigcontract c,
|
||||
prs_bedrijf b,
|
||||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||||
prs_kostenplaats kp,
|
||||
prs_kostenplaatsgrp kpg
|
||||
WHERE c.ins_discipline_key = 2004 -- Parkeren CMD
|
||||
AND c.cnt_contract_status = 0 -- Definitief
|
||||
--AND c.cnt_contract_key IN (1482, 1486)
|
||||
AND TRUNC (c.cnt_contract_looptijd_van) <= TO_DATE ('202303' || '01', 'yyyymmdd') -- Van-datum <= 01-03-2023/TODO:Eenmalige tweak!
|
||||
AND TRUNC (c.cnt_contract_looptijd_tot) = TO_DATE ('202303' || '31', 'yyyymmdd') -- Tot-datum = 31-03-2023/TODO:Eenmalige tweak!
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = cmdnr.prs_link_key(+)
|
||||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||||
LEFT JOIN prs_kenmerklink btwvl
|
||||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||||
@@ -2350,9 +2314,9 @@ AS
|
||||
--TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||||
--TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||||
--TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||||
'01-03-2023' mndbegin, -- TODO:Eenmalige tweak!
|
||||
DECODE (x.cnt_contract_key, 1576, '01-04-2023', '01-03-2023') mndbegin, -- TODO:Eenmalige tweak!
|
||||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||||
'01-03-2023' dagbegin, -- TODO:Eenmalige tweak!
|
||||
DECODE (x.cnt_contract_key, 1576, '01-04-2023', '01-03-2023') dagbegin, -- TODO:Eenmalige tweak!
|
||||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||||
@@ -2362,13 +2326,13 @@ AS
|
||||
bedrag.cnt_kenmerk_key regel_key,
|
||||
NULL alg_onroerendgoed_type, NULL alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||||
--ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
ROUND ((1 + ((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1))) *
|
||||
ROUND ((DECODE (x.cnt_contract_key, 1576, 0, 1) + ((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1))) *
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) *
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) *
|
||||
1/12, 2)
|
||||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||||
--ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||||
ROUND ((1 + ((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1))) *
|
||||
ROUND ((DECODE (x.cnt_contract_key, 1576, 0, 1) + ((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1))) *
|
||||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) *
|
||||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) *
|
||||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) *
|
||||
@@ -2619,7 +2583,6 @@ AS
|
||||
SELECT '[' || v.refid || '|' || v.prs_debiteur_naam || '|' || v.regel || '] ' aanduiding,
|
||||
v.*
|
||||
FROM bssc_v_fact_actual v
|
||||
WHERE v.grtboekrek = '8115' -- TODO:Eenmalige tweak!
|
||||
ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering, v.regel, v.alg_plaatsaanduiding;
|
||||
|
||||
-- Verstuur verkoopfactuur naar huurder.
|
||||
@@ -6791,52 +6754,48 @@ AS
|
||||
-- Rapportage ter controle facturatie van contracten per maand (of niet).
|
||||
CREATE OR REPLACE VIEW BSSC_V_RAP_CNT_FIN_MND
|
||||
AS
|
||||
WITH lopendeperiode
|
||||
AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '202301') maand
|
||||
FROM fin_verkoopfactuur)
|
||||
SELECT x.maand,
|
||||
x.debiteurnaam,
|
||||
x.contractsoort_key,
|
||||
x.contractsoort,
|
||||
x.cnt_contract_key,
|
||||
x.contractnummer,
|
||||
x.cnt_contract_looptijd_van,
|
||||
x.cnt_contract_looptijd_tot,
|
||||
SELECT f.maand,
|
||||
f.stroom,
|
||||
f.prs_debiteur_naam debiteurnaam,
|
||||
COALESCE (cd.ins_discipline_key, sm.mld_stdmelding_key)
|
||||
refsoort_key,
|
||||
COALESCE (cd.ins_discipline_omschrijving, sm.mld_stdmelding_omschrijving)
|
||||
refsoort,
|
||||
f.refkey,
|
||||
f.refid,
|
||||
c.cnt_contract_looptijd_van,
|
||||
c.cnt_contract_looptijd_tot,
|
||||
f.fin_verkoopfactuur_id,
|
||||
f.mndnet totaal
|
||||
FROM (SELECT TO_CHAR (p.maand, 'yyyymm') maand,
|
||||
b.prs_bedrijf_naam debiteurnaam,
|
||||
cd.ins_discipline_key contractsoort_key,
|
||||
cd.ins_discipline_omschrijving contractsoort,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern || '/' || COALESCE (c.cnt_contract_versie, '0') contractnummer,
|
||||
c.cnt_contract_looptijd_van,
|
||||
c.cnt_contract_looptijd_tot
|
||||
FROM ( SELECT ADD_MONTHS (fac.safe_to_date ('01-01-2023', 'dd-mm-yyyy'), LEVEL - 1) maand
|
||||
FROM lopendeperiode lp
|
||||
WHERE ADD_MONTHS (fac.safe_to_date ('01-01-2023', 'dd-mm-yyyy'), LEVEL - 1) BETWEEN fac.safe_to_date ('20230101', 'yyyymmdd')
|
||||
AND fac.safe_to_date (lp.maand || '01', 'yyyymmdd')
|
||||
CONNECT BY LEVEL <= 240) p,
|
||||
cnt_v_aanwezigcontract c,
|
||||
prs_bedrijf b,
|
||||
cnt_discipline cd
|
||||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||||
AND cd.ins_discipline_key IN (2001, 2003, 2004, 2005)
|
||||
AND c.cnt_contract_status = 0 -- Definitief
|
||||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (p.maand) -- Van-datum < einde te factureren maand
|
||||
AND c.cnt_contract_looptijd_tot > p.maand) x -- Tot-datum > begin te factureren maand
|
||||
LEFT JOIN
|
||||
( SELECT maand, refkey, refid, beschrijving, fin_verkoopfactuur_id, SUM (mndnet) mndnet
|
||||
FROM bssc_v_fact_actual
|
||||
GROUP BY maand, refkey, refid, beschrijving, fin_verkoopfactuur_id
|
||||
UNION ALL
|
||||
SELECT maand, refkey, refid, beschrijving, fin_verkoopfactuur_id, SUM (mndnet) mndnet
|
||||
FROM bssc_v_fact_frozen
|
||||
GROUP BY maand, refkey, refid, beschrijving, fin_verkoopfactuur_id) f
|
||||
ON x.maand = f.maand AND x.cnt_contract_key = f.refkey
|
||||
WHERE f.mndnet != 0
|
||||
;
|
||||
FROM ( SELECT maand, 'Contract' stroom, prs_debiteur_naam, refkey, refid, beschrijving, fin_verkoopfactuur_id,
|
||||
SUM (mndnet) mndnet
|
||||
FROM bssc_v_fact_frozen
|
||||
GROUP BY maand, 'Contract', prs_debiteur_naam, refkey, refid, beschrijving, fin_verkoopfactuur_id
|
||||
UNION ALL
|
||||
SELECT maand, 'Contract' stroom, prs_debiteur_naam, refkey, refid, beschrijving, fin_verkoopfactuur_id,
|
||||
SUM (mndnet) mndnet
|
||||
FROM bssc_v_fact_actual
|
||||
GROUP BY maand, 'Contract', prs_debiteur_naam, refkey, refid, beschrijving, fin_verkoopfactuur_id
|
||||
UNION ALL
|
||||
SELECT maand, 'Melding' stroom, prs_debiteur_naam, mld_melding_key refkey, TO_CHAR (mld_melding_key) refid, regel_oms beschrijving, fin_verkoopfactuur_id,
|
||||
SUM (mndnet) mndnet
|
||||
FROM bssc_v_addd_frozen
|
||||
WHERE mld_melding_key IS NOT NULL
|
||||
GROUP BY maand, 'Melding', prs_debiteur_naam, mld_melding_key, TO_CHAR (mld_melding_key), regel_oms, fin_verkoopfactuur_id
|
||||
UNION ALL
|
||||
SELECT maand, 'Melding' stroom, prs_debiteur_naam, mld_melding_key refkey, TO_CHAR (mld_melding_key) refid, regel_oms beschrijving, fin_verkoopfactuur_id,
|
||||
SUM (mndnet) mndnet
|
||||
FROM bssc_v_addd_actual
|
||||
WHERE mld_melding_key IS NOT NULL
|
||||
GROUP BY maand, 'Melding', prs_debiteur_naam, mld_melding_key, TO_CHAR (mld_melding_key), regel_oms, fin_verkoopfactuur_id) f
|
||||
LEFT JOIN cnt_v_aanwezigcontract c
|
||||
ON f.stroom = 'Contract' AND f.refkey = c.cnt_contract_key
|
||||
LEFT JOIN cnt_discipline cd
|
||||
ON c.ins_discipline_key = cd.ins_discipline_key
|
||||
LEFT JOIN mld_melding m
|
||||
ON f.stroom = 'Melding' AND f.refkey = m.mld_melding_key
|
||||
LEFT JOIN mld_stdmelding sm
|
||||
ON m.mld_stdmelding_key = sm.mld_stdmelding_key;
|
||||
|
||||
-- Rapportage tbv. interne facturatie van CMD aan CHV (betaald door CHV aan CMD)!
|
||||
CREATE OR REPLACE VIEW BSSC_V_RAP_CMD2CHV
|
||||
|
||||
Reference in New Issue
Block a user