YKPN#89422 -- Updaten van view facturatie_p

svn path=/Customer/trunk/; revision=69730
This commit is contained in:
Florien Bolks
2025-07-09 13:35:19 +00:00
parent 072577b848
commit 8075e64145

View File

@@ -10767,110 +10767,138 @@ AS
-- Gewijzigde financiele rapportage gebasseerd op afgeronde procuraties.
CREATE OR REPLACE VIEW ykpn_v_rap_fin_facturatie_p
AS
SELECT m.mld_melding_key,
o.mld_opdr_bedrijfopdr_volgnr,
ot.mld_typeopdr_omschrijving,
m.mld_melding_datum,
o.mld_opdr_datumbegin,
d.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
aog.alg_gebouw_code,
aog.alg_gebouw_naam,
ins_discipline_omschrijving,
mld_stdmelding_omschrijving,
mld_melding_omschrijving,
ok.prs_kostenplaats_nr,
op.prs_perslid_naam_full behandelaar,
(SElECT prs_perslid_email
FROM prs_perslid
WHERE prs_perslid_key=o.prs_perslid_key) email_behandelaar,
uit.naam,
mld_statuses_omschrijving,
mld_statusopdr_omschrijving,
m.mld_melding_einddatum,
mld.getmeldingstatusdate (m.mld_melding_key, 5)
mld_melding_afgemeld,
o.mld_opdr_omschrijving,
mld.getopdrachtstatusdate (o.mld_opdr_key, 6)
mld_opdr_afgemeld,
mld_opdr_materiaal
opdrachtbedrag,
NULL
datum_goedkeuring, -- fingoe
fg.totaal,
(SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 381) -- PO Nummer
po_nummer,
(SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 401) -- Bedrag wordt gefinancieerd door andere afdeling
afdeling,
(SELECT ud.fac_usrdata_omschr
FROM mld_kenmerkopdr ko, mld_kenmerk k, fac_usrdata ud
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 5001
AND ud.fac_usrdata_key=ko.mld_kenmerkopdr_waarde) -- Capex/Opex
capex_opex,
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1821) -- startdatum
startDatum,
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1822) -- verwachte oplosdatum
oplosdatum
FROM mld_melding m,
mld_opdr o,
mld_typeopdr ot,
alg_locatie l,
alg_district d,
mld_stdmelding std,
ins_tab_discipline di,
prs_kostenplaats ok,
prs_v_perslid_fullnames op,
mld_v_uitvoerende uit,
alg_v_allonrgoed_gegevens aog,
mld_statuses ms,
mld_statusopdr os,
( SELECT o2.mld_melding_key,
SUM (fin_factuurregel_totaal) totaal
FROM fin_factuur f, fin_factuurregel fr, mld_opdr o2
WHERE f.fin_factuur_key = fr.fin_factuur_key
AND f.fin_factuur_verwijder IS NULL
AND f.mld_opdr_key = o2.mld_opdr_key
GROUP BY o2.mld_melding_key) fg
WHERE m.mld_melding_key = o.mld_melding_key
AND m.mld_melding_key = fg.mld_melding_key(+)
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = di.ins_discipline_key
AND o.prs_kostenplaats_key = ok.prs_kostenplaats_key(+)
AND o.prs_perslid_key = op.prs_perslid_key(+)
AND o.mld_uitvoerende_keys = uit.mld_uitvoerende_key(+)
AND m.mld_melding_status = ms.mld_statuses_key
AND o.mld_statusopdr_key = os.mld_statusopdr_key(+)
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
AND ot.mld_typeopdr_key IN (101, 2481, 2482) -- procuratie, procuratie zonder goedkeuring, procuratie evenementen
AND NOT EXISTS
(SELECT mld_kenmerkopdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 181 -- ongeldige procuratie
AND fac.safe_to_number(mld_kenmerkopdr_waarde) = 1);
-- YKPN#89422: Kolom 'totaal_kosten' toegevoegd; 'Opdracht_kosten' veranderd naar 'materiaal_kosten'; kolom 'Correctie' toegevoegd; en 3 kolommen betreft fee percentage
SELECT m.mld_melding_key,
o.mld_opdr_bedrijfopdr_volgnr,
ot.mld_typeopdr_omschrijving,
m.mld_melding_datum,
o.mld_opdr_datumbegin,
d.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
aog.alg_gebouw_code,
aog.alg_gebouw_naam,
ins_discipline_omschrijving,
mld_stdmelding_omschrijving,
mld_melding_omschrijving,
ok.prs_kostenplaats_nr,
op.prs_perslid_naam_full behandelaar,
(SElECT prs_perslid_email
FROM prs_perslid
WHERE prs_perslid_key=o.prs_perslid_key) email_behandelaar,
uit.naam,
mld_statuses_omschrijving,
mld_statusopdr_omschrijving,
m.mld_melding_einddatum,
mld.getmeldingstatusdate (m.mld_melding_key, 5)
mld_melding_afgemeld,
o.mld_opdr_omschrijving,
mld.getopdrachtstatusdate (o.mld_opdr_key, 6)
mld_opdr_afgemeld,
(SELECT SUM(ROUND(mom.MLD_OPDR_MATERIAAL_AANTAL*mom.MLD_OPDR_MATERIAAL_PRIJS,2))
from mld_opdr_materiaal mom,
fac_usrdata fud
where mom.mld_opdr_key=o.mld_opdr_key
AND mom.FAC_USRDATA_KEY=fud.FAC_USRDATA_KEY
AND fud.FAC_USRDATA_OMSCHR LIKE 'VFS 3%'
AND fud.FAC_USRDATA_VERWIJDER IS NULL) vfs_3p_fee, -- fee 3p
(SELECT SUM(ROUND(mom.MLD_OPDR_MATERIAAL_AANTAL*mom.MLD_OPDR_MATERIAAL_PRIJS,2))
from mld_opdr_materiaal mom,
fac_usrdata fud
where mom.mld_opdr_key=o.mld_opdr_key
AND mom.FAC_USRDATA_KEY=fud.FAC_USRDATA_KEY
AND fud.FAC_USRDATA_OMSCHR LIKE 'VFS 4%'
AND fud.FAC_USRDATA_VERWIJDER IS NULL) vfs_4p_fee, -- fee 4p
(SELECT SUM(ROUND(mom.MLD_OPDR_MATERIAAL_AANTAL*mom.MLD_OPDR_MATERIAAL_PRIJS,2))
from mld_opdr_materiaal mom,
fac_usrdata fud
where mom.mld_opdr_key=o.mld_opdr_key
AND mom.FAC_USRDATA_KEY=fud.FAC_USRDATA_KEY
AND fud.FAC_USRDATA_OMSCHR LIKE 'VFS afwijkende%'
AND fud.FAC_USRDATA_VERWIJDER IS NULL) vfs_afw_fee, -- afwijkende fee
mld_opdr_materiaal
materiaal_bedrag, -- materiaal kosten
mld_opdr_kosten - mld_opdr_materiaal
correctie, -- totale kosten minus materiaal kosten
mld_opdr_kosten
totaal_kosten, -- totale kosten
NULL
datum_goedkeuring, -- fingoe
fg.totaal,
(SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 381) -- PO Nummer
po_nummer,
(SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 401) -- Bedrag wordt gefinancieerd door andere afdeling
afdeling,
(SELECT ud.fac_usrdata_omschr
FROM mld_kenmerkopdr ko, mld_kenmerk k, fac_usrdata ud
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 5001
AND ud.fac_usrdata_key=ko.mld_kenmerkopdr_waarde) -- Capex/Opex
capex_opex,
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1821) -- startdatum
startDatum,
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1822) -- verwachte oplosdatum
oplosdatum
FROM mld_melding m,
mld_opdr o,
mld_typeopdr ot,
alg_locatie l,
alg_district d,
mld_stdmelding std,
ins_tab_discipline di,
prs_kostenplaats ok,
prs_v_perslid_fullnames op,
mld_v_uitvoerende uit,
alg_v_allonrgoed_gegevens aog,
mld_statuses ms,
mld_statusopdr os,
( SELECT o2.mld_melding_key,
SUM (fin_factuurregel_totaal) totaal
FROM fin_factuur f, fin_factuurregel fr, mld_opdr o2
WHERE f.fin_factuur_key = fr.fin_factuur_key
AND f.fin_factuur_verwijder IS NULL
AND f.mld_opdr_key = o2.mld_opdr_key
GROUP BY o2.mld_melding_key) fg
WHERE m.mld_melding_key = o.mld_melding_key
AND m.mld_melding_key = fg.mld_melding_key(+)
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = di.ins_discipline_key
AND o.prs_kostenplaats_key = ok.prs_kostenplaats_key(+)
AND o.prs_perslid_key = op.prs_perslid_key(+)
AND o.mld_uitvoerende_keys = uit.mld_uitvoerende_key(+)
AND m.mld_melding_status = ms.mld_statuses_key
AND o.mld_statusopdr_key = os.mld_statusopdr_key(+)
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
AND ot.mld_typeopdr_key IN (101, 2481, 2482) -- procuratie, procuratie zonder goedkeuring, procuratie evenementen
AND NOT EXISTS
(SELECT mld_kenmerkopdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 181 -- ongeldige procuratie
AND fac.safe_to_number(mld_kenmerkopdr_waarde) = 1);
-- Gewijzigde financiele rapportage gebasseerd op ingelegde facturen.
-- Depricated YKPN#59688