List of usage examples for com.lowagie.text Element ALIGN_LEFT
int ALIGN_LEFT
To view the source code for com.lowagie.text Element ALIGN_LEFT.
Click Source Link
From source file:com.qcadoo.mes.costCalculation.print.CostCalculationPdfService.java
License:Open Source License
private PdfPTable addTableAboutPieceworkCost(final Entity costCalculation, final Locale locale) { List<String> pieceworkCostsTableHeader = Lists.newArrayList(); Map<String, HeaderAlignment> alignments = Maps.newHashMap(); for (String translate : Arrays.asList("costCalculation.costCalculationDetails.report.columnHeader.level", L_COST_CALCULATION_COST_CALCULATION_DETAILS_REPORT_COLUMN_HEADER_NUMBER, "costCalculation.costCalculationDetails.report.columnHeader.pieces", "costCalculation.costCalculationDetails.report.columnHeader.operationCost", "costCalculation.costCalculationDetails.report.columnHeader.margin", "costCalculation.costCalculationDetails.report.columnHeader.totalCosts")) { pieceworkCostsTableHeader.add(translationService.translate(translate, locale)); }/*from ww w .jav a2 s. com*/ alignments.put(translationService.translate( "costCalculation.costCalculationDetails.report.columnHeader.level", locale), HeaderAlignment.LEFT); alignments.put( translationService .translate(L_COST_CALCULATION_COST_CALCULATION_DETAILS_REPORT_COLUMN_HEADER_NUMBER, locale), HeaderAlignment.LEFT); alignments.put(translationService .translate("costCalculation.costCalculationDetails.report.columnHeader.pieces", locale), HeaderAlignment.RIGHT); alignments.put( translationService.translate( "costCalculation.costCalculationDetails.report.columnHeader.operationCost", locale), HeaderAlignment.RIGHT); alignments.put(translationService .translate("costCalculation.costCalculationDetails.report.columnHeader.margin", locale), HeaderAlignment.RIGHT); alignments.put( translationService .translate("costCalculation.costCalculationDetails.report.columnHeader.totalCosts", locale), HeaderAlignment.RIGHT); List<Entity> calculationOperationComponents = costCalculation .getTreeField(CostCalculationFields.CALCULATION_OPERATION_COMPONENTS); PdfPTable pieceworkCostsTable = pdfHelper.createTableWithHeader(pieceworkCostsTableHeader.size(), pieceworkCostsTableHeader, false, alignments); try { float[] columnWidths = { 1f, 0.75f, 1f, 1f, 1f, 1.25f }; pieceworkCostsTable.setWidths(columnWidths); } catch (DocumentException e) { throw new IllegalStateException(e.getMessage(), e); } if (!calculationOperationComponents.isEmpty()) { BigDecimal totalOperationCostSummary = BigDecimal.ZERO; BigDecimal totalPieces = BigDecimal.ZERO; MathContext mathContext = numberService.getMathContext(); for (Entity calculationOperationComponent : calculationOperationComponents) { BigDecimal pieces = calculationOperationComponent .getDecimalField(CalculationOperationComponentFields.PIECES); BigDecimal operationCost = calculationOperationComponent .getDecimalField(CalculationOperationComponentFields.OPERATION_COST); BigDecimal operationMarginCost = calculationOperationComponent .getDecimalField(CalculationOperationComponentFields.OPERATION_MARGIN_COST); BigDecimal totalOperationCost = calculationOperationComponent .getDecimalField(CalculationOperationComponentFields.TOTAL_OPERATION_COST); pieceworkCostsTable .addCell(new Phrase( calculationOperationComponent .getField(CalculationOperationComponentFields.NODE_NUMBER).toString(), FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.addCell(new Phrase( calculationOperationComponent.getBelongsToField(TechnologiesConstants.MODEL_OPERATION) .getStringField(OperationFields.NUMBER), FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); pieceworkCostsTable .addCell(new Phrase(numberService.format(pieces), FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.addCell( new Phrase(numberService.format(operationCost), FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.addCell( new Phrase(numberService.format(operationMarginCost), FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.addCell( new Phrase(numberService.format(totalOperationCost), FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); totalPieces = totalPieces.add(pieces, mathContext); totalOperationCostSummary = totalOperationCostSummary.add(operationCost, mathContext); } BigDecimal productionCostMarginValue = costCalculation .getDecimalField(CostCalculationFields.PRODUCTION_COST_MARGIN_VALUE); BigDecimal totalOperationCost = totalOperationCostSummary.add(productionCostMarginValue, mathContext); String totalPiecesToString = numberService.format(totalPieces); String totalOperationCostSummaryToString = numberService.format(totalOperationCostSummary); String productionCostMarginValueToString = numberService.format(productionCostMarginValue); String totalOperationCostToString = numberService.format(totalOperationCost); pieceworkCostsTable.addCell(new Phrase( translationService.translate("costCalculation.costCalculation.report.totalOperation", locale), FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.addCell(new Phrase("", FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); pieceworkCostsTable.addCell(new Phrase(totalPiecesToString, FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable .addCell(new Phrase(totalOperationCostSummaryToString, FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable .addCell(new Phrase(productionCostMarginValueToString, FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.addCell(new Phrase(totalOperationCostToString, FontUtils.getDejavuRegular7Dark())); pieceworkCostsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); } return pieceworkCostsTable; }
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 av a 2s . co 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.DeliveryReportPdf.java
License:Open Source License
private void prepareProductColumnAlignment(final PdfPCell cell, final ColumnAlignment columnAlignment) { if (ColumnAlignment.LEFT.equals(columnAlignment)) { cell.setHorizontalAlignment(Element.ALIGN_LEFT); } else if (ColumnAlignment.RIGHT.equals(columnAlignment)) { cell.setHorizontalAlignment(Element.ALIGN_RIGHT); }//from w w w .j a va2 s. co m }
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) {//from w w w . ja va 2s . 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.materialFlow.print.pdf.MaterialFlowPdfService.java
License:Open Source License
@Override protected void buildPdfContent(final Document document, final Entity materialsInLocation, final Locale locale) throws DocumentException { Map<Entity, BigDecimal> reportData = materialFlowService .calculateMaterialQuantitiesInLocation(materialsInLocation); String documenTitle = translationService.translate("materialFlow.materialFlow.report.title", locale); String documentAuthor = translationService.translate("qcadooReport.commons.generatedBy.label", locale); pdfHelper.addDocumentHeader(document, "", documenTitle, documentAuthor, (Date) materialsInLocation.getField(TIME), materialsInLocation.getStringField(WORKER)); PdfPTable panelTable = pdfHelper.createPanelTable(2); pdfHelper.addTableCellAsOneColumnTable(panelTable, translationService.translate("materialFlow.materialFlow.report.panel.materialFlowForDate", locale), ((Date) materialsInLocation.getField(MATERIAL_FLOW_FOR_DATE)).toString()); pdfHelper.addTableCellAsOneColumnTable(panelTable, translationService.translate("materialFlow.materialFlow.report.panel.time", locale), ((Date) materialsInLocation.getField(TIME)).toString()); List<Entity> materialsInLocationComponents = materialsInLocation .getHasManyField(MATERIALS_IN_LOCATION_COMPONENTS); List<String> names = new ArrayList<String>(); for (Entity materialsInLocationComponent : materialsInLocationComponents) { Entity location = (Entity) materialsInLocationComponent.getField(LOCATION); names.add(location.getField(NUMBER).toString()); }/*w w w .ja va2 s .c om*/ pdfHelper.addTableCellAsOneColumnTable(panelTable, translationService.translate("materialFlow.materialFlow.report.panel.locations", locale), names); pdfHelper.addTableCellAsOneColumnTable(panelTable, "", ""); panelTable.setSpacingBefore(20); panelTable.setSpacingAfter(20); document.add(panelTable); List<String> tableHeader = new ArrayList<String>(); Map<String, HeaderAlignment> alignments = Maps.newHashMap(); tableHeader .add(translationService.translate("materialFlow.materialFlow.report.columnHeader.number", locale)); tableHeader.add(translationService.translate("materialFlow.materialFlow.report.columnHeader.name", locale)); tableHeader.add( translationService.translate("materialFlow.materialFlow.report.columnHeader.quantity", locale)); tableHeader.add(translationService.translate("materialFlow.materialFlow.report.columnHeader.unit", locale)); alignments.put(translationService.translate("materialFlow.materialFlow.report.columnHeader.number", locale), HeaderAlignment.LEFT); alignments.put(translationService.translate("materialFlow.materialFlow.report.columnHeader.name", locale), HeaderAlignment.LEFT); alignments.put( translationService.translate("materialFlow.materialFlow.report.columnHeader.quantity", locale), HeaderAlignment.RIGHT); alignments.put(translationService.translate("materialFlow.materialFlow.report.columnHeader.unit", locale), HeaderAlignment.LEFT); PdfPTable table = pdfHelper.createTableWithHeader(4, tableHeader, false, alignments); for (Map.Entry<Entity, BigDecimal> data : reportData.entrySet()) { table.addCell(new Phrase(data.getKey().getStringField(NUMBER), FontUtils.getDejavuRegular7Dark())); table.addCell(new Phrase(data.getKey().getStringField(NAME), FontUtils.getDejavuRegular7Dark())); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(new Phrase(numberService.format(data.getValue()), FontUtils.getDejavuRegular7Dark())); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(new Phrase(data.getKey().getStringField(UNIT), FontUtils.getDejavuRegular7Dark())); } document.add(table); }
From source file:com.qcadoo.mes.materialRequirements.print.pdf.MaterialRequirementPdfService.java
License:Open Source License
private void addTechnologySeries(final Document document, final Entity materialRequirement, final Map<String, HeaderAlignment> headersWithAlignments) throws DocumentException { List<Entity> orders = materialRequirement.getManyToManyField(MaterialRequirementFields.ORDERS); MrpAlgorithm algorithm = MrpAlgorithm .parseString(materialRequirement.getStringField(MaterialRequirementFields.MRP_ALGORITHM)); Map<Long, BigDecimal> neededProductQuantities = productQuantitiesService.getNeededProductQuantities(orders, algorithm, true);// ww w .ja v a2 s. c o m // TODO LUPO fix comparator // neededProductQuantities = SortUtil.sortMapUsingComparator(neededProductQuantities, new EntityNumberComparator()); List<String> headers = Lists.newLinkedList(headersWithAlignments.keySet()); PdfPTable table = pdfHelper.createTableWithHeader(headersWithAlignments.size(), headers, true, defaultOrderHeaderColumnWidth, headersWithAlignments); for (Entry<Long, BigDecimal> neededProductQuantity : neededProductQuantities.entrySet()) { Entity product = productQuantitiesService.getProduct(neededProductQuantity.getKey()); table.addCell( new Phrase(product.getStringField(ProductFields.NUMBER), FontUtils.getDejavuRegular7Dark())); table.addCell( new Phrase(product.getStringField(ProductFields.NAME), FontUtils.getDejavuRegular7Dark())); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(new Phrase(numberService.format(neededProductQuantity.getValue()), FontUtils.getDejavuBold7Dark())); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); String unit = product.getStringField(ProductFields.UNIT); if (unit == null) { table.addCell(new Phrase("", FontUtils.getDejavuRegular7Dark())); } else { table.addCell(new Phrase(unit, FontUtils.getDejavuRegular7Dark())); } } document.add(table); }
From source file:com.qcadoo.mes.materialRequirements.print.pdf.MaterialRequirementPdfService.java
License:Open Source License
private void addOrderSeries(final Document document, final Entity materialRequirement, final Map<String, HeaderAlignment> headersWithAlignments) throws DocumentException { List<Entity> orders = materialRequirement.getManyToManyField(MaterialRequirementFields.ORDERS); Collections.sort(orders, new EntityOrderNumberComparator()); List<String> headers = Lists.newLinkedList(headersWithAlignments.keySet()); PdfPTable table = pdfHelper.createTableWithHeader(headersWithAlignments.size(), headers, true, defaultMatReqHeaderColumnWidth, headersWithAlignments); for (Entity order : orders) { table.addCell(new Phrase(order.getStringField(OrderFields.NUMBER), FontUtils.getDejavuRegular7Dark())); table.addCell(new Phrase(order.getStringField(OrderFields.NAME), FontUtils.getDejavuRegular7Dark())); Entity product = (Entity) order.getField(OrderFields.PRODUCT); if (product == null) { table.addCell(new Phrase("", FontUtils.getDejavuRegular7Dark())); BigDecimal plannedQuantity = order.getDecimalField(OrderFields.PLANNED_QUANTITY); plannedQuantity = (plannedQuantity == null) ? BigDecimal.ZERO : plannedQuantity; table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(new Phrase(numberService.format(plannedQuantity), FontUtils.getDejavuRegular7Dark())); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(new Phrase("", FontUtils.getDejavuRegular7Dark())); } else {//from w w w .j a va 2 s. c o m table.addCell( new Phrase(product.getStringField(ProductFields.NAME), FontUtils.getDejavuRegular7Dark())); BigDecimal plannedQuantity = order.getDecimalField(OrderFields.PLANNED_QUANTITY); plannedQuantity = (plannedQuantity == null) ? BigDecimal.ZERO : plannedQuantity; table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(new Phrase(numberService.format(plannedQuantity), FontUtils.getDejavuRegular7Dark())); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); String unit = product.getStringField(ProductFields.UNIT); if (unit == null) { table.addCell(new Phrase("", FontUtils.getDejavuRegular7Dark())); } else { table.addCell(new Phrase(unit, FontUtils.getDejavuRegular7Dark())); } } } document.add(table); }
From source file:com.qcadoo.mes.orders.print.OrderReportPdf.java
License:Open Source License
private void addTableToDocument(Document document, Entity orderEntity, Locale locale, String headerKey, Map<String, String> values) throws DocumentException { document.add(//w w w .ja va 2 s. c o m new Paragraph(translationService.translate(headerKey, locale), FontUtils.getDejavuBold10Dark())); Map<String, HeaderAlignment> headerValues = Maps.newLinkedHashMap(); for (String key : values.keySet()) { headerValues.put(translationService.translate(String.format(L_TRANSLATION_PATH, key), locale), HeaderAlignment.LEFT); } PdfPTable table = pdfHelper.createTableWithHeader(values.size(), Lists.newArrayList(headerValues.keySet()), false, headerValues); table.getDefaultCell().disableBorderSide(PdfPCell.RIGHT); table.getDefaultCell().disableBorderSide(PdfPCell.LEFT); table.setHeaderRows(1); for (String value : values.values()) { table.addCell(createCell(value, Element.ALIGN_LEFT)); } table.setSpacingAfter(20); document.add(table); }
From source file:com.qcadoo.mes.productionCountingWithCosts.pdf.ProductionBalanceWithCostsPdfService.java
License:Open Source License
private void addMaterialCost(final Document document, final Entity productionBalance, final Locale locale) throws DocumentException { List<String> materialCostTableHeader = Lists.newArrayList(); materialCostTableHeader.add(translationService.translate( "productionCounting.productionBalanceDetails.window.materialCostsTab.technologyOperationProductInComponents.column.productNumber", locale));/* w w w. j av a2s . c o m*/ materialCostTableHeader.add(translationService.translate( "productionCounting.productionBalanceDetails.window.materialCostsTab.technologyOperationProductInComponents.column.plannedCost", locale)); materialCostTableHeader.add(translationService.translate( "productionCounting.productionBalanceDetails.window.materialCostsTab.technologyOperationProductInComponents.column.registeredCost", locale)); materialCostTableHeader.add(translationService.translate( "productionCounting.productionBalanceDetails.window.materialCostsTab.technologyOperationProductInComponents.column.balance", locale)); Map<String, HeaderAlignment> alignments = Maps.newHashMap(); alignments.put(translationService.translate( "productionCounting.productionBalanceDetails.window.materialCostsTab.technologyInstOperProductInComps.column.productNumber", locale), HeaderAlignment.LEFT); alignments.put(translationService.translate( "productionCounting.productionBalanceDetails.window.materialCostsTab.technologyInstOperProductInComps.column.plannedCost", locale), HeaderAlignment.RIGHT); alignments.put(translationService.translate( "productionCounting.productionBalanceDetails.window.materialCostsTab.technologyInstOperProductInComps.column.registeredCost", locale), HeaderAlignment.RIGHT); alignments.put(translationService.translate( "productionCounting.productionBalanceDetails.window.materialCostsTab.technologyInstOperProductInComps.column.balance", locale), HeaderAlignment.RIGHT); List<Entity> technologyOperationProductInComponents = productionBalance .getHasManyField(ProductionBalanceFieldsPCWC.TECHNOLOGY_OPERATION_PRODUCT_IN_COMPONENTS); if (!technologyOperationProductInComponents.isEmpty()) { document.add(Chunk.NEWLINE); document.add( new Paragraph( translationService.translate( "productionCounting.productionBalance.report.table.materialCost", locale), FontUtils.getDejavuBold11Dark())); technologyOperationProductInComponents = Lists.newLinkedList(technologyOperationProductInComponents); Collections.sort(technologyOperationProductInComponents, new EntityProductInOutComparator()); PdfPTable productsTable = pdfHelper.createTableWithHeader(4, materialCostTableHeader, false, alignments); String currency = " " + currencyService.getCurrencyAlphabeticCode(); for (Entity technologyOperationProductInComponent : technologyOperationProductInComponents) { productsTable.addCell(new Phrase(technologyOperationProductInComponent .getBelongsToField(TechnologyOperationProductInCompFields.PRODUCT) .getStringField(ProductFields.NUMBER), FontUtils.getDejavuRegular7Dark())); productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); String plannedCost = numberService.format(technologyOperationProductInComponent .getField(TechnologyOperationProductInCompFields.PLANNED_COST)); productsTable.addCell(new Phrase((plannedCost == null) ? L_NULL_OBJECT : (plannedCost + currency), FontUtils.getDejavuRegular7Dark())); String registeredCost = numberService.format(technologyOperationProductInComponent .getField(TechnologyOperationProductInCompFields.REGISTERED_COST)); productsTable .addCell(new Phrase((registeredCost == null) ? L_NULL_OBJECT : (registeredCost + currency), FontUtils.getDejavuRegular7Dark())); String balance = numberService.format(technologyOperationProductInComponent .getField(TechnologyOperationProductInCompFields.BALANCE)); productsTable.addCell(new Phrase((balance == null) ? L_NULL_OBJECT : (balance + currency), FontUtils.getDejavuRegular7Dark())); productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); } productsTable.addCell(new Phrase( translationService.translate("productionCounting.productionBalance.report.total", locale), FontUtils.getDejavuRegular7Dark())); String plannedComponentsCosts = numberService.format( productionBalance.getDecimalField(ProductionBalanceFieldsPCWC.PLANNED_COMPONENTS_COSTS)); productsTable.addCell(new Phrase( (plannedComponentsCosts == null) ? L_NULL_OBJECT : (plannedComponentsCosts + currency), FontUtils.getDejavuRegular7Dark())); String componentsCosts = numberService .format(productionBalance.getDecimalField(ProductionBalanceFieldsPCWC.COMPONENTS_COSTS)); productsTable .addCell(new Phrase((componentsCosts == null) ? L_NULL_OBJECT : (componentsCosts + currency), FontUtils.getDejavuRegular7Dark())); String componentsCostsBalance = numberService.format( productionBalance.getDecimalField(ProductionBalanceFieldsPCWC.COMPONENTS_COSTS_BALANCE)); productsTable.addCell(new Phrase( (componentsCostsBalance == null) ? L_NULL_OBJECT : (componentsCostsBalance + currency), FontUtils.getDejavuRegular7Dark())); productsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); document.add(productsTable); } }
From source file:com.qcadoo.mes.productionCountingWithCosts.pdf.ProductionBalanceWithCostsPdfService.java
License:Open Source License
private void addCostsBalance(final String type, final Document document, final Entity productionBalance, final Locale locale) throws DocumentException { List<String> tableHeader = Lists.newArrayList(); tableHeader.add(translationService.translate( "productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column.operationLevel", locale));/*w w w .ja v a 2s. com*/ tableHeader.add(translationService.translate( "productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column.operationName", locale)); tableHeader.add(translationService.translate( "productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column.planned" + upperCaseFirstLetter(type, locale) + L_COSTS, locale)); tableHeader.add(translationService .translate("productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column." + type + L_COSTS, locale)); tableHeader.add(translationService .translate("productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column." + type + "CostsBalance", locale)); Map<String, HeaderAlignment> alignments = Maps.newHashMap(); alignments.put(translationService.translate( "productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column.operationLevel", locale), HeaderAlignment.LEFT); alignments.put(translationService.translate( "productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column.operationName", locale), HeaderAlignment.LEFT); alignments.put(translationService.translate( "productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column.planned" + upperCaseFirstLetter(type, locale) + L_COSTS, locale), HeaderAlignment.RIGHT); alignments.put(translationService .translate("productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column." + type + L_COSTS, locale), HeaderAlignment.RIGHT); alignments.put(translationService .translate("productionCounting.productionBalanceDetails.window.workCostsTab.operationsCost.column." + type + "CostsBalance", locale), HeaderAlignment.RIGHT); boolean isPiecework = "cycles".equals(type); List<Entity> operationComponents = productionBalance .getHasManyField(isPiecework ? ProductionBalanceFieldsPCWC.OPERATION_PIECEWORK_COST_COMPONENTS : ProductionBalanceFieldsPCWC.OPERATION_COST_COMPONENTS); if (!operationComponents.isEmpty()) { document.add(Chunk.NEWLINE); document.add(new Paragraph(translationService.translate( "productionCounting.productionBalanceDetails.window.workCostsTab." + type + L_COSTS, locale), FontUtils.getDejavuBold11Dark())); operationComponents = Lists.newLinkedList(operationComponents); Collections.sort(operationComponents, new EntityProductionTrackingOperationComparator()); PdfPTable costsTable = pdfHelper.createTableWithHeader(5, tableHeader, false, alignments); String currency = " " + currencyService.getCurrencyAlphabeticCode(); for (Entity operationComponent : operationComponents) { costsTable.addCell(new Phrase( operationComponent.getBelongsToField(L_TECHNOLOGY_OPERATION_COMPONENT) .getStringField(TechnologyOperationComponentFields.NODE_NUMBER), FontUtils.getDejavuRegular7Dark())); costsTable.addCell(new Phrase(operationComponent.getBelongsToField(L_TECHNOLOGY_OPERATION_COMPONENT) .getBelongsToField(TechnologyOperationComponentFields.OPERATION) .getStringField(OperationFields.NAME), FontUtils.getDejavuRegular7Dark())); costsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); String plannedCost = numberService.format( operationComponent.getField("planned" + upperCaseFirstLetter(type, locale) + L_COSTS)); costsTable.addCell(new Phrase((plannedCost == null) ? L_NULL_OBJECT : (plannedCost + currency), FontUtils.getDejavuRegular7Dark())); String registeredCost = numberService.format(operationComponent.getField(type + L_COSTS)); costsTable .addCell(new Phrase((registeredCost == null) ? L_NULL_OBJECT : (registeredCost + currency), FontUtils.getDejavuRegular7Dark())); String balance = numberService.format(operationComponent.getField(type + L_COSTS_BALANCE)); costsTable.addCell(new Phrase((balance == null) ? L_NULL_OBJECT : (balance + currency), FontUtils.getDejavuRegular7Dark())); costsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); } costsTable.addCell(new Phrase( translationService.translate("productionCounting.productionBalance.report.total", locale), FontUtils.getDejavuRegular7Dark())); costsTable.addCell(new Phrase("", FontUtils.getDejavuRegular7Dark())); costsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); String plannedCosts = numberService.format( productionBalance.getDecimalField(L_PLANNED + upperCaseFirstLetter(type, locale) + L_COSTS)); costsTable.addCell(new Phrase((plannedCosts == null) ? L_NULL_OBJECT : (plannedCosts + currency), FontUtils.getDejavuRegular7Dark())); String registeredCosts = numberService.format(productionBalance.getDecimalField(type + L_COSTS)); costsTable.addCell(new Phrase((registeredCosts == null) ? L_NULL_OBJECT : (registeredCosts + currency), FontUtils.getDejavuRegular7Dark())); String costsBalance = numberService.format(productionBalance.getDecimalField(type + L_COSTS_BALANCE)); costsTable.addCell(new Phrase((costsBalance == null) ? L_NULL_OBJECT : (costsBalance + currency), FontUtils.getDejavuRegular7Dark())); costsTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); document.add(costsTable); } }