614 lines
26 KiB
JavaScript
614 lines
26 KiB
JavaScript
/*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: INS/ins_list.js
|
|
*/
|
|
// FE functions
|
|
function insHistory(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
var ins_key = row.getAttribute("ROWKEY");
|
|
var insData = JSON.parse(row.getAttribute("ROWDATA"));
|
|
if (insData)
|
|
{
|
|
var insDeelDescr = insData.insDeelDescr;
|
|
var insKenmerkDeelKey = insData.insKenmerkDeelKey;
|
|
var insKenmerkKey = insData.insKenmerkKey;
|
|
|
|
var url = "appl/ins/ins_history.asp?urole=" + urole
|
|
+ "&insdeelkey=" + ins_key
|
|
+ "&inskenmerkdeelkey=" + insKenmerkDeelKey
|
|
+ "&inskenmerkkey=" + insKenmerkKey
|
|
+ "&insdeeldescr=" + insDeelDescr
|
|
+ "&consumption_reg=1";
|
|
FcltMgr.openDetail(url, insDeelDescr);
|
|
}
|
|
}
|
|
|
|
function insSave(rowArray)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
|
|
if (insKeyString != "")
|
|
{
|
|
var data = $("#inslist").serialize();
|
|
$.post("../ins/ins_save_use.asp",
|
|
data,
|
|
FcltCallbackRefresh,
|
|
"json");
|
|
}
|
|
}
|
|
|
|
function checkEnter(evt)
|
|
{ // e is event object passed from function invocation
|
|
evt = evt || window.event;
|
|
var characterCode = evt.keyCode; // literal character code will be stored in this variable, character code is contained in IE's keyCode property
|
|
|
|
if (characterCode == 13) // if generated character code is equal to ascii 13 (if enter key)
|
|
return false;
|
|
else
|
|
return true;
|
|
}
|
|
|
|
function checkInput(evt)
|
|
{
|
|
evt = evt || window.event;
|
|
var obj = evt.srcElement || evt.target;
|
|
var new_val = obj.value;
|
|
var sk_kenmerktype = obj.value1;
|
|
//var sk_lengte = parseInt(obj.value2, 10);
|
|
var sk_nmin = parseInt(obj.value3, 10);
|
|
var sk_nmax = parseInt(obj.value4, 10);
|
|
|
|
if (sk_kenmerktype == 'N')
|
|
{
|
|
var valid = true;
|
|
var error = "";
|
|
if (new_val == "" ||
|
|
new_val >= 0 ||
|
|
(!isNaN(new_val) && isGoodNumber(new_val,true,true,-1,-1) && parseInt(new_val,10) >= 0))
|
|
{
|
|
i = obj.id.substring(3);
|
|
var last_value = parseInt(document.getElementById("last_val" + i).value,10);
|
|
if (new_val == "") new_val = last_value;
|
|
if (new_val < last_value)
|
|
{
|
|
valid = false;
|
|
error = L("lcl_obj_value_to_low");
|
|
}
|
|
else if (!isNaN(sk_nmin) && new_val < sk_nmin)
|
|
{
|
|
valid = false;
|
|
error = L("lcl_obj_value_below_nmin");
|
|
}
|
|
else if (!isNaN(sk_nmax) && new_val > sk_nmax)
|
|
{
|
|
valid = false;
|
|
error = L("lcl_obj_value_below_nmax");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
valid = false;
|
|
error = L("lcl_obj_bad_value");
|
|
}
|
|
validateField(obj, valid, error);
|
|
inslist.action = valid ? 'ins_search_list.asp' : 'javascript:0';
|
|
return valid;
|
|
}
|
|
else
|
|
{
|
|
// yet, only numerical kenmerktypes are supported
|
|
// FcltMgr.alert(L("lcl_obj_only_num"));
|
|
obj.value = "";
|
|
}
|
|
}
|
|
|
|
// FO en BO functions
|
|
function insEdit1(row)
|
|
{
|
|
insEdit([row]);
|
|
}
|
|
|
|
// insEdit wordt allen nog maar aangeroepen voor wijzigen van 1 object.
|
|
// Voor uitlenen en innemen worden de functies insCheckIn() en insCheckOut() gebruikt.
|
|
function insEdit(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
var ins_key = row.getAttribute("ROWKEY");
|
|
|
|
if (ins_key > 0)
|
|
{
|
|
var url = 'appl/ins/ins_deel.asp?ins_key=' + ins_key
|
|
+ '&urole=' + urole
|
|
+ '&self=' + eigen;
|
|
FcltMgr.openDetail(url, "", { reuse: true });
|
|
}
|
|
}
|
|
|
|
function insDelete(rowArray, isMulti)
|
|
{
|
|
FcltMgr.confirm(L("lcl_ins_del_txt_deel"), { autoconfirm: isMulti }, function() {
|
|
var insKeyString = getKeyString(rowArray);
|
|
var data = {
|
|
key: insKeyString,
|
|
level: "D"
|
|
};
|
|
protectRequest.dataToken(data);
|
|
$.post("../ins/ins_delete.asp",
|
|
data,
|
|
FcltCallbackRefresh,
|
|
"json");
|
|
});
|
|
}
|
|
|
|
function refreshall(data)
|
|
{
|
|
if (data.refresh)
|
|
window.location.reload();
|
|
}
|
|
|
|
//TODO: werkt voor single items. Nu nog voor multi?
|
|
function insCheckIn(rowArray, isMulti)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
FcltMgr.openModalDetail("../INS/ins_deel_free.asp?takein=1&ins_keys=" + insKeyString, L("lcl_ins_insinn"), {callback: FcltMgr.reload});
|
|
}
|
|
|
|
function insCheckOut(rowArray, isMulti)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
FcltMgr.openModalDetail("../INS/ins_deel_free.asp?lendout=1&ins_keys=" + insKeyString, L("lcl_ins_lend_out"), {callback: FcltMgr.reload});
|
|
}
|
|
|
|
// Uitleen flexkenmerken bewerken.
|
|
function insAdapt(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
var ins_key = row.getAttribute("ROWKEY");
|
|
FcltMgr.openModalDetail("../INS/ins_deel_free.asp?adapt=1&ins_keys=" + ins_key, L("lcl_ins_adapt"));
|
|
}
|
|
|
|
// Een nieuw item uitgeven
|
|
function insCheckOutNewItem(prskey, prstype)
|
|
{
|
|
FcltMgr.openModalDetail("../INS/ins_deel_free.asp?" + (prstype == "C"? "cps_key=" : "prs_key=") + prskey, L("lcl_ins_lend_out"), {callback: FcltMgr.reload});
|
|
}
|
|
|
|
function insMultiEdit(rowArray)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var subject = L("lcl_ins_multi_edit");
|
|
var url = "../ins/ins_edit_deel_multi.asp?ins_keys=" + insKeyString + "&urole=" + urole;
|
|
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
|
|
}
|
|
|
|
function insMultiReserve(rowArray)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var subject = L("lcl_ins_multi_reserve");
|
|
var url = "../mgt/res_deel.asp?mode=edit&id=-1&scf_multi=1&insres=1&urole=" + urole;
|
|
// De geselecteerde ins_deel_key's worden meegestuurd in de parameters van openModalDetail en niet in de url-parameter &scf_multi_id.
|
|
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh, id:insKeyString});
|
|
}
|
|
|
|
function insMultiSrtdeel(rowArray)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var subject = L("lcl_ins_multi_srtdeel");
|
|
var url = "../ins/ins_change_srtdeel.asp?ins_key=" + insKeyString;
|
|
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh, id:insKeyString});
|
|
}
|
|
|
|
function insShowInsp(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
var inskey = row.getAttribute("ROWKEY");
|
|
var rowdata = JSON.parse(row.getAttribute("ROWDATA"));
|
|
if (rowdata)
|
|
{
|
|
var srtcontrolekey = rowdata.insSrtControleKey;
|
|
var deellsrtcontkey = rowdata.insDeelSrtContrKey;
|
|
var url = "appl/ins/ins_inspect.asp?ins_keys=" + inskey + "&srtcont_keys=" + srtcontrolekey + "&deelsrtcont_key=" + deellsrtcontkey;
|
|
FcltMgr.openDetail(url, L("lcl_change"));
|
|
}
|
|
}
|
|
|
|
function insPlanInline(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
var inskey = row.getAttribute("ROWKEY");
|
|
var rowdata = JSON.parse(row.getAttribute("ROWDATA"));
|
|
if (rowdata)
|
|
{
|
|
var srtcontrolekey = rowdata.insSrtControleKey;
|
|
var deellsrtcontkey = rowdata.insDeelSrtContrKey;
|
|
var url = "appl/ins/ins_inspect.asp?plan=1&ins_keys=" + inskey
|
|
+ "&srtcont_keys=" + srtcontrolekey
|
|
+ "&deelsrtcont_keys=" + deellsrtcontkey;
|
|
FcltMgr.openDetail(url, L("lcl_ins_schedule"));
|
|
}
|
|
}
|
|
|
|
function insPlanMulti(rowArray)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var srtcontrolekeyArray = new Array();
|
|
var deelsrtcontrkeyArray = new Array();
|
|
var deleted = 0;
|
|
for (var i = 0; i < rowArray.length; i++)
|
|
{
|
|
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 periodieke taak aan het array toevoegen.
|
|
srtcontrolekeyArray[i - deleted] = rowdata.insSrtControleKey;
|
|
// Als je wilt inplannen is er nog geen inspectie record (ins_deelsrtcontrole_key). De insDeelSrtContrKey is dan -2.
|
|
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 url = "appl/ins/ins_inspect.asp?plan=1&ins_keys=" + insKeyString
|
|
+ "&srtcont_keys=" + srtcontrolekeyArray.join(",")
|
|
+ "&deelsrtcont_keys=" + deelsrtcontrkeyArray.join(",");
|
|
FcltMgr.openDetail(url, L("lcl_ins_schedule"));
|
|
}
|
|
|
|
function insFreeze(rowArray, isMulti)
|
|
{
|
|
insStart(rowArray, isMulti, true);
|
|
}
|
|
|
|
function insStart(rowArray, isMulti, pfreeze)
|
|
{
|
|
var lcl_1 = pfreeze? L("lcl_mjb_freezing") : L("lcl_ins_starting");
|
|
var lcl_m = pfreeze? L("lcl_mjb_freezing_m") : L("lcl_ins_starting_m");
|
|
FcltMgr.confirm(rowArray.length == 1? lcl_1 : lcl_m,
|
|
{ autoconfirm: isMulti },
|
|
function()
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var srtcontrolekeyArray = new Array();
|
|
var deleted = 0;
|
|
var aantaltaken = 0;
|
|
for (var i = 0; i < rowArray.length; i++)
|
|
{
|
|
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.
|
|
if (!pfreeze || (pfreeze && groupby == 9))
|
|
srtcontrolekeyArray[i - deleted] = rowdata.insSrtControleKey;
|
|
aantaltaken += rowdata.aantaltaken;
|
|
}
|
|
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(","),
|
|
freeze: (pfreeze? 1 : 0),
|
|
aantaltaken: aantaltaken
|
|
};
|
|
if (pfreeze)
|
|
{
|
|
data.dist_key_arr = dist_key_arr;
|
|
data.loc_key_arr = loc_key_arr;
|
|
data.bld_key_arr = bld_key_arr;
|
|
data.disc_key_arr = disc_key_arr;
|
|
data.srtgroep_key_arr = srtgroep_key_arr;
|
|
data.srtdeel_key_arr = srtdeel_key_arr;
|
|
data.moredetail = moredetail;
|
|
data.groep_str_arr = groep_str_arr;
|
|
data.categorie_key_arr = categorie_key_arr;
|
|
data.srtcontrole_key_arr = srtcontrole_key_arr;
|
|
data.frequentie_arr = frequentie_arr;
|
|
data.kp_key_arr = kp_key_arr;
|
|
data.incbtw = incbtw;
|
|
data.showunfin = showunfin;
|
|
data.groupby = groupby;
|
|
data.deel = deel;
|
|
data.mjbMoved = mjbMoved;
|
|
data.mjbFreezed = mjbFreezed;
|
|
data.mjbXcped = mjbXcped;
|
|
data.toyear = toyear;
|
|
data.scenario = scenario;
|
|
data.fitness_score1_from = fitness_score1_from;
|
|
data.fitness_score1_through = fitness_score1_through;
|
|
data.fitness_score1_from_neg = fitness_score1_from_neg;
|
|
data.fitness_score1_through_neg = fitness_score1_through_neg;
|
|
data.fitness_score1_from_pos = fitness_score1_from_pos;
|
|
data.fitness_score1_through_pos = fitness_score1_through_pos;
|
|
data.priority_score2_from = priority_score2_from;
|
|
data.priority_score2_through = priority_score2_through;
|
|
data.jaren = jaren;
|
|
}
|
|
protectRequest.dataToken(data);
|
|
$.post("../ins/ins_inspect_start.asp", data, FcltCallbackRefresh, "json");
|
|
});
|
|
}
|
|
|
|
function insUnfreeze(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;
|
|
var aantaltaken = 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.insScenKey == 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;
|
|
}
|
|
aantaltaken += rowdata.aantaltaken;
|
|
}
|
|
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,
|
|
aantaltaken: aantaltaken
|
|
};
|
|
protectRequest.dataToken(data);
|
|
$.post("../ins/ins_inspect_unstart.asp", data, FcltCallbackRefresh, "json");
|
|
});
|
|
}
|
|
|
|
function insClose(rowArray, isMulti, fromfinish, pfinishmjob)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var srtcontrolekeyArray = new Array();
|
|
var deelsrtcontrkeyArray = new Array();
|
|
var deleted = 0;
|
|
for (var i = 0; i < rowArray.length; i++)
|
|
{
|
|
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.
|
|
if (!pfinishmjob || (pfinishmjob && groupby == 9))
|
|
{
|
|
srtcontrolekeyArray[i - deleted] = rowdata.insSrtControleKey;
|
|
// Als er een inspectie is ingepland, dan kan er ook nog een geaccordeerde/gestarte inspectie zijn.
|
|
// Die kan dan wel voltooid worden. Dan deze deelsrtcontrole key meegeven.
|
|
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrStatus == 0 && rowdata.insDeelSrtContrKeyFreezed > 0
|
|
? rowdata.insDeelSrtContrKeyFreezed
|
|
: 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 url = "appl/ins/ins_inspect.asp?close=1&ins_keys=" + insKeyString
|
|
+ "&srtcont_keys=" + srtcontrolekeyArray.join(",")
|
|
+ "&deelsrtcont_keys=" + deelsrtcontrkeyArray.join(",")
|
|
+ (fromfinish
|
|
? "&fromfinish=1"
|
|
: "")
|
|
+ (pfinishmjob
|
|
? "&finishmjob=1"
|
|
+ "&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
|
|
//+ "&actsit=" + actsit // actsit alleen van invloed op scenario_key > 1.
|
|
+ "&mjbMoved=" + mjbMoved
|
|
+ "&mjbFreezed=" + mjbFreezed
|
|
+ "&mjbXcped=" + mjbXcped
|
|
: "");
|
|
FcltMgr.openDetail(url, L("lcl_ins_stop"));
|
|
}
|
|
|
|
function insMoveUp(rowArray, isMulti)
|
|
{
|
|
FcltMgr.confirm(L("lcl_ins_del_txt_deel"),
|
|
{ autoconfirm: isMulti },
|
|
function()
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var srtcontrolekeyArray = new Array();
|
|
var deelsrtcontrkeyArray = new Array();
|
|
var deleted = 0;
|
|
var aantaltaken = 0;
|
|
for (var i = 0; i < rowArray.length; i++)
|
|
{
|
|
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.
|
|
srtcontrolekeyArray[i - deleted] = rowdata.insSrtControleKey;
|
|
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrKey;
|
|
aantaltaken += rowdata.aantaltaken;
|
|
}
|
|
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(","),
|
|
dlsrtcont_key_arr: deelsrtcontrkeyArray.join(","),
|
|
aantaltaken: aantaltaken
|
|
};
|
|
protectRequest.dataToken(data);
|
|
$.post("../ins/ins_moveup.asp",
|
|
data,
|
|
FcltCallbackRefresh,
|
|
"json");
|
|
});
|
|
}
|
|
|
|
function insFinishMJOB(rowArray, isMulti)
|
|
{
|
|
insFinish(rowArray, isMulti, true)
|
|
}
|
|
|
|
function insFinish(rowArray, isMulti, pfinishmjob)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var insKey_arr = insKeyString.split(",");
|
|
FcltMgr.confirm(rowArray.length == 1 ? L("lcl_ins_finishing") : L("lcl_ins_finishing_m"),
|
|
{ autoconfirm: isMulti || !(pfinishmjob || insKey_arr.length > 1) },
|
|
function()
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var deelsrtcontrkeyArray = new Array();
|
|
var srtcontrolekey;
|
|
var srtcontroletype;
|
|
// Als er 1 inspectie is die niet direct Afgerond(6) kan worden dan heb ik de Gereed meld gegevens nodig.
|
|
// Dan moet ik de gegevens invullen via insClose.
|
|
var mustClose = false;
|
|
var deleted = 0;
|
|
for (var i = 0; i < rowArray.length; i++)
|
|
{
|
|
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 voltooid worden. De inspectie aan het array toevoegen.
|
|
if (!pfinishmjob || (pfinishmjob && groupby == 9))
|
|
{
|
|
// Als er een inspectie is ingepland, dan kan er ook nog een geaccordeerde/gestarte inspectie zijn.
|
|
// Die kan dan wel voltooid worden. Dan deze deelsrtcontrole key meegeven.
|
|
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrStatus == 0 && rowdata.insDeelSrtContrKeyFreezed > 0
|
|
? rowdata.insDeelSrtContrKeyFreezed
|
|
: rowdata.insDeelSrtContrKey;
|
|
srtcontrolekey = rowdata.insSrtControleKey;
|
|
srtcontroletype = rowdata.insSrtControleType;
|
|
}
|
|
isc_status = rowdata.ins_status;
|
|
mustClose = mustClose || (isc_status != 5);
|
|
}
|
|
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++;
|
|
}
|
|
}
|
|
|
|
if (mustClose)
|
|
{ // Via insClose scherm de gegevens invullen.
|
|
insClose(rowArray, isMulti, true, (pfinishmjob? true: false));
|
|
}
|
|
else
|
|
{
|
|
var insKeyString_arr = insKeyString.split(",");
|
|
if (pfinishmjob || insKeyString_arr.length > 1)
|
|
{ // MJOB of multi taken.
|
|
var data = { ins_keys: insKeyString,
|
|
dlsrtcont_key_arr: deelsrtcontrkeyArray.join(",") };
|
|
protectRequest.dataToken(data);
|
|
$.post("../ins/ins_inspect_finish.asp", data, FcltCallbackRefresh, "json");
|
|
}
|
|
else
|
|
{ // Er moet 1 taak voltooid worden.
|
|
// Eerst de taak gegevens aanpassen, dan voltooien.
|
|
var url = "appl/ins/ins_inspect.asp?ins_keys=" + insKeyString
|
|
+ "&srtcont_keys=" + srtcontrolekey
|
|
+ "&deelsrtcont_key=" + deelsrtcontrkeyArray[0]
|
|
+ "&finish=1";
|
|
var title = "";
|
|
switch (srtcontroletype)
|
|
{
|
|
case 1: title = L("lcl_ins_srtcontrole_insp"); break;
|
|
case 2: title = L("lcl_ins_srtcontrole_repl"); break;
|
|
case 3: title = L("lcl_ins_srtcontrole_cert"); break;
|
|
}
|
|
FcltMgr.openDetail(url, title + " " + deelsrtcontrkeyArray[0]);
|
|
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function insMultiMove(rowArray)
|
|
{
|
|
var insKeyString = getKeyString(rowArray);
|
|
var subject = L("lcl_ins_multi_move");
|
|
var url = "../ins/ins_move_deel_multi.asp?ins_keys=" + insKeyString + "&urole=" + urole;
|
|
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
|
|
}
|