Skip to content

Commit

Permalink
Fix Zusatzfelder (#294)
Browse files Browse the repository at this point in the history
  • Loading branch information
JohannMaierhofer authored Sep 7, 2024
1 parent 994d60a commit c7dbcd5
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 35 deletions.
18 changes: 7 additions & 11 deletions src/de/jost_net/JVerein/Queries/MitgliedQuery.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,8 @@
import de.jost_net.JVerein.rmi.Beitragsgruppe;
import de.jost_net.JVerein.rmi.Eigenschaft;
import de.jost_net.JVerein.rmi.EigenschaftGruppe;
import de.jost_net.JVerein.rmi.Felddefinition;
import de.jost_net.JVerein.rmi.Mitglied;
import de.jost_net.JVerein.util.JVDateFormatTTMMJJJJ;
import de.willuhn.datasource.rmi.DBIterator;
import de.willuhn.datasource.rmi.DBService;
import de.willuhn.datasource.rmi.ResultSetExtractor;
import de.willuhn.logging.Logger;
Expand Down Expand Up @@ -79,14 +77,8 @@ public ArrayList<Mitglied> get(int adresstyp, String sort) throws RemoteExceptio
sql += "from mitglied ";
Settings settings = control.getSettings();
char synonym = 'a';
DBIterator<Felddefinition> fdit = Einstellungen.getDBService()
.createList(Felddefinition.class);
if (control.isZusatzfelderAuswahlAktiv())
{
if (settings.getInt(zusatzfelder + "selected", 0) > fdit.size())
{
settings.setAttribute(zusatzfelder + "selected", 0);
}
if (settings.getInt(zusatzfelder + "selected", 0) > 0)
{
for (int i = 1; i <= settings.getInt(zusatzfelder + "counter", 0); i++)
Expand Down Expand Up @@ -138,10 +130,14 @@ public ArrayList<Mitglied> get(int adresstyp, String sort) throws RemoteExceptio
}
case Datentyp.GANZZAHL:
{
int value = settings.getInt(zusatzfeld + i + ".value",
Integer.MIN_VALUE);
Integer value = null;
String tmp = settings.getString(zusatzfeld + i + ".value", "");
if (tmp != null && !tmp.isEmpty())
{
value = Integer.parseInt(tmp);
}
String cond = settings.getString(zusatzfeld + i + ".cond", null);
if (value != Integer.MIN_VALUE)
if (value != null)
{
sql += "join zusatzfelder " + synonym + " on " + synonym
+ ".mitglied = mitglied.id and " + synonym + ".FELDGANZZAHL "
Expand Down
18 changes: 14 additions & 4 deletions src/de/jost_net/JVerein/gui/control/MitgliedControl.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
import de.jost_net.JVerein.gui.input.EmailInput;
import de.jost_net.JVerein.gui.input.GeschlechtInput;
import de.jost_net.JVerein.gui.input.IBANInput;
import de.jost_net.JVerein.gui.input.IntegerNullInput;
import de.jost_net.JVerein.gui.input.PersonenartInput;
import de.jost_net.JVerein.gui.menu.ArbeitseinsatzMenu;
import de.jost_net.JVerein.gui.menu.FamilienbeitragMenu;
Expand Down Expand Up @@ -121,7 +122,6 @@
import de.willuhn.jameica.gui.input.FileInput;
import de.willuhn.jameica.gui.input.ImageInput;
import de.willuhn.jameica.gui.input.Input;
import de.willuhn.jameica.gui.input.IntegerInput;
import de.willuhn.jameica.gui.input.SelectInput;
import de.willuhn.jameica.gui.input.SpinnerInput;
import de.willuhn.jameica.gui.input.TextAreaInput;
Expand Down Expand Up @@ -1515,9 +1515,12 @@ public Input[] getZusatzfelder() throws RemoteException
case Datentyp.GANZZAHL:
if (zf.getFeldGanzzahl() == null)
{
zf.setFeldGanzzahl(0);
zusatzfelder[i] = new IntegerNullInput();
}
else
{
zusatzfelder[i] = new IntegerNullInput(zf.getFeldGanzzahl());
}
zusatzfelder[i] = new IntegerInput(zf.getFeldGanzzahl());
break;
case Datentyp.WAEHRUNG:
zusatzfelder[i] = new DecimalInput(zf.getFeldWaehrung(),
Expand Down Expand Up @@ -2409,7 +2412,14 @@ public void handleStore()
zf.setFeldDatum((Date) ti.getValue());
break;
case Datentyp.GANZZAHL:
zf.setFeldGanzzahl((Integer) ti.getValue());
if (ti.getValue() != null)
{
zf.setFeldGanzzahl((Integer) ti.getValue());
}
else
{
zf.setFeldGanzzahl(null);
}
break;
case Datentyp.WAEHRUNG:
if (ti.getValue() != null)
Expand Down
54 changes: 34 additions & 20 deletions src/de/jost_net/JVerein/gui/dialogs/ZusatzfelderAuswahlDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.eclipse.swt.widgets.Composite;

import de.jost_net.JVerein.Einstellungen;
import de.jost_net.JVerein.gui.input.IntegerNullInput;
import de.jost_net.JVerein.keys.Datentyp;
import de.jost_net.JVerein.rmi.Felddefinition;
import de.jost_net.JVerein.util.JVDateFormatTTMMJJJJ;
Expand Down Expand Up @@ -85,7 +86,7 @@ protected void paint(Composite parent) throws RemoteException
group.addInput(input);
counter++;
settings.setAttribute(zusatzfeld + counter + ".name",
fd.getName());
input.getName());
settings.setAttribute(zusatzfeld + counter + ".cond", "LIKE");
settings.setAttribute(zusatzfeld + counter + ".datentyp",
fd.getDatentyp());
Expand All @@ -103,7 +104,7 @@ protected void paint(Composite parent) throws RemoteException
group.addInput(inputvon);
counter++;
settings.setAttribute(zusatzfeld + counter + ".name",
fd.getName());
inputvon.getName());
settings.setAttribute(zusatzfeld + counter + ".cond", ">=");
settings.setAttribute(zusatzfeld + counter + ".datentyp",
fd.getDatentyp());
Expand All @@ -128,7 +129,7 @@ protected void paint(Composite parent) throws RemoteException
group.addInput(inputbis);
counter++;
settings.setAttribute(zusatzfeld + counter + ".name",
fd.getName());
inputbis.getName());
settings.setAttribute(zusatzfeld + counter + ".cond", "<=");
settings.setAttribute(zusatzfeld + counter + ".datentyp",
fd.getDatentyp());
Expand All @@ -150,35 +151,49 @@ protected void paint(Composite parent) throws RemoteException
}
case Datentyp.GANZZAHL:
{
IntegerInput inputvon = new IntegerInput(-1);
IntegerNullInput inputvon = new IntegerNullInput();
inputvon.setName(fd.getLabel() + " von");
felder.add(inputvon);
group.addInput(inputvon);
counter++;
settings.setAttribute(zusatzfeld + counter + ".name",
fd.getName());
inputvon.getName());
settings.setAttribute(zusatzfeld + counter + ".cond", ">=");
settings.setAttribute(zusatzfeld + counter + ".datentyp",
fd.getDatentyp());
settings.setAttribute(zusatzfeld + counter + ".definition",
fd.getID());
inputvon.setValue(
settings.getInt(zusatzfeld + counter + ".value", -1));
String tmp = settings.getString(zusatzfeld + counter + ".value", "");
if (tmp != null && !tmp.isEmpty())
{
inputvon.setValue(Integer.parseInt(tmp));
}
else
{
inputvon.setValue(null);
}

IntegerInput inputbis = new IntegerInput(-1);
IntegerNullInput inputbis = new IntegerNullInput();
inputbis.setName(fd.getLabel() + " bis");
felder.add(inputbis);
group.addInput(inputbis);
counter++;
settings.setAttribute(zusatzfeld + counter + ".name",
fd.getName());
inputbis.getName());
settings.setAttribute(zusatzfeld + counter + ".cond", "<=");
settings.setAttribute(zusatzfeld + counter + ".datentyp",
fd.getDatentyp());
settings.setAttribute(zusatzfeld + counter + ".definition",
fd.getID());
inputbis.setValue(
settings.getInt(zusatzfeld + counter + ".value", -1));
tmp = settings.getString(zusatzfeld + counter + ".value", "");
if (tmp != null && !tmp.isEmpty())
{
inputbis.setValue(Integer.parseInt(tmp));
}
else
{
inputbis.setValue(null);
}
break;
}
case Datentyp.JANEIN:
Expand All @@ -189,7 +204,7 @@ protected void paint(Composite parent) throws RemoteException
group.addInput(input);
counter++;
settings.setAttribute(zusatzfeld + counter + ".name",
fd.getName());
input.getName());
settings.setAttribute(zusatzfeld + counter + ".cond", "=");
settings.setAttribute(zusatzfeld + counter + ".datentyp",
fd.getDatentyp());
Expand All @@ -207,7 +222,7 @@ protected void paint(Composite parent) throws RemoteException
group.addInput(inputvon);
counter++;
settings.setAttribute(zusatzfeld + counter + ".name",
fd.getName());
inputvon.getName());
settings.setAttribute(zusatzfeld + counter + ".cond", ">=");
settings.setAttribute(zusatzfeld + counter + ".datentyp",
fd.getDatentyp());
Expand Down Expand Up @@ -235,7 +250,7 @@ protected void paint(Composite parent) throws RemoteException
group.addInput(inputbis);
counter++;
settings.setAttribute(zusatzfeld + counter + ".name",
fd.getName());
inputbis.getName());
settings.setAttribute(zusatzfeld + counter + ".cond", "<=");
settings.setAttribute(zusatzfeld + counter + ".datentyp",
fd.getDatentyp());
Expand Down Expand Up @@ -298,8 +313,7 @@ public void handleAction(Object context)
}
else
{
String s = null;
settings.setAttribute(zusatzfeld + counter + ".value", s);
settings.setAttribute(zusatzfeld + counter + ".value", "");
}
break;
}
Expand Down Expand Up @@ -372,9 +386,9 @@ public void reset()
}
case Datentyp.GANZZAHL:
{
settings.setAttribute(zusatzfeld + counter + ".value", -1);
settings.setAttribute(zusatzfeld + counter + ".value", "");
counter++;
settings.setAttribute(zusatzfeld + counter + ".value", -1);
settings.setAttribute(zusatzfeld + counter + ".value", "");
break;
}
case Datentyp.JANEIN:
Expand Down Expand Up @@ -407,8 +421,8 @@ public void reset()
}
else if (f instanceof IntegerInput)
{
settings.setAttribute(zusatzfeld + counter + ".value", -1);
f.setValue(-1);
settings.setAttribute(zusatzfeld + counter + ".value", "");
f.setValue(null);
}
else if (f instanceof DecimalInput)
{
Expand Down

0 comments on commit c7dbcd5

Please sign in to comment.