FSN#44509: Aiai tijdens starten van een taak.

svn path=/Website/branches/v2017.2/; revision=35569
This commit is contained in:
Maykel Geerdink
2017-10-05 08:46:11 +00:00
parent 874a389798
commit f63774bf8a
2 changed files with 40 additions and 26 deletions

View File

@@ -581,6 +581,7 @@ ins = {checkAutLevel:
+ " , insp.vervaldatum"
+ " , insp.isc_mode"
+ " , insp.ctr_discipline_key"
+ " , insp.ctr_ismjob"
+ " , options"
// 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.
@@ -685,6 +686,7 @@ ins = {checkAutLevel:
+ " , xcp.ins_srtcontrole_periode"
+ " , xcp.ins_deel_aanmaak"
+ " , xcp.ctr_controle_type"
+ " , xcp.ctr_ismjob"
+ " , idsc.ins_deelsrtcontrole_plandatum plandatum"
+ " , ins_srtcontroledl_xcp_startdat"
+ " , CASE"
@@ -737,6 +739,7 @@ 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 ctr_discipline_key = oRs("ctr_discipline_key").Value;
var ctr_ismjob = oRs("ctr_ismjob").Value == 1;
var isc_options = oRs("options").Value;
var vervallen = vervaldatum != null && vervaldatum < new Date();
var invoerAfterNext = oRs("invoerAfterNext").Value == 1;
@@ -780,7 +783,7 @@ ins = {checkAutLevel:
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) &&
actief && iresult.hasCTRWrite &&
!isScenario;
iresult.canInspStart = iresult.canInspStartReq && ((isc_options & 2) == 2);
iresult.canInspStart = iresult.canInspStartReq && ((isc_options & 2) == 2) && !ctr_ismjob;
// Bevriezen gebeurt altijd voor het kalenderjaar S("mjb_freeze_year").
// Dan is er voor het freeze kalenderjaar een bedrag ingevuld.
// Mocht het bedrag 0 zijn, dan moet er tijdens heb bevriezen een lcl aan de opmerking worden toegevoegd, dat de taak door een hogere prio taak wordt uitgevoerd.

View File

@@ -87,6 +87,7 @@ if (srtcont_key_arr.length > 0)
var vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
var vervallen = vervaldatum != null && vervaldatum < new Date();
var kosten = oRs("bedrag").Value;
oRs.Close();
if (ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6)
dlsrtcont_key = ins_deelsrtcontrole_key;
@@ -119,9 +120,10 @@ for (var i = 0; i < ingesloten.length; i++)
if (ingesloten[i].inspectiestatus > -1)
{ // Bereken de volgende inspectiedatum.
// Alleen Active Situatie (AS) soort controle's kunnen gestart worden dus voor scenario key moet "null" genomen worden.
sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1, 1) nextdate FROM DUAL"
oRs = Oracle.Execute(sql);
var sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1, 1) nextdate FROM DUAL"
var oRs = Oracle.Execute(sql);
nextdate = new Date(oRs("nextdate").Value);
oRs.Close();
}
//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)
@@ -237,6 +239,7 @@ for (var i = 0; i < ingesloten.length; i++)
+ " ) insp";
var oRs = Oracle.Execute(sql);
var has_higherprio = !oRs.eof && oRs("isFreezeYear").Value == 1; // Is er een hoger prio soort controle in het freeze jaar?
oRs.Close();
fields.push( { dbs: "ins_deelsrtcontrole_freezecost", typ: "float", val: (has_higherprio? 0 : ingesloten[i].kosten) } );
fields.push( { dbs: "ins_deelsrtcontrole_freezedate", typ: "datetime", val: new Date(new Date().setFullYear(mjb_freeze_year)) } );
@@ -254,34 +257,41 @@ for (var i = 0; i < ingesloten.length; i++)
result.success = false;
}
// TODO: Melding aanmaken bij bevriezen van taak als setting op internal staat.
//if (false && S("mjb_operation_external") == 0) // Operational handling mjob {0=internal (default) | 1=external}.
if (S("mjb_operation_external") == 0) // Operational handling mjob {0=internal (default) | 1=external}.
// Melding aanmaken bij bevriezen van taak als setting op internal staat.
var sql = "SELECT di.ctr_ismjob"
+ " FROM ins_v_defined_inspect di"
+ " WHERE di.ins_deel_key = " + ingesloten[i].ins_key
+ " AND di.ins_srtcontrole_key = " + ingesloten[i].srtcont_key;
var oRs = Oracle.Execute(sql);
var ismjob = oRs("ctr_ismjob").Value == 1;
if (freeze && ismjob && S("mjb_operation_external") == 0) // Operational handling mjob {0=internal (default) | 1=external}.
{ // Melding aanmaken bij bevriezing.
// De setting "mjb_default_stdmelding" moet gevuld zijn met een geldige waarde. Daar gaan we van uit.
var sql = "SELECT COALESCE(di.mld_stdmelding_key, fac.safe_To_Number(fac.getsetting ('mjb_default_stdmelding'))) default_stdmelding"
+ " FROM ins_deelsrtcontrole idsc"
+ " , ins_srtcontrole isc"
+ " , ins_tab_discipline itd"
+ " , ins_v_defined_inspect di"
+ " WHERE idsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
+ " AND idsc.ins_scenario_key = isc.ins_scenario_key"
+ " AND isc.ctr_discipline_key = itd.ins_discipline_key"
+ " AND isc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc.ins_deel_key = di.ins_deel_key"
+ " AND idsc.ins_deelsrtcontrole_key = " + ingesloten[i].dlsrtcont_key;
var oRs = Oracle.Execute(sql);
sql = "SELECT COALESCE(di.mld_stdmelding_key, fac.safe_To_Number(fac.getsetting ('mjb_default_stdmelding'))) default_stdmelding"
+ " , di.ctr_ismjob"
+ " FROM ins_deelsrtcontrole idsc"
+ " , ins_srtcontrole isc"
+ " , ins_tab_discipline itd"
+ " , ins_v_defined_inspect di"
+ " WHERE idsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
+ " AND idsc.ins_scenario_key = isc.ins_scenario_key"
+ " AND isc.ctr_discipline_key = itd.ins_discipline_key"
+ " AND isc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc.ins_deel_key = di.ins_deel_key"
+ " AND idsc.ins_deelsrtcontrole_key = " + ingesloten[i].dlsrtcont_key;
oRs = Oracle.Execute(sql);
var default_stdmelding = oRs("default_stdmelding").Value;
var stdm_info = mld.mld_stdmeldinginfo(default_stdmelding);
var sql = "SELECT alg_locatie_key,"
+ " alg_gebouw_key,"
+ " alg_verdieping_key,"
+ " alg_ruimte_key"
+ " FROM ins_deel isd, alg_v_allonroerendgoed alg"
+ " WHERE ins_deel_key = " + ingesloten[i].ins_key
+ " AND alg_onroerendgoed_keys = isd.ins_alg_ruimte_key"
+ " AND isd.ins_alg_ruimte_type = 'R'"
sql = "SELECT alg_locatie_key,"
+ " alg_gebouw_key,"
+ " alg_verdieping_key,"
+ " alg_ruimte_key"
+ " FROM ins_deel isd, alg_v_allonroerendgoed alg"
+ " WHERE ins_deel_key = " + ingesloten[i].ins_key
+ " AND alg_onroerendgoed_keys = isd.ins_alg_ruimte_key"
+ " AND isd.ins_alg_ruimte_type = 'R'"
oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
@@ -308,6 +318,7 @@ for (var i = 0; i < ingesloten.length; i++)
meldbron: 10};
var issues_array = issues.REST_POST(params, jsondata);
}
oRs.Close();
}
// Nu nog de status zetten, tracking genereren en notificaties sturen.