=== modified file 'local/in/dhis-web-dashboard/pom.xml' --- local/in/dhis-web-dashboard/pom.xml 2011-10-24 11:27:50 +0000 +++ local/in/dhis-web-dashboard/pom.xml 2011-12-03 07:44:11 +0000 @@ -105,6 +105,17 @@ junit --> + + org.springframework + spring-context-support + ${spring.version} + + + opensymphony + quartz + 1.6.3 + + jfree jfreechart === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/action/IDSPOutbreakAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/action/IDSPOutbreakAction.java 2011-11-03 06:07:39 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/action/IDSPOutbreakAction.java 2011-12-03 07:44:11 +0000 @@ -253,6 +253,7 @@ private String populationDeId; private Integer orgUnitGroupId; + private String dataSetId; // --------------------------------------------------------------- // Action Implementation // --------------------------------------------------------------- @@ -261,7 +262,6 @@ throws Exception { statementManager.initialise(); - int idspFlag = 0; if ( currentUserService.getCurrentUser() != null ) @@ -352,6 +352,10 @@ int populationData = dashBoardService.getAggregatedData( orgUnitIdsByComma1, populationDeId, populationPeriodId ); + int confirmedCount = dashBoardService.getConfirmedCount( orgUnitIdsByComma, dataSetId, periodId ); + int totalSubcentreCount = childTree.size(); + System.out.println(confirmedCount + " : " + totalSubcentreCount ); + for( String norm : normInfo ) { String normId = norm.split( "@:@" )[0]; @@ -366,14 +370,29 @@ if( deathData >= 1 ) { outBreakAlertMap.put( normName+":"+ou.getId(), deathData + " Deaths" ); - outBreakAlertColorMap.put( normName+":"+ou.getId(), "RED" ); + + if( confirmedCount != totalSubcentreCount ) + { + outBreakAlertColorMap.put( normName+":"+ou.getId(), "PINK" ); + } + else + { + outBreakAlertColorMap.put( normName+":"+ou.getId(), "RED" ); + } } else { long minLimit = Math.round( populationData/1000.0 ); long maxLimit = Math.round( (populationData/1000.0) * 5 ); outBreakAlertMap.put( normName+":"+ou.getId(), caseData + " Cases" ); + + if( confirmedCount != totalSubcentreCount ) + { + outBreakAlertColorMap.put( normName+":"+ou.getId(), "PINK" ); + continue; + } + if( minLimit == 0 || maxLimit == 0 ) { outBreakAlertColorMap.put( normName+":"+ou.getId(), "WHITE" ); @@ -433,6 +452,8 @@ populationDeId = doc.getElementsByTagName( "population" ).item( 0 ).getFirstChild().getNodeValue(); + dataSetId = doc.getElementsByTagName( "dataset" ).item( 0 ).getFirstChild().getNodeValue(); + orgUnitGroupId = Integer.parseInt( doc.getElementsByTagName( "orgunitgroup" ).item( 0 ).getFirstChild().getNodeValue() ); NodeList listOfNorms = doc.getElementsByTagName( "norm" ); === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateCommentResultAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateCommentResultAction.java 2011-11-22 07:20:09 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateCommentResultAction.java 2011-12-03 07:44:11 +0000 @@ -84,13 +84,7 @@ // --------------------------------------------------------------- // Input/Output Parameters // --------------------------------------------------------------- - - - - - - - + private String selectedDataSets; public void setSelectedDataSets( String selectedDataSets ) === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateSummaryDataStatusResultAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateSummaryDataStatusResultAction.java 2011-10-14 12:26:01 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateSummaryDataStatusResultAction.java 2011-12-03 07:44:11 +0000 @@ -279,6 +279,8 @@ Set dso; + Map tempOuMapResult; + // --------------------------------------------------------------- // Action Implementation // --------------------------------------------------------------- @@ -289,6 +291,7 @@ dataViewName = ""; // Intialization + tempOuMapResult = new HashMap(); ouMapForChildDSAssociation = new HashMap(); ouMapForColor = new HashMap(); ouMapStatusResult = new HashMap>(); @@ -395,11 +398,9 @@ String query = ""; String query2 = ""; - query = "SELECT COUNT(*) FROM " + dataViewName - + " WHERE dataelementid IN (?) AND sourceid IN (?) AND periodid IN (?)"; + query = "SELECT COUNT(*) FROM " + dataViewName + " WHERE dataelementid IN (?) AND sourceid IN (?) AND periodid IN (?)"; - query2 = "SELECT COUNT(*) FROM " + dataViewName - + " WHERE dataelementid IN (?) AND sourceid = ? AND periodid IN (?)"; + query2 = "SELECT COUNT(*) FROM " + dataViewName + " WHERE dataelementid IN (?) AND sourceid = ? AND periodid IN (?)"; Iterator orgUnitListIterator = orgUnitList.iterator(); OrganisationUnit o; @@ -408,17 +409,27 @@ dso = selDataSet.getSources(); String orgUnitId = ""; + Map orgunitLevelMap = new HashMap( dashBoardService.getOrgunitLevelMap() ); + while ( orgUnitListIterator.hasNext() ) { o = (OrganisationUnit) orgUnitListIterator.next(); orgUnitInfo = "" + o.getId(); - if ( maxOULevel < organisationUnitService.getLevelOfOrganisationUnit( o ) ) - maxOULevel = organisationUnitService.getLevelOfOrganisationUnit( o ); - - if ( minOULevel > organisationUnitService.getLevelOfOrganisationUnit( o ) ) - minOULevel = organisationUnitService.getLevelOfOrganisationUnit( o ); - + Integer ouL = orgunitLevelMap.get( o.getId() ); + if( ouL == null ) + { + ouL = organisationUnitService.getLevelOfOrganisationUnit( o ); + } + if( maxOULevel < ouL ) + { + maxOULevel = ouL; + } + if( minOULevel > ouL ) + { + minOULevel = ouL; + } + periodIterator = periodList.iterator(); Period p; double dataStatusPercentatge; @@ -461,8 +472,10 @@ { OrganisationUnit cUnit = (OrganisationUnit) assignedChildrenIterator.next(); orgUnitInfo = "-1"; - orgUnitId = "-1,"; - orgUnitId += String.valueOf( cUnit.getId() ); + dataStatusPercentatge = 0.0; + //orgUnitId = "-1,"; + //orgUnitId += String.valueOf( cUnit.getId() ); + orgUnitId = ""+ cUnit.getId(); orgUnitCount = 0; getOrgUnitInfo( o, dso ); @@ -478,32 +491,47 @@ + ") AND sourceid IN (" + orgUnitId + ") AND periodid IN (" + periodInfo + ")"; } - SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( query2 ); - - if ( sqlResultSet.next() ) + Double tempDataStatusCount = tempOuMapResult.get( orgUnitId+":"+periodInfo ); + if( tempDataStatusCount == null ) { - try + SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( query2 ); + + if ( sqlResultSet.next() ) { - dataStatusPercentatge = ((double) sqlResultSet.getInt( 1 ) / (double) (dataSetMemberCount1)) * 100.0; + try + { + dataStatusPercentatge = ((double) sqlResultSet.getInt( 1 ) / (double) (dataSetMemberCount1)) * 100.0; + } + catch ( Exception e ) + { + dataStatusPercentatge = 0.0; + } } - catch ( Exception e ) + else { dataStatusPercentatge = 0.0; } + + if( dataStatusPercentatge > 100.0 ) + { + dataStatusPercentatge = 100; + } + + dataStatusPercentatge = Math.round( dataStatusPercentatge * Math.pow( 10, 0 ) ) / Math.pow( 10, 0 ); + + tempOuMapResult.put( orgUnitId+":"+periodInfo, dataStatusPercentatge ); + } else - dataStatusPercentatge = 0.0; - - if ( dataStatusPercentatge > 100.0 ) - dataStatusPercentatge = 100; - - dataStatusPercentatge = Math.round( dataStatusPercentatge * Math.pow( 10, 0 ) ) - / Math.pow( 10, 0 ); + { + dataStatusPercentatge = tempDataStatusCount; + } if ( dataStatusPercentatge >= 5.0 ) { dataStatusCount += 1; } + } dsSummaryResults.add( dataStatusCount ); === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/mobile/action/GenerateDataStatusMobileFormAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/mobile/action/GenerateDataStatusMobileFormAction.java 2010-12-08 07:24:10 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/mobile/action/GenerateDataStatusMobileFormAction.java 2011-12-03 07:44:11 +0000 @@ -120,7 +120,8 @@ } // Remove datasets which are nor mobile datasets - else if ( d.getMobile() == null || !d.getMobile()) + //else if ( d.getMobile() == null || !d.getMobile()) + else if ( !d.isMobile() ) { dataSetListIterator.remove(); } === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/IndicatorwiseGAFormAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/IndicatorwiseGAFormAction.java 2011-10-24 11:27:50 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/IndicatorwiseGAFormAction.java 2011-12-03 07:44:11 +0000 @@ -66,7 +66,7 @@ // Dependencies // ------------------------------------------------------------------------- - private IndicatorService indicatorService ; + private IndicatorService indicatorService; public void setIndicatorService( IndicatorService indicatorService ) { @@ -202,13 +202,13 @@ public String execute() throws Exception { - /* DataElements and Groups */ indicators = new ArrayList( indicatorService.getAllIndicators()); indicatorGroups = new ArrayList( indicatorService.getAllIndicatorGroups()) ; Collections.sort( indicators, new IndicatorNameComparator() ); Collections.sort( indicatorGroups, new IndicatorGroupNameComparator() ); + System.out.println( "--Size of Indicators is--" + indicators.size() + ",----Size of Indicators Group is is-- " + indicatorGroups.size() ); /* Periods Type */ periodTypes = new ArrayList( periodService.getAllPeriodTypes() ); === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateChartDataElementAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateChartDataElementAction.java 2011-09-03 09:46:15 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateChartDataElementAction.java 2011-12-03 07:44:11 +0000 @@ -384,7 +384,14 @@ { aggChecked = "0"; } - + /* + System.out.println( ougGroupSetCB ); + + if( ougGroupSetCB.equalsIgnoreCase( "false" )) + { + ougGroupSetCB = null; + } + */ // ---------------------------------------------------------------------- // Period Info // ---------------------------------------------------------------------- @@ -648,6 +655,7 @@ if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { + System.out.println( "In side deOptionCombo " + deSelection ); Iterator deIterator = selectedDataElements.iterator(); while ( deIterator.hasNext() ) { @@ -674,7 +682,8 @@ } selectedServiceList = new ArrayList( dataElementList ); - + + System.out.println( "Size of selected OptionCombo List is " + selectedOptionComboList.size() ); // ---------------------------------------------------------------------- // OrgUnit Information // ---------------------------------------------------------------------- @@ -826,7 +835,7 @@ decoc = decocList.get( serviceCount ); series[serviceCount] = dataElement.getName() + " : " + decoc.getName(); - + CaseAggregationCondition caseAggregationCondition = caseAggregationConditionService .getCaseAggregationCondition( dataElement, decoc ); @@ -882,25 +891,24 @@ selectedDrillDownData.add( drillDownData ); Double aggDataValue = 0.0; - - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); - + //System.out.println( " Inside deSelection.equalsIgnoreCase( OPTIONCOMBO ) " ); if ( aggDataCB != null ) { - Double temp = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, + Double temp = aggregationService.getAggregatedDataValue( dataElement, decoc, startDate, endDate, orgUnit ); if ( temp != null ) aggDataValue += temp; + //aggDataValue = temp; } else { Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); for ( Period period : periods ) { - DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc1 ); + DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc ); try { aggDataValue += Double.parseDouble( dataValue.getValue() ); @@ -911,7 +919,40 @@ } } } + else + { + //System.out.println( " Inside not deSelection.equalsIgnoreCase( OPTIONCOMBO ) " ); + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); + if ( aggDataCB != null ) + { + Double temp = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, + endDate, orgUnit ); + if ( temp != null ) + aggDataValue += temp; + //aggDataValue = temp; + } + else + { + Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); + for ( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc1 ); + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch ( Exception e ) + { + } + } + } + } + } + //System.out.println( " Data is : " + aggDataValue ); data[serviceCount][periodCount] = aggDataValue; if ( dataElement.getType().equalsIgnoreCase( DataElement.VALUE_TYPE_INT ) ) @@ -934,7 +975,6 @@ serviceCount++; } - dataElementChartResult = new DataElementChartResult( series, categories, data, chartTitle, xAxis_Title, yAxis_Title ); @@ -1003,16 +1043,11 @@ Date endDate = selEndPeriodList.get( periodCount ); Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator - .next(); - if ( aggDataCB != null ) { - Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, - startDate, endDate, orgChild ); + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc, startDate, endDate, orgChild ); if ( tempAggDataValue != null ) aggDataValue += tempAggDataValue; } @@ -1020,8 +1055,7 @@ { for ( Period period : periods ) { - DataValue dataValue = dataValueService.getDataValue( orgChild, dataElement, period, - decoc1 ); + DataValue dataValue = dataValueService.getDataValue( orgChild, dataElement, period, decoc ); try { aggDataValue += Double.parseDouble( dataValue.getValue() ); @@ -1032,6 +1066,38 @@ } } } + else + { + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator + .next(); + + if ( aggDataCB != null ) + { + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, + startDate, endDate, orgChild ); + if ( tempAggDataValue != null ) + aggDataValue += tempAggDataValue; + } + else + { + for ( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( orgChild, dataElement, period, + decoc1 ); + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch ( Exception e ) + { + } + } + } + } + } periodCount++; } @@ -1118,16 +1184,12 @@ { Date endDate = selEndPeriodList.get( periodCount ); Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); - - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator - .next(); - if ( aggDataCB != null ) { - Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc, startDate, endDate, orgunit ); if ( tempAggDataValue != null ) aggDataValue += tempAggDataValue; @@ -1137,7 +1199,7 @@ for ( Period period : periods ) { DataValue dataValue = dataValueService.getDataValue( orgunit, dataElement, period, - decoc1 ); + decoc ); try { aggDataValue += Double.parseDouble( dataValue.getValue() ); @@ -1148,6 +1210,38 @@ } } } + else + { + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator + .next(); + + if ( aggDataCB != null ) + { + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, + startDate, endDate, orgunit ); + if ( tempAggDataValue != null ) + aggDataValue += tempAggDataValue; + } + else + { + for ( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( orgunit, dataElement, period, + decoc1 ); + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch ( Exception e ) + { + } + } + } + } + } periodCount++; } @@ -1240,15 +1334,12 @@ int orgGroupCount = 0; for ( OrganisationUnit orgUnit : selOUGroupMemberList ) { - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator - .next(); - if ( aggDataCB != null ) { - Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc, startDate, endDate, orgUnit ); if ( tempAggDataValue != null ) aggDataValue += tempAggDataValue; @@ -1258,7 +1349,7 @@ for ( Period period : periods ) { DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, - decoc1 ); + decoc ); try { aggDataValue += Double.parseDouble( dataValue.getValue() ); @@ -1269,6 +1360,38 @@ } } } + else + { + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator + .next(); + + if ( aggDataCB != null ) + { + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, + startDate, endDate, orgUnit ); + if ( tempAggDataValue != null ) + aggDataValue += tempAggDataValue; + } + else + { + for ( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, + decoc1 ); + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch ( Exception e ) + { + } + } + } + } + } orgGroupCount++; } @@ -1374,17 +1497,13 @@ Date endDate = selEndPeriodList.get( periodCount ); Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); - - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator - .next(); - if ( aggDataCB != null ) { Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, - decoc1, startDate, endDate, orgUnit ); + decoc, startDate, endDate, orgUnit ); if ( tempAggDataValue != null ) aggDataValue += tempAggDataValue; } @@ -1393,7 +1512,7 @@ for ( Period period : periods ) { DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, - decoc1 ); + decoc ); try { @@ -1406,6 +1525,40 @@ } } } + else + { + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator + .next(); + + if ( aggDataCB != null ) + { + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, + decoc1, startDate, endDate, orgUnit ); + if ( tempAggDataValue != null ) + aggDataValue += tempAggDataValue; + } + else + { + for ( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, + decoc1 ); + + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch ( Exception e ) + { + + } + } + } + } + } periodCount++; } } === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateChartIndicatorAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateChartIndicatorAction.java 2011-09-03 09:46:15 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateChartIndicatorAction.java 2011-12-03 07:44:11 +0000 @@ -1039,12 +1039,27 @@ aggIndicatorNumValue += tempAggIndicatorNumValue; } + + if ( tempAggIndicatorDenumValue != null ) + { + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + } + + + /* if ( tempAggIndicatorDenumValue != null ) { aggIndicatorDenumValue += tempAggIndicatorDenumValue; } - + */ } else { @@ -1061,10 +1076,12 @@ } aggIndicatorNumValue += tempAggIndicatorNumValue; + Double tempAggIndicatorDenumValue = 0.0; tempStr = reportService.getIndividualResultDataValue( indicator.getDenominator(), startDate, endDate, orgChild, "" ); + try { tempAggIndicatorDenumValue = Double.parseDouble( tempStr ); @@ -1073,7 +1090,17 @@ { tempAggIndicatorDenumValue = 0.0; } - aggIndicatorDenumValue += tempAggIndicatorDenumValue; + + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + + //aggIndicatorDenumValue += tempAggIndicatorDenumValue; } @@ -1182,11 +1209,26 @@ aggIndicatorNumValue += tempAggIndicatorNumValue; } + + if ( tempAggIndicatorDenumValue != null ) + { + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + } + + /* if ( tempAggIndicatorDenumValue != null ) { aggIndicatorDenumValue += tempAggIndicatorDenumValue; } + */ } else { @@ -1220,7 +1262,18 @@ { tempAggIndicatorDenumValue = 0.0; } - aggIndicatorDenumValue += tempAggIndicatorDenumValue; + + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + + //aggIndicatorDenumValue += tempAggIndicatorDenumValue; + // System.out.println( " \nAggIndicator Denum Value : " // + aggIndicatorDenumValue ); @@ -1342,10 +1395,24 @@ } if ( tempAggIndicatorDenumValue != null ) { + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + } + + + /* + if ( tempAggIndicatorDenumValue != null ) + { aggIndicatorDenumValue += tempAggIndicatorDenumValue; } - + */ } else { @@ -1380,7 +1447,17 @@ { tempAggIndicatorDenumValue = 0.0; } - aggIndicatorDenumValue += tempAggIndicatorDenumValue; + + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + + //aggIndicatorDenumValue += tempAggIndicatorDenumValue; } orgGroupCount++; @@ -1514,10 +1591,22 @@ } if ( tempAggIndicatorDenumValue != null ) { + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + } + /* + if ( tempAggIndicatorDenumValue != null ) + { aggIndicatorDenumValue += tempAggIndicatorDenumValue; } - + */ } else { @@ -1553,7 +1642,18 @@ { tempAggIndicatorDenumValue = 0.0; } - aggIndicatorDenumValue += tempAggIndicatorDenumValue; + + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + + //aggIndicatorDenumValue += tempAggIndicatorDenumValue; + // System.out.println( // " \nAggIndicator Denum Value : " + // aggIndicatorDenumValue ); === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateDrillDownOrgUnitToPeriodChartDataElementResultAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateDrillDownOrgUnitToPeriodChartDataElementResultAction.java 2011-03-01 09:39:28 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateDrillDownOrgUnitToPeriodChartDataElementResultAction.java 2011-12-03 07:44:11 +0000 @@ -268,8 +268,8 @@ String deSelection = values[8]; String aggDataCB = values[9]; - System.out.println( selStartPeriodList + ":" + selEndPeriodList + ":" + periodTypeLB + ":" + dataElementList+ ":" + deSelection + ":" + selectedOptionComboList + ":" + selectedOrgUnit + ":" + aggDataCB ); - System.out.println( "Chart Generation Start Time is for drillDown: \t" + new Date() ); + //System.out.println( selStartPeriodList + ":" + selEndPeriodList + ":" + periodTypeLB + ":" + dataElementList+ ":" + deSelection + ":" + selectedOptionComboList + ":" + selectedOrgUnit + ":" + aggDataCB ); + //System.out.println( "Chart Generation Start Time is for drillDown: \t" + new Date() ); if( orgUnitGroup == 0 && ( categoryLB.equalsIgnoreCase( PERIODWISE )) ) { === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateDrillDownPeriodToOrgChildChartDataElementResultAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateDrillDownPeriodToOrgChildChartDataElementResultAction.java 2011-03-01 09:39:28 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ga/action/charts/GenerateDrillDownPeriodToOrgChildChartDataElementResultAction.java 2011-12-03 07:44:11 +0000 @@ -270,8 +270,8 @@ String deSelection = values[8]; String aggDataCB = values[9]; - System.out.println( selStartPeriodList + ":" + selEndPeriodList + ":" +periodTypeLB + ":" + dataElementList+ ":" + deSelection + ":" + selectedOptionComboList + ":" + selectedOrgUnit + ":" + aggDataCB ); - System.out.println( "Chart Generation Start Time is for drillDown: \t" + new Date() ); + //System.out.println( selStartPeriodList + ":" + selEndPeriodList + ":" +periodTypeLB + ":" + dataElementList+ ":" + deSelection + ":" + selectedOptionComboList + ":" + selectedOrgUnit + ":" + aggDataCB ); + // System.out.println( "Chart Generation Start Time is for drillDown: \t" + new Date() ); if( orgUnitGroup == 0 && ( categoryLB.equalsIgnoreCase( CHILDREN ) || ( categoryLB.equalsIgnoreCase( SELECTED )) )) { === added file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForExcelSheetFormAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForExcelSheetFormAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForExcelSheetFormAction.java 2011-12-03 07:44:11 +0000 @@ -0,0 +1,17 @@ +package org.hisp.dhis.dataanalyser.sms.action; + +import com.opensymphony.xwork2.Action; + +public class BulkSMSForExcelSheetFormAction implements Action +{ + + // ------------------------------------------------------------------------- + // Action Implementation + // ------------------------------------------------------------------------- + + public String execute() throws Exception + { + return SUCCESS; + } + +} === added file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForExcelSheetResultAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForExcelSheetResultAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForExcelSheetResultAction.java 2011-12-03 07:44:11 +0000 @@ -0,0 +1,91 @@ +package org.hisp.dhis.dataanalyser.sms.action; + +import java.io.File; +import java.util.UUID; +import jxl.Sheet; +import jxl.Workbook; +import jxl.write.WritableWorkbook; + +import org.hisp.dhis.dataanalyser.util.BulkSMSHttpInterface; + +import com.opensymphony.xwork2.Action; + +public class BulkSMSForExcelSheetResultAction implements Action +{ + + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + // ------------------------------------------------------------------------- + // Getter & Setter + // ------------------------------------------------------------------------- + + private String resultMessage; + + public String getResultMessage() + { + return resultMessage; + } + + private File output; + + public File getOutput() + { + return output; + } + + private File upload; + + public File getUpload() + { + return upload; + } + + public void setUpload( File upload ) + { + this.upload = upload; + } + + // ------------------------------------------------------------------------- + // Action Implementation + // ------------------------------------------------------------------------- + + public String execute() throws Exception + { + BulkSMSHttpInterface bulkSMSHTTPInterface = new BulkSMSHttpInterface(); + + int rowStart = 2; + int colStart = 1; + int rowEnd = 65530; + + try + { + String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + "temp" + File.separator + UUID.randomUUID().toString() + ".xls"; + Workbook excelImportFile = Workbook.getWorkbook( upload ); + WritableWorkbook writableExcelImportFile = Workbook.createWorkbook( new File(outputReportPath), excelImportFile ); + Sheet sheet = writableExcelImportFile.getSheet( 0 ); + + for( int i = rowStart; i < rowEnd; i++ ) + { + String cellContent1 = sheet.getCell( colStart, i).getContents(); + String cellContent2 = sheet.getCell( colStart+1, i).getContents(); + if( cellContent1 == null || cellContent1.equalsIgnoreCase( "" ) || cellContent2 == null || cellContent2.equalsIgnoreCase( "" ) ) + { + continue; + } + System.out.println( cellContent1 + " : " + cellContent2 ); + bulkSMSHTTPInterface.sendMessage( cellContent2, cellContent1 ); + } + + resultMessage = bulkSMSHTTPInterface.checkBalance(); + } + catch( Exception e ) + { + resultMessage = "Not able to send SMS to the group bec of "+e.getMessage(); + e.printStackTrace(); + } + + return SUCCESS; + } +} === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForProgSummaryResultAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForProgSummaryResultAction.java 2011-10-13 09:49:44 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/sms/action/BulkSMSForProgSummaryResultAction.java 2011-12-03 07:44:11 +0000 @@ -60,7 +60,7 @@ { Map tempOrgUnitMap = new HashMap(); - BulkSMSHttpInterface bulkSMSHTTPInterface = new BulkSMSHttpInterface();; + BulkSMSHttpInterface bulkSMSHTTPInterface = new BulkSMSHttpInterface(); try { === modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/util/DashBoardService.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/util/DashBoardService.java 2011-11-03 06:07:39 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/util/DashBoardService.java 2011-12-03 07:44:11 +0000 @@ -126,6 +126,31 @@ } + public Map getOrgunitLevelMap( ) + { + Map orgUnitLevelMap = new HashMap(); + try + { + String query = "SELECT organisationunitid,level FROM _orgunitstructure"; + + SqlRowSet rs = jdbcTemplate.queryForRowSet( query ); + + while ( rs.next() ) + { + Integer orgUnitId = rs.getInt( 1 ); + Integer level = rs.getInt( 2 ); + + orgUnitLevelMap.put( orgUnitId, level ); + } + + return orgUnitLevelMap; + } + catch( Exception e ) + { + throw new RuntimeException( "Illegal DataElement id", e ); + } + } + public String getPeriodIdForIDSPPopulation( ) { String periodIdResult = "-1"; @@ -155,6 +180,34 @@ } + public Integer getConfirmedCount( String orgUnitIdsByComma, String dataSetId, String periodId ) + { + Integer confirmedCount = 0; + + try + { + String query = "SELECT COUNT(*) FROM completedatasetregistration " + + " WHERE sourceid IN ("+ orgUnitIdsByComma +") AND " + + " datasetid = "+ dataSetId +" AND " + + " periodid = "+periodId; + + SqlRowSet rs1 = jdbcTemplate.queryForRowSet( query ); + + if ( rs1 != null && rs1.next() ) + { + double temp = rs1.getDouble( 1 ); + + confirmedCount = (int) temp; + } + } + catch( Exception e ) + { + throw new RuntimeException( e ); + } + + return confirmedCount; + } + public String getPeriodIdForIDSPOutBreak( ) { String periodIdResult = "-1"; @@ -169,7 +222,7 @@ int periodId = -1; String query = "SELECT periodid, startdate, enddate FROM period WHERE periodtypeid = 2 AND " + - " startdate <= '" + toDaysDate + "' AND enddate >= '"+ toDaysDate +"'"; + " startdate <= '" + toDaysDate + "' AND enddate >= '"+ toDaysDate +"'"; SqlRowSet rs1 = jdbcTemplate.queryForRowSet( query ); if ( rs1 != null && rs1.next() ) @@ -278,9 +331,9 @@ } query = "SELECT program.name, COUNT(*) FROM programinstance " + - " INNER JOIN patient ON programinstance.patientid = patient.patientid " + - " INNER JOIN program ON programinstance.programid = program.programid " + - " WHERE patient.organisationunitid IN ("+ orgUnitIdsByComma +") GROUP BY program.programid"; + " INNER JOIN patient ON programinstance.patientid = patient.patientid " + + " INNER JOIN program ON programinstance.programid = program.programid " + + " WHERE patient.organisationunitid IN ("+ orgUnitIdsByComma +") GROUP BY program.programid"; SqlRowSet rs2 = jdbcTemplate.queryForRowSet( query ); @@ -306,8 +359,8 @@ try { String query = "SELECT programinstance.programid, COUNT(*) FROM programinstance INNER JOIN patient " + - " ON programinstance.patientid = patient.patientid " + - " WHERE patient.organisationunitid IN ("+ orgUnitIdsByComma +") GROUP BY programid"; + " ON programinstance.patientid = patient.patientid " + + " WHERE patient.organisationunitid IN ("+ orgUnitIdsByComma +") GROUP BY programid"; SqlRowSet rs = jdbcTemplate.queryForRowSet( query ); @@ -386,7 +439,7 @@ { String query = "SELECT COUNT(*) FROM patient " + " WHERE organisationunitid IN ("+ orgUnitIdsByComma +") AND " + - " registrationdate LIKE '"+ selDate+"%'"; + " registrationdate LIKE '"+ selDate+"%'"; SqlRowSet rs = jdbcTemplate.queryForRowSet( query ); @@ -714,25 +767,22 @@ PeriodType periodType = periodService.getPeriodTypeByName( periodTypeLB ); Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); - System.out.println( periods.size() + ":" + periodType + ":" + startDate + ":" + endDate ); + //System.out.println( periods.size() + ":" + periodType + ":" + startDate + ":" + endDate ); int aggChecked = Integer.parseInt( aggDataCB ); - - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); - if( aggChecked == 1 ) { - Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, endDate, orgChild ); + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc, startDate, endDate, orgChild ); if( tempAggDataValue != null ) aggDataValue += tempAggDataValue; } else { for( Period period : periods ) { - DataValue dataValue = dataValueService.getDataValue( orgChild, dataElement, period, decoc1 ); + DataValue dataValue = dataValueService.getDataValue( orgChild, dataElement, period, decoc ); try { aggDataValue += Double.parseDouble( dataValue.getValue() ); @@ -743,6 +793,36 @@ } } } + + else + { + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); + + if( aggChecked == 1 ) + { + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, endDate, orgChild ); + if( tempAggDataValue != null ) aggDataValue += tempAggDataValue; + } + else + { + for( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( orgChild, dataElement, period, decoc1 ); + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch( Exception e ) + { + } + } + } + } + } + periodCount++; } @@ -829,22 +909,19 @@ Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); int aggChecked = Integer.parseInt( aggDataCB ); - - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); - if( aggChecked == 1 ) { - Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, endDate, orgUnit ); + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc, startDate, endDate, orgUnit ); if( tempAggDataValue != null ) aggDataValue += tempAggDataValue; } else { for( Period period : periods ) { - DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc1 ); + DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc ); try { aggDataValue += Double.parseDouble( dataValue.getValue() ); @@ -855,6 +932,35 @@ } } } + else + { + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); + + if( aggChecked == 1 ) + { + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, endDate, orgUnit ); + if( tempAggDataValue != null ) aggDataValue += tempAggDataValue; + } + else + { + for( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc1 ); + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch( Exception e ) + { + } + } + } + } + } + periodCount++; } @@ -928,14 +1034,11 @@ Double aggDataValue = 0.0; int aggChecked = Integer.parseInt( aggDataCB ); - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); - if( aggChecked == 1 ) { - Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, endDate, selectedOrgUnit ); + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc, startDate, endDate, selectedOrgUnit ); if( tempAggDataValue != null ) aggDataValue += tempAggDataValue; } else @@ -943,7 +1046,7 @@ Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); for( Period period : periods ) { - DataValue dataValue = dataValueService.getDataValue( selectedOrgUnit, dataElement, period, decoc1 ); + DataValue dataValue = dataValueService.getDataValue( selectedOrgUnit, dataElement, period, decoc ); try { aggDataValue += Double.parseDouble( dataValue.getValue() ); @@ -954,6 +1057,35 @@ } } } + else + { + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); + + if( aggChecked == 1 ) + { + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, endDate, selectedOrgUnit ); + if( tempAggDataValue != null ) aggDataValue += tempAggDataValue; + } + else + { + Collection periods = periodService.getPeriodsBetweenDates( startDate, endDate ); + for( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( selectedOrgUnit, dataElement, period, decoc1 ); + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch( Exception e ) + { + } + } + } + } + } data[serviceCount][periodCount] = aggDataValue; if( dataElement.getType().equalsIgnoreCase( DataElement.VALUE_TYPE_INT ) ) @@ -1032,22 +1164,19 @@ for( OrganisationUnit orgUnit : selectedOUGroupMemberList ) { int aggChecked = Integer.parseInt( aggDataCB ); - - Iterator optionComboIterator = optionCombos.iterator(); - while ( optionComboIterator.hasNext() ) + + if ( deSelection.equalsIgnoreCase( OPTIONCOMBO ) ) { - DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); - if( aggChecked == 1 ) { - Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, endDate, orgUnit ); - if(tempAggDataValue != null ) aggDataValue = tempAggDataValue; + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc, startDate, endDate, orgUnit ); + if(tempAggDataValue != null ) aggDataValue += tempAggDataValue; } else { for( Period period : periods ) { - DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc1 ); + DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc ); try { aggDataValue += Double.parseDouble( dataValue.getValue() ); @@ -1058,6 +1187,34 @@ } } } + else + { + Iterator optionComboIterator = optionCombos.iterator(); + while ( optionComboIterator.hasNext() ) + { + DataElementCategoryOptionCombo decoc1 = (DataElementCategoryOptionCombo) optionComboIterator.next(); + + if( aggChecked == 1 ) + { + Double tempAggDataValue = aggregationService.getAggregatedDataValue( dataElement, decoc1, startDate, endDate, orgUnit ); + if(tempAggDataValue != null ) aggDataValue += tempAggDataValue; + } + else + { + for( Period period : periods ) + { + DataValue dataValue = dataValueService.getDataValue( orgUnit, dataElement, period, decoc1 ); + try + { + aggDataValue += Double.parseDouble( dataValue.getValue() ); + } + catch( Exception e ) + { + } + } + } + } + } orgGroupCount++; } @@ -1141,10 +1298,24 @@ { aggIndicatorNumValue += tempAggIndicatorNumValue; } + + if ( tempAggIndicatorDenumValue != null ) + { + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + } + /* if ( tempAggIndicatorDenumValue != null ) { aggIndicatorDenumValue += tempAggIndicatorDenumValue; } + */ } else { @@ -1171,7 +1342,17 @@ { tempAggIndicatorDenumValue = 0.0; } - aggIndicatorDenumValue += tempAggIndicatorDenumValue; + + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + + //aggIndicatorDenumValue += tempAggIndicatorDenumValue; } @@ -1273,10 +1454,24 @@ { aggIndicatorNumValue += tempAggIndicatorNumValue; } + + if ( tempAggIndicatorDenumValue != null ) + { + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + } + /* if ( tempAggIndicatorDenumValue != null ) { aggIndicatorDenumValue += tempAggIndicatorDenumValue; } + */ } else { @@ -1305,7 +1500,18 @@ { tempAggIndicatorDenumValue = 0.0; } - aggIndicatorDenumValue += tempAggIndicatorDenumValue; + + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + + + //aggIndicatorDenumValue += tempAggIndicatorDenumValue; } periodCount++; @@ -1501,10 +1707,25 @@ { aggIndicatorNumValue += tempAggIndicatorNumValue; } + + if ( tempAggIndicatorDenumValue != null ) + { + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + } + + /* if ( tempAggIndicatorDenumValue != null ) { aggIndicatorDenumValue += tempAggIndicatorDenumValue; } + */ } else { @@ -1532,7 +1753,18 @@ { tempAggIndicatorDenumValue = 0.0; } - aggIndicatorDenumValue += tempAggIndicatorDenumValue; + + if( !indicator.getDenominator().trim().equals( "1" ) ) + { + aggIndicatorDenumValue += tempAggIndicatorDenumValue; + } + else + { + aggIndicatorDenumValue = 1.0; + } + + + //aggIndicatorDenumValue += tempAggIndicatorDenumValue; } orgGroupCount++; === added file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/util/SendingBulkSMSFromExcelJob.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/util/SendingBulkSMSFromExcelJob.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/util/SendingBulkSMSFromExcelJob.java 2011-12-03 07:44:11 +0000 @@ -0,0 +1,62 @@ +package org.hisp.dhis.dataanalyser.util; + +import java.io.File; +import java.io.FileReader; +import java.util.Properties; +import java.util.UUID; + +import jxl.Sheet; +import jxl.Workbook; +import jxl.write.WritableWorkbook; + +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.scheduling.quartz.QuartzJobBean; + +public class SendingBulkSMSFromExcelJob extends QuartzJobBean +{ + // ------------------------------------------------------------------------- + // implementation + // ------------------------------------------------------------------------- + + protected void executeInternal( JobExecutionContext context ) throws JobExecutionException + { + + try + { + BulkSMSHttpInterface bulkSMSHTTPInterface = new BulkSMSHttpInterface(); + + Properties properties = new Properties(); + properties.load( new FileReader( System.getenv( "DHIS2_HOME" ) + File.separator + "SMSServer.conf" ) ); + + String excelFilePath = properties.getProperty( "excelfilepath" ); + + int rowStart = 2; + int colStart = 1; + int rowEnd = 65530; + + String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + "temp" + File.separator + UUID.randomUUID().toString() + ".xls"; + Workbook excelImportFile = Workbook.getWorkbook( new File(excelFilePath) ); + WritableWorkbook writableExcelImportFile = Workbook.createWorkbook( new File(outputReportPath), excelImportFile ); + Sheet sheet = writableExcelImportFile.getSheet( 0 ); + + for( int i = rowStart; i < rowEnd; i++ ) + { + String cellContent1 = sheet.getCell( colStart, i).getContents(); + String cellContent2 = sheet.getCell( colStart+1, i).getContents(); + if( cellContent1 == null || cellContent1.equalsIgnoreCase( "" ) || cellContent2 == null || cellContent2.equalsIgnoreCase( "" ) ) + { + continue; + } + + bulkSMSHTTPInterface.sendMessage( cellContent2, cellContent1 ); + } + + } + catch( Exception e ) + { + e.printStackTrace(); + } + + } +} === modified file 'local/in/dhis-web-dashboard/src/main/resources/META-INF/dhis/beans.xml' --- local/in/dhis-web-dashboard/src/main/resources/META-INF/dhis/beans.xml 2011-11-22 07:20:09 +0000 +++ local/in/dhis-web-dashboard/src/main/resources/META-INF/dhis/beans.xml 2011-12-03 07:44:11 +0000 @@ -699,11 +699,6 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file === modified file 'local/in/dhis-web-dashboard/src/main/resources/org/hisp/dhis/dataanalyser/i18n_module.properties' --- local/in/dhis-web-dashboard/src/main/resources/org/hisp/dhis/dataanalyser/i18n_module.properties 2011-11-15 09:05:27 +0000 +++ local/in/dhis-web-dashboard/src/main/resources/org/hisp/dhis/dataanalyser/i18n_module.properties 2011-12-03 07:44:11 +0000 @@ -157,6 +157,4 @@ dataset_not_selected = Select Available data sets bulk_sms = Bulk SMS due_dates = Due Dates -ds_sms = DS SMS - - +ds_sms = DS SMS \ No newline at end of file === modified file 'local/in/dhis-web-dashboard/src/main/resources/struts.xml' --- local/in/dhis-web-dashboard/src/main/resources/struts.xml 2011-11-22 07:20:09 +0000 +++ local/in/dhis-web-dashboard/src/main/resources/struts.xml 2011-12-03 07:44:11 +0000 @@ -8,7 +8,6 @@ - /main.vm @@ -1031,7 +1030,22 @@ /dhis-web-dashboard/BulkSMSForProgSummaryResult.vm /dhis-web-dashboard/menu.vm + + + /main.vm + /dhis-web-dashboard/menu.vm + /dhis-web-dashboard/BulkSMSForExcelSheetForm.vm + + + /main.vm + /dhis-web-dashboard/menu.vm + /dhis-web-dashboard/BulkSMSForExcelSheetResult.vm + + + \ No newline at end of file === added file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/BulkSMSForExcelSheetForm.vm' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/BulkSMSForExcelSheetForm.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/BulkSMSForExcelSheetForm.vm 2011-12-03 07:44:11 +0000 @@ -0,0 +1,82 @@ + + + +
+
+
+ + + +

BULK SMS Form

+

+ +
+ + + + + + + + + + + + + + +
+ Upload (XLS) File :
+ +
 
 
+ +
+
\ No newline at end of file === added file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/BulkSMSForExcelSheetResult.vm' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/BulkSMSForExcelSheetResult.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/BulkSMSForExcelSheetResult.vm 2011-12-03 07:44:11 +0000 @@ -0,0 +1,3 @@ + + +$resultMessage \ No newline at end of file === modified file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/commentResult.vm' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/commentResult.vm 2011-11-22 07:20:09 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/commentResult.vm 2011-12-03 07:44:11 +0000 @@ -51,8 +51,8 @@ #set( $dataElement = $dataElementList.get( $count2 ) ) #set( $periodCount = $periodCounts.get( $count2 ) ) - $dataElement - $comment + $dataElement + $comment #set( $count2 = $count2 + 1 ) #end === modified file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/css/StylesForTags.css' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/css/StylesForTags.css 2011-11-22 07:20:09 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/css/StylesForTags.css 2011-12-03 07:44:11 +0000 @@ -86,7 +86,7 @@ .DefaultFontStylesNoBold { font-family: arial, georgia, tahoma; - font-size: 8px; + font-size: 15px; white-space: nowrap; cursor: default; } === modified file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/graphicalAnalysisDataElementResult.vm' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/graphicalAnalysisDataElementResult.vm 2011-01-07 05:45:11 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/graphicalAnalysisDataElementResult.vm 2011-12-03 07:44:11 +0000 @@ -130,7 +130,7 @@ var aggDataCB = arugDetails[9]; //alert( aggDataCB ); - alert( orgUnitId + "," + orgUnitGroupId + "," + dataElementId + "," + categoryCombo + "," + periodTypeName + "," + startDate + "," + endDate + "," + periodName ); + // alert( orgUnitId + "," + orgUnitGroupId + "," + dataElementId + "," + categoryCombo + "," + periodTypeName + "," + startDate + "," + endDate + "," + periodName ); //var ouRadioVal = $( "input[name='riRadio']:checked" ).val(); === modified file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/menu.vm' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/menu.vm 2011-11-22 07:20:09 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/menu.vm 2011-12-03 07:44:11 +0000 @@ -27,6 +27,7 @@
  • $i18n.getString( "bulk_sms" )