Files
Facilitor/APPL/PDA/ruimte_list.asp
Peter Feij ec023e0d4c FSN#32023 layout verfijning
svn path=/Website/trunk/; revision=24799
2015-04-13 22:42:58 +00:00

151 lines
6.4 KiB
Plaintext

<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: ruimte_search.asp
Description: List of rooms (Mobile version)
Parameters: Diverse alg-keys die worden vertaald naar filter op de lijst van ruimtes
Note: Which grouping is used is determined by S("mobile_alg_level")
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/discx3d.inc" -->
<!-- #include file="./resultset_table.inc" -->
<!-- #include file="./mobile.inc" -->
<!-- #include file="./iface.inc" -->
<%
var locatie_key = getQParamInt("locatie_key", user.alg_locatie_key({withcurrent: true})); // Locatie
var gebouw_key = getQParamInt("gebouw_key", user.alg_gebouw_key({withcurrent: true})); // Gebouw, kan -1 zijn, dan niet gebruiken
var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({withcurrent: true}));
var srtruimte_key = getQParamInt("srtruimte_key", -1);
var ruimte_key = getQParamInt("ruimte_key", -1);
var level = getQParam("level", S("mobile_alg_level"));
var qrc = getQParamInt("qrc", 0) != 0;
%>
<html>
<head>
<% FCLTMHeader.Generate({});
%></head><body><%
PAGE_START()
HEADER({title: L("lcl_mobile_ruimten"), back:!qrc, home:!qrc});
CONTENT_START();
var groupcolumn = null; // Leidt tot een platte ruimtelijst.
var groupordercolumn = null; // Leidt tot een platte ruimtelijst.
function fncolLink(oRs)
{
var url = "";
if (level == "L")
url = "../pda/ruimte_list.asp?gebouw_key=" + safe.url(oRs("alg_gebouw_key").Value) + "&level=G";
else if (level == "G")
url = "../pda/ruimte_list.asp?gebouw_key=" + gebouw_key + "&verdieping_key=" + safe.url(oRs("alg_verdieping_key").Value) + "&level=V";
else if (level == "V")
url = "../pda/ruimte_list.asp?gebouw_key=" + gebouw_key + "&verdieping_key=" + verdieping_key + "&srtruimte_key=" + safe.url(oRs("alg_srtruimte_key").Value) + "&level=SR";
else
url = "../pda/ruimte.asp?ruimte_key=" + oRs("alg_ruimte_key").Value;
return url;
};
function fncolHeader(oRs)
{
return safe.html(oRs("plaats").Value || "");
};
function fncolsubHeader(oRs)
{
return "<div class='listbodykop'>" + safe.html(oRs("plaats").Value) + "</div>";
};
function fnAside(oRs)
{
return safe.html(oRs("reserveerbaar").value==1?L("lcl_reserveerbaar"):"");
}
var alg_key;
var alg_naam;
var alg_code;
var plaats = "''";
if (level == "L")
{
alg_key = "aog.alg_gebouw_key";
alg_naam = "aog.alg_gebouw_naam";
alg_code = "aog.alg_gebouw_code";
groupcolumn = "alg_gebouw_naam"; // Groepeer per gebouw.
groupordercolumn = "aog.alg_gebouw_code || '-' || aog.alg_gebouw_naam"; // Groepeer per gebouw.
}
else if (level == "G")
{
alg_key = "aog.alg_verdieping_key";
alg_naam = "aog.alg_verdieping_omschrijving";
alg_code = "aog.alg_verdieping_code";
groupcolumn = groupordercolumn = "alg_verdieping_code"; // Groepeer per verdieping.
}
else if (level == "V")
{
alg_key = "sr.alg_srtruimte_key";
alg_naam = "sr.alg_srtruimte_omschrijving";
alg_code = "sr.alg_srtruimte_code";
groupcolumn = groupordercolumn = "alg_srtruimte_omschrijving"; // Groepeer per ruimtesoort.
}
else if (level == "SR")
{
alg_key = "r.alg_ruimte_key";
alg_naam = "r.alg_ruimte_omschrijving";
alg_code = "r.alg_ruimte_nr";
plaats = "aog.alg_gebouw_code || '-' || aog.alg_verdieping_code || '-' || aog.alg_ruimte_nr";
groupcolumn = "alg_ruimte_nr"; // Groepeer per gebouw.
groupordercolumn = "r.alg_ruimte_nr || '-' || r.alg_ruimte_omschrijving"; // Groepeer per ruimte.
}
var sql = "SELECT COUNT(" + alg_key + ") numberInGroup"
+ " , " + alg_key
+ " , " + alg_naam
+ " , " + alg_code
+ " , " + alg_code + " alg_code"
+ " , " + alg_naam + " alg_naam"
+ " , " + alg_code + " || '-' || " + alg_naam + " codenaam"
+ " , COUNT((SELECT MAX('R') FROM res_alg_ruimte rr WHERE res_alg_ruimte_verwijder IS NULL AND rr.alg_ruimte_key = r.alg_ruimte_key)) reserveerbaar"
+ " , " + plaats + " plaats"
+ " FROM alg_v_onroerendgoed_gegevens aog"
+ " , alg_v_aanwezigruimte r"
+ " , alg_srtruimte sr "
+ " WHERE aog.alg_ruimte_key = r.alg_ruimte_key"
+ " AND sr.alg_srtruimte_key(+) = r.alg_srtruimte_key"
+ " AND aog.alg_locatie_key = " + locatie_key // beperk altijd tot locatie
+ (gebouw_key > -1 ? " AND aog.alg_gebouw_key = " + gebouw_key : "")
+ (verdieping_key > -1 ? " AND aog.alg_verdieping_key = " + verdieping_key : "")
+ (ruimte_key > -1 ? " AND aog.alg_ruimte_key = " + ruimte_key : "")
+ (srtruimte_key > -1 ? " AND sr.alg_srtruimte_key = " + srtruimte_key : "")
+ " GROUP BY " + alg_key
+ " , " + alg_naam
+ " , " + alg_code
+ (level == "SR"
? " , aog.alg_gebouw_code"
+ " , aog.alg_verdieping_code"
+ " , aog.alg_ruimte_nr"
: "")
+ " ORDER BY " + groupordercolumn; // Groepeer per gebouw, verdieping of ruimtesoort. Accepteer dat hierdoor verdiepingcode ipv volgnr wordt gehanteerd
var rst = new ResultsetTable({ sql: sql,
linkColumn: fncolLink,
groupColumn: groupcolumn,
groupSelect: (level == "SR"? "alg_srtruimte_omschrijving" : ""),
xheaderColumn: fncolHeader,
headerColumn: "alg_code",
detailColumn: "alg_naam",
asideColumn: fnAside,
subheaderColumn: fncolsubHeader,
numberInGroup: "numberInGroup",
ID: "ruimtetable",
showAll: true
});
var cnt = rst.processResultset();
CONTENT_END();
FOOTER();
PAGE_END();
%>
</body>
</html>