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.gui.action.SpendenbescheinigungPrintAction.java

License:Open Source License

/**
 * Generierung des Standard-Dokumentes zu verwenden fr Spendenbescheinigungen
 * bis 31.12.2012/*from  ww  w . j a  v a 2 s .c o m*/
 * 
 * @param spb
 *          Die Spendenbescheinigung aus der Datenbank
 * @param fileName
 *          Der Dateiname, wohin das Dokument geschrieben werden soll
 * @throws IOException
 * @throws DocumentException
 */
private void generiereSpendenbescheinigungStandard(Spendenbescheinigung spb, String fileName)
        throws IOException, DocumentException {
    final File file = new File(fileName);
    FileOutputStream fos = new FileOutputStream(file);

    Map<String, Object> map = spb.getMap(null);
    map = new AllgemeineMap().getMap(map);

    boolean isSammelbestaetigung = spb.isSammelbestaetigung();

    Reporter rpt = new Reporter(fos, 80, 50, 50, 50);
    rpt.addHeaderColumn("Aussteller (Bezeichnung und Anschrift der steuerbegnstigten Einrichtung)",
            Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);

    rpt.createHeader();

    rpt.addColumn("\n" + getAussteller() + "\n ", Element.ALIGN_LEFT);
    rpt.closeTable();

    if (isSammelbestaetigung) {
        rpt.add("Sammelbesttigung ber " + map.get(SpendenbescheinigungVar.SPENDEART.getName()), 13);
    } else {
        rpt.add("Besttigung ber " + map.get(SpendenbescheinigungVar.SPENDEART.getName()), 13);
    }

    rpt.add("im Sinne des  10b des Einkommenssteuergesetzes an eine der in  5 Abs. 1 Nr. 9 des Krperschaftssteuergesetzes "
            + "bezeichneten Krperschaften, Personenvereinigungen oder Vermgensmassen\n", 10);

    rpt.addHeaderColumn("Name und Anschrift des Zuwendenden", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
    rpt.createHeader();
    rpt.addColumn((String) map.get(SpendenbescheinigungVar.EMPFAENGER.getName()), Element.ALIGN_LEFT);
    rpt.closeTable();

    switch (spb.getSpendenart()) {
    case Spendenart.GELDSPENDE:
        rpt.addHeaderColumn("Betrag der Zuwendung -in Ziffern-", Element.ALIGN_CENTER, 100,
                BaseColor.LIGHT_GRAY);
        break;
    case Spendenart.SACHSPENDE:
        rpt.addHeaderColumn("Wert der Zuwendung -in Ziffern-", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        break;
    }
    rpt.addHeaderColumn("-in Buchstaben-", Element.ALIGN_CENTER, 250, BaseColor.LIGHT_GRAY);
    rpt.addHeaderColumn("Tag der Zuwendung", Element.ALIGN_CENTER, 50, BaseColor.LIGHT_GRAY);
    rpt.createHeader();
    rpt.addColumn(
            "*" + Einstellungen.DECIMALFORMAT.format(map.get(SpendenbescheinigungVar.BETRAG.getName())) + "*",
            Element.ALIGN_CENTER);
    rpt.addColumn((String) map.get(SpendenbescheinigungVar.BETRAGINWORTEN.getName()), Element.ALIGN_CENTER);
    rpt.addColumn((String) map.get(SpendenbescheinigungVar.SPENDEDATUM.getName()), Element.ALIGN_CENTER);
    rpt.closeTable();

    switch (spb.getSpendenart()) {
    case Spendenart.SACHSPENDE:
        rpt.addHeaderColumn("Genaue Bezeichnung der Sachzuwendung mit Alter, Zustand, Kaufpreis usw.",
                Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        rpt.createHeader();
        rpt.addColumn(spb.getBezeichnungSachzuwendung(), Element.ALIGN_LEFT);
        rpt.closeTable();
        switch (spb.getHerkunftSpende()) {
        case HerkunftSpende.BETRIEBSVERMOEGEN:
            rpt.add("Die Sachzuwendung stammt nach den Angaben des Zuwendenden aus dem Betriebsvermgen und ist "
                    + "mit dem Entnahmewert (ggf. mit dem niedrigeren gemeinen Wert) bewertet.\n\n", 9);
            break;
        case HerkunftSpende.PRIVATVERMOEGEN:
            rpt.add("Die Sachzuwendung stammt nach den Angaben des Zuwendenden aus dem Privatvermgen.\n\n", 9);
            break;
        case HerkunftSpende.KEINEANGABEN:
            rpt.add("Der Zuwendende hat trotz Aufforderung keine Angaben zur Herkunft der Sachzuwendung gemacht.\n\n",
                    9);
            break;
        }
        if (spb.getUnterlagenWertermittlung()) {
            rpt.add("Geeignete Unterlagen, die zur Wertermittlung gedient haben, z. B. Rechnung, Gutachten, liegen vor.\n\n",
                    9);
        }
    }

    /*
     * Bei Sammelbesttigungen ist der Verweis auf Verzicht in der Anlage
     * vermerkt
     */
    String verzicht = "nein";
    boolean andruckVerzicht = false;

    if (spb.getAutocreate()) {
        if (!isSammelbestaetigung) {
            if (spb.getBuchungen().get(0).getVerzicht().booleanValue()) {
                verzicht = "ja";
            }
            andruckVerzicht = true;
        }
    } else {
        if (spb.getErsatzAufwendungen()) {
            verzicht = "ja";
        }
        andruckVerzicht = true;
    }

    if (!isSammelbestaetigung) {
        if (andruckVerzicht) {
            rpt.add("Es handelt sich um den Verzicht von Aufwendungen: " + verzicht + "\n\n", 9);
        } else {
            rpt.add("Es handelt sich nicht um den Verzicht auf Erstattung von Aufwendungen: " + "\n\n", 9);
        }
    }
    if (!Einstellungen.getEinstellung().getVorlaeufig()) {
        // rdc: "Frderung" entfernt, da in "Beguenstigterzweck" enthalten
        String txt = "Wir sind wegen " + Einstellungen.getEinstellung().getBeguenstigterzweck()
                + " nach dem letzten uns zugegangenen Freistellungsbescheid bzw. nach der Anlage zum Krperschaftssteuerbescheid des Finanzamtes "
                + Einstellungen.getEinstellung().getFinanzamt() + ", StNr. "
                + Einstellungen.getEinstellung().getSteuernummer() + ", vom "
                + new JVDateFormatTTMMJJJJ().format(Einstellungen.getEinstellung().getBescheiddatum())
                + " nach  5 Abs. 1 Nr. 9 des Krperschaftsteuergesetzes von der Krperschaftsteuer und nach  3 Nr. 6 des Gewerbesteuergesetzes von der Gewerbesteuer befreit.";
        rpt.add(txt, 9);
    } else {
        // rdc: "Frderung" entfernt, da in "Beguenstigterzweck" enthalten
        String txt = "Wir sind wegen " + Einstellungen.getEinstellung().getBeguenstigterzweck()
                + " durch vorlufige Bescheinigung des Finanzamtes "
                + Einstellungen.getEinstellung().getFinanzamt() + ", StNr. "
                + Einstellungen.getEinstellung().getSteuernummer() + ", vom "
                + new JVDateFormatTTMMJJJJ().format(Einstellungen.getEinstellung().getBescheiddatum()) + " ab "
                + new JVDateFormatTTMMJJJJ().format(Einstellungen.getEinstellung().getVorlaeufigab())
                + " als steuerbegnstigten Zwecken dienend anerkannt.";
        rpt.add(txt, 9);
    }
    // rdc: "Frderung" entfernt, da in "Beguenstigterzweck" enthalten
    rpt.add("\n\nEs wird besttigt, dass die Zuwendung nur zur "
            + Einstellungen.getEinstellung().getBeguenstigterzweck() + " verwendet wird.\n", 9);
    if (!Einstellungen.getEinstellung().getMitgliedsbetraege()
            && spb.getSpendenart() == Spendenart.GELDSPENDE) {
        rpt.add("Es wird besttigt, dass es sich nicht um einen Mitgliedsbeitrag i.S.v  10b Abs. 1 Satz 2 Einkommensteuergesetzes handelt.",
                9);
    }

    if (isSammelbestaetigung) {
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        rpt.add("Es wird besttigt, dass ber die in der Gesamtsumme enthaltenen Zuwendungen keine weiteren Besttigungen, weder formelle Zuwendungsbesttigungen noch Beitragsquittungen oder hnliches ausgestellt wurden und werden.",
                9);
    }

    rpt.add("\n\n" + Einstellungen.getEinstellung().getOrt() + ", "
            + new JVDateFormatTTMMJJJJ().format(spb.getBescheinigungsdatum()), 9);

    rpt.add("\n\n\n\n.................................................................................\nUnterschrift des Zuwendungsempfngers",
            9);

    rpt.add("\n\nHinweis:", 9);
    rpt.add("\nWer vorstzlich oder grob fahrlssig eine unrichtige Zuwendungsbesttigung erstellt oder wer veranlasst, dass "
            + "Zuwendungen nicht zu den in der Zuwendungsbesttigung angegebenen steuerbegnstigten Zwecken verwendet "
            + "werden, haftet fr die Steuer, die dem Fiskus durch einen etwaigen Abzug der Zuwendungen beim Zuwendenden "
            + "entgeht ( 10b Abs. 4 EStG,  9 Abs. 3 KStG,  9 Nr. 5 GewStG).\n\n"
            + "Diese Besttigung wird nicht als Nachweis fr die steuerliche Bercksichtigung der Zuwendung anerkannt, wenn das "
            + "Datum des Freistellungsbescheides lnger als 5 Jahre bzw. das Datum der vorlufigen Bescheinigung lnger als 3 Jahre "
            + "seit Ausstellung der Besttigung zurckliegt (BMF vom 15.12.1994 - BStBl I S. 884).", 8);

    /* Es sind mehrere Spenden fr diese Spendenbescheinigung vorhanden */
    if (isSammelbestaetigung) {
        List<Buchung> buchungen = spb.getBuchungen();

        rpt.newPage();
        rpt.add(getAussteller(), 13);
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        rpt.add("Anlage zur Sammelbesttigung vom "
                + (String) map.get(SpendenbescheinigungVar.BESCHEINIGUNGDATUM.getName()), 11);
        rpt.add("fr den Zeitraum vom " + (String) map.get(SpendenbescheinigungVar.SPENDENZEITRAUM.getName()),
                11);

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

        rpt.addHeaderColumn("Datum", Element.ALIGN_LEFT, 100, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Betrag in EUR", Element.ALIGN_RIGHT, 100, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Verwendung", Element.ALIGN_LEFT, 500, BaseColor.LIGHT_GRAY);
        rpt.createHeader();

        boolean printBuchungsart = Einstellungen.getEinstellung().getSpendenbescheinigungPrintBuchungsart();

        for (Buchung buchung : buchungen) {
            rpt.addColumn(buchung.getDatum(), Element.ALIGN_RIGHT);
            rpt.addColumn(Double.valueOf(buchung.getBetrag()));
            String verwendung = "";
            if (printBuchungsart) {
                verwendung = buchung.getBuchungsart().getBezeichnung();
                // rpt.addColumn(buchung.getBuchungsart().getBezeichnung(),
                // Element.ALIGN_LEFT);
            } else {
                verwendung = buchung.getZweck();
                // rpt.addColumn(buchung.getZweck(), Element.ALIGN_LEFT);
            }
            if (buchung.getVerzicht().booleanValue()) {
                verwendung = verwendung + " (b)";
                // rpt.addColumn("Verzicht auf Erstattung von Aufwendungen",
                // Element.ALIGN_LEFT);
            } else {
                verwendung = verwendung + " (a)";
                // rpt.addColumn("Kein Verzicht auf Erstattung von Aufwendungen",
                // Element.ALIGN_LEFT);
            }
            rpt.addColumn(verwendung, Element.ALIGN_LEFT);
        }

        /* Summenzeile */
        String sumString = Einstellungen.DECIMALFORMAT.format(spb.getBetrag());
        rpt.addColumn("Summe", Element.ALIGN_LEFT, BaseColor.LIGHT_GRAY);
        rpt.addColumn(sumString, Element.ALIGN_RIGHT, BaseColor.LIGHT_GRAY);
        rpt.addColumn("", Element.ALIGN_LEFT, BaseColor.LIGHT_GRAY);

        rpt.closeTable();
        // Etwas Abstand
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        // Nun noch die Legende
        rpt.add("Legende:", 8);
        rpt.add("(a): Es handelt sich nicht um den Verzicht auf Erstattung von Aufwendungen", 8);
        rpt.add("(b): Es handelt sich um den Verzicht auf Erstattung von Aufwendungen", 8);
    }

    rpt.close();
    fos.close();
}

From source file:de.jost_net.JVerein.gui.action.SpendenbescheinigungPrintAction.java

License:Open Source License

/**
 * Generierung des Standard-Dokumentes zu verwenden fr Spendenbescheinigungen
 * ab 01.01.2013/*from  w ww  .  j  ava2s.c o  m*/
 * 
 * @param spb
 *          Die Spendenbescheinigung aus der Datenbank
 * @param fileName
 *          Der Dateiname, wohin das Dokument geschrieben werden soll
 * @throws IOException
 * @throws DocumentException
 */
private void generiereSpendenbescheinigungStandardAb2013(Spendenbescheinigung spb, String fileName)
        throws IOException, DocumentException {
    final File file = new File(fileName);
    FileOutputStream fos = new FileOutputStream(file);

    Map<String, Object> map = spb.getMap(null);
    map = new AllgemeineMap().getMap(map);

    boolean isSammelbestaetigung = spb.isSammelbestaetigung();

    Reporter rpt = new Reporter(fos, 80, 50, 50, 50);
    rpt.addHeaderColumn("Aussteller (Bezeichnung und Anschrift der steuerbegnstigten Einrichtung)",
            Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);

    rpt.createHeader();

    rpt.addColumn("\n" + getAussteller() + "\n ", Element.ALIGN_LEFT);
    rpt.closeTable();

    if (isSammelbestaetigung) {
        rpt.add("Sammelbesttigung ber " + map.get(SpendenbescheinigungVar.SPENDEART.getName()), 13);
    } else {
        rpt.add("Besttigung ber " + map.get(SpendenbescheinigungVar.SPENDEART.getName()), 13);
    }

    rpt.add("im Sinne des  10b des Einkommenssteuergesetzes an eine der in  5 Abs. 1 Nr. 9 des Krperschaftssteuergesetzes "
            + "bezeichneten Krperschaften, Personenvereinigungen oder Vermgensmassen\n", 10);

    rpt.addHeaderColumn("Name und Anschrift des Zuwendenden", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
    rpt.createHeader();
    rpt.addColumn((String) map.get(SpendenbescheinigungVar.EMPFAENGER.getName()), Element.ALIGN_LEFT);
    rpt.closeTable();

    switch (spb.getSpendenart()) {
    case Spendenart.GELDSPENDE:
        rpt.addHeaderColumn("Betrag der Zuwendung -in Ziffern-", Element.ALIGN_CENTER, 100,
                BaseColor.LIGHT_GRAY);
        break;
    case Spendenart.SACHSPENDE:
        rpt.addHeaderColumn("Wert der Zuwendung -in Ziffern-", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        break;
    }
    rpt.addHeaderColumn("-in Buchstaben-", Element.ALIGN_CENTER, 250, BaseColor.LIGHT_GRAY);
    if (!isSammelbestaetigung) {
        rpt.addHeaderColumn("Tag der Zuwendung", Element.ALIGN_CENTER, 50, BaseColor.LIGHT_GRAY);
    } else {
        rpt.addHeaderColumn("Zeitraum der Sammelbesttigung", Element.ALIGN_CENTER, 75, BaseColor.LIGHT_GRAY);
    }
    rpt.createHeader();
    rpt.addColumn(
            "*" + Einstellungen.DECIMALFORMAT.format(map.get(SpendenbescheinigungVar.BETRAG.getName())) + "*",
            Element.ALIGN_CENTER);
    rpt.addColumn((String) map.get(SpendenbescheinigungVar.BETRAGINWORTEN.getName()), Element.ALIGN_CENTER);
    if (!isSammelbestaetigung) {
        rpt.addColumn((String) map.get(SpendenbescheinigungVar.SPENDEDATUM.getName()), Element.ALIGN_CENTER);
    } else {
        rpt.addColumn((String) map.get(SpendenbescheinigungVar.SPENDENZEITRAUM.getName()),
                Element.ALIGN_CENTER);
    }
    rpt.closeTable();

    switch (spb.getSpendenart()) {
    case Spendenart.SACHSPENDE:
        rpt.addHeaderColumn("Genaue Bezeichnung der Sachzuwendung mit Alter, Zustand, Kaufpreis usw.",
                Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        rpt.createHeader();
        rpt.addColumn(spb.getBezeichnungSachzuwendung(), Element.ALIGN_LEFT);
        rpt.closeTable();
        switch (spb.getHerkunftSpende()) {
        case HerkunftSpende.BETRIEBSVERMOEGEN:
            rpt.add("Die Sachzuwendung stammt nach den Angaben des Zuwendenden aus dem Betriebsvermgen und ist "
                    + "mit dem Entnahmewert (ggf. mit dem niedrigeren gemeinen Wert) bewertet.\n\n", 9);
            break;
        case HerkunftSpende.PRIVATVERMOEGEN:
            rpt.add("Die Sachzuwendung stammt nach den Angaben des Zuwendenden aus dem Privatvermgen.\n\n", 9);
            break;
        case HerkunftSpende.KEINEANGABEN:
            rpt.add("Der Zuwendende hat trotz Aufforderung keine Angaben zur Herkunft der Sachzuwendung gemacht.\n\n",
                    9);
            break;
        }
        if (spb.getUnterlagenWertermittlung()) {
            rpt.add("Geeignete Unterlagen, die zur Wertermittlung gedient haben, z. B. Rechnung, Gutachten, liegen vor.\n\n",
                    9);
        }
    }

    /*
     * Bei Sammelbesttigungen ist der Verweis auf Verzicht in der Anlage
     * vermerkt
     */
    String verzicht = "";
    char verzichtJa = (char) 113; // box leer
    char verzichtNein = (char) 53; // X

    if (spb.getAutocreate()) {
        if (!isSammelbestaetigung && spb.getSpendenart() == Spendenart.GELDSPENDE) {
            if (spb.getBuchungen().get(0).getVerzicht().booleanValue()) {
                verzichtJa = (char) 53; // X
                verzichtNein = (char) 113; // box leer
            }
        }
    } else {
        if (spb.getErsatzAufwendungen()) {
            verzichtJa = (char) 53; // X
            verzichtNein = (char) 113; // box leer
        }
    }

    if (!isSammelbestaetigung) {
        Paragraph p = new Paragraph();
        p.setFont(Reporter.getFreeSans(9));
        p.setAlignment(Element.ALIGN_LEFT);
        p.add(new Chunk("Es handelt sich um den Verzicht auf Erstattung von Aufwendungen: "));
        p.add(new Chunk(" Ja ", Reporter.getFreeSansBold(9)));
        p.add(new Chunk(verzichtJa, FontFactory.getFont(FontFactory.ZAPFDINGBATS, 10)));
        p.add(new Chunk("   Nein ", Reporter.getFreeSansBold(9)));
        p.add(new Chunk(verzichtNein, FontFactory.getFont(FontFactory.ZAPFDINGBATS, 10)));
        p.add(new Chunk("\n\n"));
        rpt.add(p);
    } else {
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
    }
    if (!Einstellungen.getEinstellung().getVorlaeufig()) {
        String txt = "Wir sind wegen " + Einstellungen.getEinstellung().getBeguenstigterzweck()
                + " nach dem letzten uns zugegangenen Freistellungsbescheid bzw. nach der Anlage zum Krperschaftssteuerbescheid des Finanzamtes "
                + Einstellungen.getEinstellung().getFinanzamt() + ", StNr. "
                + Einstellungen.getEinstellung().getSteuernummer() + ", vom "
                + new JVDateFormatTTMMJJJJ().format(Einstellungen.getEinstellung().getBescheiddatum())
                + " nach  5 Abs. 1 Nr. 9 des Krperschaftsteuergesetzes von der Krperschaftsteuer und nach  3 Nr. 6 des Gewerbesteuergesetzes von der Gewerbesteuer befreit.";
        rpt.add(txt, 8);
    } else {
        String txt = "Wir sind wegen " + Einstellungen.getEinstellung().getBeguenstigterzweck()
                + " durch vorlufige Bescheinigung des Finanzamtes "
                + Einstellungen.getEinstellung().getFinanzamt() + ", StNr. "
                + Einstellungen.getEinstellung().getSteuernummer() + ", vom "
                + new JVDateFormatTTMMJJJJ().format(Einstellungen.getEinstellung().getBescheiddatum()) + " ab "
                + new JVDateFormatTTMMJJJJ().format(Einstellungen.getEinstellung().getVorlaeufigab())
                + " als begnstigten Zwecken dienend anerkannt.";
        rpt.add(txt, 8);
    }
    rpt.add("\nEs wird besttigt, dass die Zuwendung nur zur "
            + Einstellungen.getEinstellung().getBeguenstigterzweck() + " verwendet wird.\n", 8);
    if (spb.getSpendenart() == Spendenart.GELDSPENDE) {
        char mitgliedBetraege = (char) 113; // box leer
        if (!Einstellungen.getEinstellung().getMitgliedsbetraege()) {
            mitgliedBetraege = (char) 53; // X
        }
        Paragraph p = new Paragraph();
        p.setFont(Reporter.getFreeSans(9));
        p.setAlignment(Element.ALIGN_LEFT);
        p.add(new Chunk("\n"));
        p.add(new Chunk(
                "Nur fr steuerbegnstigte Einrichtungen, bei denen die Mitgliedsbeitrge steuerlich nicht abziehbar sind:"));
        rpt.add(p);
        p = new Paragraph();
        p.setFont(Reporter.getFreeSans(9));
        p.setAlignment(Element.ALIGN_JUSTIFIED);
        p.setFirstLineIndent((float) -18.5);
        p.setIndentationLeft((float) 18.5);
        p.add(new Chunk(mitgliedBetraege, FontFactory.getFont(FontFactory.ZAPFDINGBATS, 10)));
        p.add(new Chunk(
                "   Es wird besttigt, dass es sich nicht um einen Mitgliedsbeitrag handelt, dessen Abzug nach  10b Abs. 1 des Einkommensteuergesetzes ausgeschlossen ist."));
        rpt.add(p);
    }

    if (isSammelbestaetigung) {
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        rpt.add("Es wird besttigt, dass ber die in der Gesamtsumme enthaltenen Zuwendungen keine weiteren Besttigungen, weder formelle Zuwendungsbesttigungen noch Beitragsquittungen oder hnliches ausgestellt wurden und werden.\n",
                8);
        rpt.add("Ob es sich um den Verzicht auf Erstattung von Aufwendungen handelt, ist der Anlage zur Sammelbesttigung zu entnehmen.",
                8);
    } else {
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        rpt.add("\n\n", 8);
        rpt.add("\n", 9);

    }

    rpt.add("\n\n" + Einstellungen.getEinstellung().getOrt() + ", "
            + new JVDateFormatTTMMJJJJ().format(spb.getBescheinigungsdatum()), 9);

    rpt.add("\n\n\n\n.................................................................................\nUnterschrift des Zuwendungsempfngers",
            8);

    rpt.add("\nHinweis:", 9);
    rpt.add("Wer vorstzlich oder grob fahrlssig eine unrichtige Zuwendungsbesttigung erstellt oder wer veranlasst, dass "
            + "Zuwendungen nicht zu den in der Zuwendungsbesttigung angegebenen steuerbegnstigten Zwecken verwendet "
            + "werden, haftet fr die entgangene Steuer ( 10b Abs. 4 EStG,  9 Abs. 3 KStG,  9 Nr. 5 GewStG).\n\n"
            + "Diese Besttigung wird nicht als Nachweis fr die steuerliche Bercksichtigung der Zuwendung anerkannt, wenn das "
            + "Datum des Freistellungsbescheides lnger als 5 Jahre bzw. das Datum der vorlufigen Bescheinigung lnger als 3 Jahre "
            + "seit Ausstellung der Besttigung zurckliegt (BMF vom 15.12.1994 - BStBl I S. 884).", 8);

    /* Es sind mehrere Spenden fr diese Spendenbescheinigung vorhanden */
    if (isSammelbestaetigung) {
        List<Buchung> buchungen = spb.getBuchungen();

        rpt.newPage();
        rpt.add(getAussteller(), 13);
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        rpt.add("Anlage zur Sammelbesttigung vom "
                + (String) map.get(SpendenbescheinigungVar.BESCHEINIGUNGDATUM.getName()), 11);
        rpt.add("fr den Zeitraum vom " + (String) map.get(SpendenbescheinigungVar.SPENDENZEITRAUM.getName()),
                11);

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

        /* Kopfzeile */
        rpt.addHeaderColumn("Datum der\nZuwendung", Element.ALIGN_LEFT, 150, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Art der\nZuwendung", Element.ALIGN_LEFT, 400, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Verzicht auf die\nErstattung von Aufwendungen", Element.ALIGN_LEFT, 300,
                BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Betrag", Element.ALIGN_RIGHT, 150, BaseColor.LIGHT_GRAY);
        rpt.createHeader();

        boolean printBuchungsart = Einstellungen.getEinstellung().getSpendenbescheinigungPrintBuchungsart();

        /* Buchungszeilen */
        for (Buchung buchung : buchungen) {
            rpt.addColumn(buchung.getDatum(), Element.ALIGN_RIGHT);
            String verwendung = "";
            if (printBuchungsart) {
                verwendung = buchung.getBuchungsart().getBezeichnung();
            } else {
                verwendung = buchung.getZweck();
            }
            rpt.addColumn(verwendung, Element.ALIGN_LEFT);
            if (buchung.getVerzicht().booleanValue()) {
                verzicht = "ja";
            } else {
                verzicht = "nein";
            }
            rpt.addColumn(verzicht, Element.ALIGN_CENTER);
            rpt.addColumn(Double.valueOf(buchung.getBetrag()));
        }

        /* Summenzeile */
        // String sumString =
        // Einstellungen.DECIMALFORMAT.format(spb.getBetrag());
        rpt.addColumn("Gesamtsumme", Element.ALIGN_LEFT, BaseColor.LIGHT_GRAY);
        rpt.addColumn("", Element.ALIGN_LEFT, BaseColor.LIGHT_GRAY);
        rpt.addColumn("", Element.ALIGN_LEFT, BaseColor.LIGHT_GRAY);
        rpt.addColumn(Double.valueOf(spb.getBetrag()));
        // rpt.addColumn(sumString, Element.ALIGN_RIGHT,
        // BaseColor.LIGHT_GRAY);

        rpt.closeTable();

        // // Etwas Abstand
        // rpt.add(new Paragraph(" "));
        // // Nun noch die Legende
        // rpt.add("Legende:", 8);
        // rpt.add(
        // "(a): Es handelt sich nicht um den Verzicht auf Erstattung von
        // Aufwendungen",
        // 8);
        // rpt.add(
        // "(b): Es handelt sich um den Verzicht auf Erstattung von Aufwendungen",
        // 8);
    }

    rpt.close();
    fos.close();
}

From source file:de.jost_net.JVerein.gui.action.SpendenbescheinigungPrintAction.java

License:Open Source License

/**
 * Generierung des Standard-Dokumentes zu verwenden fr Spendenbescheinigungen
 * ab 01.01.2014//w  w  w. j a va  2 s .c  o  m
 * 
 * @param spb
 *          Die Spendenbescheinigung aus der Datenbank
 * @param fileName
 *          Der Dateiname, wohin das Dokument geschrieben werden soll
 * @throws IOException
 * @throws DocumentException
 */
private void generiereSpendenbescheinigungStandardAb2014(Spendenbescheinigung spb, String fileName)
        throws IOException, DocumentException {
    final File file = new File(fileName);
    FileOutputStream fos = new FileOutputStream(file);

    Map<String, Object> map = spb.getMap(null);
    map = new AllgemeineMap().getMap(map);

    boolean isSammelbestaetigung = spb.isSammelbestaetigung();

    Reporter rpt = new Reporter(fos, 80, 50, 50, 50);
    rpt.addHeaderColumn("Aussteller (Bezeichnung und Anschrift der steuerbegnstigten Einrichtung)",
            Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);

    rpt.createHeader();

    rpt.addColumn("\n" + getAussteller() + "\n ", Element.ALIGN_LEFT);
    rpt.closeTable();

    if (isSammelbestaetigung) {
        rpt.add("Sammelbesttigung ber " + map.get(SpendenbescheinigungVar.SPENDEART.getName()), 13);
    } else {
        rpt.add("Besttigung ber " + map.get(SpendenbescheinigungVar.SPENDEART.getName()), 13);
    }

    rpt.add("im Sinne des  10b des Einkommenssteuergesetzes an eine der in  5 Abs. 1 Nr. 9 des Krperschaftssteuergesetzes "
            + "bezeichneten Krperschaften, Personenvereinigungen oder Vermgensmassen\n", 10);

    rpt.addHeaderColumn("Name und Anschrift des Zuwendenden", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
    rpt.createHeader();
    rpt.addColumn((String) map.get(SpendenbescheinigungVar.EMPFAENGER.getName()), Element.ALIGN_LEFT);
    rpt.closeTable();

    switch (spb.getSpendenart()) {
    case Spendenart.GELDSPENDE:
        rpt.addHeaderColumn("Betrag der Zuwendung -in Ziffern-", Element.ALIGN_CENTER, 100,
                BaseColor.LIGHT_GRAY);
        break;
    case Spendenart.SACHSPENDE:
        rpt.addHeaderColumn("Wert der Zuwendung -in Ziffern-", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        break;
    }
    rpt.addHeaderColumn("-in Buchstaben-", Element.ALIGN_CENTER, 250, BaseColor.LIGHT_GRAY);
    if (!isSammelbestaetigung) {
        rpt.addHeaderColumn("Tag der Zuwendung", Element.ALIGN_CENTER, 50, BaseColor.LIGHT_GRAY);
    } else {
        rpt.addHeaderColumn("Zeitraum der Sammelbesttigung", Element.ALIGN_CENTER, 75, BaseColor.LIGHT_GRAY);
    }
    rpt.createHeader();
    rpt.addColumn(
            "*" + Einstellungen.DECIMALFORMAT.format(map.get(SpendenbescheinigungVar.BETRAG.getName())) + "*",
            Element.ALIGN_CENTER);
    rpt.addColumn((String) map.get(SpendenbescheinigungVar.BETRAGINWORTEN.getName()), Element.ALIGN_CENTER);
    if (!isSammelbestaetigung) {
        rpt.addColumn((String) map.get(SpendenbescheinigungVar.SPENDEDATUM.getName()), Element.ALIGN_CENTER);
    } else {
        rpt.addColumn((String) map.get(SpendenbescheinigungVar.SPENDENZEITRAUM.getName()),
                Element.ALIGN_CENTER);
    }
    rpt.closeTable();

    switch (spb.getSpendenart()) {
    case Spendenart.SACHSPENDE:
        rpt.addHeaderColumn("Genaue Bezeichnung der Sachzuwendung mit Alter, Zustand, Kaufpreis usw.",
                Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        rpt.createHeader();
        rpt.addColumn(spb.getBezeichnungSachzuwendung(), Element.ALIGN_LEFT);
        rpt.closeTable();
        switch (spb.getHerkunftSpende()) {
        case HerkunftSpende.BETRIEBSVERMOEGEN:
            rpt.add("Die Sachzuwendung stammt nach den Angaben des Zuwendenden aus dem Betriebsvermgen. "
                    + "Die Zuwendung wurde mit dem Wert der Entnahme (ggf. mit dem niedrigeren gemeinen "
                    + "Wert) und nach der Umsatzsteuer, die auf die Entnahme entfllt, bewertet.\n\n", 9);
            break;
        case HerkunftSpende.PRIVATVERMOEGEN:
            rpt.add("Die Sachzuwendung stammt nach den Angaben des Zuwendenden aus dem Privatvermgen.\n\n", 9);
            break;
        case HerkunftSpende.KEINEANGABEN:
            rpt.add("Der Zuwendende hat trotz Aufforderung keine Angaben zur Herkunft der Sachzuwendung gemacht.\n\n",
                    9);
            break;
        }
        if (spb.getUnterlagenWertermittlung()) {
            rpt.add("Geeignete Unterlagen, die zur Wertermittlung gedient haben, z. B. Rechnung, Gutachten, liegen vor.\n\n",
                    9);
        }
    }

    /*
     * Bei Sammelbesttigungen ist der Verweis auf Verzicht in der Anlage
     * vermerkt
     */
    String verzicht = "";
    char verzichtJa = (char) 113; // box leer
    char verzichtNein = (char) 53; // X

    if (spb.getAutocreate()) {
        if (!isSammelbestaetigung && spb.getSpendenart() == Spendenart.GELDSPENDE) {
            if (spb.getBuchungen().get(0).getVerzicht().booleanValue()) {
                verzichtJa = (char) 53; // X
                verzichtNein = (char) 113; // box leer
            }
        }
    } else {
        if (spb.getErsatzAufwendungen()) {
            verzichtJa = (char) 53; // X
            verzichtNein = (char) 113; // box leer
        }
    }

    if (!isSammelbestaetigung) {
        Paragraph p = new Paragraph();
        p.setFont(Reporter.getFreeSans(8));
        p.setAlignment(Element.ALIGN_LEFT);
        p.add(new Chunk("Es handelt sich um den Verzicht auf Erstattung von Aufwendungen: "));
        p.add(new Chunk(" Ja ", Reporter.getFreeSansBold(9)));
        p.add(new Chunk(verzichtJa, FontFactory.getFont(FontFactory.ZAPFDINGBATS, 10)));
        p.add(new Chunk("   Nein ", Reporter.getFreeSansBold(9)));
        p.add(new Chunk(verzichtNein, FontFactory.getFont(FontFactory.ZAPFDINGBATS, 10)));
        p.add(new Chunk("\n\n"));
        rpt.add(p);
    } else {
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
    }
    if (Einstellungen.getEinstellung().getVorlaeufig()) {
        // Verein neu gegrndet, hat noch keinen Bescheid
        String txt = "Die Einhaltung der satzungsgemen Voraussetzungen nach den  51, 59, 60 und 61 "
                + "AO wurde vom Finanzamt " + Einstellungen.getEinstellung().getFinanzamt() + ", StNr. "
                + Einstellungen.getEinstellung().getSteuernummer() + ", mit Bescheid vom "
                + new JVDateFormatTTMMJJJJ().format(Einstellungen.getEinstellung().getBescheiddatum())
                + " nach  60a AO gesondert festgestellt. Wir frdern nach unserer Satzung "
                + Einstellungen.getEinstellung().getBeguenstigterzweck();
        rpt.add(txt, 8);
    } else {
        // Verein existiert und hat einen Bescheid bekommen
        String txt = "Wir sind wegen " + Einstellungen.getEinstellung().getBeguenstigterzweck()
                + " nach dem Freistellungsbescheid bzw. nach der Anlage zum Krperschaftssteuerbescheid "
                + "des Finanzamtes " + Einstellungen.getEinstellung().getFinanzamt() + ", StNr. "
                + Einstellungen.getEinstellung().getSteuernummer() + ", vom "
                + new JVDateFormatTTMMJJJJ().format(Einstellungen.getEinstellung().getBescheiddatum())
                + " fr den letzten Veranlagungszeitraum "
                + new JVDateFormatJJJJ().format(Einstellungen.getEinstellung().getVeranlagungVon()) + " bis "
                + new JVDateFormatJJJJ().format(Einstellungen.getEinstellung().getVeranlagungBis())
                + " nach  5 Abs. 1 Nr. 9 des Krperschaftsteuergesetzes von der Krperschaftsteuer und nach "
                + " 3 Nr. 6 des Gewerbesteuergesetzes von der Gewerbesteuer befreit.";
        rpt.add(txt, 8);
    }
    rpt.add("\nEs wird besttigt, dass die Zuwendung nur zur "
            + Einstellungen.getEinstellung().getBeguenstigterzweck() + " verwendet wird.\n", 8);
    if (spb.getSpendenart() == Spendenart.GELDSPENDE) {
        char mitgliedBetraege = (char) 113; // box leer
        if (!Einstellungen.getEinstellung().getMitgliedsbetraege()) {
            mitgliedBetraege = (char) 53; // X
        }
        Paragraph p = new Paragraph();
        p.setFont(Reporter.getFreeSans(8));
        p.setAlignment(Element.ALIGN_LEFT);
        p.add(new Chunk("\n"));
        p.add(new Chunk(
                "Nur fr steuerbegnstigte Einrichtungen, bei denen die Mitgliedsbeitrge steuerlich nicht abziehbar sind:"));
        rpt.add(p);
        p = new Paragraph();
        p.setFont(Reporter.getFreeSans(8));
        p.setAlignment(Element.ALIGN_JUSTIFIED);
        p.setFirstLineIndent((float) -18.5);
        p.setIndentationLeft((float) 18.5);
        p.add(new Chunk(mitgliedBetraege, FontFactory.getFont(FontFactory.ZAPFDINGBATS, 10)));
        p.add(new Chunk(
                "   Es wird besttigt, dass es sich nicht um einen Mitgliedsbeitrag handelt, dessen Abzug nach  10b Abs. 1 des Einkommensteuergesetzes ausgeschlossen ist."));
        rpt.add(p);
    }

    if (isSammelbestaetigung) {
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        rpt.add("Es wird besttigt, dass ber die in der Gesamtsumme enthaltenen Zuwendungen keine weiteren Besttigungen, weder formelle Zuwendungsbesttigungen noch Beitragsquittungen oder hnliches ausgestellt wurden und werden.\n",
                8);
        rpt.add("Ob es sich um den Verzicht auf Erstattung von Aufwendungen handelt, ist der Anlage zur Sammelbesttigung zu entnehmen.",
                8);
    } else {
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        rpt.add("\n\n", 8);
        rpt.add("\n", 9);

    }

    rpt.add("\n\n" + Einstellungen.getEinstellung().getOrt() + ", "
            + new JVDateFormatTTMMJJJJ().format(spb.getBescheinigungsdatum()), 9);

    rpt.add("\n\n\n\n.................................................................................\nUnterschrift des Zuwendungsempfngers",
            8);

    rpt.add("\nHinweis:", 8);
    rpt.add("Wer vorstzlich oder grob fahrlssig eine unrichtige Zuwendungsbesttigung erstellt "
            + "oder veranlasst, dass Zuwendungen nicht zu den in der Zuwendungsbesttigung "
            + "angegebenen steuerbegnstigten Zwecken verwendet werden, haftet fr die entgangene "
            + "Steuer ( 10b Absatz 4 EStG,  9 Absatz 3 KStG,  9 Nummer 5 GewStG).\n" + "\n"
            + "Diese Besttigung wird nicht als Nachweis fr die steuerliche Bercksichtigung der "
            + "Zuwendung anerkannt, wenn das Datum des Freistellungsbescheides lnger als 5 Jahre "
            + "bzw. das Datum der Feststellung der Einhaltung der satzungsmigen Voraussetzungen "
            + "nach  60a Abs. 1 AO lnger als 3 Jahre seit Ausstellung des Bescheides zurckliegt "
            + "( 63 Abs. 5 AO).", 7);

    /* Es sind mehrere Spenden fr diese Spendenbescheinigung vorhanden */
    if (isSammelbestaetigung) {
        List<Buchung> buchungen = spb.getBuchungen();

        rpt.newPage();
        rpt.add(getAussteller(), 13);
        rpt.add(new Paragraph(" ", Reporter.getFreeSans(12)));
        rpt.add("Anlage zur Sammelbesttigung vom "
                + (String) map.get(SpendenbescheinigungVar.BESCHEINIGUNGDATUM.getName()), 11);
        rpt.add("fr den Zeitraum vom " + (String) map.get(SpendenbescheinigungVar.SPENDENZEITRAUM.getName()),
                11);

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

        /* Kopfzeile */
        rpt.addHeaderColumn("Datum der\nZuwendung", Element.ALIGN_LEFT, 150, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Art der\nZuwendung", Element.ALIGN_LEFT, 400, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Verzicht auf die\nErstattung von Aufwendungen", Element.ALIGN_LEFT, 300,
                BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Betrag", Element.ALIGN_RIGHT, 150, BaseColor.LIGHT_GRAY);
        rpt.createHeader();

        boolean printBuchungsart = Einstellungen.getEinstellung().getSpendenbescheinigungPrintBuchungsart();

        /* Buchungszeilen */
        for (Buchung buchung : buchungen) {
            rpt.addColumn(buchung.getDatum(), Element.ALIGN_RIGHT);
            String verwendung = "";
            if (printBuchungsart) {
                verwendung = buchung.getBuchungsart().getBezeichnung();
            } else {
                verwendung = buchung.getZweck();
            }
            rpt.addColumn(verwendung, Element.ALIGN_LEFT);
            if (buchung.getVerzicht().booleanValue()) {
                verzicht = "ja";
            } else {
                verzicht = "nein";
            }
            rpt.addColumn(verzicht, Element.ALIGN_CENTER);
            rpt.addColumn(Double.valueOf(buchung.getBetrag()));
        }

        /* Summenzeile */
        // String sumString =
        // Einstellungen.DECIMALFORMAT.format(spb.getBetrag());
        rpt.addColumn("Gesamtsumme", Element.ALIGN_LEFT, BaseColor.LIGHT_GRAY);
        rpt.addColumn("", Element.ALIGN_LEFT, BaseColor.LIGHT_GRAY);
        rpt.addColumn("", Element.ALIGN_LEFT, BaseColor.LIGHT_GRAY);
        rpt.addColumn(Double.valueOf(spb.getBetrag()));
        // rpt.addColumn(sumString, Element.ALIGN_RIGHT,
        // BaseColor.LIGHT_GRAY);

        rpt.closeTable();

        // // Etwas Abstand
        // rpt.add(new Paragraph(" "));
        // // Nun noch die Legende
        // rpt.add("Legende:", 8);
        // rpt.add(
        // "(a): Es handelt sich nicht um den Verzicht auf Erstattung von
        // Aufwendungen",
        // 8);
        // rpt.add(
        // "(b): Es handelt sich um den Verzicht auf Erstattung von Aufwendungen",
        // 8);
    }

    rpt.close();
    fos.close();
}

From source file:de.jost_net.JVerein.gui.control.ArbeitseinsatzControl.java

License:Open Source License

private void startePDFAuswertung() throws RemoteException {
    FileDialog fd = new FileDialog(GUI.getShell(), SWT.SAVE);
    fd.setText("Ausgabedatei whlen.");
    String path = settings.getString("lastdir", System.getProperty("user.home"));
    if (path != null && path.length() > 0) {
        fd.setFilterPath(path);/*from w ww .j  av  a2 s  .  c o  m*/
    }
    fd.setFileName(
            new Dateiname("arbeitseinsaetze", "", Einstellungen.getEinstellung().getDateinamenmuster(), "PDF")
                    .get());
    fd.setFilterExtensions(new String[] { "*.PDF" });

    String s = fd.open();
    if (s == null || s.length() == 0) {
        return;
    }
    if (!s.endsWith(".PDF")) {
        s = s + ".PDF";
    }
    final File file = new File(s);
    final GenericIterator it = getIterator();
    final int jahr = (Integer) getSuchJahr().getValue();
    final String sub = getAuswertungSchluessel().getText();
    settings.setAttribute("lastdir", file.getParent());
    BackgroundTask t = new BackgroundTask() {

        @Override
        public void run(ProgressMonitor monitor) throws ApplicationException {
            try {
                FileOutputStream fos = new FileOutputStream(file);
                Reporter reporter = new Reporter(fos, String.format("Arbeitseinstze %d", jahr), sub,
                        it.size());
                reporter.addHeaderColumn("Mitglied", Element.ALIGN_LEFT, 60, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Sollstunden", Element.ALIGN_RIGHT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Iststunden", Element.ALIGN_RIGHT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Differenz", Element.ALIGN_RIGHT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Stundensatz", Element.ALIGN_RIGHT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Gesamtbetrag", Element.ALIGN_RIGHT, 30, BaseColor.LIGHT_GRAY);
                reporter.createHeader();
                while (it.hasNext()) {
                    ArbeitseinsatzZeile z = (ArbeitseinsatzZeile) it.next();
                    reporter.addColumn((String) z.getAttribute("namevorname"), Element.ALIGN_LEFT);
                    reporter.addColumn((Double) z.getAttribute("soll"));
                    reporter.addColumn((Double) z.getAttribute("ist"));
                    reporter.addColumn((Double) z.getAttribute("differenz"));
                    reporter.addColumn((Double) z.getAttribute("stundensatz"));
                    reporter.addColumn((Double) z.getAttribute("gesamtbetrag"));
                }
                reporter.closeTable();
                reporter.close();
                fos.close();
                GUI.getStatusBar().setSuccessText("Auswertung gestartet");
                GUI.getCurrentView().reload();
            } catch (Exception e) {
                Logger.error("Fehler", e);
                GUI.getStatusBar().setErrorText(e.getMessage());
                throw new ApplicationException(e);
            }
            FileViewer.show(file);
        }

        @Override
        public void interrupt() {
            //
        }

        @Override
        public boolean isInterrupted() {
            return false;
        }
    };
    Application.getController().start(t);
}

From source file:de.jost_net.JVerein.gui.control.BuchungsartControl.java

License:Open Source License

private void starteAuswertung() throws RemoteException {
    FileDialog fd = new FileDialog(GUI.getShell(), SWT.SAVE);
    fd.setText("Ausgabedatei whlen.");
    String path = settings.getString("lastdir", System.getProperty("user.home"));
    if (path != null && path.length() > 0) {
        fd.setFilterPath(path);//  www . j av a 2s . co  m
    }
    fd.setFileName(
            new Dateiname("buchungsarten", "", Einstellungen.getEinstellung().getDateinamenmuster(), "PDF")
                    .get());
    fd.setFilterExtensions(new String[] { "*.PDF" });

    String s = fd.open();
    if (s == null || s.length() == 0) {
        return;
    }
    if (!s.endsWith(".PDF")) {
        s = s + ".PDF";
    }
    final File file = new File(s);
    final DBIterator<Buchungsart> it = Einstellungen.getDBService().createList(Buchungsart.class);
    it.setOrder("ORDER BY nummer");
    settings.setAttribute("lastdir", file.getParent());
    BackgroundTask t = new BackgroundTask() {
        @Override
        public void run(ProgressMonitor monitor) throws ApplicationException {
            try {
                FileOutputStream fos = new FileOutputStream(file);
                Reporter reporter = new Reporter(fos, "Buchungsarten", "", it.size());
                reporter.addHeaderColumn("Nummer", Element.ALIGN_LEFT, 20, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Bezeichnung", Element.ALIGN_LEFT, 80, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Art", Element.ALIGN_LEFT, 25, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Buchungsklasse", Element.ALIGN_LEFT, 80, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Spende", Element.ALIGN_CENTER, 20, BaseColor.LIGHT_GRAY);
                reporter.createHeader();
                while (it.hasNext()) {
                    Buchungsart b = it.next();
                    reporter.addColumn(b.getNummer() + "", Element.ALIGN_RIGHT);
                    reporter.addColumn(b.getBezeichnung(), Element.ALIGN_LEFT);
                    String arttxt = "";
                    switch (b.getArt()) {
                    case 0:
                        arttxt = "Einnahme";
                        break;
                    case 1:
                        arttxt = "Ausgabe";
                        break;
                    case 2:
                        arttxt = "Umbuchung";
                        break;
                    }
                    reporter.addColumn(arttxt, Element.ALIGN_LEFT);
                    if (b.getBuchungsklasse() != null) {
                        reporter.addColumn(b.getBuchungsklasse().getBezeichnung(), Element.ALIGN_LEFT);
                    } else {
                        reporter.addColumn("", Element.ALIGN_LEFT);
                    }
                    reporter.addColumn(b.getSpende());
                }
                reporter.closeTable();
                reporter.close();
                fos.close();
                GUI.getStatusBar().setSuccessText("Auswertung gestartet");
                GUI.getCurrentView().reload();
            } catch (Exception e) {
                Logger.error("Fehler", e);
                GUI.getStatusBar().setErrorText(e.getMessage());
                throw new ApplicationException(e);
            }
            FileViewer.show(file);
        }

        @Override
        public void interrupt() {
            //
        }

        @Override
        public boolean isInterrupted() {
            return false;
        }
    };
    Application.getController().start(t);

}

From source file:de.jost_net.JVerein.gui.control.KursteilnehmerControl.java

License:Open Source License

private void starteAuswertung() {
    // Alle Kursteilnehmer lesen
    final DBIterator<Kursteilnehmer> list;
    try {//  w  w  w .jav  a2 s  .  com
        saveDefaults();
        String subtitle = "";
        list = Einstellungen.getDBService().createList(Kursteilnehmer.class);
        if (abbuchungsdatumvon.getValue() != null) {
            Date d = (Date) abbuchungsdatumvon.getValue();
            subtitle += "Abbuchungsdatum von" + " " + new JVDateFormatTTMMJJJJ().format(d) + "  ";
            list.addFilter("abbudatum >= ?", new Object[] { new java.sql.Date(d.getTime()) });
        }
        if (abbuchungsdatumbis.getValue() != null) {
            Date d = (Date) abbuchungsdatumbis.getValue();
            subtitle += " " + "bis" + " " + new JVDateFormatTTMMJJJJ().format(d) + "  ";
            list.addFilter("abbudatum <= ?", new Object[] { new java.sql.Date(d.getTime()) });
        }
        FileDialog fd = new FileDialog(GUI.getShell(), SWT.SAVE);
        fd.setText("Ausgabedatei whlen.");

        Settings settings = new Settings(this.getClass());

        String path = settings.getString("lastdir", System.getProperty("user.home"));
        if (path != null && path.length() > 0) {
            fd.setFilterPath(path);
        }
        fd.setFileName(
                new Dateiname("kursteilnehmer", "", Einstellungen.getEinstellung().getDateinamenmuster(), "PDF")
                        .get());

        final String s = fd.open();

        if (s == null || s.length() == 0) {
            // close();
            return;
        }

        final File file = new File(s);
        settings.setAttribute("lastdir", file.getParent());
        final String subtitle2 = subtitle;

        BackgroundTask t = new BackgroundTask() {

            @Override
            public void run(ProgressMonitor monitor) throws ApplicationException {
                try {
                    Reporter rpt = new Reporter(new FileOutputStream(file), "Kursteilnehmer", subtitle2,
                            list.size());

                    GUI.getCurrentView().reload();

                    rpt.addHeaderColumn("Datum", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
                    rpt.addHeaderColumn("Name", Element.ALIGN_LEFT, 80, BaseColor.LIGHT_GRAY);
                    rpt.addHeaderColumn("Verwendungszweck", Element.ALIGN_LEFT, 80, BaseColor.LIGHT_GRAY);
                    rpt.addHeaderColumn("Betrag", Element.ALIGN_CENTER, 40, BaseColor.LIGHT_GRAY);
                    rpt.createHeader();
                    while (list.hasNext()) {
                        Kursteilnehmer kt = list.next();
                        rpt.addColumn(kt.getAbbudatum(), Element.ALIGN_LEFT);
                        rpt.addColumn(kt.getName(), Element.ALIGN_LEFT);
                        rpt.addColumn(kt.getVZweck1(), Element.ALIGN_LEFT);
                        rpt.addColumn(kt.getBetrag());
                    }
                    rpt.close();
                    FileViewer.show(file);
                } catch (ApplicationException ae) {
                    Logger.error("Fehler", ae);
                    GUI.getStatusBar().setErrorText(ae.getMessage());
                    throw ae;
                } catch (Exception re) {
                    Logger.error("Fehler", re);
                    GUI.getStatusBar().setErrorText(re.getMessage());
                    throw new ApplicationException(re);
                }
            }

            @Override
            public void interrupt() {
                //
            }

            @Override
            public boolean isInterrupted() {
                return false;
            }
        };
        Application.getController().start(t);

    } catch (RemoteException e) {
        Logger.error("Fehler", e);
    }
}

From source file:de.jost_net.JVerein.gui.control.ZusatzbetragControl.java

License:Open Source License

private void starteAuswertung() throws RemoteException {
    FileDialog fd = new FileDialog(GUI.getShell(), SWT.SAVE);
    fd.setText("Ausgabedatei whlen.");
    String path = settings.getString("lastdir", System.getProperty("user.home"));
    if (path != null && path.length() > 0) {
        fd.setFilterPath(path);/*from   w w w  .  j  a  v  a 2 s.  c o  m*/
    }
    fd.setFileName(
            new Dateiname("zusatzbetraege", "", Einstellungen.getEinstellung().getDateinamenmuster(), "PDF")
                    .get());
    fd.setFilterExtensions(new String[] { "*.PDF" });

    String s = fd.open();
    if (s == null || s.length() == 0) {
        return;
    }
    if (!s.endsWith(".PDF")) {
        s = s + ".PDF";
    }
    final File file = new File(s);
    final DBIterator<Zusatzbetrag> it = getIterator();
    settings.setAttribute("lastdir", file.getParent());
    BackgroundTask t = new BackgroundTask() {

        @Override
        public void run(ProgressMonitor monitor) throws ApplicationException {
            try {
                FileOutputStream fos = new FileOutputStream(file);
                Reporter reporter = new Reporter(fos, "Zusatzbetrge", "", it.size());
                reporter.addHeaderColumn("Mitglied", Element.ALIGN_LEFT, 60, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Startdatum", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("nchste Flligkeit", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("letzte Ausfhrung", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Intervall", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Endedatum", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Buchungstext", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
                reporter.addHeaderColumn("Betrag", Element.ALIGN_RIGHT, 30, BaseColor.LIGHT_GRAY);
                reporter.createHeader();
                while (it.hasNext()) {
                    Zusatzbetrag z = (Zusatzbetrag) it.next();
                    reporter.addColumn(Adressaufbereitung.getNameVorname(z.getMitglied()), Element.ALIGN_LEFT);
                    reporter.addColumn(z.getStartdatum(), Element.ALIGN_LEFT);
                    reporter.addColumn(z.getFaelligkeit(), Element.ALIGN_LEFT);
                    reporter.addColumn(z.getAusfuehrung(), Element.ALIGN_LEFT);
                    reporter.addColumn(z.getIntervallText(), Element.ALIGN_LEFT);
                    reporter.addColumn(z.getEndedatum(), Element.ALIGN_LEFT);
                    reporter.addColumn(z.getBuchungstext(), Element.ALIGN_LEFT);
                    reporter.addColumn(z.getBetrag());
                }
                reporter.closeTable();
                reporter.close();
                fos.close();
                GUI.getCurrentView().reload();
            } catch (Exception e) {
                Logger.error("Fehler", e);
                GUI.getStatusBar().setErrorText(e.getMessage());
                throw new ApplicationException(e);
            }
            FileViewer.show(file);
        }

        @Override
        public void interrupt() {
            //
        }

        @Override
        public boolean isInterrupted() {
            return false;
        }
    };
    Application.getController().start(t);
}

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

License:Open Source License

public AbrechnungslaufPDF(DBIterator<Mitgliedskonto> it, final File file, final Abrechnungslauf lauf)
        throws ApplicationException {
    try {/*from   ww w  .ja  va2  s.  c  om*/
        FileOutputStream fos = new FileOutputStream(file);
        String title = "Abrechnungslauf";
        String subtitle = "Nr. " + lauf.getNr() + " vom " + new JVDateFormatTTMMJJJJ().format(lauf.getDatum());
        Reporter reporter = new Reporter(fos, title, subtitle, it.size());

        reporter.addHeaderColumn("Flligkeit", Element.ALIGN_CENTER, 80, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Name", Element.ALIGN_CENTER, 190, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Zweck", Element.ALIGN_CENTER, 190, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Betrag", Element.ALIGN_CENTER, 60, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Eingang", Element.ALIGN_CENTER, 60, BaseColor.LIGHT_GRAY);
        reporter.addHeaderColumn("Zahlungsweg", Element.ALIGN_CENTER, 100, BaseColor.LIGHT_GRAY);
        reporter.createHeader();

        while (it.hasNext()) {
            Mitgliedskonto mk = it.next();

            reporter.addColumn(new JVDateFormatTTMMJJJJ().format(mk.getDatum()), Element.ALIGN_LEFT);
            reporter.addColumn(Adressaufbereitung.getNameVorname(mk.getMitglied()), Element.ALIGN_LEFT);
            reporter.addColumn(mk.getZweck1(), Element.ALIGN_LEFT);
            reporter.addColumn(mk.getBetrag());
            reporter.addColumn(mk.getIstSumme());
            reporter.addColumn(Zahlungsweg.get(mk.getZahlungsweg()), Element.ALIGN_LEFT);
        }
        reporter.closeTable();
        reporter.close();

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

        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.AltersjubilaeumsExportPDF.java

License:Open Source License

@Override
protected void endeJahrgang() throws DocumentException {
    if (anz == 0) {
        reporter.addColumn("", Element.ALIGN_LEFT);
        reporter.addColumn("kein Mitglied", Element.ALIGN_LEFT);
        reporter.addColumn("", Element.ALIGN_LEFT);
        reporter.addColumn("", Element.ALIGN_LEFT);
    }//from w ww.j av  a2  s. c om
    reporter.closeTable();
}

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

License:Open Source License

@Override
protected void add(Mitglied m) throws RemoteException {
    reporter.addColumn(m.getGeburtsdatum(), Element.ALIGN_LEFT);
    reporter.addColumn(Adressaufbereitung.getNameVorname(m), Element.ALIGN_LEFT);
    reporter.addColumn(Adressaufbereitung.getAnschrift(m), Element.ALIGN_LEFT);
    String kommunikation = m.getTelefonprivat();
    if (kommunikation.length() > 0 && m.getTelefondienstlich().length() > 0) {
        kommunikation += ", ";
    }/*from w w  w . j av a 2s .c om*/
    kommunikation += m.getTelefondienstlich();

    if (kommunikation.length() > 0 && m.getEmail().length() > 0) {
        kommunikation += ", ";
    }
    kommunikation += m.getEmail();
    reporter.addColumn(kommunikation, Element.ALIGN_LEFT, false);
    anz++;
}