FSN#36151: AiAi bij melden moment inspectie.

svn path=/Website/trunk/; revision=29073
This commit is contained in:
Maykel Geerdink
2016-04-20 11:49:34 +00:00
parent 28f336d489
commit 24e6835428
2 changed files with 31 additions and 21 deletions

View File

@@ -358,18 +358,6 @@ else if (savemode == "C")
plandatum = new Date(plandatum.midnight());
}
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.
];
if (!insPresent)
{ // Er is nog 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" });
}
// Afhankelijk van de modus de inspectie(s) opslaan.
if (ingesloten[i].inspectiemode == 0)
{ // Moment modus
@@ -378,6 +366,18 @@ else if (savemode == "C")
var firstone = true;
while ((respijt && plandatum <= deelsrtcontrole_datum_trunc) || (!respijt && nextdate_trunc <= deelsrtcontrole_datum_trunc))
{
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.
];
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)
// 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
@@ -394,6 +394,8 @@ else if (savemode == "C")
}
else
{ // Er is nog geen inspectie record aangemaakt.
if (!firstone)
ins.setinspectstatus(ingesloten[i].dlsrtcont_key, 6); // Vorige inspectie record Afronden(6).
var insIns = buildInsert("ins_deelsrtcontrole", fields);
ingesloten[i].dlsrtcont_key = insIns.sequences["ins_deelsrtcontrole_key"];
var err = Oracle.Execute(insIns.sql, true);
@@ -412,6 +414,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.
// Bereken de volgende inspectiedatum.
// De functie ins.nextcyclusdate levert de volgende inspectie datum met tijd op onafhankelijk van de eenheid.
@@ -428,7 +431,18 @@ else if (savemode == "C")
}
else
{ // Interval modus
fields.push({ dbs: "ins_controlemode_key", typ: "key", frm: "sel_controlemode", track: L("lcl_ins_controle_mode"), foreign: "ins_controlemode" });
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_controlemode_key", typ: "key", frm: "sel_controlemode", track: L("lcl_ins_controle_mode"), foreign: "ins_controlemode" }
];
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 (insPresent)
{ // Er is al een inspectie record (ins_deelsrtcontrole) aangemaakt. De status is Gepland(0) of In behandeling(2)

View File

@@ -80,14 +80,10 @@ 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;
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)
// 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);
// Plandatum blijft leeg.
var fields = [ { dbs: "ins_deelsrtcontrole_key", typ: "key", seq: "ins_s_ins_deelsrtcontrole_key" },