FSN#37754: MJOB inspect verschuiving ongedaan maken.
svn path=/Website/branches/v2016.2/; revision=30962
This commit is contained in:
@@ -255,7 +255,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
}
|
||||
|
||||
ingesloten.push({ins_key: ins_key_arr[i], srtcont_key: srtcont_key_arr[i], dlsrtcont_key: dlsrtcont_key,
|
||||
inspectiemode: ins_srtcontrole_mode, inspectiestatus: ins_deelsrtcontrole_status});
|
||||
inspectiemode: ins_srtcontrole_mode, inspectiestatus: ins_deelsrtcontrole_status, ins_deel_aanmaak: ins_deel_aanmaak});
|
||||
tobehandled++;
|
||||
}
|
||||
|
||||
@@ -659,6 +659,46 @@ else if (savemode == "E")
|
||||
}
|
||||
//else Er zijn nog geen inspecties geweest voor dit object en er is nog geen plandatum voor dit object ingevuld.
|
||||
// Volgende inspectiedatum kun je niet berekenen en is dus onbekend (leeg)
|
||||
else
|
||||
{ // Vindt het ins_srtcontrole_type.
|
||||
var sql = "SELECT ctr_disc_params_controle_type"
|
||||
+ " FROM ins_srtcontrole isc,"
|
||||
+ " ctr_disc_params cdp"
|
||||
+ " WHERE ins_srtcontrole_key = " + ingesloten[0].srtcont_key
|
||||
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var srtcontrole_type = oRs("ctr_disc_params_controle_type").Value;
|
||||
oRs.Close();
|
||||
|
||||
var thisyear = (new Date()).getFullYear();
|
||||
plandatum = getFParamDate("plandatum");
|
||||
var plandatum_jaar = plandatum.getFullYear();
|
||||
// Kunnen we het plan record verwijderen?
|
||||
// De inspectiedatum voor taken die nog nooit een inspectie hebben gehad is voor een Vervanging(2) of Certificering(3)
|
||||
// een periode verder dan de registratie/aanmaak datum van het object.
|
||||
// Voor een controle is er geen inspectiedatum en wordt er dan altijd "Eerste controle" in beeld getoond.
|
||||
// Ofwel een inspectie kun je direct vanaf het aanmaken van het object doen.
|
||||
// Voor controles(1):
|
||||
// - Als de planning in dit jaar is dan kan het inspectierecord verwijderd worden.
|
||||
// Voor Vervanging(2) en Certificering(3):
|
||||
// - inspectiedatum in het verleden of dit jaar: als de planning in dit jaar is, dan kan het inspectierecord verwijderd worden.
|
||||
// - inspectiedatum in de toekomst: als de planning in hetzelfde jaar is als de inspectiedatum dan kan het inspectierecord verwijderd worden.
|
||||
if (ismjob && isjaarlijks)
|
||||
{
|
||||
if (srtcontrole_type == 1 && plandatum_jaar == thisyear) // Controles(1).
|
||||
mjobdelete = true;
|
||||
else if (srtcontrole_type == 2 || srtcontrole_type == 3) // Vervanging(2) of Certificering(3).
|
||||
{ // Bereken de volgende inspectiedatum.
|
||||
sql = "SELECT ins.nextcyclusdate (" + ingesloten[0].ins_key + ", " + ingesloten[0].srtcont_key + ", 1) nextdate FROM DUAL"
|
||||
oRs = Oracle.Execute(sql);
|
||||
var nextdate = new Date(oRs("nextdate").Value);
|
||||
var nexdate_jaar = nextdate.getFullYear();
|
||||
if ((nexdate_jaar <= thisyear && plandatum_jaar == thisyear) ||
|
||||
(nexdate_jaar > thisyear && plandatum_jaar == nexdate_jaar))
|
||||
mjobdelete = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mjobdelete)
|
||||
|
||||
@@ -41,9 +41,11 @@ var authparamsCTRUSE = user.checkAutorisation(autfunctionCTRUSE);
|
||||
|
||||
var authparamsCTRUSE = user.checkAutorisation(autfunctionCTRUSE, true, null, true); // Pessimistic.
|
||||
var hasReadCTRUSE = authparamsCTRUSE && authparamsCTRUSE.ALGreadlevel < 9 && authparamsCTRUSE.PRSreadlevel < 9;
|
||||
// Als ik op minstens 1 discipline alleen leesrechten heb, dan zal vanwege het pessimistisch testen de writelevel 9 zijn.
|
||||
// Dan heb ik dus geen hasWriteCTRUSE rechten.
|
||||
var hasWriteCTRUSE = authparamsCTRUSE && authparamsCTRUSE.ALGwritelevel < 9 && authparamsCTRUSE.PRSwritelevel < 9;
|
||||
|
||||
// Rechten om exception (xcp) waarden van de inspectie/taaak te kunnen zien en om details van het object te kunnen zien.
|
||||
// Rechten om exception (xcp) waarden van de inspectie/taak te kunnen zien en om details van het object te kunnen zien.
|
||||
var autfunctionINSMAN = "WEB_INSMAN";
|
||||
var authparamsINSMAN = user.checkAutorisation(autfunctionINSMAN, true, null, true); // Pessimistic.
|
||||
var hasReadINSMAN = authparamsINSMAN && authparamsINSMAN.ALGreadlevel < 9 && authparamsINSMAN.PRSreadlevel < 9;
|
||||
@@ -254,12 +256,22 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
+ " , e.ins_srtcontrole_percentage"
|
||||
+ " , e.ins_srtcontrole_opmerking"
|
||||
+ " , EXTRACT (YEAR FROM COALESCE(c.plandatum"
|
||||
+ " , ADD_MONTHS(COALESCE(c.laatste, e.ins_deel_aanmaak), 12 * e.ins_srtcontrole_periode))) vervangingsjaar"
|
||||
+ " , ADD_MONTHS(COALESCE(c.laatste"
|
||||
+ " , CASE"
|
||||
+ " WHEN e.ctr_controle_type = 1" // Controle(1).
|
||||
+ " THEN SYSDATE"
|
||||
+ " ELSE e.ins_deel_aanmaak" // Vervanging(2) of Certificering(3).
|
||||
+ " END), CASE"
|
||||
+ " WHEN e.ctr_controle_type = 1" // Controle(1).
|
||||
+ " THEN 1"
|
||||
+ " ELSE 12 * e.ins_srtcontrole_periode" // Vervanging(2) of Certificering(3).
|
||||
+ " END))) vervangingsjaar"
|
||||
+ " , e.ins_deel_aantal"
|
||||
+ " , e.ins_srtcontrole_eind"
|
||||
+ " , e.ins_srtcontrole_afbouwtijd"
|
||||
+ " , e.fin_btwtabelwaarde_key"
|
||||
+ " , e.ins_srtcontroledl_xcp_eind"
|
||||
+ " , e.ctr_controle_type"
|
||||
+ " FROM (SELECT el.ins_deel_key"
|
||||
+ " , el.ins_srtcontroledl_xcp_key"
|
||||
+ " , el.ins_srtcontrole_omschrijving"
|
||||
@@ -278,8 +290,20 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
+ " , el.ins_srtcontrole_afbouwtijd"
|
||||
+ " , el.fin_btwtabelwaarde_key"
|
||||
+ " , el.ins_srtcontroledl_xcp_eind"
|
||||
+ " , el.ctr_controle_type"
|
||||
+ " FROM ins_v_defined_inspect_xcp el"
|
||||
+ " WHERE el.ctr_controle_type = 2" // TODO Altijd 'Vervanging' ?
|
||||
+ " WHERE el.ins_srtcontrole_periode > 0"
|
||||
+ " AND el.ctr_ismjob = 1"
|
||||
// Je moet read CTRUSE rechten hebben op de CTR disciplines om de taken te kunnen zien.
|
||||
+ " AND el.ctr_discipline_key IN (SELECT w.ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE w.fac_functie_key = f.fac_functie_key "
|
||||
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
|
||||
+ " AND w.fac_gebruiker_prs_level_read < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_read < 9"
|
||||
+ " AND w.prs_perslid_key = " + user_key
|
||||
+ " AND el.ctr_discipline_key = w.ins_discipline_key)"
|
||||
// Vroeg filteren is *heel* goed voor performance
|
||||
+ (dist_key > 0
|
||||
? " AND el.ins_alg_locatie_key IN (SELECT alg_locatie_key FROM alg_locatie WHERE alg_district_key = " + dist_key + ")"
|
||||
@@ -299,21 +323,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
+ (srtdeel_key > 0
|
||||
? " AND el.ins_srtdeel_key = " + srtdeel_key
|
||||
: "")
|
||||
+ " AND el.ins_srtcontrole_periode > 0"
|
||||
+ " AND el.ctr_ismjob = 1"
|
||||
+ (groep
|
||||
? " AND UPPER(ins_srtcontrole_groep) LIKE " + safe.quoted_sql_wild("%" + groep + "%")
|
||||
: "")
|
||||
// Je moet read CTRUSE rechten hebben op de CTR disciplines om de taken te kunnen zien.
|
||||
+ " AND el.ctr_discipline_key IN (SELECT w.ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE w.fac_functie_key = f.fac_functie_key "
|
||||
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
|
||||
+ " AND w.fac_gebruiker_prs_level_read < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_read < 9"
|
||||
+ " AND w.prs_perslid_key = " + user_key
|
||||
+ " AND el.ctr_discipline_key = w.ins_discipline_key)"
|
||||
+ (srtcontrole.length > 0
|
||||
? " AND el.ins_srtcontrole_key IN (" + srtcontrole.join(",") + ")"
|
||||
: "")
|
||||
|
||||
Reference in New Issue
Block a user