501 lines
24 KiB
Plaintext
501 lines
24 KiB
Plaintext
<%@language="javascript"%>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: ins_inspect_list.asp
|
|
Description: Toont alle inspecties van een object
|
|
Parameters: ins_key
|
|
Context: embedded in ins_deel frame
|
|
Noot: We tonen een outer join van inspecties: ook degene die nog nooit
|
|
zijn uitgevoerd worden getoond.
|
|
|
|
*/ %>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/iface.inc" -->
|
|
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
|
<!-- #include file="../ins/ins.inc" -->
|
|
<!-- #include file="../ins/ins_inspect_list.inc" -->
|
|
<%
|
|
FCLTHeader.Requires({ js: ["jquery-ui.js"]});
|
|
|
|
var ins_key = getQParamInt("ins_key", -1);
|
|
var mld_key = getQParamInt("mld_key", -1);
|
|
var outputmode = getQParamInt("outputmode", 0);
|
|
var showall = getQParamInt("showall", 0) == 1;
|
|
var print = (outputmode == 1 || outputmode == 5);
|
|
var excel = (outputmode == 2 || outputmode == 6);
|
|
|
|
// Vooralsnog gebruiken we de relatieve INSUSE als rechtenbeperking voor insepecties
|
|
// Merk op dat de scope nog wordt genegeerd.
|
|
var authparams = user.checkAutorisation("WEB_INSUSE");
|
|
var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
|
|
|
|
%>
|
|
|
|
<html>
|
|
<head>
|
|
<% FCLTHeader.Generate({outputmode: outputmode}); %>
|
|
<script>
|
|
function insShow(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
var ins_key = row.getAttribute("ROWKEY");
|
|
var rowdata = JSON.parse(row.getAttribute("ROWDATA"));
|
|
if (rowdata)
|
|
{
|
|
var srtcontrolekey = rowdata.insSrtControleKey;
|
|
var srtcontroletype = rowdata.insSrtControleType;
|
|
// Meegeven welke afgeronde inspectie getoond moet worden.
|
|
var deellsrtcontkey = rowdata.insDeelSrtContrKey;
|
|
var url = "appl/ins/ins_inspect.asp?ins_keys=" + ins_key + "&srtcont_keys=" + srtcontrolekey + "&deelsrtcont_key=" + deellsrtcontkey;
|
|
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 + " " + deellsrtcontkey);
|
|
}
|
|
}
|
|
|
|
function insPlan(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
var inskey = row.getAttribute("ROWKEY");
|
|
var rowdata = JSON.parse(row.getAttribute("ROWDATA"));
|
|
if (rowdata)
|
|
{
|
|
var srtcontrolekey = rowdata.insSrtControleKey;
|
|
// Als je wilt inplannen is er nog geen inspectie record (ins_deelsrtcontrole_key). De insDeelSrtContrKey is dan -2.
|
|
var deellsrtcontkey = rowdata.insDeelSrtContrKey;
|
|
var url = "appl/ins/ins_edit_inspect.asp?plan=1&ins_keys=" + inskey + "&srtcont_keys=" + srtcontrolekey + "&deelsrtcont_keys=" + deellsrtcontkey;
|
|
FcltMgr.openDetail(url, L("lcl_ins_schedule"));
|
|
}
|
|
}
|
|
|
|
function insStart(row)
|
|
{
|
|
FcltMgr.confirm(L("lcl_ins_starting"), function() {
|
|
var inskey = row.getAttribute("ROWKEY");
|
|
var rowdata = JSON.parse(row.getAttribute("ROWDATA"));
|
|
if (rowdata) {
|
|
var srtcontrolekey = rowdata.insSrtControleKey;
|
|
var ismjob = rowdata.insCtrIsMJOB
|
|
|
|
var data = {
|
|
ins_keys: inskey,
|
|
srtcont_key_arr: srtcontrolekey
|
|
};
|
|
if (ismjob)
|
|
data.freeze = 1;
|
|
|
|
protectRequest.dataToken(data);
|
|
$.post("ins_inspect_start.asp", data, FcltCallbackRefresh, "json");
|
|
}
|
|
});
|
|
}
|
|
|
|
function insUnfreeze(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)
|
|
{
|
|
|
|
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 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");
|
|
}
|
|
});
|
|
}
|
|
|
|
function insClose(row, fromfinish)
|
|
{
|
|
$(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_edit_inspect.asp?close=1&ins_keys=" + inskey
|
|
+ "&srtcont_keys="
|
|
+ srtcontrolekey
|
|
+ "&deelsrtcont_keys="
|
|
+ deellsrtcontkey
|
|
+ (fromfinish
|
|
? "&fromfinish=1"
|
|
: "");
|
|
FcltMgr.openDetail(url, L("lcl_ins_close"));
|
|
}
|
|
}
|
|
|
|
function insFinish(row)
|
|
{
|
|
// We gaan naar de edit mode. Dan hoeft er geen confirm (FcltMgr.confirm) te komen.
|
|
var inskey = row.getAttribute("ROWKEY");
|
|
var rowdata = JSON.parse(row.getAttribute("ROWDATA"));
|
|
if (rowdata)
|
|
{
|
|
deellsrtcontkey = rowdata.insDeelSrtContrKey;
|
|
isc_options = rowdata.insSrtControleOpt;
|
|
isc_status = rowdata.ins_status;
|
|
if (isc_status != 5) // Als ((isc_options & 4) != 4) geldt dan geldt zeker (isc_status != 5).
|
|
{ // Er is nog niet Gereed gemeld(5) of er kan niet Gereed gemeld(5) worden.
|
|
// Dan moet ik de gegevens invullen via insClose.
|
|
insClose(row, true); // fromfinish is true;
|
|
}
|
|
else
|
|
{ // Eerst de taak gegevens aanpassen, dan voltooien.
|
|
var srtcontrolekey = rowdata.insSrtControleKey;
|
|
var srtcontroletype = rowdata.insSrtControleType;
|
|
var deellsrtcontkey = rowdata.insDeelSrtContrKey;
|
|
var url = "appl/ins/ins_inspect.asp?ins_keys=" + inskey
|
|
+ "&srtcont_keys=" + srtcontrolekey
|
|
+ "&deelsrtcont_key=" + deellsrtcontkey
|
|
+ "&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 + " " + deellsrtcontkey);
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body id="listbody">
|
|
<%
|
|
var insFlexParams;
|
|
if (!excel && !print)
|
|
{
|
|
insFlexParams = ins.ins_deel_flex_params(1, {inspect: true, ins_key: ins_key, ins_deelsrtcontrole: "idsc"}); // 1=Taken overzicht bij object.
|
|
}
|
|
|
|
// Twee queries achter elkaar.
|
|
// Eerst de inspecties die gaan komen.
|
|
// Dan de inspecties die gedaan zijn.
|
|
|
|
// Als de controlesoort niet meer geldig is dan kunnen er geen inspecties meer komen.
|
|
// Een object kan meerdere controlesoorten hebben. Alleen die controlesoorten laten zien die nog geldig zijn.
|
|
var sql = insp.list_sql(ins_key, mld_key, {past: true, present: true, future: mld_key < 0, insFlexParams: insFlexParams});
|
|
|
|
function fnrowData(oRs)
|
|
{
|
|
var insKey = oRs("ins_deel_key").Value;
|
|
var insSrtControleKey = oRs("ins_srtcontrole_key").Value;
|
|
var insSrtControleType = oRs("ctr_controle_type").Value;
|
|
var insSrtControleOpt = oRs("options").Value;
|
|
var insCtrIsMJOB = oRs("ctr_ismjob").Value;
|
|
|
|
// Als de status Verwerkt(6) is dan kan/moet er weer een nieuw inspectie gestart worden. Dan geen ins_deelsrtcontrole_key meegegeven (-2).
|
|
var istatus = oRs("ins_deelsrtcontrole_status").Value;
|
|
var insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value != null? oRs("ins_deelsrtcontrole_key").Value : -2;
|
|
|
|
var data = { insKey: insKey, insSrtControleKey: insSrtControleKey, insSrtControleType: insSrtControleType,
|
|
insSrtControleOpt: insSrtControleOpt, insCtrIsMJOB: insCtrIsMJOB, insDeelSrtContrKey: insDeelSrtContrKey, ins_status: istatus};
|
|
return JSON.stringify(data);
|
|
}
|
|
|
|
var this_ins;
|
|
if (ins_key > 0)
|
|
this_ins = ins.func_enabled_deel(ins_key); // De ins_key is voor alle regels in de lijst hetzelfde.
|
|
function fnrowActionEnabler(oRs)
|
|
{
|
|
// Als object is vervallen dan kun je niet meer inspecteren en uitstellen.
|
|
var insKey = oRs("ins_deel_key").Value;
|
|
var vervallen = (oRs("inspectie_eind").Value != null && new Date(oRs("inspectie_eind").Value).getTime() < new Date().midnight());
|
|
var istatus = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
|
|
|
|
// In het taken tabje bij een object (ins_key > 0) alleen acties op de periodieke taken. Op MJOB taken mogen hier geen acties worden uitgevoerd.
|
|
// In het taken tabje bij een melding (mld_key > 0) alleen de unexecute actie op (MJOB) taken.
|
|
var eEdit = false;
|
|
var ePlan = false;
|
|
var eStart = false;
|
|
var eStartD = false;
|
|
//var eUnstart = false; // Terugzetten kan alleen bij MJOB taken. In de taken lijst bij object of melding mag geen (MJOB) taak worden terug gezet.
|
|
var eClose = false;
|
|
var eFinish = false;
|
|
var eUnexecute = false; // De actie uitvoeren ongedaan maken kan alleen bij MJOB taken. De actie mag en kan alleen in het taken tabje bij melding (mld_key > 0).
|
|
var mjb_freeze_year = Math.max(S("mjb_freeze_year"), new Date().getFullYear());
|
|
|
|
if (ins_key < 0)
|
|
this_ins = ins.func_enabled_deel(insKey); // Bij een melding hoeft de ins_key voor alle regels in de lijst niet hetzelfde te zijn.
|
|
// De inspecties van vervallen taken moeten nog ingezien kunnen worden. De actie eShow dus niet afhankelijk van vervallen maken.
|
|
var eShow = istatus >= 0 && this_ins.readuse; // this_ins.canInspShow niet gebruikt zodat ins.func_enabled_deel niet hoeft te worden aangeroepen voor status = 6.
|
|
// Elke afgeronde inspectie (status Afgerond(6)) is in dit geval een regel. Die afgeronde inspecties mogen niet ingepland worden.
|
|
if (istatus != 6)
|
|
{
|
|
var insSrtControleKey = oRs("ins_srtcontrole_key").Value;
|
|
var insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value;
|
|
var lthis_ins = ins.func_enabled_deel(insKey,
|
|
{srtcont_key: insSrtControleKey,
|
|
deelsrtcont_key: insDeelSrtContrKey
|
|
}); // De ins_key is voor alle regels in de lijst hetzelfde indien er geen mld_key is meegegeven.
|
|
|
|
// Gedaande inspecties kunnen alleen geedit worden.
|
|
// Ik zie alleen objecten waar ik read rechten (3d) op heb. Dan mag ik ze ook verder inzien.
|
|
eEdit = lthis_ins.canInspEdit;
|
|
ePlan = lthis_ins.canInspPlan;
|
|
eStart = lthis_ins.canInspStart; // Start een nieuwe inspectie m.b.v. een inline button actie.
|
|
eStartD = lthis_ins.canInspStart && (istatus < 0); // Start een nieuwe inspectie m.b.v. een default inline actie (op regel klikken).
|
|
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.
|
|
eFinish = !lthis_ins.canInspClose && lthis_ins.canInspFinish;
|
|
}
|
|
|
|
var data = {eEdit: eEdit, eShow: eShow, ePlan: ePlan, eStart: eStart, eStartD: eStartD, eUnexecute: eUnexecute, eClose: eClose, eFinish: eFinish};
|
|
return data;
|
|
}
|
|
|
|
function fnrowClass(oRs)
|
|
{
|
|
var lclass = "";
|
|
var istatus = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
|
|
var eenheid = oRs("eenheid").Value;
|
|
var mode = oRs("isc_mode").Value;
|
|
|
|
if (istatus == 2 || istatus == 3)
|
|
lclass = "pending";
|
|
if (istatus == 5)
|
|
lclass = "unsolved";
|
|
|
|
if (oRs("seq").Value == 2 && istatus > 0) // klaar
|
|
return lclass;
|
|
|
|
var dt = new Date(oRs("inspectie_next").Value);
|
|
dt.setHours(0,0,0,0); // trunc datum
|
|
var dtsoon = new Date();
|
|
dtsoon.setDate(dtsoon.getDate() + S("ins_inspect_soon_days"));
|
|
dtsoon.setHours(0,0,0,0); // trunc datum
|
|
var dtlate = new Date(new Date().setHours(0,0,0,0));
|
|
|
|
// Als de aanmaakdatum en/of de startdatum na dtsoon (dus ook na today) ligt dan kan dt (inspectie_next) genomen worden.
|
|
// Die heeft dan de juiste waarde.
|
|
|
|
var dt1 = new Date(dt);
|
|
var dt2 = new Date(dt);
|
|
if (eenheid == 4 && mode == 0)
|
|
{ // Jaarlijks in een bepaalde maand (moment mode). Inspecteren kan dan van de eerste dag van de maand tot de eerste dag van de volgende maand.
|
|
dt1 = new Date(dt1.setDate(1)); // Eerste van de maand.
|
|
dt2 = new Date(new Date(dt2.setDate(1)).setMonth(dt2.getMonth() + 1)); // Eerste van de volgende maand.
|
|
}
|
|
|
|
if (dt1 >= dtsoon)
|
|
return lclass; // meer dan 30 dagen in de toekomst
|
|
|
|
if (dt2 >= dtlate)
|
|
return lclass + " expired1"; // Binnenkort.
|
|
|
|
return lclass + " expired2"; // Te laat.
|
|
}
|
|
|
|
function fnControleDatum(oRs)
|
|
{
|
|
var controledatum = oRs("ins_deelsrtcontrole_datum").value;
|
|
if (oRs("eenheid").Value == 0)
|
|
return toDateTimeString(controledatum); // Datum + tijd tonen.
|
|
else
|
|
return toDateString(controledatum); // Alleen datum tonen.
|
|
}
|
|
|
|
function fnCMSuccess(oRs)
|
|
{
|
|
var res = "";
|
|
if (oRs("ins_deelsrtcontrole_status").Value == 5 || oRs("ins_deelsrtcontrole_status").Value == 6) {
|
|
if (oRs("ins_controlemode_success").Value == 0)
|
|
res = I("fa-exclamation-triangle");
|
|
else
|
|
res = I("fa-check");
|
|
}
|
|
return res;
|
|
}
|
|
|
|
// Word gebruikt in fnKosten voor de inflatie-berekening
|
|
var thisCostYear;
|
|
function fnVolgende(oRs)
|
|
{
|
|
var ismjob = oRs("ctr_ismjob").Value == 1;
|
|
if (oRs("seq").Value == 2) // Uitgevoerde inspecties op dit object of (indien present) lopende inspecties (ingepland(0), gestart(2), ter uitvoering(3) of gereedgemeld(5)).
|
|
{
|
|
var dt = typeof oRs("inspectie_org").Value == "date"? new Date(oRs("inspectie_org").Value) : null;
|
|
if (ismjob)
|
|
dtstring = dt.getFullYear(); // Voor MJOB is alleen het jaar van belang.
|
|
else
|
|
var dtstring = (typeof dt == "date" && oRs("eenheid").value == 0? toDateTimeString(dt) : toDateString(dt));
|
|
dtstring += (oRs("isrespijt").Value == 1? " " + L("lcl_ins_respijt") : "");
|
|
|
|
thisCostYear = dt == null ? NULL_DATE_ERROR : dt.getFullYear();
|
|
return dtstring;
|
|
}
|
|
|
|
var dt = new Date(oRs("inspectie_next").Value);
|
|
thisCostYear = dt.getFullYear();
|
|
var plandatum = oRs("plandatum").Value != null? " " + L("lcl_ins_respijt") : "";
|
|
if (ismjob)
|
|
dt = dt.getFullYear(); // Voor MJOB is alleen het jaar van belang.
|
|
else
|
|
{
|
|
dt = (oRs("eenheid").value == 0? toDateTimeString(dt) : toDateString(dt)); // Nog even afstemmen: altijd doen of alleen voor korte periode?
|
|
if (oRs("isc_mode").Value == 0 && oRs("inspectie_steps").Value && oRs("inspectie_steps").Value > 1)
|
|
dt += " (" + (parseInt(oRs("inspectie_steps").Value) - 1) + ")";
|
|
}
|
|
return dt + plandatum;
|
|
}
|
|
|
|
function fnKosten(oRs)
|
|
{
|
|
var frozen = oRs("frozen").Value == 1;
|
|
var kosten = oRs("kosten").Value || 0;
|
|
var inflatiepct = S("mjb_inflation");
|
|
var inflatiefactor = 1 + (inflatiepct / 100);
|
|
|
|
// Inflatie
|
|
if (!frozen && kosten > 0 && inflatiefactor != 1)
|
|
{
|
|
var huidigJaar = new Date().getFullYear();
|
|
var geplandJaar = thisCostYear;
|
|
if (geplandJaar > huidigJaar)
|
|
kosten = kosten * Math.pow(inflatiefactor, geplandJaar - huidigJaar);
|
|
}
|
|
|
|
return kosten > 0 ? safe.curr(kosten) : null;
|
|
}
|
|
|
|
function fncolFlexBijlagen(oRs)
|
|
{
|
|
var flexval = oRs("insflex").Value;
|
|
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
|
|
var result = ( flexval
|
|
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
|
: ""
|
|
);
|
|
// Als er nog geen inspectierecord is (ins_deelsrtcontrole_key IS NULL), dan zijn er ook nog geen bijlage kenmerken.
|
|
if (insFlexParams.bijlageflex && ins_deelsrtcontrole_key)
|
|
{
|
|
result += ins.ins_deel_flex_bijlagen(ins_deelsrtcontrole_key, 1, true); // 1=Objectebeheer overzicht.
|
|
}
|
|
return result;
|
|
}
|
|
|
|
var buttons = [];
|
|
if (ins_key > 0 && this_ins.canChange)
|
|
{
|
|
var addurl_add = "../ins/ins_xcp.asp?ins_key=" + ins_key + "&urole=bo&add=1";
|
|
var addurl_editxcp = "../ins/ins_xcp.asp?ins_key=" + ins_key + "&urole=bo";
|
|
// Zijn er inactieve soort controles (periode = 0) die ook gelden voor het object. Dan de "Toevoegen" knop tonen.
|
|
var bsql = "SELECT COUNT(*) aantal"
|
|
+ " FROM (SELECT xcp.ins_srtcontrole_key"
|
|
+ " FROM ins_v_defined_inspect_xcp xcp"
|
|
+ " WHERE xcp.ins_deel_key = " + ins_key
|
|
+ " AND xcp.ins_srtcontrole_periode <= 0" // Inactieve soort controles tonen.
|
|
+ " AND xcp.ins_srtcontroledl_xcp_periode IS NULL" // Soort controles die niet overruled zijn tonen.
|
|
+ " AND xcp.ins_scenario_key = 1"
|
|
+ " AND xcp.ctr_discipline_key IN (SELECT w.ins_discipline_key" // Alleen van de disciplines waar ik schrijf rechten op heb meetellen.
|
|
+ " FROM fac_v_webgebruiker w"
|
|
+ " , fac_functie f"
|
|
+ " WHERE w.fac_functie_key = f.fac_functie_key "
|
|
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
|
|
+ " AND w.fac_gebruiker_prs_level_write < 9"
|
|
+ " AND w.fac_gebruiker_alg_level_write < 9"
|
|
+ " AND w.prs_perslid_key = " + user_key + ")"
|
|
+ " GROUP BY xcp.ins_srtcontrole_key"
|
|
+ " , xcp.ins_deel_key)";
|
|
var boRs = Oracle.Execute(bsql);
|
|
var add = boRs("aantal").Value > 0;
|
|
boRs.close();
|
|
|
|
buttons.push({ icon: "fa-fclt-refresh", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
|
if (this_ins.canChangeXcp || this_ins.hasAnyWriteXcp)
|
|
{ // Het xcp scherm werkt erg slecht in readonly mode. Vooralsnog gewoon onderdrukken.
|
|
if (add)
|
|
buttons.push({ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openModalDetail('" + addurl_add + "', '" + safe.jsstring(L("lcl_add")) + "', {callback: FcltMgr.reload })" })
|
|
buttons.push({ icon: "fa-fclt-edit", title: L("lcl_ins_change_xcp"), action: "FcltMgr.openModalDetail('" + addurl_editxcp + "', '" + safe.jsstring(L("lcl_ins_change_xcp")) + "', {callback: FcltMgr.reload })" })
|
|
}
|
|
}
|
|
|
|
var rst = new ResultsetTable({ keyColumn: "ins_deel_key", //dummy
|
|
sql: sql,
|
|
ID: "inspecttable",
|
|
rowData: fnrowData,
|
|
rowActionEnabler: fnrowActionEnabler,
|
|
rowClass: fnrowClass,
|
|
showAll: showall,
|
|
outputmode: outputmode,
|
|
title: L("lcl_ins_planned_activities"),
|
|
buttons: buttons,
|
|
roundtripCode: (canImport ? "INSPECTIE" : "")
|
|
});
|
|
|
|
rst.addColumn(new Column({caption: L("lcl_obj_identification"), content: "ins_deel_omschrijving"}));
|
|
rst.addColumn(new Column({caption: L("ctr_discipline"), content: "ins_discipline_omschrijving"}));
|
|
rst.addColumn(new Column({caption: L("lcl_ins_controle_plandate"), content: fnVolgende}));
|
|
rst.addColumn(new Column({caption: L("lcl_ins_controle_datum"), content: fnControleDatum}));
|
|
rst.addColumn(new Column({caption: L("ins_controlemode_success"), content: fnCMSuccess}));
|
|
rst.addColumn(new Column({caption: L("lcl_ins_controle_srt"), content: "ins_srtcontrole_omschrijving"}));
|
|
rst.addColumn(new Column({caption: L("lcl_ins_controle_cat"), content: "ins_srtcontrole_groep"}));
|
|
rst.addColumn(new Column({caption: L("lcl_ins_kosten") + " (" + L("lcl_valutasign") + ")", content: fnKosten, datatype: "currency"}));
|
|
rst.addColumn(new Column({caption: L("ins_srtcontrole_opmerking"), content: "ins_srtcontrole_opmerking"}));
|
|
rst.addColumn(new Column({caption: "" /*L("lcl_ins_controle_opm")*/, content: "ins_deelsrtcontrole_opmerking", combine: true}));
|
|
rst.addColumn(new Column({caption: L("lcl_ins_inspecteur"), content: "inspecteur"}));
|
|
rst.addAction({ action: "insShow", caption: L("lcl_edit"), enabler: "eShow", isDefault: true });
|
|
// Op een tablet zijn geen inline acties.
|
|
// Daarom kun je, als de laatste inspectie afgerond is en geen inspectierecord aanwezig is, door op de regel te klikken een inspectie starten.
|
|
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: "insUnfreeze", 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" });
|
|
rst.addAction({ action: "insFinish", caption: L("lcl_ins_finish"), enabler: "eFinish" });
|
|
if (!excel && !print && insFlexParams.anyflex) {
|
|
rst.addColumn(new Column({caption: insFlexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
|
}
|
|
|
|
var cnt = rst.processResultset();
|
|
%>
|
|
</body>
|
|
</html>
|
|
<% ASPPAGE_END(); %>
|