Files
Facilitor/APPL/Shared/Suggest/SuggestLocatie.asp
Erik Groener 041e70cbdd UWVA#38222 Locatie met louter vervallen gebouwen toch te selecteren
svn path=/Website/branches/v2016.2/; revision=31372
2016-11-07 08:51:57 +00:00

96 lines
3.2 KiB
Plaintext

<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: SuggestLocatie.asp
Description: Suggereer locaties
Parameters: k De eerste paar letters
filtcode beperk de lijst met getoonde locaties TO BE DEFINED
diskey : optioneel de districtkey waarbinnen de locaties
autlevel : optioneel: schrijfrechten op dit niveau nodig
Globals:
Context:
Note:
TODO: extraInf updaten of verwijderen
*/ %>
<%
JSON_Result = true;
%>
<!-- #include file="../../Shared/common.inc" -->
<!-- #include file="./suggest.inc" -->
<!-- #include file="./plaatsFilter.inc" -->
<%
var chars = getQParam("k", "");
var autlevel = getQParamInt("autlevel", -1);
var bAll = getQParamInt("SuggestAll", 0) == 1;
var regkey = getQParamInt("regkey", "-1");
var diskey = getQParamInt("diskey", "-1");
var filtcode = getQParam("filtcode", "");
var extracode = getQParam("extraCode", "");
var act_key = getQParamInt("act_key", -1);
var params = { act_key: act_key };
chars = chars.replace(/\*/g,"%");
var filtClause = getFiltClauseLocatie(filtcode, params);
var extraInf = ", 'Extra' extra";
if (extracode != "")
{
switch(extracode)
{
case "C": extraInf = ", alg_locatie_plaats extra";
break;
}
}
if (diskey > 0)
{ // District (parent) gegeven
filtClause.where += " AND alg_district_key = " + diskey;
}
else if (regkey > 0)
{ // Regio gegeven
filtClause.where += " AND alg_district_key IN"
+ " (SELECT alg_district_key"
+ " FROM alg_v_aanwezigdistrict"
+ " WHERE alg_regio_key = " + regkey + ")";
}
if (autlevel > -1) // Efficiente versie van FAC_V_MY_PR**S_AFDELINGEN_WRITE
{
filtClause.where += " AND l.alg_locatie_key IN"
+ " (SELECT alg_locatie_key"
+ " FROM fac_v_my_locations "
+ " WHERE prs_perslid_key = " + user_key
+ " AND niveau = " + autlevel + ")";
}
var existBuilding = " AND EXISTS "
+ "(SELECT ''"
+ " FROM alg_v_aanweziggebouw gg"
+ " WHERE (gg.alg_gebouw_vervaldatum IS NULL OR gg.alg_gebouw_vervaldatum > TRUNC(SYSDATE))"
+ " AND gg.alg_locatie_key = l.alg_locatie_key"
+ " UNION ALL"
+ " SELECT ''"
+ " FROM alg_v_aanwezigterreinsector t"
+ " WHERE t.alg_locatie_key = l.alg_locatie_key)";
sql = "SELECT l.alg_locatie_key"
+ ", " + S("alg_loc_string") + " naam"
+ ", alg_locatie_code code"
+ ", alg_locatie_postcode postcode"
+ extraInf
+ " FROM alg_v_aanweziglocatie l"
+ filtClause.from
+ " WHERE (UPPER(" + S("alg_loc_string") + ") LIKE " + safe.quoted_sql_wild(chars + "%")
+ " OR UPPER(alg_locatie_code) LIKE " + safe.quoted_sql_wild(chars + "%") + ")"
+ existBuilding
+ filtClause.where
+ " ORDER BY 2"
WriteResult(sql, bAll, "naam", "alg_locatie_key", "code", "postcode", "extra");
%>