KFSG#77433 Rap/Artikelen wel-niet gefactureerd per maand

svn path=/Customer/trunk/; revision=60333
This commit is contained in:
Maarten van der Heide
2023-05-09 11:00:15 +00:00
parent b1390e2e2e
commit 3adc1ef1c7

View File

@@ -3380,14 +3380,14 @@ BEGIN
BEGIN
IF rec.res_rsv_artikel_key IS NOT NULL
THEN -- Catering-regel
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
INTO v_prijs
FROM DUAL;
IF rec.res_status_bo_key = 2
THEN
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
INTO v_prijs
FROM DUAL;
v_errormsg := 'Fout afmelden res_rsv_artikel';
UPDATE res_rsv_artikel
@@ -4704,24 +4704,73 @@ AS
-- - 2161 - Dranken
CREATE OR REPLACE VIEW KFSG_V_RAP_RES_KOSTEN_PHJ
AS
SELECT TO_CHAR (ADD_MONTHS (SYSDATE, -6), 'yyyy') || DECODE (TO_CHAR (ADD_MONTHS (SYSDATE, -6), 'q'), '1', '-1', '2', '-1', '-2') hide_f_te_notificeren,
TO_CHAR (x.res_rsv_artikel_levering, 'yyyy') || DECODE (TO_CHAR (x.res_rsv_artikel_levering, 'q'), '1', '-1', '2', '-1', '-2') halfjaar,
WITH halfjaar
AS (SELECT DECODE (TO_CHAR (ADD_MONTHS (SYSDATE, 6), 'yyyy'), TO_CHAR (SYSDATE, 'yyyy'), TRUNC (SYSDATE, 'yyyy'), ADD_MONTHS (TRUNC (SYSDATE, 'yyyy'), 6))
begindatum
FROM DUAL)
SELECT x.halfjaar,
x.prs_kostenplaats_nr,
SUM (COALESCE (x.verw_prijs, x.prijs, 0)) kosten -- Netto bedrag, want alle bedragen excl. BTW, toch?
FROM (SELECT rrr.res_rsv_ruimte_key,
rrr.res_reservering_key,
rrr.res_rsv_ruimte_volgnr,
rrr.prs_kostenplaats_key,
FROM (SELECT DECODE (
SIGN (rra.res_rsv_artikel_levering - halfjaar.begindatum),
1, 'Lopend',
TO_CHAR (rra.res_rsv_artikel_levering, 'yyyy') || DECODE (TO_CHAR (rra.res_rsv_artikel_levering, 'q'), '1', '-1', '2', '-1', '-2'))
halfjaar,
kp.prs_kostenplaats_nr,
kp.prs_kostenplaats_omschrijving,
b.prs_bedrijf_key,
b.prs_bedrijf_naam,
rra.res_rsv_artikel_levering,
rra.res_rsv_artikel_prijs verw_prijs,
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs prijs,
rra.res_rsv_artikel_btw
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs prijs
FROM res_v_aanwezigrsv_ruimte rrr,
--res_ruimte_opstelling rro,
--( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
-- FROM res_alg_ruimte
-- WHERE res_alg_ruimte_verwijder IS NULL
-- GROUP BY res_ruimte_key) rar1,
--( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
-- FROM res_alg_ruimte
-- WHERE res_alg_ruimte_verwijder IS NOT NULL
-- GROUP BY res_ruimte_key) rar2,
--alg_v_allonroerendgoed aog,
res_v_aanwezigrsv_artikel rra,
res_artikel ra,
--res_disc_params dp,
--prs_bedrijf b,
prs_kostenplaats kp,
halfjaar
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
--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
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND rra.res_rsv_artikel_dirtlevel = 0
AND rra.res_rsv_artikel_verwerkt IS NOT NULL
AND rra.res_rsv_artikel_levering BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (SYSDATE + 1) -- Afgelopen jaar plus dit jaar t/m vandaag!
AND rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key IN (821, 822, 826, 828, 861, 1242, 1261, 1961, 1981, 2022, 2101, 2161)
--AND ra.res_discipline_key = dp.res_ins_discipline_key(+)
--AND dp.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)) x
GROUP BY x.halfjaar, x.prs_kostenplaats_nr;
/*
-- Kopie van bovenstaande om details per reservering in te bouwen, maar vervallen?
CREATE OR REPLACE VIEW KFSG_V_RAP_RES_KOSTEN_PHJ2
AS
WITH halfjaar
AS (SELECT DECODE (TO_CHAR (ADD_MONTHS (SYSDATE, 6), 'yyyy'), TO_CHAR (SYSDATE, 'yyyy'), TRUNC (SYSDATE, 'yyyy'), ADD_MONTHS (TRUNC (SYSDATE, 'yyyy'), 6))
begindatum
FROM DUAL)
SELECT x.halfjaar,
x.prs_kostenplaats_nr,
SUM (COALESCE (x.verw_prijs, x.prijs, 0)) kosten -- Netto bedrag, want alle bedragen excl. BTW, toch?
FROM (SELECT DECODE (
SIGN (rra.res_rsv_artikel_levering - halfjaar.begindatum),
1, 'Lopend',
TO_CHAR (rra.res_rsv_artikel_levering, 'yyyy') || DECODE (TO_CHAR (rra.res_rsv_artikel_levering, 'q'), '1', '-1', '2', '-1', '-2'))
halfjaar,
kp.prs_kostenplaats_nr,
rra.res_rsv_artikel_prijs verw_prijs,
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs prijs
FROM res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
FROM res_alg_ruimte
@@ -4734,10 +4783,11 @@ AS
alg_v_allonroerendgoed aog,
res_v_aanwezigrsv_artikel rra,
res_artikel ra,
res_disc_params dp,
prs_bedrijf b
--res_disc_params dp,
--prs_bedrijf b,
prs_kostenplaats kp,
halfjaar
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
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(+)
@@ -4745,14 +4795,13 @@ AS
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND rra.res_rsv_artikel_dirtlevel = 0
AND rra.res_rsv_artikel_verwerkt IS NOT NULL
AND rra.res_rsv_artikel_levering BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (SYSDATE + 1) -- Afgelopen jaar plus dit jaar t/m vandaag!
AND rra.res_rsv_artikel_levering BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (SYSDATE + 1) -- Afgelopen jaar plus dit jaar t/m vandaag!
AND rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key IN (821, 822, 826, 828, 861, 1242, 1261, 1961, 1981, 2022, 2101, 2161)
AND ra.res_discipline_key = dp.res_ins_discipline_key(+)
AND dp.prs_bedrijf_key = b.prs_bedrijf_key(+)) x
GROUP BY TO_CHAR (ADD_MONTHS (SYSDATE, -6), 'yyyy') || DECODE (TO_CHAR (ADD_MONTHS (SYSDATE, -6), 'q'), '1', '-1', '2', '-1', '-2'),
TO_CHAR (x.res_rsv_artikel_levering, 'yyyy') || DECODE (TO_CHAR (x.res_rsv_artikel_levering, 'q'), '1', '-1', '2', '-1', '-2'),
x.prs_kostenplaats_nr;
--AND ra.res_discipline_key = dp.res_ins_discipline_key(+)
--AND dp.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)) x;
*/
/*
SELECT TO_CHAR (x.res_rsv_artikel_levering, 'yyyy') || DECODE (TO_CHAR (x.res_rsv_artikel_levering, 'q'), '1', '-1', '2', '-1', '-2') halfjaar,
x.prs_kostenplaats_nr,
@@ -4863,6 +4912,104 @@ AS
AND fac_usrrap_key > r.fac_usrrap_key)
;
-- KFSG#77433: Artikelen wel-niet gefactureerd per maand.
/* Zijn er ooit verbruiksartikelen onder verwijderde reserveringen gefactureerd?
SELECT fin_verkoopfactuur_omschr
FROM fin_verkoopfactuur
WHERE EXISTS
(SELECT 1
FROM res_rsv_ruimte rrr, res_rsv_artikel rra
WHERE rrr.res_rsv_ruimte_verwijder IS NOT NULL
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND rra.res_rsv_artikel_key = fin_verkoopfactuur_refkey);
*/
CREATE OR REPLACE VIEW KFSG_V_RAP_RES_ART_PM
AS
SELECT TO_CHAR (x.res_rsv_artikel_levering, 'yyyy-mm') maand,
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) res_id,
x.res_rsv_ruimte_van van,
x.res_rsv_ruimte_tot tot,
x.res_rsv_artikel_levering levertijd,
x.plaatsaanduiding,
x.ins_discipline_omschrijving catalogus,
x.prs_bedrijf_naam leverancier,
x.res_artikel_omschrijving,
x.res_artikel_eenheid,
x.res_artikel_volgnummer,
x.res_rsv_artikel_aantal aantal,
--res.getartikelprijs (x.res_rsv_artikel_key) kosten,
--COALESCE (verw_prijs, prijs, 0) kosten,
COALESCE (vf.fin_verkoopfactuur_bedrag, verw_prijs, prijs, 0) kosten,
DECODE (vf.fin_verkoopfactuur_key, NULL, 'Nee', 'Ja') gefactureerd,
x.res_status_bo_omschrijving status,
x.res_rsv_ruimte_key
FROM (SELECT rrr.res_reservering_key,
rrr.res_rsv_ruimte_volgnr,
rrr.res_rsv_ruimte_key,
rra.res_rsv_artikel_key,
rrr.res_rsv_ruimte_van,
rrr.res_rsv_ruimte_tot,
rra.res_rsv_artikel_levering,
COALESCE (rr.res_ruimte_nr, pa.alg_plaatsaanduiding) plaatsaanduiding,
rd.ins_discipline_omschrijving,
b.prs_bedrijf_naam,
rra.res_artikel_omschrijving,
rra.res_artikel_eenheid,
rra.res_artikel_volgnummer,
rra.res_rsv_artikel_aantal,
rra.res_rsv_artikel_prijs verw_prijs,
rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs,
rs.res_status_bo_omschrijving
FROM res_rsv_ruimte rrr,
res_ruimte_opstelling rro,
res_ruimte rr,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
FROM res_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
GROUP BY res_ruimte_key) rar1,
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
FROM res_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NOT NULL
GROUP BY res_ruimte_key) rar2,
--alg_v_allonroerendgoed aog,
(SELECT *
FROM alg_v_plaatsaanduiding_all
WHERE alg_onroerendgoed_type = 'R') pa,
(SELECT rra.res_rsv_ruimte_key,
rra.res_rsv_artikel_key,
rra.res_rsv_artikel_levering,
ra.res_discipline_key,
ra.res_artikel_omschrijving,
ra.res_artikel_eenheid,
ra.res_artikel_volgnummer,
rra.res_rsv_artikel_aantal,
rra.res_rsv_artikel_prijs,
ra.res_artikel_prijs,
rra.res_status_bo_key
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
WHERE rra.res_rsv_artikel_dirtlevel = 0
AND rra.res_rsv_artikel_levering > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy')
AND rra.res_rsv_artikel_levering < TRUNC (ADD_MONTHS (SYSDATE, 1), 'mm')
AND rra.res_artikel_key = ra.res_artikel_key) rra,
res_v_aanwezigdiscipline rd,
res_disc_params dp,
prs_bedrijf b,
res_status_bo rs
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 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
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = pa.alg_onroerendgoed_keys(+)
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND rra.res_discipline_key = rd.ins_discipline_key
AND rd.ins_discipline_key = dp.res_ins_discipline_key
AND dp.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND rra.res_status_bo_key = rs.res_status_bo_key(+)) x,
fin_verkoopfactuur vf -- Aanname: Alleen gevuld met gefactureerde res_rsv_artikel!
WHERE x.res_rsv_artikel_key = vf.fin_verkoopfactuur_refkey(+);
------ payload end ------
SET DEFINE OFF