/** @see de.willuhn.jameica.hbci.io.print.PrintSupportUeberweisung#printContent() */ Print printContent() throws ApplicationException { Object data = this.getContext(); if (data instanceof TablePart) data = ((TablePart) data).getSelection(); if (!(data instanceof BaseUeberweisung[])) throw new ApplicationException(i18n.tr("Bitte wählen Sie mindestens einen Auftrag aus")); try { DefaultGridLook look = new DefaultGridLook(); look.setHeaderBackground(new RGB(220, 220, 220)); LineBorder border = new LineBorder(new RGB(100, 100, 100)); border.setGapSize(3); look.setCellBorder(border); GridPrint table = new GridPrint("l:p:n, l:d:n, l:d:n, l:p:g, r:p:n, l:p:n", look); table.addHeader(new TextPrint(i18n.tr("Datum"), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Konto"), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Gegenkonto"), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Zweck"), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Betrag"), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Ausgeführt"), fontTinyBold)); BaseUeberweisung[] list = (BaseUeberweisung[]) data; TextStyle typeDone = new TextStyle().font(fontTiny).foreground(new RGB(120, 120, 120)); TextStyle typeOpen = new TextStyle().font(fontTiny).foreground(new RGB(0, 0, 0)); for (BaseUeberweisung u : list) { TextStyle style = u.ausgefuehrt() ? typeDone : typeOpen; Konto k = u.getKonto(); String usage = VerwendungszweckUtil.toString(u, "\n"); Date ausgefuehrt = u.getAusfuehrungsdatum(); table.add(new TextPrint(HBCI.DATEFORMAT.format(u.getTermin()), style)); table.add(new TextPrint(k.getLongName(), style)); table.add( new TextPrint( i18n.tr( "{0}\nIBAN {1}, BIC {2}", u.getGegenkontoName(), u.getGegenkontoNummer(), u.getGegenkontoBLZ()), style)); table.add(new TextPrint(usage, style)); table.add( new TextPrint(HBCI.DECIMALFORMAT.format(u.getBetrag()) + " " + k.getWaehrung(), style)); if (ausgefuehrt != null) table.add(new TextPrint(HBCI.DATEFORMAT.format(ausgefuehrt), style)); else table.add(new TextPrint(i18n.tr(u.ausgefuehrt() ? "ja" : "nein"), style)); } return table; } catch (RemoteException re) { Logger.error("unable to print data", re); throw new ApplicationException(i18n.tr("Druck fehlgeschlagen: {0}", re.getMessage())); } }
/** @see de.willuhn.jameica.hbci.io.print.AbstractPrintSupport#printContent() */ Print printContent() throws ApplicationException { Object data = this.ctx; if (data == null) throw new ApplicationException(i18n.tr("Bitte wählen Sie einen Auftrag aus")); if (data instanceof TablePart) data = ((TablePart) data).getSelection(); if (!(data instanceof SammelTransfer)) throw new ApplicationException(i18n.tr("Bitte wählen Sie einen Auftrag aus")); try { SammelTransfer a = (SammelTransfer) data; Konto k = a.getKonto(); // Das Haupt-Layout GridPrint grid = new GridPrint("l:d:g"); // Die eigentlich Tabelle mit den Werten { DefaultGridLook look = new DefaultGridLook(5, 5); GridPrint table = new GridPrint("l:p:n, l:d:g", look); // Bezeichnung table.add(new TextPrint(i18n.tr("Bezeichnung"), fontNormal)); table.add(new TextPrint(notNull(a.getBezeichnung()), fontBold)); // Konto table.add(new TextPrint(i18n.tr("Konto"), fontNormal)); table.add(new TextPrint(notNull(k != null ? k.getLongName() : null), fontNormal)); // Termin Date termin = a.getTermin(); table.add(new TextPrint(i18n.tr("Fällig am"), fontNormal)); table.add(new TextPrint(termin == null ? "-" : HBCI.DATEFORMAT.format(termin), fontNormal)); // Summe table.add(new TextPrint(i18n.tr("Summe"), fontNormal)); table.add( new TextPrint( HBCI.DECIMALFORMAT.format(a.getSumme()) + " " + k.getWaehrung(), fontBold)); // Ausfuehrungsstatus Date ausgefuehrt = a.getAusfuehrungsdatum(); table.add(new TextPrint(i18n.tr("Ausgeführt"), fontNormal)); if (ausgefuehrt != null) table.add(new TextPrint(HBCI.DATEFORMAT.format(ausgefuehrt), fontBold)); else table.add(new TextPrint(a.ausgefuehrt() ? "Ja" : "Nein", fontBold)); grid.add(table); // Zum Haupt-Layout hinzufuegen } // Leerzeile grid.add(new LineBreakPrint(fontNormal)); grid.add(new LineBreakPrint(fontNormal)); // Liste der Buchungen grid.add(new TextPrint(i18n.tr("Enthaltene Buchungen"), fontBold)); // Leerzeile grid.add(new LineBreakPrint(fontNormal)); DBIterator buchungen = a.getBuchungen(); if (buchungen.size() > 0) { DefaultGridLook look = new DefaultGridLook(); look.setHeaderBackground(new RGB(220, 220, 220)); LineBorder border = new LineBorder(new RGB(100, 100, 100)); border.setGapSize(3); look.setCellBorder(border); GridPrint table = new GridPrint("r:d:n, l:d:n, l:p:g, l:p:n, r:p:n", look); table.addHeader(new TextPrint(i18n.tr("Nr."), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Gegenkonto"), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Zweck"), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Typ"), fontTinyBold)); table.addHeader(new TextPrint(i18n.tr("Betrag"), fontTinyBold)); int count = 0; while (buchungen.hasNext()) { SammelTransferBuchung b = (SammelTransferBuchung) buchungen.next(); String usage = VerwendungszweckUtil.toString(b, "\n"); table.add(new TextPrint(Integer.toString(++count), fontTiny)); table.add( new TextPrint( i18n.tr( "{0}, Kto. {1}, BLZ {2}", b.getGegenkontoName(), b.getGegenkontoNummer(), b.getGegenkontoBLZ()), fontTiny)); table.add(new TextPrint(usage, fontTiny)); table.add(new TextPrint(notNull(TextSchluessel.get(b.getTextSchluessel())), fontTiny)); table.add( new TextPrint( HBCI.DECIMALFORMAT.format(b.getBetrag()) + " " + k.getWaehrung(), fontTiny)); } grid.add(table); // Zum Haupt-Layout hinzufuegen } else { grid.add(new TextPrint("- " + i18n.tr("keine") + " -", fontTiny)); } return grid; } catch (RemoteException re) { Logger.error("unable to print data", re); throw new ApplicationException(i18n.tr("Druck fehlgeschlagen: {0}", re.getMessage())); } }