Files
Facilitor/APPL/FAC/fac_scan_users.asp
Jos Groot Lipman 4ba1a202b9 FSN#37431 Schijfruimte monitoring/scan_udls.asp in de core
svn path=/Website/branches/v2016.2/; revision=31074
2016-10-13 07:10:23 +00:00

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