VLKC#71874 Rap/Projectkosten

svn path=/Customer/trunk/; revision=55543
This commit is contained in:
Maarten van der Heide
2022-04-07 19:50:15 +00:00
parent f759808e8b
commit 926c7ae47c

View File

@@ -5946,6 +5946,143 @@ AS
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = pf.prs_perslid_key(+);
-- VLKC#71874: Projectkostenrapportage.
CREATE OR REPLACE VIEW VLKC_V_RAP_PROJECTKOSTEN
(
mld_opdr_key,
mld_melding_key,
opdrachtid,
alg_locatie_key,
locatiecode,
locatie,
gebouwcode,
gebouw,
verdieping,
mld_typeopdr_key,
opdrachttype,
status,
omschrijving,
uitvoerende_key,
uitvoerende,
kostenplaats,
kostenplaats_oms,
--kostensoort,
kostensoort_oms,
opdrachtkosten,
gefactureerd,
investering,
reden_0_order
)
AS
SELECT x.mld_opdr_key,
x.mld_melding_key,
x.ins_srtdiscipline_prefix || TO_CHAR (x.mld_melding_key) || '/' || TO_CHAR (x.mld_opdr_bedrijfopdr_volgnr)
opdrachtid,
x.alg_locatie_key,
x.alg_locatie_code,
x.alg_locatie_omschrijving,
x.alg_gebouw_code,
x.alg_gebouw_naam,
x.alg_verdieping_code,
x.mld_typeopdr_key,
x.mld_typeopdr_omschrijving,
x.mld_statusopdr_omschrijving status,
x.mld_opdr_omschrijving omschrijving,
x.mld_uitvoerende_keys uitvoerende_key,
COALESCE (x.prs_bedrijf_naam, x.prs_perslid_naam_full) uitvoerende,
x.kostenplaats,
x.kostenplaats_oms,
--x.kostensoort,
x.kostensoort_oms,
x.opdrachtkosten,
NULL gefactureerd,
DECODE (io.mld_kenmerkopdr_key, NULL, 'Nee', 'Ja') investering,
ro.mld_kenmerkopdr_waarde reden_0_order
FROM (SELECT o.mld_opdr_key,
sd.ins_srtdiscipline_prefix,
o.mld_melding_key,
o.mld_opdr_bedrijfopdr_volgnr,
l.alg_locatie_key,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
aog.alg_gebouw_code,
aog.alg_gebouw_naam,
aog.alg_verdieping_code,
ot.mld_typeopdr_key,
ot.mld_typeopdr_omschrijving,
os.mld_statusopdr_omschrijving,
o.mld_opdr_omschrijving,
o.mld_uitvoerende_keys,
lev.prs_bedrijf_naam,
iuv.prs_perslid_naam_full,
kp.prs_kostenplaats_nr kostenplaats,
kp.prs_kostenplaats_omschrijving kostenplaats_oms,
--COALESCE (ksgo.prs_kostensoortgrp_altcode, ksgm.prs_kostensoortgrp_altcode, ksgd.prs_kostensoortgrp_altcode)
-- kostensoort,
COALESCE (kso.prs_kostensoort_oms, ksm.prs_kostensoort_oms, ksd.prs_kostensoort_oms)
kostensoort_oms,
o.mld_opdr_kosten opdrachtkosten
FROM mld_opdr o,
mld_typeopdr ot,
mld_melding m,
alg_locatie l,
alg_v_allonrgoed_gegevens aog,
prs_bedrijf lev,
prs_v_perslid_fullnames iuv,
mld_statusopdr os,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
prs_kostenplaats kp,
prs_kostensoort kso,
prs_kostensoortgrp ksgo,
prs_kostensoort ksm,
prs_kostensoortgrp ksgm,
prs_kostensoort ksd,
prs_kostensoortgrp ksgd
WHERE o.mld_opdr_datumbegin > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
AND o.mld_statusopdr_key IN (6, 7, 9)
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
--AND o.mld_typeopdr_key != 282 -- Offerteaanvraag
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
AND o.mld_uitvoerende_keys = lev.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = iuv.prs_perslid_key(+)
AND o.mld_statusopdr_key = os.mld_statusopdr_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_srtdiscipline_key = 21 -- Project
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
AND o.prs_kostensoort_key = kso.prs_kostensoort_key(+)
AND kso.prs_kostensoortgrp_key = ksgo.prs_kostensoortgrp_key(+)
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
AND ksm.prs_kostensoortgrp_key = ksgm.prs_kostensoortgrp_key(+)
AND md.prs_kostensoort_key = ksd.prs_kostensoort_key(+)
AND ksd.prs_kostensoortgrp_key = ksgd.prs_kostensoortgrp_key(+)) x
LEFT JOIN ( SELECT mld_opdr_key,
SUM (fin_factuur_totaal + fin_factuur_totaal_btw) kosten
FROM fin_factuur
WHERE fin_factuur_verwijder IS NULL
AND fin_factuur_statuses_key IN (6, 7) -- Akkoord/Verwerkt
GROUP BY mld_opdr_key) gefactureerd
ON x.mld_opdr_key = gefactureerd.mld_opdr_key
LEFT JOIN mld_v_aanwezigkenmerkopdr io
ON x.mld_opdr_key = io.mld_opdr_key
AND EXISTS
(SELECT 1
FROM mld_kenmerk
WHERE mld_srtkenmerk_key = 181 -- Investeringsopdracht
AND mld_kenmerk_key = io.mld_kenmerk_key)
LEFT JOIN mld_v_aanwezigkenmerkopdr ro
ON x.mld_opdr_key = ro.mld_opdr_key
AND EXISTS
(SELECT 1
FROM mld_kenmerk
WHERE mld_srtkenmerk_key = 161 -- Reden "0-order"
AND mld_kenmerk_key = ro.mld_kenmerk_key);
------ payload end ------
SET DEFINE OFF