/* $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}); }