=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataanalysis/DataAnalysisService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataanalysis/DataAnalysisService.java 2009-12-23 17:34:18 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataanalysis/DataAnalysisService.java 2010-04-07 12:27:42 +0000 @@ -30,18 +30,18 @@ import java.util.Collection; import org.hisp.dhis.dataelement.DataElement; -import org.hisp.dhis.datavalue.DeflatedDataValue; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.period.Period; /** * @author Dag Haavi Finstad - * @version $Id: StdDevOutlierAnalysisService.java 882 2009-05-14 23:09:31Z daghf $ + * @version $Id: StdDevOutlierAnalysisService.java 882 2009-05-14 23:09:31Z + * daghf $ */ public interface DataAnalysisService { String ID = DataAnalysisService.class.getName(); - Collection analyse( OrganisationUnit organisationUnit, Collection dataElements, + Collection analyse( OrganisationUnit organisationUnit, Collection dataElements, Collection periods, Double stdDevFactor ); } === modified file 'dhis-2/dhis-options/src/main/java/org/hisp/dhis/options/SystemSettingManager.java' --- dhis-2/dhis-options/src/main/java/org/hisp/dhis/options/SystemSettingManager.java 2010-03-31 16:44:55 +0000 +++ dhis-2/dhis-options/src/main/java/org/hisp/dhis/options/SystemSettingManager.java 2010-04-07 12:27:42 +0000 @@ -58,6 +58,8 @@ final String KEY_GIS_LATITUDE = "latitude"; final String KEY_DISABLE_DATAENTRYFORM_WHEN_COMPLETED = "dataEntryFormCompleted"; + + final String KEY_FACTOR_OF_DEVIATION = "factorDeviation"; void saveSystemSetting( String name, Serializable value ); === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataanalysis/StdDevOutlierAnalysisService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataanalysis/StdDevOutlierAnalysisService.java 2009-12-24 08:55:53 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataanalysis/StdDevOutlierAnalysisService.java 2010-04-07 12:27:42 +0000 @@ -58,12 +58,12 @@ } private OrganisationUnitService organisationUnitService; - + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) { this.organisationUnitService = organisationUnitService; } - + // ------------------------------------------------------------------------- // OutlierAnalysisService implementation // ------------------------------------------------------------------------- @@ -71,21 +71,24 @@ public final Collection analyse( OrganisationUnit organisationUnit, Collection dataElements, Collection periods, Double stdDevFactor ) { - Collection units = organisationUnitService.getOrganisationUnitWithChildren( organisationUnit.getId() ); - + Collection units = organisationUnitService.getOrganisationUnitWithChildren( organisationUnit + .getId() ); + Collection outlierCollection = new ArrayList(); - + for ( DataElement dataElement : dataElements ) { if ( dataElement.getType().equals( DataElement.VALUE_TYPE_INT ) ) - { - Collection categoryOptionCombos = dataElement.getCategoryCombo().getOptionCombos(); - + { + Collection categoryOptionCombos = dataElement.getCategoryCombo() + .getOptionCombos(); + for ( DataElementCategoryOptionCombo categoryOptionCombo : categoryOptionCombos ) { for ( OrganisationUnit unit : units ) { - outlierCollection.addAll( findOutliers( unit, dataElement, categoryOptionCombo, periods, stdDevFactor ) ); + outlierCollection.addAll( findOutliers( unit, dataElement, categoryOptionCombo, periods, + stdDevFactor ) ); } } } @@ -98,23 +101,23 @@ // Supportive methods // ------------------------------------------------------------------------- - private Collection findOutliers( OrganisationUnit organisationUnit, DataElement dataElement, + private Collection findOutliers( OrganisationUnit organisationUnit, DataElement dataElement, DataElementCategoryOptionCombo categoryOptionCombo, Collection periods, Double stdDevFactor ) { Double stdDev = dataAnalysisStore.getStandardDeviation( dataElement, categoryOptionCombo, organisationUnit ); - - if ( !isEqual( stdDev, 0.0 ) ) // No values found or no outliers exist when 0.0 + + if ( !isEqual( stdDev, 0.0 ) ) // No values found or no outliers exist + // when 0.0 { Double avg = dataAnalysisStore.getAverage( dataElement, categoryOptionCombo, organisationUnit ); - - double deviation = stdDev * stdDevFactor; + + double deviation = stdDev * stdDevFactor; Double lowerBound = avg - deviation; Double upperBound = avg + deviation; - - return dataAnalysisStore.getDeflatedDataValues( dataElement, categoryOptionCombo, periods, - organisationUnit, lowerBound.intValue(), upperBound.intValue() ); + return dataAnalysisStore.getDeflatedDataValues( dataElement, categoryOptionCombo, periods, + organisationUnit, lowerBound.intValue(), upperBound.intValue() ); } - + return new ArrayList(); } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2010-04-05 15:47:53 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2010-04-07 12:27:42 +0000 @@ -379,6 +379,12 @@ ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/> + + + + @@ -399,6 +405,10 @@ followup + === 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 2010-02-01 15:30:27 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2010-04-07 12:27:42 +0000 @@ -268,15 +268,16 @@ ref="org.hisp.dhis.organisationunit.OrganisationUnitService" /> - - + + - + @@ -303,19 +304,133 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + === 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 2010-02-18 15:41:11 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/org/hisp/dhis/dataadmin/i18n_module.properties 2010-04-07 12:27:42 +0000 @@ -178,4 +178,21 @@ unarchive = Unarchive archiving = Archiving unarchiving = Unarchiving -done_number_of_values = done. Number of archived values is now \ No newline at end of file +done_number_of_values = done. Number of archived values is now +min_max_validation = Min/Max Validation +intro_min_max_validation = Generate min/max values for any combination of selected organisation unit/dataset. +start_date = Start date +end_date = End date +available_dataset = Available Datasets +organisation_unit = Organisation unit +generate_min_max_value_success = Generate min max value successfully. +not_choose_dataset = Please specify a dataset. +not_choose_organisation = Please specify a organisation. +unselect_all = Unselect All +select_all_in_group = Select all in group +unselect_all_in_group = Unselect all in group +generate_min_max_values = Generate Min/Max values +generate_values_success = Generate values successfully. +set_factor = Set Factor +factor = Factor +save_factory_success = Save factory successfully \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml 2010-03-12 12:03:07 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml 2010-04-07 12:27:42 +0000 @@ -199,17 +199,17 @@ - + /main.vm /dhis-web-maintenance-dataadmin/dataIntegrityForm.vm /dhis-web-maintenance-dataadmin/menu.vm javascript/dataIntegrity.js - + - /dhis-web-maintenance-dataadmin/responseDataIntegrity.vm + + /dhis-web-maintenance-dataadmin/responseDataIntegrity.vm @@ -311,18 +311,18 @@ - + /main.vm - /dhis-web-maintenance-dataadmin/duplicateDataEliminationForm.vm - /dhis-web-maintenance-dataadmin/menu.vm - javascript/duplicateDataElimination.js - + /dhis-web-maintenance-dataadmin/duplicateDataEliminationForm.vm + /dhis-web-maintenance-dataadmin/menu.vm + javascript/duplicateDataElimination.js + - - displayDuplicateDataEliminationForm.action + displayDuplicateDataEliminationForm.action @@ -348,23 +348,112 @@ - + /main.vm - /dhis-web-maintenance-dataadmin/dataArchiveForm.vm - /dhis-web-maintenance-dataadmin/menu.vm - javascript/dataArchive.js + /dhis-web-maintenance-dataadmin/dataArchiveForm.vm + /dhis-web-maintenance-dataadmin/menu.vm + javascript/dataArchive.js - /dhis-web-maintenance-dataadmin/responseNumber.vm + + /dhis-web-maintenance-dataadmin/responseNumber.vm - /dhis-web-maintenance-dataadmin/responseNumber.vm - + + /dhis-web-maintenance-dataadmin/responseNumber.vm + + + + + + + getMinMaxValidationParamsChain + + getMinMaxValidationParamsChain + + + + + /main.vm + /dhis-web-maintenance-dataadmin/minMaxValidation.vm + /dhis-web-maintenance-dataadmin/menu.vm + style/ui.all.css + + ../dhis-web-commons/oust/oust.js, + ../dhis-web-commons/util/jquery-ui.js, + ../dhis-web-commons/util/validate/jquery.validate.js, + ../dhis-web-commons/util/jquery.metadata.js, + ../dhis-web-commons/util/validate/additional-methods.js, + ../dhis-web-commons/util/validate/messages_locale.js, + ../dhis-web-commons/calendar/calendar.js, + ../dhis-web-commons/calendar/calendar-lang.js, + ../dhis-web-commons/calendar/calendar-setup.js, + javascript/minMaxValidation.js + + + + + + + /main.vm + /dhis-web-maintenance-dataadmin/factor.vm + /dhis-web-maintenance-dataadmin/menu.vm + style/ui.all.css + + ../dhis-web-commons/oust/oust.js, + ../dhis-web-commons/util/jquery-ui.js, + ../dhis-web-commons/util/validate/jquery.validate.js, + ../dhis-web-commons/util/jquery.metadata.js, + ../dhis-web-commons/util/validate/additional-methods.js, + ../dhis-web-commons/util/validate/messages_locale.js, + javascript/minMaxValidation.js + + + + + + /dhis-web-maintenance-dataadmin/responseSuccess.vm + + + + + + + /dhis-web-maintenance-dataadmin/responseSuccess.vm + + + + + /dhis-web-maintenance-dataadmin/responseSuccess.vm + + + + + /dhis-web-maintenance-dataadmin/responseSuccess.vm + + + + + /dhis-web-maintenance-dataadmin/responseSuccess.vm + + + + + /dhis-web-maintenance-dataadmin/responseSuccess.vm + === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/index.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/index.vm 2010-02-01 15:30:27 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/index.vm 2010-04-07 12:27:42 +0000 @@ -12,5 +12,6 @@ #introListItem( "viewStatistics.action" "data_statistics" ) #introListItem( "displayLockingForm.action" "data_locking" ) #introListItem( "zeroValueStorageManagement.action" "zero_storage_management" ) + #introListItem( "getMinMaxValidationParams.action" "min_max_validation" ) #introListItem( "showCache.action" "cache_statistics" ) === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/menu.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/menu.vm 2010-02-01 15:30:27 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/menu.vm 2010-04-07 12:27:42 +0000 @@ -11,8 +11,14 @@
  • $i18n.getString( "data_statistics" ) 
  • $i18n.getString( "data_locking" ) 
  • $i18n.getString( "zero_storage_management" ) 
  • + + +

    $i18n.getString( "min_max_validation" ) 

    + - +

    $i18n.getString( "system_administration" )