Files
Facilitor/APPL/MLD/mld_load_obj_info.asp
Maykel Geerdink 3b7cb918b7 FSN#28568: Organisatiegebonden objecten kunnen kiezen bij melding.
svn path=/Website/trunk/; revision=20653
2014-02-17 11:01:05 +00:00

121 lines
4.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/json2.js" -->
<!-- #include file="../Shared/get_objecten_sql.inc" -->
<%
function kenmerkTR(label, waarde)
{
var txt = '<tr>'
+ '<td class="label"><label>'+safe.html(label)+':</label></td>'
+ '<td style="word-wrap:break-word">' +safe.html(waarde)+'</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 txt = '<table style="table-layout:fixed; width:100%">';
var sql = "SELECT d.ins_deel_key"
+ " , d.ins_deel_omschrijving||' ('||" + lcl.xsql('dg.ins_srtdeel_omschrijving', 'dg.ins_srtdeel_key') + "||')' deel"
+ " , d.ins_alg_ruimte_key"
+ " , d.ins_alg_ruimte_type"
+ " , a.alg_ruimte_nr"
+ " , dg.alg_plaatsaanduiding || ' ' || dg.ins_deel_omschrijving tooltip"
+ " FROM ins_v_aanwezigdeel d"
+ " , alg_v_aanwezigruimte a"
+ " , ins_v_deel_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_deel_key = dg.ins_deel_key"
+ " AND d.ins_deel_key = " + ins_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
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)
}
txt += kenmerkTR(lbl, oRs("tooltip").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"
+ "," + 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
txt += kenmerkTR(oRs(1).value, oRs(2).value);
oRs.MoveNext();
}
oRs.close();
txt += '</table>';
var result = txt;
Response.Write(result);
%>