130 lines
4.9 KiB
Plaintext
130 lines
4.9 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: fac_scan_users.asp
|
|
Description: API om active users op te vragen van één klant
|
|
Context: FACILITOR remote support
|
|
|
|
*/
|
|
var JSON_Result = true;
|
|
%>
|
|
<!-- #include file="../Shared/common.inc"-->
|
|
<!-- #include file="../Shared/json2.js" -->
|
|
<%
|
|
user.checkAutorisation("WEB_FACFAC");
|
|
|
|
result = { cust: customerId.toUpperCase(),
|
|
power : [],
|
|
recent: [] };
|
|
|
|
tmStart2 = new Date();
|
|
result.datasource = Oracle.RealConnection.Properties("Data source").Value;
|
|
result.uname = Oracle.RealConnection.Properties("User Name").Value;
|
|
|
|
var sql = "SELECT SYS_CONTEXT('USERENV','DB_NAME') dbname,"
|
|
+ " SYS_CONTEXT('USERENV','SERVER_HOST') server FROM DUAL";
|
|
var oRs = Oracle.Execute(sql);
|
|
result.dbdomain = oRs('dbname').Value + '@' + oRs('server').Value;
|
|
oRs.Close();
|
|
|
|
result.logfilename = Application(customerId + "_logfilename");
|
|
if (typeof result.logfilename == "undefined")
|
|
{
|
|
var sql = "SELECT fac.getsetting('fac_logfilename') FROM DUAL";
|
|
var oRs = Oracle.Execute(sql);
|
|
result.logfilename = oRs(0).Value;
|
|
oRs.Close();
|
|
}
|
|
if (result.logfilename)
|
|
result.logfilename += ".html";
|
|
else
|
|
result.logfilename = "temp/log_"+customerId.toUpperCase()+".html"
|
|
|
|
var sql = "select fac.getdbversion() fac_version, 'DB'||fac_version_schema fac_version_schema from fac_version";
|
|
var oRs = Oracle.Execute(sql);
|
|
result.facversion = oRs("fac_version").Value;
|
|
result.schemaversion = oRs("fac_version_schema").Value;
|
|
oRs.Close();
|
|
|
|
var sql = "SELECT MAX(adm_tracking_date) datum"
|
|
+ " FROM adm_tracking"
|
|
+ " WHERE adm_tracking_name LIKE '%recreate.%'";
|
|
oRs = Oracle.Execute(sql);
|
|
if (!oRs.Eof && oRs("datum").Value != null)
|
|
{
|
|
result.recreate_date = new Date(oRs("datum").Value).getTime();
|
|
}
|
|
oRs.Close();
|
|
|
|
// Krachtige users. Pas op: fac_v_webgebruiker is hier uitgewerkt omdat die bij UWV te traag was
|
|
var sql = "SELECT prs_perslid_oslogin, "
|
|
+ S("prs_pers_string") + " naam,"
|
|
+ S("prs_dep_string") + " afdeling,"
|
|
+ " p.prs_perslid_login, "
|
|
+ " aantal "
|
|
+ " FROM (SELECT gg.prs_perslid_key, "
|
|
+ " COUNT(DISTINCT g.fac_functie_key) aantal"
|
|
+ " FROM fac_groeprechten g, "
|
|
+ " fac_gebruikersgroep gg "
|
|
+ " WHERE g.fac_groep_key = gg.fac_groep_key "
|
|
+ " AND fac_gebruiker_prs_level_write < 9 "
|
|
+ " AND fac_gebruiker_alg_level_write < 9 "
|
|
+ " GROUP BY gg.prs_perslid_key) fun, "
|
|
+ " prs_v_aanwezigperslid p "
|
|
+ " , prs_v_afdeling d "
|
|
+ " WHERE p.prs_perslid_key = fun.prs_perslid_key "
|
|
+ " AND p.prs_afdeling_key = d.prs_afdeling_key"
|
|
+ " AND prs_perslid_oslogin IS NOT NULL "
|
|
+ " AND prs_perslid_login IS NOT NULL "
|
|
+ " ORDER BY aantal DESC, "
|
|
+ " prs_perslid_login DESC ";
|
|
//var sql = "SELECT * FROM ({0}) WHERE ROWNUM < 10".format(sql);
|
|
var oRs = Oracle.Execute(sql);
|
|
var i = 0;
|
|
while (!oRs.eof && i < 10)
|
|
{
|
|
i++;
|
|
result.power.push({ oslogin: oRs("prs_perslid_oslogin").Value,
|
|
naam: oRs("naam").Value,
|
|
afdeling: oRs("afdeling").Value,
|
|
logon: new Date(oRs("prs_perslid_login").Value).getTime()
|
|
});
|
|
oRs.MoveNext();
|
|
}
|
|
oRs.Close();
|
|
|
|
// Recente users
|
|
var sql = "SELECT prs_perslid_oslogin, "
|
|
+ S("prs_pers_string") + " naam,"
|
|
+ S("prs_dep_string") + " afdeling,"
|
|
+ " p.prs_perslid_login "
|
|
+ " FROM prs_perslid p"
|
|
+ " , prs_v_afdeling d "
|
|
+ " WHERE prs_perslid_login IS NOT NULL"
|
|
+ " AND p.prs_afdeling_key = d.prs_afdeling_key"
|
|
+ " ORDER BY prs_perslid_login DESC ";
|
|
var oRs = Oracle.Execute(sql);
|
|
var i = 0;
|
|
while (!oRs.eof && i < 10)
|
|
{
|
|
i++;
|
|
result.recent.push({ oslogin: oRs("prs_perslid_oslogin").Value,
|
|
naam: oRs("naam").Value,
|
|
afdeling: oRs("afdeling").Value,
|
|
logon: new Date(oRs("prs_perslid_login").Value).getTime()
|
|
});
|
|
oRs.MoveNext();
|
|
}
|
|
oRs.Close();
|
|
|
|
var diff = new Date() - tmStart2;
|
|
result.duration = diff;
|
|
|
|
result.retrieved = (new Date).getTime();
|
|
result.svnrevision = parseInt("$Revision$".replace(/\D/g,''));
|
|
|
|
Response.Write(JSON.stringify(result));
|
|
%>
|