Search in sources :

Example 1 with FavoriteStatistics

use of org.hisp.dhis.datastatistics.FavoriteStatistics in project dhis2-core by dhis2.

the class HibernateDataStatisticsEventStore method getFavoriteStatistics.

@Override
public FavoriteStatistics getFavoriteStatistics(String uid) {
    String sql = "select count(dse.favoriteuid) " + "from datastatisticsevent dse " + "where dse.favoriteuid = ?;";
    Object[] args = Lists.newArrayList(uid).toArray();
    Integer views = jdbcTemplate.queryForObject(sql, args, Integer.class);
    FavoriteStatistics stats = new FavoriteStatistics();
    stats.setViews(views);
    return stats;
}
Also used : FavoriteStatistics(org.hisp.dhis.datastatistics.FavoriteStatistics)

Example 2 with FavoriteStatistics

use of org.hisp.dhis.datastatistics.FavoriteStatistics in project dhis2-core by dhis2.

the class HibernateDataStatisticsEventStore method getFavoritesData.

@Override
public List<FavoriteStatistics> getFavoritesData(DataStatisticsEventType eventType, int pageSize, SortOrder sortOrder, String username) {
    Assert.notNull(eventType, "Data statistics event type cannot be null");
    Assert.notNull(sortOrder, "Sort order cannot be null");
    String sql = "select c.uid, views, c.name, c.created from ( " + "select favoriteuid as uid, count(favoriteuid) as views " + "from datastatisticsevent ";
    if (username != null) {
        sql += "where username = ? ";
    }
    sql += "group by uid) as events " + "inner join " + eventType.getTable() + " c on c.uid = events.uid " + "order by events.views " + sortOrder.getValue() + " " + "limit ?;";
    PreparedStatementSetter pss = (ps) -> {
        int i = 1;
        if (username != null) {
            ps.setString(i++, username);
        }
        ps.setInt(i++, pageSize);
    };
    return jdbcTemplate.query(sql, pss, (rs, i) -> {
        FavoriteStatistics stats = new FavoriteStatistics();
        stats.setPosition(i + 1);
        stats.setId(rs.getString("uid"));
        stats.setName(rs.getString("name"));
        stats.setCreated(rs.getDate("created"));
        stats.setViews(rs.getInt("views"));
        return stats;
    });
}
Also used : SortOrder(org.hisp.dhis.analytics.SortOrder) HibernateGenericStore(org.hisp.dhis.hibernate.HibernateGenericStore) DataStatisticsEventStore(org.hisp.dhis.datastatistics.DataStatisticsEventStore) PreparedStatementSetter(org.springframework.jdbc.core.PreparedStatementSetter) Date(java.util.Date) Autowired(org.springframework.beans.factory.annotation.Autowired) DataStatisticsEventType(org.hisp.dhis.datastatistics.DataStatisticsEventType) HashMap(java.util.HashMap) DateUtils.asSqlDate(org.hisp.dhis.system.util.DateUtils.asSqlDate) JdbcTemplate(org.springframework.jdbc.core.JdbcTemplate) List(java.util.List) Lists(com.google.common.collect.Lists) Map(java.util.Map) FavoriteStatistics(org.hisp.dhis.datastatistics.FavoriteStatistics) DataStatisticsEvent(org.hisp.dhis.datastatistics.DataStatisticsEvent) Assert(org.springframework.util.Assert) FavoriteStatistics(org.hisp.dhis.datastatistics.FavoriteStatistics) PreparedStatementSetter(org.springframework.jdbc.core.PreparedStatementSetter)

Aggregations

FavoriteStatistics (org.hisp.dhis.datastatistics.FavoriteStatistics)2 Lists (com.google.common.collect.Lists)1 Date (java.util.Date)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 SortOrder (org.hisp.dhis.analytics.SortOrder)1 DataStatisticsEvent (org.hisp.dhis.datastatistics.DataStatisticsEvent)1 DataStatisticsEventStore (org.hisp.dhis.datastatistics.DataStatisticsEventStore)1 DataStatisticsEventType (org.hisp.dhis.datastatistics.DataStatisticsEventType)1 HibernateGenericStore (org.hisp.dhis.hibernate.HibernateGenericStore)1 DateUtils.asSqlDate (org.hisp.dhis.system.util.DateUtils.asSqlDate)1 Autowired (org.springframework.beans.factory.annotation.Autowired)1 JdbcTemplate (org.springframework.jdbc.core.JdbcTemplate)1 PreparedStatementSetter (org.springframework.jdbc.core.PreparedStatementSetter)1 Assert (org.springframework.util.Assert)1