@Override public void onClick() { final List<AuftragDO> list = getList(); final byte[] xls = orderExport.export(list); if (xls == null || xls.length == 0) { form.addError("datatable.no-records-found"); return; } final String filename = "ProjectForge-OrderExport_" + DateHelper.getDateAsFilenameSuffix(new Date()) + ".xls"; DownloadUtils.setDownloadTarget(xls, filename); } }, getString("exportAsXls")).setTooltip(getString("tooltip.export.excel"));
ExportColumn[] columns = createOrderColumns(); String sheetTitle = ThreadLocalUserContext.getLocalizedString("fibu.auftrag.auftraege"); ExportSheet sheet = xls.addSheet(sheetTitle); for (final AuftragDO order : list) { final PropertyMapping mapping = new PropertyMapping(); addOrderMapping(mapping, order); sheet.addRow(mapping.getMapping(), 0); columns = createPosColumns(); sheetTitle = ThreadLocalUserContext.getLocalizedString("fibu.auftrag.positions"); sheet = xls.addSheet(sheetTitle); for (final AuftragsPositionDO pos : order.getPositionenExcludingDeleted()) { final PropertyMapping mapping = new PropertyMapping(); addPosMapping(mapping, order, pos); sheet.addRow(mapping.getMapping(), 0); columns = createPaymentColumns(); sheetTitle = ThreadLocalUserContext.getLocalizedString("fibu.auftrag.paymentschedule"); sheet = xls.addSheet(sheetTitle); addPaymentsMapping(mapping, order, paymentScheduleDO); sheet.addRow(mapping.getMapping(), 0);
mapping.add(PosCol.DATE_OF_OFFER, order.getAngebotsDatum()); mapping.add(PosCol.DATE_OF_ENTRY, order.getErfassungsDatum()); mapping.add(PosCol.DATE_OF_DESICION, ensureErfassungsDatum(order)); mapping.add(PosCol.PROJECT, order.getProjektAsString()); mapping.add(PosCol.ORDER_TITLE, order.getTitel()); addCurrency(mapping, PosCol.INVOICED, invoicedSum); addCurrency(mapping, PosCol.TO_BE_INVOICED, toBeInvoicedSum); mapping.add(PosCol.COMPLETELY_INVOICED, pos.isVollstaendigFakturiert() == true ? "x" : ""); final Set<RechnungsPositionVO> invoicePositions = rechnungCache .getRechnungsPositionVOSetByAuftragsPositionId(pos.getId()); mapping.add(PosCol.INVOICES, getInvoices(invoicePositions)); if (PeriodOfPerformanceType.OWN.equals(pos.getPeriodOfPerformanceType())) { final TaskNode node = getTenantRegistry().getTaskTree().getTaskNodeById(pos.getTaskId()); mapping.add(PosCol.TASK, node != null ? node.getTask().getTitle() : ""); mapping.add(PosCol.COMMENT, pos.getBemerkung());
final BigDecimal toBeInvoicedSum = order.getZuFakturierenSum(); mapping.add(OrderCol.NETSUM, netSum); addCurrency(mapping, OrderCol.INVOICED, invoicedSum); addCurrency(mapping, OrderCol.TO_BE_INVOICED, toBeInvoicedSum); mapping.add(OrderCol.COMPLETELY_INVOICED, order.isVollstaendigFakturiert() == true ? "x" : ""); final Set<RechnungsPositionVO> invoicePositions = rechnungCache .getRechnungsPositionVOSetByAuftragId(order.getId()); mapping.add(OrderCol.INVOICES, getInvoices(invoicePositions)); mapping.add(OrderCol.PERIOD_OF_PERFORMANCE_BEGIN, order.getPeriodOfPerformanceBegin()); mapping.add(OrderCol.PERIOD_OF_PERFORMANCE_END, order.getPeriodOfPerformanceEnd());
byte[] export = orderExport.export(auftragDOList); boolean hasperformaceBegin = false, hasPerformanceEnd = false, hasStatusBeschreibung = false; ExcelImport excelImport = new ExcelImport(new ByteArrayInputStream(export));
e.setPaymentSchedules(paymentSchedules); auftragDOList.add(e); byte[] export = orderExport.export(auftragDOList); boolean hasFirstScheduleDate = false, hasSecondScheduleDate = false, hasCommentfirstSchedule = false, hasCommentSecondSchedule = false, hasScheduleNumber = false, hasSetBoolean = false,