List of usage examples for com.lowagie.text.pdf PdfPTable addCell
public void addCell(Phrase phrase)
From source file:com.qcadoo.mes.productionCounting.print.ProductionBalancePdfService.java
License:Open Source License
public void addMachineTimeBalance(final Document document, final Entity productionBalance, final Locale locale) throws DocumentException { document.add(Chunk.NEWLINE);// ww w .j a v a2 s. co m document.add(new Paragraph( translationService.translate("productionCounting.productionBalance.report.paragraph3", locale), FontUtils.getDejavuBold11Dark())); List<String> operationsTimeTableHeader = Lists.newArrayList(); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.operationLevel", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.operationNumber", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.plannedDuration", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.registeredTime", locale)); operationsTimeTableHeader .add(translationService.translate(L_PRODUCTION_BALANCE_REPORT_COLUMN_HEADER_BALANCE, locale)); PdfPTable machineTimeTable = pdfHelper.createTableWithHeader(5, operationsTimeTableHeader, false); List<Entity> operationTimeComponents = productionBalance .getHasManyField(ProductionBalanceFields.OPERATION_TIME_COMPONENTS); if (!operationTimeComponents.isEmpty()) { for (Entity operationTimeComponent : operationTimeComponents) { machineTimeTable .addCell(new Phrase( operationTimeComponent .getBelongsToField( OperationTimeComponentFields.TECHNOLOGY_OPERATION_COMPONENT) .getStringField(TechnologyOperationComponentFields.NODE_NUMBER), FontUtils.getDejavuRegular9Dark())); machineTimeTable .addCell(new Phrase( operationTimeComponent .getBelongsToField( OperationTimeComponentFields.TECHNOLOGY_OPERATION_COMPONENT) .getBelongsToField(TechnologyOperationComponentFields.OPERATION) .getStringField(OperationFields.NUMBER), FontUtils.getDejavuRegular9Dark())); machineTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString(operationTimeComponent .getIntegerField(OperationTimeComponentFields.PLANNED_MACHINE_TIME)), FontUtils.getDejavuRegular9Dark())); machineTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString( operationTimeComponent.getIntegerField(OperationTimeComponentFields.MACHINE_TIME)), FontUtils.getDejavuRegular9Dark())); machineTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString(operationTimeComponent .getIntegerField(OperationTimeComponentFields.MACHINE_TIME_BALANCE)), FontUtils.getDejavuRegular9Dark())); } } machineTimeTable.addCell(new Phrase( translationService.translate("productionCounting.productionBalance.report.total", locale), FontUtils.getDejavuRegular9Dark())); machineTimeTable.addCell(new Phrase("", FontUtils.getDejavuRegular9Dark())); machineTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString( productionBalance.getIntegerField(ProductionBalanceFields.PLANNED_MACHINE_TIME)), FontUtils.getDejavuRegular9Dark())); machineTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString( productionBalance.getIntegerField(ProductionBalanceFields.MACHINE_TIME)), FontUtils.getDejavuRegular9Dark())); machineTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString( productionBalance.getIntegerField(ProductionBalanceFields.MACHINE_TIME_BALANCE)), FontUtils.getDejavuRegular9Dark())); document.add(machineTimeTable); }
From source file:com.qcadoo.mes.productionCounting.print.ProductionBalancePdfService.java
License:Open Source License
public void addLaborTimeBalance(final Document document, final Entity productionBalance, final Locale locale) throws DocumentException { document.add(Chunk.NEWLINE);//from w ww .ja v a 2s.c o m document.add(new Paragraph( translationService.translate("productionCounting.productionBalance.report.paragraph4", locale), FontUtils.getDejavuBold11Dark())); List<String> operationsTimeTableHeader = Lists.newArrayList(); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.operationLevel", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.operationNumber", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.plannedDuration", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.registeredTime", locale)); operationsTimeTableHeader .add(translationService.translate(L_PRODUCTION_BALANCE_REPORT_COLUMN_HEADER_BALANCE, locale)); PdfPTable laborTimeTable = pdfHelper.createTableWithHeader(5, operationsTimeTableHeader, false); List<Entity> operationTimeComponents = productionBalance .getHasManyField(ProductionBalanceFields.OPERATION_TIME_COMPONENTS); if (!operationTimeComponents.isEmpty()) { for (Entity operationTimeComponent : operationTimeComponents) { laborTimeTable .addCell(new Phrase( operationTimeComponent .getBelongsToField( OperationTimeComponentFields.TECHNOLOGY_OPERATION_COMPONENT) .getStringField(TechnologyOperationComponentFields.NODE_NUMBER), FontUtils.getDejavuRegular9Dark())); laborTimeTable .addCell(new Phrase( operationTimeComponent .getBelongsToField( OperationTimeComponentFields.TECHNOLOGY_OPERATION_COMPONENT) .getBelongsToField(TechnologyOperationComponentFields.OPERATION) .getStringField(OperationFields.NUMBER), FontUtils.getDejavuRegular9Dark())); laborTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString(operationTimeComponent .getIntegerField(OperationTimeComponentFields.PLANNED_LABOR_TIME)), FontUtils.getDejavuRegular9Dark())); laborTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString( operationTimeComponent.getIntegerField(OperationTimeComponentFields.LABOR_TIME)), FontUtils.getDejavuRegular9Dark())); laborTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString(operationTimeComponent .getIntegerField(OperationTimeComponentFields.LABOR_TIME_BALANCE)), FontUtils.getDejavuRegular9Dark())); } } laborTimeTable.addCell(new Phrase( translationService.translate("productionCounting.productionBalance.report.total", locale), FontUtils.getDejavuRegular9Dark())); laborTimeTable.addCell(new Phrase("", FontUtils.getDejavuRegular9Dark())); laborTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString( productionBalance.getIntegerField(ProductionBalanceFields.PLANNED_LABOR_TIME)), FontUtils.getDejavuRegular9Dark())); laborTimeTable.addCell(new Phrase( timeConverterService .convertTimeToString(productionBalance.getIntegerField(ProductionBalanceFields.LABOR_TIME)), FontUtils.getDejavuRegular9Dark())); laborTimeTable.addCell(new Phrase( timeConverterService.convertTimeToString( productionBalance.getIntegerField(ProductionBalanceFields.LABOR_TIME_BALANCE)), FontUtils.getDejavuRegular9Dark())); document.add(laborTimeTable); }
From source file:com.qcadoo.mes.productionCounting.print.ProductionBalancePdfService.java
License:Open Source License
public void addPieceworkBalance(final Document document, final Entity productionBalance, final Locale locale) throws DocumentException { document.add(Chunk.NEWLINE);/*from w ww .ja v a 2s . com*/ document.add(new Paragraph( translationService.translate("productionCounting.productionBalance.report.paragraph5", locale), FontUtils.getDejavuBold11Dark())); List<String> operationsTimeTableHeader = Lists.newArrayList(); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.operationLevel", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.operationNumber", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.plannedCycles", locale)); operationsTimeTableHeader.add(translationService .translate("productionCounting.productionBalance.report.columnHeader.registeredCycles", locale)); operationsTimeTableHeader .add(translationService.translate(L_PRODUCTION_BALANCE_REPORT_COLUMN_HEADER_BALANCE, locale)); PdfPTable pieceworkTable = pdfHelper.createTableWithHeader(5, operationsTimeTableHeader, false); List<Entity> operationPieceworkComponents = productionBalance .getHasManyField(ProductionBalanceFields.OPERATION_PIECEWORK_COMPONENTS); BigDecimal totalPlannedCycles = BigDecimal.ZERO; BigDecimal totalCycles = BigDecimal.ZERO; BigDecimal totalCyclesBalance = BigDecimal.ZERO; if (!operationPieceworkComponents.isEmpty()) { for (Entity operationPieceworkComponent : operationPieceworkComponents) { BigDecimal plannedCycles = operationPieceworkComponent .getDecimalField(OperationPieceworkComponentFields.PLANNED_CYCLES); BigDecimal cycles = operationPieceworkComponent .getDecimalField(OperationPieceworkComponentFields.CYCLES); BigDecimal cyclesBalance = operationPieceworkComponent .getDecimalField(OperationPieceworkComponentFields.CYCLES_BALANCE); pieceworkTable .addCell(new Phrase( operationPieceworkComponent .getBelongsToField( OperationTimeComponentFields.TECHNOLOGY_OPERATION_COMPONENT) .getStringField(TechnologyOperationComponentFields.NODE_NUMBER), FontUtils.getDejavuRegular9Dark())); pieceworkTable .addCell(new Phrase( operationPieceworkComponent .getBelongsToField( OperationTimeComponentFields.TECHNOLOGY_OPERATION_COMPONENT) .getBelongsToField(TechnologyOperationComponentFields.OPERATION) .getStringField(OperationFields.NUMBER), FontUtils.getDejavuRegular9Dark())); pieceworkTable.addCell( new Phrase(numberService.format(plannedCycles), FontUtils.getDejavuRegular9Dark())); pieceworkTable.addCell(new Phrase(numberService.format(cycles), FontUtils.getDejavuRegular9Dark())); pieceworkTable.addCell( new Phrase(numberService.format(cyclesBalance), FontUtils.getDejavuRegular9Dark())); totalPlannedCycles = totalPlannedCycles.add(plannedCycles, numberService.getMathContext()); totalCycles = totalPlannedCycles.add(cycles, numberService.getMathContext()); totalCyclesBalance = totalPlannedCycles.add(cyclesBalance, numberService.getMathContext()); } } pieceworkTable.addCell(new Phrase( translationService.translate("productionCounting.productionBalance.report.total", locale), FontUtils.getDejavuRegular9Dark())); pieceworkTable.addCell(new Phrase("", FontUtils.getDejavuRegular9Dark())); pieceworkTable .addCell(new Phrase(numberService.format(totalPlannedCycles), FontUtils.getDejavuRegular9Dark())); pieceworkTable.addCell(new Phrase(numberService.format(totalCycles), FontUtils.getDejavuRegular9Dark())); pieceworkTable .addCell(new Phrase(numberService.format(totalCyclesBalance), FontUtils.getDejavuRegular9Dark())); document.add(pieceworkTable); }
From source file:com.qcadoo.mes.productionCounting.print.ProductionTrackingReportPdfService.java
License:Open Source License
@Override protected void buildPdfContent(final Document document, final Entity productionTrackingReport, final Locale locale) throws DocumentException { final String documentTitle = translationService .translate("productionCounting.productionTrackingReport.report.title", locale) + " " + productionTrackingReport.getId().toString(); final String documentAuthor = translationService.translate("qcadooReport.commons.generatedBy.label", locale);/*ww w .java2 s.co m*/ pdfHelper.addDocumentHeader(document, "", documentTitle, documentAuthor, productionTrackingReport.getDateField(ProductionTrackingReportFields.DATE)); final PdfPTable leftPanel = createLeftPanel(productionTrackingReport, locale); final PdfPTable rightPanel = createRightPanel(productionTrackingReport, locale); final PdfPTable panelTable = pdfHelper.createPanelTable(2); panelTable.addCell(leftPanel); panelTable.addCell(rightPanel); panelTable.setSpacingAfter(20); panelTable.setSpacingBefore(20); document.add(panelTable); Entity order = productionTrackingReport.getBelongsToField(ProductionTrackingReportFields.ORDER); final List<Entity> productionTrackings = productionCountingService.getProductionTrackingsForOrder(order); Collections.sort(productionTrackings, new EntityProductionTrackingComparator()); for (Entity productionTracking : productionTrackings) { addProductionTracking(document, productionTracking, locale); } }
From source file:com.qcadoo.mes.productionCounting.print.ProductionTrackingReportPdfService.java
License:Open Source License
private void addTableCellAsTable(final PdfPTable table, final String label, final Object fieldValue, final String nullValue, final Font headerFont, final Font valueFont, final DecimalFormat df) { final PdfPTable cellTable = new PdfPTable(2); cellTable.getDefaultCell().setBorder(PdfPCell.NO_BORDER); cellTable.addCell(new Phrase(label, headerFont)); final Object value = fieldValue; if (value == null) { cellTable.addCell(new Phrase(nullValue, valueFont)); } else {//from www. j a va 2s .c o m if (value instanceof BigDecimal && df != null) { cellTable.addCell(new Phrase(df.format(value), valueFont)); } else { cellTable.addCell(new Phrase(value.toString(), valueFont)); } } table.addCell(cellTable); }
From source file:com.qcadoo.mes.productionCounting.print.ProductionTrackingReportPdfService.java
License:Open Source License
private PdfPTable createRightPanel(final Entity productionTrackingReport, final Locale locale) { Entity order = productionTrackingReport.getBelongsToField(ProductionTrackingReportFields.ORDER); final PdfPTable rightPanel = pdfHelper.createPanelTable(1); rightPanel.addCell(new Phrase( translationService.translate( "productionCounting.productionTrackingReport.report.panel.countingParameters", locale), FontUtils.getDejavuBold10Dark())); rightPanel.addCell(new Phrase( L_TABS + translationService.translate( "productionCounting.productionTrackingReport.report.panel.registerQuantityOutProduct", locale) + " " + (order.getBooleanField(OrderFieldsPC.REGISTER_QUANTITY_IN_PRODUCT) ? translationService.translate(L_QCADOO_VIEW_TRUE, locale) : translationService.translate(L_QCADOO_VIEW_FALSE, locale)), FontUtils.getDejavuBold9Dark())); rightPanel.addCell(new Phrase( L_TABS + translationService.translate( "productionCounting.productionTrackingReport.report.panel.registerQuantityInProduct", locale) + " " + (order.getBooleanField(OrderFieldsPC.REGISTER_QUANTITY_OUT_PRODUCT) ? translationService.translate(L_QCADOO_VIEW_TRUE, locale) : translationService.translate(L_QCADOO_VIEW_FALSE, locale)), FontUtils.getDejavuBold9Dark())); rightPanel.addCell(new Phrase( L_TABS + translationService.translate( "productionCounting.productionTrackingReport.report.panel.registerProductionTime", locale) + " " + (order.getBooleanField(OrderFieldsPC.REGISTER_PRODUCTION_TIME) ? translationService.translate(L_QCADOO_VIEW_TRUE, locale) : translationService.translate(L_QCADOO_VIEW_FALSE, locale)), FontUtils.getDejavuBold9Dark())); rightPanel/*w w w . j a v a 2s .c o m*/ .addCell( new Phrase( L_TABS + translationService.translate( "productionCounting.productionTrackingReport.report.panel.justOne", locale) + " " + (order.getBooleanField(OrderFieldsPC.JUST_ONE) ? translationService.translate(L_QCADOO_VIEW_TRUE, locale) : translationService.translate(L_QCADOO_VIEW_FALSE, locale)), FontUtils.getDejavuBold9Dark())); rightPanel.addCell(new Phrase( L_TABS + translationService .translate("productionCounting.productionTrackingReport.report.panel.allowToClose", locale) + " " + (order.getBooleanField(OrderFieldsPC.ALLOW_TO_CLOSE) ? translationService.translate(L_QCADOO_VIEW_TRUE, locale) : translationService.translate(L_QCADOO_VIEW_FALSE, locale)), FontUtils.getDejavuBold9Dark())); rightPanel .addCell(new Phrase( L_TABS + translationService.translate( "productionCounting.productionTrackingReport.report.panel.autoCloseOrder", locale) + " " + (order.getBooleanField(OrderFieldsPC.AUTO_CLOSE_ORDER) ? translationService.translate(L_QCADOO_VIEW_TRUE, locale) : translationService.translate(L_QCADOO_VIEW_FALSE, locale)), FontUtils.getDejavuBold9Dark())); return rightPanel; }
From source file:com.qcadoo.mes.productionCounting.print.ProductionTrackingReportPdfService.java
License:Open Source License
private void addInputProducts(final Document document, final Entity productionTracking, final Entity technology, final Locale locale) throws DocumentException { document.add(/*from w w w .j a va2s.com*/ new Paragraph( translationService .translate("productionCounting.productionTrackingReport.report.paragraph2", locale), FontUtils.getDejavuBold11Dark())); List<String> inputProductsTableHeader = Lists.newArrayList(); inputProductsTableHeader.add(translationService .translate("productionCounting.productionTrackingReport.report.columnHeader.number", locale)); inputProductsTableHeader.add(translationService.translate( "productionCounting.productionTrackingReport.report.columnHeader.productionName", locale)); inputProductsTableHeader.add(translationService .translate("productionCounting.productionTrackingReport.report.columnHeader.type", locale)); inputProductsTableHeader.add(translationService .translate("productionCounting.productionTrackingReport.report.columnHeader.quantity", locale)); inputProductsTableHeader.add(translationService.translate("basic.product.unit.label", locale)); PdfPTable inputProductsTable = pdfHelper.createTableWithHeader(5, inputProductsTableHeader, false); if (productionTracking .getHasManyField(ProductionTrackingFields.TRACKING_OPERATION_PRODUCT_IN_COMPONENTS) != null) { List<Entity> trackingOperationProductInComponents = Lists.newArrayList(productionTracking .getHasManyField(ProductionTrackingFields.TRACKING_OPERATION_PRODUCT_IN_COMPONENTS)); Collections.sort(trackingOperationProductInComponents, new EntityProductInOutComparator()); for (Entity trackingOperationProductInComponent : trackingOperationProductInComponents) { inputProductsTable .addCell( new Phrase( trackingOperationProductInComponent .getBelongsToField( TrackingOperationProductInComponentFields.PRODUCT) .getStringField(ProductFields.NUMBER), FontUtils.getDejavuRegular9Dark())); inputProductsTable .addCell( new Phrase( trackingOperationProductInComponent .getBelongsToField( TrackingOperationProductInComponentFields.PRODUCT) .getStringField(ProductFields.NAME), FontUtils.getDejavuRegular9Dark())); String type = technologyService.getProductType(trackingOperationProductInComponent .getBelongsToField(TrackingOperationProductInComponentFields.PRODUCT), technology); inputProductsTable.addCell(new Phrase( translationService.translate("basic.product.globalTypeOfMaterial.value." + type, locale), FontUtils.getDejavuRegular9Dark())); inputProductsTable.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); if (trackingOperationProductInComponent .getField(TrackingOperationProductInComponentFields.USED_QUANTITY) == null) { inputProductsTable.addCell(new Phrase(L_N_A, FontUtils.getDejavuRegular9Dark())); } else { inputProductsTable.addCell(new Phrase( numberService.format(trackingOperationProductInComponent .getField(TrackingOperationProductInComponentFields.USED_QUANTITY)), FontUtils.getDejavuRegular9Dark())); } inputProductsTable.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT); inputProductsTable .addCell( new Phrase( trackingOperationProductInComponent .getBelongsToField( TrackingOperationProductInComponentFields.PRODUCT) .getStringField(ProductFields.UNIT), FontUtils.getDejavuRegular9Dark())); } } document.add(inputProductsTable); }
From source file:com.qcadoo.mes.productionCounting.print.ProductionTrackingReportPdfService.java
License:Open Source License
private void addOutputProducts(final Document document, final Entity productionTracking, final Entity technology, final Locale locale) throws DocumentException { document.add(/*from w w w . j av a 2 s . c o m*/ new Paragraph( translationService .translate("productionCounting.productionTrackingReport.report.paragraph3", locale), FontUtils.getDejavuBold11Dark())); List<String> outputProductsTableHeader = Lists.newArrayList(); outputProductsTableHeader.add(translationService .translate("productionCounting.productionTrackingReport.report.columnHeader.number", locale)); outputProductsTableHeader.add(translationService.translate( "productionCounting.productionTrackingReport.report.columnHeader.productionName", locale)); outputProductsTableHeader.add(translationService .translate("productionCounting.productionTrackingReport.report.columnHeader.type", locale)); outputProductsTableHeader.add(translationService .translate("productionCounting.productionTrackingReport.report.columnHeader.quantity", locale)); outputProductsTableHeader.add(translationService.translate("basic.product.unit.label", locale)); PdfPTable outputProductsTable = pdfHelper.createTableWithHeader(5, outputProductsTableHeader, false); if (productionTracking .getHasManyField(ProductionTrackingFields.TRACKING_OPERATION_PRODUCT_OUT_COMPONENTS) != null) { List<Entity> trackingOperationProductOutComponents = Lists.newArrayList(productionTracking .getHasManyField(ProductionTrackingFields.TRACKING_OPERATION_PRODUCT_OUT_COMPONENTS)); Collections.sort(trackingOperationProductOutComponents, new EntityProductInOutComparator()); for (Entity trackingOperationProductOutComponent : trackingOperationProductOutComponents) { outputProductsTable .addCell( new Phrase( trackingOperationProductOutComponent .getBelongsToField( TrackingOperationProductOutComponentFields.PRODUCT) .getStringField(ProductFields.NUMBER), FontUtils.getDejavuRegular9Dark())); outputProductsTable .addCell( new Phrase( trackingOperationProductOutComponent .getBelongsToField( TrackingOperationProductOutComponentFields.PRODUCT) .getStringField(ProductFields.NAME), FontUtils.getDejavuRegular9Dark())); String type = technologyService.getProductType(trackingOperationProductOutComponent .getBelongsToField(TrackingOperationProductOutComponentFields.PRODUCT), technology); outputProductsTable.addCell(new Phrase( translationService.translate("basic.product.globalTypeOfMaterial.value." + type, locale), FontUtils.getDejavuRegular9Dark())); outputProductsTable.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); if (trackingOperationProductOutComponent .getField(TrackingOperationProductOutComponentFields.USED_QUANTITY) == null) { outputProductsTable.addCell(new Phrase(L_N_A, FontUtils.getDejavuRegular9Dark())); } else { outputProductsTable.addCell(new Phrase( numberService.format(trackingOperationProductOutComponent .getField(TrackingOperationProductOutComponentFields.USED_QUANTITY)), FontUtils.getDejavuRegular9Dark())); } outputProductsTable.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT); outputProductsTable .addCell( new Phrase( trackingOperationProductOutComponent .getBelongsToField( TrackingOperationProductOutComponentFields.PRODUCT) .getStringField(ProductFields.UNIT), FontUtils.getDejavuRegular9Dark())); } } document.add(outputProductsTable); }
From source file:com.qcadoo.mes.productionCountingWithCosts.pdf.ProductionBalanceWithCostsPdfService.java
License:Open Source License
@Override protected void buildPdfContent(final Document document, final Entity productionBalance, final Locale locale) throws DocumentException { String documentTitle = translationService.translate("productionCounting.productionBalance.report.title", locale);// w w w. j av a 2 s .c o m String documentAuthor = translationService.translate("qcadooReport.commons.generatedBy.label", locale); pdfHelper.addDocumentHeader(document, "", documentTitle, documentAuthor, productionBalance.getDateField(ProductionBalanceFields.DATE)); PdfPTable topTable = pdfHelper.createPanelTable(2); topTable.addCell(productionBalancePdfService.createLeftPanel(productionBalance, locale)); topTable.addCell(productionBalancePdfService.createRightPanel(productionBalance, locale)); topTable.setSpacingBefore(20); document.add(topTable); PdfPTable parametersForCostsPanel = createParametersForCostsPanel(productionBalance, locale); parametersForCostsPanel.setSpacingBefore(20); document.add(parametersForCostsPanel); Entity order = productionBalance.getBelongsToField(ProductionBalanceFields.ORDER); String typeOfProductionRecording = order.getStringField(OrderFieldsPC.TYPE_OF_PRODUCTION_RECORDING); String calculateOperationCostMode = productionBalance .getStringField(ProductionBalanceFields.CALCULATE_OPERATION_COST_MODE); final boolean isTypeOfProductionRecordingCumulated = productionCountingService .isTypeOfProductionRecordingCumulated(typeOfProductionRecording); final boolean isTypeOfProductionRecordingForEach = productionCountingService .isTypeOfProductionRecordingForEach(typeOfProductionRecording); final boolean isCalculateOperationCostModeHourly = productionCountingService .isCalculateOperationCostModeHourly(calculateOperationCostMode); final boolean isCalculateOperationCostModePiecework = productionCountingService .isCalculateOperationCostModePiecework(calculateOperationCostMode); if (isCalculateOperationCostModeHourly && isTypeOfProductionRecordingCumulated) { PdfPTable assumptionForCumulatedRecordsPanel = createAssumptionsForCumulatedRecordsPanel( productionBalance, locale); assumptionForCumulatedRecordsPanel.setSpacingBefore(20); document.add(assumptionForCumulatedRecordsPanel); } PdfPTable bottomTable = pdfHelper.createPanelTable(2); bottomTable.addCell(createCostsPanel(productionBalance, locale)); bottomTable.addCell(createOverheadsAndSummaryPanel(productionBalance, locale)); bottomTable.setSpacingBefore(20); bottomTable.setSpacingAfter(20); document.add(bottomTable); productionBalancePdfService.addInputProductsBalance(document, productionBalance, locale); addMaterialCost(document, productionBalance, locale); productionBalancePdfService.addOutputProductsBalance(document, productionBalance, locale); if (isCalculateOperationCostModeHourly) { if (isTypeOfProductionRecordingCumulated) { productionBalancePdfService.addTimeBalanceAsPanel(document, productionBalance, locale); addProductionCosts(document, productionBalance, locale); } else if (isTypeOfProductionRecordingForEach) { productionBalancePdfService.addMachineTimeBalance(document, productionBalance, locale); addCostsBalance("machine", document, productionBalance, locale); productionBalancePdfService.addLaborTimeBalance(document, productionBalance, locale); addCostsBalance("labor", document, productionBalance, locale); } } else if (isCalculateOperationCostModePiecework) { productionBalancePdfService.addPieceworkBalance(document, productionBalance, locale); addCostsBalance("cycles", document, productionBalance, locale); } costCalculationPdfService.printMaterialAndOperationNorms(document, productionBalance, locale); }
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 ww. j a v a2 s. 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); } }