List of usage examples for com.lowagie.text.pdf PdfPTable addCell
public void addCell(Phrase phrase)
From source file:com.qcadoo.mes.deliveries.print.DeliveryReportPdf.java
License:Open Source License
private void createHeaderTable(final Document document, final Entity delivery, final Locale locale) throws DocumentException { PdfPTable dynaminHeaderTable = pdfHelper.createPanelTable(3); dynaminHeaderTable.getDefaultCell().setVerticalAlignment(Element.ALIGN_TOP); PdfPTable firstColumnHeaderTable = new PdfPTable(1); PdfPTable secondColumnHeaderTable = new PdfPTable(1); PdfPTable thirdColumnHeaderTable = new PdfPTable(1); setSimpleFormat(firstColumnHeaderTable); setSimpleFormat(secondColumnHeaderTable); setSimpleFormat(thirdColumnHeaderTable); dynaminHeaderTable.setSpacingBefore(7); Map<String, Object> firstColumn = createFirstColumn(delivery); Map<String, Object> secondColumn = createSecondColumn(delivery); Map<String, Object> thirdColumn = createThirdColumn(delivery, locale); int maxSize = pdfHelper.getMaxSizeOfColumnsRows(Lists.newArrayList( Integer.valueOf(firstColumn.values().size()), Integer.valueOf(secondColumn.values().size()), Integer.valueOf(thirdColumn.values().size()))); for (int i = 0; i < maxSize; i++) { firstColumnHeaderTable = pdfHelper.addDynamicHeaderTableCell(firstColumnHeaderTable, firstColumn, locale);/*ww w . ja v a 2 s.c o m*/ secondColumnHeaderTable = pdfHelper.addDynamicHeaderTableCell(secondColumnHeaderTable, secondColumn, locale); thirdColumnHeaderTable = pdfHelper.addDynamicHeaderTableCell(thirdColumnHeaderTable, thirdColumn, locale); } dynaminHeaderTable.addCell(firstColumnHeaderTable); dynaminHeaderTable.addCell(secondColumnHeaderTable); dynaminHeaderTable.addCell(thirdColumnHeaderTable); document.add(dynaminHeaderTable); }
From source file:com.qcadoo.mes.deliveries.print.DeliveryReportPdf.java
License:Open Source License
private void createProductsTable(final Document document, final Entity delivery, final Locale locale) throws DocumentException { List<Entity> columnsForDeliveries = deliveriesService.getColumnsForDeliveries(); if (!columnsForDeliveries.isEmpty()) { List<DeliveryProduct> deliveryProducts = deliveryColumnFetcher.getDeliveryProducts(delivery); Map<DeliveryProduct, Map<String, String>> deliveryProductsColumnValues = deliveryColumnFetcher .getDeliveryProductsColumnValues(deliveryProducts); List<Entity> filteredColumnsForDeliveries = getDeliveryReportColumns(columnsForDeliveries, deliveryProducts, deliveryProductsColumnValues); if (!filteredColumnsForDeliveries.isEmpty()) { List<String> columnsName = Lists.newArrayList(); for (Entity entity : filteredColumnsForDeliveries) { columnsName.add(entity.getStringField(ColumnForDeliveriesFields.IDENTIFIER)); }/*from w w w.j a v a 2s. c om*/ Map<String, HeaderAlignment> alignments = prepareHeaderAlignment(filteredColumnsForDeliveries, locale); PdfPTable productsTable = pdfHelper.createTableWithHeader(filteredColumnsForDeliveries.size(), prepareProductsTableHeader(document, filteredColumnsForDeliveries, locale), false, pdfHelper.getReportColumnWidths(REPORT_WIDTH, parameterService.getReportColumnWidths(), columnsName), alignments); for (DeliveryProduct deliveryProduct : deliveryProducts) { for (Entity columnForDeliveries : filteredColumnsForDeliveries) { String identifier = columnForDeliveries .getStringField(ColumnForDeliveriesFields.IDENTIFIER); String alignment = columnForDeliveries.getStringField(ColumnForDeliveriesFields.ALIGNMENT); String value = deliveryProductsColumnValues.get(deliveryProduct).get(identifier); prepareProductColumnAlignment(productsTable.getDefaultCell(), ColumnAlignment.parseString(alignment)); productsTable.addCell(new Phrase(value, FontUtils.getDejavuRegular7Dark())); } } addTotalRow(productsTable, locale, columnsName, delivery); document.add(productsTable); document.add(Chunk.NEWLINE); } } }
From source file:com.qcadoo.mes.deliveries.print.DeliveryReportPdf.java
License:Open Source License
private void addTotalRow(final PdfPTable productsTable, final Locale locale, final List<String> columnsName, Entity delivery) {/*from w ww. j a v a 2 s . c o m*/ DeliveryPricesAndQuantities deliveryPricesAndQuantities = new DeliveryPricesAndQuantities(delivery, numberService); PdfPCell total = new PdfPCell( new Phrase(translationService.translate("deliveries.delivery.report.totalCost", locale), FontUtils.getDejavuRegular7Dark())); total.setColspan(2); total.setHorizontalAlignment(Element.ALIGN_LEFT); total.setVerticalAlignment(Element.ALIGN_MIDDLE); total.setBackgroundColor(null); total.disableBorderSide(Rectangle.RIGHT); total.disableBorderSide(Rectangle.LEFT); total.setBorderColor(ColorUtils.getLineLightColor()); productsTable.addCell(total); for (int i = 2; i < columnsName.size(); i++) { if (columnsName.contains(OrderedProductFields.ORDERED_QUANTITY) && columnsName.indexOf(OrderedProductFields.ORDERED_QUANTITY) == i) { productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); productsTable.addCell( new Phrase(numberService.format(deliveryPricesAndQuantities.getOrderedCumulatedQuantity()), FontUtils.getDejavuRegular7Dark())); } else if (columnsName.contains(DeliveredProductFields.DELIVERED_QUANTITY) && columnsName.indexOf(DeliveredProductFields.DELIVERED_QUANTITY) == i) { productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); productsTable.addCell(new Phrase( numberService.format(deliveryPricesAndQuantities.getDeliveredCumulatedQuantity()), FontUtils.getDejavuRegular7Dark())); } else if (columnsName.contains(DeliveredProductFields.TOTAL_PRICE) && columnsName.indexOf(DeliveredProductFields.TOTAL_PRICE) == i) { productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); productsTable.addCell( new Phrase(numberService.format(deliveryPricesAndQuantities.getDeliveredTotalPrice()), FontUtils.getDejavuRegular7Dark())); } else if (columnsName.contains(L_CURRENCY) && columnsName.indexOf(L_CURRENCY) == i) { productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); productsTable.addCell( new Phrase(deliveriesService.getCurrency(delivery), FontUtils.getDejavuRegular7Dark())); } else { productsTable.addCell(""); } } }
From source file:com.qcadoo.mes.deliveries.print.OrderReportPdf.java
License:Open Source License
private void createHeaderTable(final Document document, final Entity delivery, final Locale locale) throws DocumentException { PdfPTable dynaminHeaderTable = pdfHelper.createPanelTable(3); dynaminHeaderTable.getDefaultCell().setVerticalAlignment(Element.ALIGN_TOP); PdfPTable firstColumnHeaderTable = new PdfPTable(1); PdfPTable secondColumnHeaderTable = new PdfPTable(1); PdfPTable thirdColumnHeaderTable = new PdfPTable(1); setSimpleFormat(firstColumnHeaderTable); setSimpleFormat(secondColumnHeaderTable); setSimpleFormat(thirdColumnHeaderTable); dynaminHeaderTable.setSpacingBefore(7); Map<String, Object> firstColumn = createFirstColumn(delivery); Map<String, Object> secondColumn = createSecondColumn(delivery); Map<String, Object> thirdColumn = createThirdColumn(delivery); int maxSize = pdfHelper.getMaxSizeOfColumnsRows(Lists.newArrayList( Integer.valueOf(firstColumn.values().size()), Integer.valueOf(secondColumn.values().size()), Integer.valueOf(thirdColumn.values().size()))); for (int i = 0; i < maxSize; i++) { firstColumnHeaderTable = pdfHelper.addDynamicHeaderTableCell(firstColumnHeaderTable, firstColumn, locale);// w w w . j a v a 2s . c om secondColumnHeaderTable = pdfHelper.addDynamicHeaderTableCell(secondColumnHeaderTable, secondColumn, locale); thirdColumnHeaderTable = pdfHelper.addDynamicHeaderTableCell(thirdColumnHeaderTable, thirdColumn, locale); } dynaminHeaderTable.addCell(firstColumnHeaderTable); dynaminHeaderTable.addCell(secondColumnHeaderTable); dynaminHeaderTable.addCell(thirdColumnHeaderTable); document.add(dynaminHeaderTable); document.add(Chunk.NEWLINE); }
From source file:com.qcadoo.mes.deliveries.print.OrderReportPdf.java
License:Open Source License
private void createProductsTable(final Document document, final Entity delivery, final Locale locale) throws DocumentException { List<Entity> columnsForOrders = deliveriesService.getColumnsForOrders(); if (!columnsForOrders.isEmpty()) { List<Entity> orderedProducts = delivery.getHasManyField(DeliveryFields.ORDERED_PRODUCTS); Map<Entity, Map<String, String>> orderedProductsColumnValues = orderColumnFetcher .getOrderedProductsColumnValues(orderedProducts); List<Entity> filteredColumnsForOrders = getOrderReportColumns(columnsForOrders, orderedProducts, orderedProductsColumnValues); if (!filteredColumnsForOrders.isEmpty()) { List<String> columnsName = Lists.newArrayList(); for (Entity entity : filteredColumnsForOrders) { columnsName.add(entity.getStringField(ColumnForOrdersFields.IDENTIFIER)); }/*from ww w .j a v a 2 s .co m*/ Map<String, HeaderAlignment> alignments = prepareHeaderAlignment(filteredColumnsForOrders, locale); PdfPTable productsTable = pdfHelper.createTableWithHeader(filteredColumnsForOrders.size(), prepareProductsTableHeader(document, filteredColumnsForOrders, locale), false, pdfHelper.getReportColumnWidths(REPORT_WIDTH, parameterService.getReportColumnWidths(), columnsName), alignments); for (Entity orderedProduct : orderedProducts) { for (Entity columnForOrders : filteredColumnsForOrders) { String identifier = columnForOrders.getStringField(ColumnForOrdersFields.IDENTIFIER); String alignment = columnForOrders.getStringField(ColumnForOrdersFields.ALIGNMENT); String value = orderedProductsColumnValues.get(orderedProduct).get(identifier); prepareProductColumnAlignment(productsTable.getDefaultCell(), ColumnAlignment.parseString(alignment)); productsTable.addCell(new Phrase(value, FontUtils.getDejavuRegular7Dark())); } } addTotalRow(productsTable, locale, columnsName, delivery); document.add(productsTable); // document.add(Chunk.NEWLINE); } } }
From source file:com.qcadoo.mes.deliveries.print.OrderReportPdf.java
License:Open Source License
private void addTotalRow(final PdfPTable productsTable, final Locale locale, final List<String> columnsName, Entity delivery) {/* ww w . j av a2s. c o m*/ DeliveryPricesAndQuantities deliveryPricesAndQuantities = new DeliveryPricesAndQuantities(delivery, numberService); PdfPCell total = new PdfPCell( new Phrase(translationService.translate("deliveries.delivery.report.totalCost", locale), FontUtils.getDejavuRegular7Dark())); total.setColspan(2); total.setHorizontalAlignment(Element.ALIGN_LEFT); total.setVerticalAlignment(Element.ALIGN_MIDDLE); total.setBackgroundColor(null); total.disableBorderSide(Rectangle.RIGHT); total.disableBorderSide(Rectangle.LEFT); total.setBorderColor(ColorUtils.getLineLightColor()); productsTable.addCell(total); for (int i = 2; i < columnsName.size(); i++) { if (columnsName.contains(OrderedProductFields.ORDERED_QUANTITY) && columnsName.indexOf(OrderedProductFields.ORDERED_QUANTITY) == i) { productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); productsTable.addCell( new Phrase(numberService.format(deliveryPricesAndQuantities.getOrderedCumulatedQuantity()), FontUtils.getDejavuRegular7Dark())); } else if (columnsName.contains(OrderedProductFields.TOTAL_PRICE) && columnsName.indexOf(OrderedProductFields.TOTAL_PRICE) == i) { productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); productsTable.addCell( new Phrase(numberService.format(deliveryPricesAndQuantities.getOrderedTotalPrice()), FontUtils.getDejavuRegular7Dark())); } else if (columnsName.contains(L_CURRENCY) && columnsName.indexOf(L_CURRENCY) == i) { productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); productsTable.addCell( new Phrase(deliveriesService.getCurrency(delivery), FontUtils.getDejavuRegular7Dark())); } else { productsTable.addCell(""); } } }
From source file:com.qcadoo.mes.deviationCausesReporting.print.DeviationsProtocolPdf.java
License:Open Source License
private VerticalLayout createShortSummarySection(final DeviationsReportCriteria criteria, final Locale locale) { List<DeviationWithOccurrencesCount> deviations = deviationWithOccurrencesDataProvider .getDeviationsWithOccurrencesCount(criteria); if (deviations.isEmpty()) { return VerticalLayout.empty(); }// w ww . ja va 2 s. com PdfPTable table = pdfHelper.createTableWithHeader(3, translate(OCCURRENCES_TABLE_HEADERS, locale), false, new int[] { 10, 120, 50 }); int idx = 1; for (DeviationWithOccurrencesCount deviation : deviations) { table.addCell(Phrases.tableContent(idx++ + ".")); table.addCell(Phrases.tableContent(deviation.getDeviationCause())); table.addCell(Phrases.tableContent(ObjectUtils.toString(deviation.getTotalNumberOfOccurrences()))); } Paragraph header = Headers .big(translate("deviationCausesReporting.report.deviationsShortSummary.header", locale)); return VerticalLayout.create().append(header).append(table); }
From source file:com.qcadoo.mes.deviationCausesReporting.print.DeviationsProtocolPdf.java
License:Open Source License
private final Function<Collection<DeviationSummary>, PdfPTable> getSummariesToTableConverter( final Locale locale) { return new Function<Collection<DeviationSummary>, PdfPTable>() { @Override/*from w ww . j a v a 2s. com*/ public PdfPTable apply(final Collection<DeviationSummary> deviationSummaries) { PdfPTable table = pdfHelper.createTableWithHeader(5, translate(SUMMARIES_TABLE_HEADERS, locale), true, new int[] { 10, 20, 45, 45, 60 }); table.setSpacingAfter(7.0f); int rowNumber = 1; for (DeviationSummary deviationSummary : deviationSummaries) { table.addCell(Phrases.tableContent(rowNumber++ + ".")); table.addCell( Phrases.tableContent(deviationSummary.getDate().toString(DateUtils.L_DATE_FORMAT))); table.addCell(Phrases.tableContent(deviationSummary.getOrderNumber())); table.addCell(Phrases.tableContent(deviationSummary.getProductNumber())); table.addCell(Phrases.tableContent(deviationSummary.getComment())); } return table; } }; }
From source file:com.qcadoo.mes.genealogies.print.GenealogyForProductView.java
License:Open Source License
private void addComponentSeries(final Document document, final List<Entity> orders, final Locale locale) throws DocumentException { for (Entity order : orders) { document.add(Chunk.NEWLINE);//from ww w.j a va 2 s . c om Paragraph title = new Paragraph(new Phrase( translationService.translate("genealogies.genealogyForProduct.report.paragrah", locale), FontUtils.getDejavuBold11Light())); title.add(new Phrase(" " + order.getField(NUMBER_FIELD).toString(), FontUtils.getDejavuBold19Dark())); document.add(title); List<String> componentHeader = new ArrayList<String>(); componentHeader.add(translationService.translate("basic.product.number.label", locale)); componentHeader.add(translationService.translate("basic.product.name.label", locale)); componentHeader.add( translationService.translate("genealogiesForComponents.productInBatch.batch.label", locale)); PdfPTable table = pdfHelper.createTableWithHeader(3, componentHeader, false); List<Pair<String, Entity>> batchList = getBatchList(order); Collections.sort(batchList, new BatchOrderNrComparator()); for (Pair<String, Entity> pair : batchList) { String batch = pair.getKey(); Entity product = pair.getValue(); table.addCell( new Phrase(product.getField(NUMBER_FIELD).toString(), FontUtils.getDejavuRegular9Dark())); table.addCell( new Phrase(product.getField(NAME_FIELD).toString(), FontUtils.getDejavuRegular9Dark())); table.addCell(new Phrase(batch, FontUtils.getDejavuRegular9Dark())); } document.add(table); } }
From source file:com.qcadoo.mes.genealogies.print.GenealogyForProductView.java
License:Open Source License
private void addOrderSeries(final Document document, final List<Entity> orders, final List<String> orderHeader) throws DocumentException { PdfPTable table = pdfHelper.createTableWithHeader(3, orderHeader, false); for (Entity order : orders) { table.addCell(new Phrase(order.getField(NUMBER_FIELD).toString(), FontUtils.getDejavuRegular9Dark())); table.addCell(new Phrase(order.getField(NAME_FIELD).toString(), FontUtils.getDejavuRegular9Dark())); table.addCell(/*from w w w . j a va 2s. co m*/ new Phrase(order.getField(DATE_FROM_FIELD).toString(), FontUtils.getDejavuRegular9Dark())); } document.add(table); }