BSSC#81023 Implementatie facturatieproces RES

svn path=/Customer/trunk/; revision=67710
This commit is contained in:
Maarten van der Heide
2025-01-23 14:21:01 +00:00
parent f1d3df08c9
commit 627cfae7dc

View File

@@ -474,7 +474,9 @@ CREATE OR REPLACE VIEW bssc_v_rap_ssc_cat_factlijst
btw,
aantal,
prijs,
totaal
totaal,
activiteit,
project_code
)
AS -- Catering gesorteerd per datum/res_id
SELECT TO_CHAR (x.res_rsv_artikel_levering, 'yyyymmdd') || TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) sortering,
@@ -482,6 +484,7 @@ AS -- Catering gesorteerd per datum/res_id
x.res_rsv_artikel_levering datum,
x.ruimte,
x.res_rsv_ruimte_bezoekers personen,
--x.prs_afdeling_naam || '-' || x.prs_afdeling_omschrijving organisatie,
x.prs_afdeling_omschrijving organisatie,
x.prs_perslid_naam_full gastheer,
x.prs_kostenplaats_omschrijving kostenplaats,
@@ -493,7 +496,7 @@ AS -- Catering gesorteerd per datum/res_id
-- AND rk.res_srtkenmerk_key = 1)
-- costcenter,
x.res_rsv_ruimte_omschrijving omschrijving,
kw.res_kenmerkreservering_waarde horeca_details,
hd.res_kenmerkreservering_waarde horeca_details,
x.artikel product,
COALESCE (x.verw_btw, x.btw) btw,
x.aantal,
@@ -501,13 +504,16 @@ AS -- Catering gesorteerd per datum/res_id
NULL, x.prijs,
x.verw_prijs / DECODE (COALESCE (x.aantal, 0), 0, 1, x.aantal))
prijs,
COALESCE (x.verw_prijs, x.aantal * x.prijs) totaal
COALESCE (x.verw_prijs, x.aantal * x.prijs) totaal,
x.res_activiteit_omschrijving activiteit,
pc.res_kenmerkreservering_waarde project_code
FROM (SELECT rrr.res_rsv_ruimte_key,
rrr.res_reservering_key,
rrr.res_rsv_ruimte_volgnr,
rra.res_rsv_artikel_levering,
COALESCE (rr.res_ruimte_nr, aog.alg_plaatsaanduiding) ruimte,
rrr.res_rsv_ruimte_bezoekers,
a.prs_afdeling_naam,
a.prs_afdeling_omschrijving,
pf.prs_perslid_naam_full,
kp.prs_kostenplaats_nr,
@@ -518,7 +524,8 @@ AS -- Catering gesorteerd per datum/res_id
ra.res_artikel_btw btw,
rra.res_rsv_artikel_aantal aantal,
rra.res_rsv_artikel_prijs verw_prijs,
ra.res_artikel_prijs prijs
ra.res_artikel_prijs prijs,
act.res_activiteit_omschrijving
FROM res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
@@ -540,7 +547,8 @@ AS -- Catering gesorteerd per datum/res_id
res_discipline rd,
--prs_kostensoort ks,
res_disc_params dp,
prs_bedrijf b
prs_bedrijf b,
res_activiteit act
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
AND rrr.res_status_fo_key = 2 -- BSSC#61120: Alleen FO-status=Definitief!
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
@@ -562,16 +570,25 @@ AS -- Catering gesorteerd per datum/res_id
AND dp.prs_bedrijf_key = b.prs_bedrijf_key
--AND rra.res_rsv_artikel_verwerkt IS NULL
AND rra.res_rsv_artikel_levering > TO_DATE ('20171101', 'yyyymmdd')
AND rra.res_rsv_artikel_levering < SYSDATE) x
AND rra.res_rsv_artikel_levering < SYSDATE
AND rrr.res_activiteit_key = act.res_activiteit_key) x
LEFT JOIN
res_v_aanwezigkenmerkwaarde kw
ON x.res_rsv_ruimte_key = kw.res_rsv_ruimte_key
res_v_aanwezigkenmerkwaarde hd
ON x.res_rsv_ruimte_key = hd.res_rsv_ruimte_key
AND EXISTS
(SELECT 1
FROM res_kenmerk
WHERE res_kenmerk_verwijder IS NULL
AND res_srtkenmerk_key = 142 -- Horeca details
AND res_kenmerk_key = kw.res_kenmerk_key);
AND res_kenmerk_key = hd.res_kenmerk_key)
LEFT JOIN
res_v_aanwezigkenmerkwaarde pc
ON x.res_rsv_ruimte_key = pc.res_rsv_ruimte_key
AND EXISTS
(SELECT 1
FROM res_kenmerk
WHERE res_srtkenmerk_key = 401 -- Projectcode
AND res_kenmerk_key = pc.res_kenmerk_key);
CREATE OR REPLACE VIEW bssc_v_rap_parkres_bez
(
@@ -6847,7 +6864,7 @@ SELECT UPPER (SUBSTR (xmlnode, 1, 1)) factuurstroom, -- R of M!
FROM bssc_v_addd_actual
WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01';
-- BSSC#65731+BSSC#85523
-- BSSC#65731+BSSC#85523+BSSC#81023
CREATE OR REPLACE VIEW bssc_v_rap_resprice
(
res_rsv_ruimte_key,
@@ -6871,7 +6888,10 @@ CREATE OR REPLACE VIEW bssc_v_rap_resprice
res_line_totaal, -- Bedrag
deelresprijs, -- Totaal
btw,
kostensoort
kostensoort,
activiteit,
organisatie,
uw_kenmerk
)
AS
SELECT rrr.res_rsv_ruimte_key,
@@ -6893,11 +6913,15 @@ AS
x.aantal,
x.res_extra,
x.res_omschrijving,
x.stuksprijs,
x.aantal * x.stuksprijs,
res.getdeelresprijs (rrr.res_rsv_ruimte_key) deelresprijs,
x.stuksprijs res_stuk_prijs,
x.aantal * x.stuksprijs res_line_totaal,
res.getdeelresprijs (rrr.res_rsv_ruimte_key) * 1.05 deelresprijs,
x.btw,
x.prs_kostensoort_oms || ' - ' || prs_kostensoort_opmerking kostensoort
x.prs_kostensoort_oms || ' - ' || prs_kostensoort_opmerking kostensoort,
act.res_activiteit_omschrijving activiteit,
--a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving organisatie,
a.prs_afdeling_omschrijving organisatie,
uk.res_kenmerkreservering_waarde uw_kenmerk
FROM (SELECT 'Artikel' res_type,
rra.res_rsv_ruimte_key,
rra.res_rsv_artikel_aantal aantal,
@@ -6950,25 +6974,42 @@ AS
AND disc.prs_kostensoort_key = ks.prs_kostensoort_key(+)
UNION ALL
SELECT 'Korting' res_type,
res_rsv_ruimte_key,
rrr.res_rsv_ruimte_key,
-1 aantal,
NULL res_extra,
'Korting' res_omschrijving,
res_rsv_ruimte_korting stuksprijs,
rrr.res_rsv_ruimte_korting stuksprijs,
21 btw,
ks.prs_kostensoort_oms,
ks.prs_kostensoort_opmerking
FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr, res_opstelling ro, res_discipline disc, prs_kostensoort ks
FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr, res_discipline disc, prs_kostensoort ks
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
AND rrr.res_rsv_ruimte_korting IS NOT NULL
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = rr.res_ruimte_key
AND rro.res_opstelling_key = ro.res_opstelling_key
AND rr.res_discipline_key = disc.ins_discipline_key
AND disc.prs_kostensoort_key = ks.prs_kostensoort_key(+)
UNION ALL
SELECT 'Management fee' res_type,
rrr.res_rsv_ruimte_key,
1 aantal,
NULL res_extra,
'Management fee' res_omschrijving,
res.getdeelresprijs (rrr.res_rsv_ruimte_key) * 0.05 stuksprijs, -- BSSC#81023: Management fee 5%
21 btw,
ks.prs_kostensoort_oms,
ks.prs_kostensoort_opmerking
FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr, res_discipline disc, prs_kostensoort ks
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_discipline_key = disc.ins_discipline_key
AND disc.prs_kostensoort_key = ks.prs_kostensoort_key(+)) x,
res_rsv_ruimte rrr,
prs_v_perslid_fullnames_all pfh,
prs_v_perslid_fullnames_all pfc,
prs_perslid p,
prs_afdeling a,
prs_v_perslid_fullnames_all pfh,
(SELECT *
FROM res_v_aanwezigkenmerkwaarde
WHERE res_kenmerk_key IN (248, 254, 264, 325)) rel, -- Relatie
@@ -6978,12 +7019,19 @@ AS
(SELECT 1
FROM res_kenmerk
WHERE res_srtkenmerk_key = 401 -- Projectcode
AND res_kenmerk_key = kr.res_kenmerk_key)) pc
AND res_kenmerk_key = kr.res_kenmerk_key)) pc,
res_activiteit act,
(SELECT * FROM res_v_aanwezigkenmerkwaarde WHERE res_kenmerk_key IN (252, 258, 269, 329)) uk -- Uw kenmerk
WHERE x.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_rsv_ruimte_contact_key = pfc.prs_perslid_key
AND rrr.res_rsv_ruimte_host_key = pfh.prs_perslid_key
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND p.prs_perslid_key = pfh.prs_perslid_key
AND x.res_rsv_ruimte_key = rel.res_rsv_ruimte_key(+)
AND x.res_rsv_ruimte_key = pc.res_rsv_ruimte_key(+);
AND x.res_rsv_ruimte_key = pc.res_rsv_ruimte_key(+)
AND rrr.res_activiteit_key = act.res_activiteit_key
AND rrr.res_rsv_ruimte_key = uk.res_rsv_ruimte_key(+)
AND rrr.res_rsv_ruimte_van > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy');
-- Rapportage ter controle facturatie van contracten per maand (of niet).
CREATE OR REPLACE VIEW BSSC_V_RAP_CNT_FIN_MND