SUTF#37136: AiAi starten inspectie - geen gegevens gevonden.

svn path=/Website/trunk/; revision=30595
This commit is contained in:
Maykel Geerdink
2016-09-06 15:30:41 +00:00
parent c6aa103346
commit 98e75493ec
2 changed files with 27 additions and 27 deletions

View File

@@ -289,9 +289,9 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
{
// Controle of er op de inspectiedatum of op het inspectieuur al inspecties zijn geweest
// TODO: Wat te doen met extra inspecties. En per week/maand/jaar enz.
var controle_datum_midnight = new Date(parseInt($("#deelsrtcontrole_datum").val())).midnight().getTime()
var controle_datum_uur = new Date(new Date(parseInt($("#deelsrtcontrole_datum").val())).setMinutes(0,0,0)).getTime()
var controle_datum = new Date(parseInt($("#deelsrtcontrole_datum").val())).getTime()
var controle_datum_midnight = new Date(parseInt($("#deelsrtcontrole_datum").val())).midnight().getTime();
var controle_datum_uur = new Date(new Date(parseInt($("#deelsrtcontrole_datum").val())).setMinutes(0,0,0)).getTime();
var controle_datum_min = new Date(new Date(parseInt($("#deelsrtcontrole_datum").val())).setSeconds(0, 0)).getTime();
if (controle_datum_midnight == new Date(parseInt(inspected_srtcontroles[i].datum)).midnight().getTime() &&
inspected_srtcontroles[i].eenheid > 0 &&
@@ -307,8 +307,8 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
alert(L("lcl_ins_double_inspection_hour"));
return false;
}
else if (controle_datum == new Date(parseInt(inspected_srtcontroles[i].datum)).getTime() &&
inspected_srtcontroles[i].mode == 1) // Dat respijtdatum hetzelfde is als inspectiedatum is niet mogelijk omdat anders ook de check "respijtdatum < nudatum" geldt (zie hierboen). Er moet gelden: inspectiedatum < nu en respijtdatum > nu.
else if (controle_datum_min == new Date(parseInt(inspected_srtcontroles[i].datum)).getTime() &&
inspected_srtcontroles[i].mode == 1) // Dat respijtdatum hetzelfde is als inspectiedatum is niet mogelijk omdat anders ook de check "respijtdatum < nudatum" geldt (zie hierboven). Er moet gelden: inspectiedatum < nu en respijtdatum > nu.
{ // Een inspectie doen op dezelfde datumtijd (controledatum hetzelfde) mag niet omdat je daarna dan niet meer de volgende inspectie kunt doen.
// De geplande _org tijd is dan hetzelfde als de laatste inspectie omdat de volgende inspectie dan niet opgeschoven is.
// Inspecties op dezelfde datumtijd moeten dus afgevangen worden.

View File

@@ -71,7 +71,10 @@ for (var i = 0; i < ins_key_arr.length; i++)
var sql = "SELECT *"
+ " FROM (SELECT di.ins_srtcontrole_key"
+ " , idsc.ins_deelsrtcontrole_key"
+ " , idsc.ins_deelsrtcontrole_datum"
+ " , (SELECT MAX (idsc2.ins_deelsrtcontrole_datum)"
+ " FROM ins_deelsrtcontrole idsc2"
+ " WHERE idsc2.ins_deel_key = idsc.ins_deel_key"
+ " AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key) ins_deelsrtcontrole_datum"
+ " , COALESCE (xcp.ins_srtcontroledl_xcp_eenheid, di.ins_srtcontrole_eenheid) eenheid"
+ " , di.ins_srtcontrole_mode"
+ " , idsc.ins_deelsrtcontrole_status"
@@ -96,7 +99,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
var ins_srtcontrole_mode = oRs("ins_srtcontrole_mode").Value;
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 eenheid = oRs("eenheid").Value;
var ins_deelsrtcontrole_datum = oRs("ins_deelsrtcontrole_datum").Value;
var ins_deelsrtcontrole_datum_max = oRs("ins_deelsrtcontrole_datum").Value;
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
@@ -124,26 +127,23 @@ for (var i = 0; i < ins_key_arr.length; i++)
var deelsrtcontrole_hourtime = new Date(new Date(parseInt(deelsrtcontrole_hourtime.getTime())).setMinutes(0,0,0)).getTime();
// Controle of er op de inspectiedatum of op het inspectieuur al inspecties zijn geweest
// TODO: Wat te doen met extra inspecties. En per week/maand/jaar enz.
if (ins_deelsrtcontrole_datum != null)
{
if ((eenheid > 0) && ins_srtcontrole_mode == 0 && // Geldt alleen voor momentmodus.
(deelsrtcontrole_midnighttime == new Date(ins_deelsrtcontrole_datum).midnight().getTime()))
{ // Op dezelfde dag mag niet. Overslaan.
continue;
}
else if ((eenheid == 0) && ins_srtcontrole_mode == 0 && // Geldt alleen voor momentmodus.
(deelsrtcontrole_hourtime == new Date(new Date(ins_deelsrtcontrole_datum).setMinutes(0,0,0)).getTime()))
{ // In dezelfde minuut (tijdstip) mag niet. Overslaan.
continue;
}
else if (new Date(deelsrtcontrole_datum.setSeconds(0, 0)).getTime() == new Date(new Date(ins_deelsrtcontrole_datum)).getTime() &&
ins_srtcontrole_mode == 1)
{ // Een inspectie doen op dezelfde datumtijd (controledatum hetzelfde) mag niet omdat je daarna dan niet meer de volgende inspectie kunt doen.
// De geplande _org tijd is dan hetzelfde als de laatste inspectie omdat de volgende inspectie dan niet opgeschoven is.
// Inspecties op dezelfde datumtijd moeten dus afgevangen worden.
// Dit kan alleen voorkomen in de interval mode.
continue;
}
if ((eenheid > 0) && ins_srtcontrole_mode == 0 && // Geldt alleen voor momentmodus.
(deelsrtcontrole_midnighttime == new Date(ins_deelsrtcontrole_datum_max).midnight().getTime()))
{ // Op dezelfde dag mag niet. Overslaan.
continue;
}
else if ((eenheid == 0) && ins_srtcontrole_mode == 0 && // Geldt alleen voor momentmodus.
(deelsrtcontrole_hourtime == new Date(new Date(ins_deelsrtcontrole_datum_max).setMinutes(0,0,0)).getTime()))
{ // In dezelfde minuut (tijdstip) mag niet. Overslaan.
continue;
}
else if (new Date(deelsrtcontrole_datum.setSeconds(0, 0)).getTime() == new Date(new Date(ins_deelsrtcontrole_datum_max)).getTime() &&
ins_srtcontrole_mode == 1)
{ // Een inspectie doen op dezelfde datumtijd (controledatum hetzelfde) mag niet omdat je daarna dan niet meer de volgende inspectie kunt doen.
// De geplande _org tijd is dan hetzelfde als de laatste inspectie omdat de volgende inspectie dan niet opgeschoven is.
// Inspecties op dezelfde datumtijd moeten dus afgevangen worden.
// Dit kan alleen voorkomen in de interval mode.
continue;
}
if (!this_ins.canInspClose || ins_deelsrtcontrole_status == 5)