=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/ViewCompletedReportByPeriodsAction.java' --- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/ViewCompletedReportByPeriodsAction.java 2010-07-13 15:50:08 +0000 +++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/ViewCompletedReportByPeriodsAction.java 2010-09-07 11:43:00 +0000 @@ -28,23 +28,27 @@ */ import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataelement.DataElementCategory; import org.hisp.dhis.dataset.CompleteDataSetRegistration; import org.hisp.dhis.dataset.CompleteDataSetRegistrationService; import org.hisp.dhis.dataset.DataSet; import org.hisp.dhis.dataset.DataSetService; -import org.hisp.dhis.i18n.I18nFormat; +import org.hisp.dhis.datavalue.DataValue; +import org.hisp.dhis.datavalue.DataValueService; import org.hisp.dhis.organisationunit.OrganisationUnit; -import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.organisationunit.comparator.OrganisationUnitNameComparator; import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager; import org.hisp.dhis.period.Period; import org.hisp.dhis.period.PeriodService; import org.hisp.dhis.period.comparator.PeriodComparator; +import org.hisp.dhis.reportexcel.status.DataEntryStatus; import com.opensymphony.xwork2.Action; @@ -90,20 +94,13 @@ this.completeDataSetRegistrationService = completeDataSetRegistrationService; } - private OrganisationUnitService organisationUnitService; - - public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) - { - this.organisationUnitService = organisationUnitService; - } - - private I18nFormat format; - - public void setFormat( I18nFormat format ) - { - this.format = format; - } - + public DataValueService dataValueService; + + public void setDataValueService( DataValueService dataValueService ) + { + this.dataValueService = dataValueService; + } + // ------------------------------------------- // Input // ------------------------------------------- @@ -147,9 +144,9 @@ return dataSet; } - private Map completedValues; + private Map completedValues; - public Map getCompletedValues() + public Map getCompletedValues() { return completedValues; } @@ -169,7 +166,7 @@ CompleteDataSetRegistration completeDataSetRegistration = null; - completedValues = new HashMap(); + completedValues = new HashMap(); for ( Integer id : columns ) { @@ -177,18 +174,35 @@ for ( OrganisationUnit o : organisationUnits ) { - if ( o.getDataSets().contains( dataSet ) ) + if ( o.getDataSets().contains( dataSet ) ) { + Collection dataElements = dataSet.getDataElements(); + Collection values = dataValueService.getDataValues( o, period, dataElements ); + int count = 0; + for(DataElement de : dataElements) + { + int opCount = 1; + for ( DataElementCategory ca : de.getCategoryCombo().getCategories()){ + opCount *= ca.getCategoryOptions().size(); + } + count += opCount; + } + int percent = (values.size() * 100 ) / count ; + completeDataSetRegistration = completeDataSetRegistrationService.getCompleteDataSetRegistration( dataSet, period, o ); if ( completeDataSetRegistration != null ) { - completedValues.put( o.getId() + ":" + id, format.formatDate( completeDataSetRegistration - .getDate() ) ); + completedValues.put( o.getId() + ":" + id, percent ); + }else{ + percent = (percent == 0 ) ? 900 : ( 1000 * percent ) ; + completedValues.put( o.getId() + ":" + id, percent ); } - }else{ - completedValues.put( o.getId() + ":" + id, "" ); + } + else + { + completedValues.put( o.getId() + ":" + id, null ); } } === modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/META-INF/dhis/beans.xml 2010-09-06 09:12:16 +0000 +++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/META-INF/dhis/beans.xml 2010-09-07 11:43:00 +0000 @@ -627,10 +627,10 @@ - + $o.name #foreach( $p in $periods ) - #if($!completedValues.get( "$o.id:$p.id" )) - #if($completedValues.get( "$o.id:$p.id" )!="") + #if($!completedValues.get( "$o.id:$p.id" )) + #if($completedValues.get( "$o.id:$p.id" ) != "null" ) + + + + #set ($percent = $completedValues.get( "$o.id:$p.id" )) + #if( $percent <= 100) + $i18n.getString( 'yes' ) +
$percent%
+ #else + $i18n.getString( 'no' ) + #set ($percent = $percent/1000 ) +
$percent%
+ #end + #end + #else - $i18n.getString( 'yes' ) - [$completedValues.get( "$o.id:$p.id" )] + $i18n.getString( 'no' ) #end - #else - - - - $i18n.getString( 'no' ) - #end - #end