From f84e5889a2f9c17e05ee2ea5e6c88ba598e1ff78 Mon Sep 17 00:00:00 2001 From: Koen Reefman Date: Wed, 23 Aug 2017 09:15:53 +0000 Subject: [PATCH] PLAT#38415 Bulkactie 'Terugzetten (jaar)' toegevoegd om mjob inspecties terug te zetten naar hun oorspronkelijke jaar svn path=/Website/trunk/; revision=35052 --- APPL/INS/ins_inspect_save.asp | 30 ++++++++++++++++++++-- APPL/MJB/mjb_search_list.asp | 48 ++++++++++++++++++++++++++++++++--- 2 files changed, 72 insertions(+), 6 deletions(-) diff --git a/APPL/INS/ins_inspect_save.asp b/APPL/INS/ins_inspect_save.asp index b79cd4c36b..21c4a2110c 100644 --- a/APPL/INS/ins_inspect_save.asp +++ b/APPL/INS/ins_inspect_save.asp @@ -30,7 +30,7 @@ var ins_key_arr = getFParamIntArray("ins_keys"); var multi = ins_key_arr.length > 1; var srtcont_key_arr = getFParamIntArray("srtcont_key_arr", []); // Inspectiesoorten. -//var dlsrtcont_key_arr = getFParamIntArray("dlsrtcont_key_arr", []); // Inspecties +// var dlsrtcont_key_arr = getFParamIntArray("dlsrtcont_key_arr", []); // Inspecties // Scenario's. Wordt alleen vanuit mjb_search_list.asp meegegeven voor het verschuiven van plandatum. // Scenario's zijn planbaar (savemode is "P") maar worden savemode "E" als het deelsrtcontrole record al bestaat (al ingepland is). @@ -63,6 +63,10 @@ else if (savemode == "E") deelsrtcontrole_datum = getFParamDate("deelsrtcontrole_datum", new Date); // Datum kan ook aangepast worden. var getDeelsrtcontroleDate = Request.Form("deelsrtcontrole_datum").count > 0; // Was de inspectiedatum te wijzigen } +else if (savemode == "D") // Delete (Move back to original year). +{ + var dlsrtcont_key_arr = getFParamIntArray("dlsrtcont_key_arr", []); // Inspecties +} var warning = ""; var result = {}; @@ -763,7 +767,7 @@ else if (savemode == "E") + " WHERE ins_deel_key = " + ingesloten[0].ins_key + " AND ins_srtcontrole_key = " + ingesloten[0].srtcont_key + " AND ins_deelsrtcontrole_status = 0" - + " AND ins_scenario_key = " + ingesloten[0].scen_key; + + " AND ins_scenario_key = " + ingesloten[0].scen_key; var err = Oracle.Execute(sql, true); } else @@ -797,6 +801,28 @@ else if (savemode == "E") if ((!mjobdelete || (isScenario && mjobdelete)) && (insUpd.trackarray.length || flextrack.length)) ins.trackinspectupdate(ingesloten[0].dlsrtcont_key, L("lcl_ins_controle_is_upd").format(ingesloten[0].disc_oms) + "\n" + insUpd.trackarray.concat(flextrack).join("\n")); } +else if (savemode == "D") +{ + var result = { success: true, savemode: savemode, warning: "" }; + var sql = ""; + var err; + for (var i = 0; i < ingesloten.length; i++) + { + sql = "DELETE FROM ins_deelsrtcontrole" + + " WHERE ins_deel_key = " + ingesloten[i].ins_key + + " AND ins_srtcontrole_key = " + ingesloten[i].srtcont_key + + " AND ins_deelsrtcontrole_status = 0" + + " AND ins_scenario_key = " + ingesloten[i].scen_key; + + err = Oracle.Execute(sql, true); + + if (err.friendlyMsg && result.success !== false) + { + result.warning = err.friendlyMsg; + result.success = false; + } + } +} Response.Write(JSON.stringify(result)); Response.End(); diff --git a/APPL/MJB/mjb_search_list.asp b/APPL/MJB/mjb_search_list.asp index 5a3db6f3f5..dc17b46f3f 100644 --- a/APPL/MJB/mjb_search_list.asp +++ b/APPL/MJB/mjb_search_list.asp @@ -242,7 +242,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol moveplan(null, mjbDeelKeyArray[i], mjbSrtContrKeyArray[i], mjbScenKeyArray[i], json.year) } FcltCallbackRefresh(json, textStatus); - }; + } function mjb_dragdrop(rowArray, isMulti) { @@ -258,6 +258,44 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol FcltMgr.openModalDetail(url, L("lcl_mjb_dragdrop"), {callback: dragDropCallback}); } + function mjb_moveYearBack(rowArray, isMulti) + { + var ins_key_arr = []; + var srtcont_key_arr = []; + var dlsrtcont_key_arr = []; + for (var i = 0; i < rowArray.length; i++) + { + rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')'); + + // Delete the following ins_deelsrtcontrole records + if (rowdata.insDeelSrtContrKey && rowdata.insDeelSrtContrKey > -1 && + rowdata.insDeelSrtContrStatus && rowdata.insDeelSrtContrStatus == 0 && // Ingepland (0) + (!rowdata.insScenKey || rowdata.insScenKey == 1)) + { + ins_key_arr.push(rowdata.insKey); + srtcont_key_arr.push(rowdata.insSrtControleKey); + dlsrtcont_key_arr.push(rowdata.insDeelSrtContrKey); + } + } + if (ins_key_arr.length) + { + var data = { savemode : "D", // delete-mode + ins_keys : ins_key_arr.join(","), + srtcont_key_arr : srtcont_key_arr.join(","), + dlsrtcont_key_arr: dlsrtcont_key_arr.join(","), + mjob : 1 + }; + + protectRequest.dataToken(data); + $.post("../ins/ins_inspect_save.asp" + , data + , FcltCallbackRefresh + , "json" + ); + } + // else: er hoeven geen taken worden teruggezet + } + // Nu in "MJOP Scenario's" aan te roepen. //function insInstituteScen() //{ @@ -929,7 +967,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol { data.insKey = oRs("ins_deel_key").Value; data.insSrtControleKey = oRs("ins_srtcontrole_key").Value; - data.insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1; + data.insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value ? oRs("ins_deelsrtcontrole_key").Value : -1; + data.insDeelSrtContrStatus = oRs("ins_deelsrtcontrole_status").Value == null ? -1 : oRs("ins_deelsrtcontrole_status").Value; data.insNexdate0 = new Date(oRs("org_nexdate_0").Value).getFullYear(); // Eerstaankomende vandaag of in de toekomst. data.insCtrControleType = oRs("ctr_controle_type").Value; data.insScenKey = oRs("ins_scenario_key").Value; @@ -1232,7 +1271,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol /* de mogelijke acties */ if (fulldetails) { - rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true } ); + rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true }); + rst.addAction({ action: "mjb_moveYearBack", caption: L("lcl_mjb_move_back"), multi: true, multiOnce: true, onlyMulti: true }); if (scenario == 1) { @@ -1245,7 +1285,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol //rst.addAction({ action: "insClose", caption: L("lcl_ins_close") + "/" + L("lcl_ins_finish"), multi: true, multiOnce: true, enabler: "eClose", onlyMulti: true }); //rst.addAction({ action: "insFinish", caption: L("lcl_ins_finish"), multi: true, multiOnce: true, enabler: "eFinish", onlyMulti: true }); - rst.addAction({ action: "insFreeze", caption: L("lcl_mjb_freeze"), multi: true, multiOnce: true, enabler: "eFreeze", onlyMulti: true }); + rst.addAction({ action: "insFreeze", caption: L("lcl_mjb_freeze"), multi: true, multiOnce: true, enabler: "eFreeze", onlyMulti: true }); rst.addAction({ action: "insAddScen", caption: L("lcl_mjb_incl_scen"), multi: true, multiOnce: true, enabler: "eAddScen", onlyMulti: true }); } else if (scenario > 1 && actsit)