diff --git a/NMMS/nmms.sql b/NMMS/nmms.sql index 046d435a2..afec87c07 100644 --- a/NMMS/nmms.sql +++ b/NMMS/nmms.sql @@ -348,7 +348,9 @@ AS mld_stdmelding_omschrijving, t_van, gereed, - thtijdstip thtijdstip, + DECODE (kortingtype, + 'Q', (SELECT mld_melding_einddatum FROM mld_melding mtht WHERE mtht.mld_melding_key = m_start), + thtijdstip) thtijdstip, (SELECT fac_tracking_datum FROM fac_tracking WHERE fac_tracking_refkey = m_start --mld_melding_key @@ -1214,12 +1216,12 @@ AS FROM nmms_v_monitoring WHERE status = 'Afgemeld' AND gereed < TRUNC (SYSDATE, 'MONTH') - AND afw IS NULL - AND afgerond IS NULL; + AND afw IS NULL -- geen afwijkingen die goedgekeurd moeten worden + AND afgerond IS NULL; -- expliciete goedkeuring staat niet aan CURSOR c2 IS - SELECT m_start, mld_melding_key, (SELECT mld_melding_status + SELECT m_start, m.mld_melding_key, (SELECT mld_melding_status FROM mld_melding ms WHERE ms.mld_melding_key = m_start) mld_melding_status @@ -1230,8 +1232,12 @@ AS WHERE m.mld_melding_parentkey IS NULL AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) < TRUNC (SYSDATE, 'MONTH') AND m.mld_melding_key NOT IN - (SELECT melding_key FROM nmms_monitoring)) - WHERE m_start <> mld_melding_key; + (SELECT melding_key FROM nmms_monitoring)) m, + nmms_v_monitoring mo + WHERE m_start <> m.mld_melding_key + AND m_start = mo.melding_key + AND ( (status = 'Afgemeld' AND afw IS NULL) -- startmelding mag niet hangen op goedkeuring + OR (status = 'Historie' )); BEGIN -- Zet de meldingen die geen afwijking kennen en die niet op status afgerond staan naar status verwerkt FOR rec IN c1 @@ -1410,49 +1416,51 @@ CREATE OR REPLACE VIEW nmms_v_dashboard_korting ( melding, omschrijving, - hide_f_marge, + typekorting, marge, + hide_f_marge, korting, tht_tijdstip, tht ) AS - SELECT x.mld_melding_key, - x.mld_stdmelding_omschrijving, - DECODE (x.marge.eenheid, - 'D', x.marge.tijdsduur * 24, - x.marge.tijdsduur) - marge_val, -- Marge in uren tbv. sortering/kleuring - ROUND (x.marge.tijdsduur, 2) - || DECODE (x.marge.eenheid, 'D', ' Dagen', ' Uren') + SELECT melding_key, + omschrijving, + typekorting, + (SELECT ROUND ( + DECODE ( + typekorting, + 'Kq', + fac.count_work_days (SYSDATE, mld_melding_einddatum), + (m.mld_melding_t_uitvoertijd.tijdsduur + - mld.getactualuitvoer (m.mld_melding_key).tijdsduur)) + , + 2) + || ' ' || m.mld_melding_t_uitvoertijd.eenheid + FROM mld_melding m + WHERE mo.melding_key = m.mld_melding_key) marge_txt, - x.mld_stdmelding_malus, - x.mld_melding_einddatum_std, - DECODE (x.mld_melding_t_uitvoertijd.eenheid, - 'D', ROUND (x.mld_melding_t_uitvoertijd.tijdsduur * 24, 2), - ROUND (x.mld_melding_t_uitvoertijd.tijdsduur, 2)) - tht -- SLA in uren - FROM (SELECT m.mld_melding_key, - m.mld_melding_einddatum_std, - m.mld_melding_t_uitvoertijd, - --mld_melding_uitvoertijd - mld.getactualuitvoer (m.mld_melding_key) - mld.getactualuitvoer ( - m.mld_melding_einddatum_std, - COALESCE ( - fac.gettrackingdate ('MLDREJ', m.mld_melding_key), - fac.gettrackingdate ('MLDAFM', m.mld_melding_key), - SYSDATE), - m.mld_stdmelding_key, - m.mld_melding_spoed, - m.mld_alg_onroerendgoed_keys, - NULL) - marge, -- Van SLA-einddatum tot gereed/SYSDATE (+ of -) - std.mld_stdmelding_omschrijving, - std.mld_stdmelding_malus - FROM mld_melding m, mld_stdmelding std - WHERE m.mld_melding_status IN (0, 2, 3, 4, 7, 99) - AND m.mld_stdmelding_key = std.mld_stdmelding_key - AND std.mld_stdmelding_malus IS NOT NULL) x; + (SELECT ROUND ( + DECODE ( + typekorting, + 'Kq', + fac.count_work_days (SYSDATE, mld_melding_einddatum), + m.mld_melding_t_uitvoertijd.tijdsduur + - mld.getactualuitvoer (m.mld_melding_key).tijdsduur), + 2) + FROM mld_melding m + WHERE mo.melding_key = m.mld_melding_key) + marge, + COALESCE (kb, + kp, + basiskorting, + prestatiekorting) + korting, + thtijdstip, + tht + FROM nmms_v_monitoring mo + WHERE gereed IS NULL; + -------------------------------------------------------------- --