Files
Facilitor/APPL/CAD/ShowRoom.asp
2022-06-02 09:48:05 +00:00

173 lines
6.7 KiB
Plaintext

<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: ShowRoom.asp
Description: Toon een ruimte in 2D plaatje
Parameters:
rKey ALG_RUIMTE.ALG_RUIMTE_KEY
vKey ALG_VERDIEPING.ALG_VERDIEPING_KEY
ins_key Een ins_deel. Ruimte wordt er bij gezocht
res_ruimte_key Een reserveerbare ruimte. Ruimte(s) worden er bij gezocht
Context:
Note: Als rKey niet is gegeven moet vKey gedefieerd zijn
anders wordt hij er wel bij gezocht.
*/
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../CAD/FGII.inc" -->
<!-- #include file="../SlnkDWF/Slnk2IMG.inc" -->
<%
FCLTHeader.Requires({ js: ["jquery.js"] });
var ins_key = getQParamInt("ins_key", -1); // Optioneel object.
var discArray = getQParamIntArray("disc_key",[]); // Optionele disciplines aanzetten.
var thema_key = getQParamInt("thema", -1);
var caddwgx = getQParamFloat("caddwgx", null); // x coördinaat van een specifieke plek in de ruimte die gehighlight moet worden.
var caddwgy = getQParamFloat("caddwgy", null); // y coördinaat van een specifieke plek in de ruimte die gehighlight moet worden.
var mld_key_dwgxy = getQParamInt("mld_key_dwgxy", -1); // Melding van de meegegeven coördinaten x en y.
if (ins_key > 0)
{
oRs = Oracle.Execute("SELECT ins_discipline_key" +
" FROM ins_deel" +
" WHERE ins_deel_key = " + ins_key);
discArray.push(oRs("ins_discipline_key").Value); // zou dubbel kunnen zijn
}
else
{
var sql = "SELECT DISTINCT d.ins_discipline_key"
+ " FROM fac_v_my_disciplines m, ins_v_aanwezigdiscipline d, ins_disc_params dp "
+ " WHERE d.ins_discipline_key=m.ins_discipline_key"
+ " AND d.ins_discipline_min_level = 1"
+ " AND dp.ins_disc_params_cadlayers IS NOT NULL"
+ " AND BITAND(dp.ins_disc_params_type, 1) > 0" // binnen
+ " AND BITAND(dp.ins_disc_params_type, 4) > 0" // default aan
+ " AND dp.ins_discipline_key = d.ins_discipline_key"
+ " AND fac_functie_code IN ('WEB_INSUSE')"
+ " AND prs_perslid_key = " + user_key;
var oRs = Oracle.Execute(sql);
while (!oRs.Eof)
{
discArray.push(oRs("ins_discipline_key").Value);
oRs.MoveNext();
}
oRs.Close();
}
if (S("fg_publiclayers").length)
discArray = discArray.concat(S("fg_publiclayers"));
prKey = getQParamInt("rKey",-1);
rrkey = getQParamInt("res_ruimte_key",-1);
if (prKey > 0)
{
oRs = Oracle.Execute("SELECT alg_verdieping_key FROM alg_ruimte WHERE alg_ruimte_key = " + prKey);
if (oRs.Eof)
{
Response.Write("Showroom/internal error: Ruimte niet gevonden");
Response.End;
}
vKey = oRs("alg_verdieping_key").Value;
}
else if (rrkey > 0) // reserveerbare ruimte
{
var sql = "SELECT ar.alg_verdieping_key, ar.alg_ruimte_key"
+ " FROM res_alg_ruimte rar, alg_ruimte ar"
+ " WHERE res_ruimte_key = " + rrkey
+ " AND res_alg_ruimte_verwijder IS NULL"
+ " AND alg_ruimte_verwijder IS NULL"
+ " AND rar.alg_ruimte_key = ar.alg_ruimte_key";
var oRs = Oracle.Execute(sql);
vKey = oRs("alg_verdieping_key").Value;
prKeys = [];
while (!oRs.Eof)
{
prKeys.push(oRs("alg_ruimte_key").Value);
oRs.MoveNext();
}
prKey = prKeys.join(",");
}
else // vkey verplicht
{
vKey = getQParamInt("vKey");
}
oRs = Oracle.Execute("SELECT alg_locatie_code, alg_gebouw_upper, alg_verdieping_omschrijving" +
" FROM alg_v_verdieping_gegevens" +
" WHERE alg_verdieping_key = " + vKey);
var titel = L("lcl_graphics") + " " + oRs("alg_locatie_code").Value + "-"
+ oRs("alg_gebouw_upper").Value + "-"
+ oRs("alg_verdieping_omschrijving").Value
%>
<html>
<head>
<% FCLTHeader.Generate() %>
<script type="text/javascript">
function resizeIframes()
{
var height = parseInt(document.documentElement.clientHeight);
document.getElementById('MMap').style.height = (height) +"px";
};
function MMap_onClick(SlnkEvent)
{
return false; // Don't process
}
var params = "&vKey=<%=vKey%>&scenario_key=0"
+ "&highlight=<%=prKey%>"
+ "&mode=<%=MODE_IN%>"
+ "&discs=<%=discArray.join(",")%>"
+ "&thema=<%=thema_key%>"
+ "&ins_key=<%=ins_key%>"
+ "<%=caddwgx != null && caddwgy != null? '&caddwgx=' + caddwgx + '&caddwgy=' + caddwgy : ''%>"
+ "<%=mld_key_dwgxy > 0? '&mld_key_dwgxy=' + mld_key_dwgxy : ''%>";
function onFullScreen()
{
var url = "./maximize.asp?x=x" + params;
FcltMgr.windowopen(url,'FGShow',
"directories=no,location=no,menubar=no,"
+ "resizable=yes,status=no,titlebar=yes,toolbar=no");
FcltMgr.closeDetail(window); // zelf kunnen we nu wel dicht
}
function MMap_onMapperLoad(pSLNKEvent)
{
var ob = document.getElementById('MinMaxBtn');
ob.style.display = 'block'; // Zodat weer zichtbaar
//ob.style.top = ($("#docBody").offset().top + 1) + "px";
}
function init()
{
MMap.Reset();
MMap.SetIMGGenerator("../CAD/mySlnk2IMG.asp");
MMap.SetCustomParameters(params)
MMap.SetLabelPosition(<%=S("fg_labelPosition")%>);
MMap.SetPaperColor(<%=S("fg_paperColor")%>);
MMap.Refresh(true); // Try to zoom extents
}
</script>
<title><%=safe.html(titel)%></title>
</head>
<body class='modal' id='docBody' onLoad='javascript:init();'>
<!-- ==========================
HET plaatje
============================ -->
<span onclick="onFullScreen(event)"
class="fgindicator"
alt="fullscreen"
id="MinMaxBtn"
title="<%=L("lcl_cad_maximize")%>"
style="display:none"><%=I("fa-external-link fa-lg")%></span>
<iframe id="MMap" name="MMap" src="../SlnkDWF/ToonIMG.asp"
frameborder="0" framespacing="0" scrolling="no"
style="width: 100%; height:100%">
</iframe>
</body>
</html>
<% ASPPAGE_END(); %>