Files
Facilitor/APPL/INS/ins_list.js
Maykel Geerdink 244a9c2a0a FSN#51437: Gereedmelden van periodieke taak geeft Javascript fout - groupby is not defined.
svn path=/Website/branches/v2017.2/; revision=36193
2017-12-04 12:19:09 +00:00

424 lines
16 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 = eval('(' + 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();
protectRequest.dataToken(data);
$.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;
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(row)
{
$(row).addClass('dirty');
var ins_key = row.getAttribute("ROWKEY");
FcltMgr.openDetail("appl/INS/ins_deel_free.asp?ins_key=" + ins_key, L("lcl_ins_insinn"));
}
function insCheckOut(row)
{
$(row).addClass('dirty');
var ins_key = row.getAttribute("ROWKEY");
FcltMgr.openDetail("appl/INS/ins_deel_free.asp?ins_key=" + ins_key, L("lcl_ins_lend_out"));
}
// Uitleen flexkenmerken bewerken.
function insAdapt(row)
{
$(row).addClass('dirty');
var ins_key = row.getAttribute("ROWKEY");
FcltMgr.openDetail("appl/INS/ins_deel_free.asp?adapt=1&ins_key=" + ins_key, L("lcl_ins_adapt"));
}
// Een nieuw item uitgeven
function insCheckOutNewItem(prskey, prstype)
{
FcltMgr.openDetail("appl/INS/ins_deel_free.asp?" + (prstype == "C"? "cps_key=" : "prs_key=") + prskey, L("lcl_ins_lend_out"));
}
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 insShowInsp(row)
{
$(row).addClass('dirty');
var inskey = row.getAttribute("ROWKEY");
var rowdata = eval("(" + 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 insPlan(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 = eval('(' + 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++;
}
}
// Als je vanuit de lijst 1 inspectie inplant kun je na afloop naar de show mode van deze inspectie (waarvan er net een inspectie record is aangemaakt).
// Vooralsnog nog niet gedaan.
//if (rowArray.length == 1)
// var url = "appl/ins/ins_inspect.asp?plan=1&ins_keys=" + insKeyString + "&srtcont_keys=" + srtcontrolekeyArray.join(",") + "&deelsrtcont_keys=" + deelsrtcontrkeyArray.join(",");
//else
// Voor Active Situatie (AS) soort controle's hoeft geen scenario key meegegeven te worden.
var url = "appl/ins/ins_edit_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 isScenarioArray = new Array();
var deleted = 0;
for (var i = 0; i < rowArray.length; i++)
{
rowdata = eval('(' + 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 == 7))
srtcontrolekeyArray[i - deleted] = rowdata.insSrtControleKey;
}
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)
};
if (pfreeze)
{
data.dist_key = dist_key;
data.loc_key = loc_key;
data.bld_key = bld_key;
data.disc_key = disc_key;
data.srtgroep_key = srtgroep_key;
data.srtdeel_key = srtdeel_key;
data.groep = groep;
data.categorie_key = categorie_key;
data.srtcontrole = srtcontrole;
data.frequentie = frequentie;
data.incbtw = incbtw;
data.groupby = groupby;
data.deel = deel;
data.mjbMoved = mjbMoved;
data.mjbFreezed = mjbFreezed;
data.mjbXcped = mjbXcped;
}
protectRequest.dataToken(data);
$.post("../ins/ins_inspect_start.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 = eval('(' + 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 == 7))
{
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++;
}
}
// Als je vanuit de lijst 1 inspectie sluit kun je na afloop naar de show mode van deze inspectie (ongeacht of ar al een inspectie record aanwezig was).
// Vooralsnog nog niet gedaan (ins_inspect.asp dient dan ook nog iets aangepast te worden).
//if (rowArray.length == 1)
// var url = "appl/ins/ins_inspect.asp?close=1&ins_keys=" + insKeyString + "&srtcont_keys=" + srtcontrolekeyArray.join(",") + "&deelsrtcont_key=" + deelsrtcontrkeyArray.join(",");
//else
var url = "appl/ins/ins_edit_inspect.asp?close=1&ins_keys=" + insKeyString
+ "&srtcont_keys=" + srtcontrolekeyArray.join(",")
+ "&deelsrtcont_keys=" + deelsrtcontrkeyArray.join(",")
+ (fromfinish
? "&fromfinish=1"
: "")
+ (pfinishmjob
? "&finishmjob=1"
+ "&dist_key=" + dist_key
+ "&loc_key=" + loc_key
+ "&bld_key=" + bld_key
+ "&disc_key=" + disc_key
+ "&srtgroep_key=" + srtgroep_key
+ "&srtdeel_key=" + srtdeel_key
+ "&groep=" + groep
+ "&categorie_key=" + categorie_key
+ "&srtcontrole=" + srtcontrole
+ "&frequentie=" + frequentie
+ "&incbtw=" + incbtw
+ "&groupby=" + groupby
+ "&deel=" + deel
+ "&actsit=" +
+ "&mjbMoved=" + mjbMoved
+ "&mjbFreezed=" + mjbFreezed
+ "&mjbXcped=" + mjbXcped
: "");
FcltMgr.openDetail(url, L("lcl_ins_stop"));
}
function insFinishMJOB(rowArray, isMulti)
{
insFinish(rowArray, isMulti, true)
}
function insFinish(rowArray, isMulti, pfinishmjob)
{
FcltMgr.confirm(rowArray.length == 1 ? L("lcl_ins_finishing") : L("lcl_ins_finishing_m"),
{ autoconfirm: isMulti },
function()
{
var insKeyString = getKeyString(rowArray);
var deelsrtcontrkeyArray = new Array();
// 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 = eval('(' + 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 == 7))
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrKey;
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 data = { ins_keys: insKeyString,
dlsrtcont_key_arr: deelsrtcontrkeyArray.join(",") };
protectRequest.dataToken(data);
$.post("../ins/ins_inspect_finish.asp", data, FcltCallbackRefresh, "json");
}
});
}
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});
}