package module.projects.presentationTier.vaadin.reportType; import java.util.Map; import module.projects.presentationTier.vaadin.reportType.components.ReportViewerComponent; import module.projects.presentationTier.vaadin.reportType.components.TableSummaryComponent; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFSheet; import com.vaadin.ui.Label; import com.vaadin.ui.Table; public class BudgetaryBalanceReportType extends ProjectReportType { ReportViewerComponent reportViewer; TableSummaryComponent tableSummary; public BudgetaryBalanceReportType(Map<String, String> args) { super(args); ReportViewerComponent arePartnersView = new ReportViewerComponent("select controloorcammemb from V_FICHA_ABERTURA where PROJECTO='" + getProjectCode() + "'", getCustomFormatter()); ReportViewerComponent consorciumMemberBudgetViewer = new ReportViewerComponent( "select \"RUBRICA\", \"DESCRICAORUBRICA\", \"ORÇAMENTADO\", \"EXECUTADO\", \"SALDO\" from V_SALDO_PROJECTO where PROJECTO='" + getProjectCode() + "'", getCustomFormatter()); consorciumMemberBudgetViewer.getTable().setPageLength(0); setColumnNames(consorciumMemberBudgetViewer.getTable()); addComponent(consorciumMemberBudgetViewer); addComponent(new Label(getMessage("financialprojectsreports.balanceWarning"))); Table arePartnersTable = arePartnersView.getTable(); boolean areTherePartners = false; for (Object itemId : arePartnersTable.getItemIds()) { String partner = arePartnersTable.getItem(itemId).getItemProperty("CONTROLOORCAMMEMB").toString(); if (partner.equals("Y")) { areTherePartners = true; break; } } if (areTherePartners) { ReportViewerComponent consorciumBudgetViewer = new ReportViewerComponent( "select \"INSTITUICAO\", \"DESCRICAOINSTITUICAO\", \"TIPO\" from V_MEMBROS_CONSORCIO where PROJECTO='" + getProjectCode() + "'", getCustomFormatter()); consorciumBudgetViewer.getTable().setPageLength(0); setColumnNames(consorciumBudgetViewer.getTable()); addComponent(consorciumBudgetViewer); for (Object itemId : consorciumBudgetViewer.getTable().getItemIds()) { String member = consorciumBudgetViewer.getTable().getItem(itemId).getItemProperty("INSTITUICAO").toString(); String memberName = consorciumBudgetViewer.getTable().getItem(itemId).getItemProperty("DESCRICAOINSTITUICAO").toString(); addComponent(new Label("<b>" + getMessage("financialprojectsreports.budgetaryBalanceReport.label.perMembersBudget") + " " + member + " (" + memberName + ")" + "</b>", Label.CONTENT_XHTML)); consorciumMemberBudgetViewer = new ReportViewerComponent( "select RUBRICA, DESCRICAORUBRICA, ORÇAMENTADO, EXECUTADO, SALDO from V_SALDO_MEMBRO where PROJECTO='" + getProjectCode() + "' AND MEMBRO='" + member + "'", getCustomFormatter()); consorciumMemberBudgetViewer.getTable().setPageLength(0); setColumnNames(consorciumMemberBudgetViewer.getTable()); addComponent(consorciumMemberBudgetViewer); } } } @Override protected ReportViewerComponent getReportViewer() { return reportViewer; } @Override public void write(HSSFSheet sheet, HSSFFont headersFont) { reportViewer.write(sheet, headersFont); sheet.createRow(sheet.getLastRowNum() + 2).createCell(0) .setCellValue(getMessage("financialprojectsreports.balanceWarning")); } @Override public String getLabel() { return getMessage("financialprojectsreports.reportTitle.budgetaryBalance"); } public void setColumnNames(Table table) { table.setColumnHeader("RUBRICA", getMessage("financialprojectsreports.budgetaryBalance.column.rubric")); table.setColumnHeader("DESCRICAORUBRICA", getMessage("financialprojectsreports.budgetaryBalance.column.description")); table.setColumnHeader("ORÇAMENTADO", getMessage("financialprojectsreports.budgetaryBalance.column.budget")); table.setColumnHeader("EXECUTADO", getMessage("financialprojectsreports.budgetaryBalance.column.executed")); table.setColumnHeader("SALDO", getMessage("financialprojectsreports.budgetaryBalance.column.balance")); table.setColumnHeader("DESCRICAOINSTITUICAO", getMessage("financialprojectsreports.budgetaryBalance.column.description")); } @Override public String getQuery() { // TODO Auto-generated method stub return null; } }