FSN#36151: AiAi bij melden moment inspectie.
svn path=/Website/trunk/; revision=29084
This commit is contained in:
@@ -108,6 +108,7 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
var scmode = 1; // 0 = Momentmode, 1 = Intervalmode.
|
||||
var sctype = -1;
|
||||
var vervaldatum = null;
|
||||
var aanmaakdatum = null;
|
||||
var vervallen = false;
|
||||
var info = "";
|
||||
sql = "SELECT *"
|
||||
@@ -118,6 +119,7 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
+ " , id.ins_deel_key"
|
||||
+ " , isc.ins_srtcontrole_info"
|
||||
+ " , isc.ins_srtcontrole_type"
|
||||
+ " , id.ins_deel_aanmaak"
|
||||
+ " FROM ins_deel id"
|
||||
+ " , ins_srtdeel s"
|
||||
+ " , ins_srtcontrole isc"
|
||||
@@ -134,6 +136,7 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
+ " , di.ins_srtcontrole_mode scmode"
|
||||
+ " , di.ins_srtcontrole_type sctype"
|
||||
+ " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
|
||||
+ " , di.ins_deel_aanmaak"
|
||||
+ " FROM defined_inspect di"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
@@ -152,6 +155,7 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
sctype = oRs("sctype").Value;
|
||||
vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
|
||||
vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
aanmaakdatum = new Date(oRs("ins_deel_aanmaak").Value);
|
||||
oRs.MoveNext();
|
||||
while (!oRs.eof)
|
||||
{
|
||||
@@ -164,6 +168,8 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
info = "";
|
||||
sctype = -1; // Er zijn inspecties met verschillende soort ocntroles. Dan maar -1.
|
||||
}
|
||||
if (aanmaakdatum.getTime() < new Date(oRs("ins_deel_aanmaak").Value).getTime())
|
||||
aanmaakdatum = new Date(oRs("ins_deel_aanmaak").Value);
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -465,7 +471,6 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
+ " THEN 1" // Dag, maand of jaar.
|
||||
+ " ELSE 0" // Tijd.
|
||||
+ " END) aantal_dmj_eenheid"
|
||||
//+ " , isc.ins_srtcontrole_type"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontrole isc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
@@ -473,16 +478,14 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
+ " AND idsc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
|
||||
+ " AND idsc.ins_deel_key = xcp.ins_deel_key(+)"
|
||||
+ " AND COALESCE(xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) > 0"
|
||||
//+ " AND idsc.ins_deelsrtcontrole_status IN (5, 6)"
|
||||
+ " AND idsc.ins_deel_key IN (" + ingesloten.join(",") + ")"
|
||||
+ " AND idsc.ins_srtcontrole_key IN (" + ingeslotensc.join(",") + ")"
|
||||
+ " GROUP BY isc.ins_srtcontrole_mode";
|
||||
//+ " ,ins_srtcontrole_type";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var lastinspectdatum;
|
||||
var dag_na_lastinspectdatum;
|
||||
var aantal_dmj_eenheid;
|
||||
var minDate = new Date();
|
||||
var minDate = aanmaakdatum; // Als er nog geen inspecties zijn geweest dan is de aanmaakdatum de minimale datum.
|
||||
if (!oRs.eof)
|
||||
{
|
||||
lastinspectdatum = new Date(oRs("lastinspectdatum").Value); // Kan uiterlijk vandaag zijn.
|
||||
@@ -551,7 +554,7 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
|
||||
timeStep: 60,
|
||||
startTime: 0,
|
||||
endTime: 23.75,
|
||||
readonly: vervallen || insShow || (insEdit && insstatus == 2), // In status "Ingepland(0)" is de plandatum altijd nog aan te passen.
|
||||
readonly: vervallen || insShow || (insEdit && insstatus == 2), // In status "Ingepland(0)" is de plandatum altijd nog aan te passen.
|
||||
suppressEmpty: true
|
||||
});
|
||||
|
||||
|
||||
@@ -223,7 +223,8 @@ if (savemode == "P")
|
||||
var sql = "SELECT ins_deelsrtcontrole_datum"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = " + ingesloten[i].srtcont_key
|
||||
+ " AND idsc.ins_deel_key = " + ingesloten[i].ins_key;
|
||||
+ " AND idsc.ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND idsc.ins_deelsrtcontrole_datum IS NOT NULL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var nextdate = null;
|
||||
if (!oRs.eof)
|
||||
@@ -274,7 +275,7 @@ else if (savemode == "C")
|
||||
sql = "SELECT ins_controlemode_key"
|
||||
+ " , 1"
|
||||
+ " FROM ins_controlemode"
|
||||
+ " WHERE ins_controlemode_success = 0"
|
||||
+ " WHERE ins_controlemode_success IS NULL"
|
||||
+ " UNION "
|
||||
+ "SELECT ins_controlemode_key"
|
||||
+ " , 2"
|
||||
@@ -303,7 +304,8 @@ else if (savemode == "C")
|
||||
sql = "SELECT ins_deelsrtcontrole_datum"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = " + ingesloten[i].srtcont_key
|
||||
+ " AND idsc.ins_deel_key = " + ingesloten[i].ins_key;
|
||||
+ " AND idsc.ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND idsc.ins_deelsrtcontrole_datum IS NOT NULL";
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (oRs.eof)
|
||||
{ // Er zijn nog geen inspecties geweest voor dit object en er is nog geen plandatum voor dit object ingevuld.
|
||||
@@ -332,7 +334,7 @@ else if (savemode == "C")
|
||||
+ " AND idsc.ins_deel_key = " + ingesloten[i].ins_key
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
if (!oRs.eof)
|
||||
if (!oRs.eof && oRs("ins_deelsrtcontrole_plandatum").Value != null)
|
||||
{
|
||||
// De plandatum is de volgende inspectiedatum
|
||||
plandatum = new Date(oRs("ins_deelsrtcontrole_plandatum").Value);
|
||||
@@ -368,17 +370,17 @@ else if (savemode == "C")
|
||||
{
|
||||
var fields = [ { dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 2000 },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: user_key, track: L("lcl_name"), foreign: "prs_perslid" },
|
||||
{ dbs: "ins_deelsrtcontrole_datum", typ: "datetime", val: deelsrtcontrole_datum, track: L("lcl_ins_controle_datum") } // De controledatum met tijd opslaan.
|
||||
{ dbs: "ins_deelsrtcontrole_datum", typ: "datetime", val: deelsrtcontrole_datum, track: L("lcl_ins_controle_datum") }, // De controledatum met tijd opslaan.
|
||||
{ dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: nextdate } // De orginele controledatum met tijd opslaan. Kan al gevuld zijn met dezelfde waarde.
|
||||
];
|
||||
if (!insPresent)
|
||||
{ // Er is nog geen inspectie record aangemaakt. De volgende velden dienen dan nog ingevuld te worden.
|
||||
fields.push({ dbs: "ins_deel_key", typ: "key", val: ingesloten[i].ins_key });
|
||||
fields.push({ dbs: "ins_srtcontrole_key", typ: "key", val: ingesloten[i].srtcont_key });
|
||||
fields.push({ dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: nextdate }); // De orginele controledatum met tijd opslaan.
|
||||
fields.push({ dbs: "ins_deelsrtcontrole_key", typ: "key", seq: "ins_s_ins_deelsrtcontrole_key" });
|
||||
}
|
||||
|
||||
if (nextdate_trunc < deelsrtcontrole_datum_trunc)
|
||||
if (nextdate_trunc.getTime() < deelsrtcontrole_datum_trunc.getTime())
|
||||
// Inspectie datum ligt voor de laatste inspectiedatum. Dan moet die inspectie niet successvol zijn, anders geeft dit problemen.
|
||||
fields.push({ dbs: "ins_controlemode_key", typ: "key", val: controlemode, track: L("lcl_ins_controle_mode"), foreign: "ins_controlemode" } ); // Controlemode die niet succesvol is
|
||||
else
|
||||
@@ -390,7 +392,6 @@ else if (savemode == "C")
|
||||
// Plandatum kan gevuld blijven met de huidige waarde.
|
||||
var insUpd = buildTrackingUpdate("ins_deelsrtcontrole", " ins_deelsrtcontrole_key = " + ingesloten[i].dlsrtcont_key, fields);
|
||||
var err = Oracle.Execute(insUpd.sql, true);
|
||||
firstone = false;
|
||||
}
|
||||
else
|
||||
{ // Er is nog geen inspectie record aangemaakt.
|
||||
@@ -415,6 +416,7 @@ else if (savemode == "C")
|
||||
respijt = false;
|
||||
plandatum = null;
|
||||
insPresent = false; // Als er terug in de while lus wordt gesprongen is er geen inspectie record aanwezig.
|
||||
firstone = false;
|
||||
|
||||
// Bereken de volgende inspectiedatum.
|
||||
// De functie ins.nextcyclusdate levert de volgende inspectie datum met tijd op onafhankelijk van de eenheid.
|
||||
|
||||
@@ -80,10 +80,14 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
{ // Er is nog geen inspectie (ins_deelsrtcontrole) record aangemaakt. Eerst maar eens aanmaken.
|
||||
// Als er al een inspectie is geweest kan er een volgende inspectiedatum berekend worden.
|
||||
var nextdate = null;
|
||||
// Bereken de volgende inspectiedatum. Als er nog geen inspecties zijn geweest wordt uitgegaan van de aanmaakdatum van het object.
|
||||
sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1) nextdate FROM DUAL"
|
||||
oRs = Oracle.Execute(sql);
|
||||
nextdate = new Date(oRs("nextdate").Value);
|
||||
if (ingesloten[i].inspectiestatus > -1)
|
||||
{ // Bereken de volgende inspectiedatum.
|
||||
sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1) nextdate FROM DUAL"
|
||||
oRs = Oracle.Execute(sql);
|
||||
nextdate = new Date(oRs("nextdate").Value);
|
||||
}
|
||||
//else Er zijn nog geen inspecties geweest voor dit object. Dit wordt de eerste inspectie.
|
||||
// Volgende inspectiedatum kun je niet berekenen en is dus onbekend (leeg)
|
||||
|
||||
// Plandatum blijft leeg.
|
||||
var fields = [ { dbs: "ins_deelsrtcontrole_key", typ: "key", seq: "ins_s_ins_deelsrtcontrole_key" },
|
||||
|
||||
@@ -648,7 +648,7 @@ function ins_list (pautfunction, params)
|
||||
+ " SELECT RANK ()" // Volgnummertje toekennen
|
||||
+ " OVER ("
|
||||
+ " PARTITION BY di.ins_deel_key, idsc.ins_srtcontrole_key" // Soort van group-by
|
||||
+ " ORDER BY ins_deelsrtcontrole_datum DESC) rn" // Op volgorde zetten/Rangschikken/Sorteren op inspectiedatum.
|
||||
+ " ORDER BY ins_deelsrtcontrole_key DESC) rn" // Op volgorde zetten/Rangschikken/Sorteren op inspectiedatum.
|
||||
+ " , di.ins_deel_key"
|
||||
+ " , CASE"
|
||||
+ " WHEN " + lastinspect + " IS NULL" // Inspectie die voor het eerst is ingepland(0) of gestart(2) maar nog geen uitgevoerde/afgemelde(6) inspectie heeft.
|
||||
|
||||
Reference in New Issue
Block a user