124 lines
4.8 KiB
Plaintext
124 lines
4.8 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_deel_opmerking"
|
|
+ " , d.ins_alg_ruimte_type"
|
|
+ " , dg.alg_plaatsaanduiding"
|
|
+ " 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("alg_plaatsaanduiding").value);
|
|
txt += kenmerkTR(L("lcl_obj_identification"), oRs("deel").value);
|
|
if (oRs("ins_deel_opmerking").Value)
|
|
txt += kenmerkTR(L("lcl_ins_opmerking"), oRs("ins_deel_opmerking").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);
|
|
%> |