Search in sources :

Example 11 with HeaderAlignment

use of com.qcadoo.report.api.pdf.HeaderAlignment in project mes by qcadoo.

the class ModelCardPdfService method addMaterialsTable.

private void addMaterialsTable(Document document, List<ModelCardMaterialEntry> entries, Entity materialAttribute, Locale locale) throws DocumentException {
    Map<String, HeaderAlignment> headersWithAlignments = getMaterialHeaders(materialAttribute, locale);
    List<String> headers = com.google.common.collect.Lists.newLinkedList(headersWithAlignments.keySet());
    PdfPTable table = pdfHelper.createTableWithHeader(headersWithAlignments.size(), headers, true, defaultModelCardMaterialsColumnWidth, headersWithAlignments);
    for (ModelCardMaterialEntry modelCardMaterialEntry : entries) {
        if (Objects.isNull(modelCardMaterialEntry.getId())) {
            addProductInputTypeRow(table, modelCardMaterialEntry);
        } else if (!Objects.isNull(modelCardMaterialEntry.getSizeGroupId())) {
            addProductBySizeRow(table, modelCardMaterialEntry, materialAttribute);
        } else {
            addProductRow(table, modelCardMaterialEntry, materialAttribute);
        }
    }
    document.add(table);
}
Also used : PdfPTable(com.lowagie.text.pdf.PdfPTable) HeaderAlignment(com.qcadoo.report.api.pdf.HeaderAlignment)

Example 12 with HeaderAlignment

use of com.qcadoo.report.api.pdf.HeaderAlignment in project mes by qcadoo.

the class OperationProductOutTable method print.

public void print(final Entity workPlan, final GroupingContainer groupingContainer, final OrderOperationComponent orderOperationComponent, final Document document, final Locale locale) throws DocumentException {
    Entity operationComponent = orderOperationComponent.getOperationComponent();
    Map<Long, Map<OperationProductColumn, ColumnAlignment>> map = groupingContainer.getOperationComponentIdProductOutColumnToAlignment();
    Map<OperationProductColumn, ColumnAlignment> operationProductColumnAlignmentMap = map.get(operationComponent.getId());
    int columnCount = operationProductColumnAlignmentMap.size();
    Map<String, HeaderAlignment> headerAlignments = new HashMap<String, HeaderAlignment>(columnCount);
    List<String> headers = new ArrayList<String>(columnCount);
    fill(locale, operationProductColumnAlignmentMap, headers, headerAlignments);
    PdfPTable table = pdfHelper.createTableWithHeader(columnCount, headers, false, headerAlignments);
    PdfPCell defaultCell = table.getDefaultCell();
    List<OperationProductHelper> operationProductsValue = prepareOperationProductsValue(orderOperationComponent.getProductionCountingQuantitiesOut(), operationProductColumnAlignmentMap.entrySet());
    operationProductsValue = workPlansService.sortByColumn(workPlan, operationProductsValue, headers);
    for (OperationProductHelper operationProduct : operationProductsValue) {
        for (OperationProductColumnHelper e : operationProduct.getOperationProductColumnHelpers()) {
            alignColumn(defaultCell, e.getColumnAlignment());
            table.addCell(operationProductPhrase(e.getValue()));
        }
    }
    int additionalRows = workPlansService.getAdditionalRowsFromParameter(ParameterFieldsWP.ADDITIONAL_OUTPUT_ROWS);
    for (int i = 0; i < additionalRows; i++) {
        for (Map.Entry<OperationProductColumn, ColumnAlignment> e : operationProductColumnAlignmentMap.entrySet()) {
            alignColumn(defaultCell, e.getValue());
            table.addCell(" ");
        }
    }
    table.setSpacingAfter(18);
    table.setSpacingBefore(9);
    document.add(table);
}
Also used : Entity(com.qcadoo.model.api.Entity) ColumnAlignment(com.qcadoo.mes.columnExtension.constants.ColumnAlignment) PdfPCell(com.lowagie.text.pdf.PdfPCell) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) PdfPTable(com.lowagie.text.pdf.PdfPTable) HeaderAlignment(com.qcadoo.report.api.pdf.HeaderAlignment) OperationProductColumn(com.qcadoo.mes.workPlans.pdf.document.operation.product.column.OperationProductColumn) HashMap(java.util.HashMap) Map(java.util.Map)

Example 13 with HeaderAlignment

use of com.qcadoo.report.api.pdf.HeaderAlignment in project mes by qcadoo.

the class OrderTable method print.

public void print(GroupingContainer groupingContainer, Document document, Locale locale) throws DocumentException {
    document.add(ordersTableHeaderParagraph(locale));
    Map<OrderColumn, ColumnAlignment> orderColumnToAlignment = groupingContainer.getOrderColumnToAlignment();
    int columnCount = orderColumnToAlignment.size();
    Map<String, HeaderAlignment> headerAlignments = new HashMap<String, HeaderAlignment>(columnCount);
    List<String> headers = new ArrayList<String>(columnCount);
    fill(locale, orderColumnToAlignment, headers, headerAlignments);
    PdfPTable orderTable = pdfHelper.createTableWithHeader(columnCount, headers, false, headerAlignments);
    PdfPCell defaultCell = orderTable.getDefaultCell();
    for (Entity order : groupingContainer.getOrders()) {
        for (Map.Entry<OrderColumn, ColumnAlignment> e : orderColumnToAlignment.entrySet()) {
            alignColumn(defaultCell, e.getValue());
            orderTable.addCell(orderColumnValuePhrase(order, e.getKey()));
        }
    }
    document.add(orderTable);
    document.add(Chunk.NEWLINE);
}
Also used : Entity(com.qcadoo.model.api.Entity) ColumnAlignment(com.qcadoo.mes.columnExtension.constants.ColumnAlignment) PdfPCell(com.lowagie.text.pdf.PdfPCell) HashMap(java.util.HashMap) OrderColumn(com.qcadoo.mes.workPlans.pdf.document.order.column.OrderColumn) ArrayList(java.util.ArrayList) PdfPTable(com.lowagie.text.pdf.PdfPTable) HeaderAlignment(com.qcadoo.report.api.pdf.HeaderAlignment) HashMap(java.util.HashMap) Map(java.util.Map)

Example 14 with HeaderAlignment

use of com.qcadoo.report.api.pdf.HeaderAlignment in project mes by qcadoo.

the class DispositionOrderPdfService method addPositionsTable.

private void addPositionsTable(Document document, Entity documentEntity, Locale locale) throws DocumentException {
    List<Integer> headerWidthsList = new ArrayList<>(Arrays.asList(25, 50, 50, 50, 65, 90, 40, 35));
    int numOfColumns = 8;
    if (acceptanceOfDocumentBeforePrinting) {
        headerWidthsList.add(45);
        numOfColumns++;
    }
    int[] headerWidths = headerWidthsList.stream().mapToInt(i -> i).toArray();
    Map<String, HeaderAlignment> headerValues = getPositionsTableHeaderLabels(locale);
    PdfPTable positionsTable = pdfHelper.createTableWithHeader(numOfColumns, Lists.newArrayList(headerValues.keySet()), false, headerWidths, headerValues);
    positionsTable.getDefaultCell().disableBorderSide(PdfPCell.RIGHT);
    positionsTable.getDefaultCell().disableBorderSide(PdfPCell.LEFT);
    positionsTable.setHeaderRows(1);
    List<Entity> positions = PositionDataProvider.getPositions(documentEntity);
    PositionsHolder positionsHolder = new PositionsHolder(numberService);
    fillPositions(positionsHolder, positions);
    List<Position> _positions = positionsHolder.getPositions();
    if (acceptanceOfDocumentBeforePrinting) {
        Collections.sort(_positions, new Comparator<Position>() {

            @Override
            public int compare(Position p1, Position p2) {
                return ComparisonChain.start().compare(p1.getTargetPallet(), p2.getTargetPallet()).compare(p1.getStorageLocation(), p2.getStorageLocation()).result();
            }
        });
    } else {
        Collections.sort(_positions, new Comparator<Position>() {

            @Override
            public int compare(Position p1, Position p2) {
                return ComparisonChain.start().compare(p1.getStorageLocation(), p2.getStorageLocation()).result();
            }
        });
    }
    Integer index = 1;
    for (Position position : _positions) {
        positionsTable.addCell(createCell(index.toString(), Element.ALIGN_LEFT));
        positionsTable.addCell(createCell(position.getStorageLocation(), Element.ALIGN_LEFT));
        positionsTable.addCell(createCell(position.getPalletNumber(), Element.ALIGN_LEFT));
        positionsTable.addCell(createCell(position.getTypeOfPallet(), Element.ALIGN_LEFT));
        positionsTable.addCell(createCell(position.getAdditionalCodeAndBatch(), Element.ALIGN_LEFT));
        positionsTable.addCell(createCell(position.getProductName(), Element.ALIGN_LEFT));
        positionsTable.addCell(createCell(PositionDataProvider.quantity(position.getQuantity()), Element.ALIGN_LEFT));
        positionsTable.addCell(createCell(position.getUnit(), Element.ALIGN_LEFT));
        if (acceptanceOfDocumentBeforePrinting) {
            positionsTable.addCell(createCell(position.getTargetPallet(), Element.ALIGN_LEFT));
        }
        index++;
    }
    positionsTable.setSpacingAfter(20);
    document.add(positionsTable);
}
Also used : Arrays(java.util.Arrays) Date(java.util.Date) Autowired(org.springframework.beans.factory.annotation.Autowired) StringUtils(org.apache.commons.lang3.StringUtils) Position(com.qcadoo.mes.materialFlowResources.print.helper.Position) Element(com.lowagie.text.Element) ColorUtils(com.qcadoo.report.api.ColorUtils) Locale(java.util.Locale) Map(java.util.Map) SearchRestrictions(com.qcadoo.model.api.search.SearchRestrictions) PdfPageEventHelper(com.lowagie.text.pdf.PdfPageEventHelper) PositionDataProvider(com.qcadoo.mes.materialFlowResources.print.helper.PositionDataProvider) FontUtils(com.qcadoo.report.api.FontUtils) PdfContentByte(com.lowagie.text.pdf.PdfContentByte) ComparisonChain(com.google.common.collect.ComparisonChain) DataDefinition(com.qcadoo.model.api.DataDefinition) Objects(java.util.Objects) DocumentFields(com.qcadoo.mes.materialFlowResources.constants.DocumentFields) Entity(com.qcadoo.model.api.Entity) List(java.util.List) Rectangle(com.lowagie.text.Rectangle) ParameterService(com.qcadoo.mes.basic.ParameterService) PositionsHolder(com.qcadoo.mes.materialFlowResources.print.helper.PositionsHolder) ResourceFields(com.qcadoo.mes.materialFlowResources.constants.ResourceFields) PdfWriter(com.lowagie.text.pdf.PdfWriter) HeaderAlignment(com.qcadoo.report.api.pdf.HeaderAlignment) PositionBuilder(com.qcadoo.mes.materialFlowResources.print.helper.PositionBuilder) DataDefinitionService(com.qcadoo.model.api.DataDefinitionService) PdfDocumentWithWriterService(com.qcadoo.report.api.pdf.PdfDocumentWithWriterService) PalletNumberFields(com.qcadoo.mes.basic.constants.PalletNumberFields) PdfPTable(com.lowagie.text.pdf.PdfPTable) ArrayList(java.util.ArrayList) MaterialFlowResourcesConstants(com.qcadoo.mes.materialFlowResources.constants.MaterialFlowResourcesConstants) Lists(com.google.common.collect.Lists) Chunk(com.lowagie.text.Chunk) SearchCriterion(com.qcadoo.model.api.search.SearchCriterion) Phrase(com.lowagie.text.Phrase) DocumentDataProvider(com.qcadoo.mes.materialFlowResources.print.helper.DocumentDataProvider) PdfHelper(com.qcadoo.report.api.pdf.PdfHelper) Service(org.springframework.stereotype.Service) BatchFields(com.qcadoo.mes.advancedGenealogy.constants.BatchFields) PositionFields(com.qcadoo.mes.materialFlowResources.constants.PositionFields) Paragraph(com.lowagie.text.Paragraph) DocumentException(com.lowagie.text.DocumentException) TranslationService(com.qcadoo.localization.api.TranslationService) Maps(com.google.common.collect.Maps) Document(com.lowagie.text.Document) NumberService(com.qcadoo.model.api.NumberService) ProductFields(com.qcadoo.mes.basic.constants.ProductFields) StorageLocationFields(com.qcadoo.mes.materialFlowResources.constants.StorageLocationFields) HeaderPair(com.qcadoo.mes.materialFlowResources.print.helper.DocumentPdfHelper.HeaderPair) PdfPCell(com.lowagie.text.pdf.PdfPCell) Comparator(java.util.Comparator) Collections(java.util.Collections) Entity(com.qcadoo.model.api.Entity) Position(com.qcadoo.mes.materialFlowResources.print.helper.Position) ArrayList(java.util.ArrayList) PositionsHolder(com.qcadoo.mes.materialFlowResources.print.helper.PositionsHolder) PdfPTable(com.lowagie.text.pdf.PdfPTable) HeaderAlignment(com.qcadoo.report.api.pdf.HeaderAlignment)

Example 15 with HeaderAlignment

use of com.qcadoo.report.api.pdf.HeaderAlignment in project mes by qcadoo.

the class DeliveryReportPdf method prepareHeaderAlignment.

private Map<String, HeaderAlignment> prepareHeaderAlignment(List<Entity> filteredColumnsForDeliveries, Locale locale) {
    Map<String, HeaderAlignment> alignments = Maps.newHashMap();
    for (Entity column : filteredColumnsForDeliveries) {
        String alignment = column.getStringField(ColumnForDeliveriesFields.ALIGNMENT);
        HeaderAlignment headerAlignment = HeaderAlignment.RIGHT;
        if (ColumnAlignment.LEFT.equals(ColumnAlignment.parseString(alignment))) {
            headerAlignment = HeaderAlignment.LEFT;
        } else if (ColumnAlignment.RIGHT.equals(ColumnAlignment.parseString(alignment))) {
            headerAlignment = HeaderAlignment.RIGHT;
        }
        alignments.put(prepareHeaderTranslation(column.getStringField(ColumnForDeliveriesFields.NAME), locale), headerAlignment);
    }
    return alignments;
}
Also used : Entity(com.qcadoo.model.api.Entity) HeaderAlignment(com.qcadoo.report.api.pdf.HeaderAlignment)

Aggregations

HeaderAlignment (com.qcadoo.report.api.pdf.HeaderAlignment)23 PdfPTable (com.lowagie.text.pdf.PdfPTable)16 Entity (com.qcadoo.model.api.Entity)16 Map (java.util.Map)7 PdfPCell (com.lowagie.text.pdf.PdfPCell)5 ArrayList (java.util.ArrayList)5 Phrase (com.lowagie.text.Phrase)4 Date (java.util.Date)4 Paragraph (com.lowagie.text.Paragraph)3 ColumnAlignment (com.qcadoo.mes.columnExtension.constants.ColumnAlignment)3 HashMap (java.util.HashMap)3 List (java.util.List)3 Lists (com.google.common.collect.Lists)2 Maps (com.google.common.collect.Maps)2 Document (com.lowagie.text.Document)2 DocumentException (com.lowagie.text.DocumentException)2 Element (com.lowagie.text.Element)2 TranslationService (com.qcadoo.localization.api.TranslationService)2 ProductFields (com.qcadoo.mes.basic.constants.ProductFields)2 DataDefinitionService (com.qcadoo.model.api.DataDefinitionService)2