dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #19752
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 8747: local vn - Recalculated the formula excel.
------------------------------------------------------------
revno: 8747
committer: Hieu <hieu.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2012-10-29 17:31:16 +0700
message:
local vn - Recalculated the formula excel.
modified:
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/GenerateExcelReportGeneric.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateMultiReportAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportAttributeAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportCategoryAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportNormalAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportOrgGroupListingAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportPeriodColumnListingAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportVerticalCategoryAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/advance/action/GenerateAdvancedReportCategoryAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/advance/action/GenerateAdvancedReportOrgGroupListingAction.java
local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/utils/ExcelUtils.java
local/vn/dhis-web-spreadsheet-reporting/src/main/webapp/dhis-web-spreadsheet-reporting/listDataElementGroupOrder.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/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/GenerateExcelReportGeneric.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/GenerateExcelReportGeneric.java 2012-07-12 10:18:47 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/GenerateExcelReportGeneric.java 2012-10-29 10:31:16 +0000
@@ -213,15 +213,13 @@
protected Font csFont;
+ protected Font csFont8Normal;
+
+ protected Font csFont10Normal;
+
protected Font csFont11Bold;
- protected Font csFont10Bold;
-
- protected Font csFont9Bold;
-
- protected Font csFont8Bold;
-
- protected Font csFont12BoldCenter;
+ protected Font csFont12NormalCenter;
protected CellStyle csNumber;
@@ -231,17 +229,17 @@
protected CellStyle csTextWithoutBorder;
- protected CellStyle csText10Bold;
+ protected CellStyle csText10Normal;
protected CellStyle csText9Bold;
- protected CellStyle csText8Bold;
+ protected CellStyle csText8Normal;
protected CellStyle csTextSerial;
protected CellStyle csTextICDJustify;
- protected CellStyle csText12BoldCenter;
+ protected CellStyle csText12NormalCenter;
protected FormulaEvaluator evaluatorFormula;
@@ -294,21 +292,19 @@
{
sheetPOI = templateWorkbook.getSheetAt( 0 );
csFont = templateWorkbook.createFont();
- csFont8Bold = templateWorkbook.createFont();
- csFont9Bold = templateWorkbook.createFont();
- csFont10Bold = templateWorkbook.createFont();
+ csFont8Normal = templateWorkbook.createFont();
+ csFont10Normal = templateWorkbook.createFont();
csFont11Bold = templateWorkbook.createFont();
- csFont12BoldCenter = templateWorkbook.createFont();
+ csFont12NormalCenter = templateWorkbook.createFont();
csNumber = templateWorkbook.createCellStyle();
csFormula = templateWorkbook.createCellStyle();
csText = templateWorkbook.createCellStyle();
csTextWithoutBorder = templateWorkbook.createCellStyle();
- csText8Bold = templateWorkbook.createCellStyle();
- csText9Bold = templateWorkbook.createCellStyle();
- csText10Bold = templateWorkbook.createCellStyle();
+ csText8Normal = templateWorkbook.createCellStyle();
+ csText10Normal = templateWorkbook.createCellStyle();
csTextSerial = templateWorkbook.createCellStyle();
csTextICDJustify = templateWorkbook.createCellStyle();
- csText12BoldCenter = templateWorkbook.createCellStyle();
+ csText12NormalCenter = templateWorkbook.createCellStyle();
}
@SuppressWarnings( "static-access" )
@@ -320,15 +316,13 @@
csTextWithoutBorder.setFont( csFont );
- initPOIStylesManager.initFont( csFont8Bold, "Tahoma", (short) 8, Font.BOLDWEIGHT_BOLD, IndexedColors.BLACK
- .getIndex() );
- initPOIStylesManager.initFont( csFont9Bold, "Tahoma", (short) 9, Font.BOLDWEIGHT_BOLD, IndexedColors.BLACK
- .getIndex() );
- initPOIStylesManager.initFont( csFont10Bold, "Tahoma", (short) 10, Font.BOLDWEIGHT_BOLD, IndexedColors.BLACK
- .getIndex() );
+ initPOIStylesManager.initFont( csFont8Normal, "Tahoma", (short) 8, Font.BOLDWEIGHT_NORMAL, IndexedColors.BLACK
+ .getIndex() );
+ initPOIStylesManager.initFont( csFont10Normal, "Tahoma", (short) 10, Font.BOLDWEIGHT_NORMAL,
+ IndexedColors.BLACK.getIndex() );
initPOIStylesManager.initFont( csFont11Bold, "Tahoma", (short) 11, Font.BOLDWEIGHT_BOLD,
IndexedColors.DARK_BLUE.getIndex() );
- initPOIStylesManager.initFont( csFont12BoldCenter, "Tahoma", (short) 12, Font.BOLDWEIGHT_BOLD,
+ initPOIStylesManager.initFont( csFont12NormalCenter, "Tahoma", (short) 12, Font.BOLDWEIGHT_NORMAL,
IndexedColors.BLUE.getIndex() );
initPOIStylesManager.initCellStyle( csNumber, csFont, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR,
@@ -338,15 +332,11 @@
this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER,
this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR,
this.CELLSTYLE_ALIGN_RIGHT, true );
- initPOIStylesManager.initCellStyle( csText8Bold, csFont8Bold, this.CELLSTYLE_BORDER,
- this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER,
- this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_ALIGN_LEFT,
- true );
- initPOIStylesManager.initCellStyle( csText9Bold, csFont9Bold, this.CELLSTYLE_BORDER,
- this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER,
- this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_ALIGN_LEFT,
- true );
- initPOIStylesManager.initCellStyle( csText10Bold, csFont10Bold, this.CELLSTYLE_BORDER,
+ initPOIStylesManager.initCellStyle( csText8Normal, csFont8Normal, this.CELLSTYLE_BORDER,
+ this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER,
+ this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_ALIGN_LEFT,
+ true );
+ initPOIStylesManager.initCellStyle( csText10Normal, csFont10Normal, this.CELLSTYLE_BORDER,
this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER,
this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_ALIGN_LEFT,
true );
@@ -357,7 +347,7 @@
this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER,
this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR,
this.CELLSTYLE_ALIGN_JUSTIFY, true );
- initPOIStylesManager.initCellStyle( csText12BoldCenter, csFont12BoldCenter, this.CELLSTYLE_BORDER,
+ initPOIStylesManager.initCellStyle( csText12NormalCenter, csFont12NormalCenter, this.CELLSTYLE_BORDER,
this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER,
this.CELLSTYLE_BORDER_COLOR, this.CELLSTYLE_BORDER, this.CELLSTYLE_BORDER_COLOR,
this.CELLSTYLE_ALIGN_CENTER, true );
@@ -409,13 +399,9 @@
protected void installReadTemplateFile( ExportReport exportReport, Period period, Object object )
throws Exception
{
- this.outputReportFile = new File
- (
- reportLocationManager.getExportReportTemporaryDirectory(),
- currentUserService.getCurrentUsername()
- + this.dateformatter.format( Calendar.getInstance().getTime() )
- + exportReport.getExcelTemplateFile()
- );
+ this.outputReportFile = new File( reportLocationManager.getExportReportTemporaryDirectory(), currentUserService
+ .getCurrentUsername()
+ + this.dateformatter.format( Calendar.getInstance().getTime() ) + exportReport.getExcelTemplateFile() );
this.outputStreamExcelTemplate = new FileOutputStream( outputReportFile );
@@ -424,6 +410,8 @@
this.initExcelFormat();
this.installDefaultExcelFormat();
+
+ this.initFormulaEvaluating();
if ( exportReport.getOrganisationRow() != null && exportReport.getOrganisationColumn() != null )
{
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateMultiReportAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateMultiReportAction.java 2012-05-04 09:50:39 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateMultiReportAction.java 2012-10-29 10:31:16 +0000
@@ -78,11 +78,11 @@
OrganisationUnit organisationUnit = organisationUnitSelectionManager.getSelectedOrganisationUnit();
DataElementCategoryOptionCombo defaultOptionCombo = categoryService.getDefaultDataElementCategoryOptionCombo();
Collection<ExportItem> exportItems = null;
-
+
this.installReadTemplateFile( reports.get( 0 ), period, organisationUnit );
for ( ExportReport report : reports )
- {
+ {
for ( Integer sheetNo : exportReportService.getSheets( report.getId() ) )
{
Sheet sheet = this.templateWorkbook.getSheetAt( sheetNo - 1 );
@@ -130,8 +130,11 @@
{
ExportReportPeriodColumnListing reportInstance = (ExportReportPeriodColumnListing) report;
- this.generatePeriodListing( reportInstance.getPeriodColumns(), exportItems, organisationUnit, sheet );
+ this
+ .generatePeriodListing( reportInstance.getPeriodColumns(), exportItems, organisationUnit, sheet );
}
+
+ this.recalculatingFormula( sheet );
}
}
}
@@ -140,10 +143,9 @@
// Supportive method
// -------------------------------------------------------------------------
-
/**
* NORMAL
- * */
+ */
private void generateNormal( Collection<ExportItem> exportItems, OrganisationUnit organisationUnit, Sheet sheet )
{
for ( ExportItem reportItem : exportItems )
@@ -173,14 +175,14 @@
// EXCEL FORMULA
{
ExcelUtils.writeFormulaByPOI( reportItem.getRow(), reportItem.getColumn(), reportItem.getExpression(),
- sheet, this.csFormula );
+ sheet, this.csFormula, evaluatorFormula );
}
}
}
/**
* ATTRIBUTE
- * */
+ */
private void generateAttribute( DataElementCategoryOptionCombo optionCombo, ExportReportAttribute exportReport,
Collection<ExportItem> exportItems, OrganisationUnit organisationUnit, Sheet sheet )
{
@@ -210,7 +212,7 @@
if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, exportItem.getColumn(), avgOrder.getName(),
- ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
rowBegin++;
@@ -219,7 +221,7 @@
if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, exportItem.getColumn(), avalue, ExcelUtils.TEXT, sheet,
- this.csText10Bold );
+ this.csText10Normal );
}
else if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
@@ -260,7 +262,7 @@
/**
* CATEGORY
- * */
+ */
private void generateVerticalOutPutFile( ExportReportCategory exportReport, Collection<ExportItem> exportItems,
OrganisationUnit organisationUnit, Sheet sheet )
{
@@ -276,12 +278,12 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), dataElementGroup.getName(),
- ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_CODE ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), dataElementGroup.getCode(),
- ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
run++;
@@ -293,7 +295,7 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), dataElement.getName(),
- ExcelUtils.TEXT, sheet, this.csText10Bold );
+ ExcelUtils.TEXT, sheet, this.csText10Normal );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_CODE ) )
{
@@ -308,7 +310,8 @@
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.FORMULA_EXCEL ) )
{
ExcelUtils.writeFormulaByPOI( rowBegin, reportItem.getColumn(), ExcelUtils
- .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, csFormula );
+ .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, csFormula,
+ evaluatorFormula );
}
else
{
@@ -337,7 +340,8 @@
String columnName = ExcelUtils.convertColumnNumberToName( reportItem.getColumn() );
String formula = "SUM(" + columnName + (beginChapter + 1) + ":" + columnName + (rowBegin - 1) + ")";
- ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet, this.csFormula );
+ ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet, this.csFormula,
+ evaluatorFormula );
}
}
}
@@ -397,7 +401,7 @@
/**
* CATEGORY-VERTICAL
- * */
+ */
private void generateCategoryVertical( ExportReportVerticalCategory exportReport,
Collection<ExportItem> exportReportItems, OrganisationUnit organisationUnit, Sheet sheet )
{
@@ -426,7 +430,7 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), group.getName(), ExcelUtils.TEXT,
- sheet, this.csText12BoldCenter );
+ sheet, this.csText12NormalCenter );
}
run++;
@@ -440,7 +444,7 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), categoryOption.getName(),
- ExcelUtils.TEXT, sheet, this.csText10Bold );
+ ExcelUtils.TEXT, sheet, this.csText10Normal );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
@@ -450,7 +454,8 @@
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.FORMULA_EXCEL ) )
{
ExcelUtils.writeFormulaByPOI( rowBegin, reportItem.getColumn(), ExcelUtils
- .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, csFormula );
+ .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, csFormula,
+ evaluatorFormula );
}
else
{
@@ -487,7 +492,7 @@
+ (rowBegin - 1) + ")";
ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet,
- this.csFormula );
+ this.csFormula, evaluatorFormula );
}
}
}
@@ -497,7 +502,7 @@
/**
* ORGUNIT-LISTING
- * */
+ */
private void generateOrgUnitListing( ExportReportOrganizationGroupListing exportReport,
Map<OrganisationUnitGroup, OrganisationUnitLevel> orgUniGroupAtLevels, Collection<ExportItem> exportItems,
OrganisationUnit organisationUnit, Sheet sheet )
@@ -542,13 +547,13 @@
&& (!organisationUnits.isEmpty()) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), organisationUnitGroup.getName(),
- ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL )
&& (!organisationUnits.isEmpty()) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), chappter[chapperNo++],
- ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
run++;
@@ -560,7 +565,7 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.ORGANISATION ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), o.getName(), ExcelUtils.TEXT,
- sheet, this.csText10Bold );
+ sheet, this.csText10Normal );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
@@ -585,7 +590,8 @@
// FORMULA_EXCEL
{
ExcelUtils.writeFormulaByPOI( rowBegin, reportItem.getColumn(), ExcelUtils
- .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, this.csFormula );
+ .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, this.csFormula,
+ evaluatorFormula );
}
run++;
@@ -603,7 +609,7 @@
formula = "SUM(" + columnName + (beginChapter + 1) + ":" + columnName + (rowBegin - 1) + ")";
ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet,
- this.csFormula );
+ this.csFormula, evaluatorFormula );
totalFormula += columnName + beginChapter + ",";
}
@@ -612,7 +618,7 @@
formula = ExcelUtils.generateExcelFormula( reportItem.getExtraExpression(), next + 1, 0 );
ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet,
- this.csFormula );
+ this.csFormula, evaluatorFormula );
}
}
@@ -624,20 +630,22 @@
{
totalFormula = totalFormula.substring( 0, totalFormula.length() - 1 ) + ")";
- ExcelUtils.writeFormulaByPOI( firstRow, reportItem.getColumn(), totalFormula, sheet, this.csFormula );
+ ExcelUtils.writeFormulaByPOI( firstRow, reportItem.getColumn(), totalFormula, sheet, this.csFormula,
+ evaluatorFormula );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.INDICATOR ) )
{
totalFormula = ExcelUtils.generateExcelFormula( reportItem.getExtraExpression(), 0, 0 );
- ExcelUtils.writeFormulaByPOI( firstRow, reportItem.getColumn(), totalFormula, sheet, this.csFormula );
+ ExcelUtils.writeFormulaByPOI( firstRow, reportItem.getColumn(), totalFormula, sheet, this.csFormula,
+ evaluatorFormula );
}
}
}
/**
* PERIOD-LISTING
- * */
+ */
private void generatePeriodListing( Set<PeriodColumn> periodColumns, Collection<ExportItem> exportItems,
OrganisationUnit organisationUnit, Sheet sheet )
{
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportAttributeAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportAttributeAction.java 2012-07-11 08:56:27 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportAttributeAction.java 2012-10-29 10:31:16 +0000
@@ -81,6 +81,8 @@
this.generateOutPutFile( defaultOptionCombo, exportReportInstance, exportReportItems, organisationUnit,
sheet );
+
+ this.recalculatingFormula( sheet );
}
/**
@@ -123,7 +125,7 @@
if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, exportItem.getColumn(), avgOrder.getName(),
- ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
rowBegin++;
@@ -132,7 +134,7 @@
if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, exportItem.getColumn(), avalue, ExcelUtils.TEXT, sheet,
- this.csText10Bold );
+ this.csText10Normal );
}
else if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportCategoryAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportCategoryAction.java 2012-09-19 02:22:55 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportCategoryAction.java 2012-10-29 10:31:16 +0000
@@ -93,6 +93,8 @@
{
this.generateHorizontalOutPutFile( exportReportInstance, exportReportItems, organisationUnit, sheet );
}
+
+ this.recalculatingFormula( sheet );
}
/**
@@ -121,12 +123,12 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), group.getName(), ExcelUtils.TEXT,
- sheet, this.csText12BoldCenter );
+ sheet, this.csText12NormalCenter );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_CODE ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), group.getCode(), ExcelUtils.TEXT,
- sheet, this.csText12BoldCenter );
+ sheet, this.csText12NormalCenter );
}
run++;
@@ -138,7 +140,7 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), dataElement.getName(),
- ExcelUtils.TEXT, sheet, this.csText10Bold );
+ ExcelUtils.TEXT, sheet, this.csText10Normal );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_CODE ) )
{
@@ -153,7 +155,8 @@
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.FORMULA_EXCEL ) )
{
ExcelUtils.writeFormulaByPOI( rowBegin, reportItem.getColumn(), ExcelUtils
- .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, csFormula );
+ .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, csFormula,
+ evaluatorFormula );
}
else
{
@@ -182,7 +185,8 @@
String columnName = ExcelUtils.convertColumnNumberToName( reportItem.getColumn() );
String formula = "SUM(" + columnName + (beginChapter + 1) + ":" + columnName + (rowBegin - 1) + ")";
- ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet, this.csFormula );
+ ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet, this.csFormula,
+ evaluatorFormula );
}
}
}
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportNormalAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportNormalAction.java 2012-07-11 08:56:27 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportNormalAction.java 2012-10-29 10:31:16 +0000
@@ -66,6 +66,8 @@
exportReportItems = exportReportInstance.getExportItemBySheet( sheetNo );
this.generateOutPutFile( exportReportItems, organisationUnit, sheet );
+
+ this.recalculatingFormula( sheet );
}
/**
@@ -108,7 +110,7 @@
// EXCEL FORMULA
{
ExcelUtils.writeFormulaByPOI( reportItem.getRow(), reportItem.getColumn(), reportItem.getExpression(),
- sheet, this.csFormula );
+ sheet, this.csFormula, evaluatorFormula );
}
}
}
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportOrgGroupListingAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportOrgGroupListingAction.java 2012-10-09 07:49:13 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportOrgGroupListingAction.java 2012-10-29 10:31:16 +0000
@@ -1,7 +1,7 @@
package org.hisp.dhis.reportsheet.exporting.action;
/*
- * Copyright (c) 2004-2011, University of Oslo
+ * Copyright (c) 2004-2012, University of Oslo
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -114,6 +114,8 @@
{
generateOutPutFile2( exportReportInstance, exportReportItems, sheet );
}
+
+ this.recalculatingFormula( sheet );
}
/**
@@ -199,12 +201,17 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.ORGANISATION ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), unitGroup.getName(), ExcelUtils.TEXT,
- sheet, this.csText12BoldCenter );
+ sheet, this.csText12NormalCenter );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), chappter[chapperNo++],
- ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
+ }
+ else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.FORMULA_EXCEL ) )
+ {
+ ExcelUtils.writeFormulaByPOI( rowBegin, reportItem.getColumn(), ExcelUtils.generateExcelFormula(
+ reportItem.getExpression(), run, run ), sheet, this.csFormula, evaluatorFormula );
}
run++;
@@ -216,7 +223,7 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.ORGANISATION ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), o.getName(), ExcelUtils.TEXT,
- sheet, this.csText10Bold );
+ sheet, this.csText10Normal );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
@@ -241,7 +248,8 @@
// FORMULA_EXCEL
{
ExcelUtils.writeFormulaByPOI( rowBegin, reportItem.getColumn(), ExcelUtils
- .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, this.csFormula );
+ .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, this.csFormula,
+ evaluatorFormula );
}
run++;
@@ -259,7 +267,7 @@
formula = "SUM(" + columnName + (beginChapter + 1) + ":" + columnName + (rowBegin - 1) + ")";
ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet,
- this.csFormula );
+ this.csFormula, evaluatorFormula );
totalFormula += columnName + beginChapter + ",";
}
@@ -268,7 +276,7 @@
formula = ExcelUtils.generateExcelFormula( reportItem.getExtraExpression(), next + 1, 0 );
ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet,
- this.csFormula );
+ this.csFormula, evaluatorFormula );
}
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT )
@@ -276,7 +284,7 @@
|| reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.FORMULA_EXCEL ) )
{
ExcelUtils.writeValueByPOI( rowBegin - 1, reportItem.getColumn(), null, ExcelUtils.NUMBER, sheet,
- this.csText10Bold );
+ this.csText10Normal );
}
next = run;
@@ -287,13 +295,15 @@
{
totalFormula = totalFormula.substring( 0, totalFormula.length() - 1 ) + ")";
- ExcelUtils.writeFormulaByPOI( firstRow, reportItem.getColumn(), totalFormula, sheet, this.csFormula );
+ ExcelUtils.writeFormulaByPOI( firstRow, reportItem.getColumn(), totalFormula, sheet, this.csFormula,
+ evaluatorFormula );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.INDICATOR ) )
{
totalFormula = ExcelUtils.generateExcelFormula( reportItem.getExtraExpression(), 0, 0 );
- ExcelUtils.writeFormulaByPOI( firstRow, reportItem.getColumn(), totalFormula, sheet, this.csFormula );
+ ExcelUtils.writeFormulaByPOI( firstRow, reportItem.getColumn(), totalFormula, sheet, this.csFormula,
+ evaluatorFormula );
}
}
@@ -320,12 +330,12 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.ORGANISATION ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), unitGroup.getName(), ExcelUtils.TEXT,
- sheet, this.csText12BoldCenter );
+ sheet, this.csText12NormalCenter );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), chappter[chapperNo++],
- ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT ) )
{
@@ -351,7 +361,7 @@
// FORMULA_EXCEL
{
ExcelUtils.writeFormulaByPOI( rowBegin, reportItem.getColumn(), ExcelUtils.generateExcelFormula(
- reportItem.getExpression(), rowBegin, rowBegin ), sheet, this.csFormula );
+ reportItem.getExpression(), rowBegin, rowBegin ), sheet, this.csFormula, evaluatorFormula );
}
rowBegin++;
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportPeriodColumnListingAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportPeriodColumnListingAction.java 2012-07-11 08:56:27 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportPeriodColumnListingAction.java 2012-10-29 10:31:16 +0000
@@ -71,6 +71,8 @@
this.generateOutPutFile( exportReportInstance.getPeriodColumns(), exportReportItems, organisationUnit,
sheet );
+
+ this.recalculatingFormula( sheet );
}
/**
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportVerticalCategoryAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportVerticalCategoryAction.java 2012-07-11 08:56:27 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/action/GenerateReportVerticalCategoryAction.java 2012-10-29 10:31:16 +0000
@@ -65,7 +65,7 @@
this.installReadTemplateFile( exportReportInstance, period, unit );
Collection<ExportItem> exportReportItems = null;
-
+
for ( Integer sheetNo : exportReportService.getSheets( selectionManager.getSelectedReportId() ) )
{
Sheet sheet = this.templateWorkbook.getSheetAt( sheetNo - 1 );
@@ -73,8 +73,10 @@
exportReportItems = exportReportInstance.getExportItemBySheet( sheetNo );
this.generateVerticalOutPutFile( exportReportInstance, exportReportItems, unit, sheet );
+
+ this.recalculatingFormula( sheet );
}
-
+
/**
* Garbage
*/
@@ -104,12 +106,12 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), group.getName(), ExcelUtils.TEXT,
- sheet, this.csText10Bold );
+ sheet, this.csText10Normal );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), chappter[chapperNo++],
- ExcelUtils.TEXT, sheet, this.csText10Bold );
+ ExcelUtils.TEXT, sheet, this.csText10Normal );
}
run++;
@@ -125,7 +127,7 @@
if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, reportItem.getColumn(), categoryOption.getName(),
- ExcelUtils.TEXT, sheet, this.csText8Bold );
+ ExcelUtils.TEXT, sheet, this.csText8Normal );
}
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
@@ -135,7 +137,8 @@
else if ( reportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.FORMULA_EXCEL ) )
{
ExcelUtils.writeFormulaByPOI( rowBegin, reportItem.getColumn(), ExcelUtils
- .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, csFormula );
+ .generateExcelFormula( reportItem.getExpression(), run, run ), sheet, csFormula,
+ evaluatorFormula );
}
else
{
@@ -164,7 +167,7 @@
+ (rowBegin - 1) + ")";
ExcelUtils.writeFormulaByPOI( beginChapter, reportItem.getColumn(), formula, sheet,
- this.csFormula );
+ this.csFormula, evaluatorFormula );
}
break;
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/advance/action/GenerateAdvancedReportCategoryAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/advance/action/GenerateAdvancedReportCategoryAction.java 2011-12-07 06:50:10 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/advance/action/GenerateAdvancedReportCategoryAction.java 2012-10-29 10:31:16 +0000
@@ -125,12 +125,12 @@
if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, exportItem.getColumn(), String.valueOf( dataElementGroup
- .getName() ), ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ .getName() ), ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
else if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_CODE ) )
{
ExcelUtils.writeValueByPOI( rowBegin, exportItem.getColumn(), String.valueOf( dataElementGroup
- .getCode() ), ExcelUtils.TEXT, sheet, this.csText12BoldCenter );
+ .getCode() ), ExcelUtils.TEXT, sheet, this.csText12NormalCenter );
}
rowBegin++;
@@ -141,7 +141,7 @@
if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_NAME ) )
{
ExcelUtils.writeValueByPOI( rowBegin, exportItem.getColumn(), String.valueOf( dataElement
- .getName() ), ExcelUtils.TEXT, sheet, this.csText10Bold );
+ .getName() ), ExcelUtils.TEXT, sheet, this.csText10Normal );
}
else if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.DATAELEMENT_CODE ) )
{
@@ -156,7 +156,8 @@
else if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.FORMULA_EXCEL ) )
{
ExcelUtils.writeFormulaByPOI( rowBegin, exportItem.getColumn(), ExcelUtils
- .generateExcelFormula( exportItem.getExpression(), iRow, iCol ), sheet, this.csFormula );
+ .generateExcelFormula( exportItem.getExpression(), iRow, iCol ), sheet, this.csFormula,
+ evaluatorFormula );
}
else
{
@@ -189,7 +190,8 @@
{
String columnName = ExcelUtils.convertColumnNumberToName( exportItem.getColumn() );
String formula = "SUM(" + columnName + (beginChapter + 1) + ":" + columnName + (rowBegin - 1) + ")";
- ExcelUtils.writeFormulaByPOI( beginChapter, exportItem.getColumn(), formula, sheet, this.csFormula );
+ ExcelUtils.writeFormulaByPOI( beginChapter, exportItem.getColumn(), formula, sheet, this.csFormula,
+ evaluatorFormula );
}
}
}
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/advance/action/GenerateAdvancedReportOrgGroupListingAction.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/advance/action/GenerateAdvancedReportOrgGroupListingAction.java 2012-04-16 03:00:30 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/exporting/advance/action/GenerateAdvancedReportOrgGroupListingAction.java 2012-10-29 10:31:16 +0000
@@ -133,7 +133,7 @@
if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.ORGANISATION ) )
{
ExcelUtils.writeValueByPOI( rowBegin, exportItem.getColumn(), o.getName(), ExcelUtils.TEXT, sheet,
- this.csText10Bold );
+ this.csText10Normal );
}
else if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.SERIAL ) )
{
@@ -157,7 +157,7 @@
else if ( exportItem.getItemType().equalsIgnoreCase( ExportItem.TYPE.FORMULA_EXCEL ) )
{
ExcelUtils.writeFormulaByPOI( rowBegin, exportItem.getColumn(), ExcelUtils.generateExcelFormula(
- exportItem.getExpression(), iRow, iCol ), sheet, this.csFormula );
+ exportItem.getExpression(), iRow, iCol ), sheet, this.csFormula, evaluatorFormula );
}
rowBegin++;
@@ -170,7 +170,8 @@
{
String columnName = ExcelUtils.convertColumnNumberToName( exportItem.getColumn() );
String formula = "SUM(" + columnName + (beginChapter + 1) + ":" + columnName + (rowBegin - 1) + ")";
- ExcelUtils.writeFormulaByPOI( beginChapter, exportItem.getColumn(), formula, sheet, this.csFormula );
+ ExcelUtils.writeFormulaByPOI( beginChapter, exportItem.getColumn(), formula, sheet, this.csFormula,
+ evaluatorFormula );
}
}
}
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/utils/ExcelUtils.java'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/utils/ExcelUtils.java 2012-06-07 06:25:18 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/java/org/hisp/dhis/reportsheet/utils/ExcelUtils.java 2012-10-29 10:31:16 +0000
@@ -392,7 +392,7 @@
/* POI - Write formula without CellStyle */
public static void writeFormulaByPOI( int row, int column, String formula,
- org.apache.poi.ss.usermodel.Sheet sheetPOI )
+ org.apache.poi.ss.usermodel.Sheet sheetPOI, FormulaEvaluator evaluator )
{
if ( row > 0 && column > 0 )
{
@@ -417,12 +417,15 @@
cellPOI.setCellStyle( cellStylePOI );
cellPOI.setCellFormula( formula );
+
+ evaluator.evaluateFormulaCell( cellPOI );
}
}
/* POI - Write formula with customize CellStyle */
public static void writeFormulaByPOI( int row, int column, String formula,
- org.apache.poi.ss.usermodel.Sheet sheetPOI, org.apache.poi.ss.usermodel.CellStyle cellStyle )
+ org.apache.poi.ss.usermodel.Sheet sheetPOI, org.apache.poi.ss.usermodel.CellStyle cellStyle,
+ FormulaEvaluator evaluator )
{
if ( row > 0 && column > 0 )
{
@@ -436,6 +439,8 @@
org.apache.poi.ss.usermodel.Cell cellPOI = rowPOI.createCell( column - 1 );
cellPOI.setCellStyle( cellStyle );
cellPOI.setCellFormula( formula );
+
+ evaluator.evaluateFormulaCell( cellPOI );
}
}
=== modified file 'local/vn/dhis-web-spreadsheet-reporting/src/main/webapp/dhis-web-spreadsheet-reporting/listDataElementGroupOrder.vm'
--- local/vn/dhis-web-spreadsheet-reporting/src/main/webapp/dhis-web-spreadsheet-reporting/listDataElementGroupOrder.vm 2012-03-29 10:05:35 +0000
+++ local/vn/dhis-web-spreadsheet-reporting/src/main/webapp/dhis-web-spreadsheet-reporting/listDataElementGroupOrder.vm 2012-10-29 10:31:16 +0000
@@ -68,7 +68,7 @@
</tr>
<tr>
<td>$i18n.getString('code')</td>
- <td><input type="text" style="width:400px" id="code" name="code" class="{validate:{required:true}}"/></td>
+ <td><input type="text" style="width:400px" id="code" name="code" /></td>
</tr>
</table>
<br/>