127 lines
4.2 KiB
Plaintext
127 lines
4.2 KiB
Plaintext
<%@ 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;
|
|
%>
|
|
|
|
<!-- #include file="../Shared/common.inc"-->
|
|
<!-- #include file="../Shared/json2.js" -->
|
|
<%
|
|
|
|
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));
|
|
%>
|