diff --git a/APPL/INS/ins.inc b/APPL/INS/ins.inc
index 06c6d09a4a..bb4e99ff96 100644
--- a/APPL/INS/ins.inc
+++ b/APPL/INS/ins.inc
@@ -232,7 +232,7 @@ ins = {checkAutLevel:
case 0: { statustekst = L("lcl_ins_controle_pending"); break; }
case 2: { statustekst = L("lcl_ins_controle_gestart"); break; }
case 5: { statustekst = L("lcl_ins_controle_afgemeld"); break; }
- case 6: { statustekst = L("lcl_ins_controle_verwerkt"); break; }
+ case 6: { statustekst = L("lcl_ins_controle_afgerond"); break; }
}
if (Session("logging")>0)
statustekst += " ("+String(p)+")";
diff --git a/APPL/INS/ins_edit_inspect.asp b/APPL/INS/ins_edit_inspect.asp
index 7370f1c53f..7ec32bc040 100644
--- a/APPL/INS/ins_edit_inspect.asp
+++ b/APPL/INS/ins_edit_inspect.asp
@@ -99,7 +99,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel en enkele niet
%>
-
+
<% FCLTHeader.Generate(); %>
@@ -107,6 +107,8 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
var eenheid = -1;
var scmode = 1; // 0 = Momentmode, 1 = Intervalmode.
var sctype = -1;
+ var vervaldatum = null;
+ var vervallen = false;
var info = "";
sql = "SELECT *"
+ " FROM (WITH defined_inspect AS (SELECT isc.ins_srtcontrole_key"
@@ -131,6 +133,7 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
+ " , di.ins_srtcontrole_info info"
+ " , di.ins_srtcontrole_mode scmode"
+ " , di.ins_srtcontrole_type sctype"
+ + " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
+ " FROM defined_inspect di"
+ " , ins_srtcontroledl_xcp xcp"
+ " , ins_deelsrtcontrole idsc"
@@ -141,12 +144,14 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
+ " AND idsc.ins_deel_key(+) IN (" + ingesloten.join(",") + ")"
+ " AND COALESCE (xcp.ins_srtcontroledl_xcp_periode, di.ins_srtcontrole_periode) > 0"
+ " AND di.ins_srtcontrole_key IN (" + ingeslotensc.join(",") + ")"
- + " AND (xcp.ins_srtcontroledl_xcp_eind(+) IS NULL OR xcp.ins_srtcontroledl_xcp_eind(+) > TRUNC(SYSDATE, 'DD'))" + ")";
+ + " )";
var oRs = Oracle.Execute(sql);
eenheid = oRs("eenheid").Value;
info = oRs("info").Value;
scmode = oRs("scmode").Value;
sctype = oRs("sctype").Value;
+ vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
+ vervallen = vervaldatum != null && vervaldatum < new Date();
oRs.MoveNext();
while (!oRs.eof)
{
@@ -318,13 +323,14 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
-
+
<% var buttons = [];
- if (insPlan || insEdit)
+ if (!vervallen && (insPlan || insEdit))
buttons.push({title: L("lcl_submit"), icon: "opslaan.png", action:"ins_submit(0)"});
- if (insClose)
+ // Als de inspectie vervallen is moet je alleen nog de lopende inspecties kunnen gereed melden en afronden.
+ if ((!vervallen || (vervallen && (ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2))) && insClose)
{
- buttons.push({title: L("lcl_ins_close"), icon: "finish.png", action:"ins_submit(0)"});
+ 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)"});
}
buttons.push({title: L("lcl_do_amelding_hint"), action: "ins_melding()", icon: "doemelding.png" });
@@ -345,7 +351,7 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
<% // Wrapper div voor dynamisch herladen
- generateFlexKenmerkBlock({deelsrtcontrole_key: (!multi && ingeslotendsc[0] > 0? ingeslotendsc[0] : null),
+ generateFlexKenmerkBlock({deelsrtcontrole_key: (!multi && ingeslotendsc[0] > 0? ingeslotendsc[0] : -1),
srtcontrole_key: ingeslotensc[0],
- reado: insShow,
+ reado: vervallen || insShow,
flexcolumns: 1
});
%>
<%
diff --git a/APPL/INS/ins_flexkenmerksrtcontrole.inc b/APPL/INS/ins_flexkenmerksrtcontrole.inc
index 3b78676e1d..1e82422680 100644
--- a/APPL/INS/ins_flexkenmerksrtcontrole.inc
+++ b/APPL/INS/ins_flexkenmerksrtcontrole.inc
@@ -11,7 +11,10 @@
advanced Geadvanceerd
Context: Functie wordt aangeroepen door
1) load_kenmerksrtcontrole.asp
- 2) ins_inspect.asp die initieel serverside deze html code invoegd.
+ 2) ins_edit_inspect.asp/ins_edit_deel.asp/ins_edit_srtdeel.asp
+ 3) ins_show_deel.asp/ins_show_srtdeel.asp
+ 4) ins_inspect_plan.asp/ins_inspect_end.asp
+ 2 t/m 4 voegen initieel deze html code toe.
Note:
*/
%>
diff --git a/APPL/INS/ins_inspect_end.asp b/APPL/INS/ins_inspect_end.asp
index 7d27d9a873..02230bb132 100644
--- a/APPL/INS/ins_inspect_end.asp
+++ b/APPL/INS/ins_inspect_end.asp
@@ -55,7 +55,7 @@ user.anything_todo_or_abort(tobeended > 0); // We klagen niet over enkele wel en
%>
-
+
<% FCLTHeader.Generate(); %>
@@ -247,8 +247,8 @@ user.anything_todo_or_abort(tobeended > 0); // We klagen niet over enkele wel en
-
-<% var buttons = [{title: L("lcl_ins_close"), icon: "finish.png", action:"ins_submit(0)"},
+
+<% var buttons = [{title: L("lcl_ins_close"), icon: "inspfinish.png", action:"ins_submit(0)"},
{title: L("lcl_ins_finish"), icon: "close.png", action: "ins_submit(1)"},
{title: L("lcl_cancel"), icon: "undo.png", action: "ins_cancel()"}];
var titletext;
@@ -528,7 +528,7 @@ user.anything_todo_or_abort(tobeended > 0); // We klagen niet over enkele wel en
BLOCK_START("insFlex2", L("lcl_ins_additional_details")); //block over gehele breedte
%><% // Wrapper div voor dynamisch herladen
- generateFlexKenmerkBlock({deelsrtcontrole_key: (!multi && ingeslotendsc[0] > 0? ingeslotendsc[0] : null),
+ generateFlexKenmerkBlock({deelsrtcontrole_key: (!multi && ingeslotendsc[0] > 0? ingeslotendsc[0] : -1),
srtcontrole_key: ingeslotensc[0],
reado: false,
flexcolumns: 1
diff --git a/APPL/INS/ins_inspect_list.asp b/APPL/INS/ins_inspect_list.asp
index 7a72ecefdf..9806d936fc 100644
--- a/APPL/INS/ins_inspect_list.asp
+++ b/APPL/INS/ins_inspect_list.asp
@@ -266,8 +266,6 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
+ " AND (COALESCE (xcp.ins_srtcontroledl_xcp_eind, di.ins_srtcontrole_eind) >= TRUNC(SYSDATE, 'DD')"
+ " OR COALESCE (xcp.ins_srtcontroledl_xcp_eind, di.ins_srtcontrole_eind) IS NULL)"
+ " AND di.ins_deel_key = " + ins_key
- + " AND (xcp.ins_srtcontroledl_xcp_eind(+) IS NULL OR xcp.ins_srtcontroledl_xcp_eind(+) > TRUNC(SYSDATE, 'DD'))"
- + " AND COALESCE (xcp.ins_srtcontroledl_xcp_periode, di.ins_srtcontrole_periode) > 0" // Als de periode 0 is dan de inspecties die gaan komen niet meer tonen.
// Als er een voorlopige inspectie is aangemaakt maar nog niet is afgemeld of afgerond, dan hoeft er geen nieuwe inspectie te worden getoond.
+ " AND NOT EXISTS (SELECT idsc.ins_deelsrtcontrole_key"
+ " FROM ins_deelsrtcontrole idsc"
@@ -325,7 +323,7 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
+ " AND idsc.ins_deel_key = di.ins_deel_key"
+ " AND idsc.prs_perslid_key = p.prs_perslid_key(+)"
+ " AND di.ins_deel_key = " + ins_key
- + " AND (xcp.ins_srtcontroledl_xcp_eind(+) IS NULL OR xcp.ins_srtcontroledl_xcp_eind(+) > TRUNC(SYSDATE, 'DD'))"
+ // Gedaande inspectie altijd tonen.
+ " )"
+ " ORDER BY seq, ins_deelsrtcontrole_datum DESC, inspectie_org DESC, inspectie_next, ins_srtcontrole_omschrijving";
@@ -352,12 +350,13 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
// Gedaande inspecties kunnen alleen geedit worden.
// Ik zie alleen objecten waar ik read rechten (3d) op heb. Dan mag ik ze ook verder inzien.
- var eEdit = istatus >= 0 && istatus < 6 && this_ins.canChange;
+ var eEdit = !vervallen && istatus >= 0 && istatus < 6 && this_ins.canChange;
var eShow = istatus >= 0 && this_ins.canRead && !eEdit;
var ePlan = !vervallen && this_ins.canInspect && (istatus < 0);
var eStart = !vervallen && this_ins.canInspect && (istatus <= 0);
- var eClose = this_ins.canInspect && (istatus < 5);
- var eFinish = (this_ins.canInspect && istatus == 5);
+ // Als de inspectie vervallen is moet je alleen nog de lopende inspecties kunnen gereed melden en afronden.
+ var eClose = (!vervallen || (vervallen && (istatus == 0 || istatus == 2))) && this_ins.canInspect && (istatus < 5);
+ var eFinish = this_ins.canInspect && istatus == 5;
var data = {eEdit: eEdit, eShow: eShow, ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish};
return data;
@@ -370,6 +369,8 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
if (istatus == 2)
lclass = "pending";
+ if (istatus == 5)
+ lclass = "unsolved";
if (oRs("seq").Value == 2) // klaar
return lclass;
@@ -510,8 +511,8 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
});
rst.addColumn(new Column({caption: L("lcl_ins_srtcontrole_type"), content: fnSrtControleType}));
- rst.addColumn(new Column({caption: L("lcl_ins_datum"), content: fnControleDatum}));
- rst.addColumn(new Column({caption: L("lcl_ins_controle_plan"), content: fnVolgende}));
+ rst.addColumn(new Column({caption: L("lcl_ins_controle_plandate"), content: fnVolgende}));
+ rst.addColumn(new Column({caption: L("lcl_ins_controle_datum"), content: fnControleDatum}));
rst.addColumn(new Column({caption: L("lcl_ins_controle_srt"), content: "ins_srtcontrole_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_ins_kosten") + " (" + L("lcl_valutasign") + ")", content: fnKosten, datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_ins_controle_opm"), content: "ins_deelsrtcontrole_opmerking"}));
diff --git a/APPL/INS/ins_inspect_plan.asp b/APPL/INS/ins_inspect_plan.asp
index 5c991c5199..c2b7e7e371 100644
--- a/APPL/INS/ins_inspect_plan.asp
+++ b/APPL/INS/ins_inspect_plan.asp
@@ -55,7 +55,7 @@ user.anything_todo_or_abort(tobeplanned > 0); // We klagen niet over enkele wel
%>
-
+
<% FCLTHeader.Generate(); %>
@@ -147,7 +147,7 @@ user.anything_todo_or_abort(tobeplanned > 0); // We klagen niet over enkele wel
-
+
<% var buttons = [{title: L("lcl_submit"), icon: "opslaan.png", action:"ins_submit()"},
{title: L("lcl_cancel"), icon: "undo.png", action: "ins_cancel()"}];
var titletext;
@@ -362,7 +362,7 @@ user.anything_todo_or_abort(tobeplanned > 0); // We klagen niet over enkele wel
BLOCK_START("insFlex2", L("lcl_ins_additional_details")); //block over gehele breedte
%>
<% // Wrapper div voor dynamisch herladen
- generateFlexKenmerkBlock({deelsrtcontrole_key: (!multi && ingeslotendsc[0] > 0? ingeslotendsc[0] : null),
+ generateFlexKenmerkBlock({deelsrtcontrole_key: (!multi && ingeslotendsc[0] > 0? ingeslotendsc[0] : -1),
srtcontrole_key: ingeslotensc[0],
reado: false,
flexcolumns: 1
diff --git a/APPL/INS/ins_inspect_save.asp b/APPL/INS/ins_inspect_save.asp
index 5cc7c32f29..4f5708606a 100644
--- a/APPL/INS/ins_inspect_save.asp
+++ b/APPL/INS/ins_inspect_save.asp
@@ -7,7 +7,11 @@
Description: Inspectiedata opslaan
Parameters: ins_keys of ins_key (geen verschil)
- Context: Vanuit ins_inspect.asp of vanuit pda/ins_inspect.asp
+ Context: Vanuit
+ 1) ins_edit_inspect.asp
+ 2) ins_inspect_plan.asp
+ 3) ins_inspect_end.asp
+ 4) pda/ins_inspect.asp
Note: Parameter mobile doet niets met navigatie, sluiten enzo, die submit gewoon.
Resultaat van een submit is een json object
@@ -112,7 +116,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
if (savemode == "C") // Afmelden/Afronden.
{ // Is er op de inspectiedatum of op het inspectieuur al geinspecteerd voor dit object en het objectsoort?
- // Voor niet multi is dit al gecontroleerd in ins_inspect.asp. Hier voor de veiligheid opnieuw controleren is niet verkeerd.
+ // Voor niet multi is dit al gecontroleerd in ins_edit_inspect.asp. Hier voor de veiligheid opnieuw controleren is niet verkeerd.
var deelsrtcontrole_midnighttime = deelsrtcontrole_datum.midnight().getTime();
var deelsrtcontrole_hourtime = deelsrtcontrole_datum; // deelsrtcontrole_datum moet niet worden aangepast door setMinutes(0,0,0).
var deelsrtcontrole_hourtime = new Date(new Date(parseInt(deelsrtcontrole_hourtime.getTime())).setMinutes(0,0,0)).getTime();
diff --git a/APPL/INS/ins_list.inc b/APPL/INS/ins_list.inc
index 3e38cc2e04..b40fc33918 100644
--- a/APPL/INS/ins_list.inc
+++ b/APPL/INS/ins_list.inc
@@ -580,7 +580,6 @@ function ins_list (pautfunction, params)
+ " 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)"
- + " AND (xcp.ins_srtcontroledl_xcp_eind(+) IS NULL OR xcp.ins_srtcontroledl_xcp_eind(+) > TRUNC(SYSDATE, 'DD'))"
+ " ORDER BY inspectie_date)"
: (params.inspSoon || (!params.inspSoon && !params.inspBusy && !params.inspClosed)
? " SELECT 1 rn" // inspecties die nog nooit zijn uitgevoerd/ingepland. Er is nog geen ins_deelsrtcontrole regel aanwezig en dus ook geen plandatum/respijtdatum.
@@ -609,7 +608,6 @@ function ins_list (pautfunction, params)
+ " AND (di.ins_deel_key, di.ins_srtcontrole_key) NOT IN"
+ " (SELECT ins_deel_key, ins_srtcontrole_key"
+ " FROM ins_deelsrtcontrole)"
- + " AND (xcp.ins_srtcontroledl_xcp_eind(+) IS NULL OR xcp.ins_srtcontroledl_xcp_eind(+) > TRUNC(SYSDATE, 'DD'))"
+ " UNION ALL" // Inspecties die al eens zijn uitgevoerd of inspecties die voor het eerst zijn ingepland(0) of gestart(2) maar nog geen uitgevoerde/afgemelde(6) inspectie hebben.
: "")
+ " SELECT RANK ()" // Volgnummertje toekennen
@@ -652,7 +650,6 @@ function ins_list (pautfunction, params)
+ " AND di.ins_deel_key = xcp.ins_deel_key(+)"
+ " AND idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc.ins_deel_key = di.ins_deel_key"
- + " AND (xcp.ins_srtcontroledl_xcp_eind(+) IS NULL OR xcp.ins_srtcontroledl_xcp_eind(+) > TRUNC(SYSDATE, 'DD'))"
+ " ORDER BY inspectie_next)")
+ " WHERE rn = 1"
// Voor afgehandelde inspecties ook inspecties met periode 0 tonen.
@@ -1447,10 +1444,11 @@ function ins_list (pautfunction, params)
var istatus = oRs("ins_deelsrtcontrole_status").Value;
// Een nieuwe inspectie mag pas weer aangemaakt worden als de laatste inspectie Afgerond(6) is.
- eEditInsp = this_ins.canInspect && istatus >= 0 && istatus < 6;
+ eEditInsp = !vervallen && this_ins.canInspect && istatus >= 0 && istatus < 6;
ePlan = !vervallen && this_ins.canInspect && (istatus < 0 || istatus == 6);
eStart = !vervallen && this_ins.canInspect && (istatus <= 0 || istatus == 6);
- eClose = this_ins.canInspect && (istatus < 5 || istatus == 6);
+ // Als de inspectie vervallen is moet je alleen nog de lopende inspecties kunnen gereed melden en afronden.
+ eClose = (!vervallen || (vervallen && (istatus == 0 || istatus == 2))) && this_ins.canInspect && (istatus < 5 || istatus == 6);
eFinish = this_ins.canInspect && istatus == 5;
}
diff --git a/APPL/INS/load_kenmerksrtcontrole.asp b/APPL/INS/load_kenmerksrtcontrole.asp
index 70d29ccc0b..be69158897 100644
--- a/APPL/INS/load_kenmerksrtcontrole.asp
+++ b/APPL/INS/load_kenmerksrtcontrole.asp
@@ -10,7 +10,7 @@
reado Readonly
flexcolumns aantal kolommen voor flexkenmerken
advanced Geadvanceerd
- Context: ins_inspect.asp: Clientside wordt de gegenereerde html code m.b.v. $('div#xxx').load binnen een div geplaatst.
+ Context: Clientside wordt de gegenereerde html code m.b.v. $('div#xxx').load binnen een div geplaatst.
De functie is gedefinieerd in ins_flexkenmerksrtcontrole.inc
Note: