=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/caseaggregation/jdbc/JdbcCaseAggregationConditionManager.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/caseaggregation/jdbc/JdbcCaseAggregationConditionManager.java 2013-04-28 14:35:49 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/caseaggregation/jdbc/JdbcCaseAggregationConditionManager.java 2013-04-29 09:41:34 +0000 @@ -943,22 +943,16 @@ String sql = ""; if ( !flag ) { - sql = "SELECT " + operator + "(distinct psi.organisationunitid) " - + " FROM programstageinstance psi "; + sql = "SELECT '1' FROM organisationunit ou WHERE ou.organisationunitid=" + orgunitId + " "; } else { - sql = " AND psi.organisationunitid in ( SELECT psi.organisationunitid " - + " FROM programstageinstance psi "; - } - - sql += " WHERE psi.organisationunitid=" + orgunitId + " AND psi.completed=true AND psi.programstageid = " + programStageId - + " AND " + " psi.executiondate >= '" + startDate + "' AND psi.executiondate <= '" + endDate + "' "; - - if ( flag ) - { - sql += ")"; - } + sql = " AND NOT EXISTS ( SELECT programstageinstanceid FROM programstageinstance psi " + + " WHERE psi.organisationunitid=ou.organisationunitid " + " AND psi.programstageid = " + + programStageId + " and psi.completed=false " + " AND psi.executiondate >= '" + startDate + + "' and psi.executiondate <= '" + endDate + "' ) "; + } + return sql; }