FCLT#53547: MJOB: MJOB aanvullingen.
svn path=/Website/trunk/; revision=38403
This commit is contained in:
@@ -1055,7 +1055,7 @@ ins = {checkAutLevel:
|
||||
var max_dsc_key = oRsM("max_dsc_key").Value;
|
||||
var dsc_status = oRsM("ins_deelsrtcontrole_status").Value || -1;
|
||||
var cm_success = (oRsM("ins_controlemode_success").Value || 0) == 1;
|
||||
var dsc_freezedate = oRsM("ins_deelsrtcontrole_freezedate").Value? new Date(oRsM("ins_deelsrtcontrole_freezedate").Value) : null;
|
||||
var dsc_freezedate = oRsM("ins_deelsrtcontrole_freezedate").Value != null? new Date(oRsM("ins_deelsrtcontrole_freezedate").Value) : null;
|
||||
|
||||
if (dsc_status == 6 && cm_success) // 1) De laatste inspectie is succesvol voltooid: De volgende met ins.nextcyclusdate() te berekenen.
|
||||
{ // De laatste inspectie is een succesvol afgeronde inspectie. De volgende met ins.nextcyclusdate() te berekenen.
|
||||
@@ -1082,7 +1082,7 @@ ins = {checkAutLevel:
|
||||
+ " , " + (ismjob? "1" : "0") + ") nextdate"
|
||||
+ " FROM ins_v_defined_inspect_xcp xcp"
|
||||
+ " WHERE xcp.ins_deel_key = " + pins_key
|
||||
+ " AND xcp.ins_srtcontrole_key = " + pscen_key;
|
||||
+ " AND xcp.ins_srtcontrole_key = " + psrtcont_key;
|
||||
var oRsN = Oracle.Execute(sql);
|
||||
nextdate = new Date(oRsN("nextdate").Value);
|
||||
oRsN.Close();
|
||||
|
||||
@@ -25,6 +25,7 @@ var JSON_Result = true;
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
var scen_key = getFParamInt("scenario", -1);
|
||||
var mjb_freeze_year = S("mjb_freeze_year");
|
||||
|
||||
var sql = "SELECT ins_scenario_omschrijving"
|
||||
+ " FROM ins_scenario"
|
||||
@@ -69,6 +70,29 @@ Oracle.Transaction();
|
||||
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{ // Toevoegen van de taak voor het object aan het (nieuwe) scenario.
|
||||
var dlsrtcont_key = -1;
|
||||
var dlsrtcont_status;
|
||||
var dsc_plandatum_string = L("lcl_empty");
|
||||
// Laatste inspectie record (Active Situatie (AS)) ophalen.
|
||||
sql = "SELECT idsc.ins_deelsrtcontrole_key"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , idsc.ins_deelsrtcontrole_plandatum"
|
||||
+ " , EXTRACT (YEAR FROM idsc.ins_deelsrtcontrole_freezedate) freezejaar"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " WHERE idsc.ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND idsc.ins_srtcontrole_key = " + ingesloten[i].srtcont_key
|
||||
+ " AND idsc.ins_scenario_key = 1"
|
||||
+ " ORDER BY idsc.ins_deelsrtcontrole_key DESC";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
dlsrtcont_key = oRs("ins_deelsrtcontrole_key").Value;
|
||||
dlsrtcont_status = oRs("ins_deelsrtcontrole_status").Value;
|
||||
dsc_plandatum_string = oRs("ins_deelsrtcontrole_plandatum").Value != null? toDateTimeString(new Date(oRs("ins_deelsrtcontrole_plandatum").Value)) : L("lcl_empty");
|
||||
dsc_freezejaar = oRs("freezejaar").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Waarden van het scenario ophalen.
|
||||
var sql = "SELECT xcp.ins_srtcontroledl_xcp_key"
|
||||
+ " , isc.ins_srtcontrole_mode"
|
||||
@@ -150,28 +174,8 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
var plandatum = oRs("ins_deelsrtcontrole_plandatum").Value != null? new Date(oRs("ins_deelsrtcontrole_plandatum").Value) : null;
|
||||
oRs.Close();
|
||||
|
||||
var dlsrtcont_key = -1;
|
||||
var dlsrtcont_status;
|
||||
var dsc_plandatum_string = L("lcl_empty");
|
||||
// Laatste inspectie record (Active Situatie (AS)) ophalen.
|
||||
sql = "SELECT idsc.ins_deelsrtcontrole_key"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , idsc.ins_deelsrtcontrole_plandatum"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " WHERE idsc.ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND idsc.ins_srtcontrole_key = " + ingesloten[i].srtcont_key
|
||||
+ " AND idsc.ins_scenario_key = 1"
|
||||
+ " ORDER BY idsc.ins_deelsrtcontrole_key DESC";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
dlsrtcont_key = oRs("ins_deelsrtcontrole_key").Value;
|
||||
dlsrtcont_status = oRs("ins_deelsrtcontrole_status").Value;
|
||||
dsc_plandatum_string = oRs("ins_deelsrtcontrole_plandatum").Value != null? toDateTimeString(new Date(oRs("ins_deelsrtcontrole_plandatum").Value)) : L("lcl_empty");
|
||||
}
|
||||
|
||||
// TODO: Wat als de status Gestart(2) of Gereedgemeld/Afgerond(5) is???
|
||||
if (dlsrtcont_key > 0 && dlsrtcont_status < 6)
|
||||
// In mjob komen geen Gereedgemeld/Afgerond(5) inspecties voor. Alleen status 0, 2 en 6.
|
||||
if (dlsrtcont_key > 0 && dlsrtcont_status == 0)
|
||||
{
|
||||
if (plandatum)
|
||||
{
|
||||
@@ -192,7 +196,8 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
}
|
||||
else
|
||||
{ // Er is in de Active Situatie (AS) geen lopende inspectie.
|
||||
if (plandatum)
|
||||
// of er is een geaccordeerde inspectie voor het freeze jaar.
|
||||
if (plandatum && !(dlsrtcont_status == 2 && dsc_freezejaar == mjb_freeze_year))
|
||||
{
|
||||
var nextdate = ins.func_get_nextdate(ingesloten[i].ins_key, ingesloten[i].srtcont_key, 1);
|
||||
var fields = [ { dbs: "ins_deel_key", typ: "key", val: ingesloten[i].ins_key },
|
||||
@@ -207,7 +212,6 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
var err = Oracle.Execute(insIns.sql, true);
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
// Nu nog het scenario verwijderen.
|
||||
// Een scenario gooit via de cascade zijn ins_deelsrtcontrole en ins_srtcontroledl_xcp records mee weg.
|
||||
|
||||
Reference in New Issue
Block a user