Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zugeordnete Buchungen in Sollbuchung View anzeigen #624

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 14 additions & 31 deletions src/de/jost_net/JVerein/gui/control/MitgliedskontoControl.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@
import de.jost_net.JVerein.Messaging.MitgliedskontoMessage;
import de.jost_net.JVerein.Queries.SollbuchungQuery;
import de.jost_net.JVerein.gui.action.SollbuchungPositionEditAction;
import de.jost_net.JVerein.gui.formatter.BuchungsartFormatter;
import de.jost_net.JVerein.gui.formatter.BuchungsklasseFormatter;
import de.jost_net.JVerein.gui.formatter.ZahlungswegFormatter;
import de.jost_net.JVerein.gui.input.MitgliedInput;
import de.jost_net.JVerein.gui.menu.MitgliedskontoMenu;
import de.jost_net.JVerein.gui.menu.SollbuchungPositionMenu;
import de.jost_net.JVerein.gui.parts.BuchungListPart;
import de.jost_net.JVerein.gui.parts.SollbuchungListTablePart;
import de.jost_net.JVerein.gui.parts.SollbuchungPositionListPart;
import de.jost_net.JVerein.gui.view.BuchungView;
import de.jost_net.JVerein.gui.view.SollbuchungDetailView;
import de.jost_net.JVerein.io.Kontoauszug;
Expand Down Expand Up @@ -211,7 +211,7 @@ public TextAreaInput getZweck1() throws RemoteException
z = getMitgliedskonto().getZweck1();
}
zweck1 = new TextAreaInput(z, 500);
zweck1.setHeight(50);
zweck1.setHeight(30);
zweck1.setMandatory(true);
return zweck1;
}
Expand Down Expand Up @@ -524,55 +524,38 @@ private void refreshMitgliedkonto2() throws RemoteException
mitgliedskontoList2.sort();
}

public Part getBuchungenList(boolean hasRechnung) throws RemoteException
public Part getSollbuchungPositionListPart(boolean hasRechnung) throws RemoteException
{
if (buchungList != null)
{
return buchungList;
}
DBIterator<SollbuchungPosition> sps = Einstellungen.getDBService()
.createList(SollbuchungPosition.class);
sps.addFilter("sollbuchung = ?", getMitgliedskonto().getID());
ArrayList<SollbuchungPosition> list = getMitgliedskonto()
.getSollbuchungPositionList();

if (hasRechnung)
{
buchungList = new TablePart(sps, null);
buchungList = new SollbuchungPositionListPart(list, null);
}
else
{
buchungList = new TablePart(sps, new SollbuchungPositionEditAction());
}
buchungList.addColumn("Datum", "datum",
new DateFormatter(new JVDateFormatTTMMJJJJ()));
buchungList.addColumn("Zweck", "zweck");
buchungList.addColumn("Betrag", "betrag",
new CurrencyFormatter("", Einstellungen.DECIMALFORMAT));
if (Einstellungen.getEinstellung().getOptiert())
{
buchungList.addColumn("Nettobetrag", "nettobetrag",
new CurrencyFormatter("", Einstellungen.DECIMALFORMAT));
buchungList.addColumn("Steuersatz", "steuersatz");
buchungList.addColumn("Steuerbetrag", "steuerbetrag",
new CurrencyFormatter("", Einstellungen.DECIMALFORMAT));
}
buchungList.addColumn("Buchungsart", "buchungsart",
new BuchungsartFormatter());
if (Einstellungen.getEinstellung().getBuchungsklasseInBuchung())
{
buchungList.addColumn("Buchungsklasse", "buchungsklasse",
new BuchungsklasseFormatter());
buchungList = new SollbuchungPositionListPart(list,
new SollbuchungPositionEditAction());
}

buchungList.setRememberColWidths(true);
if (!hasRechnung)
{
buchungList.setContextMenu(new SollbuchungPositionMenu());
}
buchungList.setRememberOrder(true);
buchungList.addFeature(new FeatureSummary());
return buchungList;
}

public Part getBuchungListPart() throws RemoteException
{
return new BuchungListPart(getMitgliedskonto().getBuchungList(), null);
}

private GenericIterator<Mitglied> getMitgliedIterator() throws RemoteException
{
DBIterator<Mitglied> mitglieder = Einstellungen.getDBService()
Expand Down
40 changes: 4 additions & 36 deletions src/de/jost_net/JVerein/gui/control/RechnungControl.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
import de.jost_net.JVerein.Einstellungen;
import de.jost_net.JVerein.gui.action.RechnungAction;
import de.jost_net.JVerein.gui.control.MitgliedskontoControl.DIFFERENZ;
import de.jost_net.JVerein.gui.formatter.BuchungsartFormatter;
import de.jost_net.JVerein.gui.formatter.BuchungsklasseFormatter;
import de.jost_net.JVerein.gui.formatter.ZahlungswegFormatter;
import de.jost_net.JVerein.gui.input.BICInput;
import de.jost_net.JVerein.gui.input.FormularInput;
Expand All @@ -35,12 +33,12 @@
import de.jost_net.JVerein.gui.input.MailAuswertungInput;
import de.jost_net.JVerein.gui.input.PersonenartInput;
import de.jost_net.JVerein.gui.menu.RechnungMenu;
import de.jost_net.JVerein.gui.parts.SollbuchungPositionListPart;
import de.jost_net.JVerein.io.Rechnungsausgabe;
import de.jost_net.JVerein.keys.FormularArt;
import de.jost_net.JVerein.keys.Zahlungsweg;
import de.jost_net.JVerein.rmi.Mitglied;
import de.jost_net.JVerein.rmi.Rechnung;
import de.jost_net.JVerein.rmi.SollbuchungPosition;
import de.jost_net.JVerein.util.JVDateFormatTTMMJJJJ;
import de.jost_net.JVerein.util.StringTool;
import de.willuhn.datasource.GenericIterator;
Expand Down Expand Up @@ -663,44 +661,14 @@ public TextInput getLeitwegID() throws RemoteException
return leitwegID;
}

public Part getBuchungenList() throws RemoteException
public Part getSollbuchungPositionListPart() throws RemoteException
{
if (buchungList != null)
{
return buchungList;
}
DBIterator<SollbuchungPosition> sps = Einstellungen.getDBService()
.createList(SollbuchungPosition.class);
sps.join("mitgliedskonto");
sps.addFilter("mitgliedskonto.id = sollbuchungposition.sollbuchung");
sps.addFilter("mitgliedskonto.rechnung = ?", getRechnung().getID());
sps.setOrder("order by sollbuchungposition.datum");

buchungList = new TablePart(sps, null);
buchungList.addColumn("Datum", "datum",
new DateFormatter(new JVDateFormatTTMMJJJJ()));
buchungList.addColumn("Zweck", "zweck");
buchungList.addColumn("Betrag", "betrag",
new CurrencyFormatter("", Einstellungen.DECIMALFORMAT));
if (Einstellungen.getEinstellung().getOptiert())
{
buchungList.addColumn("Nettobetrag", "nettobetrag",
new CurrencyFormatter("", Einstellungen.DECIMALFORMAT));
buchungList.addColumn("Steuersatz", "steuersatz");
buchungList.addColumn("Steuerbetrag", "steuerbetrag",
new CurrencyFormatter("", Einstellungen.DECIMALFORMAT));
}
buchungList.addColumn("Buchungsart", "buchungsart",
new BuchungsartFormatter());
if (Einstellungen.getEinstellung().getBuchungsklasseInBuchung())
{
buchungList.addColumn("Buchungsklasse", "buchungsklasse",
new BuchungsklasseFormatter());
}

buchungList.setRememberColWidths(true);
buchungList.setRememberOrder(true);
buchungList.addFeature(new FeatureSummary());
buchungList = new SollbuchungPositionListPart(
getRechnung().getSollbuchungPositionList(), null);
return buchungList;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,19 +43,16 @@
import de.jost_net.JVerein.Variable.VarTools;
import de.jost_net.JVerein.gui.action.SpendenbescheinigungAction;
import de.jost_net.JVerein.gui.action.SpendenbescheinigungPrintAction;
import de.jost_net.JVerein.gui.formatter.BuchungsartFormatter;
import de.jost_net.JVerein.gui.formatter.JaNeinFormatter;
import de.jost_net.JVerein.gui.formatter.MitgliedskontoFormatter;
import de.jost_net.JVerein.gui.input.FormularInput;
import de.jost_net.JVerein.gui.input.MailAuswertungInput;
import de.jost_net.JVerein.gui.menu.SpendenbescheinigungMenu;
import de.jost_net.JVerein.gui.parts.BuchungListTablePart;
import de.jost_net.JVerein.gui.parts.BuchungListPart;
import de.jost_net.JVerein.gui.view.SpendenbescheinigungMailView;
import de.jost_net.JVerein.io.FileViewer;
import de.jost_net.JVerein.io.MailSender;
import de.jost_net.JVerein.io.Adressbuch.Adressaufbereitung;
import de.jost_net.JVerein.io.SpendenbescheinigungExportCSV;
import de.jost_net.JVerein.io.SpendenbescheinigungExportPDF;
import de.jost_net.JVerein.io.Adressbuch.Adressaufbereitung;
import de.jost_net.JVerein.keys.Adressblatt;
import de.jost_net.JVerein.keys.Ausgabeart;
import de.jost_net.JVerein.keys.FormularArt;
Expand All @@ -64,7 +61,6 @@
import de.jost_net.JVerein.keys.SuchSpendenart;
import de.jost_net.JVerein.rmi.Buchung;
import de.jost_net.JVerein.rmi.Formular;
import de.jost_net.JVerein.rmi.Konto;
import de.jost_net.JVerein.rmi.Mail;
import de.jost_net.JVerein.rmi.MailAnhang;
import de.jost_net.JVerein.rmi.MailEmpfaenger;
Expand Down Expand Up @@ -137,14 +133,12 @@ public class SpendenbescheinigungControl extends DruckMailControl

private CheckboxInput unterlagenwertermittlung;

private TablePart buchungsList;

private Spendenbescheinigung spendenbescheinigung;

private boolean and = false;

private String sql = "";

private boolean editable = false;

final static String ExportPDF = "PDF";
Expand Down Expand Up @@ -452,81 +446,9 @@ public CheckboxInput getUnterlagenWertermittlung() throws RemoteException
return unterlagenwertermittlung;
}

public Part getBuchungsList() throws RemoteException
public Part getBuchungListPart() throws RemoteException
{
Spendenbescheinigung spb = getSpendenbescheinigung();
if (buchungsList == null)
{

buchungsList = new BuchungListTablePart(spb.getBuchungen(), null);
buchungsList.addColumn("Nr", "id-int");
buchungsList.addColumn("Konto", "konto", new Formatter()
{

@Override
public String format(Object o)
{
Konto k = (Konto) o;
if (k != null)
{
try
{
return k.getBezeichnung();
}
catch (RemoteException e)
{
Logger.error("Fehler", e);
}
}
return "";
}
});
buchungsList.addColumn("Datum", "datum",
new DateFormatter(new JVDateFormatTTMMJJJJ()));
buchungsList.addColumn("Auszug", "auszugsnummer");
buchungsList.addColumn("Blatt", "blattnummer");
buchungsList.addColumn("Name", "name");
buchungsList.addColumn("Verwendungszweck", "zweck", new Formatter()
{

@Override
public String format(Object value)
{
if (value == null)
{
return null;
}
String s = value.toString();
s = s.replaceAll("\r\n", " ");
s = s.replaceAll("\r", " ");
s = s.replaceAll("\n", " ");
return s;
}
});
buchungsList.addColumn("Buchungsart", "buchungsart",
new BuchungsartFormatter());
buchungsList.addColumn("Betrag", "betrag",
new CurrencyFormatter("", Einstellungen.DECIMALFORMAT));
buchungsList.addColumn("Mitglied", "mitgliedskonto",
new MitgliedskontoFormatter());
buchungsList.addColumn("Ersatz f�r Aufwendungen", "verzicht", new JaNeinFormatter());
buchungsList.setMulti(true);
// buchungsList.setContextMenu(new BuchungMenu(this));
buchungsList.setRememberColWidths(true);
buchungsList.setRememberOrder(true);
buchungsList.setRememberState(true);
buchungsList.addFeature(new FeatureSummary());
}
else
{
buchungsList.removeAll();
for (Buchung bu : spb.getBuchungen())
{
buchungsList.addItem(bu);
}
buchungsList.sort();
}
return buchungsList;
return new BuchungListPart(getSpendenbescheinigung().getBuchungen(), null);
}

/**
Expand Down
99 changes: 99 additions & 0 deletions src/de/jost_net/JVerein/gui/parts/BuchungListPart.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
/**********************************************************************
* Copyright (c) by Heiner Jostkleigrewe
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
* the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program. If not,
* see <http://www.gnu.org/licenses/>.
*
* [email protected]
* www.jverein.de
**********************************************************************/
package de.jost_net.JVerein.gui.parts;

import java.rmi.RemoteException;
import java.util.List;

import de.jost_net.JVerein.Einstellungen;
import de.jost_net.JVerein.gui.formatter.BuchungsartFormatter;
import de.jost_net.JVerein.gui.formatter.JaNeinFormatter;
import de.jost_net.JVerein.gui.formatter.MitgliedskontoFormatter;
import de.jost_net.JVerein.rmi.Buchung;
import de.jost_net.JVerein.rmi.Konto;
import de.jost_net.JVerein.util.JVDateFormatTTMMJJJJ;
import de.willuhn.jameica.gui.Action;
import de.willuhn.jameica.gui.formatter.CurrencyFormatter;
import de.willuhn.jameica.gui.formatter.DateFormatter;
import de.willuhn.jameica.gui.formatter.Formatter;
import de.willuhn.jameica.gui.parts.TablePart;
import de.willuhn.logging.Logger;

public class BuchungListPart extends TablePart
{
public BuchungListPart(Action action)
{
super(action);
}

public BuchungListPart(List<Buchung> list, Action action)
{
super(list, action);

addColumn("Nr", "id-int");
addColumn("Konto", "konto", new Formatter()
{

@Override
public String format(Object o)
{
Konto k = (Konto) o;
if (k != null)
{
try
{
return k.getBezeichnung();
}
catch (RemoteException e)
{
Logger.error("Fehler", e);
}
}
return "";
}
});
addColumn("Datum", "datum", new DateFormatter(new JVDateFormatTTMMJJJJ()));
addColumn("Auszug", "auszugsnummer");
addColumn("Blatt", "blattnummer");
addColumn("Name", "name");
addColumn("Verwendungszweck", "zweck", new Formatter()
{

@Override
public String format(Object value)
{
if (value == null)
{
return null;
}
String s = value.toString();
s = s.replaceAll("\r\n", " ");
s = s.replaceAll("\r", " ");
s = s.replaceAll("\n", " ");
return s;
}
});
addColumn("Buchungsart", "buchungsart", new BuchungsartFormatter());
addColumn("Betrag", "betrag",
new CurrencyFormatter("", Einstellungen.DECIMALFORMAT));
addColumn("Mitglied", "mitgliedskonto", new MitgliedskontoFormatter());
addColumn("Ersatz f�r Aufwendungen", "verzicht", new JaNeinFormatter());
setRememberColWidths(true);
setRememberOrder(true);
setRememberState(true);
}
}
Loading