Browse Source

Erweiterte Nutzungsstatistiken (Uni Freiburg)

freiburg_nutzungsstatistik
Meikel Bisping 6 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;
import java.io.StringWriter; import java.io.StringWriter;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; import java.sql.SQLException;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
@ -986,6 +987,10 @@ public class Maske extends NamedIdObject implements Serializable {
sharedData.setErgebnisElementOrdNr(0); sharedData.setErgebnisElementOrdNr(0);
HashMap map = new HashMap(); HashMap map = new HashMap();
map.putAll(user.getBasicMap()); 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()) { if (!isReuseResult()) {
String keyfieldsused = ServletHelper.getParameter(request, "keyfieldsused"); String keyfieldsused = ServletHelper.getParameter(request, "keyfieldsused");
if (EqualsUtil.areEqual(keyfieldsused, "true")) { if (EqualsUtil.areEqual(keyfieldsused, "true")) {
@ -1067,8 +1072,25 @@ public class Maske extends NamedIdObject implements Serializable {
return resultstr; 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) public void setFieldsDefaultSichten(SxUser user, HttpServletRequest request)
throws SQLException, DBServletException, KeyParentEqualException, CloneNotSupportedException, throws SQLException, DBServletException, KeyParentEqualException, CloneNotSupportedException,
SichtException, TemplateException, IOException, NoMainEntryException { SichtException, TemplateException, IOException, NoMainEntryException {

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

@ -806,6 +806,7 @@ public class SxPool extends GenericObjectPool implements NamedObjectI {
initHasKontierungsrechte(); initHasKontierungsrechte();
initJasper(); initJasper();
initSxMail(); initSxMail();
deleteMaskenProtokoll();
SuperXmlAnmeldung.waitForPoolInit = false; SuperXmlAnmeldung.waitForPoolInit = false;
} catch (Exception e) { } catch (Exception e) {
SuperXmlAnmeldung.waitForPoolInit = false; SuperXmlAnmeldung.waitForPoolInit = false;
@ -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, * Default jaxen Bibliothek wegen höherer Performance,
* falls nicht über Konstante ausgeschaltet * falls nicht über Konstante ausgeschaltet

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

@ -4057,9 +4057,9 @@
<column name="tid" type="SERIAL" size="8" default="" notnull="true" <column name="tid" type="SERIAL" size="8" default="" notnull="true"
description="ID" /> description="ID" />
<column name="maskeninfo_id" type="INTEGER" size="8" default="" <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="" <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="" <column name="zeitpunkt" type="DATETIME" size="20" default=""
notnull="true" description="Ausführungs Zeitpunkt" /> notnull="true" description="Ausführungs Zeitpunkt" />
<column name="kommentar" type="VARCHAR" size="255" default="" <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
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); 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) 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 <#assign defaultOrgaQuelle=6/> --als Default wird erstmal HisInOne genommen

Loading…
Cancel
Save