TWYN#53972 Overzicht meer en minderwerk en overzicht meer en minderwerk facturen

svn path=/Customer/trunk/; revision=38492
This commit is contained in:
Erik Groener
2018-07-13 10:44:59 +00:00
parent 1dbbbf2cdb
commit 0a2620cca3

View File

@@ -1045,72 +1045,143 @@ AS
-- MMWINVCO
CREATE OR REPLACE VIEW twyn_v_meerminderwerk_fact
AS
SELECT p.ins_discipline_key
, p.bgt_project_key
, p.bgt_kostenrubriek_key
, p.prs_kostensoortgrp_key
, p.prs_kostensoort_key
, b.prs_bedrijf_key
, f.fin_factuur_key
, p.opdrachtgever
, p.pcode
, p.project
, p.subproject
, p.versienummer
, b.prs_leverancier_nr
, b.prs_bedrijf_naam
, p.scode
, p.kostensoort
, m.mld_opdr_ordernr
, m.mld_opdr_bedrijfopdr_volgnr
, (SELECT CASE WHEN MIN (x.mld_opdr_bedrijfopdr_volgnr) = m.mld_opdr_bedrijfopdr_volgnr
THEN 1
ELSE 0
END
FROM mld_opdr x
WHERE x.mld_opdr_ordernr = m.mld_opdr_ordernr
AND x.mld_opdr_meerwerk = 1
) mld_opdr_mainorder
, m.mld_opdr_omschrijving
, m.mld_opdr_id
, m.mld_opdr_datumbegin
, TO_CHAR (m.mld_opdr_datumbegin, 'dd-mm-yyyy') mld_opdr_datumbegin_p
, m.mld_opdr_kosten
, m.mld_opdr_kosten_btw
, COALESCE(f.fin_factuur_datum, m.mld_opdr_datumbegin) fin_factuur_datum
, TO_CHAR (f.fin_factuur_datum, 'dd-mm-yyyy') fin_factuur_datum_p
, fin_factuur_nr
, fin_factuur_opmerking
, fin_factuur_totaal
, fin_factuur_totaal_btw
, fin_factuur_advies
, TO_CHAR (f.fin_factuur_advies, 'dd-mm-yyyy') fin_factuur_advies_p
, c.mld_statusopdr_oms
, c.mld_statusopdr_key
FROM mld_opdr m
, prs_bedrijf b
, fin_factuur f
, bgt_v_project_full p
, (SELECT fac_code2label_code
mld_statusopdr_key,
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) mld_statusopdr_oms
FROM fac_locale_xsl fl
, fac_code2label fs
WHERE fl.fac_locale_xsl_label = fac_code2label_label
AND fac_code2label_domein = 'opdracht'
AND fac_locale_xsl_lang = lcl.getuserlanguage ()
) c
WHERE m.mld_uitvoerende_keys = b.prs_bedrijf_key
AND m.prs_kostensoort_key = p.prs_kostensoort_key
AND m.mld_opdr_meerwerk = 1
AND m.mld_statusopdr_key = c.mld_statusopdr_key
AND m.mld_opdr_key = f.mld_opdr_key(+)
AND p.ins_discipline_verwijder IS NULL
AND p.bgt_project_verwijder IS NULL
ORDER BY b.prs_leverancier_nr
, p.scode
, m.mld_opdr_ordernr
, m.mld_opdr_bedrijfopdr_volgnr;
SELECT *
FROM ( SELECT p.ins_discipline_key
, p.bgt_project_key
, p.bgt_kostenrubriek_key
, p.prs_kostensoortgrp_key
, p.prs_kostensoort_key
, b.prs_bedrijf_key
, f.fin_factuur_key
, p.opdrachtgever
, p.pcode
, p.project
, p.subproject
, p.versienummer
, b.prs_leverancier_nr
, b.prs_bedrijf_naam
, p.scode
, p.kostensoort
, m.mld_opdr_ordernr
, m.mld_opdr_bedrijfopdr_volgnr
, (SELECT CASE WHEN MIN (x.mld_opdr_bedrijfopdr_volgnr) = m.mld_opdr_bedrijfopdr_volgnr
THEN 1
ELSE 0
END
FROM mld_opdr x
WHERE x.mld_opdr_ordernr = m.mld_opdr_ordernr
AND x.mld_opdr_meerwerk = 1
) mld_opdr_mainorder
, m.mld_opdr_omschrijving
, m.mld_opdr_id
, m.mld_opdr_datumbegin
, TO_CHAR (m.mld_opdr_datumbegin, 'dd-mm-yyyy') mld_opdr_datumbegin_p
, m.mld_opdr_kosten
, m.mld_opdr_kosten_btw
, COALESCE(f.fin_factuur_datum, m.mld_opdr_datumbegin) fin_factuur_datum
, TO_CHAR (f.fin_factuur_datum, 'dd-mm-yyyy') fin_factuur_datum_p
, fin_factuur_nr
, fin_factuur_opmerking
, fin_factuur_totaal
, fin_factuur_totaal_btw
, fin_factuur_advies
, TO_CHAR (f.fin_factuur_advies, 'dd-mm-yyyy') fin_factuur_advies_p
, c.mld_statusopdr_oms
, c.mld_statusopdr_key
, 'F' soort
FROM mld_opdr m
, prs_bedrijf b
, fin_factuur f
, bgt_v_project_full p
, (SELECT fac_code2label_code
mld_statusopdr_key,
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) mld_statusopdr_oms
FROM fac_locale_xsl fl
, fac_code2label fs
WHERE fl.fac_locale_xsl_label = fac_code2label_label
AND fac_code2label_domein = 'opdracht'
AND fac_locale_xsl_lang = lcl.getuserlanguage ()
) c
WHERE m.mld_uitvoerende_keys = b.prs_bedrijf_key
AND m.prs_kostensoort_key = p.prs_kostensoort_key
AND m.mld_opdr_meerwerk = 1
AND m.mld_statusopdr_key = c.mld_statusopdr_key
AND m.mld_opdr_key = f.mld_opdr_key(+)
AND p.ins_discipline_verwijder IS NULL
AND p.bgt_project_verwijder IS NULL
UNION
SELECT p.ins_discipline_key
, p.bgt_project_key
, p.bgt_kostenrubriek_key
, p.prs_kostensoortgrp_key
, p.prs_kostensoort_key
, b.prs_bedrijf_key
, NULL fin_factuur_key
, p.opdrachtgever
, p.pcode
, p.project
, p.subproject
, p.versienummer
, b.prs_leverancier_nr
, b.prs_bedrijf_naam
, p.scode
, p.kostensoort
, m.mld_opdr_ordernr
, m.mld_opdr_bedrijfopdr_volgnr
, (SELECT CASE WHEN MIN (x.mld_opdr_bedrijfopdr_volgnr) = m.mld_opdr_bedrijfopdr_volgnr
THEN 1
ELSE 0
END
FROM mld_opdr x
WHERE x.mld_opdr_ordernr = m.mld_opdr_ordernr
AND x.mld_opdr_meerwerk = 1
) mld_opdr_mainorder
, m.mld_opdr_omschrijving
, m.mld_opdr_id
, m.mld_opdr_datumbegin
, TO_CHAR (m.mld_opdr_datumbegin, 'dd-mm-yyyy') mld_opdr_datumbegin_p
, m.mld_opdr_kosten
, m.mld_opdr_kosten_btw
, COALESCE(f.fin_factuur_datum, m.mld_opdr_datumbegin) fin_factuur_datum
, TO_CHAR( COALESCE(f.fin_factuur_datum, m.mld_opdr_datumbegin), 'dd-mm-yyyy') fin_factuur_datum_p
, NULL fin_factuur_nr
, NULL fin_factuur_opmerking
, NULL fin_factuur_totaal
, NULL fin_factuur_totaal_btw
, NULL fin_factuur_advies
, NULL fin_factuur_advies_p
, c.mld_statusopdr_oms
, c.mld_statusopdr_key
, 'C' soort
FROM mld_opdr m
, prs_bedrijf b
, bgt_v_project_full p
, (SELECT fac_code2label_code
mld_statusopdr_key,
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) mld_statusopdr_oms
FROM fac_locale_xsl fl
, fac_code2label fs
WHERE fl.fac_locale_xsl_label = fac_code2label_label
AND fac_code2label_domein = 'opdracht'
AND fac_locale_xsl_lang = lcl.getuserlanguage ()
) c
, (SELECT ff.mld_opdr_key
, MIN (ff.fin_factuur_datum) fin_factuur_datum
FROM fin_factuur ff
GROUP BY ff.mld_opdr_key
) f
WHERE m.mld_uitvoerende_keys = b.prs_bedrijf_key
AND m.prs_kostensoort_key = p.prs_kostensoort_key
AND m.mld_opdr_key = f.mld_opdr_key(+)
AND m.mld_opdr_meerwerk = 1
AND m.mld_statusopdr_key = c.mld_statusopdr_key
AND p.ins_discipline_verwijder IS NULL
AND p.bgt_project_verwijder IS NULL
)
ORDER BY prs_leverancier_nr
, scode
, mld_opdr_ordernr
, mld_opdr_bedrijfopdr_volgnr;
--FACT_MND