101 lines
3.6 KiB
Plaintext
101 lines
3.6 KiB
Plaintext
<%@ LANGUAGE = JavaScript %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: ins_inspect_start.asp
|
|
Description: Afronden van de inspecties.
|
|
Parameters:
|
|
ins_keys Array van objecten waarvan inspecties moeten worden afgerond.
|
|
srtcont_keys Array van soort controles die moeten worden afgerond.
|
|
|
|
Context: Inline actie ins_list.inc of actie ins_inspect_list
|
|
Note: Parameter mobile doet niets met navigatie, sluiten enzo, die submit gewoon.
|
|
Resultaat van een submit is een json object
|
|
|
|
*/ %>
|
|
|
|
<%
|
|
var JSON_Result = true;
|
|
%>
|
|
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../shared/save2db.inc" -->
|
|
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
|
<!-- #include file="ins.inc" -->
|
|
|
|
<%
|
|
protectRequest.validateToken();
|
|
var ins_key_arr = getFParamIntArray("ins_keys");
|
|
var dlsrtcont_key_arr = getFParamIntArray("dlsrtcont_key_arr", []);
|
|
var multi = dlsrtcont_key_arr.length > 1;
|
|
var mobile = Request.Form("opmerk").count == 1; // Bij mobile is een geldige opmerking meegegeven.
|
|
|
|
var tobefinished = 0;
|
|
var ingeslotendsc = [];
|
|
// Bepaal de objecten/delen in de selectie die ook echt gestart kunnen of mogen worden.
|
|
var ctrdisc_key = -1;
|
|
if (dlsrtcont_key_arr.length > 0)
|
|
{
|
|
for (var i = 0; i < ins_key_arr.length; i++)
|
|
{
|
|
// Als er nog geen inspectierecord aangemaakt is, dan deze overslaan. Dan had je Afmelden/Afronden moeten kiezen.
|
|
if (dlsrtcont_key_arr[i] < 0)
|
|
continue;
|
|
|
|
var sql = "SELECT idsc.ins_srtcontrole_key"
|
|
+ " , isc.ctr_discipline_key"
|
|
+ " FROM ins_srtcontrole isc"
|
|
+ " , ins_deelsrtcontrole idsc"
|
|
+ " WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key"
|
|
+ " AND idsc.ins_deelsrtcontrole_key = " + dlsrtcont_key_arr[i];
|
|
var oRs = Oracle.Execute(sql);
|
|
ctrdisc_key = oRs("ctr_discipline_key").Value
|
|
|
|
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
|
|
{srtcont_key: oRs("ins_srtcontrole_key").Value,
|
|
deelsrtcont_key: dlsrtcont_key_arr[i]
|
|
});
|
|
oRs.Close();
|
|
|
|
// Deze actie rond alleen afgemelde inspecties af.
|
|
if (this_ins.canInspFastFinish)
|
|
{ // Alle Arrays zijn even groot.
|
|
ingeslotendsc.push(dlsrtcont_key_arr[i]);
|
|
tobefinished++;
|
|
}
|
|
}
|
|
}
|
|
lcl.set_dialect(ctrdisc_key, "CTR_DISCIPLINE_KEY");
|
|
user.anything_todo_or_abort(tobefinished > 0); // We klagen niet over enkele wel en enkele niet.
|
|
|
|
var result = { success: true, multi: multi, finish: true };
|
|
|
|
for (var i = 0; i < ingeslotendsc.length; i++)
|
|
{ // Bij mobile ook opmerking opslaan want die kan aangepast zijn.
|
|
if (mobile)
|
|
{ // Opmerking ook opslaan.
|
|
var fields = [{dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 4000}];
|
|
|
|
var insUpd = buildTrackingUpdate("ins_deelsrtcontrole", " ins_deelsrtcontrole_key = " + ingeslotendsc[i], fields);
|
|
var err = Oracle.Execute(insUpd.sql, true);
|
|
|
|
if (err.friendlyMsg)
|
|
{
|
|
result.warning = err.friendlyMsg;
|
|
result.success = false;
|
|
}
|
|
|
|
if (insUpd.trackarray.length)
|
|
ins.trackinspectupdate(ingeslotendsc[i], L("lcl_ins_controle_is_upd") + "\n" + insUpd.trackarray.join("\n"));
|
|
}
|
|
|
|
// De status zetten, tracking genereren en notificaties sturen.
|
|
ins.setinspectstatus(ingeslotendsc[i], 6); // History/Verwerkt(6).
|
|
}
|
|
|
|
result.key = ingeslotendsc.join(",");
|
|
Response.Write(JSON.stringify(result));
|
|
%>
|
|
<% ASPPAGE_END(); %>
|