FCLT#52134: MJOB: freezecost en freezedate niet opgeslagen bij bevriezen ingeplande taken.

svn path=/Website/branches/v2017.2/; revision=36851
This commit is contained in:
Maykel Geerdink
2018-02-06 10:33:36 +00:00
parent ec9ec48b4f
commit 27be9536dd

View File

@@ -242,8 +242,9 @@ else
result.key = "";
for (var i = 0; i < ingesloten.length; i++)
{ // Zetten van de status en afhandelen van de tracking van het starten.
if (ingesloten[i].dlsrtcont_key < 0)
{ // Er is nog geen inspectie (ins_deelsrtcontrole) record aangemaakt. Eerst maar eens aanmaken.
{ // Er is nog geen inspectie (ins_deelsrtcontrole) record aangemaakt. Eerst maar eens de waarden van de velden bepalen.
// Als er al een inspectie is geweest kan er een volgende inspectiedatum berekend worden.
var nextdate = null;
if (ingesloten[i].inspectiestatus > -1)
@@ -265,6 +266,11 @@ else
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
{ dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: (nextdate? nextdate : null) }
];
}
else
{
var fields = [];
}
// Als je mag bevriezen (canInspFreeze) dan zijn er kosten aanwezig in het jaar mjb_freeze_year.
if (freeze && (ingesloten[i].kosten >= 0))
@@ -377,6 +383,9 @@ else
fields.push( { dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", val: L("lcl_mjb_performed_high") } );
}
if (ingesloten[i].dlsrtcont_key < 0)
{ // Inspectie (ins_deelsrtcontrole) record aanmaken.
var insIns = buildInsert("ins_deelsrtcontrole", fields);
ingesloten[i].dlsrtcont_key = insIns.sequences["ins_deelsrtcontrole_key"];
var err = Oracle.Execute(insIns.sql, true);
@@ -386,7 +395,18 @@ else
result.success = false;
}
}
// else de melding is wellicht ingepland. Dan zetten we later wel de status op 2.
else
{ // Inspectie (ins_deelsrtcontrole) record aanpassen.
var insUpd = buildTrackingUpdate("ins_deelsrtcontrole", " ins_deelsrtcontrole_key = " + ingesloten[i].dlsrtcont_key, fields);
// Velden voor het bevriezen/accorderen opslaan.
var err = Oracle.Execute(insUpd.sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
// Tracken van de freezedate en freezedate hoeft niet. Bevriezen/Accorderen gebeurt eenmalig en dan worden de freeze velden gevuld.
// Het bevriezen/accorderen zelf wordt (hieronder) met het zetten van de status op Gestart(2) getrackt.
}
}
}