Skip to content

Commit

Permalink
Fix Sepa Check (#571)
Browse files Browse the repository at this point in the history
* Fix Sepa Check

* Kleiner Update
  • Loading branch information
JohannMaierhofer authored Jan 15, 2025
1 parent 60d9ff0 commit caf336b
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 23 deletions.
23 changes: 12 additions & 11 deletions src/de/jost_net/JVerein/gui/action/MitgliedLastschriftAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ private boolean checkSEPA(Mitglied m) throws RemoteException
if (m.getZahlungsweg() == null
|| m.getZahlungsweg() != Zahlungsweg.BASISLASTSCHRIFT)
{

abortDialog("Fehler", "Zahlungsweg ist nicht Basislastschrift");
return false;
}
Expand All @@ -136,22 +135,24 @@ private boolean checkSEPA(Mitglied m) throws RemoteException
}
}

// pruefe Sepa Gueltigkeit: Datum der letzen Abbuchung
Date letzte_lastschrift = m.getLetzteLastschrift();
if (letzte_lastschrift != null)
// Pruefe Sepa Gueltigkeit:
// Bei Mandaten älter als 3 Jahre muss es eine Lastschrift
// innerhalb der letzten 3 Jahre geben
Calendar sepagueltigkeit = Calendar.getInstance();
sepagueltigkeit.add(Calendar.MONTH, -36);
if (m.getMandatDatum().before(sepagueltigkeit.getTime()))
{
Calendar sepagueltigkeit = Calendar.getInstance();
sepagueltigkeit.add(Calendar.MONTH, -36);
if (letzte_lastschrift.before(sepagueltigkeit.getTime()))
Date letzte_lastschrift = m.getLetzteLastschrift();
if (letzte_lastschrift == null
|| letzte_lastschrift.before(sepagueltigkeit.getTime()))
{
if (!confirmDialog("Letzte Lastschrift",
"Letzte Lastschrift ist älter als 36 Monate"))
if (!confirmDialog("Mandat abgelaufen",
"Das Mandat-Datum ist älter als 36 Monate und es erfolgte keine Lastschrift in den letzten 36 Monaten."))
{
return false;
}
}
}
}

return true;
}

Expand Down
28 changes: 16 additions & 12 deletions src/de/jost_net/JVerein/io/AbrechnungSEPA.java
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,6 @@

public class AbrechnungSEPA
{
private final Calendar sepagueltigkeit;

private int counter = 0;

public AbrechnungSEPA(AbrechnungSEPAParam param, ProgressMonitor monitor)
Expand All @@ -117,8 +115,6 @@ public AbrechnungSEPA(AbrechnungSEPAParam param, ProgressMonitor monitor)

Abrechnungslauf abrl = getAbrechnungslauf(param);

sepagueltigkeit = Calendar.getInstance();
sepagueltigkeit.add(Calendar.MONTH, -36);
Basislastschrift lastschrift = new Basislastschrift();
// Vorbereitung: Allgemeine Informationen einstellen
lastschrift.setBIC(Einstellungen.getEinstellung().getBic());
Expand Down Expand Up @@ -981,20 +977,28 @@ private boolean checkSEPA(Mitglied m, ProgressMonitor monitor)
{
return true;
}
Date letzte_lastschrift = m.getLetzteLastschrift();
if (letzte_lastschrift != null
&& letzte_lastschrift.before(sepagueltigkeit.getTime()))
{
monitor.log(Adressaufbereitung.getNameVorname(m)
+ ": Letzte Lastschrift ist älter als 36 Monate.");
return false;
}
// Ohne Mandat keine Lastschrift
if (m.getMandatDatum() == Einstellungen.NODATE)
{
monitor.log(Adressaufbereitung.getNameVorname(m)
+ ": Kein Mandat-Datum vorhanden.");
return false;
}
// Bei Mandaten älter als 3 Jahre muss es eine Lastschrift
// innerhalb der letzten 3 Jahre geben
Calendar sepagueltigkeit = Calendar.getInstance();
sepagueltigkeit.add(Calendar.MONTH, -36);
if (m.getMandatDatum().before(sepagueltigkeit.getTime()))
{
Date letzte_lastschrift = m.getLetzteLastschrift();
if (letzte_lastschrift == null
|| letzte_lastschrift.before(sepagueltigkeit.getTime()))
{
monitor.log(Adressaufbereitung.getNameVorname(m)
+ ": Das Mandat-Datum ist älter als 36 Monate und es erfolgte keine Lastschrift in den letzten 36 Monaten.");
return false;
}
}
return true;
}

Expand Down

0 comments on commit caf336b

Please sign in to comment.