Browse Source

Erweiterte Nutzungsstatistiken (Uni Freiburg)

freiburg_nutzungsstatistik
Meikel Bisping 3 months ago
parent
commit
381801002c
  1. 24
      src/de/superx/common/Maske.java
  2. 14
      src/de/superx/servlet/SxPool.java
  3. 4
      superx/WEB-INF/conf/edustore/db/install/conf/kern.xml
  4. 5
      superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/kern_feste_konstanten_fuellen.sql

24
src/de/superx/common/Maske.java

@ -7,6 +7,7 @@ import java.io.StringReader; @@ -7,6 +7,7 @@ import java.io.StringReader;
import java.io.StringWriter;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.ArrayList;
@ -986,6 +987,10 @@ public class Maske extends NamedIdObject implements Serializable { @@ -986,6 +987,10 @@ public class Maske extends NamedIdObject implements Serializable {
sharedData.setErgebnisElementOrdNr(0);
HashMap map = new HashMap();
map.putAll(user.getBasicMap());
if (SxPools.get(mandantenID).getRepository().containsKey("K_Nutzungsstatistiken")&&SxPools.get(mandantenID).getRepository().get("K_Nutzungsstatistiken").toString().equals("2"))
{
insertIntoMaskenProtokoll(user,dbCon);
}
if (!isReuseResult()) {
String keyfieldsused = ServletHelper.getParameter(request, "keyfieldsused");
if (EqualsUtil.areEqual(keyfieldsused, "true")) {
@ -1067,8 +1072,25 @@ public class Maske extends NamedIdObject implements Serializable { @@ -1067,8 +1072,25 @@ public class Maske extends NamedIdObject implements Serializable {
return resultstr;
}
// MB 17.8.2011 Defaultsicht setzen falls gewünscht
private void insertIntoMaskenProtokoll(SxUser user, Connection dbCon) throws SQLException {
Connection con=dbCon;
boolean conUebergeben=true;
if (dbCon==null)
{
conUebergeben=false;
con=SxPools.get(mandantenID).getConnection();
}
PreparedStatement pst=con.prepareStatement("insert into masken_protokoll (maskeninfo_id,user_id,zeitpunkt) values (?,?,now());");
pst.setInt(1, Integer.parseInt(this.getId().toString()));
pst.setInt(2, Integer.parseInt(user.getId().toString()));
pst.executeUpdate();
pst.close();
if (!conUebergeben) {con.close();}
}
// MB 17.8.2011 Defaultsicht setzen falls gewünscht
public void setFieldsDefaultSichten(SxUser user, HttpServletRequest request)
throws SQLException, DBServletException, KeyParentEqualException, CloneNotSupportedException,
SichtException, TemplateException, IOException, NoMainEntryException {

14
src/de/superx/servlet/SxPool.java

@ -806,6 +806,7 @@ public class SxPool extends GenericObjectPool implements NamedObjectI { @@ -806,6 +806,7 @@ public class SxPool extends GenericObjectPool implements NamedObjectI {
initHasKontierungsrechte();
initJasper();
initSxMail();
deleteMaskenProtokoll();
SuperXmlAnmeldung.waitForPoolInit = false;
} catch (Exception e) {
SuperXmlAnmeldung.waitForPoolInit = false;
@ -815,6 +816,19 @@ public class SxPool extends GenericObjectPool implements NamedObjectI { @@ -815,6 +816,19 @@ public class SxPool extends GenericObjectPool implements NamedObjectI {
}
}
private void deleteMaskenProtokoll() throws SQLException {
if (this.getRepository().containsKey("K_Nutzungsstatistiken loeschen nach Tagen")&&Integer.parseInt(getRepository().get("K_Nutzungsstatistiken loeschen nach Tagen").toString())>0)
{
Connection con=this.getConnection();
PreparedStatement pst=con.prepareStatement("delete from masken_protokoll where CURRENT_DATE - Zeitpunkt::date>=?");
pst.setInt(1, Integer.parseInt(getRepository().get("K_Nutzungsstatistiken loeschen nach Tagen").toString()));
pst.executeUpdate();
pst.close();
con.close();
}
}
/**
* Default jaxen Bibliothek wegen höherer Performance,
* falls nicht über Konstante ausgeschaltet

4
superx/WEB-INF/conf/edustore/db/install/conf/kern.xml

@ -4057,9 +4057,9 @@ @@ -4057,9 +4057,9 @@
<column name="tid" type="SERIAL" size="8" default="" notnull="true"
description="ID" />
<column name="maskeninfo_id" type="INTEGER" size="8" default=""
notnull="true" description="ID der Maske" />
notnull="true" description="Maske" />
<column name="user_id" type="INTEGER" size="10" default=""
notnull="true" description="ID des Users, welcher die Maske ausgeführt hat" />
notnull="true" description="User" />
<column name="zeitpunkt" type="DATETIME" size="20" default=""
notnull="true" description="Ausführungs Zeitpunkt" />
<column name="kommentar" type="VARCHAR" size="255" default=""

5
superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/kern_feste_konstanten_fuellen.sql

@ -126,7 +126,10 @@ insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, system @@ -126,7 +126,10 @@ insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, system
values (1,'PLATTFORM',1,'Gibt aus, ob HISinOne läuft oder SuperX. ',9, 'Konstanten_-_HISinOne-BI.xhtml',0, '1,HISinOne' || ${newline} || '2,SuperX',' < 6.0',' Datenquelle, Entladestartzeitpunkt, -umfang',0);
insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, systeminfo_id, doku_link, read_only, wertebereich, ab_version, gruppe, sachgebiete_id)
values (0, 'Nutzungsstatistiken', 0, 'Aktiviert das Loggen von Nutzungsdaten bezüglich der Berichte', 9, 'Konstanten_-_HISinOne-BI.xhtml',0, '0,aus' || ${newline} || '1,an', '2021.06', 'Zentrale Einstellungen', 0);
values (0, 'Nutzungsstatistiken', 0, 'Aktiviert das Loggen von Nutzungsdaten bezüglich der Berichte', 9, 'Konstanten_-_HISinOne-BI.xhtml',0, '0,aus' || ${newline} || '1,an'|| ${newline} || '2,an -erweitert mit UserId', '2021.06 (Kern5.1)', 'Zentrale Einstellungen', 0);
insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, systeminfo_id, doku_link, read_only, wertebereich, ab_version, gruppe, sachgebiete_id)
values (0, 'Nutzungsstatistiken loeschen nach Tagen', 0, 'Löschen der erweiterten Nutzungsstatistiken nach der angegebenen Zahl von Tagen', 9, 'Konstanten_-_HISinOne-BI.xhtml',0, '', 'kern5.1', 'Zentrale Einstellungen', 0);
<#assign defaultOrgaQuelle=6/> --als Default wird erstmal HisInOne genommen

Loading…
Cancel
Save