------------------------------------------------------------ revno: 5111 committer: Tran Chau <tran.hispviet...@gmail.com> branch nick: dhis2 timestamp: Fri 2011-11-04 09:53:33 +0700 message: Error when running Patient Aggregation in MySQL. modified: dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/caseaggregation/DefaultCaseAggregationConditionService.java
-- lp:dhis2 https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk Your team DHIS 2 developers is subscribed to branch lp:dhis2. To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/caseaggregation/DefaultCaseAggregationConditionService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/caseaggregation/DefaultCaseAggregationConditionService.java 2011-11-03 02:20:41 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/caseaggregation/DefaultCaseAggregationConditionService.java 2011-11-04 02:53:33 +0000 @@ -613,7 +613,7 @@ else if ( info[0].equalsIgnoreCase( OBJECT_PROGRAM_PROPERTY ) ) { - condition = getConditionForProgramProperty( orgunitId, startDate, endDate ) + info[1]; + condition = getConditionForProgramProperty( orgunitId, operator, startDate, endDate ) + info[1]; } else if ( info[0].equalsIgnoreCase( OBJECT_PROGRAM ) ) { @@ -735,7 +735,7 @@ sql = "SELECT p.patient "; } - sql = "FROM patient as p WHERE p.organisationunitid = " + orgunitId + " " + "AND p.registrationdate >= '" + sql += "FROM patient as p WHERE p.organisationunitid = " + orgunitId + " " + "AND p.registrationdate >= '" + startDate + "' AND p.registrationdate <= '" + endDate + "' "; return sql; @@ -751,7 +751,7 @@ sql = "SELECT p.patient "; } - sql = "FROM programstageinstance as psi INNER JOIN programstage as ps " + sql += "FROM programstageinstance as psi INNER JOIN programstage as ps " + "ON psi.programstageid = ps.programstageid INNER JOIN patientdatavalue as pd ON " + "psi.programstageinstanceid = pd.programstageinstanceid INNER JOIN programinstance as pi ON " + "psi.programinstanceid = pi.programinstanceid INNER JOIN patient as p ON " @@ -771,9 +771,16 @@ return sql; } - private String getConditionForProgramProperty( int orgunitId, String startDate, String endDate ) + private String getConditionForProgramProperty( int orgunitId, String operator, String startDate, String endDate ) { - return "FROM programstageinstance as psi " + String sql = "SELECT distinct(p.patient) "; + + if ( operator.equals( AGGRERATION_SUM ) ) + { + sql = "SELECT p.patient "; + } + + return sql + "FROM programstageinstance as psi " + "INNER JOIN programinstance as pi ON psi.programinstanceid = pi.programinstanceid " + "INNER JOIN patient as p ON p.patientid = pi.patientid WHERE p.organisationunitid = " + orgunitId + " " + "AND psi.executionDate >= '" + startDate + "' AND psi.executionDate <= '" + endDate + "' AND ";
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp