<%@ 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") */ %> <% 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; %>
<% FCLTMHeader.Generate({}); %>
<% PAGE_START() HEADER({title: L("lcl_mobile_ruimten"), back: false, 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 || 0) + "&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 "
" + safe.html(oRs("plaats").Value) + "
"; }; 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 = "codenaam"; // 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. } /* de coalesce alg_key is er vanwege level V. alg_srtruimte_key is niet verplicht en dan wordt er verkeerd geteld. */ var sql = "SELECT COUNT(coalesce(" + alg_key + ", -1)) 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 > 0 ? " AND sr.alg_srtruimte_key = " + srtruimte_key : (srtruimte_key == 0 ? " AND sr.alg_srtruimte_key IS NULL" : "")) + " 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(); PDA_PAGE_END(); %>
<% ASPPAGE_END(); %>