FSN#37590: Bevindingen MJOB module 2016.2.

svn path=/Website/trunk/; revision=30654
This commit is contained in:
Maykel Geerdink
2016-09-08 14:48:44 +00:00
parent a827662275
commit d6495bb987
5 changed files with 57 additions and 21 deletions

View File

@@ -1595,9 +1595,7 @@ ins = {checkAutLevel:
sql_ex += " AND ( (ins_srtdeel_upper LIKE " + safe.quoted_sql_wild("%" + objsrt_oms + "%") + ")"
+ " OR (ins_srtdeel_code_upper LIKE " + safe.quoted_sql_wild("%" + objsrt_oms + "%") + "))";
if (groep)
sql_ex += " AND UPPER(groepoms) LIKE " + "UPPER((SELECT ins_srtcontroledl_xcp_groep"
+ " FROM ins_srtcontroledl_xcp"
+ " WHERE ins_srtcontroledl_xcp_key = " + groep + "))";
sql_ex += " AND UPPER(groepoms) LIKE " + safe.quoted_sql_wild("%" + groep + "%");
if (inspect && ctrdisc_key > -1)
sql_ex += " AND ispn.ctr_disc_key = " + ctrdisc_key;

View File

@@ -48,7 +48,7 @@ var bld_key = getQParamInt("gebouw_key", -1); // Gebouw
var flr_key = getQParamInt("verdieping_key", -1); // Verdieping
var room_key = getQParamInt("ruimte_key", -1); // Ruimte
var wpl_key = getQParamInt("werkplek_key", -1); // Werkplek
var deel = getQParam("deel", ""); // Identieficatie
var deel = getQParam("deel", ""); // Identificatie
var dis_key = getQParamInt("dis_key", -1); // Discipline readonly selecteren
var disc = getQParamInt("disc", -1); // Discipline initialisatie
var srtgroep = getQParamInt("srtgroep", -1); // Groep
@@ -340,15 +340,16 @@ var authparams = user.checkAutorisation(autfunction);
});
// <!-- Groep-->
var sql = "SELECT MIN(ins_srtcontroledl_xcp_key)"
+ " , xcp.ins_srtcontroledl_xcp_groep"
+ " FROM ins_srtcontroledl_xcp xcp"
+ " WHERE xcp.ins_srtcontroledl_xcp_groep IS NOT NULL"
+ " GROUP BY xcp.ins_srtcontroledl_xcp_groep"
+ " ORDER BY UPPER(xcp.ins_srtcontroledl_xcp_groep)";
var sql = "SELECT DISTINCT COALESCE(xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep)"
+ " , COALESCE(xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep)"
+ " FROM ins_srtcontrole isc"
+ " , ins_srtcontroledl_xcp xcp"
+ " WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
+ " AND COALESCE (xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep) IS NOT NULL"
+ " ORDER BY UPPER (COALESCE(xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep))";
FCLTselector("groep",
sql,
{ label: L("lcl_ins_controle_groep"),
{ label: L("ins_srtcontrole_groep"),
emptyOption: L("lcl_all"),
trclass: "secsearch noxd"
});

View File

@@ -43,13 +43,14 @@ var terr_key = -1; // Terrein
var flr_key = getQParamInt("verdiepingkey", -1); // Verdieping
var room_key = getQParamInt("ruimtekey", -1); // Ruimte
var wpl_key = getQParamInt("werkplekkey", -1); // Werkplek
var deel = getQParam("deel", ""); // Identieficatie
var deel = getQParam("deel", ""); // Identificatie
var deel_opm = getQParam("deel_opm", ""); // Omschrijving
var disc_key = getQParamInt("disc", -1); // Discipline
var insgroup_key = getQParamInt("srtgroep", -1); // Groep
var objsrt_key = getQParamIntArray("srtdeel", -1); // Objectsoort
var objsrtomschr = getQParam("srtdeelomschr", ""); // Soortdeel code en/of omschrijving
var groep = getQParamInt("groep", -1); // Groep
var groep = getQParam("groep", ""); // Groep
if (groep == -1) groep = "";
var ctrdisc_key = getQParamInt("ctr_discipline", -1); // Ctrdiscipline
var dep_key = getQParamInt("sDept_key", -1); // Organisatie key
var persoon_key = getQParamInt("sName_key", -1); // Persoon key
@@ -123,7 +124,7 @@ ins_list ( autfunction,
insgroup_key: (insgroup_key != -1 ? insgroup_key : null),
objsrt_key: (objsrt_key.length > 0 ? objsrt_key : null),
objsrt_oms: objsrtomschr,
groep: (groep != -1 ? groep : null),
groep: (groep != "" ? groep : null),
ctrdisc_key: ctrdisc_key,
dep_key: (dep_key != -1 ? dep_key : null),
persoon_key: (persoon_key != -1 ? persoon_key : null),

View File

@@ -26,6 +26,9 @@ FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"],
var urole = getQParamSafe("urole", "bo");
var autosearch = getQParamInt("autosearch", 0) == 1;
var deel = getQParam("deel", ""); // Identificatie
var groep = getQParam("groep", ""); // Categorie/Groep
if (groep == -1) groep = "";
var reg_key = getQParamInt("regio_key", -1); // Regio
var dist_key = getQParamInt("district_key", -1);
var loc_key = getQParamInt("locatie_key", -1); // Locatie
@@ -82,6 +85,11 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
<tr>
<td class="searchkolom1"><!-- start column 1 -->
<table><!-- x rijen, 2 kolommen: label + veld -->
<!-- Object -->
<tr class="primsearch">
<td class="label"><label for="deel"><%=L("lcl_obj_identification")%>:</label></td>
<td><input type="text" class="flddeel" name="deel" value="<%=safe.htmlattr(deel)%>"></td>
</tr>
<% FCLTplaatsselector(authparamsINSUSE.ALGreadlevel, { regiokey: reg_key,
districtkey: dist_key,
locatiekey: loc_key,
@@ -137,6 +145,22 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
whenEmpty: L("lcl_search_generic") // want dit is een filter
});
// <!-- Groep-->
var sql = "SELECT DISTINCT COALESCE(xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep)"
+ " , COALESCE(xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep)"
+ " FROM ins_srtcontrole isc"
+ " , ins_srtcontroledl_xcp xcp"
+ " WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
+ " AND COALESCE (xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep) IS NOT NULL"
+ " ORDER BY UPPER (COALESCE(xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep))";
FCLTselector("groep",
sql,
{ initKey: groep,
label: L("ins_srtcontrole_groep"),
emptyOption: L("lcl_all"),
trclass: "primsearch noxd"
});
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"

View File

@@ -64,6 +64,9 @@ var fulldetails = (groupby == 7); // Geen aggregate, dan kun je van alles manipu
var fromyear = getQParamInt("fromyear", new Date().getFullYear());
var toyear = getQParamInt("toyear");
var deel = getQParam("deel", ""); // Identieficatie
var groep = getQParam("groep", ""); // Categorie/Groep
if (groep == -1) groep = "";
//var reg_key = getQParamInt("regiokey", -1); // Regio
var dist_key = getQParamInt("districtkey", -1);
var loc_key = getQParamInt("locatiekey", -1); // Locatie
@@ -77,7 +80,9 @@ var inflatiefactor = 1 + (inflatiepct / 100);
var frequentie = getQParamIntArray("frequentie", []); // Array met frequenties.
var incbtw = getQParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven
var params = { dist_key: dist_key,
var params = { deel: (deel != ""? deel : null),
groep: (groep != ""? groep : null),
dist_key: dist_key,
loc_key: loc_key,
bld_key: bld_key,
disc_key: disc_key,
@@ -89,8 +94,8 @@ var params = { dist_key: dist_key,
mjbinfl_pct: inflatiepct,
mjbfreq: frequentie.join(","),
mjbincbtw: incbtw
}
var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrole", "inflatie", "frequentie", "incbtw", "toyear", "alg_startlevel", "alg_endlevel"]);
};
var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrole", "inflatie", "frequentie", "incbtw", "toyear", "alg_startlevel", "alg_endlevel", "deel", "groep"]);
// lcl.set_dialect(1 /* ctr_discipline */, "CTR_DISCIPLINE_KEY");
%>
@@ -215,7 +220,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , e.ins_srtcontrole_percentage"
+ " , e.ins_srtcontrole_opmerking"
+ " , EXTRACT (YEAR FROM COALESCE(c.plandatum"
+ " , COALESCE(c.laatste, e.ins_deel_aanmaak) + e.ins_srtcontrole_periode)) vervangingsjaar"
+ " , ADD_MONTHS(COALESCE(c.laatste, e.ins_deel_aanmaak), 12 * e.ins_srtcontrole_periode))) vervangingsjaar"
+ " , e.ins_deel_aantal"
+ " , e.ins_srtcontrole_eind"
+ " , e.ins_srtcontrole_afbouwtijd"
@@ -262,6 +267,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
: "")
+ " AND el.ins_srtcontrole_periode > 0"
+ " AND el.ctr_ismjob = 1"
+ (groep
? " AND UPPER(ins_srtcontrole_groep) LIKE " + safe.quoted_sql_wild("%" + groep + "%")
: "")
// 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"
@@ -461,6 +469,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " AND d.alg_district_key = l.alg_district_key"
+ " AND dg.alg_gebouw_key = g.alg_gebouw_key";
if (deel)
sql_cost_verval += " AND ins_deel_upper LIKE " + safe.quoted_sql_wild("%" + deel + "%");
var sql_cost = "SELECT cv.alg_district_key"
+ " , cv.alg_district_omschrijving"
+ " , cv.alg_gebouw_omschrijving"
@@ -523,6 +534,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
"ins_srtgroep_omschrijving", "ins_srtdeel_omschrijving", "ins_deel_omschrijving"];
while (fields.length > groupby) // TODO: dit kan toch echt niet kloppen!?
fields.pop();
if (fields.length == 6) // bij omschrijving hoort ook aantal
fields.push("ins_deel_aantal")
var sql_cost = "SELECT " + fields.join(", ")
+ (groupby > 1
@@ -658,7 +671,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
{
return function (oRs)
{
return oRs(jaar).Value;
return Math.round(oRs(jaar).Value);
}
}
function totalShow(column, rowNum)
@@ -672,7 +685,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
var s = 0;
for (var j = 0; j < jaren.length; j++)
{
s = s + oRs(String(jaren[j])).Value;
s = s + Math.round(oRs(String(jaren[j])).Value);
}
return s;
}
@@ -731,7 +744,6 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
{
return function (oRs)
{
var v = Math.round(oRs(jaar).Value);
if (fulldetails)
{
var vervaljaar = oRs("vervaljaar").Value;