FSN#33999: Realisatie TMJ module voor TobiasAX obv Inspectiemodule.

svn path=/Website/trunk/; revision=30490
This commit is contained in:
Maykel Geerdink
2016-09-01 09:43:23 +00:00
parent 8b5a33f3dd
commit 52207d8d17
4 changed files with 158 additions and 71 deletions

View File

@@ -145,17 +145,11 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
// Als de controlesoort niet meer geldig is dan kunnen er geen inspecties meer komen. // Als de controlesoort niet meer geldig is dan kunnen er geen inspecties meer komen.
// Een object kan meerdere controlesoorten hebben. Alleen die controlesoorten laten zien die nog geldig zijn. // Een object kan meerdere controlesoorten hebben. Alleen die controlesoorten laten zien die nog geldig zijn.
var lastinspect = "(SELECT GREATEST(COALESCE (idsc.ins_deelsrtcontrole_plandatum" var lastinspect = "(SELECT CASE di.ins_srtcontrole_mode"
+ " , CASE di.ins_srtcontrole_mode" + " WHEN 0"
+ " WHEN 0" + " THEN idsc.ins_deelsrtcontrole_datum_org" // Moment modus. Uitgaan van eigenlijke/orginele inspectiedatum.
+ " THEN idsc.ins_deelsrtcontrole_datum_org" // Moment modus. Uitgaan van eigenlijke/orginele inspectiedatum. + " ELSE idsc.ins_deelsrtcontrole_datum" // Interval modus. Uitgaan van werkelijke inspectiedatum.
+ " ELSE idsc.ins_deelsrtcontrole_datum" // Interval modus. Uitgaan van werkelijke inspectiedatum. + " END ins_deelsrtcontrole_datum"
+ " END)"
+ " , CASE di.ins_srtcontrole_mode"
+ " WHEN 0"
+ " THEN idsc.ins_deelsrtcontrole_datum_org" // Moment modus. Uitgaan van eigenlijke/orginele inspectiedatum.
+ " ELSE idsc.ins_deelsrtcontrole_datum" // Interval modus. Uitgaan van werkelijke inspectiedatum.
+ " END) ins_deelsrtcontrole_datum"
+ " FROM ins_deelsrtcontrole idsc" + " FROM ins_deelsrtcontrole idsc"
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key" + " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc.ins_deelsrtcontrole_status IN (5, 6)" + " AND idsc.ins_deelsrtcontrole_status IN (5, 6)"

View File

@@ -36,6 +36,7 @@ var srtcont_key_arr = getFParamIntArray("srtcont_key_arr", []); // Inspectiesoor
var savemode = getFParam("savemode"); var savemode = getFParam("savemode");
var finish = getFParamInt("finish", 0) == 1; // Inspectie direct afronden. var finish = getFParamInt("finish", 0) == 1; // Inspectie direct afronden.
var mjob = getFParamInt("mjob", 0) == 1;
// Als multi dan moet de ins_deel array even groot zijn als de srtcontrole array en deelsrtcontrole array. // Als multi dan moet de ins_deel array even groot zijn als de srtcontrole array en deelsrtcontrole array.
user.auth_required_or_abort(!multi || (ins_key_arr.length == srtcont_key_arr.length)); user.auth_required_or_abort(!multi || (ins_key_arr.length == srtcont_key_arr.length));
@@ -170,16 +171,19 @@ 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 user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel en enkele niet
function saveFlexKenmerkenInspection(pdlsrtcont_key, pinsPresent) function saveFlexKenmerkenInspection(pdlsrtcont_key, pinsPresent, pdelete)
{ {
// HIER WORDEN DE SAVEFLEXKENMERKEN GEREGELD // HIER WORDEN DE SAVEFLEXKENMERKEN GEREGELD
currentKenmerkenSQL = " SELECT kd.ins_kenmerk_key" if (pdelete)
+ " , kd.ins_kmdeelsrtcontr_waarde" currentKenmerkenSQL = "SELECT 1 FROM DUAL WHERE 1 = 0"; // Geen flexkenmerken opslaan en alle waarden verwijderen.
+ " FROM ins_kmdeelsrtcontr kd" else
+ " , ins_kenmerk k" currentKenmerkenSQL = " SELECT kd.ins_kenmerk_key"
+ " WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key" + " , kd.ins_kmdeelsrtcontr_waarde"
+ " AND kd.ins_kmdeelsrtcontr_verwijder IS NULL" + " FROM ins_kmdeelsrtcontr kd"
+ " AND kd.ins_deelsrtcontrole_key = " + pdlsrtcont_key; + " , ins_kenmerk k"
+ " WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key"
+ " AND kd.ins_kmdeelsrtcontr_verwijder IS NULL"
+ " AND kd.ins_deelsrtcontrole_key = " + pdlsrtcont_key;
var ftrack = saveFlexKenmerken( pdlsrtcont_key var ftrack = saveFlexKenmerken( pdlsrtcont_key
, { kenmerkTable: "ins_kmdeelsrtcontr" , { kenmerkTable: "ins_kmdeelsrtcontr"
@@ -198,7 +202,7 @@ function saveFlexKenmerkenInspection(pdlsrtcont_key, pinsPresent)
if (savemode == "P") if (savemode == "P")
{ // Inplannen inspectie. { // Inplannen inspectie. Er is nog geen inspectierecord aanwezig.
var result = { success: true, plandatum: plandatum, savemode: savemode, warning: "" }; var result = { success: true, plandatum: plandatum, savemode: savemode, warning: "" };
if (ingesloten.length == 1) if (ingesloten.length == 1)
@@ -208,6 +212,7 @@ if (savemode == "P")
+ " WHERE ins_srtcontrole_key = " + ingesloten[0].srtcont_key; + " WHERE ins_srtcontrole_key = " + ingesloten[0].srtcont_key;
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
result.srtcontrole_type = oRs("ins_srtcontrole_type").Value; result.srtcontrole_type = oRs("ins_srtcontrole_type").Value;
oRs.Close(); oRs.Close();
} }
@@ -217,7 +222,7 @@ if (savemode == "P")
// Is er een inspectie (ins_deelsrtcontrole) record aanwezig (ins_deelsrtcontrole_key is NULL). // Is er een inspectie (ins_deelsrtcontrole) record aanwezig (ins_deelsrtcontrole_key is NULL).
var insPresent = ingesloten[i].dlsrtcont_key > 0; var insPresent = ingesloten[i].dlsrtcont_key > 0;
// Eerst maar eens aanmaken een inspectie record aanmaken. // Eerst maar eens een inspectie record aanmaken.
// Zijn er inspecties geweest voor dit object of is er een plandatum voor dit object ingevuld zodat we de volgende inspectiedatum kunnen berekenen? // Zijn er inspecties geweest voor dit object of is er een plandatum voor dit object ingevuld zodat we de volgende inspectiedatum kunnen berekenen?
var sql = "SELECT ins_deelsrtcontrole_datum" var sql = "SELECT ins_deelsrtcontrole_datum"
+ " FROM ins_deelsrtcontrole idsc" + " FROM ins_deelsrtcontrole idsc"
@@ -227,11 +232,10 @@ if (savemode == "P")
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
var nextdate = null; var nextdate = null;
if (!oRs.eof) if (!oRs.eof)
{ // Bereken de volgende inspectiedatum. { // Bereken de volgende inspectiedatum. Het object is minstens 1 keer geinspecteerd.
sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1) nextdate FROM DUAL" sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1) nextdate FROM DUAL"
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
nextdate = new Date(oRs("nextdate").Value); nextdate = new Date(oRs("nextdate").Value);
oRs.Close();
} }
//else Er zijn nog geen inspecties geweest voor dit object en er is nog geen plandatum voor dit object ingevuld. //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) // Volgende inspectiedatum kun je niet berekenen en is dus onbekend (leeg)
@@ -521,15 +525,70 @@ else if (savemode == "E")
{ // Wijzigen inspectie (Edit). Update van de gegevens (plandatum, opmerking en flexkenmerken). { // Wijzigen inspectie (Edit). Update van de gegevens (plandatum, opmerking en flexkenmerken).
var result = { success: true, plandatum: plandatum, deelsrtcontrole_key: ingesloten[0].dlsrtcont_key, savemode: savemode, warning: "" }; var result = { success: true, plandatum: plandatum, deelsrtcontrole_key: ingesloten[0].dlsrtcont_key, savemode: savemode, warning: "" };
var fields = [ { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", frm: "plandatum", track: L("lcl_opdr_plandate") }, var mjobdelete = false;
{ dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 2000 } if (mjob)
]; { // Nieuwe plandatum vanuit het mjob scherm ontvangen.
// Indien het jaar van de plandatum hetzelfde is als het jaar van de orginele datum, kan het plan record verwijderd worden.
if (canMsuEdit) // Is het een mjob discipline en is de eenheid jaarlijks?
fields.push({ dbs: "ins_controlemode_key", typ: "key", frm: "sel_controlemode", track: L("lcl_ins_controle_mode"), foreign: "ins_controlemode" }); sql = "SELECT cdp.ctr_disc_params_ismjob"
+ " , isc.ins_srtcontrole_eenheid"
+ " FROM ins_srtcontrole isc"
+ " , ctr_disc_params cdp"
+ " WHERE isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
+ " AND isc.ins_srtcontrole_key = " + ingesloten[0].srtcont_key;
oRs = Oracle.Execute(sql);
var ismjob = !oRs.eof && oRs("ctr_disc_params_ismjob").Value == 1;
var isjaarlijks = oRs("ins_srtcontrole_eenheid").Value == 4;
oRs.Close();
var insUpd = buildTrackingUpdate("ins_deelsrtcontrole", " ins_deelsrtcontrole_key = " + ingesloten[0].dlsrtcont_key, fields); // Zijn er inspecties geweest voor dit object of is er een plandatum voor dit object ingevuld zodat we de volgende inspectiedatum kunnen berekenen?
var err = Oracle.Execute(insUpd.sql, true); var sql = "SELECT ins_deelsrtcontrole_datum"
+ " , MAX(ins_deelsrtcontrole_datum_org) ins_deelsrtcontrole_datum_org"
+ " FROM ins_deelsrtcontrole idsc"
+ " WHERE idsc.ins_srtcontrole_key = " + ingesloten[0].srtcont_key
+ " AND idsc.ins_deel_key = " + ingesloten[0].ins_key
+ " AND idsc.ins_deelsrtcontrole_datum IS NOT NULL"
+ " GROUP BY ins_deelsrtcontrole_datum";
var oRs = Oracle.Execute(sql);
var nextdate = null;
if (!oRs.eof)
{ // Er is een inspectie geweest. In de laatste inspectie staat de volgende orginele inspectiedatum (nextdate). Voor een eerste inspectie is dat de inspectiedatum.
nextdate = new Date(oRs("ins_deelsrtcontrole_datum_org").Value);
// Is jaar plandatum gelijk aan jaar orginele datum?
var plandatum_jaar = plandatum.getFullYear();
var nexdate_jaar = nextdate.getFullYear();
if (ismjob && isjaarlijks && plandatum_jaar == nexdate_jaar)
{ // Verwijder het inspectie record en ga verder met het volgende object.
mjobdelete = true;
}
}
//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)
}
if (mjobdelete)
{ // Verwijder het inspectie record.
var sql = "DELETE FROM ins_deelsrtcontrole"
+ " WHERE ins_deel_key = " + ingesloten[0].ins_key
+ " AND ins_srtcontrole_key = " + ingesloten[0].srtcont_key
+ " AND ins_deelsrtcontrole_status = 0";
var err = Oracle.Execute(sql, true);
}
else
{
var fields = [ { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", frm: "plandatum", track: L("lcl_opdr_plandate") },
{ dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 2000 }
];
if (canMsuEdit)
fields.push( { dbs: "ins_controlemode_key", typ: "key", frm: "sel_controlemode", track: L("lcl_ins_controle_mode"), foreign: "ins_controlemode" } );
var insUpd = buildTrackingUpdate("ins_deelsrtcontrole", " ins_deelsrtcontrole_key = " + ingesloten[0].dlsrtcont_key, fields);
var err = Oracle.Execute(insUpd.sql, true);
}
if (err.friendlyMsg) if (err.friendlyMsg)
{ {
@@ -537,9 +596,9 @@ else if (savemode == "E")
result.success = false; result.success = false;
} }
var flextrack = saveFlexKenmerkenInspection(ingesloten[0].dlsrtcont_key, insPresent); var flextrack = saveFlexKenmerkenInspection(ingesloten[0].dlsrtcont_key, insPresent, mjobdelete);
if (insUpd.trackarray.length || flextrack.length) if (!mjobdelete && (insUpd.trackarray.length || flextrack.length))
ins.trackinspectupdate(ingesloten[0].dlsrtcont_key, L("lcl_ins_controle_is_upd") + "\n" + insUpd.trackarray.concat(flextrack).join("\n")); ins.trackinspectupdate(ingesloten[0].dlsrtcont_key, L("lcl_ins_controle_is_upd") + "\n" + insUpd.trackarray.concat(flextrack).join("\n"));
} }

View File

@@ -35,7 +35,7 @@ function insSave(rowArray)
{ {
var data = $("#inslist").serialize(); var data = $("#inslist").serialize();
protectRequest.dataToken(data); protectRequest.dataToken(data);
$.post("ins_save_use.asp", $.post("../ins/ins_save_use.asp",
data, data,
FcltCallbackRefresh, FcltCallbackRefresh,
"json"); "json");
@@ -240,7 +240,7 @@ function insStart(rowArray, isMulti)
srtcont_key_arr: srtcontrolekeyArray.join(",") srtcont_key_arr: srtcontrolekeyArray.join(",")
}; };
protectRequest.dataToken(data); protectRequest.dataToken(data);
$.post( "ins_inspect_start.asp" $.post( "../ins/ins_inspect_start.asp"
, data , data
, FcltCallbackRefresh , FcltCallbackRefresh
, "json" , "json"
@@ -285,7 +285,7 @@ function insFinish(rowArray, isMulti)
dlsrtcont_key_arr: deelsrtcontrkeyArray.join(",") dlsrtcont_key_arr: deelsrtcontrkeyArray.join(",")
}; };
protectRequest.dataToken(data); protectRequest.dataToken(data);
$.post( "ins_inspect_finish.asp" $.post( "../ins/ins_inspect_finish.asp"
, data , data
, FcltCallbackRefresh , FcltCallbackRefresh
, "json" , "json"

View File

@@ -15,9 +15,10 @@
<!-- #include file="../Shared/common.inc" --> <!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" --> <!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/json2.js" --> <!-- #include file="../Shared/json2.js" -->
<!-- #include file="../ins/ins.inc" -->
<% <%
FCLTHeader.Requires({plugins: ["jQuery"], FCLTHeader.Requires({plugins: ["jQuery"],
js : ["jquery-ui.js"]}); // Voor slepen js : ["jquery-ui.js", "../ins/ins_list.js"]}); // Voor slepen en acties.
var urole = getQParamSafe("urole", ""); // Indien niet meegegeven, veronderstel dan frontend gebruik var urole = getQParamSafe("urole", ""); // Indien niet meegegeven, veronderstel dan frontend gebruik
@@ -129,7 +130,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
ins_keys: ins_key, ins_keys: ins_key,
srtcont_key_arr: srtcont_key, srtcont_key_arr: srtcont_key,
plandatum: new Date(jaar, 11, 31).getTime(), plandatum: new Date(jaar, 11, 31).getTime(),
jaar: jaar mjob: 1
}; };
protectRequest.dataToken(data); protectRequest.dataToken(data);
$.post("../ins/ins_inspect_save.asp" $.post("../ins/ins_inspect_save.asp"
@@ -148,7 +149,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
var $th = $td.closest('table').find('th').eq($td.index()); // werkt omdat we geen colspan's hebben var $th = $td.closest('table').find('th').eq($td.index()); // werkt omdat we geen colspan's hebben
var row = $td.closest('tr')[0]; var row = $td.closest('tr')[0];
var insData = eval("(" + row.getAttribute("ROWDATA") + ")"); var insData = eval("(" + row.getAttribute("ROWDATA") + ")");
moveplan(null, insData.ins, insData.taak, $th.text()); moveplan(null, insData.insKey, insData.insSrtControleKey, $th.text());
} }
}); });
@@ -182,8 +183,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
for (var i = 0; i < rowArray.length; i++) for (var i = 0; i < rowArray.length; i++)
{ {
rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')'); rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
mjbDeelKeyArray.push(rowdata.ins); mjbDeelKeyArray.push(rowdata.insKey);
mjbSrtContrKeyArray.push(rowdata.taak); mjbSrtContrKeyArray.push(rowdata.insSrtControleKey);
} }
url = "../mjb/mjb_dragdropyear.asp"; url = "../mjb/mjb_dragdropyear.asp";
@@ -458,25 +459,25 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " AND d.alg_district_key = l.alg_district_key" + " AND d.alg_district_key = l.alg_district_key"
+ " AND dg.alg_gebouw_key = g.alg_gebouw_key"; + " AND dg.alg_gebouw_key = g.alg_gebouw_key";
var sql_cost = "SELECT alg_district_key" var sql_cost = "SELECT cv.alg_district_key"
+ " , alg_district_omschrijving" + " , cv.alg_district_omschrijving"
+ " , alg_gebouw_omschrijving" + " , cv.alg_gebouw_omschrijving"
+ " , alg_gebouw_key" + " , cv.alg_gebouw_key"
+ " , ins_deel_omschrijving" + " , cv.ins_deel_omschrijving"
+ " , ins_discipline_omschrijving" + " , cv.ins_discipline_omschrijving"
+ " , ins_srtgroep_omschrijving" + " , cv.ins_srtgroep_omschrijving"
+ " , ins_srtdeel_omschrijving" + " , cv.ins_srtdeel_omschrijving"
+ " , ins_srtcontrole_omschrijving" + " , cv.ins_srtcontrole_omschrijving"
+ " , ins_deel_key" + " , cv.ins_deel_key"
+ " , keyColumn" + " , cv.keyColumn"
+ " , ins_srtcontroledl_xcp_key" + " , cv.ins_srtcontroledl_xcp_key"
+ " , ins_srtcontrole_key" + " , cv.ins_srtcontrole_key"
+ " , ins_srtcontrole_periode" + " , cv.ins_srtcontrole_periode"
+ " , ins_srtcontrole_opmerking" + " , cv.ins_srtcontrole_opmerking"
+ " , ins_srtcontrole_level" + " , cv.ins_srtcontrole_level"
+ " , vervaljaar" + " , cv.vervaljaar"
+ " , vervangingsjaar" + " , cv.vervangingsjaar"
+ " , afbouwtijd" + " , cv.afbouwtijd"
+ " , CASE" + " , CASE"
+ " WHEN (SELECT idsc.ins_deelsrtcontrole_key" + " WHEN (SELECT idsc.ins_deelsrtcontrole_key"
+ " FROM ins_deelsrtcontrole idsc" + " FROM ins_deelsrtcontrole idsc"
@@ -486,15 +487,29 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " THEN 1" + " THEN 1"
+ " ELSE 0" + " ELSE 0"
+ " END isPlanned" + " END isPlanned"
+ " , bedrag AS orgbedrag" + " , CASE"
+ " WHEN (SELECT idsc.ins_deelsrtcontrole_key"
+ " FROM ins_deelsrtcontrole idsc"
+ " WHERE idsc.ins_deel_key = cv.ins_deel_key"
+ " AND idsc.ins_srtcontrole_key = cv.ins_srtcontrole_key"
+ " AND idsc.ins_deelsrtcontrole_status IN (2, 5)) IS NOT NULL"
+ " THEN 0"
+ " ELSE 1"
+ " END canBePlanned"
+ " , COALESCE((SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
+ " FROM ins_deelsrtcontrole idsc2"
+ " WHERE idsc2.ins_deel_key = cv.ins_deel_key"
+ " AND idsc2.ins_srtcontrole_key = cv.ins_srtcontrole_key)"
+ " , -1) ins_deelsrtcontrole_key"
+ " , cv.bedrag AS orgbedrag"
// Als er een andere inspectie is met een lagere ins_srtcontrole_level // Als er een andere inspectie is met een lagere ins_srtcontrole_level
// in hetzelfde jaar dan springt ons bedrag op 0 // in hetzelfde jaar dan springt ons bedrag op 0
+ " , CASE WHEN MIN(ins_srtcontrole_level) KEEP (DENSE_RANK FIRST ORDER BY ins_srtcontrole_level) " + " , CASE WHEN MIN(cv.ins_srtcontrole_level) KEEP (DENSE_RANK FIRST ORDER BY cv.ins_srtcontrole_level) "
+ " OVER (PARTITION BY ins_deel_key, vervangingsjaar) < ins_srtcontrole_level" + " OVER (PARTITION BY cv.ins_deel_key, cv.vervangingsjaar) < cv.ins_srtcontrole_level"
+ " OR" + " OR"
+ " vervaljaar - COALESCE(afbouwtijd, 0) < vervangingsjaar" + " cv.vervaljaar - COALESCE(cv.afbouwtijd, 0) < cv.vervangingsjaar"
+ " THEN 0 " + " THEN 0 "
+ " ELSE bedrag " + " ELSE cv.bedrag "
+ " END bedrag" + " END bedrag"
+ " FROM (" + sql_cost_verval + ") cv"; + " FROM (" + sql_cost_verval + ") cv";
@@ -536,7 +551,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
function fnkeyFunction(oRs) function fnkeyFunction(oRs)
{ {
if (fulldetails) if (fulldetails)
return oRs("ins_deel_key").Value + "-" + oRs("ins_srtcontrole_key").Value; return oRs("ins_deel_key").Value; // + "-" + oRs("ins_srtcontrole_key").Value;
else else
return oRs("keyColumn").Value; return oRs("keyColumn").Value;
} }
@@ -546,8 +561,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
var data = {}; var data = {};
if (fulldetails) if (fulldetails)
{ {
data.ins = oRs("ins_deel_key").Value; data.insKey = oRs("ins_deel_key").Value;
data.taak = oRs("ins_srtcontrole_key").Value; data.insSrtControleKey = oRs("ins_srtcontrole_key").Value;
data.insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1;
} }
return JSON.stringify(data); return JSON.stringify(data);
@@ -567,6 +583,19 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
function fnrowActionEnabler(oRs) function fnrowActionEnabler(oRs)
{ {
var data = {}; var data = {};
//var eShowInsp = false;
var ePlan = false;
var eStart = false;
var eClose = false;
var eFinish = false;
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? oRs("ins_deelsrtcontrole_key").Value : -1});
ePlan = this_ins.canInspPlan;
eStart = this_ins.canInspStart;
eClose = this_ins.canInspClose;
eFinish = this_ins.canInspFinish;
var data = {ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish};
return data; return data;
} }
@@ -669,7 +698,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
doneclik[deel_key + ":" + srtcont_key] = 1; doneclik[deel_key + ":" + srtcont_key] = 1;
// INSUSE read rechten heb je al nodig om dit overzicht te zien. // INSUSE read rechten heb je al nodig om dit overzicht te zien.
return "<span" + (hasWriteCTRUSE? " class='details draggable'" : "") + ">{0}</span>".format(safe.curr(v, true)) // Inspecties in de status gestart(2) of gereedgemeld(5) mogen niet drag en drop zijn. Planningsdatum is daarvan niet aan te passen.
return "<span" + (hasWriteCTRUSE? " class='" + (oRs("canBePlanned").Value == 1? "details draggable" : "") + "'" : "") + ">{0}</span>".format(safe.curr(v, true))
/* experimenteel inline schuiven /* experimenteel inline schuiven
var fnprev = "moveplan(event, {0}, {1}, {2}-1)".format(deel_key, srtcont_key, jaar); var fnprev = "moveplan(event, {0}, {1}, {2}-1)".format(deel_key, srtcont_key, jaar);
@@ -697,8 +727,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
else if (vervaljaar != null && jaar > vervaljaar) else if (vervaljaar != null && jaar > vervaljaar)
return "mjbjaar mjbverval"; return "mjbjaar mjbverval";
} }
return "mjbjaar";
} }
return "mjbjaar";
} }
} }
@@ -746,9 +776,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
else else
var content = fnfnBedrag(String(jaren[j])); var content = fnfnBedrag(String(jaren[j]));
rst.addColumn(new Column({caption: String(jaren[j]), datatype: "number", rst.addColumn(new Column({caption: String(jaren[j]), datatype: "number",
tdClass: "mjbjaar",
content: content, content: content,
columnClass: fnfncolClass(String(jaren[j])), columnClass: fnfncolClass(String(jaren[j])), // tdClass dan niet meer nodig.
total: true, total: true,
fnAmount: fnfnBedragNumber(String(jaren[j])) fnAmount: fnfnBedragNumber(String(jaren[j]))
})); }));
@@ -764,6 +793,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
if (fulldetails) if (fulldetails)
{ {
rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true } ); rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true } );
rst.addAction({ action: "insPlan", caption: L("lcl_ins_schedule"), multi: true, multiOnce: true, enabler: "ePlan", onlyMulti: true });
rst.addAction({ action: "insStart", caption: L("lcl_ins_start"), multi: true, multiOnce: true, enabler: "eStart", onlyMulti: true });
rst.addAction({ action: "insClose", caption: L("lcl_ins_close") + "/" + L("lcl_ins_finish"), multi: true, multiOnce: true, enabler: "eClose", onlyMulti: true });
rst.addAction({ action: "insFinish", caption: L("lcl_ins_finish"), multi: true, multiOnce: true, enabler: "eFinish", onlyMulti: true });
} }
var count = rst.processResultset(); var count = rst.processResultset();