BSSC#81023 Implementatie facturatieproces RES

svn path=/Customer/trunk/; revision=63135
This commit is contained in:
Maarten van der Heide
2024-01-10 13:12:24 +00:00
parent 4e2e3060b4
commit e3e7442eee

View File

@@ -3819,11 +3819,12 @@ AS
CREATE OR REPLACE VIEW bssc_v_addd_actual
AS
WITH lopendeperiode AS (SELECT TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm') maand FROM dual)
--WITH lopendeperiode AS (SELECT TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm') maand FROM dual)
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
'CMD' || TRIM (COALESCE (x.en, '-')) po_nr,
TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) sortering, -- TODO
DECODE (x.res_activiteit_key, 30, 'Vergadering ', 50, 'Event ', 'Roomservice ') || x.res_id regel,
--DECODE (x.res_activiteit_key, 30, 'Vergadering ', 50, 'Event ', 'Roomservice ') || x.res_id regel,
'Meeting ' || x.res_id regel,
x.prs_perslid_naam_full aanvrager,
DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening) regel_oms,
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
@@ -3879,9 +3880,10 @@ AS
btwvl.prs_kenmerklink_waarde btw_vl,
pf.prs_perslid_naam_full,
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
lp.maand,
--lp.maand,
TO_CHAR (res_rsv_ruimte_van, 'yyyymm') maand, -- TODO:Maand volgens van-datum of vrijgave-datum?
rrr.res_activiteit_key
FROM lopendeperiode lp,
FROM --lopendeperiode lp,
res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
@@ -3911,12 +3913,12 @@ AS
res_ruimte rr,
res_discipline rd,
prs_kostensoort ks
WHERE rrr.res_activiteit_key IN (30, 50) -- Vergadering/Events!
AND rrr.res_rsv_ruimte_van > TO_DATE ('20210101', 'yyyymmdd')
WHERE rrr.res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren!
AND rrr.res_rsv_ruimte_van > TO_DATE ('20231001', 'yyyymmdd') -- TODO
AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE + 1)
AND rrr.res_status_bo_key = 5 -- Afgemeld
AND rrr.res_rsv_ruimte_dirtlevel = 0
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
@@ -3955,9 +3957,10 @@ AS
btwvl.prs_kenmerklink_waarde btw_vl,
pf.prs_perslid_naam_full,
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
lp.maand,
--lp.maand,
TO_CHAR (res_rsv_ruimte_van, 'yyyymm') maand, -- TODO:Maand volgens van-datum of vrijgave-datum?
rrr.res_activiteit_key
FROM lopendeperiode lp,
FROM --lopendeperiode lp,
res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
@@ -3987,8 +3990,8 @@ AS
res_ruimte rr,
res_discipline rd,
prs_kostensoort ks
WHERE rrr.res_activiteit_key IN (30, 50) -- Vergadering+Events!
AND rrr.res_rsv_ruimte_van > TO_DATE ('20210101', 'yyyymmdd')
WHERE rrr.res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren!
AND rrr.res_rsv_ruimte_van > TO_DATE ('20231001', 'yyyymmdd') -- TODO
AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE + 1)
AND rrr.res_status_bo_key = 5 -- Afgemeld
AND rrr.res_rsv_ruimte_dirtlevel = 0
@@ -4032,9 +4035,10 @@ AS
btwvl.prs_kenmerklink_waarde btw_vl,
pf.prs_perslid_naam_full,
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
lp.maand,
--lp.maand,
TO_CHAR (res_rsv_ruimte_van, 'yyyymm') maand, -- TODO:Maand volgens van-datum of vrijgave-datum?
rrr.res_activiteit_key
FROM lopendeperiode lp,
FROM --lopendeperiode lp,
res_rsv_ruimte rrr,
res_ruimte_opstelling rro,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
@@ -4074,14 +4078,14 @@ AS
ra.res_artikel_omschrijving,
ra.res_artikel_eenheid
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
WHERE rra.res_rsv_artikel_levering > TO_DATE ('20210101', 'yyyymmdd')
WHERE rra.res_rsv_artikel_levering > TO_DATE ('20231001', 'yyyymmdd')
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
AND rra.res_status_bo_key = 5 -- Afgemeld
AND rra.res_rsv_artikel_dirtlevel = 0
AND rra.res_artikel_key = ra.res_artikel_key) rra,
res_discipline rd,
prs_kostensoort ks
WHERE rrr.res_activiteit_key IN (30, 50, 90) -- Vergadering/Events/Roomservice!
WHERE rrr.res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren!
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
@@ -4121,9 +4125,10 @@ AS
btwvl.prs_kenmerklink_waarde btw_vl,
pf.prs_perslid_naam_full,
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
lp.maand,
--lp.maand,
TO_CHAR (res_rsv_ruimte_van, 'yyyymm') maand, -- TODO:Maand volgens van-datum of vrijgave-datum?
rrr.res_activiteit_key
FROM lopendeperiode lp,
FROM --lopendeperiode lp,
res_rsv_ruimte rrr,
res_ruimte_opstelling rro,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
@@ -4160,7 +4165,7 @@ AS
rd.res_deel_omschrijving,
rd.res_deel_eenheid
FROM res_v_aanwezigrsv_deel rrd, res_deel rd
WHERE rrd.res_rsv_deel_van > TO_DATE ('20210101', 'yyyymmdd')
WHERE rrd.res_rsv_deel_van > TO_DATE ('20231001', 'yyyymmdd')
AND rrd.res_rsv_deel_van < TRUNC (SYSDATE + 1)
AND rrd.res_status_bo_key = 5 -- Afgemeld
AND rrd.res_rsv_deel_dirtlevel = 0
@@ -4168,7 +4173,7 @@ AS
AND rd.res_discipline_key <> 1921) rrd, -- SSC Parkeren
res_discipline rd,
prs_kostensoort ks
WHERE 1 = 0 --TODO:rrr.res_activiteit_key IN (30, 50, 90) -- Vergadering/Events/Roomservice!
WHERE 1 = 0 --TODO:rrr.res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren!
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
@@ -4190,7 +4195,8 @@ AS
GROUP BY '*CONCEPT*',
'CMD' || TRIM (COALESCE (x.en, '-')),
TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr),
DECODE (x.res_activiteit_key, 30, 'Vergadering ', 50, 'Event ', 'Roomservice ') || x.res_id,
--DECODE (x.res_activiteit_key, 30, 'Vergadering ', 50, 'Event ', 'Roomservice ') || x.res_id,
'Meeting ' || x.res_id,
x.prs_perslid_naam_full,
DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening),
TO_CHAR (SYSDATE, 'dd-mm-yyyy'), TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy'),
@@ -4324,7 +4330,13 @@ AS
SELECT '[' || v.regel || '|' || v.prs_debiteur_naam || '] ' aanduiding,
v.*
FROM bssc_v_addd_actual v
WHERE v.xmlnode = 'reservering' -- TODO:VRIJGEGEVEN!!!
WHERE v.xmlnode = 'reservering'
AND EXISTS (SELECT 1 -- TODO:Gevuld=VRIJGEGEVEN!!!
FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE kw.res_kenmerkwaarde_verwijder IS NULL
AND kw.res_kenmerk_key = k.res_kenmerk_key
AND k.res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door
AND kw.res_rsv_ruimte_key = v.refkey)
ORDER BY v.prs_bedrijf_key,
v.po_nr, -- Factuur per vrijgegeven event/po
v.sortering;
@@ -6329,6 +6341,7 @@ AS
AND p.prs_perslid_key = pf.prs_perslid_key
AND SUBSTR (p.prs_perslid_oslogin, 1, 1) != '_';
-- FIN: Te factureren meldingen en reserveringen (ter vrijgave)
CREATE OR REPLACE VIEW BSSC_V_RAP_TEFACTUREREN
(
xmlnode,
@@ -6367,21 +6380,18 @@ AS
v.refid,
v.regel refoms,
rs.res_status_bo_omschrijving status,
fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum,
fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum, -- Na RESAFM ter vrijgave via deze rapportage! TODO:Kan dan nog kenmerk worden gezet?
v.mndnet,
fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever
fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever -- Vrijgever is de geselecteerde user
--t.prs_perslid_key vrijgave_door,
--kw.res_kenmerkwaarde_aanmaak vrijgave_datum
FROM bssc_v_addd_actual v,
res_v_aanwezigrsv_ruimte rrr,
(SELECT *
FROM res_kenmerkwaarde kw
WHERE res_kenmerkwaarde_verwijder IS NULL
AND EXISTS
(SELECT 1
FROM res_kenmerk
WHERE res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door
AND res_kenmerk_key = kw.res_kenmerk_key)) kw,
(SELECT kw.*
FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE kw.res_kenmerkwaarde_verwijder IS NULL
AND kw.res_kenmerk_key = k.res_kenmerk_key
AND k.res_srtkenmerk_key = 281) kw -- Vrijgegeven ter facturatie door
--(SELECT * -- Boterzacht, maar hoe anders?
-- FROM fac_tracking
-- WHERE fac_srtnotificatie_key = 82 -- RESUPD
@@ -6402,7 +6412,7 @@ AS
TO_CHAR (v.mld_melding_key) refid,
v.regel_oms refoms,
ms.mld_statuses_omschrijving status,
fac.gettrackingdate ('MLDACP', v.mld_melding_key) datum,
fac.gettrackingdate ('MLDACP', v.mld_melding_key) datum, -- Na MLDACP ter vrijgave via deze rapportage!
v.mndnet,
fac.gettrackinguserkey ('MLDAFM', v.mld_melding_key) vrijgever -- Vrijgever is de MLDAFM-user
--TO_NUMBER (NULL) vrijgave_door,
@@ -7610,6 +7620,53 @@ AS
(mndbez / mndbes) * (COALESCE (totaal, 0) + (COALESCE (huur, pchv_maand, 0) * COALESCE (verv_toeslagperc, 0))) totaal -- Inclusief vervangende toeslag
FROM bssc_v_cnt_kosten_pm;
CREATE OR REPLACE VIEW BSSC_V_RAP_AFD_VS_REL
AS
SELECT a.prs_afdeling_omschrijving afd_naam,
a.prs_afdeling_aanmaak afd_aanmaak,
b.prs_bedrijf_naam rel_naam,
b.prs_bedrijf_contract contractant,
b.prs_bedrijf_uitvoerende uitvoerende,
b.prs_bedrijf_huurder huurder,
b.prs_bedrijf_aanmaak rel_aanmaak
FROM prs_afdeling a, prs_bedrijf b
WHERE a.prs_afdeling_verwijder IS NULL
AND a.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus
AND UPPER (TRIM (a.prs_afdeling_omschrijving)) = TRIM (b.prs_bedrijf_naam_upper)
AND b.prs_bedrijf_intern IS NULL
UNION ALL
SELECT a.prs_afdeling_omschrijving afd_naam,
a.prs_afdeling_aanmaak afd_aanmaak,
NULL rel_naam,
NULL contractant,
NULL uitvoerende,
NULL huurder,
NULL rel_aanmaak
FROM prs_afdeling a
WHERE a.prs_afdeling_verwijder IS NULL
AND a.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus
AND NOT EXISTS
(SELECT 1
FROM prs_bedrijf
WHERE prs_bedrijf_intern IS NULL
AND TRIM (prs_bedrijf_naam_upper) = UPPER (TRIM (a.prs_afdeling_omschrijving)))
UNION ALL
SELECT NULL afd_naam,
NULL afd_aanmaak,
b.prs_bedrijf_naam rel_naam,
b.prs_bedrijf_contract contractant,
b.prs_bedrijf_uitvoerende uitvoerende,
b.prs_bedrijf_huurder huurder,
b.prs_bedrijf_aanmaak rel_aanmaak
FROM prs_bedrijf b
WHERE b.prs_bedrijf_intern IS NULL
AND NOT EXISTS
(SELECT 1
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL
AND prs_bedrijf_key = 2442 -- Huurders Smart Services Campus
AND UPPER (TRIM (prs_afdeling_omschrijving)) = TRIM (b.prs_bedrijf_naam_upper));
------ payload end ------
SET DEFINE OFF