Example usage for com.lowagie.text Phrase Phrase

List of usage examples for com.lowagie.text Phrase Phrase

Introduction

In this page you can find the example usage for com.lowagie.text Phrase Phrase.

Prototype

public Phrase(float leading, String string) 

Source Link

Document

Constructs a Phrase with a certain leading and a certain String.

Usage

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);//from  www.j av a 2  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 w w . j  a  v  a2s .  co 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 w  w  .ja  va2  s .c om*/
    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

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 {/*w  ww .  j a v  a  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/*from ww  w .  j av a2s. c  om*/
            .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 va2  s  . c  om
            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(/*  w w  w  .  j  av  a2s .c  om*/
            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

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));/*from   w  w  w .  ja v a2 s.co 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  ww .  j ava  2 s . co m*/
    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);
    }
}

From source file:com.qcadoo.mes.productionCountingWithCosts.pdf.ProductionBalanceWithCostsPdfService.java

License:Open Source License

public PdfPTable createParametersForCostsPanel(final Entity productionBalance, final Locale locale) {
    PdfPTable parametersForCostsPanel = pdfHelper.createPanelTable(1);

    parametersForCostsPanel.addCell(new Phrase(translationService
            .translate("productionCounting.productionBalance.report.panel.parametersForCosts", locale) + ":",
            FontUtils.getDejavuBold10Dark()));

    PdfPTable content = pdfHelper.createPanelTable(2);
    content.setTableEvent(null);//  w ww  .  j a  v  a 2  s. com

    String sourceOfMaterialCostsField = productionBalance
            .getStringField(ProductionBalanceFieldsPCWC.SOURCE_OF_MATERIAL_COSTS);
    String sourceOfMaterialCosts = translationService.translate(
            "productionCounting.productionBalance.sourceOfMaterialCosts.value." + sourceOfMaterialCostsField,
            locale);
    pdfHelper.addTableCellAsTable(content,
            translationService.translate("productionCounting.productionBalance.sourceOfMaterialCosts.label",
                    locale),
            sourceOfMaterialCosts, FontUtils.getDejavuBold9Dark(), FontUtils.getDejavuRegular7Dark(), 2);

    String calculateMaterialCostsModeField = productionBalance
            .getStringField(ProductionBalanceFieldsPCWC.CALCULATE_MATERIAL_COSTS_MODE);
    String calculateMaterialCostsMode = translationService
            .translate("productionCounting.productionBalance.calculateMaterialCostsMode.value."
                    + calculateMaterialCostsModeField, locale);
    pdfHelper.addTableCellAsTable(content,
            translationService
                    .translate("productionCounting.productionBalance.calculateMaterialCostsMode.label", locale),
            calculateMaterialCostsMode, FontUtils.getDejavuBold9Dark(), FontUtils.getDejavuRegular7Dark(), 2);

    parametersForCostsPanel.addCell(content);

    return parametersForCostsPanel;
}