SKAF#76685: Periodieke takenoverzicht - Niet mjob-taken uitsluiten.

svn path=/Website/trunk/; revision=62614
This commit is contained in:
Maykel Geerdink
2023-11-20 09:01:00 +00:00
parent 1d2a43bdc1
commit 9fd0ab8147
8 changed files with 48 additions and 46 deletions

View File

@@ -1715,7 +1715,7 @@ ins = {checkAutLevel:
var objsrt_oms = params.objsrt_oms;
var insSensOnly = params.insSensOnly;
var groep = params.groep;
var ctrdisc_key = params.ctrdisc_key;
var ctrdisc_key_arr = params.ctrdisc_key_arr;
var srtcontrole_key_arr = params.srtcontrole_key_arr || [];
var dep_key = params.dep_key;
var persoon_key = params.persoon_key;
@@ -2942,8 +2942,8 @@ ins = {checkAutLevel:
sql_ex += ")";
}
if (inspect && ctrdisc_key > -1)
sql_ex += " AND ispn.ctr_disc_key = " + ctrdisc_key;
if (inspect && ctrdisc_key_arr.length > 0)
sql_ex += " AND ispn.ctr_disc_key IN (" + ctrdisc_key_arr.join(",") + ")";
var join_flex_flds = ["i.ins_deel_key"];
if (inspect) {

View File

@@ -36,7 +36,7 @@
insgroup_key_arr search for objects with the given groep keys (srtgroup key)
objsrt_key_arr search for objects with the given objectsoort (srtdeel key) as intArray
objsrt_oms search for srtobjects with the given code or description
ctrdisc_key search for ctrdiscipliines with the given srtdisc_key
ctrdisc_key_arr search for ctrdiscipliines with the given srtdisc_keys
srtcontrole_key_arr search for tasks with the given task keys,
groep search for group with the given code or description
dep_key search for objects with the given department key
@@ -110,7 +110,7 @@ function ins_list (pautfunction, params)
var disc_key_arr = params.disc_key_arr || [];
var insgroup_key_arr = params.insgroup_key_arr || [];
var objsrt_key_arr = params.objsrt_key_arr || [];
var ctrdisc_key = params.ctrdisc_key;
var ctrdisc_key_arr = params.ctrdisc_key_arr;
var srtcontrole_key_arr = params.srtcontrole_key_arr;
var dep_key = params.dep_key;
var persoon_key = params.persoon_key;
@@ -1161,7 +1161,7 @@ function ins_list (pautfunction, params)
{
rst.addColumn(new Column({caption: (outputmode == 0 ? I("fa-fclt-flag0") : L("lcl_ins_flags")), content: fncolFlags, align: "center"}));
}
if (inspect && ctrdisc_key == -1)
if (inspect && ctrdisc_key_arr.length != 1)
rst.addColumn(new Column({caption: L("ctr_discipline"), content: "ctr_disc_oms"}));
if (insPhotoIncl && !excel) // screen, niet te veel
rst.addColumn(new Column({caption: L("lcl_obj_photo"), content: fnInlinePhoto, colName: "fnInlinePhoto", classList: "toggle-objphoto" }));

View File

@@ -59,7 +59,7 @@ var srtgroep = getQParamInt("srtgroep", -1); // Groep
var srtdeel = getQParamInt("srtdeel", -1); // Objectsoort
var srtdeelomschr = getQParam("srtdeelomschr", ""); // Srtdeel code en/of omschrijving
var groep = getQParam("groep", ""); // Groep
var ctrdisc_key = getQParamInt("ctrdisc_key", -1); // Ctrdiscipline
var ctrdisc_key_arr = getQParamIntArray("ctrdisc_key", []); // Ctrdiscipline
var srtcontrole_key = getQParamInt("srtcontrole_key", -1); // Periodieke Taak (Srtcontrole)
var dep_key = getQParamInt("dep_key", -1); // Organisatie key
var prs_key = getQParamInt("prs_key", -1); // Persoon key, kan worden overruled door "self"
@@ -85,8 +85,8 @@ var inspBusy = getQParamInt("inspBusy", 0) == 1; // Gestarte/begonnen en ter uit
var inspClosed = getQParamInt("inspClosed", 0) == 1; // Afgemelde inspecties (status 5). Actie vereist.
/***** End get webform parameters *****/
if (ctrdisc_key > 0)
lcl.set_dialect(ctrdisc_key, "CTR_DISCIPLINE_KEY");
if (ctrdisc_key_arr.length == 1)
lcl.set_dialect(ctrdisc_key_arr[0], "CTR_DISCIPLINE_KEY");
if (dis_key > 0)
lcl.set_dialect(dis_key, "INS_DISCIPLINE_KEY");
@@ -382,25 +382,25 @@ var authparams = user.checkAutorisation(autfunction);
if (insInspect) // Ook inspectiezoekvelden
{
if (ctrdisc_key > 0)
var ctr_disc_sql = " = " + ctrdisc_key;
if (ctrdisc_key_arr.length > 0)
var ctr_disc_sql = ctrdisc_key_arr.join(",");
else
ctr_disc_sql = " 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 + ")";
var ctr_disc_sql = "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;
if (ctrdisc_key == -1)
if (ctrdisc_key_arr.length == 0)
{
// <!-- Controle Type -->
sql = "SELECT ins_discipline_key"
+ " , ins_discipline_omschrijving"
+ " FROM ctr_discipline"
+ " WHERE ins_discipline_key " + ctr_disc_sql
+ " WHERE ins_discipline_key IN (" + ctr_disc_sql + ")"
+ (backo2 // Interne uitvoerder, alleen de taken van de eigen bedrijfdienstlocaties en daar de ctr_disciplines van.
? " AND ins_discipline_key IN (SELECT isc.ctr_discipline_key"
+ " FROM ins_srtcontrole isc"
@@ -428,12 +428,13 @@ var authparams = user.checkAutorisation(autfunction);
FCLTselector("ctr_discipline",
sql,
{ label: L("ctr_discipline"),
emptyOption: L("lcl_search_generic")
emptyOption: L("lcl_search_generic"),
multi: true
});
}
else
{ %>
<input type="hidden" name="ctr_discipline" id="ctr_discipline" value="<%=ctrdisc_key%>">
<input type="hidden" name="ctr_discipline" id="ctr_discipline" value="<%=ctrdisc_key_arr%>">
<% }
// Periodieke taken.
@@ -442,7 +443,7 @@ var authparams = user.checkAutorisation(autfunction);
{ label: L("lcl_ins_controle_srt"),
srtcontrole_key: srtcontrole_key,
multitoggle: true,
urlAdd: [{urlParam: "ctrdisc_key", field: "ctr_discipline"}],
urlAdd: [{urlParam: "ctrdisc_key_arr", field: "ctr_discipline"}],
trclass: "primsearch noxd",
filtercode: "PI",
intern_uitv: backo2,
@@ -455,7 +456,7 @@ var authparams = user.checkAutorisation(autfunction);
+ " FROM ins_srtcontrole isc"
+ " , ins_srtcontroledl_xcp xcp"
+ " WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
+ " AND ctr_discipline_key " + ctr_disc_sql
+ " AND ctr_discipline_key IN (" + ctr_disc_sql + ")"
+ (backo2 // Interne uitvoerder, alleen de diensten van de eigen bedrijfdienstlocaties.
? " AND isc.prs_dienst_key IN (SELECT DISTINCT d.prs_dienst_key"
+ " FROM prs_bedrijfdienstlocatie bdl"

View File

@@ -54,7 +54,7 @@ var objsrt_key_arr = getQParamKeyArray("srtdeel", []); // Objectsoort
var objsrtomschr = getQParam("srtdeelomschr", ""); // Soortdeel code en/of omschrijving
var groep = getQParam("groep", ""); // Groep
if (groep == -1) groep = "";
var ctrdisc_key = getQParamInt("ctr_discipline", -1); // Ctrdiscipline
var ctrdisc_key_arr = getQParamIntArray("ctr_discipline", []); // Ctrdiscipline
var srtcontrole_key_arr = getQParamKeyArray("srtcontrole", []); // Periodieke taken.
var dep_key = getQParamInt("sDept_key", -1); // Organisatie key
var persoon_key = getQParamInt("sName_key", -1); // Persoon key
@@ -108,8 +108,8 @@ var priority_score2_from = getQParamInt("priority_score2_from", -1);
var priority_score2_through = getQParamInt("priority_score2_through", -1); // Prioriteitsscore t/m.
/***** End get webform parameters *****/
if (ctrdisc_key > 0)
lcl.set_dialect(ctrdisc_key, "CTR_DISCIPLINE_KEY");
if (ctrdisc_key_arr.length == 1)
lcl.set_dialect(ctrdisc_key_arr[0], "CTR_DISCIPLINE_KEY");
if (disc_key_arr.length == 1)
lcl.set_dialect(disc_key_arr[0], "INS_DISCIPLINE_KEY");
@@ -158,7 +158,7 @@ var params = { urole : urole,
objsrt_key_arr: objsrt_key_arr,
objsrt_oms: objsrtomschr,
groep: (groep != "" ? groep : null),
ctrdisc_key: ctrdisc_key,
ctrdisc_key_arr: ctrdisc_key_arr,
srtcontrole_key_arr: srtcontrole_key_arr,
dep_key: (dep_key != -1 ? dep_key : null),
persoon_key: (persoon_key != -1 ? persoon_key : null),

View File

@@ -518,7 +518,7 @@ user.anything_todo_or_abort(((hasReadCTRUSE || hasReadCTRBOF) && scen_key == 1)
{ label: L("lcl_ins_controle_srt"),
srtcontrole_key: srtcontrole,
multitoggle: true,
urlAdd: [{urlParam: "ctrdisc_key", field: "categorie_key_arr"}],
urlAdd: [{urlParam: "ctrdisc_key_arr", field: "categorie"}],
trclass: "primsearch",
filtercode: "MJOB",
whenEmpty: L("lcl_search_generic") // want dit is een filter

View File

@@ -25,13 +25,13 @@ JSON_Result = true;
<%
var chars = getQParam("k", "");
var bAll = getQParamInt("SuggestAll", 0) == 1;
var ctrdisc_key = getQParamInt("ctrdisc_key", -1);
var ctrdisc_key_arr = getQParamIntArray("ctrdisc_key_arr", []);
var intern_uitv = getQParamInt("intern_uitv", 1) == 1;
var filtcode = getQParam("filtcode", "");
chars = chars.replace(/\*/g,"%");
var filt_params = { ctrdisc_key: ctrdisc_key,
var filt_params = { ctrdisc_key_arr: ctrdisc_key_arr,
intern_uitv: intern_uitv
};

View File

@@ -25,17 +25,17 @@ function getFiltClauseSrtcontrole(pfiltcode, params, init)
+ " AND (ins_srtcontrole_eind IS NULL OR ins_srtcontrole_eind > SYSDATE)";
break;
case "PI": // Alleen de Periodieke Inspecties (PI) mag je zien.
if (params.ctrdisc_key > 0)
var ctr_disc_sql = " = " + params.ctrdisc_key;
if (params.ctrdisc_key_arr && params.ctrdisc_key_arr.length > 0)
var ctr_disc_sql = params.ctrdisc_key_arr.join(",");
else
ctr_disc_sql = " 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 + ")";
var ctr_disc_sql = "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;
lfiltClause.select += ", " + lcl.xsql("ins_srtcontrole_omschrijving", "isc.ins_srtcontrole_key")
+ " || CASE"
+ " WHEN ins_srtcontrole_niveau = 'S'"
@@ -49,7 +49,7 @@ function getFiltClauseSrtcontrole(pfiltcode, params, init)
lfiltClause.from += ", ins_v_allsrtinstallatie asi";
lfiltClause.where += " AND asi.ins_srtinstallatie_key = isc.ins_srtinstallatie_key"
+ " AND asi.niveau = isc.ins_srtcontrole_niveau"
+ " AND ctr_discipline_key " + ctr_disc_sql
+ " AND ctr_discipline_key IN (" + ctr_disc_sql + ")"
+ (params.intern_uitv // Interne uitvoerder, alleen diensten van eigen bedrijf.
? " AND isc.prs_dienst_key IN (SELECT DISTINCT d.prs_dienst_key"
+ " FROM prs_bedrijfdienstlocatie bdl"
@@ -71,9 +71,9 @@ function getFiltClauseSrtcontrole(pfiltcode, params, init)
}
}
if (params.ctrdisc_key && params.ctrdisc_key != -1) // parent gegeven
if (params.ctrdisc_key_arr && params.ctrdisc_key_arr.length > 0) // parent gegeven
{
lfiltClause.where += " AND isc.ctr_discipline_key = " + params.ctrdisc_key;
lfiltClause.where += " AND isc.ctr_discipline_key IN (" + params.ctrdisc_key_arr.join(",") + ")";
}
return lfiltClause;

View File

@@ -9,6 +9,7 @@
objectName: naam van het suggest object dat wordt aangemaakt.
params: object met meegegeven parameters.
srtcontrole_key: initi<74>le key waarde van de srtcontrole die ingevuld moet worden.
ctrdisc_key: Taakcategorie<69>n van de taken die je kunt selecteren.
multitoggle: Sta multi-toggle toe
label: label dat voor het veld wordt weergegeven.
filtercode: extra filtercode voor de query die gebruikt wordt voor de suggest.
@@ -82,7 +83,7 @@ function FCLTsrtcontroleselector(fieldName, objectName, params)
// Bouw de url voor de srtcontrole query op
var srtcQueryUrl = rooturl + "/appl/shared/suggest/SuggestSrtcontrole.asp"
+ "?intern_uitv=" + (params.intern_uitv? 1 : 0)
+ (params.ctrdisc_key > 0? "&ctrdisc_key=" + params.ctrdisc_key : "")
+ (params.ctrdisc_key_arr > 0? "&ctrdisc_key_arr=" + params.ctrdisc_key_arr.join(",") : "")
+ (params.filtercode? "&filtcode=" + params.filtercode : "");
if (params.label)
{ %><tr>