=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/AbstractJdbcTableManager.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/AbstractJdbcTableManager.java 2015-07-02 23:34:24 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/AbstractJdbcTableManager.java 2015-08-19 08:08:11 +0000 @@ -42,6 +42,7 @@ import org.hisp.dhis.analytics.AnalyticsIndex; import org.hisp.dhis.analytics.AnalyticsTable; import org.hisp.dhis.analytics.AnalyticsTableManager; +import org.hisp.dhis.calendar.Calendar; import org.hisp.dhis.common.CodeGenerator; import org.hisp.dhis.common.IdentifiableObjectManager; import org.hisp.dhis.commons.collection.ListUtils; @@ -52,6 +53,7 @@ import org.hisp.dhis.jdbc.StatementBuilder; import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.period.Period; +import org.hisp.dhis.period.PeriodType; import org.hisp.dhis.resourcetable.ResourceTableService; import org.hisp.dhis.setting.SystemSettingManager; import org.springframework.beans.factory.annotation.Autowired; @@ -144,14 +146,15 @@ private List getTables( List dataYears ) { List tables = new ArrayList<>(); - + Calendar calendar = PeriodType.getCalendar(); + Collections.sort( dataYears ); String baseName = getTableName(); for ( Integer year : dataYears ) { - Period period = PartitionUtils.getPeriod( year ); + Period period = PartitionUtils.getPeriod( calendar, year ); tables.add( new AnalyticsTable( baseName, getDimensionColumns( null ), period ) ); } === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcEventAnalyticsTableManager.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcEventAnalyticsTableManager.java 2015-08-06 20:36:58 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcEventAnalyticsTableManager.java 2015-08-19 08:08:11 +0000 @@ -39,6 +39,7 @@ import java.util.concurrent.Future; import org.hisp.dhis.analytics.AnalyticsTable; +import org.hisp.dhis.calendar.Calendar; import org.hisp.dhis.common.ValueType; import org.hisp.dhis.commons.collection.ListUtils; import org.hisp.dhis.dataelement.DataElement; @@ -84,6 +85,7 @@ private List getTables( List dataYears ) { List tables = new ArrayList<>(); + Calendar calendar = PeriodType.getCalendar(); Collections.sort( dataYears ); @@ -91,7 +93,7 @@ for ( Integer year : dataYears ) { - Period period = PartitionUtils.getPeriod( year ); + Period period = PartitionUtils.getPeriod( calendar, year ); List programs = getDataPrograms( period ); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java 2015-07-02 23:34:24 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java 2015-08-19 08:08:11 +0000 @@ -55,9 +55,10 @@ public static final String SEP = "_"; - public static Period getPeriod( Integer year ) + public static Period getPeriod( Calendar calendar, Integer year ) { - DateTime time = new DateTime( year, 1, 1, 1, 1 ); + DateTimeUnit startOfYear = calendar.startOfYear(); + DateTime time = new DateTime( year, startOfYear.getMonth(), startOfYear.getDay(), 1, 1 ); return PERIODTYPE.createPeriod( time.toDate() ); }