ZGTW#89613 Implementatie ZGT - Facturatierapport aanpassen

svn path=/Customer/trunk/; revision=70637
This commit is contained in:
Sander Schepers
2025-10-16 12:06:52 +00:00
parent e37c4b921a
commit e9c7f02429

View File

@@ -947,6 +947,7 @@ CREATE OR REPLACE VIEW ZGTW_V_FACTURATIERAPPORT
VAN,
TOT,
ACTIVITEIT,
RUIMTE,
VOORZIENING_TYPE,
VOORZIENING_CATALOGUS,
VOORZIENING_PRODUCT,
@@ -955,8 +956,10 @@ CREATE OR REPLACE VIEW ZGTW_V_FACTURATIERAPPORT
VOORZIENING_AANTAL,
VOORZIENING_PRIJS,
VOORZIENING_PRIJS_EXTERN,
VOORZIENING_PRIJS_DOORBELAST,
VOORZIENING_TOTAALPRIJS,
VOORZIENING_TOTAALPRIJSEXTERN,
VOORZIENING_TOTAALPRIJS_DOORBELAST,
RUIMTE_UURPRIJS,
RUIMTE_DUUR,
ZAALHUUR,
@@ -971,9 +974,14 @@ AS
r2a
AS
( SELECT r.res_rsv_ruimte_key,
MAX (o.res_opstelling_omschrijving) AS opstelling,
MAX (ro.res_ruimte_opstel_bezoekers) AS capaciteit,
MAX (ra.alg_ruimte_key) AS alg_ruimte_key
MAX (o.res_opstelling_omschrijving)
AS opstelling,
MAX (ro.res_ruimte_opstel_bezoekers)
AS capaciteit,
MAX (ra.alg_ruimte_key)
AS alg_ruimte_key,
MAX (rr.res_ruimte_omschrijving)
AS ruimte
FROM res_rsv_ruimte r
JOIN res_ruimte_opstelling ro
ON r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
@@ -989,7 +997,8 @@ AS
SELECT rrr.res_rsv_ruimte_key,
'' AS opstelling,
NULL AS capaciteit,
r.alg_ruimte_key
r.alg_ruimte_key,
r.alg_ruimte_omschrijving as ruimte
FROM res_rsv_ruimte rrr
JOIN alg_ruimte r
ON r.alg_ruimte_key = rrr.alg_ruimte_key
@@ -1100,6 +1109,8 @@ AS
AS tot,
ra.res_activiteit_omschrijving
AS activiteit,
r2a.ruimte
AS ruimte,
voorz.vtype
AS voorziening_type,
voorz.catalogus
@@ -1110,60 +1121,94 @@ AS
AS voorziening_van,
TO_CHAR (voorz.tot, 'hh24:mi')
AS voorziening_tot,
voorz.aantal
NVL (voorz.aantal, 0)
AS voorziening_aantal,
voorz.prijs
NVL (voorz.prijs, 0)
AS voorziening_prijs,
voorz.prijs_extern
NVL (voorz.prijs_extern, 0)
AS voorziening_prijs_extern,
voorz.totaalprijs
CASE
WHEN b.prs_leverancier_nr IS NULL
OR rt.prs_relatietype_key = 30
THEN
NVL (voorz.prijs, 0)
ELSE
NVL (voorz.prijs_extern, 0)
END
AS voorziening_prijs_doorbelast,
NVL (voorz.totaalprijs, 0)
AS voorziening_totaalprijs,
voorz.totaalprijs_extern
NVL (voorz.totaalprijs_extern, 0)
AS voorziening_totaalprijsextern,
rr.res_ruimte_prijs
CASE
WHEN b.prs_leverancier_nr IS NULL
OR rt.prs_relatietype_key = 30
THEN
NVL (voorz.totaalprijs, 0)
ELSE
NVL (voorz.totaalprijs_extern, 0)
END
AS voorziening_totaalprijs_doorbelast,
NVL (rr.res_ruimte_prijs, 0)
AS ruimte_uurprijs,
ROUND ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, 2)
NVL (
ROUND ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24,
2),
0)
AS ruimte_duur,
CASE
WHEN b.prs_leverancier_nr IS NULL
THEN
NULL
0
WHEN rt.prs_relatietype_key = 30
THEN
NULL
0
ELSE
rr.res_ruimte_prijs
* (ROUND (
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van)
* 24,
2))
/ COUNT (*) OVER (PARTITION BY rrr.res_rsv_ruimte_key)
NVL (
NVL (rr.res_ruimte_prijs, 0)
* NVL (
ROUND (
( rrr.res_rsv_ruimte_tot
- rrr.res_rsv_ruimte_van)
* 24,
2),
0)
/ NULLIF (
COUNT (*)
OVER (PARTITION BY rrr.res_rsv_ruimte_key),
0),
0)
END
AS zaalhuur,
b.prs_leverancier_nr
AS debiteurnr,
pk.prs_kostenplaats_nr
pk.prs_kostenplaats_nr
AS kostenplaats_nr,
pk.prs_kostenplaats_omschrijving
AS kostenplaats_omschrijving,
pk.prs_kostenplaats_omschrijving
AS kostenplaats_omschrijving,
rt.prs_relatietype_omschrijving
AS relatietype_omschrijving,
CASE
WHEN b.prs_leverancier_nr IS NULL
THEN
voorz.totaalprijs
NVL (voorz.totaalprijs, 0)
WHEN rt.prs_relatietype_key = 30
THEN
voorz.totaalprijs
NVL (voorz.totaalprijs, 0)
ELSE
voorz.totaalprijs_extern
+ rr.res_ruimte_prijs
* (ROUND (
( rrr.res_rsv_ruimte_tot
- rrr.res_rsv_ruimte_van)
* 24,
2))
/ COUNT (*) OVER (PARTITION BY rrr.res_rsv_ruimte_key)
NVL (voorz.totaalprijs_extern, 0)
+ NVL (rr.res_ruimte_prijs, 0)
* NVL (
ROUND (
( rrr.res_rsv_ruimte_tot
- rrr.res_rsv_ruimte_van)
* 24,
2),
0)
/ NULLIF (
COUNT (*)
OVER (PARTITION BY rrr.res_rsv_ruimte_key),
0)
END
AS prijs_doorbelasting
FROM res_v_aanwezigrsv_ruimte rrr
@@ -1190,9 +1235,9 @@ AS
ON fac.safe_to_number (b.prs_relatietype_key) =
rt.prs_relatietype_key
LEFT JOIN res_rsv_ruimte rrv
ON rrv.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
ON rrv.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
LEFT JOIN prs_kostenplaats pk
ON pk.prs_kostenplaats_key = rrv.prs_kostenplaats_key
ON pk.prs_kostenplaats_key = rrv.prs_kostenplaats_key
WHERE rrr.res_rsv_ruimte_van >= DATE '2017-01-01'
AND ( rrr.res_ruimte_opstel_key IS NOT NULL
OR voorz.res_rsv_ruimte_key IS NOT NULL);