KMMO#82722: Kan er een knop toegevoegd worden om geaccordeerde taken terug te zetten.

svn path=/Website/trunk/; revision=66446
This commit is contained in:
Maykel Geerdink
2024-10-03 08:07:42 +00:00
parent 82f9d3af0c
commit d6547c25b6
5 changed files with 122 additions and 23 deletions

View File

@@ -1164,16 +1164,19 @@ ins = {checkAutLevel:
(ins_deelsrtcontrole_status == 2 || ins_deelsrtcontrole_status == 3) && freezedate_year <= mjb_freeze_year) // Laatste taak is een geaccordeerde/bevroren of ter uitvoering staande taak in of voor het freeze jaar.
ctr_ismjob;
// Bij eerste inspectie, geplande inspectie of verwerkte inspectie kan er gestart worden.
iresult.canInspStartReq = periode > 0 && iresult.readuse && canDoNextAction && !vervallen &&
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) &&
actief && iresult.hasCTRFOFWrite &&
((isc_options & 2) == 2) &&
!isScenario;
// Als je de inspectie gestart hebt, mag je het ook weer terugdraaien.
iresult.canInspStartUnstartReq = periode > 0 && iresult.readuse && canDoNextAction && !vervallen &&
actief && iresult.hasCTRFOFWrite &&
((isc_options & 2) == 2) &&
!isScenario;
iresult.canInspStartReq = iresult.canInspStartUnstartReq && (ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6);
iresult.canInspUnstartReq = iresult.canInspStartUnstartReq && ins_deelsrtcontrole_status == 2;
iresult.canInspStart = iresult.canInspStartReq && !ctr_ismjob;
// Bevriezen gebeurt altijd voor het kalenderjaar S("mjb_freeze_year").
// Dan is er voor het freeze kalenderjaar een bedrag ingevuld.
// Mocht het bedrag 0 zijn, dan moet er tijdens heb bevriezen een lcl aan de opmerking worden toegevoegd, dat de taak door een hogere prio taak wordt uitgevoerd.
iresult.canInspFreeze = iresult.canInspStartReq && isFreezeYear && ctr_ismjob;
iresult.canInspUnFreeze = iresult.canInspUnstartReq && ctr_ismjob;
iresult.canInspExecute = periode > 0 && iresult.readuse && canDoNextAction && !vervallen &&
ins_deelsrtcontrole_status == 2 &&
actief && iresult.hasCTRBOFWrite &&

View File

@@ -97,6 +97,29 @@ var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
});
}
function insUnstart(row)
{
FcltMgr.confirm(L("lcl_ins_unexecuting"), function() {
var inskey = row.getAttribute("ROWKEY");
var rowdata = JSON.parse(row.getAttribute("ROWDATA"));
if (rowdata)
{
var srtcontrolekey = rowdata.insSrtControleKey;
var deelSrtContrKey = rowdata.insDeelSrtContrKey;
var ismjob = rowdata.insCtrIsMJOB
var data = { ins_keys: inskey,
srtcont_key_arr: srtcontrolekey,
deelsrtcont_key_arr: deelSrtContrKey
};
protectRequest.dataToken(data);
$.post("ins_inspect_unstart.asp", data, FcltCallbackRefresh, "json");
}
});
}
function insUnexecute(row)
{
@@ -108,12 +131,11 @@ var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
var srtcontrolekey = rowdata.insSrtControleKey;
var deelSrtContrKey = rowdata.insDeelSrtContrKey;
var data = {
mld_key: <%=mld_key%>,
ins_key: inskey,
srtcont_key: srtcontrolekey,
deelsrtcont_key: deelSrtContrKey
};
var data = { mld_key: <%=mld_key%>,
ins_key: inskey,
srtcont_key: srtcontrolekey,
deelsrtcont_key: deelSrtContrKey
};
protectRequest.dataToken(data);
$.post("ins_inspect_unexecute.asp", data, FcltCallbackRefresh, "json");
@@ -234,8 +256,9 @@ var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
var eEdit = false;
var ePlan = false;
var eStart =false;
var eStart = false;
var eStartD = false;
var eUnstart = false;
var eClose = false;
var eFinish = false;
var eUnexecute = false;
@@ -256,18 +279,19 @@ var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
// Gedaande inspecties kunnen alleen geedit worden.
// Ik zie alleen objecten waar ik read rechten (3d) op heb. Dan mag ik ze ook verder inzien.
var eEdit = lthis_ins.canInspEdit;
var ePlan = lthis_ins.canInspPlan;
eEdit = lthis_ins.canInspEdit;
ePlan = lthis_ins.canInspPlan;
// Start een nieuwe inspectie m.b.v. een inline button actie. MJOB mag alleen starten/freezen in de jaren voor het freeze jaar.
var eStart = lthis_ins.canInspStart || (lthis_ins.canInspFreeze && S("mjb_freeze_year") < new Date().getYear());
var eStartD = (lthis_ins.canInspStart || lthis_ins.canInspFreeze) && (istatus < 0); // Start een nieuwe inspectie m.b.v. een default inline actie (op regel klikken).
var eUnexecute = mld_key > 0 && lthis_ins.canInspUnexecute;
var eClose = lthis_ins.canInspClose;
eStart = lthis_ins.canInspStart || (lthis_ins.canInspFreeze && S("mjb_freeze_year") < new Date().getYear());
eStartD = (lthis_ins.canInspStart || lthis_ins.canInspFreeze) && (istatus < 0); // Start een nieuwe inspectie m.b.v. een default inline actie (op regel klikken).
eUnstart = lthis_ins.canInspUnFreeze;
eUnexecute = mld_key > 0 && lthis_ins.canInspUnexecute;
eClose = lthis_ins.canInspClose;
// Als er nog niet gereed gemeld/afgemeld is dan wordt die butten wel getoond. MJOB mag alleen voltooien in voorgaande jaren en dit jaar. Het kan niet voor toekomstige jaren.
var eFinish = (!lthis_ins.canInspClose && lthis_ins.canInspFinish) || (lthis_ins.canInspFinishMjb && S("mjb_freeze_year") <= new Date().getYear());
eFinish = (!lthis_ins.canInspClose && lthis_ins.canInspFinish) || (lthis_ins.canInspFinishMjb && S("mjb_freeze_year") <= new Date().getYear());
}
var data = {eEdit: eEdit, eShow: eShow, ePlan: ePlan, eStart: eStart, eStartD: eStartD, eUnexecute: eUnexecute, eClose: eClose, eFinish: eFinish};
var data = {eEdit: eEdit, eShow: eShow, ePlan: ePlan, eStart: eStart, eStartD: eStartD, eUnstart: eUnstart, eUnexecute: eUnexecute, eClose: eClose, eFinish: eFinish};
return data;
}
@@ -543,6 +567,7 @@ var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
rst.addAction({ action: "insStart", caption: L("lcl_ins_start"), enabler: "eStartD", isDefault: true });
rst.addAction({ action: "insPlan", caption: L("lcl_ins_schedule"), enabler: "ePlan" });
rst.addAction({ action: "insStart", caption: L("lcl_ins_start"), enabler: "eStart" });
rst.addAction({ action: "insUnstart", caption: L("lcl_ins_unstart"), enabler: "eUnstart" });
if (mld_key > 0)
rst.addAction({ action: "insUnexecute", caption: L("lcl_ins_unexecute"), enabler: "eUnexecute", tooltip: L("lcl_ins_unexecute_task") });
rst.addAction({ action: "insClose", caption: L("lcl_ins_stop"), enabler: "eClose" });

View File

@@ -61,8 +61,6 @@ if (freeze && groupby < 9)
var kp_key_arr = getFParamKeyArray("kp_key_arr", []); // Kostenplaats.
var incbtw = false; // Voor het accorderen zijn de bedragen (freeze) zonder BTW nodig. Dus ALTIJD false meegeven;
var showunfin = getFParamInt("showunfin", 0) == 1; // Alleen onvoltooide regels.
var inflatiepct = S("mjb_inflation");
var inflatiefactor = 1 + (inflatiepct / 100);
var deel = getFParam("deel", ""); // Identieficatie
// FORM score velden.

View File

@@ -279,7 +279,7 @@ function insStart(rowArray, isMulti, pfreeze)
var deleted = 0;
for (var i = 0; i < rowArray.length; i++)
{
rowdata = JSON.parse(rowArray[i].getAttribute("ROWDATA"));
var rowdata = JSON.parse(rowArray[i].getAttribute("ROWDATA"));
// Scenario's kunnen niet gestart worden. Hier de scenario's er al uit filteren.
if (!rowdata.insScenKey || rowdata.insScenKey == 1)
{ // Het is geen scenario. De periodieke taak kan gestart worden. De inspectie aan het array toevoegen.
@@ -337,6 +337,78 @@ function insStart(rowArray, isMulti, pfreeze)
});
}
function insUnstart(rowArray, isMulti)
{
var lcl_1 = L("lcl_ins_unstarting");
var lcl_m = L("lcl_ins_unstarting_m");
FcltMgr.confirm(rowArray.length == 1? lcl_1 : lcl_m,
{ autoconfirm: isMulti },
function()
{
var insKeyString = getKeyString(rowArray);
var srtcontrolekeyArray = new Array();
var deelsrtcontrkeyArray = new Array();
var deleted = 0;
for (var i = 0; i < rowArray.length; i++)
{
var rowdata = JSON.parse(rowArray[i].getAttribute("ROWDATA"));
// Scenario's kunnen niet teruggezet worden. Hier de scenario's er al uit filteren.
if (!rowdata.insScenKey || rowdata.insScenKeiny == 1)
{ // Het is geen scenario. De periodieke taak kan teruggezet worden. De inspectie aan het array toevoegen.
if (groupby == 9)
{
srtcontrolekeyArray[i - deleted] = rowdata.insSrtControleKey;
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrKey;
}
}
else
{ // Het is een scenario. De ins_key verwijderen uit de lijst.
var insKeyString_arr = insKeyString.split(",");
insKeyString_arr.splice(i - deleted, 1);
insKeyString = insKeyString_arr.join(",");
deleted++;
}
}
var data = { ins_keys: insKeyString,
srtcont_key_arr: srtcontrolekeyArray.join(","),
deelsrtcont_key_arr: deelsrtcontrkeyArray.join(","),
dist_key_arr: dist_key_arr,
loc_key_arr: loc_key_arr,
bld_key_arr: bld_key_arr,
disc_key_arr: disc_key_arr,
srtgroep_key_arr: srtgroep_key_arr,
srtdeel_key_arr: srtdeel_key_arr,
moredetail: moredetail,
groep_str_arr: groep_str_arr,
categorie_key_arr: categorie_key_arr,
srtcontrole_key_arr: srtcontrole_key_arr,
frequentie_arr: frequentie_arr,
kp_key_arr: kp_key_arr,
incbtw: incbtw,
showunfin: showunfin,
groupby: groupby,
deel: deel,
mjbMoved: mjbMoved,
mjbFreezed: mjbFreezed,
mjbXcped: mjbXcped,
toyear: toyear,
scenario: scenario,
fitness_score1_from: fitness_score1_from,
fitness_score1_through: fitness_score1_through,
fitness_score1_from_neg: fitness_score1_from_neg,
fitness_score1_through_neg: fitness_score1_through_neg,
fitness_score1_from_pos: fitness_score1_from_pos,
fitness_score1_through_pos: fitness_score1_through_pos,
priority_score2_from: priority_score2_from,
priority_score2_through: priority_score2_through,
jaren: jaren
};
protectRequest.dataToken(data);
$.post("../ins/ins_inspect_unstart.asp", data, FcltCallbackRefresh, "json");
});
}
function insClose(rowArray, isMulti, fromfinish, pfinishmjob)
{
var insKeyString = getKeyString(rowArray);

View File

@@ -1140,6 +1140,7 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
else
{ // mode == 3
rst.addAction({ action: "insExecute", caption: L("lcl_mjb_execute"), multi: true, multiOnce: true, onlyMulti: true });
rst.addAction({ action: "insUnstart", caption: L("lcl_ins_unstart"), multi: true, multiOnce: true, onlyMulti: true });
rst.addAction({ action: "insFinishMJOB", caption: L("lcl_ins_finish"), multi: true, multiOnce: true, onlyMulti: true });
}