Files
Facilitor/APPL/CAD/LoadInsLegenda.asp
Jos Groot Lipman 4ddc7d2aee UWVA#72186 Fontawesome symbolen staan niet in de legenda
svn path=/Website/trunk/; revision=55819
2022-05-09 08:30:32 +00:00

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(); %>