151 lines
6.4 KiB
Plaintext
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> |