MNNL#37255 filtert plaatsselector nu ook op de ruimtes waarin het (optioneel) verplichte object staat
svn path=/Website/trunk/; revision=32933
This commit is contained in:
@@ -421,7 +421,6 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
autfunction = params.autfunction;
|
||||
this_mld = params.this_mld;
|
||||
mld_melding = params.mld_melding;
|
||||
mld_melding = params.mld_melding;
|
||||
frontend = params.frontend;
|
||||
BLOCK_START("mldAlg", L("lcl_plaatsgegevens"));
|
||||
FCLTplaatsselector(this_mld.authparams(autfunction) && this_mld.authparams(autfunction).ALGwritelevel,
|
||||
@@ -443,7 +442,8 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
eindlevel: (mld_melding.alg_level ? mld_melding.alg_level : 2), // Minimaal Locatie
|
||||
cadSelect: true,
|
||||
cadShowdiscfn: "cadShowdiscfn",
|
||||
requiredlevel: 2
|
||||
requiredlevel: 2,
|
||||
urlAdd: [{urlParam: "stdm_key", field: "stdm"}]
|
||||
}); // minstens locatie
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
@@ -33,8 +33,9 @@ var lockey = getQParamInt("lockey", -1);
|
||||
var filtcode = getQParam("filtcode", "");
|
||||
var terrein = getQParamInt("terrein", 0) == 1;
|
||||
var act_key = getQParamInt("act_key", -1);
|
||||
var stdm_key = getQParamInt("stdm_key", -1);
|
||||
|
||||
var params = {};
|
||||
var params = { stdm_key: stdm_key };
|
||||
if (filtcode == "PRK")
|
||||
{
|
||||
var date_from = getQParamDate("date_from", new Date());
|
||||
|
||||
@@ -31,8 +31,9 @@ var diskey = getQParamInt("diskey", "-1");
|
||||
var filtcode = getQParam("filtcode", "");
|
||||
var extracode = getQParam("extraCode", "");
|
||||
var act_key = getQParamInt("act_key", -1);
|
||||
var stdm_key = getQParamInt("stdm_key", -1);
|
||||
|
||||
var params = { act_key: act_key };
|
||||
var params = { act_key: act_key, stdm_key: stdm_key };
|
||||
|
||||
chars = chars.replace(/\*/g,"%");
|
||||
|
||||
|
||||
@@ -35,8 +35,9 @@ var gebkey = getQParamInt("gebkey", -1);
|
||||
var verkey = getQParamInt("verkey", -1);
|
||||
var filtcode = getQParam("filtcode", "");
|
||||
var act_key = getQParamInt("act_key", -1);
|
||||
var stdm_key = getQParamInt("stdm_key", -1);
|
||||
|
||||
var params = { act_key: act_key };
|
||||
var params = { act_key: act_key, stdm_key: stdm_key };
|
||||
|
||||
chars = chars.replace(/\*/g,"%");
|
||||
|
||||
|
||||
@@ -32,8 +32,9 @@ var lockey = getQParamInt("lockey", "-1");
|
||||
var gebkey = getQParamInt("gebkey", "-1");
|
||||
var filtcode = getQParam("filtcode", "");
|
||||
var act_key = getQParamInt("act_key", -1);
|
||||
var stdm_key = getQParamInt("stdm_key", -1);
|
||||
|
||||
var params = { act_key: act_key };
|
||||
var params = { act_key: act_key, stdm_key: stdm_key };
|
||||
|
||||
chars = chars.replace(/\*/g,"%");
|
||||
|
||||
|
||||
@@ -226,6 +226,9 @@ function getFiltClauseLocatie(pfiltcode, params)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (params.stdm_key > 0)
|
||||
lfiltClause.where += get_rel_obj_filter(params.stdm_key, 2);
|
||||
|
||||
return lfiltClause;
|
||||
}
|
||||
|
||||
@@ -314,6 +317,9 @@ function getFiltClauseGebouw(pfiltcode, params)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (params.stdm_key > 0)
|
||||
lfiltClause.where += get_rel_obj_filter(params.stdm_key, 3);
|
||||
|
||||
return lfiltClause;
|
||||
}
|
||||
|
||||
@@ -397,11 +403,15 @@ function getFiltClauseVerdieping(pfiltcode, params)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (params.stdm_key > 0)
|
||||
lfiltClause.where += get_rel_obj_filter(params.stdm_key, 4);
|
||||
|
||||
return lfiltClause;
|
||||
}
|
||||
|
||||
function getFiltClauseRuimte(pfiltcode, params)
|
||||
{
|
||||
params = params || {};
|
||||
var lfiltClause = {from: "", where: ""};
|
||||
// Facilitair relevant hebben we vaker nodig
|
||||
var lfiltClauseFAC = " AND EXISTS"
|
||||
@@ -473,6 +483,9 @@ function getFiltClauseRuimte(pfiltcode, params)
|
||||
if (pfiltcode != "INCVR") { // include virtual rooms, default these are NOT included
|
||||
lfiltClause.where = lfiltClause.where + " AND alg_ruimte_nr NOT LIKE '\\_%' ESCAPE '\\' ";
|
||||
}
|
||||
if (params.stdm_key > 0)
|
||||
lfiltClause.where += get_rel_obj_filter(params.stdm_key, 5);
|
||||
|
||||
return lfiltClause;
|
||||
}
|
||||
|
||||
@@ -499,6 +512,68 @@ function getFiltClauseWerkplek(pfiltcode, params)
|
||||
return lfiltClause;
|
||||
}
|
||||
|
||||
function get_rel_obj_filter(stdm_key, level)
|
||||
{
|
||||
|
||||
var sql = "SELECT ins_srtinst_key,"
|
||||
+ " ins_srtinst_niveau,"
|
||||
+ " ins_srtinst_verplicht"
|
||||
+ " FROM mld_stdmelding"
|
||||
+ " WHERE mld_stdmelding_key = " + stdm_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var rel_obj_filter = "";
|
||||
var filter_table = "";
|
||||
|
||||
if (oRs("ins_srtinst_verplicht").value == 1)
|
||||
{
|
||||
var ins_srtinst_key = oRs("ins_srtinst_key").value;
|
||||
var ins_srtinst_niveau = oRs("ins_srtinst_niveau").value;
|
||||
var ins_srtdeel_keys = "";
|
||||
|
||||
switch (ins_srtinst_niveau)
|
||||
{
|
||||
// Soort
|
||||
case "S": ins_srtdeel_keys = "= " + ins_srtinst_key;
|
||||
break;
|
||||
// Groep
|
||||
case "G": ins_srtdeel_keys = "IN (SELECT ins_srtdeel_key FROM ins_srtdeel WHERE ins_srtgroep_key = " + ins_srtinst_key + ")";
|
||||
break;
|
||||
// Discipline
|
||||
case "D": ins_srtdeel_keys = "IN (SELECT ins_srtdeel_key FROM ins_srtdeel WHERE ins_srtgroep_key IN"
|
||||
+ " (SELECT ins_srtgroep_key FROM ins_srtgroep WHERE ins_discipline_key = " + ins_srtinst_key + "))";
|
||||
break;
|
||||
// Komt niet voor ?
|
||||
default: ins_srtdeel_keys = "= " + ins_srtinst_key;
|
||||
break;
|
||||
}
|
||||
switch (level)
|
||||
{
|
||||
case 5: filter_table = " AND ao.alg_ruimte_key = r.alg_ruimte_key";
|
||||
break;
|
||||
case 4: filter_table = " AND ao.alg_verdieping_key = v.alg_verdieping_key";
|
||||
break;
|
||||
case 3: filter_table = " AND ao.alg_gebouw_key = g.alg_gebouw_key";
|
||||
break;
|
||||
case 2: filter_table = " AND ao.alg_locatie_key = l.alg_locatie_key";
|
||||
break;
|
||||
}
|
||||
|
||||
if (!oRs.eof && filter_table != "")
|
||||
{
|
||||
rel_obj_filter = " AND EXISTS"
|
||||
+ " (SELECT 'x'"
|
||||
+ " FROM alg_v_allonroerendgoed ao"
|
||||
+ " WHERE ao.alg_ruimte_key IN (SELECT ins_alg_ruimte_key"
|
||||
+ " FROM ins_deel"
|
||||
+ " WHERE ins_srtdeel_key " + ins_srtdeel_keys + ")"
|
||||
+ " AND ao.alg_type = 'R'"
|
||||
+ filter_table + ")";
|
||||
}
|
||||
}
|
||||
oRs.close();
|
||||
return rel_obj_filter;
|
||||
}
|
||||
|
||||
function get_res_bezorgfilter(params, level)
|
||||
{
|
||||
params = params || {};
|
||||
|
||||
Reference in New Issue
Block a user