From e9c7f02429d0e25c8f85d3ba9d86249298d8de56 Mon Sep 17 00:00:00 2001 From: Sander Schepers Date: Thu, 16 Oct 2025 12:06:52 +0000 Subject: [PATCH] ZGTW#89613 Implementatie ZGT - Facturatierapport aanpassen svn path=/Customer/trunk/; revision=70637 --- ZGTW/ZGTW.sql | 113 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 79 insertions(+), 34 deletions(-) diff --git a/ZGTW/ZGTW.sql b/ZGTW/ZGTW.sql index dd68b74f7..e124ee676 100644 --- a/ZGTW/ZGTW.sql +++ b/ZGTW/ZGTW.sql @@ -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);