<%@ language = "JavaScript" %> <% /* $Revision$ $Id$ File: get_wp_info_ajax.asp Description: Ophalen van werkplek info voor 3D inkleuring Ook: ophalen van alle ruimtekeys die een muur moeten krijgen Parameters: vKey Context: Note: TODO: thema kan ook een werkplekthema (zelfs objectthema?) zijn, geeft nu error */ %> <% JSON_Result = true; %> <% var vKey = getQParamInt("vKey"); var thema_key = getQParamInt("thema"); // deze bepaalt welke ruimtes we gaan highlight var label_key = getQParamInt("bordlabel",-1); // deze bepaalt welke infoborden we gaan plaatsen result = { muren: [], borden: [], werkplekken: [] } // Thema info if (thema_key > 0) // Alle(en) ruimtes in het thema gaan we highlighten { // Haal de schema definitie op sql = "SELECT cad_thema_view, l.cad_legenda_key, l.cad_legenda_discreet " + " FROM cad_thema t, cad_legenda l " + " WHERE t.cad_thema_key=" + thema_key + " AND t.cad_legenda_key = l.cad_legenda_key"; oRs = Oracle.Execute(sql) viewName = oRs("cad_thema_view").value; schKey = oRs("cad_legenda_key").value; discreet=oRs("cad_legenda_discreet").value; oRs.Close(); // Doorloop alle ruimtes van onze verdieping en zoek de schema-kleur er bij var sql = "SELECT r.alg_ruimte_key, alg_ruimte_nr, waarde" + " FROM alg_ruimte r," + viewName + " thema" + " WHERE thema.alg_ruimte_key = r.alg_ruimte_key" + " AND r.alg_verdieping_key = " + vKey; var oRs = Oracle.Execute(sql); while (!oRs.Eof) { var waarde = String(oRs("waarde").Value); if (waarde.length && waarde.substr(0,1) != '*') { var muur = { key: oRs("alg_ruimte_key").Value, rnr: oRs("alg_ruimte_nr").Value, waarde: "X" + waarde }; result.muren.push(muur); } oRs.MoveNext(); } } // Label info if (label_key > 0) // Voor plaatsing infoborden { // Haal de schema definitie op sql = "SELECT cad_label_view, cad_label_size " + " FROM cad_label " + " WHERE cad_label_key =" + label_key; oRs = Oracle.Execute(sql) viewName = oRs("cad_label_view").value; viewSize = oRs("cad_label_size").value; oRs.Close(); // Doorloop alle ruimtes van onze verdieping en zoek de schema-kleur er bij var sql = "SELECT r.alg_ruimte_key, alg_ruimte_nr, waarde" + " FROM alg_ruimte r," + viewName + " lbl" + " WHERE lbl.alg_ruimte_key = r.alg_ruimte_key" + " AND r.alg_verdieping_key = " + vKey; var oRs = Oracle.Execute(sql); while (!oRs.Eof) { var bord = { key: oRs("alg_ruimte_key").Value, tekst: oRs("waarde").Value, rnr: oRs("alg_ruimte_nr").value, waarde: waarde }; result.borden.push(bord); oRs.MoveNext(); } } // Werkplek info // Alleen werkplekken met X en Y var sql = "SELECT 'W:'||prs_werkplek_key key, prs_werkplek_omschrijving oms," + " prs_werkplek_dwgx dwgx, prs_werkplek_dwgy dwgy, " + " prs_werkplek_dwgrotatie rot, prs_werkplek_dwgschaal scl," + " cadlabel, '"+S("fg_werkpleksymbool")+"' symbolname" + " FROM prs_werkplek wp, "+S("fg_syncruimteview")+" SYNC" + " WHERE wp.prs_alg_ruimte_key = sync.alg_ruimte_key" + " AND prs_werkplek_dwgx IS NOT NULL" + " AND alg_verdieping_key = " + vKey; var oRs = Oracle.Execute(sql); while (!oRs.Eof) { var werkplek = { key: oRs("key").Value, oms: oRs("oms").Value, rot: oRs("rot").Value, dwgX: oRs("dwgx").Value, dwgY: oRs("dwgy").Value, symbolname: oRs("symbolname").Value } result.werkplekken.push(werkplek); oRs.MoveNext(); } Response.Write(JSON.stringify(result)); %>