YKPN#54825 Ruimte selecteren bij catering

svn path=/Website/branches/v2018.1/; revision=39306
This commit is contained in:
Erik Groener
2018-10-08 14:37:27 +00:00
parent d14d253ca7
commit 3151df79bc

View File

@@ -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
+ ")";