Search in sources :

Example 1 with OrderColumn

use of com.qcadoo.mes.workPlans.pdf.document.order.column.OrderColumn in project mes by qcadoo.

the class WorkPlanColumnServiceImpl method getOrderColumns.

@Override
public Map<OrderColumn, ColumnAlignment> getOrderColumns(final Entity workPlan) {
    Map<OrderColumn, ColumnAlignment> orderColumnWithAlignment = Maps.newLinkedHashMap();
    Map<String, OrderColumn> identifierOrderColumn = applicationContext.getBeansOfType(OrderColumn.class);
    List<Entity> columns = getWorkPlanOrderColumns(workPlan);
    for (Entity column : columns) {
        Entity columnForOrders = getColumnForOrders(column);
        String identifier = getIdentifier(columnForOrders);
        ColumnAlignment alignment = getColumnAlignment(columnForOrders);
        OrderColumn key = identifierOrderColumn.get(identifier);
        if (Objects.nonNull(key)) {
            orderColumnWithAlignment.put(key, alignment);
        }
    }
    return orderColumnWithAlignment;
}
Also used : Entity(com.qcadoo.model.api.Entity) ColumnAlignment(com.qcadoo.mes.columnExtension.constants.ColumnAlignment) OrderColumn(com.qcadoo.mes.workPlans.pdf.document.order.column.OrderColumn)

Example 2 with OrderColumn

use of com.qcadoo.mes.workPlans.pdf.document.order.column.OrderColumn 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)

Aggregations

ColumnAlignment (com.qcadoo.mes.columnExtension.constants.ColumnAlignment)2 OrderColumn (com.qcadoo.mes.workPlans.pdf.document.order.column.OrderColumn)2 Entity (com.qcadoo.model.api.Entity)2 PdfPCell (com.lowagie.text.pdf.PdfPCell)1 PdfPTable (com.lowagie.text.pdf.PdfPTable)1 HeaderAlignment (com.qcadoo.report.api.pdf.HeaderAlignment)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1