=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/options/SystemSettingManager.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/options/SystemSettingManager.java 2011-11-24 13:19:36 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/options/SystemSettingManager.java 2011-11-25 18:01:49 +0000 @@ -67,12 +67,14 @@ final String KEY_EMAIL_PASSWORD = "keyEmailPassword"; final String KEY_SCHEDULED_PERIOD_TYPES = "keyScheduledPeriodTypes"; final String KEY_SCHEDULED_TASKS = "keyScheduledTasks"; + final String KEY_ORGUNITGROUPSET_AGG_LEVEL = "orgUnitGroupSetAggregationLevel"; final int DEFAULT_MAX_NUMBER_OF_ATTEMPTS = 20; final int DEFAULT_TIMEFRAME_MINUTES = 1; final double DEFAULT_FACTOR_OF_DEVIATION = 2.0; - + final int DEFAULT_ORGUNITGROUPSET_AGG_LEVEL = 3; final String DEFAULT_GOOGLE_MAPS_API_KEY = "ABQIAAAAut6AhySExnYIXm5s2OFIkxRKNzJ-_9njnryRTbvC6CtrS4sRvRREWnxwlZUa630pLuPf3nD9i4fq9w"; + final String AGGREGATION_STRATEGY_REAL_TIME = "real_time"; final String AGGREGATION_STRATEGY_BATCH = "batch"; final String DEFAULT_AGGREGATION_STRATEGY = AGGREGATION_STRATEGY_REAL_TIME; === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/scheduling/ScheduleTasksAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/scheduling/ScheduleTasksAction.java 2011-11-24 16:04:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/scheduling/ScheduleTasksAction.java 2011-11-25 18:01:49 +0000 @@ -27,15 +27,20 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import static org.hisp.dhis.options.SystemSettingManager.DEFAULT_SCHEDULED_PERIOD_TYPES; +import static org.hisp.dhis.options.SystemSettingManager.KEY_ORGUNITGROUPSET_AGG_LEVEL; +import static org.hisp.dhis.options.SystemSettingManager.DEFAULT_ORGUNITGROUPSET_AGG_LEVEL; import static org.hisp.dhis.options.SystemSettingManager.KEY_SCHEDULED_PERIOD_TYPES; -import static org.hisp.dhis.options.SystemSettingManager.*; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import org.hisp.dhis.options.SystemSettingManager; +import org.hisp.dhis.organisationunit.OrganisationUnitLevel; +import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.scheduling.SchedulingManager; import org.hisp.dhis.system.scheduling.Scheduler; @@ -68,6 +73,13 @@ this.schedulingManager = schedulingManager; } + private OrganisationUnitService organisationUnitService; + + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) + { + this.organisationUnitService = organisationUnitService; + } + // ------------------------------------------------------------------------- // Input // ------------------------------------------------------------------------- @@ -88,11 +100,28 @@ private Set scheduledPeriodTypes = new HashSet(); + public Set getScheduledPeriodTypes() + { + return scheduledPeriodTypes; + } + public void setScheduledPeriodTypes( Set scheduledPeriodTypes ) { this.scheduledPeriodTypes = scheduledPeriodTypes; } + private Integer orgUnitGroupSetAggLevel; + + public Integer getOrgUnitGroupSetAggLevel() + { + return orgUnitGroupSetAggLevel; + } + + public void setOrgUnitGroupSetAggLevel( Integer orgUnitGroupSetAggLevel ) + { + this.orgUnitGroupSetAggLevel = orgUnitGroupSetAggLevel; + } + private String dataMartStrategy; public String getDataMartStrategy() @@ -122,12 +151,12 @@ { return running; } - - private Set periodTypes = new HashSet(); + + private List levels; - public Set getPeriodTypes() + public List getLevels() { - return periodTypes; + return levels; } // ------------------------------------------------------------------------- @@ -144,6 +173,7 @@ else if ( schedule ) { systemSettingManager.saveSystemSetting( KEY_SCHEDULED_PERIOD_TYPES, (HashSet) scheduledPeriodTypes ); + systemSettingManager.saveSystemSetting( KEY_ORGUNITGROUPSET_AGG_LEVEL, orgUnitGroupSetAggLevel ); if ( Scheduler.STATUS_RUNNING.equals( schedulingManager.getTaskStatus() ) ) { @@ -168,13 +198,15 @@ } else { + scheduledPeriodTypes = (Set) systemSettingManager.getSystemSetting( KEY_SCHEDULED_PERIOD_TYPES, DEFAULT_SCHEDULED_PERIOD_TYPES ); + orgUnitGroupSetAggLevel = (Integer) systemSettingManager.getSystemSetting( KEY_ORGUNITGROUPSET_AGG_LEVEL, DEFAULT_ORGUNITGROUPSET_AGG_LEVEL ); dataMartStrategy = schedulingManager.getScheduledTasks().containsKey( SchedulingManager.TASK_DATAMART_LAST_12_MONTHS ) ? STRATEGY_LAST_12_DAILY : STRATEGY_LAST_6_DAILY_6_TO_12_WEEKLY; } status = schedulingManager.getTaskStatus(); running = Scheduler.STATUS_RUNNING.equals( status ); - periodTypes = (Set) systemSettingManager.getSystemSetting( KEY_SCHEDULED_PERIOD_TYPES, DEFAULT_SCHEDULED_PERIOD_TYPES ); + levels = organisationUnitService.getOrganisationUnitLevels(); return SUCCESS; } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2011-11-02 14:39:42 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2011-11-25 18:01:49 +0000 @@ -329,6 +329,7 @@ scope="prototype"> + === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/org/hisp/dhis/dataadmin/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/org/hisp/dhis/dataadmin/i18n_module.properties 2011-11-24 16:04:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/org/hisp/dhis/dataadmin/i18n_module.properties 2011-11-25 18:01:49 +0000 @@ -373,4 +373,5 @@ datamart_task_strategy = Data mart task strategy never = Never last_12_months_daily = Last 12 months daily -last_6_months_daily_6_to_12_months_weekly = Last 6 months daily + 6 to 12 months weekly \ No newline at end of file +last_6_months_daily_6_to_12_months_weekly = Last 6 months daily + 6 to 12 months weekly +organisation_unit_group_set_aggregation_level = Organisation unit group set aggregation level \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/viewScheduledTasks.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/viewScheduledTasks.vm 2011-11-24 16:04:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/viewScheduledTasks.vm 2011-11-25 18:01:49 +0000 @@ -5,28 +5,43 @@
- +
- + + + + + + + + + +
$i18n.getString( "aggregation_period_types" )$i18n.getString( "aggregation_period_types" )
-   -   -

-   - +   +   +

+   +
$i18n.getString( "organisation_unit_group_set_aggregation_level" )
+ +
$i18n.getString( "datamart_task_strategy" )
- === modified file 'resources/sql/div.sql' --- resources/sql/div.sql 2011-11-24 09:54:47 +0000 +++ resources/sql/div.sql 2011-11-25 18:01:49 +0000 @@ -33,3 +33,9 @@ select count(*) from dataelement de where (select count(*) from datavalue dv where de.dataelementid=dv.dataelementid) < 100; +-- Duplicate codes + +select code, count(code) as count +from dataelement +group by code +order by count desc;