HEIN#88521: Filterprobleem in fiatteren facturen tabblad, toont alle locaties.

svn path=/Website/branches/v2025.1/; revision=68706
This commit is contained in:
Maykel Geerdink
2025-04-09 13:20:45 +00:00
parent 3e69fad064
commit b1e035ce4b

View File

@@ -598,17 +598,39 @@ function fin_list (params)
if (kpgrp_key_arr)
sql += " AND kpg.prs_kostenplaatsgrp_key IN (" + kpgrp_key_arr.join(", ") + ")";
// Als bld_key een geldige waarde heeft, hebben loc_key, dis_key en reg_key ook een geldige waarde
if (reg_key)
{
// Het eindlevel van de FCLTplaatsselector is Gebouw(3).
// Het startlevel kan gekozen zijn (Regio(0), District(1), Locatie(1) of Gebouw(3)).
// Dus als bld_key een geldige waarde heeft, wil niet zeggen dat loc_key, dis_key en reg_key ook een geldige waarde hebben.
var dis_key_arr = [];
var loc_key_arr = [];
if (bld_key)
{ // Zoek de locatie die bij het gekozen gebouw hoort.
sqlb = "SELECT l.alg_locatie_key"
+ " FROM alg_locatie l"
+ " , alg_gebouw g"
+ " WHERE l.alg_locatie_key = g.alg_locatie_key"
+ " AND g.alg_gebouw_key = " + bld_key;
var oRsb = Oracle.Execute(sqlb);
while (!oRsb.eof)
{
loc_key_arr.push(oRsb("alg_locatie_key").Value);
oRsb.MoveNext();
}
oRsb.Close();
}
else if (loc_key)
{
loc_key_arr.push(loc_key);
}
else
{
if (dis_key)
{
dis_key_arr.push(dis_key);
}
else
{
// Zoek alle districtn die bij het gekozen regio horen.
else if (reg_key)
{ // Zoek alle districtn die bij het gekozen regio horen.
sqld = "SELECT alg_district_key"
+ " FROM alg_district"
+ " WHERE alg_regio_key = " + reg_key;
@@ -621,12 +643,7 @@ function fin_list (params)
oRsd.Close();
}
var loc_key_arr = [];
if (loc_key)
{
loc_key_arr.push(loc_key);
}
else
if (dis_key_arr.length > 0)
{
// Zoek alle locaties die bij het gekozen regio/district horen.
sqld = "SELECT alg_locatie_key"
@@ -640,6 +657,7 @@ function fin_list (params)
}
oRsd.Close();
}
}
if (loc_key_arr.length > 0)
{
@@ -689,8 +707,8 @@ function fin_list (params)
sql += "AND (" + sql1 + " OR " + sql2 + " OR " + sql3 + ")";
}
else
// Er is geen enkele locatie die bij het gekozen district hoort. Dan kunnen er ook geen resultaten zijn.
else if (reg_key > 0 || dis_key > 0)
{ // Er is geen enkele locatie die bij het gekozen regio en/of district hoort. Dan kunnen er ook geen resultaten zijn.
sql += " AND 1=0";
}