diff --git a/APPL/API2/api2_tools.inc b/APPL/API2/api2_tools.inc index 292a9e7963..fb025f40f8 100644 --- a/APPL/API2/api2_tools.inc +++ b/APPL/API2/api2_tools.inc @@ -318,7 +318,8 @@ function buildStatusList() { var statusList = "-1;" + ";1;" + L("lcl_mld_afgewezen") - + ";6;" + L("lcl_mld_afgemeld"); + + ";6;" + L("lcl_mld_afgemeld") + + ";81;" + L("lcl_mld_onderbroken"); return statusList; } diff --git a/APPL/MLD/load_kenmerk.asp b/APPL/MLD/load_kenmerk.asp index eb1408c1fc..e7650fde25 100644 --- a/APPL/MLD/load_kenmerk.asp +++ b/APPL/MLD/load_kenmerk.asp @@ -38,6 +38,7 @@ generateFlexKenmerkBlock({ stdm_arr : getQParamIntArray("stdm_str", []), // reado : (getQParamInt("reado", 0) == 1), flexcolumns : getQParamInt("advanced", 0) == 1?1:S("mld_flexcolumns"), cancel : (getQParamInt("cancel", 0) == 1), + halt : (getQParamInt("halt", 0) == 1), closing : (getQParamInt("close", 0) == 1), copy : (getQParamInt("opdr_copy", 0) == 1), opdr_status : getQParamInt("opdr_status", -1), diff --git a/APPL/MLD/mld.inc b/APPL/MLD/mld.inc index 7fd26c3d8b..72b8b2c788 100644 --- a/APPL/MLD/mld.inc +++ b/APPL/MLD/mld.inc @@ -213,7 +213,29 @@ mld = {setmeldingstatus: function (opdr_key, params) { if (params.resume) - { // Als er al een opdracht actief is en sequentieel&2, dan moet de actieve opdracht onderbroken worden. + { // Als er kenmerken verplicht zijn bij het onderbreken, dan moeten deze weer leeg gemaakt worden bij het hervatten. + var kenmSql = " SELECT k.mld_kenmerk_key" + + " , ko.mld_kenmerkopdr_key" + + " FROM mld_kenmerkopdr ko" + + " , mld_kenmerk k" + + " WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key" + + " AND mld_kenmerkopdr_verwijder IS NULL" + + " AND k.mld_kenmerk_verplicht_status = 81" // Verplicht bij het onderbreken van de opdracht. + + " AND mld_opdr_key = " + opdr_key; + var oRs = Oracle.Execute(kenmSql); + while (!oRs.eof) + { // Kenmerk weer leeg maken (verwijderen). + var delSql = "DELETE" + + " FROM mld_kenmerkopdr" + + " WHERE mld_opdr_key = " + opdr_key + + " AND mld_kenmerk_key = " + oRs("mld_kenmerk_key").Value + + " AND mld_kenmerkopdr_key = " + oRs("mld_kenmerkopdr_key").Value; + Oracle.Execute(delSql); + oRs.MoveNext(); + } + oRs.Close(); + + // Als er al een opdracht actief is en sequentieel&2, dan moet de actieve opdracht onderbroken worden. // Als de opdrachten niet sequentieel uitgevoerd moeten worden, dan wordt er ook geen actieve opdracht gevonden. var activeopdr = mld.getactiveopdracht(opdr_key); if (activeopdr.opdr_key > 0) diff --git a/APPL/MLD/mld_flexkenmerk.inc b/APPL/MLD/mld_flexkenmerk.inc index 0ce1609471..d71c29d878 100644 --- a/APPL/MLD/mld_flexkenmerk.inc +++ b/APPL/MLD/mld_flexkenmerk.inc @@ -45,6 +45,7 @@ function generateFlexKenmerkBlock(params) var opdr_key = (params.opdr_key? params.opdr_key : -1); var reado = (params.reado? params.reado : false); var cancel = (params.cancel? params.cancel : false); + var halt = (params.halt? params.halt : false); var showClose = (params.showClose? params.showClose : false); var copy = (params.copy? params.copy : false); var opdr_status = (params.opdr_status? params.opdr_status : -1); @@ -294,6 +295,9 @@ function generateFlexKenmerkBlock(params) + (cancel ? " OR k.mld_kenmerk_verplicht_status = 1" : "") + + (halt + ? " OR k.mld_kenmerk_verplicht_status = 81" + : "") + " THEN 1 ELSE NULL END kenmerk_verplicht, " + " " + otherKenmerkPath + " otherpath," // corresponderende pad voor copy/move folder + " k.mld_kenmerk_toonbaar kenmerk_toonbaar," // 1=Alleen toonbaar (readonly) @@ -323,6 +327,8 @@ function generateFlexKenmerkBlock(params) sql1 += " AND k.mld_kenmerk_volgnummer <= 900"; if (cancel) sql1 += " AND k.mld_kenmerk_verplicht_status = 1"; + if (halt) + sql1 += " AND k.mld_kenmerk_verplicht_status = 81"; } else { // changeMelding || newMelding || advancedMelding diff --git a/APPL/MLD/opdr_hltrsm.asp b/APPL/MLD/opdr_hltrsm.asp index 1dd02195a0..04111383d4 100644 --- a/APPL/MLD/opdr_hltrsm.asp +++ b/APPL/MLD/opdr_hltrsm.asp @@ -4,7 +4,7 @@ $Id$ File: opdr_hltrsm.asp - Description: Track het onderbreken (hlt) of hervatten (rsm) van de opdracht. + Description: Het onderbreken (hlt) of hervatten (rsm) van de opdracht (incl. tracking). Parameters: opdr_key Opdrachtnummer (key) */ %> @@ -21,7 +21,7 @@ var opdr_key = getFParamInt("opdr_key"); var this_opdr = mld.func_enabled_opdracht(opdr_key); // Wat mag ik zoal op deze opdracht. var halt = getFParamInt("hlt", 0) == 1; var resume = getFParamInt("rsm", 0) == 1; -user.anything_todo_or_abort(this_opdr.canChange && (halt || resume)); +user.anything_todo_or_abort((this_opdr.canOnderbreken && halt) || (this_opdr.canHervatten && resume)); mld.opdr_hltrsm(opdr_key, { halt: halt, resume: resume }); diff --git a/APPL/Shared/default.csx b/APPL/Shared/default.csx index 65d3f90258..3470265178 100644 --- a/APPL/Shared/default.csx +++ b/APPL/Shared/default.csx @@ -3002,7 +3002,7 @@ input.materiaal { width: 200px; } -.fldmsgsubj, .fldcanceloms, .fldfac_query +.fldmsgsubj, .fldcanceloms, .fldfac_query, .fldhaltnote { width: 400px; }