FSN#36828: INS: Moment inspectie pas kunnen opslaan op of na geplande inspectiedatum.
svn path=/Website/trunk/; revision=29832
This commit is contained in:
@@ -536,13 +536,18 @@ ins = {checkAutLevel:
|
||||
+ " WHERE idsc.ins_deel_key = " + pins_deel_key
|
||||
+ " AND idsc.ins_srtcontrole_key = " + params.srtcont_key
|
||||
+ " AND idsc.ins_deelsrtcontrole_status IN (6)";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var hasInspect = !oRs.eof;
|
||||
oRs.Close();
|
||||
|
||||
var sql = "SELECT insp.ins_deelsrtcontrole_key"
|
||||
+ " , insp.ins_deelsrtcontrole_status"
|
||||
+ " , insp.vervaldatum"
|
||||
+ " , insp.isc_mode"
|
||||
// Moment inspectie pas kunnen opslaan op of na geplande inspectiedatum.
|
||||
// Is in de moment modus de invoer na het volgende berekende inspectietijdstip? Voor interval modus is dit altijd het geval.
|
||||
// Als er nog nooit is geinspecteerd en er is er nog geen ingepland dan is het ook ok.
|
||||
// Als de inspectie gestart of gereed gemeld is dan is het ook ok, want anders had de inspectie nooit begonnen mogen worden.
|
||||
+ " , CASE"
|
||||
+ " WHEN insp.isc_mode = 1"
|
||||
+ " THEN 1"
|
||||
@@ -569,7 +574,7 @@ ins = {checkAutLevel:
|
||||
+ " END)"
|
||||
+ " THEN 1"
|
||||
+ " ELSE 0"
|
||||
+ " END minspect"
|
||||
+ " END invoerAfterNext"
|
||||
+ " FROM (SELECT idsc.ins_deelsrtcontrole_key"
|
||||
+ " , ins_deelsrtcontrole_datum"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
@@ -585,7 +590,7 @@ ins = {checkAutLevel:
|
||||
+ " ELSE fac.nextcyclusdate(CASE"
|
||||
+ " WHEN isc.ins_srtcontrole_mode = 0"
|
||||
+ " THEN idsc.ins_deelsrtcontrole_datum_org" // Moment modus (0). Uitgaan van eigenlijke/orginele inspectiedatum.
|
||||
+ " ELSE idsc.ins_deelsrtcontrole_datum" // Interval modus (1). Uitgaan van werkelijke inspectiedatum.
|
||||
+ " ELSE idsc.ins_deelsrtcontrole_datum" // Interval modus (1). Uitgaan van werkelijke inspectiedatum.
|
||||
+ " END"
|
||||
+ " , isc.ins_srtcontrole_mode"
|
||||
+ " , COALESCE(xcp.ins_srtcontroledl_xcp_eenheid, isc.ins_srtcontrole_eenheid)"
|
||||
@@ -617,10 +622,10 @@ ins = {checkAutLevel:
|
||||
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();
|
||||
var minspect = oRs("minspect").Value == 1;
|
||||
var invoerAfterNext = oRs("invoerAfterNext").Value == 1;
|
||||
oRs.Close();
|
||||
|
||||
iresult.minspect = minspect;
|
||||
iresult.invoerAfterNext = invoerAfterNext;
|
||||
|
||||
// Als de inspectie vervallen is moet je alleen nog de lopende inspecties (ingepland of later) kunnen gereedmelden en/of afronden,
|
||||
// zodat deze inspectie afgerond kan worden. Nieuwe inspectie kunnen nooit meer beginnen.
|
||||
@@ -630,18 +635,18 @@ ins = {checkAutLevel:
|
||||
// Bij eerste inspectie of verwerkte inspectie kan er gepland worden.
|
||||
iresult.canInspPlan = iresult.canInspect && !vervallen && (ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) && actief;
|
||||
// Bij eerste inspectie, geplande inspectie of verwerkte inspectie kan er gestart worden.
|
||||
iresult.canInspStart = iresult.canInspect && minspect && !vervallen &&
|
||||
iresult.canInspStart = iresult.canInspect && invoerAfterNext && !vervallen &&
|
||||
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) && actief;
|
||||
// Bij eerste inspectie, geplande inspectie, gestarte inspectie of verwerkte inspectie kan er gereedgemeld/afgerond worden.
|
||||
iresult.canInspClose = iresult.canInspect && minspect &&
|
||||
iresult.canInspClose = iresult.canInspect && invoerAfterNext &&
|
||||
((!vervallen && (ins_deelsrtcontrole_status < 5 || ins_deelsrtcontrole_status == 6)) ||
|
||||
(ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2)) &&
|
||||
actief;
|
||||
// Alleen als de inspectie gereedgemeld is kan afgerond worden.
|
||||
iresult.canInspFinish = iresult.canInspect && minspect && ins_deelsrtcontrole_status == 5 && actief;
|
||||
iresult.canInspFinish = iresult.canInspect && invoerAfterNext && ins_deelsrtcontrole_status == 5 && actief;
|
||||
}
|
||||
else
|
||||
iresult.minspect = true;
|
||||
iresult.invoerAfterNext = true;
|
||||
}
|
||||
ioRs.Close();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user