Files
Facilitor/APPL/MLD/mld_load_obj_info.asp
Koen Reefman 4d912c0d30 FCLT#66528 plaatje als achtergrond indien aanwezig
svn path=/Website/trunk/; revision=51407
2021-05-11 18:28:38 +00:00

163 lines
6.7 KiB
Plaintext

<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: mld_load_obj_info.asp
Description: Genereer HTML info voor een object bij melding
Parameters: ins_key
aantal_kenmerken
Context: asynchrone aanroep vanuit mld_object.asp
Notes:
*/ %>
<%
DOCTYPE_Disable = 1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../INS/ins.inc" -->
<!-- #include file="../Shared/get_objecten_sql.inc" -->
<%
function kenmerkTR(label, waarde, isLink)
{
var txt = '<tr>'
+ '<td class="label"><label>'+safe.html(label)+':</label></td>'
+ '<td style="word-wrap:break-word">' +(isLink ? '<span class="details" OnClick="obj_info('+ins_key+')">' : '')+safe.html(waarde)+(isLink ? '</span>' : '')+'</td>'
+ '</tr>';
return txt;
}
var ins_key = getQParamInt("ins_key");
var max_rows = getQParamInt("max_rows",1);
var sql = "SELECT s.ins_srtdeel_key"
+ " FROM ins_deel d"
+ ", ins_srtdeel s"
+ " WHERE d.ins_srtdeel_key = s.ins_srtdeel_key"
+ " AND ins_deel_key = " + ins_key;
var oRs = Oracle.Execute(sql);
var srtdeel_key = oRs("ins_srtdeel_key").value;
oRs.close();
var result = '<div class="mldobj-info-wrapper">'
+ ' <div class="mldobj-info">'
+ ' <div>'
+ ' <table style="table-layout:fixed; width:100%">';
var sql = "SELECT d.ins_deel_key"
+ " , d.ins_deel_omschrijving||' ('||" + lcl.xsql('s.ins_srtdeel_omschrijving', 's.ins_srtdeel_key') + "||')' deel"
+ " , d.ins_deel_opmerking"
+ " , d.ins_alg_ruimte_type"
+ " , dg.alg_plaatsaanduiding"
+ " , d.ins_deel_aantal"
+ " , s.ins_srtdeel_eenheid"
+ " , s.ins_srtdeel_image"
+ " FROM ins_deel d"
+ " , ins_srtdeel s"
+ " , alg_v_aanwezigruimte a"
+ " , alg_v_allonrgoed_gegevens dg"
+ " WHERE d.ins_alg_ruimte_key = a.alg_ruimte_key(+)" // Outer join nodig om ook de persoonsgebonden en afdelingsgebonden objecten te tonen.
+ " AND d.ins_srtdeel_key = s.ins_srtdeel_key"
+ " AND d.ins_deel_verwijder IS NULL"
+ " AND d.ins_alg_ruimte_type = dg.alg_type"
+ " AND d.ins_alg_ruimte_key = dg.alg_onroerendgoed_keys"
+ " AND d.ins_deel_key = " + ins_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
var srtdeel_image = oRs("ins_srtdeel_image").Value;
var hasImage = false;
if (srtdeel_image)
{
var imageFile = S("ins_image_path") + srtdeel_image;
var fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FileExists(Server.MapPath(imageFile)))
hasImage = true;
}
var this_photoinfo = ins.photoinfo(ins_key);
var background_image_src = "";
if (this_photoinfo.isDefault)
{
if (hasImage)
background_image_src = imageFile;
}
else
background_image_src = this_photoinfo.photopath;
if (background_image_src)
{
result = '<div class="mldobj-info-wrapper mldobj-has-photo" style="background-image: url(' + safe.htmlattr(background_image_src) + ')">'
+ ' <div class="mldobj-info">'
+ ' <div>'
+ ' <table style="table-layout:fixed; width:100%">';
}
switch (oRs("ins_alg_ruimte_type").Value)
{
case "P": { var lbl = L("lcl_obj_owner"); break; } // Persoon(P)
case "A": { var lbl = L("lcl_obj_department"); break; } // Afdeling (A)
default: { var lbl = L("lcl_obj_position"); break; } // Plaats: Ruimte(R), Terrein(T) of Werkplek(W)
}
result += kenmerkTR(lbl, oRs("alg_plaatsaanduiding").Value);
result += kenmerkTR(L("lcl_obj_identification"), oRs("deel").Value, true);
if (oRs("ins_deel_opmerking").Value)
result += kenmerkTR(L("lcl_ins_opmerking"), oRs("ins_deel_opmerking").value);
result += kenmerkTR(L("lcl_amount"), oRs("ins_deel_aantal").Value + (oRs("ins_srtdeel_eenheid").Value ? " " + oRs("ins_srtdeel_eenheid").Value : ""));
}
oRs.close();
var sqlwaarde = " k.ins_kenmerk_default";
if (srtdeel_key > 0)
sqlwaarde = "(SELECT (CASE WHEN sk.fac_kenmerkdomein_key IS NULL"
+ " THEN v.ins_kenmerkdeel_waarde"
+ " ELSE fac.getdomeinwaarde(sk.fac_kenmerkdomein_key, v.ins_kenmerkdeel_waarde)"
+ " END) ins_kenmerkdeel_waarde"
+ " FROM ins_kenmerkdeel v"
+ ", ins_srtkenmerk sk"
+ " WHERE sk.ins_srtkenmerk_key = k.ins_srtkenmerk_key"
+ " AND sk.ins_srtkenmerk_kenmerktype NOT IN ('L','M')"
+ " AND v.ins_kenmerk_key = k.ins_kenmerk_key"
+ " AND v.ins_kenmerkdeel_verwijder IS NULL"
+ " AND ( k.ins_kenmerk_bewerkniveau = 'D' AND v.ins_deel_key = " + ins_key
+ " OR k.ins_kenmerk_bewerkniveau = 'S' AND v.ins_deel_key = " + srtdeel_key
+ " )"
+ ")";
var sqlt = "SELECT k.ins_kenmerk_volgnummer kenmerk_volgnr"
+ " , COALESCE (" + lcl.xsql("k.ins_kenmerk_omschrijving", "k.ins_kenmerk_key")
+ " , " + lcl.xsql("t.ins_srtkenmerk_omschrijving", "t.ins_srtkenmerk_key") + ") kenmerk_omschrijving"
+ " ," + sqlwaarde + " kenmerk_waarde"
+ " FROM ins_srtkenmerk t"
+ ", ins_kenmerk k"
+ ", ins_srtdeel s"
+ ", ins_srtgroep g"
+ " WHERE s.ins_srtdeel_key = " + srtdeel_key
+ " AND k.ins_srtkenmerk_key = t.ins_srtkenmerk_key"
+ " AND g.ins_srtgroep_key = s.ins_srtgroep_key"
+ " AND k.ins_kenmerk_verwijder IS NULL"
+ " AND t.ins_srtkenmerk_verwijder IS NULL"
+ " AND ( (k.ins_srtinstallatie_key = s.ins_srtdeel_key"
+ " AND k.ins_kenmerk_niveau = 'S')"
+ " OR (k.ins_srtinstallatie_key = s.ins_srtgroep_key"
+ " AND k.ins_kenmerk_niveau = 'G')"
+ " OR (k.ins_srtinstallatie_key = g.ins_discipline_key"
+ " AND k.ins_kenmerk_niveau = 'D')"
+ " )"
+ " ORDER BY 1,2";
var sql = "SELECT * FROM ("+ sqlt +")"
+ " WHERE rownum <= " + max_rows;
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{ // elk gevonden record op een nieuwe regel
result += kenmerkTR(oRs(1).value, oRs(2).value);
oRs.MoveNext();
}
oRs.close();
result += '</table></div></div></div>';
Response.Write(result);
%><% ASPPAGE_END(); %>