diff --git a/PCHX/pchx_mon.sql b/PCHX/pchx_mon.sql index 61365e85e..a9c4e5956 100644 --- a/PCHX/pchx_mon.sql +++ b/PCHX/pchx_mon.sql @@ -149,15 +149,21 @@ AS mld_stdmelding std1, (select mld_melding_key, mld_kenmerkmelding_waarde from mld_kenmerkmelding where mld_kenmerk_key = 121) km1, -- Niet overlappen + (select mld_melding_key, mld_kenmerkmelding_waarde from mld_kenmerkmelding + where mld_kenmerk_key = 141) kh1, -- nlsfb hoofdgroep mld_melding m2, mld_stdmelding std2, (select mld_melding_key, mld_kenmerkmelding_waarde from mld_kenmerkmelding - where mld_kenmerk_key = 121) km2 + where mld_kenmerk_key = 121) km2, + (select mld_melding_key, mld_kenmerkmelding_waarde from mld_kenmerkmelding + where mld_kenmerk_key = 141) kh2 WHERE m1.mld_melding_key = p_melding_key AND m1.mld_stdmelding_key = std1.mld_stdmelding_key AND m1.mld_melding_key = km1.mld_melding_key(+) + AND m1.mld_melding_key = kh1.mld_melding_key(+) AND km1.mld_kenmerkmelding_waarde IS NULL AND m2.mld_melding_key = km2.mld_melding_key(+) + AND m2.mld_melding_key = kh2.mld_melding_key(+) AND km2.mld_kenmerkmelding_waarde IS NULL AND m2.mld_melding_parentkey IS NULL AND NOT EXISTS (SELECT 1 @@ -172,9 +178,15 @@ AS AND ( std1.mld_stdmelding_key <> 91 -- Prestatiekortingen op automaten overlappen alleen als het dezelfde ruimte (automaat) is. OR m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) ) + OR + ( std1.mld_stdmeldinggroep_key <> 22 -- Periodieke meting onderhoud + AND COALESCE(kh1.mld_kenmerkmelding_waarde, '-1') = COALESCE(kh2.mld_kenmerkmelding_waarde, '-2') -- nlsfb hoofdgroep is ingevuld en is gelijk. + ) OR ( std1.mld_stdmeldinggroep_key <> 1 -- Prestatiekortingen AND std1.mld_Stdmeldinggroep_key <> 8 -- Losse voorzieningen worden niet samengenomen + AND std1.mld_Stdmeldinggroep_key <> 22 -- Periodieke meting onderhoud worden niet samengenomen + AND std1.mld_Stdmeldinggroep_key <> 23 -- Periodieke meting diensten worden niet samengenomen AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte ) AND m1.mld_melding_key <> m2.mld_melding_key @@ -497,7 +509,7 @@ AS BEGIN IF pchx.get_user = 'PGHE' THEN - SELECT FAC.safe_to_number(std.mld_stdmelding_externnr) + SELECT FAC.safe_to_number(std.mld_stdmelding_malusmax) INTO v_max_korting FROM mld_stdmelding std WHERE mld_stdmelding_key = p_stdm_key; @@ -1440,7 +1452,7 @@ AS SELECT 'opdracht', TO_CHAR (m.mld_melding_key), m.mld_melding_key, - DECODE (SUBSTR (fac_usrdata_upper, 1, 3), 'BEV', 'Risicobeheersing', 'FAC', 'Facilitair ondersteuner', 'GLA', 'Gladheidsbestrijding', 'KOF', 'Warme dranken', 'Schoonmaken'), + DECODE (SUBSTR (fac_usrdata_upper, 1, 3), 'BEV', 'Risicobeheersing', 'FAC', 'Facilitair ondersteuner', 'GLA', 'Gladheidsbestrijding', 'Schoonmaken'), st.mld_statuses_omschrijving, DECODE (mld_statusopdr_key, 6, 'Afgemeld', 9, 'Afgerond', 7, 'Verwerkt', 'Open'), COALESCE (mld_opdr_plandatum, mld_opdr_einddatum),