=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java 2013-03-14 13:30:46 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java 2013-03-14 15:42:22 +0000 @@ -674,7 +674,7 @@ sql = getAggregateReportSQL8( programStage, orgunitIds, facilityLB, filterSQL, deGroupBy, periods .iterator().next(), aggregateType, limit, useCompletedEvents, format ); } - +System.out.println("\n\n " + sql ); if ( !sql.isEmpty() ) { SqlRowSet rowSet = jdbcTemplate.queryForRowSet( sql ); @@ -1289,11 +1289,11 @@ sql += " psi_1.executiondate >= '" + startDate + "' AND "; sql += " psi_1.executiondate <= '" + endDate + "' "; sql += filterSQL + " LIMIT 1 ) as " + aggregateType + ") "; - sql += " UNION "; + sql += " UNION ALL "; } } - sql = sql.substring( 0, sql.length() - 6 ); + sql = sql.substring( 0, sql.length() - 10 ); if ( limit != null ) { sql += " LIMIT " + limit; @@ -1466,11 +1466,11 @@ } sql += "GROUP BY dataelementid "; - sql += ") UNION "; + sql += ") UNION ALL "; } - sql = sql.substring( 0, sql.length() - 6 ); + sql = sql.substring( 0, sql.length() - 10 ); if ( limit != null ) { @@ -1543,10 +1543,10 @@ } sql += "GROUP BY dataelementid "; - sql += ") UNION "; + sql += ") UNION ALL "; } - sql = sql.substring( 0, sql.length() - 6 ); + sql = sql.substring( 0, sql.length() - 10 ); if ( limit != null ) { sql += " LIMIT " + limit; @@ -1823,12 +1823,12 @@ sql += ") as \"" + periodName + "\","; } sql = sql.substring( 0, sql.length() - 1 ); - sql += " ) UNION "; + sql += " ) UNION ALL "; } if ( !sql.isEmpty() ) { - sql = sql.substring( 0, sql.length() - 6 ); + sql = sql.substring( 0, sql.length() - 10 ); if ( periods.size() == 1 ) { sql += "ORDER BY \"" + firstPeriodName + "\" desc "; @@ -2163,7 +2163,7 @@ { if ( rowSet.getMetaData().getColumnType( j + 2 ) != Types.VARCHAR ) { - total += (Double) columnValues.get( i ).get( j ); + total += (Long) columnValues.get( i ).get( j ); } } if ( total == (int) total ) === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateAggregateReportAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateAggregateReportAction.java 2013-02-22 04:49:30 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateAggregateReportAction.java 2013-03-14 15:42:22 +0000 @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -43,6 +44,7 @@ import org.hisp.dhis.period.PeriodService; import org.hisp.dhis.period.PeriodType; import org.hisp.dhis.period.RelativePeriods; +import org.hisp.dhis.period.comparator.AscendingPeriodComparator; import org.hisp.dhis.program.ProgramStage; import org.hisp.dhis.program.ProgramStageInstanceService; import org.hisp.dhis.program.ProgramStageService; @@ -294,14 +296,18 @@ } // Fixed periods + List fixedPeriodList = new ArrayList(); for ( String periodId : fixedPeriods ) { - periods.add( PeriodType.getPeriodFromIsoString( periodId ) ); + Period p = PeriodType.getPeriodFromIsoString( periodId ); + fixedPeriodList.add( p ); } - + Collections.sort( fixedPeriodList, new AscendingPeriodComparator() ); + periods.addAll( fixedPeriodList ); + // Relative periods periods.addAll( getRelativePeriod() ); - + // --------------------------------------------------------------------- // Generate report // --------------------------------------------------------------------- === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2013-03-14 13:30:46 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2013-03-14 15:42:22 +0000 @@ -476,6 +476,7 @@ fields: ['value','name'], data: [ ['=','='],['in',TR.i18n.in] ] }); + params.value = 'in'; } else { @@ -483,6 +484,7 @@ fields: ['value','name'], data: [ ['=','='],['like',TR.i18n.like],['in',TR.i18n.in] ] }); + params.value = 'in'; } } else if( valueType == 'trueOnly' || valueType == 'bool' ){ @@ -504,6 +506,20 @@ }); } + params.listeners={}; + params.listeners.select = function(cb) { + var opt = cb.getValue(); + if(opt == 'in') + { + Ext.getCmp('filter_' + id).multiSelect = true; + } + else + { + Ext.getCmp('filter_' + id).clearValue(); + Ext.getCmp('filter_' + id).multiSelect = false; + } + } + return params; }, createFilterField: function( valueType, id ){ @@ -533,8 +549,9 @@ params.editable = false; if( fixedId=='fixedAttr_gender') { + params.multiSelect = true; + params.delimiter = ';'; params.forceSelection = true; - params.multiSelect = true; params.store = new Ext.data.ArrayStore({ fields: ['value', 'name'], data: [['', TR.i18n.please_select], @@ -546,8 +563,9 @@ else if( fixedId=='fixedAttr_dobType') { params.forceSelection = true; + params.multiSelect = true; + params.delimiter = ';'; params.editable = false; - params.multiSelect = true; params.store = new Ext.data.ArrayStore({ fields: ['value', 'name'], data: [['', TR.i18n.please_select], @@ -567,8 +585,7 @@ }); } } - else if( valueType == 'trueOnly') - { + else if( valueType == 'trueOnly'){ params.queryMode = 'local'; params.valueField = 'value'; params.displayField = 'name'; @@ -583,6 +600,7 @@ params.valueField = 'u'; params.displayField = 'u'; params.multiSelect = true; + params.delimiter = ';'; params.store = Ext.create('Ext.data.Store', { fields: ['u'], data:[],