Example usage for com.itextpdf.text Element ALIGN_LEFT

List of usage examples for com.itextpdf.text Element ALIGN_LEFT

Introduction

In this page you can find the example usage for com.itextpdf.text Element ALIGN_LEFT.

Prototype

int ALIGN_LEFT

To view the source code for com.itextpdf.text Element ALIGN_LEFT.

Click Source Link

Document

A possible value for paragraph alignment.

Usage

From source file:de.jost_net.JVerein.io.BuchungAuswertungPDF.java

License:Open Source License

public BuchungAuswertungPDF(ArrayList<Buchungsart> buchungsarten, final File file, BuchungQuery query,
        boolean einzel) throws ApplicationException {
    try {//w  ww  .j a v a  2  s  . c om
        FileOutputStream fos = new FileOutputStream(file);
        String title = null;
        if (einzel) {
            title = "Buchungsliste";
        } else {
            title = "Summenliste";
        }
        Reporter reporter = new Reporter(fos, title, query.getSubtitle(), buchungsarten.size());

        if (!einzel) {
            createTableHeaderSumme(reporter);
        }

        for (Buchungsart bua : buchungsarten) {
            query.setOrderDatum();
            List<Buchung> liste = getBuchungenEinerBuchungsart(query.get(), bua);
            createTableContent(reporter, bua, liste, einzel);
        }
        if (buchungsarten.size() > 1) {
            if (einzel) {
                createTableHeaderEinzel(reporter);
                reporter.addColumn("", Element.ALIGN_LEFT);
                reporter.addColumn("", Element.ALIGN_LEFT);
                reporter.addColumn("", Element.ALIGN_LEFT);
                reporter.addColumn("Gesamtsumme", Element.ALIGN_LEFT);
                reporter.addColumn(summe);
                reporter.closeTable();
            } else {
                reporter.addColumn("Summe Einnahmen", Element.ALIGN_LEFT);
                reporter.addColumn(summeeinnahmen);
                reporter.addColumn("Summe Ausgaben", Element.ALIGN_LEFT);
                reporter.addColumn(summeausgaben);
                reporter.addColumn("Summe Umbuchungen", Element.ALIGN_LEFT);
                reporter.addColumn(summeumbuchungen);
                reporter.addColumn("Saldo", Element.ALIGN_LEFT);
                reporter.addColumn(summeeinnahmen + summeausgaben + summeumbuchungen);
            }

        }
        GUI.getStatusBar().setSuccessText("Auswertung fertig.");

        reporter.close();
        fos.close();
        FileViewer.show(file);
    } catch (DocumentException e) {
        Logger.error("error while creating report", e);
        throw new ApplicationException("Fehler", e);
    } catch (FileNotFoundException e) {
        Logger.error("error while creating report", e);
        throw new ApplicationException("Fehler", e);
    } catch (IOException e) {
        Logger.error("error while creating report", e);
        throw new ApplicationException("Fehler", e);
    }
}

From source file:de.jost_net.JVerein.io.BuchungAuswertungPDF.java

License:Open Source License

private void createTableContent(Reporter reporter, Buchungsart bua, List<Buchung> buchungen, boolean einzel)
        throws RemoteException, DocumentException {
    if (Einstellungen.getEinstellung().getUnterdrueckungOhneBuchung() && buchungen.size() == 0) {
        return;//from   ww  w. j  a v a 2  s . c o m
    }
    if (einzel) {
        Paragraph pBuchungsart = new Paragraph(bua.getBezeichnung(), Reporter.getFreeSansBold(10));
        reporter.add(pBuchungsart);
    }
    double buchungsartSumme = 0;
    if (einzel) {
        createTableHeaderEinzel(reporter);
    }

    for (Buchung b : buchungen) {
        if (einzel) {
            reporter.addColumn(new JVDateFormatTTMMJJJJ().format(b.getDatum()), Element.ALIGN_LEFT);
            if (b.getAuszugsnummer() != null) {
                reporter.addColumn(
                        b.getAuszugsnummer() + "/" + (b.getBlattnummer() != null ? b.getBlattnummer() : "-"),
                        Element.ALIGN_LEFT);
            } else {
                reporter.addColumn("", Element.ALIGN_LEFT);
            }
            reporter.addColumn(b.getName(), Element.ALIGN_LEFT);
            reporter.addColumn(b.getZweck(), Element.ALIGN_LEFT);
            reporter.addColumn(b.getBetrag());
        }
        buchungsartSumme += b.getBetrag();
        if (bua.getArt() == ArtBuchungsart.EINNAHME) {
            summeeinnahmen += b.getBetrag();
        }
        if (bua.getArt() == ArtBuchungsart.AUSGABE) {
            summeausgaben += b.getBetrag();
        }
        if (bua.getArt() == ArtBuchungsart.UMBUCHUNG) {
            summeumbuchungen += b.getBetrag();
        }
    }
    if (einzel) {
        if (buchungen.size() == 0) {
            reporter.addColumn("", Element.ALIGN_LEFT);
            reporter.addColumn("", Element.ALIGN_LEFT);
            reporter.addColumn("keine Buchung", Element.ALIGN_LEFT);
            reporter.addColumn("", Element.ALIGN_LEFT);
            reporter.addColumn("", Element.ALIGN_LEFT);
        } else {
            reporter.addColumn("", Element.ALIGN_LEFT);
            reporter.addColumn("", Element.ALIGN_LEFT);
            reporter.addColumn("", Element.ALIGN_LEFT);
            reporter.addColumn(String.format("Summe %s", bua.getBezeichnung()), Element.ALIGN_LEFT);
            summe += buchungsartSumme;
            reporter.addColumn(buchungsartSumme);
        }
    } else {
        reporter.addColumn(bua.getBezeichnung(), Element.ALIGN_LEFT);
        reporter.addColumn(buchungsartSumme);
    }
    if (einzel) {
        reporter.closeTable();
    }
}

From source file:de.jost_net.JVerein.io.BuchungsjournalPDF.java

License:Open Source License

public BuchungsjournalPDF(BuchungQuery query, final File file) throws ApplicationException {
    try {// ww  w . ja  v  a2s.  c  o  m
        FileOutputStream fos = new FileOutputStream(file);
        Reporter reporter = new Reporter(fos, "Buchungsjournal", query.getSubtitle(), 1);

        double einnahmen = 0;
        double ausgaben = 0;
        double umbuchungen = 0;
        double nichtzugeordnet = 0;

        createTableHeader(reporter);

        for (Buchung b : query.get()) {
            reporter.addColumn(b.getID(), Element.ALIGN_RIGHT);
            reporter.addColumn(new JVDateFormatTTMMJJJJ().format(b.getDatum()), Element.ALIGN_LEFT);
            reporter.addColumn(b.getKonto().getNummer(), Element.ALIGN_RIGHT);
            if (b.getAuszugsnummer() != null) {
                reporter.addColumn(
                        b.getAuszugsnummer() + "/" + (b.getBlattnummer() != null ? b.getBlattnummer() : "-"),
                        Element.ALIGN_LEFT);
            } else {
                reporter.addColumn("", Element.ALIGN_LEFT);
            }
            reporter.addColumn(b.getName(), Element.ALIGN_LEFT);
            reporter.addColumn(b.getZweck(), Element.ALIGN_LEFT);
            reporter.addColumn(b.getBuchungsart() != null ? b.getBuchungsart().getBezeichnung() : "",
                    Element.ALIGN_LEFT);
            reporter.addColumn(b.getBetrag());
            if (b.getBuchungsart() != null) {
                int buchungsartart = b.getBuchungsart().getArt();
                switch (buchungsartart) {
                case ArtBuchungsart.EINNAHME: {
                    einnahmen += b.getBetrag();
                    break;
                }
                case ArtBuchungsart.AUSGABE: {
                    ausgaben += b.getBetrag();
                    break;
                }
                case ArtBuchungsart.UMBUCHUNG: {
                    umbuchungen += b.getBetrag();
                    break;
                }
                }
            } else {
                nichtzugeordnet += b.getBetrag();
            }
        }

        for (int i = 0; i < 5; i++) {
            reporter.addColumn("", Element.ALIGN_LEFT);
        }
        reporter.addColumn("Summe Einnahmen", Element.ALIGN_LEFT);
        reporter.addColumn("", Element.ALIGN_LEFT);
        reporter.addColumn(einnahmen);

        for (int i = 0; i < 5; i++) {
            reporter.addColumn("", Element.ALIGN_LEFT);
        }
        reporter.addColumn("Summe Ausgaben", Element.ALIGN_LEFT);
        reporter.addColumn("", Element.ALIGN_LEFT);
        reporter.addColumn(ausgaben);

        for (int i = 0; i < 5; i++) {
            reporter.addColumn("", Element.ALIGN_LEFT);
        }
        reporter.addColumn("Summe Umbuchungen", Element.ALIGN_LEFT);
        reporter.addColumn("", Element.ALIGN_LEFT);
        reporter.addColumn(umbuchungen);

        if (nichtzugeordnet != 0) {
            for (int i = 0; i < 5; i++) {
                reporter.addColumn("", Element.ALIGN_LEFT);
            }
            reporter.addColumn("Summe nicht zugeordnet", Element.ALIGN_LEFT);
            reporter.addColumn("", Element.ALIGN_LEFT);
            reporter.addColumn(nichtzugeordnet);
        }

        reporter.closeTable();
        GUI.getStatusBar().setSuccessText("Auswertung fertig.");

        reporter.close();
        fos.close();
        FileViewer.show(file);
    } catch (Exception e) {
        Logger.error("error while creating report", e);
        throw new ApplicationException("Fehler", e);
    }
}

From source file:de.jost_net.JVerein.io.BuchungsklassesaldoPDF.java

License:Open Source License

public BuchungsklassesaldoPDF(ArrayList<BuchungsklasseSaldoZeile> zeile, final File file, Date datumvon,
        Date datumbis) throws ApplicationException {
    try {/*from  ww w . j  av  a  2s . c  o  m*/
        FileOutputStream fos = new FileOutputStream(file);
        String subtitle = new JVDateFormatTTMMJJJJ().format(datumvon) + " - "
                + new JVDateFormatTTMMJJJJ().format(datumbis);
        Reporter reporter = new Reporter(fos, "Buchungsklassen-Saldo", subtitle, zeile.size());
        makeHeader(reporter);

        for (BuchungsklasseSaldoZeile bkz : zeile) {
            switch (bkz.getStatus()) {
            case BuchungsklasseSaldoZeile.HEADER: {
                reporter.addColumn((String) bkz.getAttribute("buchungsklassenbezeichnung"), Element.ALIGN_LEFT,
                        new BaseColor(220, 220, 220), 4);
                break;
            }
            case BuchungsklasseSaldoZeile.DETAIL: {
                reporter.addColumn((String) bkz.getAttribute("buchungsartbezeichnung"), Element.ALIGN_LEFT);
                reporter.addColumn((Double) bkz.getAttribute("einnahmen"));
                reporter.addColumn((Double) bkz.getAttribute("ausgaben"));
                reporter.addColumn((Double) bkz.getAttribute("umbuchungen"));
                break;
            }
            case BuchungsklasseSaldoZeile.SALDOFOOTER: {
                reporter.addColumn((String) bkz.getAttribute("buchungsklassenbezeichnung"),
                        Element.ALIGN_RIGHT);
                reporter.addColumn((Double) bkz.getAttribute("einnahmen"));
                reporter.addColumn((Double) bkz.getAttribute("ausgaben"));
                reporter.addColumn((Double) bkz.getAttribute("umbuchungen"));
                break;
            }
            case BuchungsklasseSaldoZeile.GESAMTSALDOFOOTER: {
                reporter.addColumn("Gesamt", Element.ALIGN_LEFT, 4);
                reporter.addColumn((String) bkz.getAttribute("buchungsklassenbezeichnung"),
                        Element.ALIGN_RIGHT);
                reporter.addColumn((Double) bkz.getAttribute("einnahmen"));
                reporter.addColumn((Double) bkz.getAttribute("ausgaben"));
                reporter.addColumn((Double) bkz.getAttribute("umbuchungen"));
                break;
            }
            case BuchungsklasseSaldoZeile.GESAMTGEWINNVERLUST:
            case BuchungsklasseSaldoZeile.SALDOGEWINNVERLUST: {
                reporter.addColumn((String) bkz.getAttribute("buchungsklassenbezeichnung"),
                        Element.ALIGN_RIGHT);
                reporter.addColumn((Double) bkz.getAttribute("einnahmen"));
                reporter.addColumn("", Element.ALIGN_LEFT, 2);
                break;
            }
            case BuchungsklasseSaldoZeile.NICHTZUGEORDNETEBUCHUNGEN: {
                reporter.addColumn((String) bkz.getAttribute("buchungsklassenbezeichnung"), Element.ALIGN_LEFT);
                reporter.addColumn((Integer) bkz.getAttribute("anzahlbuchungen"));
                reporter.addColumn("", Element.ALIGN_LEFT, 2);
                break;
            }
            }
        }
        GUI.getStatusBar().setSuccessText("Auswertung fertig.");
        reporter.closeTable();
        reporter.close();
        fos.close();
        FileViewer.show(file);
    } catch (Exception e) {
        Logger.error("error while creating report", e);
        throw new ApplicationException("Fehler", e);
    }
}

From source file:de.jost_net.JVerein.io.JahressaldoPDF.java

License:Open Source License

public JahressaldoPDF(ArrayList<SaldoZeile> zeile, final File file, Geschaeftsjahr gj)
        throws ApplicationException {
    try {//from  ww  w  .  ja va 2 s  .c  om
        FileOutputStream fos = new FileOutputStream(file);
        String subtitle = gj.toString();
        Reporter reporter = new Reporter(fos, "Jahressaldo", subtitle, zeile.size());

        reporter.addHeaderColumn("Konto-\nnummer", Element.ALIGN_CENTER, 50, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Kontobezeichnung", Element.ALIGN_CENTER, 90, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Anfangs-\nbestand", Element.ALIGN_CENTER, 45, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Einnahmen", Element.ALIGN_CENTER, 45, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Ausgaben", Element.ALIGN_CENTER, 45, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Um-\nbuchungen", Element.ALIGN_CENTER, 45, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Endbestand", Element.ALIGN_CENTER, 45, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Bemerkung", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        reporter.createHeader();

        for (SaldoZeile sz : zeile) {
            reporter.addColumn((String) sz.getAttribute("kontonummer"), Element.ALIGN_LEFT);
            reporter.addColumn((String) sz.getAttribute("kontobezeichnung"), Element.ALIGN_LEFT);
            reporter.addColumn((Double) sz.getAttribute("anfangsbestand"));
            reporter.addColumn((Double) sz.getAttribute("einnahmen"));
            reporter.addColumn((Double) sz.getAttribute("ausgaben"));
            reporter.addColumn((Double) sz.getAttribute("umbuchungen"));
            reporter.addColumn((Double) sz.getAttribute("endbestand"));
            reporter.addColumn((String) sz.getAttribute("bemerkung"), Element.ALIGN_LEFT);
        }
        reporter.closeTable();
        GUI.getStatusBar().setSuccessText("Auswertung fertig.");

        reporter.close();
        fos.close();
        FileViewer.show(file);
    } catch (Exception e) {
        Logger.error("error while creating report", e);
        throw new ApplicationException("Fehler beim Erzeugen des Reports", e);
    }
}

From source file:de.jost_net.JVerein.io.Kontoauszug.java

License:Open Source License

private void generiereMitglied(Mitglied m, Date von, Date bis) throws RemoteException, DocumentException {
    rpt.newPage();//from   w ww.  j a  v  a 2s.co m
    rpt.add(Einstellungen.getEinstellung().getName(), 20);
    rpt.add(String.format("Kontoauszug %s", Adressaufbereitung.getVornameName(m)), 18);
    JVDateFormatTTMMJJJJ jv = new JVDateFormatTTMMJJJJ();
    rpt.add(String.format("Stand: %s", jv.format(new Date())), 16);

    rpt.addHeaderColumn(" ", Element.ALIGN_CENTER, 20, BaseColor.LIGHT_GRAY);
    rpt.addHeaderColumn("Datum", Element.ALIGN_CENTER, 20, BaseColor.LIGHT_GRAY);
    rpt.addHeaderColumn("Zweck", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
    rpt.addHeaderColumn("Zahlungsweg", Element.ALIGN_LEFT, 20, BaseColor.LIGHT_GRAY);
    rpt.addHeaderColumn("Soll", Element.ALIGN_RIGHT, 20, BaseColor.LIGHT_GRAY);
    rpt.addHeaderColumn("Ist", Element.ALIGN_RIGHT, 20, BaseColor.LIGHT_GRAY);
    rpt.addHeaderColumn("Differenz", Element.ALIGN_RIGHT, 20, BaseColor.LIGHT_GRAY);
    rpt.createHeader();

    MitgliedskontoNode node = new MitgliedskontoNode(m, von, bis);
    generiereZeile(node);
    GenericIterator gi1 = node.getChildren();
    while (gi1.hasNext()) {
        MitgliedskontoNode n1 = (MitgliedskontoNode) gi1.next();
        generiereZeile(n1);
        GenericIterator gi2 = n1.getChildren();
        while (gi2.hasNext()) {
            MitgliedskontoNode n2 = (MitgliedskontoNode) gi2.next();
            generiereZeile(n2);
        }
    }
    rpt.closeTable();
}

From source file:de.jost_net.JVerein.io.Kontoauszug.java

License:Open Source License

private void generiereZeile(MitgliedskontoNode node) {
    switch (node.getType()) {
    case MitgliedskontoNode.MITGLIED:
        rpt.addColumn("Gesamt", Element.ALIGN_LEFT);
        break;/*w  w w.  ja  va  2 s.c o  m*/
    case MitgliedskontoNode.SOLL:
        rpt.addColumn("Soll", Element.ALIGN_CENTER);
        break;
    case MitgliedskontoNode.IST:
        rpt.addColumn("Ist", Element.ALIGN_RIGHT);
        break;
    }
    rpt.addColumn((Date) node.getAttribute("datum"), Element.ALIGN_CENTER);
    rpt.addColumn((String) node.getAttribute("zweck1"), Element.ALIGN_LEFT);
    rpt.addColumn(Zahlungsweg.get((Integer) node.getAttribute("zahlungsweg")), Element.ALIGN_LEFT);
    rpt.addColumn((Double) node.getAttribute("soll"));
    rpt.addColumn((Double) node.getAttribute("ist"));
    rpt.addColumn((Double) node.getAttribute("differenz"));
}

From source file:de.jost_net.JVerein.io.MitgliedAuswertungPDF.java

License:Open Source License

@Override
public void go(ArrayList<Mitglied> list, final File file) throws ApplicationException {
    try {//from   w  ww . j a  v a 2 s . c  om
        FileOutputStream fos = new FileOutputStream(file);

        Reporter report = new Reporter(fos, adresstyp.getBezeichnungPlural(), subtitle, list.size(), 50, 10, 20,
                25);

        report.addHeaderColumn("Name", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        report.addHeaderColumn("Anschrift\nKommunikation", Element.ALIGN_CENTER, 130, BaseColor.LIGHT_GRAY);
        report.addHeaderColumn("Geburts- datum", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        if (adresstyp.getJVereinid() == 1) {
            report.addHeaderColumn(
                    "Eintritt / \nAustritt / \nKndigung"
                            + (Einstellungen.getEinstellung().getSterbedatum() ? ("/\n" + "Sterbedatum") : ""),
                    Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        }
        report.addHeaderColumn(

                "Beitragsgruppe /\nEigenschaften"
                        + (Einstellungen.getEinstellung().getExterneMitgliedsnummer() ? "\nMitgliedsnummer"
                                : ""),
                Element.ALIGN_CENTER, 60, BaseColor.LIGHT_GRAY);
        report.createHeader(100, Element.ALIGN_CENTER);

        for (int i = 0; i < list.size(); i++) {
            Mitglied m = list.get(i);
            report.addColumn(Adressaufbereitung.getNameVorname(m), Element.ALIGN_LEFT);
            String anschriftkommunikation = Adressaufbereitung.getAnschrift(m);
            if (m.getTelefonprivat() != null && m.getTelefonprivat().length() > 0) {
                anschriftkommunikation += "\n" + "Tel. priv: " + m.getTelefonprivat();
            }
            if (m.getTelefondienstlich() != null && m.getTelefondienstlich().length() > 0) {
                anschriftkommunikation += "\n" + "Tel. dienstl: " + m.getTelefondienstlich();
            }
            if (m.getHandy() != null && m.getHandy().length() > 0) {
                anschriftkommunikation += "\n" + "Handy: " + m.getHandy();
            }
            if (m.getEmail() != null && m.getEmail().length() > 0) {
                anschriftkommunikation += "\n" + "EMail: " + m.getEmail();
            }
            report.addColumn(anschriftkommunikation, Element.ALIGN_LEFT);
            report.addColumn(m.getGeburtsdatum(), Element.ALIGN_LEFT);

            Date d = m.getEintritt();
            if (d.equals(Einstellungen.NODATE)) {
                d = null;
            }
            String zelle = "";
            if (d != null) {
                zelle = new JVDateFormatTTMMJJJJ().format(d);
            }

            if (m.getAustritt() != null) {
                zelle += "\n" + new JVDateFormatTTMMJJJJ().format(m.getAustritt());
            }
            if (m.getKuendigung() != null) {
                zelle += "\n" + new JVDateFormatTTMMJJJJ().format(m.getKuendigung());
            }
            if (m.getSterbetag() != null) {
                zelle += "\n" + new JVDateFormatTTMMJJJJ().format(m.getSterbetag());
            }
            if (adresstyp.getJVereinid() == 1) {
                report.addColumn(zelle, Element.ALIGN_LEFT);
            }
            StringBuilder beitragsgruppebemerkung = new StringBuilder();
            if (m.getBeitragsgruppe() != null) {
                beitragsgruppebemerkung.append(m.getBeitragsgruppe().getBezeichnung());
            }
            StringBuilder eigenschaften = new StringBuilder();
            ArrayList<String> eig = new EigenschaftenTool().getEigenschaften(m.getID());
            for (int i2 = 0; i2 < eig.size(); i2 = i2 + 2) {
                if (i2 == 0) {
                    beitragsgruppebemerkung.append("\n");
                }
                eigenschaften.append(eig.get(i2));
                eigenschaften.append(": ");
                eigenschaften.append(eig.get(i2 + 1));
                eigenschaften.append("\n");
            }

            zelle = "";
            if (Einstellungen.getEinstellung().getExterneMitgliedsnummer()) {
                zelle += (m.getExterneMitgliedsnummer() != null ? m.getExterneMitgliedsnummer() : "");
            }

            report.addColumn(beitragsgruppebemerkung.toString() + " " + eigenschaften.toString() + " " + zelle,
                    Element.ALIGN_LEFT);
        }
        report.closeTable();

        report.add(new Paragraph(String.format("Anzahl %d: %s", list.size(), adresstyp.getBezeichnungPlural()),
                Reporter.getFreeSans(8)));

        report.add(new Paragraph("Parameter", Reporter.getFreeSans(12)));

        report.addHeaderColumn("Parameter", Element.ALIGN_RIGHT, 100, BaseColor.LIGHT_GRAY);
        report.addHeaderColumn("Wert", Element.ALIGN_LEFT, 200, BaseColor.LIGHT_GRAY);
        report.createHeader(75f, Element.ALIGN_LEFT);
        for (String key : params.keySet()) {
            report.addColumn(key, Element.ALIGN_RIGHT);
            report.addColumn(params.get(key), Element.ALIGN_LEFT);
        }
        report.closeTable();
        report.close();
        GUI.getStatusBar().setSuccessText(String.format("Auswertung fertig. %d Stze.", list.size()));
    } catch (Exception e) {
        Logger.error("error while creating report", e);
        throw new ApplicationException("Fehler", e);
    }
}

From source file:de.jost_net.JVerein.io.MitgliederStatistik.java

License:Open Source License

public MitgliederStatistik(final File file, Date stichtag) throws ApplicationException {
    try {/*from w w w .  j  av  a  2 s.  c  o  m*/
        if (stichtag == null) {
            throw new ApplicationException("Stichtag ist leer");
        }
        FileOutputStream fos = new FileOutputStream(file);
        String subtitle = "";
        if (stichtag != null) {
            subtitle = "Stichtag: " + new JVDateFormatTTMMJJJJ().format(stichtag);
        }
        Reporter reporter = new Reporter(fos, "Mitgliederstatistik", subtitle, 3);

        Paragraph pAltersgruppen = new Paragraph("\n" + "Altersgruppen", Reporter.getFreeSans(11));
        reporter.add(pAltersgruppen);

        reporter.addHeaderColumn("Altersgruppe", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Insgesamt", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("mnnlich", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("weiblich", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("ohne Angabe", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        reporter.createHeader(70f, Element.ALIGN_LEFT);

        AltersgruppenParser ap = new AltersgruppenParser(Einstellungen.getEinstellung().getAltersgruppen());
        while (ap.hasNext()) {
            VonBis vb = ap.getNext();
            addAltersgruppe(reporter, vb, stichtag);
        }
        addAltersgruppe(reporter, new VonBis(-1, -1), stichtag);
        addAltersgruppe(reporter, new VonBis(0, 199), stichtag);
        reporter.closeTable();

        Paragraph pBeitragsgruppen = new Paragraph("\n" + "Beitragsgruppen", Reporter.getFreeSans(11));
        reporter.add(pBeitragsgruppen);

        reporter.addHeaderColumn("Beitragsgruppe", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Insgesamt", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("mnnlich", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("weiblich", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("ohne Angabe", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
        reporter.createHeader(70f, Element.ALIGN_LEFT);

        DBIterator<Beitragsgruppe> beitragsgruppen = Einstellungen.getDBService()
                .createList(Beitragsgruppe.class);
        beitragsgruppen.setOrder("order by bezeichnung");
        while (beitragsgruppen.hasNext()) {
            Beitragsgruppe bg = (Beitragsgruppe) beitragsgruppen.next();
            addBeitragsgruppe(reporter, bg, stichtag);
        }
        addBeitragsgruppe(reporter, null, stichtag);
        reporter.closeTable();

        try {
            JVDateFormatTTMMJJJJ ttmmjj = new JVDateFormatTTMMJJJJ();
            Geschaeftsjahr gj = new Geschaeftsjahr(stichtag);
            Paragraph pGuV = new Paragraph("\n" + String.format("Anmeldungen/Abmeldungen (%s - %s)",
                    ttmmjj.format(gj.getBeginnGeschaeftsjahr()), ttmmjj.format(gj.getEndeGeschaeftsjahr())),
                    Reporter.getFreeSans(11));
            reporter.add(pGuV);
            reporter.addHeaderColumn("Text", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
            reporter.addHeaderColumn("Anzahl", Element.ALIGN_CENTER, 30, BaseColor.LIGHT_GRAY);
            reporter.createHeader(70f, Element.ALIGN_LEFT);
            reporter.addColumn("Anmeldungen", Element.ALIGN_LEFT);
            reporter.addColumn(getAnmeldungen(gj) + "", Element.ALIGN_RIGHT);
            reporter.addColumn("Abmeldungen", Element.ALIGN_LEFT);
            reporter.addColumn(getAbmeldungen(gj) + "", Element.ALIGN_RIGHT);
            reporter.closeTable();
        } catch (ParseException e) {
            Logger.error("Fehler", e);
            throw new ApplicationException(e);
        }
        reporter.close();
        fos.close();
        FileViewer.show(file);
    } catch (Exception e) {
        Logger.error("Fehler", e);
        throw new ApplicationException("Fehler", e);
    }
}

From source file:de.jost_net.JVerein.io.MitgliederStatistik.java

License:Open Source License

private void addAltersgruppe(Reporter reporter, VonBis vb, Date stichtag) throws RemoteException {
    if (vb.getVon() == -1) {
        reporter.addColumn("ohne Geburtsdatum", Element.ALIGN_LEFT);
    } else if (vb.getVon() == 0 && vb.getBis() == 199) {
        reporter.addColumn("Insgesamt", Element.ALIGN_LEFT);
    } else {//from   ww  w.  ja  v  a 2  s  .c o  m
        reporter.addColumn(String.format("Altersgruppe %d - %d", vb.getVon(), vb.getBis()), Element.ALIGN_LEFT);
    }
    reporter.addColumn(getAltersgruppe(vb, null, stichtag) + "", Element.ALIGN_RIGHT);
    reporter.addColumn(getAltersgruppe(vb, GeschlechtInput.MAENNLICH, stichtag) + "", Element.ALIGN_RIGHT);
    reporter.addColumn(getAltersgruppe(vb, GeschlechtInput.WEIBLICH, stichtag) + "", Element.ALIGN_RIGHT);
    reporter.addColumn(getAltersgruppe(vb, GeschlechtInput.OHNEANGABE, stichtag) + "", Element.ALIGN_RIGHT);
}