ASFC#34371: Start en stopmoment bij schoonmaak via inspecties kunnen vastleggen.
UWVA#35539: ins: kan gedane inspectie aanpassen. svn path=/Website/trunk/; revision=29158
This commit is contained in:
@@ -48,11 +48,17 @@ var ingeslotendsc = [];
|
||||
// ook echt ingepland kunnen of mogen worden.
|
||||
for (var i = 0; i < ins_key_arr.length; i++)
|
||||
{
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i]);
|
||||
|
||||
var sql = "SELECT idsc.ins_deelsrtcontrole_key"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
|
||||
+ " AND isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
|
||||
+ " AND xcp.ins_deel_key(+) = " + ins_key_arr[i]
|
||||
+ " AND idsc.ins_deel_key(+) = " + ins_key_arr[i]
|
||||
+ " AND isc.ins_srtcontrole_key = " + srtcont_key_arr[i]
|
||||
+ (deelsrtcont_arr[i] > 0
|
||||
@@ -61,39 +67,40 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
+ " ORDER BY ins_deelsrtcontrole_datum DESC";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
// Waarden moeten aanwezig zijn. Mocht dat niet zo zijn dan is er iets fout.
|
||||
// Als de laatste inspectie is afgerond is, wordt er null opgeleverd voor de ins_deelsrtcontrole_key en ins_deelsrtcontrole_status.
|
||||
// Er moet dan een nieuwe inspectie worden ingeland/gestart/afgemeld of afgerond.
|
||||
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value != null? oRs("ins_deelsrtcontrole_key").Value : -1;
|
||||
var ins_deelsrtcontrole_status = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
|
||||
var vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
|
||||
var vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
|
||||
// Het is de eerste inspectie of de laatste inspectie moet verwerkt(6) zijn, anders kan de inspectie niet ingepland worden.
|
||||
if (insPlan && ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6) // Inplannen.
|
||||
if (insPlan && (vervallen || !this_ins.canInspect || ins_deelsrtcontrole_status != -1)) // Inplannen.
|
||||
{ // Het is niet de eerste inspectie of de laatste inspectie is niet verwerkt. Overslaan.
|
||||
oRs.Close();
|
||||
continue;
|
||||
}
|
||||
|
||||
// Afgemelde inspecties kunnen niet nog eens afgemeld worden. Deze eruit filteren. Ze kunnen wel gewijzigd worden (stuk voor stuk).
|
||||
if (insClose && ins_deelsrtcontrole_status == 5)
|
||||
{ // De inspectie is al afgemeld. Overslaan.
|
||||
if (insClose && (!this_ins.canInspect || (vervallen && (ins_deelsrtcontrole_status != 0 && ins_deelsrtcontrole_status != 2))))
|
||||
{ // De inspectie kan niet afgemeld worden. Overslaan.
|
||||
oRs.Close();
|
||||
continue;
|
||||
}
|
||||
|
||||
// Het mag niet de eerste inspectie zijn en de laatste inspectie mag niet verwerkt zijn.
|
||||
if (insEdit && (ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6))
|
||||
if (insEdit && (!this_ins.canChange || vervallen || ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6))
|
||||
{ // Eerste inspectoe of verwerkte inspectie kan niet gewijzigd worden. Overslaan.
|
||||
oRs.Close();
|
||||
continue;
|
||||
}
|
||||
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i]);
|
||||
// Als ik mag inspecteren mag ik ook inplannen.
|
||||
if (this_ins.canInspect)
|
||||
{ // Alle Arrays zijn even groot.
|
||||
ingesloten.push(ins_key_arr[i]);
|
||||
ingeslotensc.push(srtcont_key_arr[i]);
|
||||
ingeslotendsc.push(ins_deelsrtcontrole_key);
|
||||
tobehandled++;
|
||||
}
|
||||
// Ik mag inplannen, gereed melden of wijzigen.
|
||||
// Alle Arrays zijn even groot.
|
||||
ingesloten.push(ins_key_arr[i]);
|
||||
ingeslotensc.push(srtcont_key_arr[i]);
|
||||
ingeslotendsc.push(ins_deelsrtcontrole_key);
|
||||
tobehandled++;
|
||||
}
|
||||
user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel en enkele niet
|
||||
%>
|
||||
@@ -365,32 +372,17 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
var oRs = Oracle.Execute(sql);
|
||||
canMelding = (oRs("aantal").Value > 0);
|
||||
oRs.Close();
|
||||
|
||||
|
||||
|
||||
// Als object is vervallen dan kun je niet meer inspecteren en uitstellen.
|
||||
var this_ins = ins.func_enabled_deel(ingesloten[0]);
|
||||
|
||||
// Gedaande inspecties kunnen alleen geedit worden.
|
||||
// Ik zie alleen objecten waar ik read rechten (3d) op heb. Dan mag ik ze ook verder inzien.
|
||||
var canEdit = !vervallen && ins_deelsrtcontrole_status >= 0 && ins_deelsrtcontrole_status < 6 && this_ins.canChange;
|
||||
var canShow = ins_deelsrtcontrole_status >= 0 && this_ins.canRead;
|
||||
var canPlan = !vervallen && this_ins.canInspect && (ins_deelsrtcontrole_status < 0);
|
||||
var canStart = !vervallen && this_ins.canInspect && (ins_deelsrtcontrole_status <= 0);
|
||||
// Als de inspectie vervallen is moet je alleen nog de lopende inspecties kunnen gereed melden en afronden.
|
||||
var canClose = !vervallen || (vervallen && (ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2));
|
||||
var canFinish = canClose;
|
||||
}
|
||||
|
||||
// De array ingesloten bevat die delen die gepland, gewijzigd, afgemeld of afgerond mogen worden.
|
||||
// <20><>n van de waarden insPlan, insEdit of insClose is true.
|
||||
var buttons = [];
|
||||
if (!vervallen && (insPlan || insEdit))
|
||||
buttons.push({title: L("lcl_submit"), icon: "opslaan.png", action:"ins_submit(0)"});
|
||||
if (insPlan || insEdit)
|
||||
buttons.push({title: (insPlan? L("lcl_ins_schedule") : L("lcl_submit")), icon: "opslaan.png", action:"ins_submit(0)"});
|
||||
if (insClose)
|
||||
{
|
||||
if (canClose)
|
||||
buttons.push({title: L("lcl_ins_close"), icon: "inspfinish.png", action:"ins_submit(0)"});
|
||||
if (canFinish)
|
||||
buttons.push({title: L("lcl_ins_finish"), icon: "close.png", action: "ins_submit(1)"});
|
||||
buttons.push({title: L("lcl_ins_close"), icon: "inspfinish.png", action:"ins_submit(0)"});
|
||||
buttons.push({title: L("lcl_ins_finish"), icon: "close.png", action: "ins_submit(1)"});
|
||||
}
|
||||
if (canMelding)
|
||||
buttons.push({title: L("lcl_do_amelding_hint"), action: "ins_melding()", icon: "doemelding.png" });
|
||||
|
||||
@@ -545,7 +545,9 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
rst.addColumn(new Column({caption: L("lcl_ins_controle_opm"), content: "ins_srtcontrole_opmerking"}));
|
||||
}
|
||||
rst.addAction({ action: "insShow", caption: L("lcl_edit"), enabler: "eShow", isDefault: true });
|
||||
rst.addAction({ action: "insEditInsp", caption: L("lcl_change"), enabler: "eEdit" });
|
||||
// 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: "eStart", 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: "insClose", caption: L("lcl_ins_close") + "/" + L("lcl_ins_finish"), enabler: "eClose" });
|
||||
|
||||
@@ -39,32 +39,33 @@ var dlsrtcont_key = -1;
|
||||
// ook echt gestart kunnen of mogen worden.
|
||||
for (var i = 0; i < ins_key_arr.length; i++)
|
||||
{
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i]);
|
||||
|
||||
var sql = "SELECT idsc.ins_deelsrtcontrole_key"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
|
||||
+ " AND isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
|
||||
+ " AND xcp.ins_deel_key(+) = " + ins_key_arr[i]
|
||||
+ " AND idsc.ins_deel_key(+) = " + ins_key_arr[i]
|
||||
+ " AND isc.ins_srtcontrole_key = " + srtcont_key_arr[i]
|
||||
//+ " AND idsc.ins_deelsrtcontrole_status(+) != 6"
|
||||
+ " ORDER BY ins_deelsrtcontrole_datum DESC";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
// Waarden moeten aanwezig zijn. Mocht dat niet zo zijn dan is er iets fout.
|
||||
var ins_deelsrtcontrole_status = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1; // Als er nog geen inspectie is geweest is de status -1.
|
||||
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
|
||||
var vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
|
||||
var vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
|
||||
// Het laatste inspectierecord moet ingepland of verwerkt(6) zijn, anders kan de inspectie niet gestart worden.
|
||||
if (ins_deelsrtcontrole_status > 0 && ins_deelsrtcontrole_status != 6)
|
||||
{ // Laatste inspectie is niet ingepland of verwerkt. Overslaan.
|
||||
oRs.Close();
|
||||
continue;
|
||||
}
|
||||
else if (ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6)
|
||||
dlsrtcont_key = ins_deelsrtcontrole_key;
|
||||
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i]);
|
||||
// Als ik mag inspecteren mag ik ook starten.
|
||||
if (this_ins.canInspect)
|
||||
// Het laatste inspectierecord moet Gepland(0) of verwerkt(6) (ins_deelsrtcontrole_status = -1) zijn, anders kan de inspectie niet gestart worden.
|
||||
if (this_ins.canInspect && !vervallen && (ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6))
|
||||
{ // Alle Arrays zijn even groot.
|
||||
if (ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6)
|
||||
dlsrtcont_key = ins_deelsrtcontrole_key;
|
||||
ingesloten.push({ins_key: ins_key_arr[i], srtcont_key: srtcont_key_arr[i], dlsrtcont_key: dlsrtcont_key,
|
||||
inspectiestatus: ins_deelsrtcontrole_status});
|
||||
tobestart++;
|
||||
|
||||
Reference in New Issue
Block a user