Example usage for com.itextpdf.text BaseColor LIGHT_GRAY

List of usage examples for com.itextpdf.text BaseColor LIGHT_GRAY

Introduction

In this page you can find the example usage for com.itextpdf.text BaseColor LIGHT_GRAY.

Prototype

BaseColor LIGHT_GRAY

To view the source code for com.itextpdf.text BaseColor LIGHT_GRAY.

Click Source Link

Usage

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

License:Open Source License

private void generiereWiedervorlagen(Reporter rpt, Mitglied m) throws RemoteException, DocumentException {
    DBIterator<Wiedervorlage> it = Einstellungen.getDBService().createList(Wiedervorlage.class);
    it.addFilter("mitglied = ?", new Object[] { m.getID() });
    it.setOrder("order by datum desc");
    if (it.size() > 0) {
        rpt.add(new Paragraph("Wiedervorlage", Reporter.getFreeSans(12)));
        rpt.addHeaderColumn("Datum", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Vermerk", Element.ALIGN_LEFT, 100, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Erledigung", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
        rpt.createHeader();//from  ww w .j a va2  s  .  c o  m
        while (it.hasNext()) {
            Wiedervorlage w = it.next();
            rpt.addColumn(w.getDatum(), Element.ALIGN_LEFT);
            rpt.addColumn(w.getVermerk(), Element.ALIGN_LEFT);
            rpt.addColumn(w.getErledigung(), Element.ALIGN_LEFT);
        }
    }
    rpt.closeTable();

}

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

License:Open Source License

private void generiereLehrgaenge(Reporter rpt, Mitglied m) throws RemoteException, DocumentException {
    DBIterator<Lehrgang> it = Einstellungen.getDBService().createList(Lehrgang.class);
    it.addFilter("mitglied = ?", new Object[] { m.getID() });
    it.setOrder("order by von");
    if (it.size() > 0) {
        rpt.add(new Paragraph("Lehrgnge", Reporter.getFreeSans(12)));
        rpt.addHeaderColumn("Lehrgangsart", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("am/vom", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("bis", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Veranstalter", Element.ALIGN_LEFT, 60, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Ergebnis", Element.ALIGN_LEFT, 60, BaseColor.LIGHT_GRAY);
        rpt.createHeader();/*from   www  .ja  v a  2 s  . c o  m*/
        while (it.hasNext()) {
            Lehrgang l = it.next();
            rpt.addColumn(l.getLehrgangsart().getBezeichnung(), Element.ALIGN_LEFT);
            rpt.addColumn(l.getVon(), Element.ALIGN_LEFT);
            rpt.addColumn(l.getBis(), Element.ALIGN_LEFT);
            rpt.addColumn(l.getVeranstalter(), Element.ALIGN_LEFT);
            rpt.addColumn(l.getErgebnis(), Element.ALIGN_LEFT);
        }
    }
    rpt.closeTable();
}

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

License:Open Source License

private void generiereZusatzfelder(Reporter rpt, Mitglied m) throws RemoteException, DocumentException {
    DBIterator<Felddefinition> it = Einstellungen.getDBService().createList(Felddefinition.class);
    it.setOrder("order by label");
    if (it.size() > 0) {
        rpt.add(new Paragraph("Zusatzfelder", Reporter.getFreeSans(12)));
        rpt.addHeaderColumn("Feld", Element.ALIGN_LEFT, 50, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Inhalt", Element.ALIGN_LEFT, 130, BaseColor.LIGHT_GRAY);
        rpt.createHeader();//from w  w  w  . ja v  a  2 s  . co m
        while (it.hasNext()) {
            Felddefinition fd = it.next();
            rpt.addColumn(fd.getLabel(), Element.ALIGN_LEFT);
            DBIterator<Zusatzfelder> it2 = Einstellungen.getDBService().createList(Zusatzfelder.class);
            it2.addFilter("mitglied = ? and felddefinition = ?", new Object[] { m.getID(), fd.getID() });
            if (it2.size() > 0) {
                Zusatzfelder zf = it2.next();
                rpt.addColumn(zf.getString(), Element.ALIGN_LEFT);
            } else {
                rpt.addColumn("", Element.ALIGN_LEFT);
            }
        }
        rpt.closeTable();
    }
}

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

License:Open Source License

private void generiereEigenschaften(Reporter rpt, Mitglied m) throws RemoteException, DocumentException {
    ResultSetExtractor rs = new ResultSetExtractor() {

        @Override//  w w  w  . j  a v a  2s.  c om
        public Object extract(ResultSet rs) throws SQLException {
            List<String> ids = new ArrayList<String>();
            while (rs.next()) {
                ids.add(rs.getString(1));
            }
            return ids;
        }
    };
    String sql = "select eigenschaften.id from eigenschaften, eigenschaft "
            + "where eigenschaften.eigenschaft = eigenschaft.id and mitglied = ? "
            + "order by eigenschaft.bezeichnung";
    @SuppressWarnings("unchecked")
    ArrayList<String> idliste = (ArrayList<String>) Einstellungen.getDBService().execute(sql,
            new Object[] { m.getID() }, rs);
    if (idliste.size() > 0) {
        rpt.add(new Paragraph("Eigenschaften", Reporter.getFreeSans(12)));
        rpt.addHeaderColumn("Eigenschaftengruppe", Element.ALIGN_LEFT, 100, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Eigenschaft", Element.ALIGN_LEFT, 100, BaseColor.LIGHT_GRAY);
        rpt.createHeader();
        for (String id : idliste) {
            DBIterator<Eigenschaften> it = Einstellungen.getDBService().createList(Eigenschaften.class);
            it.addFilter("id = ?", new Object[] { id });
            while (it.hasNext()) {
                Eigenschaften ei = it.next();
                rpt.addColumn(ei.getEigenschaft().getEigenschaftGruppe().getBezeichnung(), Element.ALIGN_LEFT);
                rpt.addColumn(ei.getEigenschaft().getBezeichnung(), Element.ALIGN_LEFT);
            }
        }
        rpt.closeTable();
    }
}

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

License:Open Source License

private void generiereArbeitseinsaetze(Reporter rpt, Mitglied m) throws RemoteException, DocumentException {
    DBIterator<Arbeitseinsatz> it = Einstellungen.getDBService().createList(Arbeitseinsatz.class);
    it.addFilter("mitglied = ?", new Object[] { m.getID() });
    it.setOrder("ORDER BY datum");
    if (it.size() > 0) {
        rpt.add(new Paragraph("Arbeitseinstze", Reporter.getFreeSans(12)));
        rpt.addHeaderColumn("Datum", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Stunden", Element.ALIGN_LEFT, 30, BaseColor.LIGHT_GRAY);
        rpt.addHeaderColumn("Bemerkung", Element.ALIGN_LEFT, 90, BaseColor.LIGHT_GRAY);
        rpt.createHeader();/*  w  w  w  .j a va  2  s.c  o  m*/
        while (it.hasNext()) {
            Arbeitseinsatz ae = it.next();
            rpt.addColumn(ae.getDatum(), Element.ALIGN_LEFT);
            rpt.addColumn(ae.getStunden());
            rpt.addColumn(ae.getBemerkung(), Element.ALIGN_LEFT);
        }
    }
    rpt.closeTable();
}

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   w ww . j  ava2s.  c  om*/
 * 
 * @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/*  w w  w .j a  v  a2s  .  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/*from  w w  w. j  av a 2s  .  c  om*/
 * 
 * @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);//  w  ww  . java2 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);/*from   w ww  .  j  av  a 2  s.c  o  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);

}