FSN#33999: Realisatie TMJ module voor TobiasAX obv Inspectiemodule.
svn path=/Website/trunk/; revision=30412
This commit is contained in:
@@ -21,17 +21,27 @@ var JSON_Result = true;
|
||||
|
||||
<%
|
||||
var ins_key = getQParamInt("ins_key");
|
||||
var srtcontrole_key = getFParamInt("sel_srtcontrole"); // ins_srtcontrole_key.
|
||||
var this_ins = ins.func_enabled_deel(ins_key, {srtcont_key: srtcontrole_key});
|
||||
|
||||
// Mag ik de parameters van het inspectie object aanpassen?
|
||||
var this_ins = ins.func_enabled_deel(ins_key);
|
||||
user.anything_todo_or_abort(this_ins.canChangeXcp);
|
||||
|
||||
var xcp_key = getFParamInt("xcp_key"); // ins_srtcontroledl_xcp_key.
|
||||
var mode = getFParamInt("mode"); // ins_srtcontrole_mode.
|
||||
var eenheid = getFParamInt("eenheid"); // ins_srtcontroledl_xcp_eenheid.
|
||||
var periode = getFParamInt("periode"); // ins_srtcontroledl_xcp_periode.
|
||||
var kosten = getFParamFloat("kosten") || 0; // ins_srtcontroledl_xcp_kosten.
|
||||
var groep = getFParam("groep"); // ins_srtcontroledl_xcp_groep.
|
||||
var periode = null;
|
||||
if (eenheid > -1)
|
||||
periode = getFParamInt("periode", null); // ins_srtcontroledl_xcp_periode.
|
||||
var kosten1 = getFParamFloat("kosten1", null); // ins_srtcontroledl_xcp_kosten.
|
||||
var kosten2 = getFParamFloat("kosten2", null); // ins_srtcontroledl_xcp_kosten2.
|
||||
var kosten3 = getFParamFloat("kosten3", null); // ins_srtcontroledl_xcp_kosten3.
|
||||
var uren = getFParamFloat("uren") || null; // ins_srtcontroledl_xcp_uren.
|
||||
var materiaal = getFParamFloat("materiaal", null); // ins_srtcontroledl_xcp_materia.
|
||||
var perc = getFParamInt("perc", null); // ins_srtcontroledl_xcp_perc.
|
||||
var groep = getFParam("groep", null); // ins_srtcontroledl_xcp_groep.
|
||||
var vervaldatum = getFParamDate("vervaldatum", null); // ins_srtcontroledl_xcp_eenheid.
|
||||
var opmerk = getFParam("opmerk", null); // ins_srtcontroledl_xcp_opmerk.
|
||||
var bits = 0;
|
||||
|
||||
// De betekenis van bits is afhankelijk van de mode en eenheid.
|
||||
@@ -73,12 +83,18 @@ else
|
||||
|
||||
// Als de nieuwe waarde gelijk is aan de standaard waarden dan deze niet opslaan.
|
||||
// Ophalen standaard waarden.
|
||||
var srtcontrole_key = getFParamInt("sel_srtcontrole"); // ins_srtcontrole_key.
|
||||
var sql = "SELECT isc.ins_srtcontrole_eenheid"
|
||||
+ " , isc.ins_srtcontrole_periode"
|
||||
+ " , isc.ins_srtcontrole_bits"
|
||||
+ " , isc.ins_srtcontrole_kosten"
|
||||
+ " , isc.ins_srtcontrole_kosten2"
|
||||
+ " , isc.ins_srtcontrole_kosten3"
|
||||
+ " , isc.ins_srtcontrole_uren"
|
||||
+ " , isc.ins_srtcontrole_materiaal"
|
||||
+ " , isc.ins_srtcontrole_percentage"
|
||||
+ " , ins_srtcontrole_groep"
|
||||
+ " , isc.ins_srtcontrole_eind"
|
||||
+ " , isc.ins_srtcontrole_opmerking"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_deel d"
|
||||
+ " , ins_srtdeel sd"
|
||||
@@ -95,29 +111,55 @@ var oRs = Oracle.Execute(sql);
|
||||
var eenheid_std = oRs("ins_srtcontrole_eenheid").Value;
|
||||
var periode_std = oRs("ins_srtcontrole_periode").Value;
|
||||
var bits_std = oRs("ins_srtcontrole_bits").Value;
|
||||
var kosten_std = oRs("ins_srtcontrole_kosten").Value || 0;
|
||||
var kosten1_std = oRs("ins_srtcontrole_kosten").Value;
|
||||
var kosten2_std = oRs("ins_srtcontrole_kosten2").Value;
|
||||
var kosten3_std = oRs("ins_srtcontrole_kosten3").Value;
|
||||
var uren_std = oRs("ins_srtcontrole_uren").Value;
|
||||
var materiaal_std = oRs("ins_srtcontrole_materiaal").Value;
|
||||
var perc_std = oRs("ins_srtcontrole_percentage").Value;
|
||||
var groep_std = oRs("ins_srtcontrole_groep").Value;
|
||||
var opmerk_std = oRs("ins_srtcontrole_opmerking").Value;
|
||||
|
||||
var vervaldatum_std = new Date(oRs("ins_srtcontrole_eind").Value);
|
||||
var datumdiffer = (vervaldatum? vervaldatum.getTime() : null) != (vervaldatum_std? vervaldatum_std.getTime() : null)
|
||||
var paramsdiffer = (eenheid != eenheid_std || periode != periode_std || bits != bits_std || kosten != kosten_std || datumdiffer);
|
||||
var deactivate = periode_std == 0 && periode == 0; // Beide periodes zijn nul. Controle wordt inactief. Uitzonderings regel kan weg in ins_srtcontroledl_xcp.
|
||||
// Is er een groep ingevuld?
|
||||
var filledgroep = groep != null && groep != "";
|
||||
var datumdiffer = vervaldatum != null && (vervaldatum? vervaldatum.getTime() : null) != (vervaldatum_std? vervaldatum_std.getTime() : null)
|
||||
var paramsdiffer = ((eenheid != -1 && (eenheid != eenheid_std || (periode != null && periode != periode_std) || (bits != null && bits != bits_std))) ||
|
||||
(kosten1 != null && kosten1 != kosten1_std) ||
|
||||
(kosten2 != null && kosten2 != kosten2_std) ||
|
||||
(kosten3 != null && kosten3 != kosten3_std) ||
|
||||
(uren != null && uren != uren_std) ||
|
||||
(materiaal != null && materiaal != materiaal_std) ||
|
||||
(perc != null && perc != perc_std) ||
|
||||
(groep != "" && groep != groep_std) ||
|
||||
(opmerk != "" && opmerk != opmerk_std) ||
|
||||
datumdiffer);
|
||||
var deactivate = periode_std == 0 && (periode == null || periode == 0); // Beide periodes zijn 0. Controle wordt inactief. Uitzonderings regel kan weg in ins_srtcontroledl_xcp.
|
||||
|
||||
|
||||
if ((paramsdiffer || filledgroep) && !deactivate)
|
||||
if (paramsdiffer && !deactivate)
|
||||
{ // parameters wijken af van de standaard of er is een respijtdatum of groep ingevuld.
|
||||
var result = { success: true, srtcontroledl_xcp_key: xcp_key };
|
||||
|
||||
var fields = [ { dbs: "ins_deel_key", typ: "key", val: ins_key },
|
||||
{ dbs: "ins_srtcontrole_key", typ: "key", frm: "sel_srtcontrole" },
|
||||
{ dbs: "ins_srtcontroledl_xcp_eenheid", typ: "number", val: (eenheid == eenheid_std || eenheid < 0? null : eenheid) }, // Waarde gelijk aan standaard niet opslaan.
|
||||
{ dbs: "ins_srtcontroledl_xcp_periode", typ: "number", val: (periode == periode_std? null : periode) }, // Waarde gelijk aan standaard niet opslaan.
|
||||
{ dbs: "ins_srtcontroledl_xcp_bits", typ: "number", val: (bits == bits_std? null : bits) }, // Waarde gelijk aan standaard niet opslaan.
|
||||
{ dbs: "ins_srtcontroledl_xcp_kosten", typ: "float", val: (kosten == kosten_std? null : kosten) },
|
||||
{ dbs: "ins_srtcontroledl_xcp_groep", typ: "varchar", val: groep },
|
||||
{ dbs: "ins_srtcontroledl_xcp_eenheid", typ: "number", val: (eenheid == -1 || eenheid == eenheid_std || eenheid < 0? null : eenheid) }, // Waarde gelijk aan standaard niet opslaan.
|
||||
{ dbs: "ins_srtcontroledl_xcp_periode", typ: "number", val: (periode == null || periode == periode_std? null : periode) }, // Waarde gelijk aan standaard niet opslaan.
|
||||
{ dbs: "ins_srtcontroledl_xcp_bits", typ: "number", val: (bits == null || bits == bits_std? null : bits) }, // Waarde gelijk aan standaard niet opslaan.
|
||||
{ dbs: "ins_srtcontroledl_xcp_uren", typ: "float", val: (uren == null || uren == uren_std? null : uren) },
|
||||
{ dbs: "ins_srtcontroledl_xcp_perc", typ: "float", val: (perc == null || perc == perc_std? null : perc) },
|
||||
{ dbs: "ins_srtcontroledl_xcp_groep", typ: "varchar", val: (groep == "" || groep == groep_std? null : groep) },
|
||||
{ dbs: "ins_srtcontroledl_xcp_opmerk", typ: "varchar", val: (opmerk == "" || opmerk == opmerk_std? null : opmerk) },
|
||||
{ dbs: "ins_srtcontroledl_xcp_eind", typ: "datetime", val: (datumdiffer? vervaldatum : null) }
|
||||
];
|
||||
|
||||
var ins_xcp_active_cost = S("ins_xcp_active_cost");
|
||||
if (ins_xcp_active_cost & 1)
|
||||
fields.push({ dbs: "ins_srtcontroledl_xcp_kosten", typ: "float", val: (kosten1 == null || kosten1 == kosten1_std? null : kosten1) });
|
||||
if (ins_xcp_active_cost & 2)
|
||||
fields.push({ dbs: "ins_srtcontroledl_xcp_kosten2", typ: "float", val: (kosten2 == null || kosten2 == kosten2_std? null : kosten2) });
|
||||
if (ins_xcp_active_cost & 4)
|
||||
fields.push({ dbs: "ins_srtcontroledl_xcp_kosten3", typ: "float", val: (kosten3 == null || kosten3 == kosten3_std? null : kosten3) });
|
||||
if (ins_xcp_active_cost & 8)
|
||||
fields.push({ dbs: "ins_srtcontroledl_xcp_materia", typ: "float", val: (materiaal == null || materiaal == materiaal_std? null : materiaal) });
|
||||
|
||||
if (xcp_key < 0) // Nieuwe inspectie
|
||||
{
|
||||
fields.push({ dbs: "ins_srtcontroledl_xcp_key", typ: "key", seq: "ins_s_srtcontroledl_xcp_key" });
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<!-- #include file="../Shared/srtdeelselector.inc" -->
|
||||
<%
|
||||
|
||||
FCLTHeader.Requires({ plugins:["suggest", "jQuery"],
|
||||
FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"],
|
||||
js: ["../ins/ins_search.js", "jQuery-ui.js"]
|
||||
});
|
||||
|
||||
@@ -36,22 +36,20 @@ var disc = getQParamInt("disc", -1); // Discipline initialisatie
|
||||
var srtgroep = getQParamInt("srtgroep", -1); // Groep
|
||||
var srtdeel = getQParamInt("srtdeel", -1); // Objectsoort
|
||||
var groep = getQParam("groep", ""); // Groep
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 2); // Startlevel van plaatsselector (Locatie)
|
||||
var alg_endlevel = getQParamInt("alg_endlevel", 2); // Eindlevel van plaatsselector (Locatie)
|
||||
var groupby = getQParamInt("groupby", 7);
|
||||
var inflatie = getQParamFloat("inflatie", 1.0);
|
||||
var srtcontrole = getQParamInt("srtcontrole", -1); // Taak
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 1); // Startlevel van plaatsselector (District)
|
||||
var alg_endlevel = getQParamInt("alg_endlevel", 3); // Eindlevel van plaatsselector (Gebouw)
|
||||
var groupby = getQParamInt("groupby", 2);
|
||||
var inflatie = getQParamFloat("inflatie", S("mjb_inflation")); // Setting ins_inflation_default.
|
||||
var frequentie = getQParamInt("frequentie", -1);
|
||||
var toyear = getQParamInt("toyear", new Date().getFullYear() + S("mjb_show_years"));
|
||||
var incbtw = getQParamInt("incbtw", 0) == 1;
|
||||
|
||||
var autfunction = "";
|
||||
switch(urole)
|
||||
{
|
||||
case "fe": autfunction = "WEB_INSUSE";
|
||||
break;
|
||||
case "fo": autfunction = "WEB_INSFOF";
|
||||
break;
|
||||
case "bo": autfunction = "WEB_INSMAN";
|
||||
break;
|
||||
}
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
// Er zijn INSUSE en CTRUSE rechten nodig.
|
||||
var autfunctionINSUSE = "WEB_INSUSE";
|
||||
var authparamsINSUSE = user.checkAutorisation("WEB_INSUSE");
|
||||
var autfunctionCTRUSE = "WEB_CTRUSE";
|
||||
var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -75,94 +73,81 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<div id="search">
|
||||
<form name="u2" target="workFrame" action="mjb_search_list.asp" method="get">
|
||||
<input type=hidden name="urole" value="<%=urole%>">
|
||||
<input type=hidden name="autfunction" id="autfunction" value="<%=autfunction%>">
|
||||
<input type=hidden name="autfunctionINSUSE" id="autfunctionINSUSE" value="<%=autfunctionINSUSE%>">
|
||||
<input type=hidden name="autfunctionCTRUSE" id="autfunctionCTRUSE" value="<%=autfunctionCTRUSE%>">
|
||||
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<tr>
|
||||
<td class="searchkolom1"><!-- start column 1 -->
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<%
|
||||
FCLTplaatsselector(authparams.ALGreadlevel, { regiokey: reg_key,
|
||||
districtkey: dist_key,
|
||||
locatiekey: loc_key,
|
||||
gebouwkey: bld_key,
|
||||
verdiepingkey: flr_key,
|
||||
ruimtekey: room_key,
|
||||
terrein: true,
|
||||
escalateOnChUp: true, // ook onLocChange als je gebouw wijzigt
|
||||
startlevel: alg_startlevel,
|
||||
eindlevel: alg_endlevel, // ruimte/werkplek
|
||||
filtercode: "INCVR",
|
||||
trclass: "noxd",
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
// Discipline
|
||||
FCLTdisciplineselector("disc",
|
||||
"sgDisc",
|
||||
{ label: L("lcl_discipline"),
|
||||
disc_key: disc,
|
||||
module: "INS",
|
||||
filtercode: "I", // alleen disciplines met inspecties
|
||||
perslidKey: user_key,
|
||||
autfunctionKey: authparams.autfunctionkey,
|
||||
autRW: "R",
|
||||
onChange: "onChangeDiscipline", // disgroepChanged
|
||||
trclass: "primsearch noxd",
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
// Soort groep
|
||||
FCLTsrtgroepselector("srtgroep",
|
||||
"sgSrtgroep",
|
||||
{ label: L("lcl_obj_group"),
|
||||
srtgroep_key: srtgroep,
|
||||
autfunction: autfunction,
|
||||
onChange: "onChangeSrtgroep",
|
||||
urlAdd: [{urlParam: "disc_key", field: "disc"}],
|
||||
<% FCLTplaatsselector(authparamsINSUSE.ALGreadlevel, { regiokey: reg_key,
|
||||
districtkey: dist_key,
|
||||
locatiekey: loc_key,
|
||||
gebouwkey: bld_key,
|
||||
verdiepingkey: flr_key,
|
||||
ruimtekey: room_key,
|
||||
terrein: true,
|
||||
escalateOnChUp: true, // ook onLocChange als je gebouw wijzigt
|
||||
startlevel: alg_startlevel,
|
||||
eindlevel: alg_endlevel, // ruimte/werkplek
|
||||
filtercode: "INCVR",
|
||||
trclass: "noxd",
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
// Discipline
|
||||
FCLTdisciplineselector("disc",
|
||||
"sgDisc",
|
||||
{ label: L("lcl_discipline"),
|
||||
disc_key: disc,
|
||||
module: "INS",
|
||||
filtercode: "I", // alleen disciplines met inspecties
|
||||
perslidKey: user_key,
|
||||
autfunctionKey: authparamsINSUSE.autfunctionkey,
|
||||
autRW: "R",
|
||||
onChange: "onChangeDiscipline", // disgroepChanged
|
||||
trclass: "primsearch noxd",
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
// Soort groep
|
||||
FCLTsrtgroepselector("srtgroep",
|
||||
"sgSrtgroep",
|
||||
{ label: L("lcl_obj_group"),
|
||||
srtgroep_key: srtgroep,
|
||||
autfunction: autfunctionINSUSE,
|
||||
onChange: "onChangeSrtgroep",
|
||||
urlAdd: [{urlParam: "disc_key", field: "disc"}],
|
||||
trclass: "primsearch noxd",
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
|
||||
// Objectsoort
|
||||
// Objectsoort
|
||||
|
||||
FCLTsrtdeelselector("srtdeel",
|
||||
"sgSrtdeel",
|
||||
{ label: L("lcl_obj_sort"),
|
||||
srtdeel_key: srtdeel,
|
||||
module: "INS",
|
||||
autfunction: autfunction,
|
||||
onChange: "onChangeSrtdeel",
|
||||
urlAdd: [{urlParam: "srtgroep_key", field: "srtgroep"},
|
||||
{urlParam: "disc_key", field: "disc"}],
|
||||
trclass: "primsearch noxd",
|
||||
whenEmpty: L("lcl_search_generic") // want dit is een filter
|
||||
});
|
||||
FCLTsrtdeelselector("srtdeel",
|
||||
"sgSrtdeel",
|
||||
{ label: L("lcl_obj_sort"),
|
||||
srtdeel_key: srtdeel,
|
||||
module: "INS",
|
||||
autfunction: autfunctionINSUSE,
|
||||
onChange: "onChangeSrtdeel",
|
||||
urlAdd: [{urlParam: "srtgroep_key", field: "srtgroep"},
|
||||
{urlParam: "disc_key", field: "disc"}],
|
||||
trclass: "primsearch noxd",
|
||||
whenEmpty: L("lcl_search_generic") // want dit is een filter
|
||||
});
|
||||
|
||||
sql = "SELECT 1, " + safe.qL("Plaats") + ", 1 FROM DUAL"
|
||||
+ " UNION SELECT 2, " + safe.qL("Locatie") + ", 2 FROM DUAL"
|
||||
+ " UNION SELECT 3, " + safe.qL("Hoofdrecept") + ", 3 FROM DUAL"
|
||||
+ " UNION SELECT 4, " + safe.qL("Groeprecept") + ", 4 FROM DUAL"
|
||||
+ " UNION SELECT 5, " + safe.qL("Subrecept") + ", 5 FROM DUAL"
|
||||
+ " UNION SELECT 6, " + safe.qL("Element") + ", 6 FROM DUAL"
|
||||
+ " UNION SELECT 7, " + safe.qL("lcl_ins_controle_srt") + ", 7 FROM DUAL";
|
||||
sql = "SELECT 1, " + safe.qL("lcl_district") + ", 1 FROM DUAL"
|
||||
+ " UNION SELECT 2, " + safe.qL("lcl_building") + ", 2 FROM DUAL"
|
||||
+ " UNION SELECT 3, " + safe.qL("lcl_discipline") + ", 3 FROM DUAL"
|
||||
+ " UNION SELECT 4, " + safe.qL("lcl_obj_group") + ", 4 FROM DUAL"
|
||||
+ " UNION SELECT 5, " + safe.qL("lcl_obj_sort") + ", 5 FROM DUAL"
|
||||
+ " UNION SELECT 6, " + safe.qL("lcl_ins_object") + ", 6 FROM DUAL"
|
||||
+ " UNION SELECT 7, " + safe.qL("lcl_ins_controle_srt") + ", 7 FROM DUAL";
|
||||
|
||||
FCLTselector("groupby",
|
||||
sql,
|
||||
{ initKey: groupby,
|
||||
label: L("Groepering")
|
||||
});
|
||||
|
||||
var jaar = new Date().getFullYear();
|
||||
var sqljaren = [];
|
||||
for (var i = 0; i < 30; i++)
|
||||
sqljaren.push("SELECT {0}, '{0}' FROM DUAL".format(jaar + i));
|
||||
|
||||
FCLTselector("toyear",
|
||||
sqljaren.join(" UNION "),
|
||||
{ initKey: jaar + 5,
|
||||
label: L("Tot jaar")
|
||||
});
|
||||
|
||||
RWFIELDTR("inflatie", "fld", L("inflatiepct"), inflatie, { datatype: "number" })
|
||||
FCLTselector("groupby",
|
||||
sql,
|
||||
{ initKey: groupby,
|
||||
label: L("lcl_mjb_group")
|
||||
});
|
||||
%>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
@@ -170,7 +155,46 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<!-- Second column -->
|
||||
<td valign=top>
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
</table>
|
||||
<% sql = "SELECT ins_srtcontrole_key"
|
||||
+ " , ins_srtcontrole_omschrijving"
|
||||
+ " FROM ins_srtcontrole"
|
||||
+ " WHERE (ins_srtcontrole_eind IS NULL OR ins_srtcontrole_eind > SYSDATE)"
|
||||
FCLTselector("srtcontrole", // Soort controle
|
||||
sql,
|
||||
{ initKey: srtcontrole,
|
||||
label: L("lcl_ins_controle_srt"),
|
||||
multi: true,
|
||||
trclass:"primsearch noxd",
|
||||
emptyOption: ""
|
||||
});
|
||||
sql = "SELECT DISTINCT COALESCE(xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) periode_key"
|
||||
+ " , COALESCE(xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) || '" + L("lcl_ins_controle_period_rearyear") + "' periode"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND COALESCE (xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) > 0"
|
||||
+ " ORDER BY 1";
|
||||
FCLTselector("frequentie", // Frequentie
|
||||
sql,
|
||||
{ initKey: frequentie,
|
||||
label: L("lcl_mjb_frequency"),
|
||||
multi: true,
|
||||
trclass:"primsearch noxd",
|
||||
emptyOption: ""
|
||||
});
|
||||
var jaar = new Date().getFullYear();
|
||||
var sqljaren = [];
|
||||
for (var i = 0; i < 30; i++) // TODO: Een setting voor de 30 jaar? Zie ook mjb_dragdropyear.asp.
|
||||
sqljaren.push("SELECT {0}, '{0}' FROM DUAL".format(jaar + i));
|
||||
FCLTselector("toyear",
|
||||
sqljaren.join(" UNION "),
|
||||
{ initKey: toyear,
|
||||
label: L("lcl_mjb_uptoyear")
|
||||
});
|
||||
|
||||
RWFIELDTR("inflatie", "fld", L("lcl_mjb_inflation"), inflatie, { datatype: "number" })
|
||||
RWCHECKBOXTR("incbtw", "fldincbtw", L("lcl_mjb_inclbtw"), incbtw, { html: " value='1' ", trclass: 'noxd'});
|
||||
%> </table>
|
||||
</td><!-- end column 2-->
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -30,16 +30,31 @@ var urole = getQParamSafe("urole", ""); // Indien niet meegegeven, veronderste
|
||||
var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = excel etc
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
|
||||
var autfunction = "";
|
||||
switch(urole)
|
||||
{
|
||||
case "fe": autfunction = "WEB_INSUSE";
|
||||
break;
|
||||
case "fo": autfunction = "WEB_INSFOF";
|
||||
break;
|
||||
case "bo": autfunction = "WEB_INSMAN";
|
||||
break;
|
||||
}
|
||||
// Er zijn INSUSE en CTRUSE rechten nodig.
|
||||
var autfunctionINSUSE = "WEB_INSUSE";
|
||||
var authparamsINSUSE = user.checkAutorisation(autfunctionINSUSE);
|
||||
var autfunctionCTRUSE = "WEB_CTRUSE";
|
||||
var authparamsCTRUSE = user.checkAutorisation(autfunctionCTRUSE);
|
||||
|
||||
var authparamsCTRUSE = user.checkAutorisation(autfunctionCTRUSE, true, null, true); // Pessimistic.
|
||||
var hasReadCTRUSE = authparamsCTRUSE && authparamsCTRUSE.ALGreadlevel < 9 && authparamsCTRUSE.PRSreadlevel < 9;
|
||||
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.
|
||||
var autfunctionINSMAN = "WEB_INSMAN";
|
||||
var authparamsINSMAN = user.checkAutorisation(autfunctionINSMAN, true, null, true); // Pessimistic.
|
||||
var hasReadINSMAN = authparamsINSMAN && authparamsINSMAN.ALGreadlevel < 9 && authparamsINSMAN.PRSreadlevel < 9;
|
||||
var hasWriteINSMAN = authparamsINSMAN && authparamsINSMAN.ALGwritelevel < 9 && authparamsINSMAN.PRSwritelevel < 9;
|
||||
|
||||
// Rechten om alg (locatie) details te kunnen zien.
|
||||
var autfunctionALGUSE = "WEB_ALGUSE";
|
||||
var authparamsALGUSE = user.checkAutorisation(autfunctionALGUSE, true, null, true); // Pessimistic.
|
||||
var hasReadALGUSE = authparamsALGUSE && authparamsALGUSE.ALGreadlevel < 9 && authparamsALGUSE.PRSreadlevel < 9;
|
||||
|
||||
var autfunctionALGMAN = "WEB_ALGMAN";
|
||||
var authparamsALGMAN = user.checkAutorisation(autfunctionALGMAN, true, null, true); // Pessimistic.
|
||||
var hasReadALGMAN = authparamsALGMAN && authparamsALGMAN.ALGreadlevel < 9 && authparamsALGMAN.PRSreadlevel < 9;
|
||||
|
||||
|
||||
var groupby = getQParamInt("groupby");
|
||||
var fulldetails = (groupby == 7); // Geen aggregate, dan kun je van alles manipuleren
|
||||
@@ -47,17 +62,32 @@ var fromyear = getQParamInt("fromyear", new Date().getFullYear());
|
||||
var toyear = getQParamInt("toyear");
|
||||
|
||||
//var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
//var dist_key = getQParamInt("districtkey", -1);
|
||||
var dist_key = getQParamInt("districtkey", -1);
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||||
var disc_key = getQParamInt("disc", -1);
|
||||
var srtgroep_key = getQParamInt("srtgroep", -1);
|
||||
var srtdeel_key = getQParamInt("srtdeel", -1);
|
||||
var srtcontrole = getQParamIntArray("srtcontrole", []); // Taak
|
||||
var inflatiepct = getQParamFloat("inflatie", 1.0);
|
||||
var inflatiefactor = 1 + (inflatiepct / 100);
|
||||
var frequentie = getQParamIntArray("frequentie", []); // Array met frequenties.
|
||||
var incbtw = getQParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven
|
||||
|
||||
var transitParam = buildTransitParam(["toyear", "toyear", "srtgroep", "srtdeel", "inflatie"]);
|
||||
|
||||
var params = { dist_key: dist_key,
|
||||
loc_key: loc_key,
|
||||
bld_key: bld_key,
|
||||
disc_key: disc_key,
|
||||
insgroup_key: srtgroep_key,
|
||||
objsrt_key_arr: srtdeel_key,
|
||||
mjbgroup: groupby,
|
||||
mjbtoyear: toyear,
|
||||
mjbsrtcontr: srtcontrole.join(","),
|
||||
mjbinfl_pct: inflatiepct,
|
||||
mjbfreq: frequentie.join(","),
|
||||
mjbincbtw: incbtw
|
||||
}
|
||||
var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrole", "inflatie", "frequentie", "incbtw", "toyear"]);
|
||||
// lcl.set_dialect(1 /* ctr_discipline */, "CTR_DISCIPLINE_KEY");
|
||||
|
||||
%>
|
||||
@@ -66,41 +96,49 @@ var transitParam = buildTransitParam(["toyear", "toyear", "srtgroep", "srtdeel",
|
||||
<%
|
||||
FCLTHeader.Generate({ outputmode: outputmode });
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var urole = "<%=urole%>";
|
||||
function naarlocatie(loc_key, deze)
|
||||
{
|
||||
var url = "appl/alg/alg_locatie.asp?key=" + loc_key;
|
||||
var url = "appl/mjb/mjb_search.asp?autosearch=1<%=transitParam%>&locatie_key=" + loc_key;
|
||||
FcltMgr.openDetail(url, $(deze).text());
|
||||
}
|
||||
function exception(ins_key, srtcont_key, ttl)
|
||||
{
|
||||
var url = "../ins/ins_xcp.asp?ins_key=" + ins_key + "&srtcont_key=" + srtcont_key + "&urole=bo";
|
||||
FcltMgr.openModalDetail(url, { titel: ttl, callback: <%=loc_key>0?"FcltMgr.reload":"null"%> });
|
||||
}
|
||||
function moveplan(evt, ins_key, srtcont_key, jaar)
|
||||
{
|
||||
FcltMgr.stopPropagation(evt);
|
||||
if (!jaar)
|
||||
return;
|
||||
<script type="text/javascript">
|
||||
var urole = "<%=urole%>";
|
||||
var fulldetails = <%=fulldetails? 1 : 0%> == 1;
|
||||
function naargebouw(bld_key, deze)
|
||||
{
|
||||
if (fulldetails)
|
||||
var url = "appl/alg/alg_gebouw.asp?key=" + bld_key;
|
||||
else
|
||||
var url = "appl/mjb/mjb_search.asp?autosearch=1&groupby=7<%=transitParam%>&gebouw_key=" + bld_key;
|
||||
FcltMgr.openDetail(url, $(deze).text());
|
||||
}
|
||||
function naardeel(ins_key, deze)
|
||||
{
|
||||
var url = "appl/ins/ins_deel.asp?ins_key=" + ins_key + "&urole=bo";
|
||||
FcltMgr.openDetail(url, $(deze).text());
|
||||
}
|
||||
function exception(ins_key, srtcont_key, ttl)
|
||||
{
|
||||
var url = "../ins/ins_xcp.asp?ins_key=" + ins_key + "&srtcont_key=" + srtcont_key + "&urole=bo";
|
||||
FcltMgr.openModalDetail(url, { titel: ttl, callback: <%=bld_key > 0? "FcltMgr.reload ": "null"%> });
|
||||
}
|
||||
function moveplan(evt, ins_key, srtcont_key, jaar)
|
||||
{
|
||||
FcltMgr.stopPropagation(evt);
|
||||
if (!jaar)
|
||||
return;
|
||||
|
||||
var data = { savemode: "P", // plan-mode
|
||||
ins_keys: ins_key,
|
||||
srtcont_key_arr: srtcont_key,
|
||||
plandatum: new Date(jaar, 1, 1).getTime(),
|
||||
jaar: jaar
|
||||
};
|
||||
protectRequest.dataToken(data);
|
||||
$.post("../ins/ins_inspect_save.asp"
|
||||
, data
|
||||
, <%=loc_key>0?"FcltCallbackRefresh":"FcltCallback"%>
|
||||
, "json"
|
||||
);
|
||||
}
|
||||
$(function ()
|
||||
{
|
||||
$('td.mjobjaar').droppable(
|
||||
var data = { savemode: "P", // plan-mode
|
||||
ins_keys: ins_key,
|
||||
srtcont_key_arr: srtcont_key,
|
||||
plandatum: new Date(jaar, 11, 31).getTime(),
|
||||
jaar: jaar
|
||||
};
|
||||
protectRequest.dataToken(data);
|
||||
$.post("../ins/ins_inspect_save.asp"
|
||||
, data
|
||||
, <%=bld_key > 0? "FcltCallbackRefresh" : "FcltCallback"%>
|
||||
, "json"
|
||||
);
|
||||
}
|
||||
$(function ()
|
||||
{
|
||||
$('td.mjbjaar').droppable(
|
||||
{ drop: function(event, ui)
|
||||
{
|
||||
$td = $(this);
|
||||
@@ -123,8 +161,33 @@ var transitParam = buildTransitParam(["toyear", "toyear", "srtgroep", "srtdeel",
|
||||
revert: true
|
||||
});
|
||||
});
|
||||
})
|
||||
</script>
|
||||
})
|
||||
|
||||
var mjbDeelKeyArray = [];
|
||||
var mjbSrtContrKeyArray = [];
|
||||
function dragDropCallback(json, textStatus, tweede)
|
||||
{
|
||||
for (var i = 0; i < mjbDeelKeyArray.length; i++)
|
||||
{
|
||||
moveplan(null, mjbDeelKeyArray[i], mjbSrtContrKeyArray[i], json.year)
|
||||
}
|
||||
FcltCallbackRefresh(json, textStatus);
|
||||
};
|
||||
|
||||
function mjb_dragdrop(rowArray, isMulti)
|
||||
{
|
||||
var key;
|
||||
for (var i = 0; i < rowArray.length; i++)
|
||||
{
|
||||
rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
||||
mjbDeelKeyArray.push(rowdata.ins);
|
||||
mjbSrtContrKeyArray.push(rowdata.taak);
|
||||
}
|
||||
|
||||
url = "../mjb/mjb_dragdropyear.asp";
|
||||
FcltMgr.openModalDetail(url, L("lcl_mjb_dragdrop_years"), {callback: dragDropCallback});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body id="listbody">
|
||||
|
||||
@@ -136,162 +199,400 @@ var transitParam = buildTransitParam(["toyear", "toyear", "srtgroep", "srtdeel",
|
||||
|
||||
// SQL van objecten met hun eerste vervanging
|
||||
var sql_componenten =
|
||||
"SELECT e.ins_deel_key, "
|
||||
+ " e.ins_srtcontrole_key, "
|
||||
+ " e.ins_srtcontrole_level, "
|
||||
+ " e.ins_srtcontrole_omschrijving, "
|
||||
+ " ins_srtcontrole_kosten, "
|
||||
+ " e.ins_srtcontrole_periode, "
|
||||
+ " EXTRACT (YEAR FROM COALESCE (laatste, ins_deel_aanmaak + e.ins_srtcontrole_periode )) vervangingsjaar "
|
||||
+ " FROM (SELECT el.ins_deel_key, "
|
||||
+ " el.ins_srtcontrole_omschrijving, "
|
||||
+ " ins_srtcontrole_kosten, "
|
||||
+ " ins_deel_aanmaak , "
|
||||
+ " el.ins_srtcontrole_periode, "
|
||||
+ " ins_srtcontrole_key, "
|
||||
+ " ins_srtcontrole_level "
|
||||
+ " FROM ins_v_defined_inspect_xcp el"
|
||||
+ " WHERE ins_srtcontrole_type = 2 " // TODO Altijd 'Vervanging' ?
|
||||
+ (loc_key > 0 ?" AND ins_alg_locatie_key = " + loc_key: "") // Vroeg filteren is *heel* goed voor performance
|
||||
+ (disc_key > 0 ?" AND ins_discipline_key = " + disc_key:"")
|
||||
+ (srtgroep_key > 0?" AND ins_srtgroep_key = " + srtgroep_key:"")
|
||||
+ (srtdeel_key > 0 ?" AND ins_srtdeel_key = " + srtdeel_key:"")
|
||||
+ " AND ins_srtcontrole_periode <> 0) e "
|
||||
+ " LEFT OUTER JOIN " // uitgevoerde taken
|
||||
+ " (SELECT dsc.ins_srtcontrole_key, "
|
||||
+ " dsc.ins_deel_key, "
|
||||
+ " MAX(COALESCE(dsc.ins_deelsrtcontrole_plandatum, dsc.ins_deelsrtcontrole_datum)) laatste "
|
||||
+ " FROM ins_deelsrtcontrole dsc "
|
||||
+ " GROUP BY dsc.ins_srtcontrole_key, dsc.ins_deel_key) c "
|
||||
+ " ON e.ins_deel_key = c.ins_deel_key "
|
||||
+ " AND e.ins_srtcontrole_key = c.ins_srtcontrole_key "
|
||||
"SELECT e.ins_deel_key"
|
||||
+ " , e.ins_srtcontroledl_xcp_key"
|
||||
+ " , e.ins_srtcontrole_key"
|
||||
+ " , e.ins_srtcontrole_level"
|
||||
+ " , e.ins_srtcontrole_omschrijving"
|
||||
+ " , e.ins_srtcontrole_kosten"
|
||||
+ " , e.ins_srtcontrole_kosten2"
|
||||
+ " , e.ins_srtcontrole_kosten3"
|
||||
+ " , e.ins_srtcontrole_materiaal"
|
||||
+ " , e.ins_srtcontrole_periode"
|
||||
+ " , e.ins_srtcontrole_percentage"
|
||||
+ " , e.ins_srtcontrole_opmerking"
|
||||
+ " , EXTRACT (YEAR FROM COALESCE (c.laatste, e.ins_deel_aanmaak)) + e.ins_srtcontrole_periode vervangingsjaar"
|
||||
+ " , e.ins_deel_aantal"
|
||||
+ " , e.ins_srtcontrole_eind"
|
||||
+ " , e.ins_srtcontrole_afbouwtijd"
|
||||
+ " , e.fin_btwtabelwaarde_key"
|
||||
+ " , e.ins_srtcontroledl_xcp_eind"
|
||||
+ " FROM (SELECT el.ins_deel_key"
|
||||
+ " , el.ins_srtcontroledl_xcp_key"
|
||||
+ " , el.ins_srtcontrole_omschrijving"
|
||||
+ " , el.ins_srtcontrole_kosten"
|
||||
+ " , el.ins_srtcontrole_kosten2"
|
||||
+ " , el.ins_srtcontrole_kosten3"
|
||||
+ " , el.ins_srtcontrole_materiaal"
|
||||
+ " , el.ins_deel_aanmaak"
|
||||
+ " , el.ins_srtcontrole_periode"
|
||||
+ " , el.ins_srtcontrole_percentage"
|
||||
+ " , el.ins_srtcontrole_opmerking"
|
||||
+ " , el.ins_srtcontrole_key"
|
||||
+ " , el.ins_srtcontrole_level"
|
||||
+ " , el.ins_deel_aantal"
|
||||
+ " , el.ins_srtcontrole_eind"
|
||||
+ " , el.ins_srtcontrole_afbouwtijd"
|
||||
+ " , el.fin_btwtabelwaarde_key"
|
||||
+ " , el.ins_srtcontroledl_xcp_eind"
|
||||
+ " FROM ins_v_defined_inspect_xcp el"
|
||||
+ " WHERE el.ins_srtcontrole_type = 2" // TODO Altijd 'Vervanging' ?
|
||||
// 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 + ")"
|
||||
: "")
|
||||
+ (loc_key > 0
|
||||
? " AND el.ins_alg_locatie_key = " + loc_key
|
||||
: "")
|
||||
+ (bld_key > 0
|
||||
? " AND el.ins_alg_locatie_key = (SELECT alg_locatie_key FROM alg_gebouw WHERE alg_gebouw_key = " + bld_key + ")"
|
||||
: "")
|
||||
+ (disc_key > 0
|
||||
? " AND el.ins_discipline_key = " + disc_key
|
||||
: "")
|
||||
+ (srtgroep_key > 0
|
||||
? " AND el.ins_srtgroep_key = " + srtgroep_key
|
||||
: "")
|
||||
+ (srtdeel_key > 0
|
||||
? " AND el.ins_srtdeel_key = " + srtdeel_key
|
||||
: "")
|
||||
+ " AND 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 + ")"
|
||||
+ (srtcontrole.length > 0
|
||||
? " AND el.ins_srtcontrole_key IN (" + srtcontrole.join(",") + ")"
|
||||
: "")
|
||||
+ (frequentie.length > 0
|
||||
? " AND el.ins_srtcontrole_periode IN (" + frequentie.join(",") + ")"
|
||||
: "")
|
||||
+ " ) e"
|
||||
+ " LEFT OUTER JOIN" // uitgevoerde taken
|
||||
+ " (SELECT dsc.ins_srtcontrole_key"
|
||||
+ " , dsc.ins_deel_key"
|
||||
+ " , MAX(COALESCE((SELECT dsc1.ins_deelsrtcontrole_plandatum"
|
||||
+ " FROM ins_deelsrtcontrole dsc1"
|
||||
+ " WHERE dsc1.ins_deel_key = dsc.ins_deel_key"
|
||||
+ " AND dsc1.ins_srtcontrole_key = dsc.ins_srtcontrole_key"
|
||||
+ " AND dsc1.ins_deelsrtcontrole_status < 5)"
|
||||
+ " , dsc.ins_deelsrtcontrole_datum)) laatste"
|
||||
+ " FROM ins_deelsrtcontrole dsc"
|
||||
+ " GROUP BY dsc.ins_srtcontrole_key, dsc.ins_deel_key) c"
|
||||
+ " ON e.ins_deel_key = c.ins_deel_key"
|
||||
+ " AND e.ins_srtcontrole_key = c.ins_srtcontrole_key"
|
||||
|
||||
var ins_xcp_active_cost = S("ins_xcp_active_cost");
|
||||
var costarray = [];
|
||||
if (ins_xcp_active_cost & 1) costarray.push("COALESCE(comp.ins_srtcontrole_kosten, 0)");
|
||||
if (ins_xcp_active_cost & 2) costarray.push("COALESCE(comp.ins_srtcontrole_kosten2, 0)");
|
||||
if (ins_xcp_active_cost & 4) costarray.push("COALESCE(comp.ins_srtcontrole_kosten3, 0)");
|
||||
if (ins_xcp_active_cost & 8) costarray.push("COALESCE(comp.ins_srtcontrole_materiaal, 0)");
|
||||
var sqlcost = "";
|
||||
if (costarray.length > 0)
|
||||
sqlcost = "(" + costarray.join(" + ") + ") *";
|
||||
|
||||
var sql_yearcost =
|
||||
"SELECT comp.ins_deel_key, "
|
||||
+ " comp.ins_srtcontrole_key, "
|
||||
+ " comp.ins_srtcontrole_level, "
|
||||
+ " comp.ins_srtcontrole_omschrijving, "
|
||||
+ " comp.vervangingsjaar, "
|
||||
+ " ins_srtcontrole_periode, "
|
||||
+ " COALESCE (comp.ins_srtcontrole_kosten * POWER(" + inflatiefactor + " , vervangingsjaar - EXTRACT(YEAR FROM SYSDATE)), 0) bedrag, "
|
||||
+ " hierlevel"
|
||||
+ " FROM ( WITH comps (ins_deel_key, "
|
||||
+ " ins_srtcontrole_key, "
|
||||
+ " ins_srtcontrole_level, "
|
||||
+ " ins_srtcontrole_omschrijving, "
|
||||
+ " ins_srtcontrole_kosten, "
|
||||
+ " vervangingsjaar, "
|
||||
+ " ins_srtcontrole_periode, "
|
||||
+ " hierlevel) AS "
|
||||
+ " ( SELECT ins_deel_key, "
|
||||
+ " ins_srtcontrole_key, "
|
||||
+ " ins_srtcontrole_level, "
|
||||
+ " ins_srtcontrole_omschrijving, "
|
||||
+ " ins_srtcontrole_kosten, "
|
||||
+ " vervangingsjaar, "
|
||||
+ " ins_srtcontrole_periode, "
|
||||
+ " 1 hierlevel "
|
||||
+ " FROM (" + sql_componenten + ") "
|
||||
+ " WHERE vervangingsjaar IS NOT NULL "
|
||||
+ " UNION ALL " // latere jaren
|
||||
+ " SELECT m.ins_deel_key, "
|
||||
+ " m.ins_srtcontrole_key, "
|
||||
+ " m.ins_srtcontrole_level, "
|
||||
+ " m.ins_srtcontrole_omschrijving, "
|
||||
+ " m.ins_srtcontrole_kosten, "
|
||||
+ " m.vervangingsjaar + m.ins_srtcontrole_periode, "
|
||||
+ " m.ins_srtcontrole_periode, "
|
||||
+ " m.hierlevel + 1 "
|
||||
+ " FROM comps m "
|
||||
+ " WHERE (m.vervangingsjaar + m.ins_srtcontrole_periode <= " + toyear + ")) "
|
||||
+ " SELECT * "
|
||||
+ " FROM comps "
|
||||
+ " ) comp "
|
||||
"SELECT comp.ins_deel_key"
|
||||
+ " , comp.ins_srtcontroledl_xcp_key"
|
||||
+ " , comp.ins_srtcontrole_key"
|
||||
+ " , comp.ins_srtcontrole_level"
|
||||
+ " , comp.ins_srtcontrole_omschrijving"
|
||||
+ " , comp.vervangingsjaar"
|
||||
+ " , comp.ins_srtcontrole_periode"
|
||||
+ " , comp.ins_srtcontrole_opmerking"
|
||||
+ " , COALESCE (comp.ins_deel_aantal *"
|
||||
+ sqlcost
|
||||
+ " (comp.ins_srtcontrole_percentage / 100) *"
|
||||
+ (incbtw
|
||||
? " (1 + COALESCE((SELECT fbtw.fin_btwtabelwaarde_perc"
|
||||
+ " FROM fin_btwtabelwaarde fbtw"
|
||||
+ " WHERE fbtw.fin_btwtabelwaarde_key = comp.fin_btwtabelwaarde_key) / 100"
|
||||
+ " , 0)) *"
|
||||
: "")
|
||||
+ " POWER(" + inflatiefactor + " , vervangingsjaar - EXTRACT(YEAR FROM SYSDATE))"
|
||||
+ " , 0) bedrag"
|
||||
+ " , hierlevel"
|
||||
+ " , comp.ins_deel_aantal"
|
||||
+ " , comp.ins_srtcontrole_eind"
|
||||
+ " , comp.ins_srtcontrole_afbouwtijd"
|
||||
+ " , comp.fin_btwtabelwaarde_key"
|
||||
+ " , comp.ins_srtcontroledl_xcp_eind"
|
||||
+ " FROM (WITH comps (ins_deel_key" // Recursive WITH statement om het volgende vervangingsjaar te vinden (m.vervangingsjaar + m.ins_srtcontrole_periode).
|
||||
+ " , ins_srtcontroledl_xcp_key"
|
||||
+ " , ins_srtcontrole_key"
|
||||
+ " , ins_srtcontrole_level"
|
||||
+ " , ins_srtcontrole_omschrijving"
|
||||
+ " , ins_srtcontrole_kosten"
|
||||
+ " , ins_srtcontrole_kosten2"
|
||||
+ " , ins_srtcontrole_kosten3"
|
||||
+ " , ins_srtcontrole_materiaal"
|
||||
+ " , ins_srtcontrole_periode"
|
||||
+ " , ins_srtcontrole_percentage"
|
||||
+ " , ins_srtcontrole_opmerking"
|
||||
+ " , vervangingsjaar"
|
||||
+ " , hierlevel"
|
||||
+ " , ins_deel_aantal"
|
||||
+ " , ins_srtcontrole_eind"
|
||||
+ " , ins_srtcontrole_afbouwtijd"
|
||||
+ " , fin_btwtabelwaarde_key"
|
||||
+ " , ins_srtcontroledl_xcp_eind)"
|
||||
+ " AS (SELECT ins_deel_key"
|
||||
+ " , ins_srtcontroledl_xcp_key"
|
||||
+ " , ins_srtcontrole_key"
|
||||
+ " , ins_srtcontrole_level"
|
||||
+ " , ins_srtcontrole_omschrijving"
|
||||
+ " , ins_srtcontrole_kosten"
|
||||
+ " , ins_srtcontrole_kosten2"
|
||||
+ " , ins_srtcontrole_kosten3"
|
||||
+ " , ins_srtcontrole_materiaal"
|
||||
+ " , ins_srtcontrole_periode"
|
||||
+ " , ins_srtcontrole_percentage"
|
||||
+ " , ins_srtcontrole_opmerking"
|
||||
+ " , vervangingsjaar"
|
||||
+ " , 1 hierlevel"
|
||||
+ " , ins_deel_aantal"
|
||||
+ " , ins_srtcontrole_eind"
|
||||
+ " , ins_srtcontrole_afbouwtijd"
|
||||
+ " , fin_btwtabelwaarde_key"
|
||||
+ " , ins_srtcontroledl_xcp_eind"
|
||||
+ " FROM (" + sql_componenten + ")"
|
||||
+ " WHERE vervangingsjaar IS NOT NULL"
|
||||
+ " UNION ALL" // latere jaren
|
||||
+ " SELECT m.ins_deel_key"
|
||||
+ " , m.ins_srtcontroledl_xcp_key"
|
||||
+ " , m.ins_srtcontrole_key"
|
||||
+ " , m.ins_srtcontrole_level"
|
||||
+ " , m.ins_srtcontrole_omschrijving"
|
||||
+ " , m.ins_srtcontrole_kosten"
|
||||
+ " , m.ins_srtcontrole_kosten2"
|
||||
+ " , m.ins_srtcontrole_kosten3"
|
||||
+ " , m.ins_srtcontrole_materiaal"
|
||||
+ " , m.ins_srtcontrole_periode"
|
||||
+ " , m.ins_srtcontrole_percentage"
|
||||
+ " , m.ins_srtcontrole_opmerking"
|
||||
+ " , m.vervangingsjaar + m.ins_srtcontrole_periode"
|
||||
+ " , m.hierlevel + 1"
|
||||
+ " , m.ins_deel_aantal"
|
||||
+ " , m.ins_srtcontrole_eind"
|
||||
+ " , m.ins_srtcontrole_afbouwtijd"
|
||||
+ " , m.fin_btwtabelwaarde_key"
|
||||
+ " , m.ins_srtcontroledl_xcp_eind"
|
||||
+ " FROM comps m"
|
||||
+ " WHERE (m.vervangingsjaar + m.ins_srtcontrole_periode <= " + toyear + "))"
|
||||
+ " SELECT *"
|
||||
+ " FROM comps"
|
||||
+ " ) comp"
|
||||
|
||||
var jaren = [];
|
||||
for (var i = fromyear; i <= toyear; i++)
|
||||
jaren.push(i);
|
||||
|
||||
var sql_cost = "SELECT alg_locatie_plaats"
|
||||
+ " , alg_locatie_omschrijving"
|
||||
var keyColomn = "";
|
||||
switch (groupby)
|
||||
{
|
||||
case 1: keyColumn = "d.alg_district_key";
|
||||
break;
|
||||
case 2: keyColumn = "dg.alg_gebouw_key";
|
||||
break;
|
||||
case 3: keyColumn = "dg.ins_discipline_key";
|
||||
break;
|
||||
case 4: keyColumn = "dg.ins_srtgroep_key";
|
||||
break;
|
||||
case 5: keyColumn = "dg.ins_srtdeel_key";
|
||||
break;
|
||||
case 6:
|
||||
case 7: keyColumn = "dg.ins_deel_key";
|
||||
break;
|
||||
}
|
||||
|
||||
var sql_cost_verval = "SELECT d.alg_district_key"
|
||||
+ " , d.alg_district_omschrijving"
|
||||
+ " , g.alg_gebouw_omschrijving"
|
||||
+ " , g.alg_gebouw_key"
|
||||
+ " , dg.ins_deel_omschrijving"
|
||||
+ " , dg.ins_discipline_omschrijving"
|
||||
+ " , dg.ins_srtgroep_omschrijving"
|
||||
+ " , dg.ins_srtdeel_omschrijving"
|
||||
+ " , cy.ins_srtcontrole_omschrijving"
|
||||
+ " , cy.ins_deel_key"
|
||||
+ " , " + keyColumn + " keyColumn"
|
||||
+ " , cy.ins_srtcontroledl_xcp_key"
|
||||
+ " , cy.ins_srtcontrole_key"
|
||||
+ " , cy.ins_srtcontrole_periode"
|
||||
+ " , cy.ins_srtcontrole_opmerking"
|
||||
+ " , cy.ins_srtcontrole_level"
|
||||
+ " , g.alg_gebouw_vervaldatum"
|
||||
+ " , dg.ins_deel_vervaldatum"
|
||||
+ " , cy.ins_srtcontroledl_xcp_eind"
|
||||
+ " , cy.ins_srtcontrole_eind"
|
||||
+ " , EXTRACT(YEAR FROM ADD_MONTHS(LEAST (COALESCE(g.alg_gebouw_vervaldatum"
|
||||
+ " , dg.ins_deel_vervaldatum"
|
||||
+ " , COALESCE(cy.ins_srtcontroledl_xcp_eind, cy.ins_srtcontrole_eind))"
|
||||
+ " , COALESCE(COALESCE(cy.ins_srtcontroledl_xcp_eind, cy.ins_srtcontrole_eind)"
|
||||
+ " , g.alg_gebouw_vervaldatum"
|
||||
+ " , dg.ins_deel_vervaldatum)"
|
||||
+ " , COALESCE(dg.ins_deel_vervaldatum"
|
||||
+ " , COALESCE(cy.ins_srtcontroledl_xcp_eind, cy.ins_srtcontrole_eind)"
|
||||
+ " , g.alg_gebouw_vervaldatum)),"
|
||||
+ " -12 * COALESCE(cy.ins_srtcontrole_afbouwtijd, 0))"
|
||||
+ " ) vervaljaar"
|
||||
+ " , vervangingsjaar"
|
||||
+ " , ins_srtcontrole_afbouwtijd afbouwtijd"
|
||||
+ " , bedrag"
|
||||
+ " FROM (" + sql_yearcost + ") cy"
|
||||
+ " , ins_v_deel_gegevens dg"
|
||||
+ " , alg_district d"
|
||||
+ " , alg_locatie l"
|
||||
+ " , alg_gebouw g"
|
||||
+ " WHERE cy.ins_deel_key = dg.ins_deel_key"
|
||||
+ " AND dg.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND d.alg_district_key = l.alg_district_key"
|
||||
+ " AND dg.alg_gebouw_key = g.alg_gebouw_key";
|
||||
|
||||
var sql_cost = "SELECT alg_district_key"
|
||||
+ " , alg_district_omschrijving"
|
||||
+ " , alg_gebouw_omschrijving"
|
||||
+ " , alg_gebouw_key"
|
||||
+ " , ins_deel_omschrijving"
|
||||
+ " , ins_discipline_omschrijving"
|
||||
+ " , ins_srtgroep_omschrijving"
|
||||
+ " , ins_srtdeel_omschrijving"
|
||||
+ " , ins_srtcontrole_omschrijving"
|
||||
+ " , cy.ins_deel_key"
|
||||
+ " , cy.ins_srtcontrole_key"
|
||||
+ " , ins_deel_key"
|
||||
+ " , keyColumn"
|
||||
+ " , ins_srtcontroledl_xcp_key"
|
||||
+ " , ins_srtcontrole_key"
|
||||
+ " , ins_srtcontrole_periode"
|
||||
+ " , l.alg_locatie_key "
|
||||
+ " , ins_srtcontrole_level "
|
||||
+ " , vervangingsjaar "
|
||||
+ " , ins_srtcontrole_opmerking"
|
||||
+ " , ins_srtcontrole_level"
|
||||
+ " , vervaljaar"
|
||||
+ " , vervangingsjaar"
|
||||
+ " , afbouwtijd"
|
||||
+ " , 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 (0)) IS NOT NULL"
|
||||
+ " THEN 1"
|
||||
+ " ELSE 0"
|
||||
+ " END isPlanned"
|
||||
+ " , bedrag AS orgbedrag"
|
||||
// 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) "
|
||||
+ " OVER (PARTITION BY cy.ins_deel_key, vervangingsjaar) < ins_srtcontrole_level"
|
||||
+ " OVER (PARTITION BY ins_deel_key, vervangingsjaar) < ins_srtcontrole_level"
|
||||
+ " OR"
|
||||
+ " vervaljaar < vervangingsjaar"
|
||||
+ " THEN 0 "
|
||||
+ " ELSE bedrag "
|
||||
+ " END bedrag"
|
||||
+ " FROM (" + sql_yearcost + ") cy, ins_v_deel_gegevens dg, alg_locatie l"
|
||||
+ " WHERE cy.ins_deel_key = dg.ins_deel_key"
|
||||
+ " AND dg.alg_locatie_key = l.alg_locatie_key";
|
||||
+ " END bedrag"
|
||||
+ " FROM (" + sql_cost_verval + ") cv";
|
||||
|
||||
if (!fulldetails)
|
||||
{
|
||||
var fields = ["alg_locatie_plaats", "alg_locatie_omschrijving", "ins_discipline_omschrijving",
|
||||
"ins_srtgroep_omschrijving","ins_srtdeel_omschrijving", "ins_deel_omschrijving", "ins_srtcontrole_omschrijving"];
|
||||
while (fields.length > groupby)
|
||||
fields.pop();
|
||||
var fields = ["alg_district_omschrijving", "alg_gebouw_omschrijving", "ins_discipline_omschrijving",
|
||||
"ins_srtgroep_omschrijving", "ins_srtdeel_omschrijving", "ins_deel_omschrijving"];
|
||||
while (fields.length > groupby)
|
||||
fields.pop();
|
||||
|
||||
var sql_cost = "SELECT " + fields.join(", ") + ","
|
||||
+ " alg_locatie_key, "
|
||||
+ " ins_srtcontrole_level, "
|
||||
+ " vervangingsjaar, "
|
||||
+ " SUM(bedrag) bedrag,"
|
||||
+ " SUM(orgbedrag) orgbedrag"
|
||||
+ " FROM (" + sql_cost + ")"
|
||||
+ " GROUP BY " + fields.join(", ") + ", alg_locatie_key, ins_srtcontrole_level, vervangingsjaar";
|
||||
var sql_cost = "SELECT " + fields.join(", ")
|
||||
+ (groupby > 1
|
||||
? " , alg_gebouw_key"
|
||||
: "")
|
||||
+ " , keyColumn"
|
||||
+ " , vervangingsjaar"
|
||||
+ " , SUM(bedrag) bedrag"
|
||||
+ " , SUM(orgbedrag) orgbedrag"
|
||||
+ " FROM (" + sql_cost + ")"
|
||||
+ " GROUP BY " + fields.join(", ")
|
||||
+ (groupby > 1
|
||||
? " , alg_gebouw_key"
|
||||
: "" )
|
||||
+ " , keyColumn"
|
||||
+ " , vervangingsjaar";
|
||||
}
|
||||
|
||||
var sql = "SELECT * FROM ("
|
||||
var sql = "SELECT *"
|
||||
+ " FROM ("
|
||||
+ sql_cost
|
||||
+ ") PIVOT (SUM(bedrag), SUM(orgbedrag) AS orgbedrag "
|
||||
//+ " , COUNT(vervangingsjaar) firstyear"
|
||||
+ " FOR vervangingsjaar IN (" + jaren.join(",") + ") )"
|
||||
+ ") PIVOT (SUM(bedrag), SUM(orgbedrag) AS orgbedrag "
|
||||
+ " FOR vervangingsjaar IN (" + jaren.join(",") + ") )"
|
||||
+ " ORDER BY 1"
|
||||
for (var i = 2; i <= groupby; i++)
|
||||
{
|
||||
sql += "," + String(i)
|
||||
sql += "," + String(i)
|
||||
}
|
||||
|
||||
function fnkeyFunction(oRs)
|
||||
{
|
||||
if (fulldetails)
|
||||
return oRs("ins_deel_key").Value + "-" + oRs("ins_srtcontrole_key").Value;
|
||||
else
|
||||
return oRs("keyColumn").Value;
|
||||
}
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var data = {
|
||||
loc: oRs("alg_locatie_key").Value
|
||||
};
|
||||
var data = {};
|
||||
if (fulldetails)
|
||||
{
|
||||
data.ins = oRs("ins_deel_key").Value;
|
||||
data.taak= oRs("ins_srtcontrole_key").Value;
|
||||
data.taak = oRs("ins_srtcontrole_key").Value;
|
||||
}
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
function fnrowClass(oRs)
|
||||
{
|
||||
if (!fulldetails)
|
||||
return "";
|
||||
var lclass = oRs("ins_srtcontroledl_xcp_key").Value != null? "mjbxcp" : "";
|
||||
if (oRs("isPlanned").Value == 1)
|
||||
lclass += " mjbplanned"
|
||||
return lclass;
|
||||
}
|
||||
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var data = {};
|
||||
return data;
|
||||
}
|
||||
|
||||
function fnLocatie(oRs)
|
||||
function fnGebouw(oRs)
|
||||
{
|
||||
return "<span class='details' onclick='naarlocatie({0}, this)'>{1}</span>".format(oRs("alg_locatie_key").Value, safe.html(oRs("alg_locatie_omschrijving").Value));
|
||||
if (hasReadALGUSE || hasReadALGMAN)
|
||||
{
|
||||
return "<span class='details' onclick='naargebouw({0}, this)'>{1}</span>".format(oRs("alg_gebouw_key").Value, safe.html(oRs("alg_gebouw_omschrijving").Value));
|
||||
}
|
||||
else
|
||||
return safe.html(oRs("alg_gebouw_omschrijving").Value);
|
||||
}
|
||||
|
||||
function fnDeel(oRs)
|
||||
{ // Alleen voor groupby Element(6) en Taak(7)
|
||||
if (hasReadINSMAN)
|
||||
{
|
||||
return "<span class='details' onclick='naardeel({0}, this)'>{1}</span>".format(oRs("keyColumn").Value, safe.html(oRs("ins_deel_omschrijving").Value));
|
||||
}
|
||||
else
|
||||
return safe.html(oRs("ins_deel_omschrijving").Value);
|
||||
}
|
||||
|
||||
function fnSrtcontrole(oRs)
|
||||
{
|
||||
var hasXcp = oRs("ins_srtcontroledl_xcp_key").Value != null;
|
||||
if ((hasXcp && hasReadCTRUSE && hasReadINSMAN) || (hasWriteCTRUSE && hasWriteINSMAN))
|
||||
{
|
||||
var fncall = "exception({0}, {1}, '{2}')"
|
||||
.format(oRs("ins_deel_key").Value,
|
||||
oRs("ins_srtcontrole_key").Value,
|
||||
@@ -299,119 +600,162 @@ var transitParam = buildTransitParam(["toyear", "toyear", "srtgroep", "srtdeel",
|
||||
return "<span class='details' onclick='{0}'>{1}</span>"
|
||||
.format(safe.htmlattr(fncall),
|
||||
safe.html(oRs("ins_srtcontrole_omschrijving").Value));
|
||||
}
|
||||
else
|
||||
return safe.html(oRs("ins_srtcontrole_omschrijving").Value);
|
||||
}
|
||||
function fnfnBedrag(jaar) // altijd afronden
|
||||
{
|
||||
return function (oRs)
|
||||
{
|
||||
var v = Math.round(oRs(jaar).Value);
|
||||
return v?v:"";
|
||||
}
|
||||
return function (oRs)
|
||||
{
|
||||
var v = safe.curr(Math.round(oRs(jaar).Value));
|
||||
return v? v : "";
|
||||
}
|
||||
}
|
||||
function fnfnBedragNumber(jaar) // Voor optellen
|
||||
{
|
||||
return function (oRs)
|
||||
{
|
||||
return oRs(jaar).Value;
|
||||
}
|
||||
return function (oRs)
|
||||
{
|
||||
return oRs(jaar).Value;
|
||||
}
|
||||
}
|
||||
function totalShow(column, rowNum)
|
||||
{
|
||||
return Math.round(column.totalsum);
|
||||
return safe.curr(Math.round(column.totalsum));
|
||||
}
|
||||
|
||||
// Voor de laatste kolom
|
||||
function fnTotal(oRs)
|
||||
{
|
||||
var s = 0;
|
||||
for (var j = 0; j < jaren.length; j++)
|
||||
{
|
||||
s = s + oRs(String(jaren[j])).Value;
|
||||
}
|
||||
return Math.round(s);
|
||||
var s = 0;
|
||||
for (var j = 0; j < jaren.length; j++)
|
||||
{
|
||||
s = s + oRs(String(jaren[j])).Value;
|
||||
}
|
||||
return safe.curr(Math.round(s));
|
||||
}
|
||||
|
||||
var doneclik = {}; // Altijd alleen de eerste klikken
|
||||
function fnfnClickBedrag(jaar) // altijd afronden
|
||||
{
|
||||
return function (oRs)
|
||||
return function (oRs)
|
||||
{
|
||||
if (oRs(jaar).Value == null)
|
||||
return "";
|
||||
var v = Math.round(oRs(jaar).Value);
|
||||
var org_v = Math.round(oRs(jaar + "_ORGBEDRAG").Value);
|
||||
if (v == 0) // (jaar >= vervaljaar) //
|
||||
{
|
||||
if (oRs(jaar).Value == null)
|
||||
return "";
|
||||
var v = Math.round(oRs(jaar).Value);
|
||||
var org_v = Math.round(oRs(jaar + "_ORGBEDRAG").Value);
|
||||
if (v != org_v)
|
||||
v = "<span class='mjborgbedrag'>({1})</span>{0}".format(v, org_v);
|
||||
|
||||
var deel_key = oRs("ins_deel_key").Value;
|
||||
var srtcont_key = oRs("ins_srtcontrole_key").Value;
|
||||
if ((deel_key + ":" + srtcont_key) in doneclik )
|
||||
return v;
|
||||
|
||||
doneclik[deel_key + ":" + srtcont_key] = 1;
|
||||
|
||||
return "<span class='details draggable'>{0}</span>".format(v)
|
||||
/* experimenteel inline schuiven
|
||||
var fnprev = "moveplan(event, {0}, {1}, {2}-1)".format(deel_key, srtcont_key, jaar);
|
||||
var fnnext = "moveplan(event, {0}, {1}, {2}+1)".format(deel_key, srtcont_key, jaar);
|
||||
return "<span class='details' onclick='{0}'><</span>".format(fnprev)
|
||||
+ String(v)
|
||||
+ "<span class='details' onclick='{0}'>></span>".format(fnnext);
|
||||
*/
|
||||
var vervaljaar = oRs("vervaljaar").Value;
|
||||
if (vervaljaar != null && jaar >= vervaljaar)
|
||||
//return "<span class='mjbxcp'></span>";
|
||||
return "";
|
||||
}
|
||||
if (v != org_v)
|
||||
v = "<span class='mjborgbedrag'>({1})</span>{0}".format(safe.curr(v), safe.curr(org_v));
|
||||
|
||||
var deel_key = oRs("ins_deel_key").Value;
|
||||
var srtcont_key = oRs("ins_srtcontrole_key").Value;
|
||||
if ((deel_key + ":" + srtcont_key) in doneclik )
|
||||
return safe.curr(v);
|
||||
|
||||
doneclik[deel_key + ":" + srtcont_key] = 1;
|
||||
|
||||
// INSUSE read rechten heb je al nodig om dit overzicht te zien.
|
||||
return "<span" + (hasWriteCTRUSE? " class='details draggable'" : "") + ">{0}</span>".format(safe.curr(v))
|
||||
|
||||
/* experimenteel inline schuiven
|
||||
var fnprev = "moveplan(event, {0}, {1}, {2}-1)".format(deel_key, srtcont_key, jaar);
|
||||
var fnnext = "moveplan(event, {0}, {1}, {2}+1)".format(deel_key, srtcont_key, jaar);
|
||||
return "<span class='details' onclick='{0}'><</span>".format(fnprev)
|
||||
+ String(v)
|
||||
+ "<span class='details' onclick='{0}'>></span>".format(fnnext);
|
||||
*/
|
||||
}
|
||||
}
|
||||
function fnTooltip(oRs)
|
||||
|
||||
function fnfncolClass(jaar)
|
||||
{
|
||||
return oRs("ins_srtcontrole_periode") + " " + L("lcl_ins_controle_period_rearyear")
|
||||
return function (oRs)
|
||||
{
|
||||
var v = Math.round(oRs(jaar).Value);
|
||||
if (fulldetails)
|
||||
{
|
||||
var vervaljaar = oRs("vervaljaar").Value;
|
||||
var afbouwtijd = oRs("afbouwtijd").Value || 0;
|
||||
if (jaar > vervaljaar - afbouwtijd) // Afzien van taken/vervangeing/inspecties. Geen kosten meer.
|
||||
{
|
||||
if (vervaljaar != null && afbouwtijd != null && jaar > vervaljaar - afbouwtijd && jaar <= vervaljaar)
|
||||
return "mjbjaar mjbafbouw";
|
||||
else if (vervaljaar != null && jaar > vervaljaar)
|
||||
return "mjbjaar mjbverval";
|
||||
}
|
||||
return "mjbjaar";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var buttons = [];
|
||||
buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
||||
|
||||
var rst = new ResultsetTable({ //keyColumn: "ins_deel_key",
|
||||
var rst = new ResultsetTable({ keyColumn: fnkeyFunction,
|
||||
sql: sql,
|
||||
ID: "mjobtable",
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
//suppressKeyRepeat: "alg_locatie_omschrijving",
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
totalShow: totalShow,
|
||||
flexModule: "INS",
|
||||
multiple: true,
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
//title: (parent_key? L("lcl_subobjects") : (koppel_key? L("lcl_ins_koppelobjects") : (inspect? L("lcl_ins_planned_activities"): L("lcl_ins_objects")))),
|
||||
showAll: showall,
|
||||
buttons: buttons
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("level"), content: "ins_srtcontrole_level"}));
|
||||
rst.addColumn(new Column({caption: L("Plaats"), content: "alg_locatie_plaats"}));
|
||||
//rst.addColumn(new Column({caption: L("level"), content: "ins_srtcontrole_level" /*, hasActions: true*/}));
|
||||
rst.addColumn(new Column({caption: L("lcl_district"), content: "alg_district_omschrijving"}));
|
||||
if (groupby > 1)
|
||||
rst.addColumn(new Column({caption: L("Locatie"), content: loc_key>0?"alg_locatie_omschrijving":fnLocatie }));
|
||||
rst.addColumn(new Column({caption: L("lcl_building"), content: fnGebouw }));
|
||||
if (!fulldetails)
|
||||
{
|
||||
if (groupby > 2) rst.addColumn(new Column({caption: L("Hoofdrecept"), content: "ins_discipline_omschrijving"}));
|
||||
if (groupby > 3) rst.addColumn(new Column({caption: L("Groeprecept"), content: "ins_srtgroep_omschrijving"}));
|
||||
if (groupby > 4) rst.addColumn(new Column({caption: L("Subrecept"), content: "ins_srtdeel_omschrijving"}));
|
||||
if (groupby > 2) rst.addColumn(new Column({caption: L("lcl_discipline"), content: "ins_discipline_omschrijving"}));
|
||||
if (groupby > 3) rst.addColumn(new Column({caption: L("lcl_obj_group"), content: "ins_srtgroep_omschrijving"}));
|
||||
if (groupby > 4) rst.addColumn(new Column({caption: L("lcl_obj_sort"), content: "ins_srtdeel_omschrijving"}));
|
||||
}
|
||||
if (groupby > 5) rst.addColumn(new Column({caption: L("Element"), content: "ins_deel_omschrijving"}));
|
||||
if (groupby > 5) rst.addColumn(new Column({caption: L("lcl_ins_object"), content: fnDeel}));
|
||||
if (fulldetails)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_ins_controle_srt"), content: fnSrtcontrole, tooltip: fnTooltip}));
|
||||
//rst.addColumn(new Column({caption: L("firstyear"), datatype: "number", content: "firstyear"}));
|
||||
//rst.addColumn(new Column({caption: L("periode"), datatype: "number", content: "ins_srtcontrole_periode"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_ins_controle_srt"), content: fnSrtcontrole, tooltip: "ins_srtcontrole_opmerking"}));
|
||||
}
|
||||
for (var j = 0; j < jaren.length; j++)
|
||||
{
|
||||
if (fulldetails)
|
||||
var content = fnfnClickBedrag(String(jaren[j]));
|
||||
else
|
||||
var content = fnfnBedrag(String(jaren[j]));
|
||||
rst.addColumn(new Column({caption: String(jaren[j]), datatype: "number",
|
||||
tdClass: "mjobjaar",
|
||||
content: content, total: true, fnAmount: fnfnBedragNumber(String(jaren[j])) }));
|
||||
if (fulldetails)
|
||||
var content = fnfnClickBedrag(String(jaren[j]));
|
||||
else
|
||||
var content = fnfnBedrag(String(jaren[j]));
|
||||
rst.addColumn(new Column({caption: String(jaren[j]), datatype: "number",
|
||||
tdClass: "mjbjaar",
|
||||
content: content,
|
||||
columnClass: fnfncolClass(String(jaren[j])),
|
||||
total: true,
|
||||
fnAmount: fnfnBedragNumber(String(jaren[j]))
|
||||
}));
|
||||
}
|
||||
rst.addColumn(new Column({caption: L("lcl_Total"), datatype: "number",
|
||||
tdClass: "mjbtotal",
|
||||
content: fnTotal, total: true }));
|
||||
tdClass: "mjbtotal",
|
||||
content: fnTotal,
|
||||
total: true
|
||||
}));
|
||||
|
||||
/* de mogelijke acties */
|
||||
if (fulldetails)
|
||||
{
|
||||
rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true } );
|
||||
}
|
||||
|
||||
var count = rst.processResultset();
|
||||
|
||||
|
||||
@@ -2782,7 +2782,7 @@ body.likemodal {
|
||||
#mod_bijlagen {width:600px;}
|
||||
#mod_resmulti_save {width:500px;}
|
||||
#mod_insmultiedit {width:500px;height:250px;}
|
||||
#mod_insxcp {width:600px;}
|
||||
#mod_insxcp {width:800px;}
|
||||
#mod_mldobj {width:900px;}
|
||||
body.mod_edit_mandate {width:500px;}
|
||||
#mod_pass2mail {width:500px;}
|
||||
@@ -4015,19 +4015,40 @@ td.kpidetails {
|
||||
.mjbtotal {
|
||||
border-left:1px solid #aaa;
|
||||
}
|
||||
.mjbplanned td {
|
||||
background: -webkit-linear-gradient(top, rgba(255, 254, 156, 1), rgba(255, 254, 156, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
||||
background: -moz-linear-gradient(top, rgba(255, 254, 156, 1), rgba(255, 254, 156, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||
background: linear-gradient(to top, rgba(255, 254, 156, 0.6), rgba(255, 254, 156, 0.4) 50%); /* Standard syntax */
|
||||
background-color: #FFEB9C\9; /* IE 8 and below */
|
||||
}
|
||||
.mjbxcp td {
|
||||
background: -webkit-linear-gradient(top, rgba(255, 199, 207, 1), rgba(255, 199, 207, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
||||
background: -moz-linear-gradient(top, rgba(255, 199, 207, 1), rgba255, 199, 207, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||
background: -moz-linear-gradient(top, rgba(255, 199, 207, 1), rgba(255, 199, 207, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||
background: linear-gradient(to top, rgba(255, 199, 207, 0.6), rgba(255, 199, 207, 0.4) 50%); /* Standard syntax */
|
||||
background-color: #FFEB9C\9; /* IE 8 and below */
|
||||
/* color: #009900; */
|
||||
}
|
||||
.mjbplanned.mjbxcp td {
|
||||
background: -webkit-linear-gradient(top, rgba(255, 199, 207, 1), rgba(255, 199, 207, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
||||
background: -moz-linear-gradient(top, rgba(255, 199, 207, 1), rgba(255, 199, 207, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||
background: linear-gradient(to top, rgba(255, 199, 207, 0.6), rgba(255, 199, 207, 0.4) 50%); /* Standard syntax */
|
||||
background-color: #FFEB9C\9; /* IE 8 and below */
|
||||
}
|
||||
span.mjborgbedrag {
|
||||
color: #888;
|
||||
font-size: 8px;
|
||||
}
|
||||
span.mjbvervallen {
|
||||
color: #E60000;
|
||||
.mjbafbouw {
|
||||
background: -webkit-linear-gradient(top, rgba(228, 232, 248, 1), rgba(228, 232, 248, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
||||
background: -moz-linear-gradient(top, rgba(228, 232, 248, 1), rgba(228, 232, 248, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||
background: linear-gradient(to top, rgba(228, 232, 248, 0.6), rgba(228, 232, 248, 0.4) 50%); /* Standard syntax */
|
||||
background-color: #E4E8F8\9; /* IE 8 and below */
|
||||
}
|
||||
.mjbverval, .mjbplanned.mjbverval {
|
||||
background: -webkit-linear-gradient(top, rgba(196, 200, 216, 1), rgba(196, 200, 216, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
||||
background: -moz-linear-gradient(top, rgba(196, 200, 216, 1), rgba(196, 200, 216, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||
background: linear-gradient(to top, rgba(196, 200, 216, 0.6), rgba(196, 200, 216, 0.4) 50%); /* Standard syntax */
|
||||
background-color: #C4C8D8\9; /* IE 8 and below */
|
||||
}
|
||||
|
||||
/* toaster stuff */
|
||||
|
||||
@@ -134,6 +134,14 @@ function getSQLByKey (pTable, pKeys)
|
||||
break;
|
||||
}
|
||||
//
|
||||
case "INS_SRTCONTROLE": {
|
||||
sql = "SELECT " + lcl.xsqla('ins_srtcontrole_omschrijving', 'ins_srtcontrole_key')
|
||||
+ " FROM ins_srtcontrole"
|
||||
+ " WHERE ins_srtcontrole_key IN (" + lKeys + ")"
|
||||
+ " ORDER BY UPPER(" + lcl.xsql('ins_srtcontrole_omschrijving', 'ins_srtcontrole_key')+")";
|
||||
break;
|
||||
}
|
||||
//
|
||||
case "BES_SRTGROEP": {
|
||||
sql = "SELECT " + lcl.xsqla('bes_srtgroep_omschrijving', 'bes_srtgroep_key')
|
||||
+ " FROM bes_srtgroep "
|
||||
@@ -1152,6 +1160,41 @@ function getFinTypeDescription(key)
|
||||
return ldescr;
|
||||
}
|
||||
|
||||
function getMjobGroupDescription(key)
|
||||
{
|
||||
var ldescr = "";
|
||||
switch(key)
|
||||
{
|
||||
// Bepaal omschrijving
|
||||
case 1: { ldescr = L("lcl_district");
|
||||
break;
|
||||
}
|
||||
case 2: { ldescr = L("lcl_building");
|
||||
break;
|
||||
}
|
||||
case 3: { ldescr = L("lcl_discipline");
|
||||
break;
|
||||
}
|
||||
case 4: { ldescr = L("lcl_obj_group");
|
||||
break;
|
||||
}
|
||||
case 5: { ldescr = L("lcl_obj_sort");
|
||||
break;
|
||||
}
|
||||
case 6: { ldescr = L("lcl_ins_object");
|
||||
break;
|
||||
}
|
||||
case 7: { ldescr = L("lcl_ins_controle_srt");
|
||||
break;
|
||||
}
|
||||
default: { ldescr = "";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ldescr;
|
||||
}
|
||||
|
||||
function getSortoutDescription(key)
|
||||
{
|
||||
var ldescr = "";
|
||||
@@ -1626,6 +1669,25 @@ function getRSFilterColumns(lparams)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "mjbgroup": { lfilterValue = getRSFilterValueByValue(getMjobGroupDescription(lparams[lparam]), L("lcl_mjb_group"));
|
||||
break;
|
||||
}
|
||||
case "mjbtoyear": { lfilterValue = getRSFilterValueByValue(lparams[lparam], L("lcl_mjb_uptoyear"));
|
||||
break;
|
||||
}
|
||||
case "mjbsrtcontr": { lfilterValue = getRSFilterValueByKey("INS_SRTCONTROLE", lparams[lparam], L("lcl_ins_controle_srt"));
|
||||
break;
|
||||
}
|
||||
case "mjbinfl_pct": { lfilterValue = getRSFilterValueByValue(lparams[lparam], L("lcl_mjb_inflation"));
|
||||
break;
|
||||
}
|
||||
case "mjbfreq": { lfilterValue = getRSFilterValueByValue(lparams[lparam] + " " + L("lcl_ins_controle_period_rearyear"), L("lcl_mjb_frequency"));
|
||||
break;
|
||||
}
|
||||
case "mjbincbtw": { if (lparams.mjbincbtw)
|
||||
lfilterValue = getRSFilterValueByValue(L("lcl_Yes"), L("lcl_mjb_inclbtw"));
|
||||
break;
|
||||
}
|
||||
// MLD gegevens
|
||||
case "srtdisc_key": // Discipline, Groep en Objectsoort
|
||||
case "disc_key_arr":
|
||||
|
||||
@@ -689,7 +689,9 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
|
||||
if (this.actions[i].single === false) // triple '=' omdat undefined niet false mag zijn
|
||||
continue; // niet ook nog inline
|
||||
|
||||
var def = this.actions[i].isDefault?" isdefault='1' style='display:none'":"";
|
||||
var def = (this.actions[i].isDefault? " isdefault='1'" : "")
|
||||
+ (this.actions[i].onlyMulti? " onlymulti='1'" : "")
|
||||
+ (this.actions[i].isDefault || this.actions[i].onlyMulti? " style='display:none'" : "");
|
||||
if (this.actions[i].multiOnce)
|
||||
val = "\n<span class='ia2' " + def + " onclick='doAm(event, this, \"" + this.actions[i].action + "\")'>";
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user