FCLT#55832 PDA reserveer voorzieningen rechten scope verbreed
svn path=/Website/trunk/; revision=41105
This commit is contained in:
@@ -2089,7 +2089,7 @@ function get_res_deel_sql (params)
|
|||||||
function getScopedResDeelSql(params)
|
function getScopedResDeelSql(params)
|
||||||
{
|
{
|
||||||
|
|
||||||
params = params || {};
|
params = params || {};
|
||||||
params.reg_key = params.reg_key || -1;
|
params.reg_key = params.reg_key || -1;
|
||||||
params.dist_key = params.dist_key || -1;
|
params.dist_key = params.dist_key || -1;
|
||||||
params.loc_key = params.loc_key || -1;
|
params.loc_key = params.loc_key || -1;
|
||||||
@@ -2122,55 +2122,26 @@ function getScopedResDeelSql(params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// res_deel without alg scope
|
// res_deel without alg scope
|
||||||
var res_d = "SELECT ds.* "
|
var res_d = "SELECT ds.res_deel_key"
|
||||||
+ " FROM res_v_deelscope ds "
|
+ " , ds.res_deel_alg_level"
|
||||||
+ " WHERE ds.res_deel_alg_level = -1 ";
|
+ " , aob.alg_regio_key "
|
||||||
|
+ " , aob.alg_district_key "
|
||||||
// res_deel scoped for alg parents
|
+ " , aob.alg_locatie_key "
|
||||||
var res_d_arr = [];
|
+ " , aob.alg_gebouw_key "
|
||||||
if (alg_level != -1)
|
+ " , aob.alg_verdieping_key "
|
||||||
{
|
+ " , ds.alg_ruimte_key "
|
||||||
switch (alg_level)
|
+ " FROM (SELECT r2.* "
|
||||||
{ // note: no break -> multi switch
|
+ " FROM res_deel r1, res_v_deelscope r2 "
|
||||||
case 5: res_d_arr.push("ds.alg_ruimte_key = aob.alg_ruimte_key");
|
+ " WHERE r1.res_deel_key = r2.res_deel_key"
|
||||||
case 4: res_d_arr.push("ds.alg_verdieping_key = aob.alg_verdieping_key");
|
+ " AND r1.res_deel_verwijder IS NULL) ds "
|
||||||
case 3: res_d_arr.push("ds.alg_gebouw_key = aob.alg_gebouw_key");
|
+ " , alg_v_onrgoed_boom aob"
|
||||||
case 2: res_d_arr.push("ds.alg_locatie_key = aob.alg_locatie_key");
|
+ " WHERE ds.res_deel_alg_level = -1"
|
||||||
case 1: res_d_arr.push("ds.alg_district_key = aob.alg_district_key");
|
+ " OR ds.alg_ruimte_key = aob.alg_ruimte_key"
|
||||||
case 0: res_d_arr.push("ds.alg_regio_key = aob.alg_regio_key");
|
+ " OR ds.alg_verdieping_key = aob.alg_verdieping_key"
|
||||||
}
|
+ " OR ds.alg_gebouw_key = aob.alg_gebouw_key"
|
||||||
res_d += "UNION ALL "
|
+ " OR ds.alg_locatie_key = aob.alg_locatie_key"
|
||||||
+ "SELECT ds.* "
|
+ " OR ds.alg_district_key = aob.alg_district_key"
|
||||||
+ " FROM res_v_deelscope ds "
|
+ " OR ds.alg_regio_key = aob.alg_regio_key";
|
||||||
+ " , (SELECT * "
|
|
||||||
+ " FROM alg_v_onrgoed_boom aob "
|
|
||||||
+ " WHERE aob." + alg_filter
|
|
||||||
+ " AND ROWNUM = 1) aob "
|
|
||||||
+ " WHERE (" + res_d_arr.join(" OR ") + ")"
|
|
||||||
+ " AND ds.res_deel_alg_level <= " + alg_level;
|
|
||||||
}
|
|
||||||
|
|
||||||
// res_deel scoped for underlying alg level
|
|
||||||
if (alg_level > -1 && alg_level < 5) // no underlying alg_scope after 5
|
|
||||||
{
|
|
||||||
|
|
||||||
res_d_arr = [];
|
|
||||||
var temp_sql = "ds.res_deel_alg_level = {0} AND EXISTS (SELECT '' FROM alg_v_onrgoed_boom aob WHERE {1} AND aob." + alg_filter + ")";
|
|
||||||
switch (alg_level)
|
|
||||||
{ // note: no break -> multi switch
|
|
||||||
case 0: res_d_arr.push(temp_sql.format("1", "ds.alg_district_key = aob.alg_district_key"));
|
|
||||||
case 1: res_d_arr.push(temp_sql.format("2", "ds.alg_locatie_key = aob.alg_locatie_key"));
|
|
||||||
case 2: res_d_arr.push(temp_sql.format("3", "ds.alg_gebouw_key = aob.alg_gebouw_key"));
|
|
||||||
case 3: res_d_arr.push(temp_sql.format("4", "ds.alg_verdieping_key = aob.alg_verdieping_key"));
|
|
||||||
case 4: res_d_arr.push(temp_sql.format("5", "ds.alg_ruimte_key = aob.alg_ruimte_key"));
|
|
||||||
}
|
|
||||||
|
|
||||||
res_d += " UNION ALL "
|
|
||||||
+ "SELECT ds.* "
|
|
||||||
+ " FROM res_v_deelscope ds "
|
|
||||||
+ " WHERE ds.res_deel_alg_level > " + alg_level
|
|
||||||
+ " AND (" + res_d_arr.join(" OR ") + ")";
|
|
||||||
}
|
|
||||||
// end res_d (res_deel_alg scoping)
|
// end res_d (res_deel_alg scoping)
|
||||||
|
|
||||||
var sql1 = "SELECT " + params.select_fields
|
var sql1 = "SELECT " + params.select_fields
|
||||||
@@ -2197,7 +2168,7 @@ function getScopedResDeelSql(params)
|
|||||||
"resd.alg_locatie_key",
|
"resd.alg_locatie_key",
|
||||||
"resd.alg_gebouw_key",
|
"resd.alg_gebouw_key",
|
||||||
"resd.alg_verdieping_key",
|
"resd.alg_verdieping_key",
|
||||||
"resd.alg_ruimte_key",
|
"", // Niet ondersteund FSN#26495
|
||||||
params.autfunction,
|
params.autfunction,
|
||||||
typeof params.sdisc == "number"? params.sdisc : '',
|
typeof params.sdisc == "number"? params.sdisc : '',
|
||||||
"", // forwrite
|
"", // forwrite
|
||||||
|
|||||||
Reference in New Issue
Block a user