dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #14713
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5082: Merge NRHM Report from 2.3 to Trunk
------------------------------------------------------------
revno: 5082
committer: Mithilesh Kumar Thakur<mithilesh.hisp@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2011-11-02 15:24:19 +0530
message:
Merge NRHM Report from 2.3 to Trunk
modified:
local/in/dhis-in-api/src/main/java/org/hisp/dhis/reports/ReportService.java
local/in/dhis-in-api/src/main/java/org/hisp/dhis/reports/ReportType.java
local/in/dhis-in-services/dhis-in-service-reports/src/main/java/org/hisp/dhis/reports/DefaultReportService.java
local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/auto/action/GenerateAutoReportAnalyserResultAction.java
local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/auto/action/GenerateLLBulkReportAnalyserResultAction.java
local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/routine/action/GenerateColdChainReportAnalyserResultAction.java
local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/routine/action/GenerateColdChainRoutineReportAnalyserFormAction.java
local/in/dhis-web-reports-national/src/main/resources/META-INF/dhis/beans.xml
local/in/dhis-web-reports-national/src/main/resources/org/hisp/dhis/reports/i18n_module.properties
local/in/dhis-web-reports-national/src/main/webapp/dhis-web-reports/coldChainRoutineReportAnalyserFront.vm
--
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 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/reports/ReportService.java'
--- local/in/dhis-in-api/src/main/java/org/hisp/dhis/reports/ReportService.java 2011-10-13 07:01:58 +0000
+++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/reports/ReportService.java 2011-11-02 09:54:19 +0000
@@ -158,5 +158,7 @@
Map<String, String> getDataFromDataValueTableByPeriodAgg( String orgUnitIdsByComma, String dataElmentIdsByComma, String periodIdsByComma );
List<Report_inDesign> getReportDesignWithMergeCells( String fileName );
-
+
+ //Map<String, String> getLLDeathDataFromLLDataValueTable( Integer orgunitId, String dataElmentIdsForLLDeathByComma, String periodIdsByComma , Integer recordNo );
+ Map<String, String> getLLDeathDataFromLLDataValueTable( Integer orgunitId, String dataElmentIdsForLLDeathByComma, String periodIdsByComma , String recordNoByComma );
}
=== modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/reports/ReportType.java'
--- local/in/dhis-in-api/src/main/java/org/hisp/dhis/reports/ReportType.java 2011-10-13 07:01:58 +0000
+++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/reports/ReportType.java 2011-11-02 09:54:19 +0000
@@ -59,7 +59,8 @@
public final static String RT_IDSP_REPORT = "IDSP Reports";
public final static String RT_LINELIST_BULK_REPORT = "Linelisting Bulk Reports";
-
+
+ public final static String RT_COLDCHAIN_REPORT = "Cold Chain Reports";
public static List<String> getReportTypes()
{
@@ -93,6 +94,8 @@
reportTypes.add( RT_LINELIST_BULK_REPORT );
+ reportTypes.add( RT_COLDCHAIN_REPORT );
+
return reportTypes;
}
}
=== modified file 'local/in/dhis-in-services/dhis-in-service-reports/src/main/java/org/hisp/dhis/reports/DefaultReportService.java'
--- local/in/dhis-in-services/dhis-in-service-reports/src/main/java/org/hisp/dhis/reports/DefaultReportService.java 2011-10-13 07:01:58 +0000
+++ local/in/dhis-in-services/dhis-in-service-reports/src/main/java/org/hisp/dhis/reports/DefaultReportService.java 2011-11-02 09:54:19 +0000
@@ -2583,4 +2583,44 @@
}
}
+ //
+
+ public Map<String, String> getLLDeathDataFromLLDataValueTable( Integer orgunitId, String dataElmentIdsForLLDeathByComma, String periodIdsByComma , String recordNoByComma )
+ {
+ Map<String, String> aggDeForLLDeathMap = new HashMap<String, String>();
+ // DatabaseInfo dataBaseInfo = databaseInfoProvider.getDatabaseInfo();
+ try
+ {
+ String query = "";
+ query = "SELECT value,dataelementid,categoryoptioncomboid,recordno FROM lldatavalue" +
+ " WHERE dataelementid IN (" + dataElmentIdsForLLDeathByComma + " ) AND "+
+ " sourceid = "+ orgunitId +" AND "+
+ " periodid IN (" + periodIdsByComma +") AND recordno IN (" + recordNoByComma + ")";
+
+ SqlRowSet rs = jdbcTemplate.queryForRowSet( query );
+
+ String tempValue = "";
+
+ while ( rs.next() )
+ {
+ tempValue = rs.getString( 1 );
+ Integer deId = rs.getInt( 2 );
+ Integer optionComId = rs.getInt( 3 );
+ Integer recordNo = rs.getInt( 4 );
+ //Double aggregatedValue = rs.getDouble( 3 );
+ if( tempValue != null )
+ {
+ aggDeForLLDeathMap.put( deId+"."+optionComId+":"+recordNo, ""+ tempValue );
+ }
+ }
+
+ return aggDeForLLDeathMap;
+ }
+ catch( Exception e )
+ {
+ throw new RuntimeException( "Illegal DataElement id", e );
+ }
+ }
+
+
}
=== modified file 'local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/auto/action/GenerateAutoReportAnalyserResultAction.java'
--- local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/auto/action/GenerateAutoReportAnalyserResultAction.java 2011-04-15 11:39:32 +0000
+++ local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/auto/action/GenerateAutoReportAnalyserResultAction.java 2011-11-02 09:54:19 +0000
@@ -32,6 +32,7 @@
*/
import static org.hisp.dhis.system.util.ConversionUtils.getIdentifiers;
+import static org.hisp.dhis.system.util.TextUtils.getCommaDelimitedString;
import java.io.BufferedInputStream;
import java.io.File;
@@ -44,9 +45,13 @@
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.UUID;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -65,6 +70,7 @@
import jxl.write.WritableWorkbook;
import org.amplecode.quick.StatementManager;
+import org.hisp.dhis.config.Configuration_IN;
import org.hisp.dhis.i18n.I18nFormat;
import org.hisp.dhis.organisationunit.OrganisationUnit;
import org.hisp.dhis.organisationunit.OrganisationUnitGroup;
@@ -74,6 +80,7 @@
import org.hisp.dhis.reports.ReportService;
import org.hisp.dhis.reports.Report_in;
import org.hisp.dhis.reports.Report_inDesign;
+import org.hisp.dhis.system.util.MathUtils;
import com.opensymphony.xwork2.Action;
@@ -180,6 +187,8 @@
private SimpleDateFormat simpleDateFormat;
private SimpleDateFormat monthFormat;
+
+ private SimpleDateFormat yearFormat;
private SimpleDateFormat simpleMonthFormat;
@@ -209,6 +218,7 @@
String deCodesXMLFileName = "";
simpleDateFormat = new SimpleDateFormat( "MMM-yyyy" );
monthFormat = new SimpleDateFormat( "MMMM" );
+ yearFormat = new SimpleDateFormat( "yyyy" );
simpleMonthFormat = new SimpleDateFormat( "MMM" );
String parentUnit = "";
@@ -221,8 +231,8 @@
String inputTemplatePath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "template" + File.separator + reportFileNameTB;
- String outputReportFolderPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "output" + File.separator + UUID.randomUUID().toString();
-
+ //String outputReportFolderPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "output" + File.separator + UUID.randomUUID().toString();
+ String outputReportFolderPath = System.getenv( "DHIS2_HOME" ) + File.separator + Configuration_IN.DEFAULT_TEMPFOLDER + File.separator + UUID.randomUUID().toString();
File newdir = new File( outputReportFolderPath );
if( !newdir.exists() )
{
@@ -241,6 +251,11 @@
return INPUT;
}
+
+ // System.out.println( "---Size of Org Unit List ----: " + orgUnitList.size() + ",Report Group name is :---" + selReportObj.getOrgunitGroup().getName() + ", Size of Group member is ----:" + selReportObj.getOrgunitGroup().getMembers().size() );
+
+ System.out.println( " ---- Size of OrgUnit List is ---- " + orgUnitList.size() );
+
OrganisationUnit selOrgUnit = organisationUnitService.getOrganisationUnit( ouIDTB );
System.out.println( selOrgUnit.getName()+ " : " + selReportObj.getName()+" : Report Generation Start Time is : " + new Date() );
@@ -253,9 +268,20 @@
Workbook templateWorkbook = Workbook.getWorkbook( new File( inputTemplatePath ) );
-
+
+ // collect periodId by commaSepareted
+ List<Period> tempPeriodList = new ArrayList<Period>( periodService.getIntersectingPeriods( sDate, eDate ) );
+
+ Collection<Integer> tempPeriodIds = new ArrayList<Integer>( getIdentifiers(Period.class, tempPeriodList ) );
+
+ String periodIdsByComma = getCommaDelimitedString( tempPeriodIds );
+
// Getting DataValues
List<Report_inDesign> reportDesignList = reportService.getReportDesign( deCodesXMLFileName );
+
+ // collect dataElementIDs by commaSepareted
+ String dataElmentIdsByComma = reportService.getDataelementIds( reportDesignList );
+
int orgUnitCount = 0;
Iterator<OrganisationUnit> it = orgUnitList.iterator();
@@ -269,7 +295,27 @@
String outputReportPath = outputReportFolderPath + File.separator + outPutFileName;
WritableWorkbook outputReportWorkbook = Workbook.createWorkbook( new File( outputReportPath ), templateWorkbook );
+
+
+ Map<String, String> aggDeMap = new HashMap<String, String>();
+ if( aggData.equalsIgnoreCase( USEEXISTINGAGGDATA ) )
+ {
+ aggDeMap.putAll( reportService.getResultDataValueFromAggregateTable( currentOrgUnit.getId(), dataElmentIdsByComma, periodIdsByComma ) );
+ }
+ else if( aggData.equalsIgnoreCase( GENERATEAGGDATA ) )
+ {
+ List<OrganisationUnit> childOrgUnitTree = new ArrayList<OrganisationUnit>( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit.getId() ) );
+ List<Integer> childOrgUnitTreeIds = new ArrayList<Integer>( getIdentifiers( OrganisationUnit.class, childOrgUnitTree ) );
+ String childOrgUnitsByComma = getCommaDelimitedString( childOrgUnitTreeIds );
+ aggDeMap.putAll( reportService.getAggDataFromDataValueTable( childOrgUnitsByComma, dataElmentIdsByComma, periodIdsByComma ) );
+ }
+ else if( aggData.equalsIgnoreCase( USECAPTUREDDATA ) )
+ {
+ aggDeMap.putAll( reportService.getAggDataFromDataValueTable( ""+currentOrgUnit.getId(), dataElmentIdsByComma, periodIdsByComma ) );
+ }
+
+
int count1 = 0;
Iterator<Report_inDesign> reportDesignIterator = reportDesignList.iterator();
while ( reportDesignIterator.hasNext() )
@@ -328,6 +374,10 @@
{
tempStr = monthFormat.format( sDate );
}
+ else if( deCodeString.equalsIgnoreCase( "PERIOD-YEAR" ) )
+ {
+ tempStr = yearFormat.format( sDate );
+ }
else if( deCodeString.equalsIgnoreCase( "MONTH-START-SHORT" ) )
{
tempStr = simpleMonthFormat.format( sDate );
@@ -358,17 +408,23 @@
{
if ( aggData.equalsIgnoreCase( USECAPTUREDDATA ) )
{
- tempStr = reportService.getIndividualResultDataValue(deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = getAggVal( deCodeString, aggDeMap );
+ //tempStr = reportService.getIndividualResultDataValue(deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
else if( aggData.equalsIgnoreCase( GENERATEAGGDATA ) )
{
- tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = getAggVal( deCodeString, aggDeMap );
+ //tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
else if( aggData.equalsIgnoreCase( USEEXISTINGAGGDATA ) )
{
+
+ tempStr = getAggVal( deCodeString, aggDeMap );
+ /*
List<Period> periodList = new ArrayList<Period>( periodService.getPeriodsBetweenDates( tempStartDate.getTime(), tempEndDate.getTime() ) );
Collection<Integer> periodIds = new ArrayList<Integer>( getIdentifiers(Period.class, periodList ) );
tempStr = reportService.getResultDataValueFromAggregateTable( deCodeString, periodIds, currentOrgUnit, reportModelTB );
+ */
}
}
else if ( sType.equalsIgnoreCase( "dataelement-boolean" ) )
@@ -558,5 +614,58 @@
return true;
}
-
+
+ // getting data value using Map
+ private String getAggVal( String expression, Map<String, String> aggDeMap )
+ {
+ try
+ {
+ Pattern pattern = Pattern.compile( "(\\[\\d+\\.\\d+\\])" );
+
+ Matcher matcher = pattern.matcher( expression );
+ StringBuffer buffer = new StringBuffer();
+
+ String resultValue = "";
+
+ while ( matcher.find() )
+ {
+ String replaceString = matcher.group();
+
+ replaceString = replaceString.replaceAll( "[\\[\\]]", "" );
+
+ replaceString = aggDeMap.get( replaceString );
+
+ if( replaceString == null )
+ {
+ replaceString = "0";
+ }
+
+ matcher.appendReplacement( buffer, replaceString );
+
+ resultValue = replaceString;
+ }
+
+ matcher.appendTail( buffer );
+
+ double d = 0.0;
+ try
+ {
+ d = MathUtils.calculateExpression( buffer.toString() );
+ }
+ catch ( Exception e )
+ {
+ d = 0.0;
+ resultValue = "";
+ }
+
+ resultValue = "" + (double) d;
+
+ return resultValue;
+ }
+ catch ( NumberFormatException ex )
+ {
+ throw new RuntimeException( "Illegal DataElement id", ex );
+ }
+ }
+
}
=== modified file 'local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/auto/action/GenerateLLBulkReportAnalyserResultAction.java'
--- local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/auto/action/GenerateLLBulkReportAnalyserResultAction.java 2011-10-13 08:00:58 +0000
+++ local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/auto/action/GenerateLLBulkReportAnalyserResultAction.java 2011-11-02 09:54:19 +0000
@@ -1,16 +1,18 @@
package org.hisp.dhis.reports.auto.action;
+import static org.hisp.dhis.system.util.ConversionUtils.getIdentifiers;
+import static org.hisp.dhis.system.util.TextUtils.getCommaDelimitedString;
+
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.sql.ResultSet;
-import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -40,10 +42,6 @@
import org.amplecode.quick.StatementManager;
import org.hisp.dhis.config.Configuration_IN;
-import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
-import org.hisp.dhis.dataelement.DataElementCategoryService;
-import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.i18n.I18nFormat;
import org.hisp.dhis.organisationunit.OrganisationUnit;
import org.hisp.dhis.organisationunit.OrganisationUnitGroup;
@@ -53,6 +51,7 @@
import org.hisp.dhis.reports.ReportService;
import org.hisp.dhis.reports.Report_in;
import org.hisp.dhis.reports.Report_inDesign;
+import org.hisp.dhis.system.util.MathUtils;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.support.rowset.SqlRowSet;
@@ -105,7 +104,7 @@
{
this.jdbcTemplate = jdbcTemplate;
}
-
+/*
private DataElementService dataElementService;
public void setDataElementService( DataElementService dataElementService )
@@ -120,7 +119,7 @@
{
this.dataElementCategoryOptionComboService = dataElementCategoryOptionComboService;
}
-
+*/
// -------------------------------------------------------------------------
// Properties
// -------------------------------------------------------------------------
@@ -172,6 +171,8 @@
private SimpleDateFormat simpleMonthFormat;
+ private SimpleDateFormat yearFormat;
+
private String reportFileNameTB;
private String reportModelTB;
@@ -197,6 +198,7 @@
String deCodesXMLFileName = "";
simpleDateFormat = new SimpleDateFormat( "MMM-yyyy" );
monthFormat = new SimpleDateFormat( "MMMM" );
+ yearFormat = new SimpleDateFormat( "yyyy" );
simpleMonthFormat = new SimpleDateFormat( "MMM" );
String parentUnit = "";
@@ -234,6 +236,7 @@
}
System.out.println( "---Size of Org Unit List ----: " + orgUnitList.size() + ",Report Group name is :---" + selReportObj.getOrgunitGroup().getName() + ", Size of Group member is ----:" + selReportObj.getOrgunitGroup().getMembers().size() );
+
OrganisationUnit selOrgUnit = organisationUnitService.getOrganisationUnit( ouIDTB );
System.out.println( selOrgUnit.getName()+ " : " + selReportObj.getName()+" : Report Generation Start Time is : " + new Date() );
@@ -245,12 +248,23 @@
eDate = format.parseDate( String.valueOf( selectedPeriod.getEndDate() ) );
Workbook templateWorkbook = Workbook.getWorkbook( new File( inputTemplatePath ) );
+
+ // collect periodId by commaSepareted
+ List<Period> tempPeriodList = new ArrayList<Period>( periodService.getIntersectingPeriods( sDate, eDate ) );
+
+ Collection<Integer> tempPeriodIds = new ArrayList<Integer>( getIdentifiers(Period.class, tempPeriodList ) );
+
+ String periodIdsByComma = getCommaDelimitedString( tempPeriodIds );
// Getting DataValues
List<Report_inDesign> reportDesignList = reportService.getReportDesign( deCodesXMLFileName );
List<Report_inDesign> reportDesignListLLDeath = reportService.getReportDesign( deCodesXMLFileName );
List<Report_inDesign> reportDesignListLLMaternalDeath = reportService.getReportDesign( deCodesXMLFileName );
+ // collect dataElementIDs by commaSepareted
+ String dataElmentIdsByComma = reportService.getDataelementIds( reportDesignList );
+ String dataElmentIdsForLLDeathByComma = reportService.getDataelementIds( reportDesignList );
+ String dataElmentIdsForMaternalDeathByComma = reportService.getDataelementIds( reportDesignList );
int orgUnitCount = 0;
@@ -266,6 +280,14 @@
String outputReportPath = outputReportFolderPath + File.separator + outPutFileName;
WritableWorkbook outputReportWorkbook = Workbook.createWorkbook( new File( outputReportPath ), templateWorkbook );
+ Map<String, String> aggDeMap = new HashMap<String, String>();
+ List<OrganisationUnit> childOrgUnitTree = new ArrayList<OrganisationUnit>( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit.getId() ) );
+ List<Integer> childOrgUnitTreeIds = new ArrayList<Integer>( getIdentifiers( OrganisationUnit.class, childOrgUnitTree ) );
+ String childOrgUnitsByComma = getCommaDelimitedString( childOrgUnitTreeIds );
+
+ aggDeMap.putAll( reportService.getAggDataFromDataValueTable( childOrgUnitsByComma, dataElmentIdsByComma, periodIdsByComma ) );
+
+
int count1 = 0;
Iterator<Report_inDesign> reportDesignIterator = reportDesignList.iterator();
while ( reportDesignIterator.hasNext() )
@@ -323,6 +345,10 @@
else if( deCodeString.equalsIgnoreCase( "PERIOD-MONTH" ) )
{
tempStr = monthFormat.format( sDate );
+ }
+ else if( deCodeString.equalsIgnoreCase( "PERIOD-YEAR" ) )
+ {
+ tempStr = yearFormat.format( sDate );
}
else if( deCodeString.equalsIgnoreCase( "MONTH-START-SHORT" ) )
{
@@ -352,7 +378,8 @@
{
if( sType.equalsIgnoreCase( "dataelement" ) )
{
- tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = getAggVal( deCodeString, aggDeMap );
+ //tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
else if ( sType.equalsIgnoreCase( "dataelement-boolean" ) )
{
@@ -443,6 +470,15 @@
List<Integer> llrecordNos = new ArrayList<Integer>();
llrecordNos = getLinelistingDeathRecordNos( currentOrgUnit, selectedPeriod );
+ String llDeathRecordNoByComma = getRecordNoByComma( llrecordNos );
+
+
+ Map<String, String> aggDeForLLDeathMap = new HashMap<String, String>();
+
+ aggDeForLLDeathMap.putAll( reportService.getLLDeathDataFromLLDataValueTable( currentOrgUnit.getId(), dataElmentIdsForLLDeathByComma, periodIdsByComma, llDeathRecordNoByComma ) );
+
+
+
// for Line Listing Death DataElements
int tempLLDeathRowNo = 0;
@@ -459,6 +495,11 @@
{
recordNo = (Integer) itlldeath.next();
}
+
+ //Map<String, String> aggDeForLLDeathMap = new HashMap<String, String>();
+
+ // aggDeForLLDeathMap.putAll( reportService.getLLDeathDataFromLLDataValueTable( currentOrgUnit.getId(), dataElmentIdsForLLDeathByComma, periodIdsByComma, recordNo ) );
+
flag = 0;
Iterator<Report_inDesign> reportDesignIterator1 = reportDesignListLLDeath.iterator();
int count2 = 0;
@@ -500,12 +541,14 @@
{
if ( sType.equalsIgnoreCase( "lldeathdataelement" ) )
{
- tempStr = getLLDataValue( deCodeString, selectedPeriod, currentOrgUnit, recordNo );
+ tempStr = getLlDeathVal( deCodeString, recordNo, aggDeForLLDeathMap );
+ //tempStr = getLLDataValue( deCodeString, selectedPeriod, currentOrgUnit, recordNo );
}
else if ( sType.equalsIgnoreCase( "lldeathdataelementage" ) )
{
- tempLLDeathValuStr = getLLDataValue( deCodeString, selectedPeriod, currentOrgUnit, recordNo );
+ tempLLDeathValuStr = getLlDeathVal( deCodeString, recordNo, aggDeForLLDeathMap );
+ //tempLLDeathValuStr = getLLDataValue( deCodeString, selectedPeriod, currentOrgUnit, recordNo );
}
else
{
@@ -617,8 +660,15 @@
//llMaternalDeathrecordNos = getLinelistingMateralanRecordNos( currentOrgUnit, selectedPeriod, deCodesXMLFileName );
llMaternalDeathrecordNos = getLinelistingMateralanRecordNos( currentOrgUnit, selectedPeriod );
- System.out.println( "Line Listing Maternal Death Record Count is :" + llMaternalDeathrecordNos.size() );
-
+ //System.out.println( "Line Listing Maternal Death Record Count is :" + llMaternalDeathrecordNos.size() );
+
+ String llMaternalDeathRecordNoByComma = getRecordNoByComma( llMaternalDeathrecordNos );
+
+ Map<String, String> aggDeForLLMaternalDeathMap = new HashMap<String, String>();
+
+ aggDeForLLMaternalDeathMap.putAll( reportService.getLLDeathDataFromLLDataValueTable( currentOrgUnit.getId(), dataElmentIdsForMaternalDeathByComma, periodIdsByComma, llMaternalDeathRecordNoByComma ) );
+
+
// int testRowNo = 0;
int flagmdeath = 0;
@@ -634,7 +684,13 @@
maternalDeathRecordNo = (Integer) itllmaternaldeath.next();
}
flagmdeath = 0;
-
+
+
+ // Map<String, String> aggDeForLLMaternalDeathMap = new HashMap<String, String>();
+
+ //aggDeForLLMaternalDeathMap.putAll( reportService.getLLDeathDataFromLLDataValueTable( currentOrgUnit.getId(), dataElmentIdsForMaternalDeathByComma, periodIdsByComma, maternalDeathRecordNo ) );
+
+
// Iterator<String> it1 = deCodesList.iterator();
Iterator<Report_inDesign> reportDesignIterator2 = reportDesignListLLMaternalDeath.iterator();
int count3 = 0;
@@ -683,7 +739,8 @@
{
if ( sType.equalsIgnoreCase( "llmaternaldeathdataelement" ) )
{
- tempStr = getLLDataValue( deCodeString, selectedPeriod, currentOrgUnit, maternalDeathRecordNo );
+ tempStr = getLlDeathVal( deCodeString, maternalDeathRecordNo, aggDeForLLMaternalDeathMap );
+ //tempStr = getLLDataValue( deCodeString, selectedPeriod, currentOrgUnit, maternalDeathRecordNo );
}
}
int tempRowNo1 = report_inDesign.getRowno();
@@ -976,7 +1033,7 @@
return recordNosList;
}
-
+ /*
public String getLLDataValue( String formula, Period period, OrganisationUnit organisationUnit, Integer recordNo )
{
Statement st1 = null;
@@ -1081,7 +1138,8 @@
}
}// finally block end
}
-
+*/
+
public List<Integer> getLinelistingMateralanRecordNos( OrganisationUnit organisationUnit, Period period )
{
List<Integer> recordNosList = new ArrayList<Integer>();
@@ -1111,4 +1169,118 @@
return recordNosList;
}
+ // getting data value using Map
+ private String getAggVal( String expression, Map<String, String> aggDeMap )
+ {
+ try
+ {
+ Pattern pattern = Pattern.compile( "(\\[\\d+\\.\\d+\\])" );
+
+ Matcher matcher = pattern.matcher( expression );
+ StringBuffer buffer = new StringBuffer();
+
+ String resultValue = "";
+
+ while ( matcher.find() )
+ {
+ String replaceString = matcher.group();
+
+ replaceString = replaceString.replaceAll( "[\\[\\]]", "" );
+
+ replaceString = aggDeMap.get( replaceString );
+
+ if( replaceString == null )
+ {
+ replaceString = "0";
+ }
+
+ matcher.appendReplacement( buffer, replaceString );
+
+ resultValue = replaceString;
+ }
+
+ matcher.appendTail( buffer );
+
+ double d = 0.0;
+ try
+ {
+ d = MathUtils.calculateExpression( buffer.toString() );
+ }
+ catch ( Exception e )
+ {
+ d = 0.0;
+ resultValue = "";
+ }
+
+ resultValue = "" + (double) d;
+
+ return resultValue;
+ }
+ catch ( NumberFormatException ex )
+ {
+ throw new RuntimeException( "Illegal DataElement id", ex );
+ }
+ }
+
+
+ private String getLlDeathVal( String expression,Integer recordNo, Map<String, String> aggDeForLLDeathMap )
+ {
+ try
+ {
+ Pattern pattern = Pattern.compile( "(\\[\\d+\\.\\d+\\])" );
+
+ Matcher matcher = pattern.matcher( expression );
+ StringBuffer buffer = new StringBuffer();
+
+ String resultValue = "";
+
+ while ( matcher.find() )
+ {
+ String replaceString = matcher.group();
+
+ replaceString = replaceString.replaceAll( "[\\[\\]]", "" );
+
+
+ replaceString = aggDeForLLDeathMap.get( replaceString+":"+recordNo );
+
+ if( replaceString == null )
+ {
+ replaceString = "";
+ }
+
+ matcher.appendReplacement( buffer, replaceString );
+
+ resultValue = replaceString;
+ }
+
+ matcher.appendTail( buffer );
+
+ resultValue = buffer.toString();
+
+ return resultValue;
+
+ }
+ catch ( NumberFormatException ex )
+ {
+ throw new RuntimeException( "Illegal DataElement id", ex );
+ }
+ catch ( Exception e )
+ {
+ System.out.println( "SQL Exception : " + e.getMessage() );
+ return null;
+ }
+ }
+
+ public String getRecordNoByComma( List<Integer> recordNosList )
+ {
+ String recordNoByComma = "-1";
+
+ for( Integer recordNo : recordNosList )
+ {
+ recordNoByComma += "," + recordNo;
+ }
+
+ return recordNoByComma;
+ }
+
}
=== modified file 'local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/routine/action/GenerateColdChainReportAnalyserResultAction.java'
--- local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/routine/action/GenerateColdChainReportAnalyserResultAction.java 2011-10-13 08:00:58 +0000
+++ local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/routine/action/GenerateColdChainReportAnalyserResultAction.java 2011-11-02 09:54:19 +0000
@@ -59,13 +59,13 @@
import com.opensymphony.xwork2.Action;
public class GenerateColdChainReportAnalyserResultAction
-implements Action
+ implements Action
{
-
+
// -------------------------------------------------------------------------
// Dependencies
// -------------------------------------------------------------------------
-
+
private StatementManager statementManager;
public void setStatementManager( StatementManager statementManager )
@@ -107,21 +107,21 @@
{
this.format = format;
}
-
+
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate( JdbcTemplate jdbcTemplate )
{
this.jdbcTemplate = jdbcTemplate;
}
-
+
private DataElementService dataElementService;
public void setDataElementService( DataElementService dataElementService )
{
this.dataElementService = dataElementService;
}
-
+
private DataElementCategoryService dataElementCategoryOptionComboService;
public void setDataElementCategoryOptionComboService(
@@ -129,6 +129,7 @@
{
this.dataElementCategoryOptionComboService = dataElementCategoryOptionComboService;
}
+
// -------------------------------------------------------------------------
// Properties
// -------------------------------------------------------------------------
@@ -213,8 +214,9 @@
private PeriodType periodType;
private String raFolderName;
-
+
private OrganisationUnit currentOrgUnit;
+
// -------------------------------------------------------------------------
// Action implementation
// -------------------------------------------------------------------------
@@ -239,23 +241,24 @@
deCodesXMLFileName = selReportObj.getXmlTemplateName();
reportModelTB = selReportObj.getModel();
reportFileNameTB = selReportObj.getExcelTemplateName();
-
- String inputTemplatePath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "template" + File.separator + reportFileNameTB;
- String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + Configuration_IN.DEFAULT_TEMPFOLDER;
+
+ String inputTemplatePath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator
+ + "template" + File.separator + reportFileNameTB;
+ String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + Configuration_IN.DEFAULT_TEMPFOLDER;
File newdir = new File( outputReportPath );
- if( !newdir.exists() )
+ if ( !newdir.exists() )
{
newdir.mkdirs();
}
outputReportPath += File.separator + UUID.randomUUID().toString() + ".xls";
- if( reportModelTB.equalsIgnoreCase( "DYNAMIC-ORGUNIT" ) )
+ if ( reportModelTB.equalsIgnoreCase( "DYNAMIC-ORGUNIT" ) )
{
OrganisationUnit orgUnit = organisationUnitService.getOrganisationUnit( ouIDTB );
orgUnitList = new ArrayList<OrganisationUnit>( orgUnit.getChildren() );
Collections.sort( orgUnitList, new OrganisationUnitNameComparator() );
}
- else if( reportModelTB.equalsIgnoreCase( "dynamicwithrootfacility" ) )
+ else if ( reportModelTB.equalsIgnoreCase( "dynamicwithrootfacility" ) )
{
OrganisationUnit orgUnit = organisationUnitService.getOrganisationUnit( ouIDTB );
orgUnitList = new ArrayList<OrganisationUnit>( orgUnit.getChildren() );
@@ -264,57 +267,69 @@
parentUnit = orgUnit.getName();
}
- else if( reportModelTB.equalsIgnoreCase( "STATIC" ) || reportModelTB.equalsIgnoreCase( "STATIC-DATAELEMENTS" ) || reportModelTB.equalsIgnoreCase( "STATIC-FINANCIAL" ) )
+ else if ( reportModelTB.equalsIgnoreCase( "STATIC" ) || reportModelTB.equalsIgnoreCase( "STATIC-DATAELEMENTS" )
+ || reportModelTB.equalsIgnoreCase( "STATIC-FINANCIAL" ) )
{
orgUnitList = new ArrayList<OrganisationUnit>();
OrganisationUnit orgUnit = organisationUnitService.getOrganisationUnit( ouIDTB );
orgUnitList.add( orgUnit );
}
- System.out.println( orgUnitList.get( 0 ).getName()+ " : " + selReportObj.getName()+" : Report Generation Start Time is : " + new Date() );
+ System.out.println( orgUnitList.get( 0 ).getName() + " : " + selReportObj.getName()
+ + " : Report Generation Start Time is : " + new Date() );
OrganisationUnitGroup orgUnitGroup = null;
-
+
List<OrganisationUnit> orgGroupMembers = null;
- if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" ) || organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" ) || organisationUnitGroupId.equalsIgnoreCase( "useexistingaggdata" ) )
+ if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" )
+ || organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" )
+ || organisationUnitGroupId.equalsIgnoreCase( "useexistingaggdata" ) )
{
-
+
}
else
{
- orgUnitGroup = organisationUnitGroupService.getOrganisationUnitGroup( Integer.parseInt( organisationUnitGroupId ) );
+ orgUnitGroup = organisationUnitGroupService.getOrganisationUnitGroup( Integer
+ .parseInt( organisationUnitGroupId ) );
orgGroupMembers = new ArrayList<OrganisationUnit>( orgUnitGroup.getMembers() );
}
-
+
selectedPeriod = periodService.getPeriod( availablePeriods );
sDate = format.parseDate( String.valueOf( selectedPeriod.getStartDate() ) );
eDate = format.parseDate( String.valueOf( selectedPeriod.getEndDate() ) );
Workbook templateWorkbook = Workbook.getWorkbook( new File( inputTemplatePath ) );
- WritableWorkbook outputReportWorkbook = Workbook.createWorkbook( new File( outputReportPath ), templateWorkbook );
+ WritableWorkbook outputReportWorkbook = Workbook
+ .createWorkbook( new File( outputReportPath ), templateWorkbook );
OrganisationUnitGroup excludeOrgUnitGroup = selReportObj.getOrgunitGroup();
List<OrganisationUnit> excludeOrgUnits = new ArrayList<OrganisationUnit>();
- if( excludeOrgUnitGroup != null )
+ if ( excludeOrgUnitGroup != null )
{
excludeOrgUnits.addAll( excludeOrgUnitGroup.getMembers() );
}
-
+
// Getting DataValues
List<Report_inDesign> reportDesignList = reportService.getReportDesign( deCodesXMLFileName );
- List<Report_inDesign> reportDesignColdChainList = reportService.getReportDesign( deCodesXMLFileName );
+ // List<Report_inDesign> reportDesignColdChainList =
+ // reportService.getReportDesign( deCodesXMLFileName );
+ List<Report_inDesign> reportDesignColdChainList = reportService
+ .getReportDesignWithMergeCells( deCodesXMLFileName );
int orgUnitCount = 0;
Iterator<OrganisationUnit> it = orgUnitList.iterator();
while ( it.hasNext() )
{
OrganisationUnit currentOrgUnit = (OrganisationUnit) it.next();
- List<OrganisationUnit> ouList = new ArrayList<OrganisationUnit>();
+ List<OrganisationUnit> ouList = new ArrayList<OrganisationUnit>();
- if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" ) || organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" ) || organisationUnitGroupId.equalsIgnoreCase( "useexistingaggdata" ) )
+ if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" )
+ || organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" )
+ || organisationUnitGroupId.equalsIgnoreCase( "useexistingaggdata" ) )
{
- excludeOrgUnits.retainAll( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit.getId() ) );
+ excludeOrgUnits.retainAll( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit
+ .getId() ) );
}
else
{
@@ -322,7 +337,7 @@
excludeOrgUnits.retainAll( ouList );
ouList.retainAll( orgGroupMembers );
}
-
+
Iterator<Report_inDesign> reportDesignIterator = reportDesignList.iterator();
while ( reportDesignIterator.hasNext() )
{
@@ -336,7 +351,8 @@
Calendar tempStartDate = Calendar.getInstance();
Calendar tempEndDate = Calendar.getInstance();
- List<Calendar> calendarList = new ArrayList<Calendar>( reportService.getStartingEndingPeriods( deType, selectedPeriod ) );
+ List<Calendar> calendarList = new ArrayList<Calendar>( reportService.getStartingEndingPeriods( deType,
+ selectedPeriod ) );
if ( calendarList == null || calendarList.isEmpty() )
{
tempStartDate.setTime( selectedPeriod.getStartDate() );
@@ -377,7 +393,8 @@
{
tempStr = currentOrgUnit.getComment();
}
- else if ( deCodeString.equalsIgnoreCase( "PERIOD" ) || deCodeString.equalsIgnoreCase( "PERIOD-NOREPEAT" ) )
+ else if ( deCodeString.equalsIgnoreCase( "PERIOD" )
+ || deCodeString.equalsIgnoreCase( "PERIOD-NOREPEAT" ) )
{
tempStr = simpleDateFormat.format( sDate );
}
@@ -761,9 +778,9 @@
String startMonth = "";
startMonth = monthFormat.format( sDateTemp );
- if ( startMonth.equalsIgnoreCase("January") )
+ if ( startMonth.equalsIgnoreCase( "January" ) )
{
- tempCalendar.set(Calendar.MONTH, Calendar.DECEMBER);
+ tempCalendar.set( Calendar.MONTH, Calendar.DECEMBER );
tempCalendar.roll( Calendar.YEAR, -1 );
sDateTemp = tempCalendar.getTime();
}
@@ -795,15 +812,17 @@
{
if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" ) )
{
- tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
-
- if( excludeOrgUnits != null && excludeOrgUnits.size() != 0 )
+ tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+
+ if ( excludeOrgUnits != null && excludeOrgUnits.size() != 0 )
{
double tempExcludeAggVal = 0.0;
double value = 0.0;
for ( OrganisationUnit unit : excludeOrgUnits )
{
- String tempStr1 = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit, reportModelTB );
+ String tempStr1 = reportService.getResultDataValue( deCodeString, tempStartDate
+ .getTime(), tempEndDate.getTime(), unit, reportModelTB );
try
{
@@ -815,28 +834,30 @@
}
tempExcludeAggVal += value;
}
-
+
try
{
value = Double.parseDouble( tempStr ) - tempExcludeAggVal;
- tempStr = ""+value;
+ tempStr = "" + value;
}
- catch( Exception e )
+ catch ( Exception e )
{
}
}
}
else if ( organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" ) )
{
- tempStr = reportService.getIndividualResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
-
- if( excludeOrgUnits != null && excludeOrgUnits.size() != 0 )
+ tempStr = reportService.getIndividualResultDataValue( deCodeString,
+ tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+
+ if ( excludeOrgUnits != null && excludeOrgUnits.size() != 0 )
{
double tempExcludeAggVal = 0.0;
double value = 0.0;
for ( OrganisationUnit unit : excludeOrgUnits )
{
- String tempStr1 = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit, reportModelTB );
+ String tempStr1 = reportService.getResultDataValue( deCodeString, tempStartDate
+ .getTime(), tempEndDate.getTime(), unit, reportModelTB );
try
{
@@ -848,30 +869,34 @@
}
tempExcludeAggVal += value;
}
-
+
try
{
value = Double.parseDouble( tempStr ) - tempExcludeAggVal;
- tempStr = ""+value;
+ tempStr = "" + value;
}
- catch( Exception e )
+ catch ( Exception e )
{
}
}
}
else if ( organisationUnitGroupId.equalsIgnoreCase( "useexistingaggdata" ) )
{
- List<Period> periodList = new ArrayList<Period>( periodService.getPeriodsBetweenDates( tempStartDate.getTime(), tempEndDate.getTime() ) );
- Collection<Integer> periodIds = new ArrayList<Integer>( getIdentifiers(Period.class, periodList ) );
- tempStr = reportService.getResultDataValueFromAggregateTable( deCodeString, periodIds, currentOrgUnit, reportModelTB );
-
- if( excludeOrgUnits != null && excludeOrgUnits.size() != 0 )
+ List<Period> periodList = new ArrayList<Period>( periodService.getPeriodsBetweenDates(
+ tempStartDate.getTime(), tempEndDate.getTime() ) );
+ Collection<Integer> periodIds = new ArrayList<Integer>( getIdentifiers( Period.class,
+ periodList ) );
+ tempStr = reportService.getResultDataValueFromAggregateTable( deCodeString, periodIds,
+ currentOrgUnit, reportModelTB );
+
+ if ( excludeOrgUnits != null && excludeOrgUnits.size() != 0 )
{
double tempExcludeAggVal = 0.0;
double value = 0.0;
for ( OrganisationUnit unit : excludeOrgUnits )
{
- String tempStr1 = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit, reportModelTB );
+ String tempStr1 = reportService.getResultDataValue( deCodeString, tempStartDate
+ .getTime(), tempEndDate.getTime(), unit, reportModelTB );
try
{
@@ -883,28 +908,32 @@
}
tempExcludeAggVal += value;
}
-
+
try
{
value = Double.parseDouble( tempStr ) - tempExcludeAggVal;
- tempStr = ""+value;
+ tempStr = "" + value;
}
- catch( Exception e )
+ catch ( Exception e )
{
}
}
}
else
{
- //List<OrganisationUnit> ouList = new ArrayList<OrganisationUnit>( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit.getId() ) );
-
- //ouList.retainAll( orgGroupMembers );
-
+ // List<OrganisationUnit> ouList = new
+ // ArrayList<OrganisationUnit>(
+ // organisationUnitService.getOrganisationUnitWithChildren(
+ // currentOrgUnit.getId() ) );
+
+ // ouList.retainAll( orgGroupMembers );
+
double temp = 0.0;
double value = 0.0;
for ( OrganisationUnit unit : ouList )
{
- tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit, reportModelTB );
+ tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), unit, reportModelTB );
try
{
@@ -919,14 +948,15 @@
tempNum = temp;
tempStr = String.valueOf( (int) temp );
-
- if( excludeOrgUnits != null && excludeOrgUnits.size() != 0 )
+
+ if ( excludeOrgUnits != null && excludeOrgUnits.size() != 0 )
{
double tempExcludeAggVal = 0.0;
value = 0.0;
for ( OrganisationUnit unit : excludeOrgUnits )
{
- String tempStr1 = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit, reportModelTB );
+ String tempStr1 = reportService.getResultDataValue( deCodeString, tempStartDate
+ .getTime(), tempEndDate.getTime(), unit, reportModelTB );
try
{
@@ -938,13 +968,13 @@
}
tempExcludeAggVal += value;
}
-
+
try
{
value = Double.parseDouble( tempStr ) - tempExcludeAggVal;
- tempStr = ""+value;
+ tempStr = "" + value;
}
- catch( Exception e )
+ catch ( Exception e )
{
}
}
@@ -954,23 +984,29 @@
{
if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" ) )
{
- tempStr = reportService.getAggCountForTextData( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit );
+ tempStr = reportService.getAggCountForTextData( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), currentOrgUnit );
}
else if ( organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" ) )
{
- tempStr = reportService.getCountForTextData( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit );
+ tempStr = reportService.getCountForTextData( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), currentOrgUnit );
}
else
{
- //List<OrganisationUnit> ouList = new ArrayList<OrganisationUnit>( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit.getId() ) );
-
- //ouList.retainAll( orgGroupMembers );
-
+ // List<OrganisationUnit> ouList = new
+ // ArrayList<OrganisationUnit>(
+ // organisationUnitService.getOrganisationUnitWithChildren(
+ // currentOrgUnit.getId() ) );
+
+ // ouList.retainAll( orgGroupMembers );
+
double temp = 0.0;
double value = 0.0;
for ( OrganisationUnit unit : ouList )
{
- tempStr = reportService.getAggCountForTextData( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit );
+ tempStr = reportService.getAggCountForTextData( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), unit );
try
{
@@ -993,25 +1029,31 @@
int year = Integer.parseInt( deType );
tempStartDate.set( year, 1, 1, 0, 0, 0 );
tempEndDate.setTime( selectedPeriod.getEndDate() );
-
+
if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" ) )
{
- tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
else if ( organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" ) )
{
- tempStr = reportService.getIndividualResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = reportService.getIndividualResultDataValue( deCodeString,
+ tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
else
{
- //List<OrganisationUnit> ouList = new ArrayList<OrganisationUnit>( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit.getId() ) );
- //ouList.retainAll( orgGroupMembers );
-
+ // List<OrganisationUnit> ouList = new
+ // ArrayList<OrganisationUnit>(
+ // organisationUnitService.getOrganisationUnitWithChildren(
+ // currentOrgUnit.getId() ) );
+ // ouList.retainAll( orgGroupMembers );
+
double temp = 0.0;
double value = 0.0;
for ( OrganisationUnit unit : ouList )
{
- tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit, reportModelTB );
+ tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), unit, reportModelTB );
try
{
value = Double.valueOf( tempStr );
@@ -1031,7 +1073,7 @@
{
int year = Integer.parseInt( deType );
tempStartDate.set( year, 1, 1, 0, 0, 0 );
-
+
tempEndDate.setTime( selectedPeriod.getEndDate() );
if ( tempEndDate.get( Calendar.MONTH ) < Calendar.JULY )
{
@@ -1041,22 +1083,28 @@
if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" ) )
{
- tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
else if ( organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" ) )
{
- tempStr = reportService.getIndividualResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = reportService.getIndividualResultDataValue( deCodeString,
+ tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
else
{
- //List<OrganisationUnit> ouList = new ArrayList<OrganisationUnit>( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit.getId() ) );
- //ouList.retainAll( orgGroupMembers );
-
+ // List<OrganisationUnit> ouList = new
+ // ArrayList<OrganisationUnit>(
+ // organisationUnitService.getOrganisationUnitWithChildren(
+ // currentOrgUnit.getId() ) );
+ // ouList.retainAll( orgGroupMembers );
+
double temp = 0.0;
double value = 0.0;
for ( OrganisationUnit unit : ouList )
{
- tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit, reportModelTB );
+ tempStr = reportService.getResultDataValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), unit, reportModelTB );
try
{
value = Double.valueOf( tempStr );
@@ -1072,11 +1120,11 @@
tempStr = String.valueOf( (int) temp );
}
}
- else if( sType.equalsIgnoreCase( "survey" ))
+ else if ( sType.equalsIgnoreCase( "survey" ) )
{
tempStr = reportService.getResultSurveyValue( deCodeString, currentOrgUnit );
}
- else if( sType.equalsIgnoreCase( "surveydesc" ) )
+ else if ( sType.equalsIgnoreCase( "surveydesc" ) )
{
tempStr = reportService.getSurveyDesc( deCodeString );
}
@@ -1084,33 +1132,41 @@
{
if ( aggCB == null )
{
- tempStr = reportService.getBooleanDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = reportService.getBooleanDataValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
else
{
- tempStr = reportService.getBooleanDataValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit, reportModelTB );
+ tempStr = reportService.getBooleanDataValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), currentOrgUnit, reportModelTB );
}
}
else
{
if ( organisationUnitGroupId.equalsIgnoreCase( "ALL" ) )
{
- tempStr = reportService.getResultIndicatorValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit );
+ tempStr = reportService.getResultIndicatorValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), currentOrgUnit );
}
else if ( organisationUnitGroupId.equalsIgnoreCase( "Selected_Only" ) )
{
- tempStr = reportService.getIndividualResultIndicatorValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), currentOrgUnit );
+ tempStr = reportService.getIndividualResultIndicatorValue( deCodeString, tempStartDate
+ .getTime(), tempEndDate.getTime(), currentOrgUnit );
}
else
{
- //List<OrganisationUnit> ouList = new ArrayList<OrganisationUnit>( organisationUnitService.getOrganisationUnitWithChildren( currentOrgUnit.getId() ) );
- //ouList.retainAll( orgGroupMembers );
-
+ // List<OrganisationUnit> ouList = new
+ // ArrayList<OrganisationUnit>(
+ // organisationUnitService.getOrganisationUnitWithChildren(
+ // currentOrgUnit.getId() ) );
+ // ouList.retainAll( orgGroupMembers );
+
double temp = 0.0;
double value = 0.0;
for ( OrganisationUnit unit : ouList )
{
- tempStr = reportService.getResultIndicatorValue( deCodeString, tempStartDate.getTime(), tempEndDate.getTime(), unit );
+ tempStr = reportService.getResultIndicatorValue( deCodeString, tempStartDate.getTime(),
+ tempEndDate.getTime(), unit );
try
{
@@ -1129,16 +1185,16 @@
}
}
}
-
+
int tempRowNo = report_inDesign.getRowno();
int tempColNo = report_inDesign.getColno();
int sheetNo = report_inDesign.getSheetno();
WritableSheet sheet0 = outputReportWorkbook.getSheet( sheetNo );
-
+
if ( tempStr == null || tempStr.equals( " " ) )
{
tempRowNo += orgUnitCount;
-
+
WritableCellFormat wCellformat = new WritableCellFormat();
wCellformat.setBorder( Border.ALL, BorderLineStyle.THIN );
wCellformat.setWrap( true );
@@ -1146,7 +1202,7 @@
sheet0.addCell( new Blank( tempColNo, tempRowNo, wCellformat ) );
}
- else
+ else
{
if ( reportModelTB.equalsIgnoreCase( "DYNAMIC-ORGUNIT" ) )
{
@@ -1189,8 +1245,8 @@
{
if ( deCodeString.equalsIgnoreCase( "FACILITYP" )
|| deCodeString.equalsIgnoreCase( "FACILITY-NOREPEAT" )
- || deCodeString.equalsIgnoreCase( "FACILITYPP" )
- || deCodeString.equalsIgnoreCase( "FACILITYPPP" )
+ || deCodeString.equalsIgnoreCase( "FACILITYPP" )
+ || deCodeString.equalsIgnoreCase( "FACILITYPPP" )
|| deCodeString.equalsIgnoreCase( "FACILITYPPPP" ) )
{
@@ -1257,13 +1313,13 @@
}// outer while loop end
// for printing the cold-chain data
-
+
// OrgUnit Info
currentOrgUnit = organisationUnitService.getOrganisationUnit( ouIDTB );
-
+
List<Integer> coldChainrecordNos = new ArrayList<Integer>();
coldChainrecordNos = getColdChainRecordNos( currentOrgUnit, selectedPeriod );
-
+
int tempColdChainRowNo = 0;
int flag = 0;
if ( coldChainrecordNos.size() == 0 )
@@ -1271,7 +1327,7 @@
Iterator<Integer> itColdChain = coldChainrecordNos.iterator();
int recordCount = 0;
int currentRowNo = 0;
-
+
while ( itColdChain.hasNext() )
{
Integer recordNo = -1;
@@ -1280,7 +1336,7 @@
recordNo = (Integer) itColdChain.next();
}
flag = 0;
-
+
Iterator<Report_inDesign> reportDesignIterator = reportDesignColdChainList.iterator();
int count1 = 0;
while ( reportDesignIterator.hasNext() )
@@ -1291,7 +1347,7 @@
String sType = report_inDesign.getStype();
String deCodeString = report_inDesign.getExpression();
String tempStr = "";
-
+
Calendar tempStartDate = Calendar.getInstance();
Calendar tempEndDate = Calendar.getInstance();
// List<Calendar> calendarList = new ArrayList<Calendar>(
@@ -1309,11 +1365,11 @@
tempStartDate = calendarList.get( 0 );
tempEndDate = calendarList.get( 1 );
}
-
+
if ( deCodeString.equalsIgnoreCase( "NA" ) )
{
tempStr = " ";
-
+
}
else
{
@@ -1322,16 +1378,18 @@
tempStr = getColdChainDataValue( deCodeString, selectedPeriod, currentOrgUnit, recordNo );
}
-
}
-
+
tempColdChainRowNo = report_inDesign.getRowno();
int tempRowNo = report_inDesign.getRowno();
-
+
currentRowNo = tempColdChainRowNo;
int tempColNo = report_inDesign.getColno();
int sheetNo = report_inDesign.getSheetno();
-
+
+ int tempMergeCol = report_inDesign.getColmerge();
+ int tempMergeRow = report_inDesign.getRowmerge();
+
WritableSheet sheet0 = outputReportWorkbook.getSheet( sheetNo );
if ( tempStr == null || tempStr.equals( " " ) )
{
@@ -1341,11 +1399,11 @@
{
if ( deCodeString.equalsIgnoreCase( "FACILITYP" )
|| deCodeString.equalsIgnoreCase( "FACILITY-NOREPEAT" )
- || deCodeString.equalsIgnoreCase( "FACILITYPP" )
- || deCodeString.equalsIgnoreCase( "FACILITYPPP" )
+ || deCodeString.equalsIgnoreCase( "FACILITYPP" )
+ || deCodeString.equalsIgnoreCase( "FACILITYPPP" )
|| deCodeString.equalsIgnoreCase( "FACILITYPPPP" ) )
{
-
+
}
else
{
@@ -1353,34 +1411,62 @@
currentRowNo += recordCount;
tempRowNo += recordCount;
}
-
-
+
WritableCellFormat wCellformat = new WritableCellFormat();
wCellformat.setBorder( Border.ALL, BorderLineStyle.THIN );
wCellformat.setWrap( true );
wCellformat.setAlignment( Alignment.CENTRE );
wCellformat.setVerticalAlignment( VerticalAlignment.CENTRE );
-
+
+ WritableCell cell = sheet0.getWritableCell( tempColNo, tempRowNo );
+ CellFormat cellFormat = cell.getCellFormat();
+
if ( sType.equalsIgnoreCase( "coldchaindataelement" ) )
{
- try
- {
- sheet0.addCell( new Number( tempColNo, tempRowNo, Integer.parseInt( tempStr ), getCellFormat1() ) );
- }
- catch ( Exception e )
- {
- sheet0.addCell( new Label( tempColNo, tempRowNo, tempStr, getCellFormat1() ) );
- }
+
+ if ( cellFormat != null )
+ {
+ if ( tempMergeCol > 0 || tempMergeRow > 0 )
+ {
+ sheet0.mergeCells( tempColNo, tempRowNo, tempColNo + tempMergeCol, tempRowNo
+ + tempMergeRow );
+ }
+ try
+ {
+ sheet0.addCell( new Number( tempColNo, tempRowNo, Integer.parseInt( tempStr ),
+ getCellFormat1() ) );
+ }
+ catch ( Exception e )
+ {
+ sheet0.addCell( new Label( tempColNo, tempRowNo, tempStr, getCellFormat1() ) );
+ }
+ }
+ else
+ {
+ if ( tempMergeCol > 0 || tempMergeRow > 0 )
+ {
+ sheet0.mergeCells( tempColNo, tempRowNo, tempColNo + tempMergeCol, tempRowNo
+ + tempMergeRow );
+ }
+ try
+ {
+ sheet0.addCell( new Number( tempColNo, tempRowNo, Integer.parseInt( tempStr ),
+ getCellFormat1() ) );
+ }
+ catch ( Exception e )
+ {
+ sheet0.addCell( new Label( tempColNo, tempRowNo, tempStr, getCellFormat1() ) );
+ }
+ }
+
}
}
count1++;
}
recordCount++;
}
-
-
-
+
outputReportWorkbook.write();
outputReportWorkbook.close();
@@ -1390,139 +1476,141 @@
File outputReportFile = new File( outputReportPath );
inputStream = new BufferedInputStream( new FileInputStream( outputReportFile ) );
- System.out.println( orgUnitList.get( 0 ).getName()+ " : " + selReportObj.getName()+" : Report Generation End Time is : " + new Date() );
+ System.out.println( orgUnitList.get( 0 ).getName() + " : " + selReportObj.getName()
+ + " : Report Generation End Time is : " + new Date() );
outputReportFile.deleteOnExit();
statementManager.destroy();
return SUCCESS;
-
- }
- // Method Finding no of records of coldChain
-
- public List<Integer> getColdChainRecordNos( OrganisationUnit organisationUnit, Period period )
- {
- List<Integer> recordNosList = new ArrayList<Integer>();
-
- int dataElementid = 1027;
- String query = "";
-
- try
- {
- query = "SELECT recordno FROM lldatavalue WHERE dataelementid = " + dataElementid + " AND periodid = "
- + period.getId() + " AND sourceid = " + organisationUnit.getId();
-
- SqlRowSet rs1 = jdbcTemplate.queryForRowSet( query );
-
- while ( rs1.next() )
- {
- recordNosList.add( rs1.getInt( 1 ) );
- }
-
- Collections.sort( recordNosList );
- }
- catch ( Exception e )
- {
- System.out.println( "SQL Exception : " + e.getMessage() );
- }
-
- return recordNosList;
- }
-
-
- public String getColdChainDataValue( String formula, Period period, OrganisationUnit organisationUnit, Integer recordNo )
- {
- Statement st1 = null;
- ResultSet rs1 = null;
-
- String query = "";
- try
- {
- Pattern pattern = Pattern.compile( "(\\[\\d+\\.\\d+\\])" );
-
- Matcher matcher = pattern.matcher( formula );
- StringBuffer buffer = new StringBuffer();
-
- while ( matcher.find() )
- {
- String replaceString = matcher.group();
-
- replaceString = replaceString.replaceAll( "[\\[\\]]", "" );
- String optionComboIdStr = replaceString.substring( replaceString.indexOf( '.' ) + 1, replaceString
- .length() );
-
- replaceString = replaceString.substring( 0, replaceString.indexOf( '.' ) );
-
- int dataElementId = Integer.parseInt( replaceString );
- int optionComboId = Integer.parseInt( optionComboIdStr );
-
- DataElement dataElement = dataElementService.getDataElement( dataElementId );
- DataElementCategoryOptionCombo optionCombo = dataElementCategoryOptionComboService.getDataElementCategoryOptionCombo( optionComboId );
-
- if ( dataElement == null || optionCombo == null )
- {
- replaceString = "";
- matcher.appendReplacement( buffer, replaceString );
- continue;
- }
-
-
-
- query = "SELECT value FROM lldatavalue WHERE sourceid = " + organisationUnit.getId()
- + " AND periodid = " + period.getId() + " AND dataelementid = " + dataElement.getId()
- + " AND recordno = " + recordNo;
- // rs1 = st1.executeQuery( query );
-
- SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( query );
-
- String tempStr = "";
-
- if ( sqlResultSet.next() )
- {
- tempStr = sqlResultSet.getString( 1 );
- }
-
- replaceString = tempStr;
-
+
+ }
+
+ // Method Finding no of records of coldChain
+
+ public List<Integer> getColdChainRecordNos( OrganisationUnit organisationUnit, Period period )
+ {
+ List<Integer> recordNosList = new ArrayList<Integer>();
+
+ int dataElementid = 5786;
+ String query = "";
+
+ try
+ {
+ query = "SELECT recordno FROM lldatavalue WHERE dataelementid = " + dataElementid + " AND periodid = "
+ + period.getId() + " AND sourceid = " + organisationUnit.getId();
+
+ SqlRowSet rs1 = jdbcTemplate.queryForRowSet( query );
+
+ while ( rs1.next() )
+ {
+ recordNosList.add( rs1.getInt( 1 ) );
+ }
+
+ Collections.sort( recordNosList );
+ }
+ catch ( Exception e )
+ {
+ System.out.println( "SQL Exception : " + e.getMessage() );
+ }
+
+ return recordNosList;
+ }
+
+ public String getColdChainDataValue( String formula, Period period, OrganisationUnit organisationUnit,
+ Integer recordNo )
+ {
+ Statement st1 = null;
+ ResultSet rs1 = null;
+
+ String query = "";
+ try
+ {
+ Pattern pattern = Pattern.compile( "(\\[\\d+\\.\\d+\\])" );
+
+ Matcher matcher = pattern.matcher( formula );
+ StringBuffer buffer = new StringBuffer();
+
+ while ( matcher.find() )
+ {
+ String replaceString = matcher.group();
+
+ replaceString = replaceString.replaceAll( "[\\[\\]]", "" );
+ String optionComboIdStr = replaceString.substring( replaceString.indexOf( '.' ) + 1, replaceString
+ .length() );
+
+ replaceString = replaceString.substring( 0, replaceString.indexOf( '.' ) );
+
+ int dataElementId = Integer.parseInt( replaceString );
+ int optionComboId = Integer.parseInt( optionComboIdStr );
+
+ DataElement dataElement = dataElementService.getDataElement( dataElementId );
+ DataElementCategoryOptionCombo optionCombo = dataElementCategoryOptionComboService
+ .getDataElementCategoryOptionCombo( optionComboId );
+
+ if ( dataElement == null || optionCombo == null )
+ {
+ replaceString = "";
matcher.appendReplacement( buffer, replaceString );
- }
-
- matcher.appendTail( buffer );
-
- String resultValue = "";
-
- resultValue = buffer.toString();
-
- return resultValue;
+ continue;
+ }
+
+ query = "SELECT value FROM lldatavalue WHERE sourceid = " + organisationUnit.getId()
+ + " AND periodid = " + period.getId() + " AND dataelementid = " + dataElement.getId()
+ + " AND recordno = " + recordNo;
+ // rs1 = st1.executeQuery( query );
+
+ SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( query );
+
+ String tempStr = "";
+
+ if ( sqlResultSet.next() )
+ {
+ tempStr = sqlResultSet.getString( 1 );
+ }
+
+ replaceString = tempStr;
+
+ matcher.appendReplacement( buffer, replaceString );
}
- catch ( NumberFormatException ex )
+
+ matcher.appendTail( buffer );
+
+ String resultValue = "";
+
+ resultValue = buffer.toString();
+
+ return resultValue;
+ }
+ catch ( NumberFormatException ex )
+ {
+ throw new RuntimeException( "Illegal DataElement id", ex );
+ }
+ catch ( Exception e )
+ {
+ System.out.println( "SQL Exception : " + e.getMessage() );
+ return null;
+ }
+ finally
+ {
+ try
{
- throw new RuntimeException( "Illegal DataElement id", ex );
+ if ( st1 != null )
+ st1.close();
+
+ if ( rs1 != null )
+ rs1.close();
}
catch ( Exception e )
{
System.out.println( "SQL Exception : " + e.getMessage() );
return null;
}
- finally
- {
- try
- {
- if ( st1 != null )
- st1.close();
+ }// finally block end
+ }
- if ( rs1 != null )
- rs1.close();
- }
- catch ( Exception e )
- {
- System.out.println( "SQL Exception : " + e.getMessage() );
- return null;
- }
- }// finally block end
- }
- public WritableCellFormat getCellFormat1()
+ public WritableCellFormat getCellFormat1()
throws Exception
{
WritableCellFormat wCellformat = new WritableCellFormat();
@@ -1532,6 +1620,5 @@
wCellformat.setWrap( true );
return wCellformat;
- }
+ }
}
-
=== modified file 'local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/routine/action/GenerateColdChainRoutineReportAnalyserFormAction.java'
--- local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/routine/action/GenerateColdChainRoutineReportAnalyserFormAction.java 2011-10-13 08:00:58 +0000
+++ local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/routine/action/GenerateColdChainRoutineReportAnalyserFormAction.java 2011-11-02 09:54:19 +0000
@@ -68,8 +68,8 @@
public String execute() throws Exception
{
- reportTypeName = ReportType.RT_ROUTINE;
-
+ //reportTypeName = ReportType.RT_ROUTINE;
+ reportTypeName = ReportType.RT_COLDCHAIN_REPORT;
periodTypes = periodService.getAllPeriodTypes();
Iterator<PeriodType> periodTypeIterator = periodTypes.iterator();
=== modified file 'local/in/dhis-web-reports-national/src/main/resources/META-INF/dhis/beans.xml'
--- local/in/dhis-web-reports-national/src/main/resources/META-INF/dhis/beans.xml 2011-10-13 08:00:58 +0000
+++ local/in/dhis-web-reports-national/src/main/resources/META-INF/dhis/beans.xml 2011-11-02 09:54:19 +0000
@@ -243,8 +243,8 @@
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
<property name="reportService" ref="org.hisp.dhis.reports.ReportService" />
<property name="jdbcTemplate" ref="jdbcTemplate"/>
- <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
- <property name="dataElementCategoryOptionComboService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
+<!-- <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+ <property name="dataElementCategoryOptionComboService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />-->
</bean>
<!-- Aggregation Report -->
=== modified file 'local/in/dhis-web-reports-national/src/main/resources/org/hisp/dhis/reports/i18n_module.properties'
--- local/in/dhis-web-reports-national/src/main/resources/org/hisp/dhis/reports/i18n_module.properties 2011-10-13 08:00:58 +0000
+++ local/in/dhis-web-reports-national/src/main/resources/org/hisp/dhis/reports/i18n_module.properties 2011-11-02 09:54:19 +0000
@@ -1,6 +1,6 @@
goi_ra = Government of India Reports Analyser
routine_ra = Routine Report Analyser
-routine_ra_cold_chain = Routine(Cold-Chain) Report Analyser
+ra_cold_chain = Cold Chain Report Analyser
physical_output_ra = Quarterly Physical Output Report
periodwise_progress_ra = PeriodWise Progress Report Analyser
orgunitwise_progress_ra = OrganisationunitWise Progress Report Analyser
=== modified file 'local/in/dhis-web-reports-national/src/main/webapp/dhis-web-reports/coldChainRoutineReportAnalyserFront.vm'
--- local/in/dhis-web-reports-national/src/main/webapp/dhis-web-reports/coldChainRoutineReportAnalyserFront.vm 2011-10-13 08:00:58 +0000
+++ local/in/dhis-web-reports-national/src/main/webapp/dhis-web-reports/coldChainRoutineReportAnalyserFront.vm 2011-11-02 09:54:19 +0000
@@ -28,7 +28,7 @@
}
</script>
-<h1>$i18n.getString( "routine_ra_cold_chain" )</h1>
+<h1>$i18n.getString( "ra_cold_chain" )</h1>
<hr /><br />
<form id="reportForm" name="reportForm" action="generateColdChainReport.action" method="post" onsubmit="return formValidations()" target="_blank">
<table align="center" style=" border-collapse: collapse; margin-top: 0;" cellpadding="0" cellspacing="0" width="730" border=0>