FSN#36795: Planning, start en afronden niet altijd wenselijk bij terugkerende taken.
svn path=/Website/trunk/; revision=31489
This commit is contained in:
@@ -553,7 +553,7 @@ ins = {checkAutLevel:
|
||||
+ " , insp.vervaldatum"
|
||||
+ " , insp.isc_mode"
|
||||
+ " , insp.ctr_discipline_key"
|
||||
+ " , onlyfinish"
|
||||
+ " , 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.
|
||||
// Als er nog nooit is geinspecteerd en er is er nog geen ingepland dan is het ook ok.
|
||||
@@ -591,7 +591,7 @@ ins = {checkAutLevel:
|
||||
+ " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
|
||||
+ " , isc.ins_srtcontrole_mode isc_mode"
|
||||
+ " , isc.ctr_discipline_key"
|
||||
+ " , isc.ins_srtcontrole_onlyfinish onlyfinish"
|
||||
+ " , isc.ins_srtcontrole_options options"
|
||||
+ " , COALESCE (xcp.ins_srtcontroledl_xcp_eenheid, isc.ins_srtcontrole_eenheid) eenheid"
|
||||
+ " , idsc.ins_deelsrtcontrole_plandatum plandatum"
|
||||
+ " , CASE"
|
||||
@@ -634,7 +634,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 isc_options = oRs("options").Value;
|
||||
var vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
var invoerAfterNext = oRs("invoerAfterNext").Value == 1;
|
||||
oRs.Close();
|
||||
@@ -655,6 +655,7 @@ ins = {checkAutLevel:
|
||||
iresult.canShowXcp = iresult.hasCTRRead && iresult.canRead("WEB_INSMAN"); // Exceptions (xcp) waarden inspecties/taken bekijken (waarden in ins_srtcontroledl_xcp tabel).
|
||||
iresult.canChangeXcp = iresult.hasCTRWrite && iresult.canWrite("WEB_INSMAN"); // Exceptions (xcp) waarden inspecties/taken wijzigen (waarden in ins_srtcontroledl_xcp tabel).
|
||||
|
||||
// Een nieuwe inspectie mag pas weer aangemaakt worden als de laatste inspectie Afgerond(6) is.
|
||||
// Als de inspectie vervallen is moet je alleen nog de lopende inspecties (ingepland of later) kunnen gereedmelden en/of afronden,
|
||||
// zodat deze inspectie afgerond kan worden. Nieuwe inspectie kunnen nooit meer beginnen.
|
||||
// Eerste inspectie of verwerkte inspectie kan niet gewijzigd worden.
|
||||
@@ -667,22 +668,29 @@ ins = {checkAutLevel:
|
||||
iresult.canInspPlan = iresult.readuse && !vervallen &&
|
||||
(ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) &&
|
||||
actief && iresult.hasCTRWrite &&
|
||||
!onlyfinish;
|
||||
((isc_options & 1) == 1);
|
||||
// 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 &&
|
||||
!onlyfinish;
|
||||
((isc_options & 2) == 2);
|
||||
// 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 &&
|
||||
!onlyfinish;
|
||||
// Alleen als de inspectie gereedgemeld is kan afgerond worden.
|
||||
((isc_options & 4) == 4);
|
||||
// Afronden kan vanuit elke status. Alleen vanuit status Gereed gemeld/Afgemeld(5) kan het zonder gegevens in te vullen.
|
||||
iresult.canInspFinish = iresult.readuse && invoerAfterNext &&
|
||||
(ins_deelsrtcontrole_status == 5 || ((ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) && onlyfinish)) &&
|
||||
actief && iresult.hasCTRWrite;
|
||||
//(ins_deelsrtcontrole_status == 5 ||
|
||||
// (ins_deelsrtcontrole_status < 5 && ((isc_options & 4) != 4))) &&
|
||||
actief && iresult.hasCTRWrite &&
|
||||
((isc_options & 8) == 8);
|
||||
// Alleen als de inspectie gereedgemeld is kan SNEL afgerond worden zonder gegevens in te vullen.
|
||||
iresult.canInspFastFinish = iresult.readuse && invoerAfterNext &&
|
||||
(ins_deelsrtcontrole_status == 5) &&
|
||||
actief && iresult.hasCTRWrite &&
|
||||
((isc_options & 8) == 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -994,7 +1002,7 @@ ins = {checkAutLevel:
|
||||
+ " , inspectie_eind"
|
||||
+ " , ins_srtcontrole_omschrijving"
|
||||
+ " , ins_srtcontrole_key"
|
||||
+ " , onlyfinish"
|
||||
+ " , options"
|
||||
+ " , ins_deelsrtcontrole_status"
|
||||
+ " , ins_deelsrtcontrole_plandatum"
|
||||
+ " , ctr_controle_type"
|
||||
@@ -1015,10 +1023,12 @@ ins = {checkAutLevel:
|
||||
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_deelsrtcontrole_status IN (5, 6)"
|
||||
+ " AND idsc.ins_deel_key = di.ins_deel_key) inspectie_date"
|
||||
+ " , di.ins_srtcontroledl_xcp_startdat"
|
||||
+ " , NULL nonext"
|
||||
+ " , di.ins_srtcontrole_eenheid inspectie_eenheid"
|
||||
+ " , di.ins_srtcontrole_eind inspectie_eind"
|
||||
+ " , " + lcl.xsqla('di.ins_srtcontrole_omschrijving', 'di.ins_srtcontrole_key')
|
||||
+ " , di.ins_srtcontrole_options options"
|
||||
+ " , di.ins_srtcontrole_key"
|
||||
+ " , -1 ins_deelsrtcontrole_status"
|
||||
+ " , NULL ins_deelsrtcontrole_key"
|
||||
@@ -1083,13 +1093,13 @@ ins = {checkAutLevel:
|
||||
+ " , di.ins_srtcontrole_periode"
|
||||
+ " , di.ins_srtcontrole_bits"
|
||||
+ " , 1) inspectie_next"
|
||||
+ " , ins_srtcontroledl_xcp_startdat"
|
||||
+ " , di.ins_srtcontroledl_xcp_startdat"
|
||||
+ " , CASE WHEN " + lastinspect + " IS NULL THEN 1 ELSE 0 END nonext"
|
||||
+ " , di.ins_srtcontrole_eenheid inspectie_eenheid"
|
||||
+ " , 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"
|
||||
+ " , di.ins_srtcontrole_options options"
|
||||
+ " , -1 ins_deelsrtcontrole_status"
|
||||
+ " , NULL ins_deelsrtcontrole_key"
|
||||
+ " , NULL ins_deelsrtcontrole_plandatum"
|
||||
@@ -1154,7 +1164,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"
|
||||
+ " , di.ins_srtcontrole_options options"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , idsc.ins_deelsrtcontrole_key"
|
||||
+ " , CASE"
|
||||
@@ -1204,7 +1214,7 @@ ins = {checkAutLevel:
|
||||
+ " , ispn.ins_srtcontroledl_xcp_startdat"
|
||||
+ " , ispn.ins_srtcontrole_omschrijving"
|
||||
+ " , ispn.ins_srtcontrole_key"
|
||||
+ " , ispn.onlyfinish"
|
||||
+ " , ispn.options"
|
||||
+ " , ispn.ins_deelsrtcontrole_status"
|
||||
+ " , ispn.ins_deelsrtcontrole_plandatum"
|
||||
+ " , ispn.inspectie_eind"
|
||||
|
||||
@@ -31,7 +31,7 @@ FCLTHeader.Requires({ plugins: ["jQuery", "suggest", "kenmerk"],
|
||||
var ins_key_arr = getQParamIntArray("ins_keys");
|
||||
var srtcont_key_arr = getQParamIntArray("srtcont_keys");
|
||||
var deelsrtcont_arr = getQParamIntArray("deelsrtcont_keys", -1); // Bestaande inspectie indien meegegeven.
|
||||
var multi = ins_key_arr.length > 1;
|
||||
var multi = ins_key_arr.length > 1; // Er zijn meerdere object keys meegegeven.
|
||||
|
||||
var insPlan = getQParamInt("plan", 0) == 1; // Inplannen inspectie.
|
||||
var insClose = getQParamInt("close", 0) == 1; // Afmelden of afronden inspectie.
|
||||
@@ -48,7 +48,11 @@ 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;
|
||||
var canClose = false;
|
||||
var canFinish = false;
|
||||
// Alle objecten moeten Gereed gemeld(5) of Afgerond(6) kunnen worden voordat de button zichtbaar mag worden.
|
||||
var canClose = true;
|
||||
var canFinish = true;
|
||||
for (var i = 0; i < ins_key_arr.length; i++)
|
||||
{
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
|
||||
@@ -61,7 +65,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"
|
||||
+ " , isc.ins_srtcontrole_options options"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
@@ -84,7 +88,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;
|
||||
var isc_options = oRs("options").Value;
|
||||
oRs.Close();
|
||||
|
||||
// Het is de eerste inspectie of de laatste inspectie moet verwerkt(6) zijn, anders kan de inspectie niet ingepland worden.
|
||||
@@ -93,9 +97,9 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
continue;
|
||||
}
|
||||
|
||||
// Afgemelde inspecties kunnen niet nog eens afgemeld worden. Deze eruit filteren. Ze kunnen wel gewijzigd worden (stuk voor stuk).
|
||||
if (insClose && !(this_ins.canInspClose || (onlyfinish && this_ins.canInspFinish)))
|
||||
{ // De inspectie kan niet afgemeld worden. Overslaan.
|
||||
// Kan de inspectie gereed gemeld/afgemeld of afgerond woden?
|
||||
if (insClose && !this_ins.canInspClose && !this_ins.canInspFinish)
|
||||
{ // De inspectie kan niet afgemeld/afgerond worden. Overslaan.
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -113,12 +117,19 @@ 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.
|
||||
// Als 1 van de srtcontroles niet gereed te melden is, dan kan er niet gereed gemeld worden en moet de button niet getoond worden.
|
||||
canClose = canClose && this_ins.canInspClose;
|
||||
// Als 1 van de srtcontroles niet af te ronden is, dan kan er niet afgerond worden en moet de button niet getoond worden.
|
||||
canFinish = canFinish && this_ins.canInspFinish;
|
||||
tobehandled++;
|
||||
}
|
||||
if (!canClose && !canFinish)
|
||||
// Als de buttons niet zichtbaar zijn heb ik niets te doen.
|
||||
tobehandled = 0;
|
||||
lcl.set_dialect(ctrdisc_key, "INS_TAB_DISCIPLINE_KEY");
|
||||
user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var desc = "";
|
||||
if (ins_key_arr.length == 1)
|
||||
{
|
||||
sql = "SELECT d.ins_deel_omschrijving" // identificatie
|
||||
@@ -448,9 +459,10 @@ 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)
|
||||
{
|
||||
if (!mayNotClose)
|
||||
if (canClose)
|
||||
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 (canFinish)
|
||||
buttons.push({title: L("lcl_ins_finish"), icon: "close.png", action: "ins_submit(1)"});
|
||||
}
|
||||
if (canMelding)
|
||||
buttons.push({title: L("lcl_do_amelding_hint"), action: "ins_melding()", icon: "doemelding.png" });
|
||||
@@ -475,7 +487,10 @@ if (ins_key_arr.length == 1)
|
||||
<input type="hidden" name="deelsrtcont_key" id="deelsrtcont_key" value="<%=ingeslotendsc[0]%>">
|
||||
<% } %>
|
||||
<input type="hidden" name="finish" id="finish" value="0">
|
||||
<% var blocktext = (insPlan? L("lcl_ins_schedule") : (insClose? L("lcl_ins_stop") : L("lcl_details") ));
|
||||
<% var blocktext = (insPlan? L("lcl_ins_schedule") : (insClose? L("lcl_ins_stop") : L("lcl_details") ))
|
||||
+ (multi
|
||||
? " (" + L("lcl_count") + ":" + tobehandled + ")"
|
||||
: "");
|
||||
BLOCK_START("insMultiEdit", blocktext);
|
||||
if (ins_key_arr.length == 1)
|
||||
{
|
||||
@@ -585,7 +600,7 @@ if (ins_key_arr.length == 1)
|
||||
var dag_na_lastinspectdatum;
|
||||
var aantal_dmj_eenheid;
|
||||
var minDate = aanmaakdatum; // Als er nog geen inspecties zijn geweest dan is de aanmaakdatum de minimale datum.
|
||||
if (!oRs.eof && oRs("lastinspectdatum").Value)
|
||||
if (!oRs.eof && oRs("lastinspectdatum").Value != null)
|
||||
{
|
||||
lastinspectdatum = new Date(oRs("lastinspectdatum").Value); // Kan uiterlijk vandaag zijn.
|
||||
dag_na_lastinspectdatum = new Date(oRs("dag_na_lastinspectdatum").Value); // Kan uiterlijk morgen zijn.
|
||||
|
||||
@@ -58,7 +58,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
oRs.Close();
|
||||
|
||||
// Deze actie rond alleen afgemelde inspecties af.
|
||||
if (this_ins.canInspFinish)
|
||||
if (this_ins.canInspFastFinish)
|
||||
{ // Alle Arrays zijn even groot.
|
||||
ingeslotendsc.push(dlsrtcont_key_arr[i]);
|
||||
tobefinished++;
|
||||
|
||||
@@ -108,21 +108,31 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
|
||||
function insFinish(row)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_ins_finishing"), function() {
|
||||
var inskey = row.getAttribute("ROWKEY");
|
||||
var rowdata = eval("(" + row.getAttribute("ROWDATA") + ")");
|
||||
if (rowdata) {
|
||||
deellsrtcontkey = rowdata.insDeelSrtContrKey;
|
||||
FcltMgr.confirm(L("lcl_ins_finishing"),
|
||||
function()
|
||||
{
|
||||
var inskey = row.getAttribute("ROWKEY");
|
||||
var rowdata = eval("(" + row.getAttribute("ROWDATA") + ")");
|
||||
if (rowdata)
|
||||
{
|
||||
deellsrtcontkey = rowdata.insDeelSrtContrKey;
|
||||
isc_options = rowdata.insSrtControleOpt;
|
||||
isc_status = rowdata.ins_status;
|
||||
if (isc_status != 4) // Als ((isc_options & 4) != 4) geldt dan geldt zeker (isc_status != 4).
|
||||
{ // Er is nog niet Gereed gemeld(5) of er kan niet Gereed gemeld(5) worden.
|
||||
// Dan moet ik de gegevens invullen via insClose.
|
||||
insClose(row);
|
||||
}
|
||||
else
|
||||
{
|
||||
var data = { ins_keys: inskey,
|
||||
dlsrtcont_key_arr: deellsrtcontkey};
|
||||
|
||||
var data = {
|
||||
ins_keys: inskey,
|
||||
dlsrtcont_key_arr: deellsrtcontkey
|
||||
};
|
||||
|
||||
protectRequest.dataToken(data);
|
||||
$.post("ins_inspect_finish.asp", data, FcltCallbackRefresh, "json");
|
||||
}
|
||||
});
|
||||
protectRequest.dataToken(data);
|
||||
$.post("ins_inspect_finish.asp", data, FcltCallbackRefresh, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -209,7 +219,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"
|
||||
+ " , di.ins_srtcontrole_options options"
|
||||
+ " , NULL ins_controlemode_success"
|
||||
+ " FROM ins_v_defined_inspect_xcp di"
|
||||
+ " WHERE (di.ins_srtcontrole_eind >= TRUNC(SYSDATE, 'DD')"
|
||||
@@ -294,7 +304,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"
|
||||
+ " , di.ins_srtcontrole_options options"
|
||||
+ " , cm.ins_controlemode_success ins_controlemode_success"
|
||||
+ " FROM ins_v_defined_inspect_xcp di"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
@@ -323,12 +333,14 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
var insKey = ins_key;
|
||||
var insSrtControleKey = oRs("ins_srtcontrole_key").Value;
|
||||
var insSrtControleType = oRs("ctr_controle_type").Value;
|
||||
var insSrtControleOpt = oRs("options").Value;
|
||||
|
||||
// Als de status Verwerkt(6) is dan kan/moet er weer een nieuw inspectie gestart worden. Dan geen ins_deelsrtcontrole_key meegegeven (-2).
|
||||
var istatus = oRs("ins_deelsrtcontrole_status").Value;
|
||||
var insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value != null? oRs("ins_deelsrtcontrole_key").Value : -2;
|
||||
|
||||
var data = { insKey: ins_key, insSrtControleKey: insSrtControleKey, insSrtControleType: insSrtControleType, insDeelSrtContrKey: insDeelSrtContrKey, ins_status: istatus};
|
||||
var data = { insKey: ins_key, insSrtControleKey: insSrtControleKey, insSrtControleType: insSrtControleType,
|
||||
insSrtControleOpt: insSrtControleOpt, insDeelSrtContrKey: insDeelSrtContrKey, ins_status: istatus};
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
@@ -352,7 +364,6 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
{
|
||||
var insSrtControleKey = oRs("ins_srtcontrole_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
|
||||
@@ -365,11 +376,10 @@ 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 = !insOnlyFinish && lthis_ins.canInspFinish;
|
||||
var eFinishOnly = insOnlyFinish && lthis_ins.canInspFinish;
|
||||
var eFinish = !lthis_ins.canInspClose && lthis_ins.canInspFinish; // Als er nog niet gereed gemeld/afgemeld is dan wordt die butten wel getoond.
|
||||
}
|
||||
|
||||
var data = {eEdit: eEdit, eShow: eShow, ePlan: ePlan, eStart: eStart, eStartD: eStartD, eClose: eClose, eFinish: eFinish, eFinishOnly: eFinishOnly};
|
||||
var data = {eEdit: eEdit, eShow: eShow, ePlan: ePlan, eStart: eStart, eStartD: eStartD, eClose: eClose, eFinish: eFinish};
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -556,7 +566,6 @@ 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,7 +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"
|
||||
+ " , di.ins_srtcontrole_options options"
|
||||
+ " FROM ins_v_defined_inspect di"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
@@ -108,7 +108,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 isc_options = oRs("options").Value;
|
||||
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
|
||||
{srtcont_key: srtcont_key_arr[i],
|
||||
@@ -154,7 +154,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(this_ins.canInspClose || (onlyfinish && this_ins.canInspFinish)) || ins_deelsrtcontrole_status == 5)
|
||||
if (!this_ins.canInspClose && !this_ins.canInspFinish)
|
||||
{ // Ik heb geen Close (gereedmelden/afronden) rechten of laatste inspectie is niet verwerkt (dan moet ins_inspect_finish.asp aangeroepen worden). Overslaan.
|
||||
continue;
|
||||
}
|
||||
@@ -207,7 +207,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
lastinspectdatum = new Date(oRs("lastinspectdatum").Value); // Kan uiterlijk vandaag zijn.
|
||||
dag_na_lastinspectdatum = new Date(oRs("dag_na_lastinspectdatum").Value); // Kan uiterlijk morgen zijn.
|
||||
dmj_eenheid = oRs("dmj_eenheid").Value;
|
||||
minDate = dmj_eenheid? dag_na_lastinspectdatum : lastinspectdatum;
|
||||
minDate = dmj_eenheid == 1? dag_na_lastinspectdatum : lastinspectdatum;
|
||||
}
|
||||
else
|
||||
minDate = aanmaakdatum;
|
||||
@@ -241,7 +241,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
firstinspectdatum = new Date(oRs("firstinspectdatum").Value); // Kan uiterlijk vandaag zijn.
|
||||
dag_voor_firstinspectdatum = new Date(oRs("dag_voor_firstinspectdatum").Value); // Kan uiterlijk morgen zijn.
|
||||
dmj_eenheid = oRs("dmj_eenheid").Value;
|
||||
maxDate = dmj_eenheid? dag_voor_firstinspectdatum : firstinspectdatum;
|
||||
maxDate = dmj_eenheid == 1? dag_voor_firstinspectdatum : firstinspectdatum;
|
||||
}
|
||||
//else //maxDate = new Date();
|
||||
oRs.Close();
|
||||
|
||||
@@ -422,8 +422,9 @@ function ins_list (pautfunction, params)
|
||||
var istatus = inspect? oRs("ins_deelsrtcontrole_status").Value : -1;
|
||||
var insDeelSrtContrKey = inspect && oRs("ins_deelsrtcontrole_key").Value != null && istatus != 6? oRs("ins_deelsrtcontrole_key").Value : -2;
|
||||
|
||||
var data = {insKey: insKey, insTypeKey: insTypeKey, insAvailable: insAvailable, insSrtControleKey: insSrtControleKey,
|
||||
insDeelSrtContrKey: insDeelSrtContrKey};
|
||||
var data = {insKey: insKey, insTypeKey: insTypeKey, insAvailable: insAvailable,
|
||||
insSrtControleKey: insSrtControleKey, insDeelSrtContrKey: insDeelSrtContrKey,
|
||||
ins_status: istatus};
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
@@ -446,30 +447,26 @@ 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 isc_options = oRs("options").Value;
|
||||
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
|
||||
});
|
||||
var istatus = oRs("ins_deelsrtcontrole_status").Value;
|
||||
|
||||
// Een nieuwe inspectie mag pas weer aangemaakt worden als de laatste inspectie Afgerond(6) is.
|
||||
eShowInsp = this_ins.canInspShow && istatus < 6; // Als de inspectie is afgerond dan kun moet je eerst een nieuwe inspectie starten. Alleen lopende inspecties kun je inkijken.
|
||||
ePlan = this_ins.canInspPlan;
|
||||
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 = !onlyfinish && this_ins.canInspFinish;
|
||||
eFinishOnly = onlyfinish && this_ins.canInspFinish;
|
||||
eFinish = !this_ins.canInspClose && this_ins.canInspFinish; // Als er nog niet gereed gemeld/afgemeld is dan wordt die butten wel getoond.
|
||||
}
|
||||
|
||||
var data = {eLendOut: eLendOut, eReceive: eReceive, eAdapt: eAdapt, eDelete: eDelete, eEdit: eEdit,
|
||||
eDetails: eDetails, eShowInsp: eShowInsp, ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish, eFinishOnly: eFinishOnly};
|
||||
eDetails: eDetails, eShowInsp: eShowInsp, ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish};
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -872,7 +869,6 @@ 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
|
||||
{
|
||||
|
||||
@@ -267,21 +267,35 @@ function insClose(rowArray)
|
||||
|
||||
function insFinish(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(rowArray.length == 1 ? L("lcl_ins_finishing") : L("lcl_ins_finishing_m"), { autoconfirm: isMulti }, function() {
|
||||
var insKeyString = getKeyString(rowArray);
|
||||
var deelsrtcontrkeyArray = new Array();
|
||||
for (var i = 0; i < rowArray.length; i++) {
|
||||
rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
||||
deelsrtcontrkeyArray[i] = rowdata.insDeelSrtContrKey;
|
||||
}
|
||||
FcltMgr.confirm(rowArray.length == 1 ? L("lcl_ins_finishing") : L("lcl_ins_finishing_m"),
|
||||
{ autoconfirm: isMulti },
|
||||
function()
|
||||
{
|
||||
var insKeyString = getKeyString(rowArray);
|
||||
var deelsrtcontrkeyArray = new Array();
|
||||
// Als er 1 inspectie is die niet Gereed gemeld(5) kan worden dan heb ik de Gereed meld gegevens nodig.
|
||||
// Dan moet ik de gegevens invullen via insClose.
|
||||
var mustClose = false;
|
||||
for (var i = 0; i < rowArray.length; i++)
|
||||
{
|
||||
rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
||||
deelsrtcontrkeyArray[i] = rowdata.insDeelSrtContrKey;
|
||||
isc_status = rowdata.ins_status;
|
||||
mustClose = mustClose || (isc_status != 4);
|
||||
}
|
||||
|
||||
var data = {
|
||||
ins_keys: insKeyString,
|
||||
dlsrtcont_key_arr: deelsrtcontrkeyArray.join(",")
|
||||
};
|
||||
protectRequest.dataToken(data);
|
||||
$.post("../ins/ins_inspect_finish.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
if (mustClose)
|
||||
{ // Via insClose scherm de gegevens invullen.
|
||||
insClose(rowArray, isMulti);
|
||||
}
|
||||
else
|
||||
{
|
||||
var data = { ins_keys: insKeyString,
|
||||
dlsrtcont_key_arr: deelsrtcontrkeyArray.join(",") };
|
||||
protectRequest.dataToken(data);
|
||||
$.post("../ins/ins_inspect_finish.asp", data, FcltCallbackRefresh, "json");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function insMultiMove(rowArray)
|
||||
|
||||
@@ -225,7 +225,7 @@ user.auth_required_or_abort(this_ins.canInspShow);
|
||||
var canPlan = this_ins.canInspPlan && deelsrtcontrole_status != 6;
|
||||
var canStart = this_ins.canInspStart && deelsrtcontrole_status != 6;
|
||||
var canClose = this_ins.canInspClose && deelsrtcontrole_status != 6;
|
||||
var canFinish = this_ins.canInspFinish;
|
||||
var canFinish = !canClose && this_ins.canInspFinish && deelsrtcontrole_status != 6; // Bestaande inspectie die al afgerond is kan niet nog een keer worden afgerond.
|
||||
|
||||
var buttons = [];
|
||||
if (canStart)
|
||||
|
||||
Reference in New Issue
Block a user