=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/completeness/impl/AbstractDataSetCompletenessService.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/completeness/impl/AbstractDataSetCompletenessService.java 2010-03-22 12:22:45 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/completeness/impl/AbstractDataSetCompletenessService.java 2010-03-27 20:17:48 +0000 @@ -252,7 +252,7 @@ { final Period period = periodService.getPeriod( periodId ); - Date deadline = getConfiguration().getDeadline( period ); + Date deadline = getConfiguration() != null ? getConfiguration().getDeadline( period ) : null; final DataSet dataSet = dataSetService.getDataSet( dataSetId ); === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/completeness/jdbc/JDBCDataSetCompletenessStore.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/completeness/jdbc/JDBCDataSetCompletenessStore.java 2010-03-19 13:36:48 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/completeness/jdbc/JDBCDataSetCompletenessStore.java 2010-03-27 22:59:06 +0000 @@ -108,17 +108,15 @@ final String deadlineCriteria = deadline != null ? "AND lastupdated < '" + DateUtils.getMediumDateString( deadline ) + "' " : ""; final String sql = - "SELECT COUNT(sourceid) FROM ( " + - "SELECT sourceid, count(DISTINCT dataelementid) AS no " + + "SELECT COUNT(completed) FROM ( " + + "SELECT COUNT(sourceid) AS sources " + "FROM datavalue " + + "JOIN dataelementoperand USING (dataelementid, categoryoptioncomboid) " + + "JOIN datasetoperands USING (dataelementoperandid) " + "WHERE periodid = " + periodId + " " + deadlineCriteria + "AND sourceid IN (" + childrenIds + ") " + - "AND dataelementid IN ( " + - "SELECT dataelementid " + - "FROM compulsorydatasetmembers " + - "WHERE datasetid = " + dataSetId + " ) " + - "GROUP BY sourceid ) AS completed " + - "WHERE completed.no = " + compulsoryElements; + "AND datasetid = " + dataSetId + ") AS completed " + + "WHERE completed.sources = " + compulsoryElements; return statementManager.getHolder().queryForInteger( sql ); }