FSN#36795: Planning, start en afronden niet altijd wenselijk bij terugkerende taken.
svn path=/Website/trunk/; revision=31217
This commit is contained in:
@@ -204,6 +204,11 @@ function model_ins_srtcontrole()
|
||||
+ ")"
|
||||
}
|
||||
},
|
||||
"onlyfinish": {
|
||||
"dbs": "ins_srtcontrole_onlyfinish",
|
||||
"label": L("ins_srtcontrole_onlyfinish"),
|
||||
"typ": "check0"
|
||||
},
|
||||
"remark": {
|
||||
"dbs": "ins_srtcontrole_opmerking",
|
||||
"label": L("ins_srtcontrole_opmerking"),
|
||||
|
||||
@@ -551,7 +551,8 @@ ins = {checkAutLevel:
|
||||
+ " , insp.ins_deelsrtcontrole_status"
|
||||
+ " , insp.vervaldatum"
|
||||
+ " , insp.isc_mode"
|
||||
+" , insp.ctr_discipline_key"
|
||||
+ " , insp.ctr_discipline_key"
|
||||
+ " , onlyfinish"
|
||||
// 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.
|
||||
// Als er nog nooit is geinspecteerd en er is er nog geen ingepland dan is het ook ok.
|
||||
@@ -589,6 +590,7 @@ ins = {checkAutLevel:
|
||||
+ " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
|
||||
+ " , isc.ins_srtcontrole_mode isc_mode"
|
||||
+ " , isc.ctr_discipline_key"
|
||||
+ " , isc.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " , COALESCE (xcp.ins_srtcontroledl_xcp_eenheid, isc.ins_srtcontrole_eenheid) eenheid"
|
||||
+ " , idsc.ins_deelsrtcontrole_plandatum plandatum"
|
||||
+ " , CASE"
|
||||
@@ -631,6 +633,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 onlyfinish = oRs("onlyfinish").Value == 1;
|
||||
var vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
var invoerAfterNext = oRs("invoerAfterNext").Value == 1;
|
||||
oRs.Close();
|
||||
@@ -660,17 +663,25 @@ ins = {checkAutLevel:
|
||||
!vervallen && actief && iresult.hasCTRWrite;
|
||||
iresult.canInspShow = iresult.readuse && !vervallen && (ins_deelsrtcontrole_status >= 0) && iresult.hasCTRRead;
|
||||
// Bij eerste inspectie of verwerkte inspectie kan er gepland worden.
|
||||
iresult.canInspPlan = iresult.readuse && !vervallen && (ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) && actief && iresult.hasCTRWrite;
|
||||
iresult.canInspPlan = iresult.readuse && !vervallen &&
|
||||
(ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) &&
|
||||
actief && iresult.hasCTRWrite &&
|
||||
!onlyfinish;
|
||||
// Bij eerste inspectie, geplande inspectie of verwerkte inspectie kan er gestart worden.
|
||||
iresult.canInspStart = iresult.readuse && invoerAfterNext && !vervallen &&
|
||||
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) && actief && iresult.hasCTRWrite;
|
||||
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) &&
|
||||
actief && iresult.hasCTRWrite &&
|
||||
!onlyfinish;
|
||||
// Bij eerste inspectie, geplande inspectie, gestarte inspectie of verwerkte inspectie kan er gereedgemeld/afgerond worden.
|
||||
iresult.canInspClose = iresult.readuse && invoerAfterNext &&
|
||||
((!vervallen && (ins_deelsrtcontrole_status < 5 || ins_deelsrtcontrole_status == 6)) ||
|
||||
(ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2)) &&
|
||||
actief && iresult.hasCTRWrite;
|
||||
actief && iresult.hasCTRWrite &&
|
||||
!onlyfinish;
|
||||
// Alleen als de inspectie gereedgemeld is kan afgerond worden.
|
||||
iresult.canInspFinish = iresult.readuse && invoerAfterNext && ins_deelsrtcontrole_status == 5 && actief && iresult.hasCTRWrite;
|
||||
iresult.canInspFinish = iresult.readuse && invoerAfterNext &&
|
||||
(ins_deelsrtcontrole_status == 5 || ((ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) && onlyfinish)) &&
|
||||
actief && iresult.hasCTRWrite;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -981,6 +992,7 @@ ins = {checkAutLevel:
|
||||
+ " , inspectie_eind"
|
||||
+ " , ins_srtcontrole_omschrijving"
|
||||
+ " , ins_srtcontrole_key"
|
||||
+ " , onlyfinish"
|
||||
+ " , ins_deelsrtcontrole_status"
|
||||
+ " , ins_deelsrtcontrole_plandatum"
|
||||
+ " , ctr_controle_type"
|
||||
@@ -1074,6 +1086,7 @@ ins = {checkAutLevel:
|
||||
+ " , di.ins_srtcontrole_eind inspectie_eind"
|
||||
+ " , " + lcl.xsqla('di.ins_srtcontrole_omschrijving', 'di.ins_srtcontrole_key')
|
||||
+ " , di.ins_srtcontrole_key"
|
||||
+ " , di.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " , -1 ins_deelsrtcontrole_status"
|
||||
+ " , NULL ins_deelsrtcontrole_key"
|
||||
+ " , NULL ins_deelsrtcontrole_plandatum"
|
||||
@@ -1137,6 +1150,7 @@ ins = {checkAutLevel:
|
||||
+ " , di.ins_srtcontrole_eind inspectie_eind"
|
||||
+ " , " + lcl.xsqla('di.ins_srtcontrole_omschrijving', 'di.ins_srtcontrole_key')
|
||||
+ " , di.ins_srtcontrole_key"
|
||||
+ " , di.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , idsc.ins_deelsrtcontrole_key"
|
||||
+ " , CASE"
|
||||
@@ -1185,6 +1199,7 @@ ins = {checkAutLevel:
|
||||
sqlInspectie_select = (inspDone? "inspectie_date" : "inspectie_next")
|
||||
+ " , ispn.ins_srtcontrole_omschrijving"
|
||||
+ " , ispn.ins_srtcontrole_key"
|
||||
+ " , ispn.onlyfinish"
|
||||
+ " , ispn.ins_deelsrtcontrole_status"
|
||||
+ " , ispn.ins_deelsrtcontrole_plandatum"
|
||||
+ " , ispn.inspectie_eind"
|
||||
|
||||
@@ -48,6 +48,7 @@ var canMsuEdit = false; // Alleen voor het wijzigen van inspectie (insEdit). Er
|
||||
// Bepaal de objecten/delen in de selectie die
|
||||
// ook echt ingepland kunnen of mogen worden.
|
||||
var ctrdisc_key = -1;
|
||||
var mayNotClose = false;
|
||||
for (var i = 0; i < ins_key_arr.length; i++)
|
||||
{
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
|
||||
@@ -60,6 +61,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
|
||||
+ " , isc.ctr_discipline_key"
|
||||
+ " , isc.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
@@ -82,6 +84,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
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 vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
var onlyfinish = oRs("onlyfinish").Value == 1;
|
||||
oRs.Close();
|
||||
|
||||
// Het is de eerste inspectie of de laatste inspectie moet verwerkt(6) zijn, anders kan de inspectie niet ingepland worden.
|
||||
@@ -91,7 +94,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
}
|
||||
|
||||
// Afgemelde inspecties kunnen niet nog eens afgemeld worden. Deze eruit filteren. Ze kunnen wel gewijzigd worden (stuk voor stuk).
|
||||
if (insClose && !this_ins.canInspClose)
|
||||
if (insClose && !(this_ins.canInspClose || (onlyfinish && this_ins.canInspFinish)))
|
||||
{ // De inspectie kan niet afgemeld worden. Overslaan.
|
||||
continue;
|
||||
}
|
||||
@@ -110,6 +113,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
ingesloten.push(ins_key_arr[i]);
|
||||
ingeslotensc.push(srtcont_key_arr[i]);
|
||||
ingeslotendsc.push(ins_deelsrtcontrole_key);
|
||||
mayNotClose = mayNotClose || onlyfinish; // Als 1 van de srtcontroles onlyfinish is, dan kan er niet gereed gemeld worden.
|
||||
tobehandled++;
|
||||
}
|
||||
lcl.set_dialect(ctrdisc_key, "INS_TAB_DISCIPLINE_KEY");
|
||||
@@ -436,7 +440,8 @@ if (ins_key_arr.length == 1)
|
||||
buttons.push({title: (insPlan? L("lcl_ins_schedule") : L("lcl_submit")), icon: "opslaan.png", action:"ins_submit(0)"});
|
||||
if (insClose)
|
||||
{
|
||||
buttons.push({title: L("lcl_ins_close"), icon: "inspfinish.png", action:"ins_submit(0)"});
|
||||
if (!mayNotClose)
|
||||
buttons.push({title: L("lcl_ins_close"), icon: "inspfinish.png", action:"ins_submit(0)"});
|
||||
buttons.push({title: L("lcl_ins_finish"), icon: "close.png", action: "ins_submit(1)"});
|
||||
}
|
||||
if (canMelding)
|
||||
|
||||
@@ -218,6 +218,7 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
+ " , di.ctr_controle_type"
|
||||
+ " , -1 ins_deelsrtcontrole_status"
|
||||
+ " , di.ins_srtcontrole_eind inspectie_eind"
|
||||
+ " , di.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " , NULL ins_controlemode_success"
|
||||
+ " FROM ins_v_defined_inspect_xcp di"
|
||||
+ " WHERE (di.ins_srtcontrole_eind >= TRUNC(SYSDATE, 'DD')"
|
||||
@@ -301,6 +302,7 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
+ " , di.ctr_controle_type"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , di.ins_srtcontrole_eind inspectie_eind"
|
||||
+ " , di.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " , cm.ins_controlemode_success ins_controlemode_success"
|
||||
+ " FROM ins_v_defined_inspect_xcp di"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
@@ -357,7 +359,8 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
if (istatus != 6)
|
||||
{
|
||||
var insSrtControleKey = oRs("ins_srtcontrole_key").Value;
|
||||
var insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value
|
||||
var insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value;
|
||||
var insOnlyFinish = oRs("onlyfinish").Value == 1;
|
||||
var lthis_ins = ins.func_enabled_deel(ins_key,
|
||||
{srtcont_key: insSrtControleKey,
|
||||
deelsrtcont_key: insDeelSrtContrKey
|
||||
@@ -370,10 +373,11 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
var eStart = lthis_ins.canInspStart; // Start een nieuwe inspectie m.b.v. een inline button actie.
|
||||
var eStartD = lthis_ins.canInspStart && (istatus < 0); // Start een nieuwe inspectie m.b.v. een default inline actie (op regel klikken).
|
||||
var eClose = lthis_ins.canInspClose;
|
||||
var eFinish = lthis_ins.canInspFinish;
|
||||
var eFinish = !insOnlyFinish && lthis_ins.canInspFinish;
|
||||
var eFinishOnly = insOnlyFinish && lthis_ins.canInspFinish;
|
||||
}
|
||||
|
||||
var data = {eEdit: eEdit, eShow: eShow, ePlan: ePlan, eStart: eStart, eStartD: eStartD, eClose: eClose, eFinish: eFinish};
|
||||
var data = {eEdit: eEdit, eShow: eShow, ePlan: ePlan, eStart: eStart, eStartD: eStartD, eClose: eClose, eFinish: eFinish, eFinishOnly: eFinishOnly};
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -552,6 +556,7 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
rst.addAction({ action: "insStart", caption: L("lcl_ins_start"), enabler: "eStart" });
|
||||
rst.addAction({ action: "insClose", caption: L("lcl_ins_stop"), enabler: "eClose" });
|
||||
rst.addAction({ action: "insFinish", caption: L("lcl_ins_finish"), enabler: "eFinish" });
|
||||
rst.addAction({ action: "insClose", caption: L("lcl_ins_finish"), enabler: "eFinishOnly" }); // Afronden, maar wel gegevens invullen (uitvoerdatum, taakafhanelding, opmerking en flexkenmerken).
|
||||
|
||||
var cnt = rst.processResultset();
|
||||
%>
|
||||
|
||||
@@ -82,6 +82,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , di.ins_deel_aanmaak"
|
||||
+ " , di.ctr_discipline_key"
|
||||
+ " , di.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " FROM ins_v_defined_inspect di"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
@@ -108,6 +109,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
var eenheid = oRs("eenheid").Value;
|
||||
var ins_deelsrtcontrole_datum_max = oRs("ins_deelsrtcontrole_datum").Value;
|
||||
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
|
||||
var onlyfinish = oRs("onlyfinish").Value == 1;
|
||||
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
|
||||
{srtcont_key: srtcont_key_arr[i],
|
||||
@@ -153,7 +155,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!this_ins.canInspClose || ins_deelsrtcontrole_status == 5)
|
||||
if (!(this_ins.canInspClose || (onlyfinish && this_ins.canInspFinish)) || ins_deelsrtcontrole_status == 5)
|
||||
{ // Ik heb geen Close (gereedmelden/afronden) rechten of laatste inspectie is niet verwerkt (dan moet ins_inspect_finish.asp aangeroepen worden). Overslaan.
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -446,10 +446,12 @@ function ins_list (pautfunction, params)
|
||||
var eStart = false;
|
||||
var eClose = false;
|
||||
var eFinish = false;
|
||||
var eFinishOnly = false;
|
||||
if (inspect && !inspDone)
|
||||
{
|
||||
// Als object is vervallen dan kun je niet meer inspecteren en uitstellen.
|
||||
var vervallen = (oRs("inspectie_eind").Value != null && new Date(oRs("inspectie_eind").Value).getTime() < new Date().midnight());
|
||||
var onlyfinish = oRs("onlyfinish").Value == 1;
|
||||
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
||||
{srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||||
deelsrtcont_key: oRs("ins_deelsrtcontrole_key").Value
|
||||
@@ -462,11 +464,12 @@ function ins_list (pautfunction, params)
|
||||
eStart = this_ins.canInspStart;
|
||||
// Als de inspectie vervallen is moet je alleen nog de lopende inspecties kunnen gereed melden en afronden.
|
||||
eClose = this_ins.canInspClose;
|
||||
eFinish = this_ins.canInspFinish;
|
||||
eFinish = !onlyfinish && this_ins.canInspFinish;
|
||||
eFinishOnly = onlyfinish && this_ins.canInspFinish;
|
||||
}
|
||||
|
||||
var data = {eLendOut: eLendOut, eReceive: eReceive, eAdapt: eAdapt, eDelete: eDelete, eEdit: eEdit,
|
||||
eDetails: eDetails, eShowInsp: eShowInsp, ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish};
|
||||
eDetails: eDetails, eShowInsp: eShowInsp, ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish, eFinishOnly: eFinishOnly};
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -861,6 +864,7 @@ function ins_list (pautfunction, params)
|
||||
rst.addAction({ action: "insStart", caption: L("lcl_ins_start"), multi: !tiny, multiOnce: true, enabler: "eStart" });
|
||||
rst.addAction({ action: "insClose", caption: L("lcl_ins_stop"), multi: !tiny, multiOnce: true, enabler: "eClose" });
|
||||
rst.addAction({ action: "insFinish", caption: L("lcl_ins_finish"), multi: !tiny, multiOnce: true, enabler: "eFinish" });
|
||||
rst.addAction({ action: "insClose", caption: L("lcl_ins_finish"), multi: !tiny, multiOnce: true, enabler: "eFinishOnly" }); // Afronden, maar wel gegevens invullen (uitvoerdatum, taakafhanelding, opmerking en flexkenmerken).
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -255,6 +255,7 @@ else
|
||||
+ " , idsc.ins_controlemode_key"
|
||||
+ " , idsc.ins_deelsrtcontrole_opmerking"
|
||||
+ " , cdp.ctr_disc_params_controle_type"
|
||||
+ " , isc.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " , ctr_disc_params cdp"
|
||||
@@ -271,6 +272,7 @@ else
|
||||
var deelsrtcont_key = oRs("ins_deelsrtcontrole_key").Value != null? oRs("ins_deelsrtcontrole_key").Value : -1;
|
||||
var ins_deelsrtcontrole_status = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
|
||||
var sctype = oRs("ctr_disc_params_controle_type").Value;
|
||||
var onlyfinish = oRs("onlyfinish").Value;
|
||||
var status_str = "";
|
||||
switch (ins_deelsrtcontrole_status)
|
||||
{
|
||||
@@ -497,7 +499,7 @@ else
|
||||
var srtcontrole_info = oRs("ins_srtcontrole_info").Value;
|
||||
oRs.Close();
|
||||
|
||||
if (ins_deelsrtcontrole_status == 2 || ins_deelsrtcontrole_status == 5)
|
||||
if (ins_deelsrtcontrole_status == 2 || ins_deelsrtcontrole_status == 5 || onlyfinish)
|
||||
{
|
||||
ROFIELD("sel_srtcontrole_oms", L("lcl_ins_controle"), srtcontrole_oms, {});
|
||||
|
||||
@@ -536,7 +538,10 @@ else
|
||||
{
|
||||
case -1:
|
||||
case 6: // Geen inplannen van inspecties bij mobiel.
|
||||
case 0: BUTTON(L("lcl_ins_start"), {click: "ins_start()", dataicon: "clock"});
|
||||
case 0: if (onlyfinish)
|
||||
BUTTON(L("lcl_ins_finish"), {click: "ins_submit('F')", dataicon: "check"});
|
||||
else
|
||||
BUTTON(L("lcl_ins_start"), {click: "ins_start()", dataicon: "clock"});
|
||||
break;
|
||||
case 2: BUTTON(L("lcl_submit"), {click: "ins_submit('E')", dataicon: "refresh"});
|
||||
BUTTON(L("lcl_ins_close"), {click: "ins_submit('C')", dataicon: "comment"});
|
||||
|
||||
Reference in New Issue
Block a user