KFSG#51990 Facturatieproces

svn path=/Customer/trunk/; revision=40601
This commit is contained in:
Maarten van der Heide
2019-01-19 18:18:11 +00:00
parent a574e447cf
commit 94ab6b5561

View File

@@ -451,7 +451,7 @@ AS
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_kostenplaats_key = ka.prs_kostenplaats_key
AND geg.datum < SYSDATE;
/*
-- KFSG#51990: Facturatieproces (eerste opzet zoals KFNS)!
CREATE OR REPLACE VIEW kfsg_v_rap_actual_cost_tot
(
@@ -471,19 +471,18 @@ CREATE OR REPLACE VIEW kfsg_v_rap_actual_cost_tot
kosten
)
AS -- Vaste contractkosten over de ACTUAL termijn
SELECT c.cp_afdeling_key,
SELECT c.prs_afdeling_key,
TO_CHAR (SYSDATE, 'yyyy-mm'), -- Deze maand volgende maand factureren (achteraf)
--c.prs_bedrijf_key,
c.prs_bedrijf_naam bedrijf,
--c.cp_perslid_key,
--c.prs_perslid_key,
--c.cp_aanhef,
--c.cp_naam,
--c.cp_email,
--c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_nummer_intern, -- Uit deze maand lopend contract, anders geen vaste kosten
c.cnt_contract_omschrijving,
--kc.cnt_kenmerkcontract_waarde,
c.cnt_contract_nummer, -- Uit deze maand lopend contract, anders geen vaste kosten
c.cnt_contract_nummer,
--NULL mld_opdr_key,
--NULL opdr_id,
0 aantal,
@@ -497,18 +496,14 @@ AS -- Vaste contractkosten over de ACTUAL termijn
kosten -- Wat als looptijd < jaar?
FROM (SELECT b.prs_bedrijf_key,
b.prs_bedrijf_naam,
pcp.prs_afdeling_key cp_afdeling_key,
pcp.prs_perslid_key cp_perslid_key,
DECODE (pcp.prs_perslid_geslacht,
0, 'Mevr. ',
1, 'Dhr. ',
'')
pcp.prs_afdeling_key,
pcp.prs_perslid_key,
DECODE (pcp.prs_perslid_geslacht, 0, 'Mevr. ', 1, 'Dhr. ', '')
cp_aanhef,
DECODE (
COALESCE (pcp.prs_perslid_voorletters,
SUBSTR (pcp.prs_perslid_voornaam, 1, 1)),
NULL,
NULL,
NULL, NULL,
COALESCE (
pcp.prs_perslid_voorletters,
SUBSTR (pcp.prs_perslid_voornaam, 1, 1) || '.')
@@ -529,8 +524,7 @@ AS -- Vaste contractkosten over de ACTUAL termijn
prs_bedrijf b,
cnt_contract mc,
prs_contactpersoon cp,
prs_perslid pcp,
prs_perslid pcm
prs_perslid pcp
WHERE c.ins_discipline_key = 522 -- Vaste contracten
--AND c.cnt_contract_status = 0 -- NIET Gesloten
AND TRUNC (c.cnt_contract_looptijd_van) < TRUNC (LAST_DAY (SYSDATE))
@@ -538,11 +532,7 @@ AS -- Vaste contractkosten over de ACTUAL termijn
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+)
AND mc.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
AND cp.prs_perslid_key = pcp.prs_perslid_key(+)
AND c.prs_perslid_key_beh = pcm.prs_perslid_key) c
LEFT JOIN cnt_kenmerkcontract kc
ON kc.cnt_kenmerk_key = -1 -- Inkoopordernummer NS
AND c.cnt_contract_key = kc.cnt_contract_key
AND cp.prs_perslid_key = pcp.prs_perslid_key(+)) c
LEFT JOIN cnt_kenmerkcontract ce
ON ce.cnt_kenmerk_key = -1 -- Credit/extra kosten
AND c.cnt_contract_key = ce.cnt_contract_key
@@ -554,14 +544,13 @@ AS -- Vaste contractkosten over de ACTUAL termijn
TO_CHAR (SYSDATE, 'yyyy-mm'), -- Deze maand ORDAFR, volgende maand factureren (achteraf)
--b.prs_bedrijf_key,
b.prs_bedrijf_naam,
--pcp.prs_perslid_key cp_perslid_key,
--pcp.prs_perslid_key,
--DECODE (pcp.prs_perslid_geslacht, 0, 'Mevr. ', 1, 'Dhr. ', '')
-- cp_aanhef,
--DECODE (
-- COALESCE (pcp.prs_perslid_voorletters,
-- SUBSTR (pcp.prs_perslid_voornaam, 1, 1)),
-- NULL,
-- NULL,
-- NULL, NULL,
-- COALESCE (pcp.prs_perslid_voorletters,
-- SUBSTR (pcp.prs_perslid_voornaam, 1, 1) || '.')
-- || ' ')
@@ -574,12 +563,9 @@ AS -- Vaste contractkosten over de ACTUAL termijn
--c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_omschrijving,
--kc.cnt_kenmerkcontract_waarde,
c.cnt_contract_nummer,
--o.mld_opdr_key,
-- TO_CHAR (o.mld_melding_key)
--|| '/'
--|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
--TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
-- opdr_id,
COUNT ( * ) aantal,
SUM (o.mld_opdr_kosten) kosten
@@ -599,8 +585,7 @@ AS -- Vaste contractkosten over de ACTUAL termijn
cnt_contract mc,
prs_bedrijf b,
prs_contactpersoon cp,
prs_perslid pcp,
prs_perslid pcm
prs_perslid pcp
WHERE o.mld_statusopdr_key = 9
AND o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 76 -- ORDAFR
@@ -614,14 +599,13 @@ AS -- Vaste contractkosten over de ACTUAL termijn
AND ko.mld_kenmerkopdr_waarde = '1') -- Aangevinkt
AND o.cnt_contract_key = c.cnt_contract_key(+) -- TODO: PLUS WEG
AND c.ins_discipline_key(+) = 523 -- TODO: PLUS WEG/Variabele contracten
--AND c.cnt_contract_status = 0 -- NIET Gesloten
--AND c1.cnt_contract_nummer_intern = c2.cnt_contract_nummer_intern
--AND (t.fac_tracking_datum BETWEEN c2.cnt_contract_looptijd_van
-- AND c2.cnt_contract_looptijd_tot
--AND (t.fac_tracking_datum BETWEEN c2.cnt_contract_looptijd_van AND c2.cnt_contract_looptijd_tot
-- OR NOT EXISTS
-- (SELECT 1
-- FROM cnt_contract
-- WHERE t.fac_tracking_datum BETWEEN cnt_contract_looptijd_van
-- AND cnt_contract_looptijd_tot
-- WHERE t.fac_tracking_datum BETWEEN cnt_contract_looptijd_van AND cnt_contract_looptijd_tot
-- AND cnt_contract_nummer_intern = c2.cnt_contract_nummer_intern))
--AND o.mld_melding_key = m.mld_melding_key
--AND m.prs_perslid_key = pf.prs_perslid_key
@@ -633,11 +617,10 @@ AS -- Vaste contractkosten over de ACTUAL termijn
--AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
--AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
--AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+) -- TODO: PLUS WEG
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+)
AND mc.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
AND cp.prs_perslid_key = pcp.prs_perslid_key(+)
AND c.prs_perslid_key_beh = pcm.prs_perslid_key(+) -- TODO: PLUS WEG
GROUP BY pcp.prs_afdeling_key,
TO_CHAR (SYSDATE, 'yyyy-mm'),
--b.prs_bedrijf_key,
@@ -645,13 +628,106 @@ AS -- Vaste contractkosten over de ACTUAL termijn
--c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_omschrijving,
c.cnt_contract_nummer;
c.cnt_contract_nummer
UNION ALL -- Reserveringskosten
SELECT x.prs_afdeling_key,
TO_CHAR (SYSDATE, 'yyyy-mm'), -- Deze maand volgende maand factureren (achteraf)
--x.prs_bedrijf_key,
x.prs_bedrijf_naam bedrijf,
--x.cnt_contract_key,
x.cnt_contract_nummer_intern, -- Uit deze maand lopend contract, anders geen variabele kosten
x.cnt_contract_omschrijving,
x.cnt_contract_nummer,
--NULL mld_opdr_key,
--NULL opdr_id,
COUNT (DISTINCT x.res_rsv_ruimte_key) aantal,
SUM (COALESCE (verw_prijs, prijs, 0)) kosten -- Netto bedrag
FROM (SELECT --b.prs_bedrijf_key,
b.prs_bedrijf_naam,
pcp.prs_afdeling_key,
--c.cnt_contract_key,
c.cnt_contract_nummer_intern, -- Uit deze maand lopend contract, anders geen variabele kosten
c.cnt_contract_omschrijving,
c.cnt_contract_nummer,
rrr.res_rsv_ruimte_key,
--rrr.res_reservering_key,
--rrr.res_rsv_ruimte_volgnr,
--rra.res_rsv_artikel_aantal res_aantal,
--LTRIM (rra.res_artikel_omschrijving) || ' [' || TO_CHAR (res_rsv_artikel_levering, 'dd-mm-yyyy') || ']' res_voorziening,
--rra.res_rsv_artikel_levering reslev,
rra.res_rsv_artikel_prijs verw_prijs,
rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs,
rra.btw
FROM res_rsv_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,
(SELECT rra.res_rsv_ruimte_key,
rra.res_rsv_artikel_levering,
rra.res_rsv_artikel_prijs,
rra.res_rsv_artikel_aantal,
ra.res_artikel_prijs,
DECODE (COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw),
NULL, 'VH',
21, 'VH',
'VL')
btw,
ra.res_discipline_key,
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 ('20190101', 'yyyymmdd')
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
AND rra.res_rsv_artikel_verwerkt IS NULL
AND rra.res_rsv_artikel_dirtlevel = 0
AND rra.res_artikel_key = ra.res_artikel_key) rra,
res_discipline rd,
res_disc_params dp,
prs_bedrijf b,
cnt_v_aanwezigcontract c,
cnt_contract mc,
prs_contactpersoon cp,
prs_perslid pcp
WHERE rrr.res_activiteit_key != -1 -- Alle activiteiten?
AND 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_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(+) -- TODO: PLUS WEG
AND b.prs_bedrijf_key = c.cnt_prs_bedrijf_key(+) -- TODO: PLUS WEG
AND c.ins_discipline_key(+) = 523 -- TODO: PLUS WEG/Variabele contracten
--AND c.cnt_contract_status = 0 -- NIET Gesloten
--AND TRUNC (c.cnt_contract_looptijd_van) < TRUNC (LAST_DAY (SYSDATE)) -- TODO: COMMENTAAR WEG
--AND c.cnt_contract_looptijd_tot >= TRUNC (LAST_DAY (SYSDATE)) -- TODO: COMMENTAAR WEG
AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+)
AND mc.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
AND cp.prs_perslid_key = pcp.prs_perslid_key(+)) x
GROUP BY x.prs_afdeling_key,
TO_CHAR (SYSDATE, 'yyyy-mm'),
--x.prs_bedrijf_key,
x.prs_bedrijf_naam,
--x.cnt_contract_key,
x.cnt_contract_nummer_intern,
x.cnt_contract_omschrijving,
x.cnt_contract_nummer;
-- Actual regels en basis voor oa. te exporteren/bevriezen regels op de 10e van
-- de maand; voor de output geldt:
-- Dat deze de actual vaste contractkosten toont (over afgelopen maand).
-- Dat deze de actual variabele opdrachten toont (voor 1e ORDAFR).
-- Dat deze tot de 10e van de huidige maand alleen nog door Kien wijzigbaar is.
-- Dat deze de actual variabele reserveringskosten toont (over afgelopen maand).
-- Dat deze tot de 10e van de huidige maand alleen nog door Yask wijzigbaar is.
CREATE OR REPLACE VIEW kfsg_v_actual_fact -- Tbv. FACT_EXPORT!
(
prs_afdeling_key,
@@ -668,29 +744,32 @@ CREATE OR REPLACE VIEW kfsg_v_actual_fact -- Tbv. FACT_EXPORT!
inkoopordernr,
cm_aanhef,
cm_naam,
bes_bestelopdr_key,
res_rsv_ruimte_key,
mld_opdr_key,
opdr_id,
bro_id,
aantal,
kosten
)
AS
SELECT c.cp_afdeling_key, -- Vaste contractkosten over de ACTUAL termijn
SELECT c.prs_afdeling_key, -- Vaste contractkosten over de ACTUAL termijn
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm'), -- Afgelopen maand deze maand factureren (achteraf)
c.prs_bedrijf_key,
c.prs_bedrijf_naam,
c.cp_perslid_key,
c.prs_perslid_key,
c.cp_aanhef,
c.cp_naam,
c.cp_email,
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_omschrijving,
--kc.cnt_kenmerkcontract_waarde,
c.cnt_contract_nummer, -- Uit afgelopen maand lopend contract, anders geen vaste kosten
c.cm_aanhef,
c.cm_naam,
NULL bes_bestelopdr_key,
NULL res_rsv_ruimte_key,
NULL mld_opdr_key,
NULL opdr_id,
NULL bro_id,
0 aantal,
ROUND (
DECODE (COALESCE (c.cnt_contract_termijnkosten, 0),
@@ -702,8 +781,8 @@ AS
kosten -- Wat als looptijd < jaar?
FROM (SELECT b.prs_bedrijf_key,
b.prs_bedrijf_naam,
pcp.prs_afdeling_key cp_afdeling_key,
pcp.prs_perslid_key cp_perslid_key,
pcp.prs_afdeling_key,
pcp.prs_perslid_key,
DECODE (pcp.prs_perslid_geslacht,
0, 'Mevr. ',
1, 'Dhr. ',
@@ -771,21 +850,167 @@ AS
AND mc.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
AND cp.prs_perslid_key = pcp.prs_perslid_key(+)
AND c.prs_perslid_key_beh = pcm.prs_perslid_key) c
LEFT JOIN cnt_kenmerkcontract kc
ON kc.cnt_kenmerk_key = -1 -- Inkoopordernummer NS
AND c.cnt_contract_key = kc.cnt_contract_key
LEFT JOIN cnt_kenmerkcontract ce
ON ce.cnt_kenmerk_key = -1 -- Credit/extra kosten
AND c.cnt_contract_key = ce.cnt_contract_key
LEFT JOIN cnt_kenmerkcontract bm
ON bm.cnt_kenmerk_key = -1 -- Bonus/malus
AND c.cnt_contract_key = bm.cnt_contract_key
UNION ALL -- Reserveringskosten
SELECT x.prs_afdeling_key,
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm'), -- Afgelopen maand deze maand factureren (achteraf)
x.prs_bedrijf_key,
x.prs_bedrijf_naam bedrijf,
x.prs_perslid_key,
x.cp_aanhef,
x.cp_naam,
x.cp_email,
x.cnt_contract_key,
x.cnt_contract_nummer_intern, -- Uit deze maand lopend contract, anders geen variabele kosten
x.cnt_contract_omschrijving,
x.cnt_contract_nummer,
x.cm_aanhef,
x.cm_naam,
NULL bes_bestelopdr_key,
x.res_rsv_ruimte_key,
NULL mld_opdr_key,
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) bro_id,
1 aantal,
SUM (COALESCE (verw_prijs, prijs, 0)) kosten -- Netto bedrag
FROM (SELECT b.prs_bedrijf_key,
b.prs_bedrijf_naam,
pcp.prs_afdeling_key,
pcp.prs_perslid_key,
DECODE (pcp.prs_perslid_geslacht,
0, 'Mevr. ',
1, 'Dhr. ',
'')
cp_aanhef,
DECODE (
COALESCE (pcp.prs_perslid_voorletters,
SUBSTR (pcp.prs_perslid_voornaam, 1, 1)),
NULL, NULL,
COALESCE (
pcp.prs_perslid_voorletters,
SUBSTR (pcp.prs_perslid_voornaam, 1, 1) || '.')
|| ' ')
|| DECODE (pcp.prs_perslid_tussenvoegsel,
NULL, NULL,
pcp.prs_perslid_tussenvoegsel || ' ')
|| pcp.prs_perslid_naam
cp_naam,
pcp.prs_perslid_email cp_email,
c.cnt_contract_key,
c.cnt_contract_nummer_intern, -- Uit deze maand lopend contract, anders geen variabele kosten
c.cnt_contract_omschrijving,
c.cnt_contract_nummer,
DECODE (pcm.prs_perslid_geslacht,
0, 'Mevr. ',
1, 'Dhr. ',
'')
cm_aanhef,
DECODE (
COALESCE (pcm.prs_perslid_voorletters,
SUBSTR (pcm.prs_perslid_voornaam, 1, 1)),
NULL, NULL,
COALESCE (
pcm.prs_perslid_voorletters,
SUBSTR (pcm.prs_perslid_voornaam, 1, 1) || '.')
|| ' ')
|| DECODE (pcm.prs_perslid_tussenvoegsel,
NULL, NULL,
pcm.prs_perslid_tussenvoegsel || ' ')
|| pcm.prs_perslid_naam
cm_naam,
rrr.res_rsv_ruimte_key,
rrr.res_reservering_key,
rrr.res_rsv_ruimte_volgnr,
--rra.res_rsv_artikel_aantal res_aantal,
--LTRIM (rra.res_artikel_omschrijving) || ' [' || TO_CHAR (res_rsv_artikel_levering, 'dd-mm-yyyy') || ']' res_voorziening,
--rra.res_rsv_artikel_levering reslev,
rra.res_rsv_artikel_prijs verw_prijs,
rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs,
rra.btw
FROM res_rsv_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,
(SELECT rra.res_rsv_ruimte_key,
rra.res_rsv_artikel_levering,
rra.res_rsv_artikel_prijs,
rra.res_rsv_artikel_aantal,
ra.res_artikel_prijs,
DECODE (COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw),
NULL, 'VH',
21, 'VH',
'VL')
btw,
ra.res_discipline_key,
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 ('20190101', 'yyyymmdd')
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm')
AND rra.res_rsv_artikel_verwerkt IS NULL
AND rra.res_rsv_artikel_dirtlevel = 0
AND rra.res_artikel_key = ra.res_artikel_key) rra,
res_discipline rd,
res_disc_params dp,
prs_bedrijf b,
cnt_v_aanwezigcontract c,
cnt_contract mc,
prs_contactpersoon cp,
prs_perslid pcp,
prs_perslid pcm
WHERE rrr.res_activiteit_key != -1 -- Alle activiteiten?
AND 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_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(+) -- TODO: PLUS WEG
AND b.prs_bedrijf_key = c.cnt_prs_bedrijf_key(+) -- TODO: PLUS WEG
AND c.ins_discipline_key(+) = 523 -- TODO: PLUS WEG/Variabele contracten
--AND c.cnt_contract_status = 0 -- NIET Gesloten
--AND TRUNC (c.cnt_contract_looptijd_van) < TRUNC (LAST_DAY (SYSDATE)) -- TODO: COMMENTAAR WEG
--AND c.cnt_contract_looptijd_tot >= TRUNC (LAST_DAY (SYSDATE)) -- TODO: COMMENTAAR WEG
AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+)
AND mc.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
AND cp.prs_perslid_key = pcp.prs_perslid_key(+)
AND c.prs_perslid_key_beh = pcm.prs_perslid_key) x
GROUP BY x.prs_afdeling_key,
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm'),
x.prs_bedrijf_key,
x.prs_bedrijf_naam,
x.prs_perslid_key,
x.cp_aanhef,
x.cp_naam,
x.cp_email,
x.cnt_contract_key,
x.cnt_contract_nummer_intern,
x.cnt_contract_omschrijving,
x.cnt_contract_nummer,
x.cm_aanhef,
x.cm_naam,
x.res_rsv_ruimte_key,
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr),
1
UNION ALL -- Variabele kosten uit ACTUAL opdrachten op variabele contracten
SELECT pcp.prs_afdeling_key,
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm'), -- Voor 1e ORDAFR, deze maand factureren (achteraf)
b.prs_bedrijf_key,
b.prs_bedrijf_naam,
pcp.prs_perslid_key cp_perslid_key,
pcp.prs_perslid_key,
DECODE (pcp.prs_perslid_geslacht, 0, 'Mevr. ', 1, 'Dhr. ', '')
cp_aanhef,
DECODE (
@@ -804,7 +1029,6 @@ AS
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_omschrijving,
--kc.cnt_kenmerkcontract_waarde,
c.cnt_contract_nummer,
DECODE (pcm.prs_perslid_geslacht, 0, 'Mevr. ', 1, 'Dhr. ', '')
cm_aanhef,
@@ -820,11 +1044,10 @@ AS
pcm.prs_perslid_tussenvoegsel || ' ')
|| pcm.prs_perslid_naam
cm_naam,
NULL bes_bestelopdr_key,
NULL res_rsv_ruimte_key,
o.mld_opdr_key,
TO_CHAR (o.mld_melding_key)
|| '/'
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
opdr_id,
TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) bro_id,
1 aantal,
o.mld_opdr_kosten kosten
FROM mld_opdr o,
@@ -835,7 +1058,7 @@ AS
prs_contactpersoon cp,
prs_perslid pcp,
prs_perslid pcm
WHERE o.mld_statusopdr_key = 9
WHERE o.mld_statusopdr_key = 9
AND o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 76 -- ORDAFR
AND t.fac_tracking_datum < TRUNC (SYSDATE, 'mm')
@@ -852,8 +1075,7 @@ AS
AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+)
AND mc.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
AND cp.prs_perslid_key = pcp.prs_perslid_key(+)
AND c.prs_perslid_key_beh = pcm.prs_perslid_key(+) -- TODO: PLUS WEG
;
AND c.prs_perslid_key_beh = pcm.prs_perslid_key;
-- Te exporteren/bevriezen totalen over voorgaande maand (vast en variabel).
CREATE OR REPLACE VIEW kfsg_v_rap_actual_fact_tot
@@ -891,28 +1113,25 @@ AS
inkoopordernr;
-- Te exporteren/bevriezen variabele kosten over voorgaande maand (details).
CREATE OR REPLACE VIEW kfsg_v_rap_actual_fact_var
CREATE OR REPLACE VIEW kfsg_v_rap_actual_fact_mld
(
fclt_3d_afdeling_key, -- Kunnen beperken per leverancier!
maand,
prio,
prefix,
mld_melding_key,
volgnr,
mld_opdr_key,
opdrachttype,
opdr_id,
plaats,
alg_ruimte_omschrijving,
ruimte,
mld_stdmelding_oms,
opdrachttype,
omschrijving,
begindatum,
--begintijd,
einddatum,
meldingstatus,
opdrachtstatus,
einddatum,
--eindtijd,
fclt_f_leverancier,
afhandeling,
fclt_f_leverancier,
kosten,
fclt_f_inkoopordernr,
fclt_x_district
@@ -921,11 +1140,9 @@ AS
SELECT v.prs_afdeling_key,
v.maand,
TO_CHAR (m.mld_melding_spoed),
sd.ins_srtdiscipline_prefix,
TO_CHAR (m.mld_melding_key),
TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
TO_CHAR (o.mld_opdr_key),
ot.mld_typeopdr_omschrijving,
m.mld_melding_key,
o.mld_opdr_key,
COALESCE (sd.ins_srtdiscipline_prefix, '') || v.bro_id opdr_id,
DECODE (
og.alg_type,
'R', og.alg_gebouw_code,
@@ -934,30 +1151,24 @@ AS
'T', og.alg_terreinsector_code,
l.alg_locatie_code)
plaatsaanduiding,
DECODE (og.alg_type, 'R', og.alg_ruimte_omschrijving, NULL)
alg_ruimte_omschrijving,
DECODE (og.alg_type, 'R', og.alg_plaatsaanduiding, NULL) ruimte,
sm.mld_stdmelding_omschrijving,
ot.mld_typeopdr_omschrijving,
o.mld_opdr_omschrijving,
TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy') datum,
--TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') tijd,
ms.mld_statuses_omschrijving,
os.mld_statusopdr_omschrijving,
--TO_CHAR (o.mld_opdr_einddatum, 'dd-mm-yyyy') einddatum,
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), 'dd-mm-yyyy') einddatum,
--TO_CHAR (o.mld_opdr_einddatum, 'hh24:mi') eindtijd,
--COALESCE (b.prs_bedrijf_naam, puv.prs_perslid_naam_full)
-- uitvoerende,
v.prs_bedrijf_naam,
ms.mld_statuses_omschrijving,
os.mld_statusopdr_omschrijving,
o.mld_opdr_opmerking,
o.mld_opdr_kosten,
v.prs_bedrijf_naam,
v.kosten,
v.inkoopordernr,
d.alg_district_omschrijving
FROM kfsg_v_actual_fact v,
mld_opdr o,
mld_statusopdr os,
mld_typeopdr ot,
--prs_bedrijf b, -- Externe leverancier
--prs_v_perslid_fullnames_all puv, -- Interne uitvoerende
mld_melding m,
mld_statuses ms,
mld_stdmelding sm,
@@ -966,11 +1177,9 @@ AS
alg_locatie l,
alg_district d,
alg_v_onroerendgoed_gegevens og
WHERE v.mld_opdr_key = o.mld_opdr_key
WHERE v.mld_opdr_key = o.mld_opdr_key
AND o.mld_statusopdr_key = os.mld_statusopdr_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
--AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
--AND o.mld_uitvoerende_keys = puv.prs_perslid_key(+)
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_melding_status = ms.mld_statuses_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
@@ -979,7 +1188,78 @@ AS
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = d.alg_district_key(+)
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+);
*/
CREATE OR REPLACE VIEW kfsg_v_rap_actual_fact_res
(
fclt_3d_afdeling_key, -- Kunnen beperken per leverancier!
maand,
res_reservering_key,
res_rsv_ruimte_key,
res_id,
plaats, -- Gebouw
ruimte, -- Ruimte (alg of res)
activiteit,
omschrijving,
van_datum,
van_tijd,
tot_tijd,
status,
fclt_f_leverancier,
kosten,
fclt_f_inkoopordernr,
fclt_x_district
)
AS
SELECT v.prs_afdeling_key,
v.maand,
rrr.res_reservering_key,
v.res_rsv_ruimte_key,
v.bro_id res_id,
DECODE (
og.alg_type,
'R', og.alg_gebouw_code,
'V', og.alg_gebouw_code,
'G', og.alg_gebouw_code,
'T', og.alg_terreinsector_code,
l.alg_locatie_code)
plaatsaanduiding,
COALESCE ((SELECT res_ruimte_nr FROM res_ruimte WHERE res_ruimte_key = rro.res_ruimte_key), og.alg_plaatsaanduiding) ruimte,
ra.res_activiteit_omschrijving,
rrr.res_rsv_ruimte_omschrijving,
rrr.res_rsv_ruimte_van,
rrr.res_rsv_ruimte_van,
rrr.res_rsv_ruimte_tot,
rs.res_status_bo_omschrijving,
v.prs_bedrijf_naam,
v.kosten,
v.inkoopordernr,
d.alg_district_omschrijving
FROM kfsg_v_actual_fact v,
res_rsv_ruimte rrr,
res_activiteit ra,
res_status_bo rs,
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_onroerendgoed_gegevens og,
alg_locatie l,
alg_district d
WHERE v.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_activiteit_key = ra.res_activiteit_key
AND rrr.res_status_bo_key = rs.res_status_bo_key(+) -- TODO: Status van onderliggende artikelen/delen betrekken?
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) = og.alg_ruimte_key
AND og.alg_locatie_key = l.alg_locatie_key(+)
AND l.alg_district_key = d.alg_district_key(+);
------ payload end ------
SET DEFINE OFF