YKPN#54825 Ruimte selecteren bij catering
svn path=/Website/branches/v2018.1/; revision=39306
This commit is contained in:
@@ -667,39 +667,6 @@ function get_res_bezorgfilter(params, level)
|
||||
case 5: niveau = {alias: "r", field: "alg_ruimte_key"}; break;
|
||||
}
|
||||
|
||||
// Er mag bij een level alleen op niveau gecontroleerd worden als het niveau ook echt aanwezig is.
|
||||
// Haal eerst de aanwezige niveau's voor de activiteit op.
|
||||
var sql = "SELECT DISTINCT alg_onrgoed_niveau "
|
||||
+ " FROM res_srtartikel_onrgoed s"
|
||||
+ " , res_activiteitdiscipline d"
|
||||
+ " WHERE s.res_discipline_key = d.res_discipline_key"
|
||||
+ " AND s.res_srtartikel_og_verwijder IS NULL"
|
||||
+ " AND d.res_activiteit_key = " + params.act_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var aanwezig_niveau = {};
|
||||
while (!oRs.eof)
|
||||
{
|
||||
aanwezig_niveau[oRs("alg_onrgoed_niveau").Value] = true;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var disc_level = [];
|
||||
switch (level) // Hier geen break gebruiken!
|
||||
{
|
||||
case 1: if (aanwezig_niveau["D"])
|
||||
disc_level.push("( obj.alg_onrgoed_niveau = 'D' AND obj.alg_onrgoed_key = aob.alg_district_key)");
|
||||
case 2: if (aanwezig_niveau["L"])
|
||||
disc_level.push("( obj.alg_onrgoed_niveau = 'L' AND obj.alg_onrgoed_key = aob.alg_locatie_key)");
|
||||
case 3: if (aanwezig_niveau["G"])
|
||||
disc_level.push("( obj.alg_onrgoed_niveau = 'G' AND obj.alg_onrgoed_key = aob.alg_gebouw_key)");
|
||||
case 4: if (aanwezig_niveau["V"])
|
||||
disc_level.push("( obj.alg_onrgoed_niveau = 'V' AND obj.alg_onrgoed_key = aob.alg_verdieping_key)");
|
||||
case 5: if (aanwezig_niveau["R"])
|
||||
disc_level.push("( obj.alg_onrgoed_niveau = 'R' AND obj.alg_onrgoed_key = aob.alg_ruimte_key)");
|
||||
}
|
||||
var disc_level_str = (disc_level.length ? " AND ( " + disc_level.join(" OR ") + " )" : "");
|
||||
|
||||
bezorgfilter = "AND " + niveau.alias + "." + niveau.field + " IN "
|
||||
+ "(SELECT aob." + niveau.field
|
||||
+ " FROM ( SELECT alg_onrgoed_key"
|
||||
@@ -714,7 +681,12 @@ function get_res_bezorgfilter(params, level)
|
||||
+ " , alg_ruimte r"
|
||||
+ " WHERE rad.res_discipline_key = obj.res_discipline_key"
|
||||
+ " AND r.alg_ruimte_key = aob.alg_ruimte_key"
|
||||
+ disc_level_str
|
||||
+ " AND ( (obj.alg_onrgoed_niveau = 'R' and obj.alg_onrgoed_key = aob.alg_ruimte_key)"
|
||||
+ " OR (obj.alg_onrgoed_niveau = 'V' and obj.alg_onrgoed_key = aob.alg_verdieping_key)"
|
||||
+ " OR (obj.alg_onrgoed_niveau = 'G' and obj.alg_onrgoed_key = aob.alg_gebouw_key)"
|
||||
+ " OR (obj.alg_onrgoed_niveau = 'L' and obj.alg_onrgoed_key = aob.alg_locatie_key)"
|
||||
+ " OR (obj.alg_onrgoed_niveau = 'D' and obj.alg_onrgoed_key = aob.alg_district_key)"
|
||||
+ " )"
|
||||
+ " AND obj.alg_onrgoed_verwijder IS NULL"
|
||||
+ " AND rad.res_activiteit_key = " + params.act_key
|
||||
+ ")";
|
||||
|
||||
Reference in New Issue
Block a user