153 lines
6.6 KiB
Plaintext
153 lines
6.6 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: LoadInsLegenda.asp
|
|
Description: Maak een lijst bestaande symbolen op huidige verdieping
|
|
Parameters: discs: keys van te tonen disciplines
|
|
objectmove: indien 1 worden ook niet geplaatste symbolen getoond en zijn die sleepbaar.
|
|
Context: default.asp/Ajax.Updater
|
|
Note:
|
|
*/
|
|
%>
|
|
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="FGII.inc" -->
|
|
|
|
<%
|
|
var pDiscs_arr = getQParamIntArray("discs", []);
|
|
if (pDiscs_arr.length == 0) Response.End;
|
|
|
|
var inoutMode = getQParamInt("mode");
|
|
var floorKey = getQParamInt("vKey", -1);
|
|
var scenario_key = getQParamInt("scenario_key"); // current scenario.
|
|
var objectmove = getQParamInt("objectmove", 0); // Editmode?
|
|
|
|
if (inoutMode == MODE_IN && scenario_key > 0)
|
|
{
|
|
deelTable = "prj_deel";
|
|
deelParent = "prj_ruimte_key";
|
|
dbTable = "prj_ruimte";
|
|
dbLabel = "prj_ruimte_nr";
|
|
colKey = "prj_ruimte_key";
|
|
syncView = S("fg_prj_syncruimteview");
|
|
syncParent = "alg_verdieping_key";
|
|
}
|
|
else if (inoutMode == MODE_IN)
|
|
{
|
|
deelTable = "ins_deel";
|
|
deelParent = "ins_alg_ruimte_key";
|
|
dbTable = "alg_ruimte";
|
|
dbLabel = "alg_ruimte_nr";
|
|
colKey = "alg_ruimte_key";
|
|
syncView = S("fg_syncruimteview"); // "alg_v_aanwezigruimte";
|
|
syncParent = "alg_verdieping_key";
|
|
}
|
|
else
|
|
{
|
|
deelTable = "ins_deel";
|
|
deelParent = "ins_alg_ruimte_key";
|
|
dbTable = "alg_terreinsector";
|
|
dbLabel = "alg_terreinsector_code";
|
|
colKey = "alg_terreinsector_key";
|
|
syncView = S("fg_syncterreinview");
|
|
syncParent = "alg_locatie_key";
|
|
}
|
|
|
|
sql = "SELECT " + lcl.xsqla('isg.ins_srtgroep_omschrijving', 'isg.ins_srtgroep_key')
|
|
+ ", " + lcl.xsqla('isd.ins_srtdeel_omschrijving', 'isd.ins_srtdeel_key')
|
|
+ ", isd.ins_srtdeel_key"
|
|
+ ", ins_srtdeel_code, ins_srtdeel_acadsymbol, isg.ins_discipline_key"
|
|
+ ", " + lcl.xsqla('idd.ins_discipline_omschrijving', 'idd.ins_discipline_key')
|
|
+ ", COUNT(*) aantal"
|
|
+ " FROM " + dbTable + ", " + deelTable + " id, ins_srtdeel isd, ins_srtgroep isg, ins_discipline idd"
|
|
+ " WHERE isd.ins_srtgroep_key = isg.ins_srtgroep_key"
|
|
+ " AND ins_srtdeel_acadsymbol IS NOT NULL"
|
|
+ " AND isg.ins_discipline_key IN (" + pDiscs_arr.join(",") + ")"
|
|
+ " AND idd.ins_discipline_key = isg.ins_discipline_key"
|
|
+ " AND ID.ins_srtdeel_key = isd.ins_srtdeel_key"
|
|
+ (scenario_key>0
|
|
?" AND prj_scenario_key = " + scenario_key
|
|
: " AND ins_deel_parent_key IS NULL"
|
|
+ " AND ins_deel_verwijder IS NULL"
|
|
+ " AND (ins_deel_vervaldatum IS NULL OR ins_deel_vervaldatum > TRUNC(SYSDATE))")
|
|
+ " AND id." + deelParent + " = " + dbTable + "." + colKey
|
|
+ " AND " + syncParent + " = " + floorKey
|
|
+ " GROUP BY " + lcl.xsql('isg.ins_srtgroep_omschrijving', 'isg.ins_srtgroep_key')
|
|
+ ", " + lcl.xsql('isd.ins_srtdeel_omschrijving', 'isd.ins_srtdeel_key')
|
|
+ ", isd.ins_srtdeel_key, ins_srtdeel_code"
|
|
+ ", ins_srtdeel_acadsymbol"
|
|
+ ", isg.ins_discipline_key"
|
|
+ ", " + lcl.xsql('idd.ins_discipline_omschrijving', 'idd.ins_discipline_key');
|
|
|
|
if (objectmove && user.has("WEB_INSMAN"))
|
|
{
|
|
sql += "UNION "
|
|
+ "SELECT " + lcl.xsqla('isg.ins_srtgroep_omschrijving', 'isg.ins_srtgroep_key')
|
|
+ ", " + lcl.xsqla('isd.ins_srtdeel_omschrijving', 'isd.ins_srtdeel_key')
|
|
+ ", isd.ins_srtdeel_key, ins_srtdeel_code, ins_srtdeel_acadsymbol"
|
|
+ ", isg.ins_discipline_key, " + lcl.xsqla('idd.ins_discipline_omschrijving', 'idd.ins_discipline_key')
|
|
+ ", 0 aantal"
|
|
+ " FROM ins_srtdeel isd, ins_srtgroep isg, ins_discipline idd,"
|
|
+ " fac_v_webgebruiker w, fac_functie f "
|
|
+ " WHERE w.ins_discipline_key = idd.ins_discipline_key "
|
|
+ " AND w.fac_functie_key = f.fac_functie_key "
|
|
+ " AND w.prs_perslid_key = " + user_key
|
|
+ " AND isd.ins_srtgroep_key = isg.ins_srtgroep_key"
|
|
+ " AND ins_srtdeel_acadsymbol IS NOT NULL"
|
|
+ " AND isg.ins_discipline_key IN (" + pDiscs_arr.join(",") + ")"
|
|
+ " AND idd.ins_discipline_key = isg.ins_discipline_key"
|
|
+ " AND fac_functie_code = " + safe.quoted_sql(scenario_key <= 0? 'WEB_INSMAN' : 'WEB_INSPRJ')
|
|
+ " AND fac_gebruiker_alg_level_write < 9"
|
|
+ " AND ins_srtdeel_verwijder IS NULL";
|
|
//TODO: AND WHERE schrijfautorisatie/op deze verdieping
|
|
}
|
|
|
|
sql = "SELECT ins_srtgroep_omschrijving, ins_srtdeel_omschrijving"
|
|
+ ", ins_srtdeel_key, ins_srtdeel_code, ins_srtdeel_acadsymbol"
|
|
+ ", ins_discipline_key, ins_discipline_omschrijving"
|
|
+ ", MAX(aantal) aantal"
|
|
+ " FROM ("+sql+") "
|
|
+ "GROUP BY ins_srtgroep_omschrijving, ins_srtdeel_omschrijving"
|
|
+ ", ins_srtdeel_key, ins_srtdeel_code, ins_srtdeel_acadsymbol"
|
|
+ ", ins_discipline_key, ins_discipline_omschrijving"
|
|
+ " ORDER BY UPPER(ins_discipline_omschrijving)"
|
|
+ ", UPPER(ins_srtdeel_omschrijving)";
|
|
|
|
|
|
var oRs = Oracle.Execute(sql);
|
|
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
|
var lastDisc = -1; // Tussen/title regeltjes
|
|
%>
|
|
<table><%
|
|
while(!oRs.eof)
|
|
{
|
|
var symbolFile = S("flexfilespath") + "/cad/symbols/" + oRs("ins_srtdeel_acadsymbol").value + ".dwf"
|
|
//if (fso.FileExists(symbolFile)) // Anders kunnen we toch niets
|
|
{
|
|
if (lastDisc != oRs("ins_discipline_key").value)
|
|
{ %>
|
|
<tr><td colspan="2" class="legdisc"><%=oRs("ins_discipline_omschrijving").value%></td></tr>
|
|
<% } %>
|
|
<tr>
|
|
<td
|
|
<%= (objectmove ? "onmousedown='mydragstartINS(event, \""+oRs("ins_srtdeel_key").Value+"\")'" : "")%> >
|
|
<img class="legins<%=objectmove ? ' draggable' : ''%>" alt="<%=safe.htmlattr(L("lcl_descr"))%>"
|
|
src="mysymbol.asp?forceBW=1&paperColor=0&sizeX=72&sizeY=72&scale=950&offsetX=3&offsetY=3&srtdeel=<%=oRs("ins_srtdeel_key").value%>"
|
|
<%= (objectmove ? " onmousedown='(function(evt){evt.preventDefault && evt.preventDefault()})(event)'" : "")%> >
|
|
</td>
|
|
<td class="leginsname" title="<%=safe.htmlattr(oRs("ins_srtgroep_omschrijving").value)%>">
|
|
<%=safe.html(oRs("ins_srtdeel_omschrijving").value) + "<span class='leginsnr' title='"+safe.htmlattr(L("lcl_fg_obj_aantal").format(oRs("aantal").value))+"'>(" + oRs("aantal").value + "x)</span>"%>
|
|
</td>
|
|
</tr>
|
|
<% }
|
|
lastDisc = oRs("ins_discipline_key").value;
|
|
oRs.MoveNext();
|
|
}
|
|
%>
|
|
</table><%
|
|
oRs.Close();
|
|
%>
|
|
<% ASPPAGE_END(); %>
|