diff --git a/MNNL/mnnl.sql b/MNNL/mnnl.sql index d94308df9..0f0c1dd53 100644 --- a/MNNL/mnnl.sql +++ b/MNNL/mnnl.sql @@ -576,7 +576,7 @@ END MNNL_IMPORT_WW; CREATE OR REPLACE PROCEDURE MNNL_UPDATE_WW (p_import_key IN NUMBER) AS c_ww_kkey NUMBER (10) := 1000; -- 'Woon-Werk-afstand'-kenmerk! - c_pp_gkey NUMBER (10) := 2421; -- 'Parkeerplaats'-autorisatiegroep! + c_pp_gkey NUMBER (10) := 2461; -- 'Reserveer parkeerplek'-autorisatiegroep!/A-key=2421 v_errormsg VARCHAR2 (1000) := ''; oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); @@ -621,7 +621,7 @@ BEGIN fac.imp_writelog (p_import_key, 'S', 'Woon-Werk/#bijgewerkt: ' || TO_CHAR (v_count), ''); - -- Afnemen PP-autorisatiegroep als geldt woon-werk-afstand <=8km! + -- Afnemen PP-autorisatiegroep als geldt woon-werk-afstand <8km! v_errormsg := 'Fout afnemen PP-autorisatiegroep'; DELETE FROM fac_gebruikersgroep gg WHERE gg.fac_groep_key = c_pp_gkey -- PP-autorisatiegroep @@ -636,7 +636,7 @@ BEGIN AND COALESCE (fac.safe_to_number (kl.prs_kenmerklink_waarde), -1) < 8 AND p.prs_perslid_key = gg.prs_perslid_key); - -- Toekennen PP-autorisatiegroep als geldt woon-werk-afstand >8km! + -- Toekennen PP-autorisatiegroep als geldt woon-werk-afstand >=8km! v_errormsg := 'Fout toekennen PP-autorisatiegroep'; INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT c_pp_gkey, p.prs_perslid_key -- PP-autorisatiegroep @@ -646,7 +646,7 @@ BEGIN AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_bedrijf_key = 5 -- MN AND p.prs_perslid_key = kl.prs_link_key(+) - AND COALESCE (fac.safe_to_number (kl.prs_kenmerklink_waarde), -1) > 8 + AND COALESCE (fac.safe_to_number (kl.prs_kenmerklink_waarde), -1) >= 8 AND NOT EXISTS -- Niet al in PP-autorisatiegroep! (SELECT 1 FROM fac_gebruikersgroep @@ -4805,12 +4805,12 @@ AS --v_onrgoed_type VARCHAR2 (1); --v_locatie_key NUMBER (10); v_melding_key NUMBER (10); + v_kenmerk_key NUMBER (10); v_melding_status NUMBER (10); v_open_opdr NUMBER (10); v_opdracht_id VARCHAR2 (30) := ''; v_opdracht_key NUMBER (10); v_opdracht_status NUMBER (10); - v_kenmerk_key NUMBER (10); v_kenmerkopdr_key NUMBER (10); v_refnr_lev VARCHAR2 (30); --v_kosten NUMBER (9, 2); @@ -5039,7 +5039,8 @@ BEGIN GROUP BY sm.mld_ins_discipline_key; v_errormsg := 'Fout bepalen HR-onderwerp'; - v_onderwerp := v_melding || ': ' || v_medewerker || ' per ' || v_ingangsdatum; + --v_onderwerp := v_melding || ': ' || v_medewerker || ' per ' || v_ingangsdatum; + v_onderwerp := v_melding || ': ' || v_medewerker || ' per ' || COALESCE (TO_CHAR (fac.safe_to_date (SUBSTR (v_ingangsdatum, 1, 10), 'dd-mm-yyyy'), 'dd-mm-yyyy'), '?'); -- Suggested extensions: -- - Check for MLDUSE-write autorisations @@ -5079,6 +5080,26 @@ BEGIN RETURNING mld_melding_key INTO v_melding_key; + -- MNNL#83416: Toevoegen ingangsdatum-kenmerkveld. + IF fac.safe_to_date (SUBSTR (v_ingangsdatum, 1, 10), 'dd-mm-yyyy') IS NOT NULL -- Geldige datum? + THEN + -- Bepaal kenmerk-key van kenmerksoort 'Datum' (key=221) voor de + -- bepaalde 'v_stdmelding_key'. + v_errormsg := 'Fout bepalen ingangsdatum'; + SELECT MAX (mld_kenmerk_key) + INTO v_kenmerk_key + FROM mld_kenmerk k + WHERE k.mld_kenmerk_verwijder IS NULL + AND k.mld_srtkenmerk_key = 221 -- Datum + AND INSTR (UPPER (k.mld_kenmerk_omschrijving), 'INGANGSDATUM') > 0 + AND k.mld_kenmerk_niveau = 'S' -- Aanname op S-niveau! + AND k.mld_stdmelding_key = fac.safe_to_number (v_stdmelding_key); + + v_errormsg := 'Fout toevoegen ingangsdatum'; + INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) + VALUES (v_melding_key, v_kenmerk_key, SUBSTR (v_ingangsdatum, 1, 10)); + END IF; + v_errormsg := 'Fout bijwerken melding-status'; mld.setmeldingstatus (v_melding_key, 2, v_perslid_key);