From 058d26a635adca31708c3de22c4927316092d1aa Mon Sep 17 00:00:00 2001 From: Johann Maierhofer <126261667+JohannMaierhofer@users.noreply.github.com> Date: Sat, 27 Apr 2024 17:34:14 +0200 Subject: [PATCH] Fix internen Fehler und Auswertung Bug (#202) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix internen Fehler * is..active() implementiert * geschlecht in settings aufgenommen * Fix fehlende Parameter bei NichtMitglied Auswertung * Fix Ausgabe der Zusatzfelder in den Parametern * weitere fixes * zwei attribute set statt get * fix sort * Für Suche eigenes SuchGeschlecht Wird sonst doppelt verwendet * kleine Korrektur --- .../JVerein/Queries/MitgliedQuery.java | 231 +++++++++--------- .../gui/action/AuswertungAdressenAction.java | 4 +- .../JVerein/gui/control/MitgliedControl.java | 220 +++++++++++++---- .../dialogs/ZusatzfelderAuswahlDialog.java | 96 ++++++-- .../gui/view/AbstractMitgliedSucheView.java | 1 - .../gui/view/AuswertungMitgliedView.java | 26 +- ....java => AuswertungNichtMitgliedView.java} | 36 ++- .../JVerein/gui/view/MitgliederSucheView.java | 5 +- .../gui/view/NichtMitgliederSucheView.java | 6 +- .../JVerein/io/MitgliedAuswertungPDF.java | 152 +++++++----- 10 files changed, 506 insertions(+), 271 deletions(-) rename src/de/jost_net/JVerein/gui/view/{AuswertungAdresseView.java => AuswertungNichtMitgliedView.java} (69%) diff --git a/src/de/jost_net/JVerein/Queries/MitgliedQuery.java b/src/de/jost_net/JVerein/Queries/MitgliedQuery.java index 21578e618..8847f02b1 100644 --- a/src/de/jost_net/JVerein/Queries/MitgliedQuery.java +++ b/src/de/jost_net/JVerein/Queries/MitgliedQuery.java @@ -78,27 +78,32 @@ public ArrayList get(int adresstyp) throws RemoteException ArrayList bedingungen = new ArrayList<>(); sql = "select distinct mitglied.*, ucase(name), ucase(vorname) "; - String sort = (String) control.getSortierung().getValue(); - if (sort.equals("Geburtstagsliste")) + if (control.isSortierungAktiv()) { - sql += ", month(geburtsdatum), day(geburtsdatum) "; + String sort = (String) control.getSortierung().getValue(); + if (sort.equals("Geburtstagsliste")) + { + sql += ", month(geburtsdatum), day(geburtsdatum) "; + } } sql += "from mitglied "; Settings settings = control.getSettings(); char synonym = 'a'; DBIterator fdit = Einstellungen.getDBService() .createList(Felddefinition.class); - if (settings.getInt(zusatzfelder + "selected", 0) > fdit.size()) + if (control.isZusatzfelderAuswahlAktiv()) { - settings.setAttribute(zusatzfelder + "selected", 0); - } - if (settings.getInt(zusatzfelder + "selected", 0) > 0) - { - for (int i = 1; i <= settings.getInt(zusatzfelder + "counter", 0); i++) + if (settings.getInt(zusatzfelder + "selected", 0) > fdit.size()) { - int definition = settings.getInt(zusatzfeld + i + ".definition", -1); - switch (settings.getInt(zusatzfeld + i + ".datentyp", -1)) + settings.setAttribute(zusatzfelder + "selected", 0); + } + if (settings.getInt(zusatzfelder + "selected", 0) > 0) + { + for (int i = 1; i <= settings.getInt(zusatzfelder + "counter", 0); i++) { + int definition = settings.getInt(zusatzfeld + i + ".definition", -1); + switch (settings.getInt(zusatzfeld + i + ".datentyp", -1)) + { case Datentyp.ZEICHENFOLGE: { String value = settings @@ -197,6 +202,7 @@ public ArrayList get(int adresstyp) throws RemoteException } break; } + } } } } @@ -208,7 +214,7 @@ public ArrayList get(int adresstyp) throws RemoteException { addCondition("adresstyp != " + 1); } - if (control.isMitgliedStatusAktiv() && adresstyp == 1) + if (control.isMitgliedStatusAktiv()) { if (control.getMitgliedStatus().getValue().equals("Angemeldet")) { @@ -237,29 +243,54 @@ else if (control.getMitgliedStatus().getValue().equals("Abgemeldet")) } } } - int mailauswahl = (Integer) control.getMailauswahl().getValue(); - if (batch && mailauswahl == MailAuswertungInput.OHNE) + if (control.isMailauswahlAktiv()) { - addCondition("(email is null or length(email) = 0)"); - } - if (batch && mailauswahl == MailAuswertungInput.MIT) - { - addCondition("(email is not null and length(email) > 0)"); + int mailauswahl = (Integer) control.getMailauswahl().getValue(); + if (batch && mailauswahl == MailAuswertungInput.OHNE) + { + addCondition("(email is null or length(email) = 0)"); + } + if (batch && mailauswahl == MailAuswertungInput.MIT) + { + addCondition("(email is not null and length(email) > 0)"); + } } - String eigenschaften = ""; - eigenschaften = control.getEigenschaftenString(); - if (eigenschaften.length() > 0) + if (control.isEigenschaftenAuswahlAktiv()) { - EigenschaftenUtil eiu = new EigenschaftenUtil(eigenschaften); - if (control.getEigenschaftenVerknuepfung().equals("und")) + String eigenschaften = ""; + eigenschaften = control.getEigenschaftenString(); + if (eigenschaften.length() > 0) { - for (EigenschaftGruppe eg : eiu.getGruppen()) + EigenschaftenUtil eiu = new EigenschaftenUtil(eigenschaften); + if (control.getEigenschaftenVerknuepfung().equals("und")) + { + for (EigenschaftGruppe eg : eiu.getGruppen()) + { + StringBuilder condEigenschaft = new StringBuilder( + "(select count(*) from eigenschaften where "); + boolean first = true; + condEigenschaft.append("eigenschaften.mitglied = mitglied.id AND ("); + for (Eigenschaft ei : eiu.get(eg)) + { + if (!first) + { + condEigenschaft.append("OR "); + } + first = false; + condEigenschaft.append("eigenschaft = ? "); + bedingungen.add(ei.getID()); + } + condEigenschaft.append(")) > 0 "); + addCondition(condEigenschaft.toString()); + } + } + else { StringBuilder condEigenschaft = new StringBuilder( "(select count(*) from eigenschaften where "); boolean first = true; condEigenschaft.append("eigenschaften.mitglied = mitglied.id AND ("); - for (Eigenschaft ei : eiu.get(eg)) + for (Eigenschaft ei : eiu.getEigenschaften()) { if (!first) { @@ -273,91 +304,77 @@ else if (control.getMitgliedStatus().getValue().equals("Abgemeldet")) addCondition(condEigenschaft.toString()); } } - else - { - StringBuilder condEigenschaft = new StringBuilder( - "(select count(*) from eigenschaften where "); - boolean first = true; - condEigenschaft.append("eigenschaften.mitglied = mitglied.id AND ("); - for (Eigenschaft ei : eiu.getEigenschaften()) - { - if (!first) - { - condEigenschaft.append("OR "); - } - first = false; - condEigenschaft.append("eigenschaft = ? "); - bedingungen.add(ei.getID()); - } - condEigenschaft.append(")) > 0 "); - addCondition(condEigenschaft.toString()); - } } - String tmpSuchname = (String) control.getSuchname().getValue(); - if (!batch && tmpSuchname.length() > 0) + if (control.isSuchnameAktiv()) { - addCondition("(lower(name) like ?)"); - bedingungen.add(tmpSuchname.toLowerCase() + "%"); + String tmpSuchname = (String) control.getSuchname().getValue(); + if (!batch && tmpSuchname.length() > 0) + { + addCondition("(lower(name) like ?)"); + bedingungen.add(tmpSuchname.toLowerCase() + "%"); + } } - if (control.getGeburtsdatumvon().getValue() != null) + if (control.isGeburtsdatumvonAktiv() && control.getGeburtsdatumvon().getValue() != null) { addCondition("geburtsdatum >= ?"); Date d = (Date) control.getGeburtsdatumvon().getValue(); bedingungen.add(new java.sql.Date(d.getTime())); } - if (control.getGeburtsdatumbis().getValue() != null) + if (control.isGeburtsdatumbisAktiv() && control.getGeburtsdatumbis().getValue() != null) { addCondition("geburtsdatum <= ?"); Date d = (Date) control.getGeburtsdatumbis().getValue(); bedingungen.add(new java.sql.Date(d.getTime())); } - if (batch && control.getSterbedatumvon().getValue() != null && adresstyp == 1) + if (batch && control.isSterbedatumvonAktiv() && control.getSterbedatumvon().getValue() != null) { addCondition("sterbetag >= ?"); Date d = (Date) control.getSterbedatumvon().getValue(); bedingungen.add(new java.sql.Date(d.getTime())); } - if (batch && control.getSterbedatumbis().getValue() != null && adresstyp == 1) + if (batch && control.isSterbedatumbisAktiv() && control.getSterbedatumbis().getValue() != null) { addCondition("sterbetag <= ?"); Date d = (Date) control.getSterbedatumbis().getValue(); bedingungen.add(new java.sql.Date(d.getTime())); } - if (control.getGeschlecht().getText() != null - && !control.getGeschlecht().getText().equals("Bitte auswählen")) + if (control.isSuchGeschlechtAktiv() && control.getSuchGeschlecht().getText() != null + && !control.getSuchGeschlecht().getText().equals("Bitte auswählen")) { addCondition("geschlecht = ?"); - String g = (String) control.getGeschlecht().getValue(); + String g = (String) control.getSuchGeschlecht().getValue(); bedingungen.add(g); } - if (control.getEintrittvon().getValue() != null && adresstyp == 1) + if (control.isEintrittvonAktiv() && control.getEintrittvon().getValue() != null) { addCondition("eintritt >= ?"); Date d = (Date) control.getEintrittvon().getValue(); bedingungen.add(new java.sql.Date(d.getTime())); } - if (control.getEintrittbis().getValue() != null && adresstyp == 1) + if (control.isEintrittbisAktiv() && control.getEintrittbis().getValue() != null) { addCondition("eintritt <= ?"); Date d = (Date) control.getEintrittbis().getValue(); bedingungen.add(new java.sql.Date(d.getTime())); } - if (control.isAustrittbisAktiv() && adresstyp == 1) + if (control.isAustrittvonAktiv() && control.getAustrittvon().getValue() != null) { - if (control.getAustrittvon().getValue() != null) - { - addCondition("austritt >= ?"); - Date d = (Date) control.getAustrittvon().getValue(); - bedingungen.add(new java.sql.Date(d.getTime())); - } - if (control.getAustrittbis().getValue() != null) - { - addCondition("austritt <= ?"); - Date d = (Date) control.getAustrittbis().getValue(); - bedingungen.add(new java.sql.Date(d.getTime())); - } + addCondition("austritt >= ?"); + Date d = (Date) control.getAustrittvon().getValue(); + bedingungen.add(new java.sql.Date(d.getTime())); + } + if (control.isAustrittbisAktiv() && control.getAustrittbis().getValue() != null) + { + addCondition("austritt <= ?"); + Date d = (Date) control.getAustrittbis().getValue(); + bedingungen.add(new java.sql.Date(d.getTime())); + } + + if (control.isAustrittbisAktiv()) + { + // Was soll das? Das wird nie durchlaufen! if (control.getSterbedatumvon() == null && control.getSterbedatumbis() == null && control.getAustrittvon().getValue() == null @@ -366,17 +383,19 @@ else if (control.getMitgliedStatus().getValue().equals("Abgemeldet")) addCondition("(austritt is null or austritt > current_date())"); } } - if (Einstellungen.getEinstellung().getExterneMitgliedsnummer()) + + if (control.isSuchExterneMitgliedsnummerActive()) { try { - if (control.getSuchExterneMitgliedsnummer().getValue() != null && adresstyp == 1) + if (control.getSuchExterneMitgliedsnummer().getValue() != null) { String ext = (String) control.getSuchExterneMitgliedsnummer() .getValue(); if (ext.length() > 0) { addCondition("externemitgliedsnummer = ?"); + bedingungen.add(ext); } } } @@ -385,32 +404,41 @@ else if (control.getMitgliedStatus().getValue().equals("Abgemeldet")) // Workaround für einen Bug in IntegerInput } } - Beitragsgruppe bg = (Beitragsgruppe) control.getBeitragsgruppeAusw() - .getValue(); - if (bg != null && adresstyp == 1) - { - addCondition("beitragsgruppe = ? "); - } - if (sort.equals("Name, Vorname")) + if (control.isBeitragsgruppeAuswAktiv()) { - sql += " ORDER BY ucase(name), ucase(vorname)"; - } - else if (sort.equals("Eintrittsdatum")) - { - sql += " ORDER BY eintritt"; - } - else if (sort.equals("Geburtsdatum")) - { - sql += " ORDER BY geburtsdatum"; + Beitragsgruppe bg = (Beitragsgruppe) control.getBeitragsgruppeAusw() + .getValue(); + if (bg != null) + { + addCondition("beitragsgruppe = ? "); + bedingungen.add(Integer.valueOf(bg.getID())); + } } - else if (sort.equals("Geburtstagsliste")) + if (control.isSortierungAktiv()) { - sql += " ORDER BY month(geburtsdatum), day(geburtsdatum)"; + String sort = (String) control.getSortierung().getValue(); + if (sort.equals("Name, Vorname")) + { + sql += " ORDER BY ucase(name), ucase(vorname)"; + } + else if (sort.equals("Eintrittsdatum")) + { + sql += " ORDER BY eintritt"; + } + else if (sort.equals("Geburtsdatum")) + { + sql += " ORDER BY geburtsdatum"; + } + else if (sort.equals("Geburtstagsliste")) + { + sql += " ORDER BY month(geburtsdatum), day(geburtsdatum)"; + } } else { sql += " ORDER BY name, vorname"; } + Logger.debug(sql); ResultSetExtractor rs = new ResultSetExtractor() @@ -428,27 +456,6 @@ public Object extract(ResultSet rs) throws RemoteException, SQLException } }; - try - { - if (Einstellungen.getEinstellung().getExterneMitgliedsnummer() - && control.getSuchExterneMitgliedsnummer().getValue() != null && adresstyp == 1) - { - String ext = (String) control.getSuchExterneMitgliedsnummer() - .getValue(); - if (ext.length() > 0) - { - bedingungen.add(control.getSuchExterneMitgliedsnummer().getValue()); - } - } - } - catch (NullPointerException e) - { - // Workaround f. Bug in IntegerInput - } - if (bg != null && adresstyp == 1) - { - bedingungen.add(Integer.valueOf(bg.getID())); - } return (ArrayList) service.execute(sql, bedingungen.toArray(), rs); } diff --git a/src/de/jost_net/JVerein/gui/action/AuswertungAdressenAction.java b/src/de/jost_net/JVerein/gui/action/AuswertungAdressenAction.java index 75c524202..63b797d88 100644 --- a/src/de/jost_net/JVerein/gui/action/AuswertungAdressenAction.java +++ b/src/de/jost_net/JVerein/gui/action/AuswertungAdressenAction.java @@ -19,7 +19,7 @@ import java.rmi.RemoteException; import de.jost_net.JVerein.Einstellungen; -import de.jost_net.JVerein.gui.view.AuswertungAdresseView; +import de.jost_net.JVerein.gui.view.AuswertungNichtMitgliedView; import de.jost_net.JVerein.rmi.Mitglied; import de.willuhn.jameica.gui.Action; import de.willuhn.jameica.gui.GUI; @@ -53,7 +53,7 @@ public void handleAction(Object context) throws ApplicationException } } - GUI.startView(AuswertungAdresseView.class.getName(), m); + GUI.startView(AuswertungNichtMitgliedView.class.getName(), m); } } diff --git a/src/de/jost_net/JVerein/gui/control/MitgliedControl.java b/src/de/jost_net/JVerein/gui/control/MitgliedControl.java index 005be82c8..b47b162dd 100644 --- a/src/de/jost_net/JVerein/gui/control/MitgliedControl.java +++ b/src/de/jost_net/JVerein/gui/control/MitgliedControl.java @@ -474,6 +474,11 @@ public void handleEvent(Event event) }); return suchadresstyp; } + + public boolean isSuchAdresstypActive() + { + return suchadresstyp != null; + } public SelectInput getAdresstyp() throws RemoteException { @@ -489,6 +494,11 @@ public SelectInput getAdresstyp() throws RemoteException adresstyp.setName("Mitgliedstyp"); return adresstyp; } + + public boolean isAdresstypActive() + { + return adresstyp != null; + } public TextInput getExterneMitgliedsnummer() throws RemoteException { @@ -708,6 +718,26 @@ public GeschlechtInput getGeschlecht() throws RemoteException geschlecht.setName("Geschlecht"); return geschlecht; } + + public GeschlechtInput getSuchGeschlecht() throws RemoteException + { + if (geschlecht != null) + { + return geschlecht; + } + geschlecht = new GeschlechtInput( + settings.getString(mitgliedtyp + ".geschlecht", "")); + geschlecht.setName("Geschlecht"); + geschlecht.setPleaseChoose("Bitte auswählen"); + geschlecht.setMandatory(true); + geschlecht.setName("Geschlecht"); + return geschlecht; + } + + public boolean isSuchGeschlechtAktiv() + { + return geschlecht != null; + } public SelectInput getZahlungsweg() throws RemoteException { @@ -1365,7 +1395,7 @@ public SelectInput getBeitragsgruppeAusw() throws RemoteException return beitragsgruppeausw; } Beitragsgruppe bg = null; - String beitragsgru = settings.getString("mitglied.beitragsgruppe", ""); + String beitragsgru = settings.getString(mitgliedtyp + ".beitragsgruppe", ""); if (beitragsgru.length() > 0) { try @@ -1389,6 +1419,11 @@ public SelectInput getBeitragsgruppeAusw() throws RemoteException beitragsgruppeausw.setName("Beitragsgruppe"); return beitragsgruppeausw; } + + public boolean isBeitragsgruppeAuswAktiv() + { + return beitragsgruppeausw != null; + } /** * Liefert ein Part zurück, das den Familienverband anzeigt. Da Container @@ -2000,6 +2035,11 @@ public void handleEvent(Event event) geburtsdatumvon.setName("Geburtsdatum von"); return geburtsdatumvon; } + + public boolean isGeburtsdatumvonAktiv() + { + return geburtsdatumvon != null; + } public DateInput getGeburtsdatumbis() { @@ -2039,6 +2079,11 @@ public void handleEvent(Event event) geburtsdatumbis.setName("Geburtsdatum bis"); return geburtsdatumbis; } + + public boolean isGeburtsdatumbisAktiv() + { + return geburtsdatumbis != null; + } public DateInput getSterbedatumvon() { @@ -2047,7 +2092,7 @@ public DateInput getSterbedatumvon() return sterbedatumvon; } Date d = null; - String tmp = settings.getString("mitglied.sterbedatumvon", null); + String tmp = settings.getString(mitgliedtyp + ".sterbedatumvon", null); if (tmp != null) { try @@ -2078,6 +2123,11 @@ public void handleEvent(Event event) sterbedatumvon.setName("Sterbedatum von"); return sterbedatumvon; } + + public boolean isSterbedatumvonAktiv() + { + return sterbedatumvon != null; + } public DateInput getSterbedatumbis() { @@ -2086,7 +2136,7 @@ public DateInput getSterbedatumbis() return sterbedatumbis; } Date d = null; - String tmp = settings.getString("mitglied.sterbedatumbis", null); + String tmp = settings.getString(mitgliedtyp + ".sterbedatumbis", null); if (tmp != null) { try @@ -2117,6 +2167,11 @@ public void handleEvent(Event event) sterbedatumbis.setName("Sterbedatum bis"); return sterbedatumbis; } + + public boolean isSterbedatumbisAktiv() + { + return sterbedatumbis != null; + } public DateInput getEintrittvon() { @@ -2125,7 +2180,7 @@ public DateInput getEintrittvon() return eintrittvon; } Date d = null; - String tmp = settings.getString("mitglied.eintrittvon", null); + String tmp = settings.getString(mitgliedtyp + ".eintrittvon", null); if (tmp != null) { try @@ -2153,13 +2208,13 @@ public void handleEvent(Event event) } } }); - eintrittvon.setName("Eintritt von"); + eintrittvon.setName("Eintrittsdatum von"); return eintrittvon; } - public boolean isEintrittbisAktiv() + public boolean isEintrittvonAktiv() { - return eintrittbis != null; + return eintrittvon != null; } public DateInput getEintrittbis() @@ -2169,7 +2224,7 @@ public DateInput getEintrittbis() return eintrittbis; } Date d = null; - String tmp = settings.getString("mitglied.eintrittbis", null); + String tmp = settings.getString(mitgliedtyp + ".eintrittbis", null); if (tmp != null) { try @@ -2197,10 +2252,15 @@ public void handleEvent(Event event) } } }); - eintrittbis.setName("Eintritt bis"); + eintrittbis.setName("Eintrittsdatum bis"); return eintrittbis; } + public boolean isEintrittbisAktiv() + { + return eintrittbis != null; + } + public DateInput getAustrittvon() { if (austrittvon != null) @@ -2208,7 +2268,7 @@ public DateInput getAustrittvon() return austrittvon; } Date d = null; - String tmp = settings.getString("mitglied.austrittvon", null); + String tmp = settings.getString(mitgliedtyp + ".austrittvon", null); if (tmp != null) { try @@ -2236,13 +2296,13 @@ public void handleEvent(Event event) } } }); - austrittvon.setName("Austritt von"); + austrittvon.setName("Austrittsdatum von"); return austrittvon; } - public boolean isAustrittbisAktiv() + public boolean isAustrittvonAktiv() { - return austrittbis != null; + return austrittvon != null; } public DateInput getAustrittbis() @@ -2252,7 +2312,7 @@ public DateInput getAustrittbis() return austrittbis; } Date d = null; - String tmp = settings.getString("mitglied.austrittbis", null); + String tmp = settings.getString(mitgliedtyp + ".austrittbis", null); if (tmp != null) { try @@ -2280,9 +2340,14 @@ public void handleEvent(Event event) } } }); - austrittbis.setName("Austritt bis"); + austrittbis.setName("Austrittsdatum bis"); return austrittbis; } + + public boolean isAustrittbisAktiv() + { + return austrittbis != null; + } public TextInput getSuchname() { @@ -2296,6 +2361,11 @@ public TextInput getSuchname() suchname.setName("Name"); return suchname; } + + public boolean isSuchnameAktiv() + { + return suchname != null; + } public DateInput getStichtag() { @@ -2304,7 +2374,7 @@ public DateInput getStichtag() return stichtag; } Date d = null; - String tmp = settings.getString("mitglied.stichtag", null); + String tmp = settings.getString(mitgliedtyp + ".stichtag", null); if (tmp != null) { try @@ -2335,6 +2405,11 @@ public void handleEvent(Event event) stichtag.setName("Stichtag"); return stichtag; } + + public boolean isStichtagAktiv() + { + return stichtag != null; + } public DateInput getStichtag(boolean jahresende) { @@ -2429,6 +2504,11 @@ public void handleEvent(Event event) }); return eigenschaftenabfrage; } + + public boolean isEigenschaftenAuswahlAktiv() + { + return eigenschaftenabfrage != null; + } public void resetEigenschaftenAuswahl() { @@ -2452,12 +2532,18 @@ public DialogInput getZusatzfelderAuswahl() zusatzfelderabfrage.setName("Zusatzfelder"); return zusatzfelderabfrage; } + + public boolean isZusatzfelderAuswahlAktiv() + { + return zusatzfelderabfrage != null; + } public void resetZusatzfelderAuswahl() { settings.setAttribute(mitgliedtyp + ".eigenschaften", ""); settings.setAttribute(zusatzfelderstring + "selected", 0); setZusatzfelderAuswahl(); + zad.reset(); } public Input getAusgabe() throws RemoteException @@ -2536,10 +2622,10 @@ public Input getSortierung() sortierung.setName("Sortierung"); return sortierung; } - - public boolean isMitgliedStatusAktiv() + + public boolean isSortierungAktiv() { - return status != null; + return sortierung != null; } public TextInput getSuchExterneMitgliedsnummer() @@ -2551,6 +2637,11 @@ public TextInput getSuchExterneMitgliedsnummer() suchexternemitgliedsnummer = new TextInput(settings.getString(mitgliedtyp + ".suchExterneMitgliedsNummer",""), 50); return suchexternemitgliedsnummer; } + + public boolean isSuchExterneMitgliedsnummerActive() + { + return suchexternemitgliedsnummer != null; + } public Input getMitgliedStatus() { @@ -2565,6 +2656,11 @@ public Input getMitgliedStatus() return status; } + public boolean isMitgliedStatusAktiv() + { + return status != null; + } + public SelectInput getMailauswahl() throws RemoteException { if (mailAuswahl != null) @@ -2575,6 +2671,11 @@ public SelectInput getMailauswahl() throws RemoteException mailAuswahl.setName("Mail"); return mailAuswahl; } + + public boolean isMailauswahlAktiv() + { + return mailAuswahl != null; + } public Button getStartAuswertungButton() { @@ -2772,11 +2873,14 @@ public TablePart refreshMitgliedTable(int atyp) throws RemoteException } lastrefresh = System.currentTimeMillis(); saveDefaults(); - part.removeAll(); - ArrayList mitglieder = new MitgliedQuery(this, false).get(atyp); - for (Mitglied m : mitglieder) + if (part != null) { - part.addItem(m); + part.removeAll(); + ArrayList mitglieder = new MitgliedQuery(this, false).get(atyp); + for (Mitglied m : mitglieder) + { + part.addItem(m); + } } return part; } @@ -2895,12 +2999,12 @@ public void saveDefaults() throws RemoteException Date tmp = (Date) getSterbedatumvon().getValue(); if (tmp != null) { - settings.setAttribute("mitglied.sterbedatumvon", + settings.setAttribute(mitgliedtyp + ".sterbedatumvon", new JVDateFormatTTMMJJJJ().format(tmp)); } else { - settings.setAttribute("mitglied.sterbedatumvon", ""); + settings.setAttribute(mitgliedtyp + ".sterbedatumvon", ""); } } @@ -2909,12 +3013,12 @@ public void saveDefaults() throws RemoteException Date tmp = (Date) getSterbedatumbis().getValue(); if (tmp != null) { - settings.setAttribute("mitglied.sterbedatumbis", + settings.setAttribute(mitgliedtyp + ".sterbedatumbis", new JVDateFormatTTMMJJJJ().format(tmp)); } else { - settings.setAttribute("mitglied.sterbedatumbis", ""); + settings.setAttribute(mitgliedtyp + ".sterbedatumbis", ""); } } @@ -2923,12 +3027,12 @@ public void saveDefaults() throws RemoteException Date tmp = (Date) getEintrittvon().getValue(); if (tmp != null) { - settings.setAttribute("mitglied.eintrittvon", + settings.setAttribute(mitgliedtyp + ".eintrittvon", new JVDateFormatTTMMJJJJ().format(tmp)); } else { - settings.setAttribute("mitglied.eintrittvon", ""); + settings.setAttribute(mitgliedtyp + ".eintrittvon", ""); } } @@ -2937,12 +3041,12 @@ public void saveDefaults() throws RemoteException Date tmp = (Date) getEintrittbis().getValue(); if (tmp != null) { - settings.setAttribute("mitglied.eintrittbis", + settings.setAttribute(mitgliedtyp + ".eintrittbis", new JVDateFormatTTMMJJJJ().format(tmp)); } else { - settings.setAttribute("mitglied.eintrittbis", ""); + settings.setAttribute(mitgliedtyp + ".eintrittbis", ""); } } @@ -2951,12 +3055,12 @@ public void saveDefaults() throws RemoteException Date tmp = (Date) getAustrittvon().getValue(); if (tmp != null) { - settings.setAttribute("mitglied.austrittvon", + settings.setAttribute(mitgliedtyp + ".austrittvon", new JVDateFormatTTMMJJJJ().format(tmp)); } else { - settings.setAttribute("mitglied.austrittvon", ""); + settings.setAttribute(mitgliedtyp + ".austrittvon", ""); } } @@ -2965,12 +3069,12 @@ public void saveDefaults() throws RemoteException Date tmp = (Date) getAustrittbis().getValue(); if (tmp != null) { - settings.setAttribute("mitglied.austrittbis", + settings.setAttribute(mitgliedtyp + ".austrittbis", new JVDateFormatTTMMJJJJ().format(tmp)); } else { - settings.setAttribute("mitglied.austrittbis", ""); + settings.setAttribute(mitgliedtyp + ".austrittbis", ""); } } if (stichtag != null) @@ -2978,12 +3082,12 @@ public void saveDefaults() throws RemoteException Date tmp = (Date) getStichtag().getValue(); if (tmp != null) { - settings.setAttribute("mitglied.stichtag", + settings.setAttribute(mitgliedtyp + ".stichtag", new JVDateFormatTTMMJJJJ().format(tmp)); } else { - settings.setAttribute("mitglied.stichtag", ""); + settings.setAttribute(mitgliedtyp + ".stichtag", ""); } } @@ -3011,11 +3115,24 @@ public void saveDefaults() throws RemoteException .getValue(); if (tmpbg != null) { - settings.setAttribute("mitglied.beitragsgruppe", tmpbg.getID()); + settings.setAttribute(mitgliedtyp + ".beitragsgruppe", tmpbg.getID()); + } + else + { + settings.setAttribute(mitgliedtyp + ".beitragsgruppe", ""); + } + } + + if (geschlecht != null) + { + String tmp = (String) getSuchGeschlecht().getValue(); + if (tmp != null && !getSuchGeschlecht().getText().equals("Bitte auswählen")) + { + settings.setAttribute(mitgliedtyp + ".geschlecht", tmp); } else { - settings.setAttribute("mitglied.beitragsgruppe", ""); + settings.setAttribute(mitgliedtyp + ".geschlecht", ""); } } } @@ -3469,7 +3586,7 @@ else if (sort.equals("Geburtstagsliste")) { fd.setFilterPath(path); } - fd.setFileName(new Dateiname("auswertung", dateinamensort, + fd.setFileName(new Dateiname("auswertungmitglied", dateinamensort, Einstellungen.getEinstellung().getDateinamenmuster(), ausw.getDateiendung()).get()); fd.setFilterExtensions(new String[] { "*." + ausw.getDateiendung() }); @@ -3546,6 +3663,25 @@ private void starteAdressAuswertung() throws RemoteException list = new MitgliedQuery(this, true).get(Integer.parseInt(atyp.getID())); try { + String sort = (String) sortierung.getValue(); + String dateinamensort = ""; + if (sort.equals("Name, Vorname")) + { + dateinamensort = "name"; + } + else if (sort.equals("Eintrittsdatum")) + { + dateinamensort = "eintrittsdatum"; + } + else if (sort.equals("Geburtsdatum")) + { + dateinamensort = "geburtsdatum"; + } + else if (sort.equals("Geburtstagsliste")) + { + dateinamensort = "geburtstagsliste"; + } + FileDialog fd = new FileDialog(GUI.getShell(), SWT.SAVE); fd.setText("Ausgabedatei wählen."); @@ -3555,7 +3691,7 @@ private void starteAdressAuswertung() throws RemoteException { fd.setFilterPath(path); } - fd.setFileName(new Dateiname("auswertungnichtmitglied", "", + fd.setFileName(new Dateiname("auswertungnichtmitglied", dateinamensort, Einstellungen.getEinstellung().getDateinamenmuster(), ausw.getDateiendung()).get()); fd.setFilterExtensions(new String[] { "*." + ausw.getDateiendung() }); @@ -3764,7 +3900,7 @@ public void handleEvent(Event event) try { Adresstyp at = (Adresstyp) getSuchAdresstyp(Mitgliedstyp.NICHTMITGLIED).getValue(); - if (at != null) + if (at != null && at.getID() != null) { refreshMitgliedTable(Integer.parseInt(at.getID())); } diff --git a/src/de/jost_net/JVerein/gui/dialogs/ZusatzfelderAuswahlDialog.java b/src/de/jost_net/JVerein/gui/dialogs/ZusatzfelderAuswahlDialog.java index 68ac383db..9ecaca81b 100644 --- a/src/de/jost_net/JVerein/gui/dialogs/ZusatzfelderAuswahlDialog.java +++ b/src/de/jost_net/JVerein/gui/dialogs/ZusatzfelderAuswahlDialog.java @@ -256,11 +256,6 @@ protected void paint(Composite parent) throws RemoteException } } settings.setAttribute(zusatzfelder + "counter", counter); - int selected = settings.getInt(zusatzfelder + "selected", 0); - if (selected == 0) - { - reset(); - } } ButtonArea buttons = new ButtonArea(); @@ -360,36 +355,83 @@ protected Object getData() public void reset() { int counter = 0; - for (Input f : felder) + if (felder == null) { - counter++; - if (f instanceof CheckboxInput) + try { - settings.setAttribute(zusatzfeld + counter + ".value", "false"); - f.setValue(false); - } - if (f instanceof IntegerInput) - { - settings.setAttribute(zusatzfeld + counter + ".value", -1); - f.setValue(-1); - } - else if (f instanceof DecimalInput) - { - settings.setAttribute(zusatzfeld + counter + ".value", ""); - f.setValue(null); + DBIterator it = Einstellungen.getDBService() + .createList(Felddefinition.class); + while (it.hasNext()) + { + counter++; + Felddefinition fd = (Felddefinition) it.next(); + switch (fd.getDatentyp()) + { + case Datentyp.ZEICHENFOLGE: + { + settings.setAttribute(zusatzfeld + counter + ".value", ""); + break; + } + case Datentyp.DATUM: + { + settings.setAttribute(zusatzfeld + counter + ".value", ""); + break; + } + case Datentyp.GANZZAHL: + { + settings.setAttribute(zusatzfeld + counter + ".value", -1); + break; + } + case Datentyp.JANEIN: + { + settings.setAttribute(zusatzfeld + counter + ".value", "false"); + break; + } + case Datentyp.WAEHRUNG: + { + settings.setAttribute(zusatzfeld + counter + ".value", ""); + break; + } + } + } } - else if (f instanceof DateInput) + catch (RemoteException e) { - settings.setAttribute(zusatzfeld + counter + ".value", ""); - f.setValue(null); + // } - else + } + else + { + for (Input f : felder) { - settings.setAttribute(zusatzfeld + counter + ".value", ""); - f.setValue(""); + counter++; + if (f instanceof CheckboxInput) + { + settings.setAttribute(zusatzfeld + counter + ".value", "false"); + f.setValue(false); + } + else if (f instanceof IntegerInput) + { + settings.setAttribute(zusatzfeld + counter + ".value", -1); + f.setValue(-1); + } + else if (f instanceof DecimalInput) + { + settings.setAttribute(zusatzfeld + counter + ".value", ""); + f.setValue(null); + } + else if (f instanceof DateInput) + { + settings.setAttribute(zusatzfeld + counter + ".value", ""); + f.setValue(null); + } + else + { + settings.setAttribute(zusatzfeld + counter + ".value", ""); + f.setValue(""); + } } } settings.setAttribute(zusatzfelder + "selected", 0); - } } diff --git a/src/de/jost_net/JVerein/gui/view/AbstractMitgliedSucheView.java b/src/de/jost_net/JVerein/gui/view/AbstractMitgliedSucheView.java index 98b1c1181..6eab3feee 100644 --- a/src/de/jost_net/JVerein/gui/view/AbstractMitgliedSucheView.java +++ b/src/de/jost_net/JVerein/gui/view/AbstractMitgliedSucheView.java @@ -127,7 +127,6 @@ public void TabRefresh() { try { - control.saveDefaults(); Adresstyp at = (Adresstyp) control.getSuchAdresstyp(Mitgliedstyp.NICHTMITGLIED).getValue(); if (at != null) { diff --git a/src/de/jost_net/JVerein/gui/view/AuswertungMitgliedView.java b/src/de/jost_net/JVerein/gui/view/AuswertungMitgliedView.java index efb10a815..0c8e6e700 100644 --- a/src/de/jost_net/JVerein/gui/view/AuswertungMitgliedView.java +++ b/src/de/jost_net/JVerein/gui/view/AuswertungMitgliedView.java @@ -16,28 +16,34 @@ **********************************************************************/ package de.jost_net.JVerein.gui.view; +import java.rmi.RemoteException; + import de.jost_net.JVerein.Einstellungen; import de.jost_net.JVerein.gui.action.DokumentationAction; import de.jost_net.JVerein.gui.control.MitgliedControl; +import de.jost_net.JVerein.gui.control.MitgliedControl.Mitgliedstyp; import de.willuhn.jameica.gui.AbstractView; import de.willuhn.jameica.gui.GUI; import de.willuhn.jameica.gui.input.Input; -import de.willuhn.jameica.gui.input.SelectInput; import de.willuhn.jameica.gui.parts.ButtonArea; import de.willuhn.jameica.gui.util.ColumnLayout; import de.willuhn.jameica.gui.util.LabelGroup; import de.willuhn.jameica.gui.util.SimpleContainer; public class AuswertungMitgliedView extends AbstractView -{ +{ + final MitgliedControl control = new MitgliedControl(this); + + public AuswertungMitgliedView() throws RemoteException + { + control.getSuchAdresstyp(Mitgliedstyp.MITGLIED).getValue(); + } @Override public void bind() throws Exception { GUI.getView().setTitle("Auswertung Mitgliedsdaten"); - final MitgliedControl control = new MitgliedControl(this); - LabelGroup group = new LabelGroup(getParent(), "Filter"); ColumnLayout cl = new ColumnLayout(group.getComposite(), 3); @@ -46,6 +52,11 @@ public void bind() throws Exception SimpleContainer left = new SimpleContainer(cl.getComposite()); Input mitglstat = control.getMitgliedStatus(); left.addInput(mitglstat); + if (Einstellungen.getEinstellung().getExterneMitgliedsnummer()) + { + left.addLabelPair("Externe Mitgliedsnummer", + control.getSuchExterneMitgliedsnummer()); + } left.addInput(control.getEigenschaftenAuswahl()); left.addInput(control.getBeitragsgruppeAusw()); @@ -59,10 +70,8 @@ public void bind() throws Exception middle.addInput(control.getMailauswahl()); middle.addInput(control.getGeburtsdatumvon()); middle.addInput(control.getGeburtsdatumbis()); - - SelectInput inpGeschlecht = control.getGeschlecht(); - inpGeschlecht.setMandatory(false); - middle.addInput(inpGeschlecht); + middle.addInput(control.getSuchGeschlecht()); + middle.addInput(control.getStichtag(false)); // right SimpleContainer right = new SimpleContainer(cl.getComposite()); @@ -71,7 +80,6 @@ public void bind() throws Exception right.addInput(control.getAustrittvon()); right.addInput(control.getAustrittbis()); - right.addInput(control.getStichtag(false)); if (Einstellungen.getEinstellung().getSterbedatum()) { diff --git a/src/de/jost_net/JVerein/gui/view/AuswertungAdresseView.java b/src/de/jost_net/JVerein/gui/view/AuswertungNichtMitgliedView.java similarity index 69% rename from src/de/jost_net/JVerein/gui/view/AuswertungAdresseView.java rename to src/de/jost_net/JVerein/gui/view/AuswertungNichtMitgliedView.java index 7f3f0a234..2ffc77d83 100644 --- a/src/de/jost_net/JVerein/gui/view/AuswertungAdresseView.java +++ b/src/de/jost_net/JVerein/gui/view/AuswertungNichtMitgliedView.java @@ -16,9 +16,12 @@ **********************************************************************/ package de.jost_net.JVerein.gui.view; +import java.rmi.RemoteException; + import de.jost_net.JVerein.Einstellungen; import de.jost_net.JVerein.gui.action.DokumentationAction; import de.jost_net.JVerein.gui.control.MitgliedControl; +import de.jost_net.JVerein.gui.control.MitgliedControl.Mitgliedstyp; import de.willuhn.jameica.gui.AbstractView; import de.willuhn.jameica.gui.GUI; import de.willuhn.jameica.gui.parts.ButtonArea; @@ -26,38 +29,51 @@ import de.willuhn.jameica.gui.util.LabelGroup; import de.willuhn.jameica.gui.util.SimpleContainer; -public class AuswertungAdresseView extends AbstractView +public class AuswertungNichtMitgliedView extends AbstractView { + final MitgliedControl control = new MitgliedControl(this); + + public AuswertungNichtMitgliedView() throws RemoteException + { + control.getSuchAdresstyp(Mitgliedstyp.NICHTMITGLIED).getValue(); + } @Override public void bind() throws Exception { GUI.getView().setTitle("Auswertung Nicht-Mitgliederdaten"); - final MitgliedControl control = new MitgliedControl(this); - LabelGroup group = new LabelGroup(getParent(), "Filter"); ColumnLayout cl = new ColumnLayout(group.getComposite(), 2); SimpleContainer left = new SimpleContainer(cl.getComposite()); + left.addInput(control.getMailauswahl()); left.addInput(control.getAdresstyp()); left.addInput(control.getEigenschaftenAuswahl()); - if (Einstellungen.getEinstellung().hasZusatzfelder()) { left.addInput(control.getZusatzfelderAuswahl()); } - left.addInput(control.getGeburtsdatumvon()); - left.addInput(control.getGeburtsdatumbis()); - - left.addInput(control.getMailauswahl()); SimpleContainer right = new SimpleContainer(cl.getComposite()); - right.addInput(control.getAusgabe()); - right.addInput(control.getAuswertungUeberschrift()); + right.addInput(control.getGeburtsdatumvon()); + right.addInput(control.getGeburtsdatumbis()); + right.addInput(control.getSuchGeschlecht()); + + // Zweite Gruppe: Ausgabe + LabelGroup group2 = new LabelGroup(getParent(), "Ausgabe"); + + ColumnLayout cl2 = new ColumnLayout(group2.getComposite(), 2); + SimpleContainer left2 = new SimpleContainer(cl2.getComposite()); + SimpleContainer right2 = new SimpleContainer(cl2.getComposite()); + + left2.addInput(control.getSortierung()); + left2.addInput(control.getAuswertungUeberschrift()); + right2.addInput(control.getAusgabe()); + // Button-Bereich ButtonArea buttons = new ButtonArea(); buttons.addButton("Hilfe", new DokumentationAction(), DokumentationUtil.AUSWERTUNGMITGLIEDER, false, "question-circle.png"); diff --git a/src/de/jost_net/JVerein/gui/view/MitgliederSucheView.java b/src/de/jost_net/JVerein/gui/view/MitgliederSucheView.java index fba491a0a..73e5597a4 100644 --- a/src/de/jost_net/JVerein/gui/view/MitgliederSucheView.java +++ b/src/de/jost_net/JVerein/gui/view/MitgliederSucheView.java @@ -78,8 +78,7 @@ public void getFilter() throws RemoteException middle.addLabelPair("Geburtsdatum von", mitglgebdatvon); DateInput mitglgebdatbis = control.getGeburtsdatumbis(); middle.addLabelPair("Geburtsdatum bis", mitglgebdatbis); - SelectInput mitglgeschlecht = control.getGeschlecht(); - mitglgeschlecht.setMandatory(false); + SelectInput mitglgeschlecht = control.getSuchGeschlecht(); mitglgeschlecht.addListener(new FilterListener()); middle.addLabelPair("Geschlecht", mitglgeschlecht); DateInput stichtag = control.getStichtag(); @@ -122,7 +121,7 @@ public void handleAction(Object context) throws ApplicationException control.getSuchname().setValue(""); control.getGeburtsdatumvon().setValue(null); control.getGeburtsdatumbis().setValue(null); - control.getGeschlecht().setValue(null); + control.getSuchGeschlecht().setValue(null); control.getEintrittvon().setValue(null); control.getEintrittbis().setValue(null); control.getAustrittvon().setValue(null); diff --git a/src/de/jost_net/JVerein/gui/view/NichtMitgliederSucheView.java b/src/de/jost_net/JVerein/gui/view/NichtMitgliederSucheView.java index 001e99d8e..40b88efe2 100644 --- a/src/de/jost_net/JVerein/gui/view/NichtMitgliederSucheView.java +++ b/src/de/jost_net/JVerein/gui/view/NichtMitgliederSucheView.java @@ -65,7 +65,6 @@ public void getFilter() throws RemoteException if (Einstellungen.getEinstellung().hasZusatzfelder()) { DialogInput mitglzusatzfelder = control.getZusatzfelderAuswahl(); - mitglzusatzfelder.addListener(new FilterListener()); left.addLabelPair("Zusatzfelder", mitglzusatzfelder); } @@ -74,8 +73,7 @@ public void getFilter() throws RemoteException right.addLabelPair("Geburtsdatum von", mitglgebdatvon); DateInput mitglgebdatbis = control.getGeburtsdatumbis(); right.addLabelPair("Geburtsdatum bis", mitglgebdatbis); - SelectInput mitglgeschlecht = control.getGeschlecht(); - mitglgeschlecht.setMandatory(false); + SelectInput mitglgeschlecht = control.getSuchGeschlecht(); mitglgeschlecht.addListener(new FilterListener()); right.addLabelPair("Geschlecht", mitglgeschlecht); @@ -93,7 +91,7 @@ public void handleAction(Object context) throws ApplicationException control.getSuchAdresstyp(Mitgliedstyp.NICHTMITGLIED).setValue(null); control.getGeburtsdatumvon().setValue(null); control.getGeburtsdatumbis().setValue(null); - control.getGeschlecht().setValue(null); + control.getSuchGeschlecht().setValue(null); if (Einstellungen.getEinstellung().hasZusatzfelder()) { control.resetZusatzfelderAuswahl(); diff --git a/src/de/jost_net/JVerein/io/MitgliedAuswertungPDF.java b/src/de/jost_net/JVerein/io/MitgliedAuswertungPDF.java index 7087a5ff8..dd8497b68 100644 --- a/src/de/jost_net/JVerein/io/MitgliedAuswertungPDF.java +++ b/src/de/jost_net/JVerein/io/MitgliedAuswertungPDF.java @@ -52,6 +52,10 @@ public class MitgliedAuswertungPDF implements IAuswertung private String subtitle = ""; private TreeMap params; + + String zusatzfeld = null; + + String zusatzfelder = null; public MitgliedAuswertungPDF(MitgliedControl control) { @@ -62,91 +66,117 @@ public MitgliedAuswertungPDF(MitgliedControl control) public void beforeGo() throws RemoteException { params = new TreeMap<>(); - this.adresstyp = (Adresstyp) control.getAdresstyp().getValue(); - if (adresstyp == null) + + if (control.isAdresstypActive()) + { + adresstyp = (Adresstyp) control.getAdresstyp().getValue(); + zusatzfeld = "nichtzusatzfeld."; + zusatzfelder = "nichtzusatzfelder."; + } + else { DBIterator it = Einstellungen.getDBService() .createList(Adresstyp.class); it.addFilter("jvereinid=1"); adresstyp = (Adresstyp) it.next(); + zusatzfeld = "zusatzfeld."; + zusatzfelder = "zusatzfelder."; } - if (adresstyp.getJVereinid() == 1) + if (control.isMitgliedStatusAktiv()) { params.put("Status", (String) control.getMitgliedStatus().getValue()); + } + if (control.isEigenschaftenAuswahlAktiv()) + { String eig = control.getEigenschaftenAuswahl().getText(); if (eig.length() > 0) { params.put("Eigenschaften", eig); } - if (control.getGeburtsdatumvon().getValue() != null) - { - Date d = (Date) control.getGeburtsdatumvon().getValue(); - params.put("Geburtsdatum von ", new JVDateFormatTTMMJJJJ().format(d)); - } - if (control.getGeburtsdatumbis().getValue() != null) - { - Date d = (Date) control.getGeburtsdatumbis().getValue(); - params.put("Geburtsdatum bis ", new JVDateFormatTTMMJJJJ().format(d)); - } - if (control.getEintrittvon().getValue() != null) - { - Date d = (Date) control.getEintrittvon().getValue(); - params.put("Eintritt von ", new JVDateFormatTTMMJJJJ().format(d)); - } - if (control.getEintrittbis().getValue() != null) - { - Date d = (Date) control.getEintrittbis().getValue(); - params.put("Eintritt bis ", new JVDateFormatTTMMJJJJ().format(d)); - } - if (control.getAustrittvon().getValue() != null) - { - Date d = (Date) control.getAustrittvon().getValue(); - params.put("Austritt von ", new JVDateFormatTTMMJJJJ().format(d)); - } - if (control.getAustrittbis().getValue() != null) - { - Date d = (Date) control.getAustrittbis().getValue(); - params.put("Austritt bis ", new JVDateFormatTTMMJJJJ().format(d)); - } - if (control.getSterbedatumvon().getValue() != null) - { - Date d = (Date) control.getSterbedatumvon().getValue(); - params.put("Sterbetag von", new JVDateFormatTTMMJJJJ().format(d)); - } - if (control.getSterbedatumbis().getValue() != null) - { - Date d = (Date) control.getSterbedatumbis().getValue(); - params.put("Sterbedatum bis", new JVDateFormatTTMMJJJJ().format(d)); - } - if (control.getBeitragsgruppeAusw().getValue() != null) - { - Beitragsgruppe bg = (Beitragsgruppe) control.getBeitragsgruppeAusw() - .getValue(); - params.put("Beitragsgruppe", bg.getBezeichnung()); + } + if (control.isSuchExterneMitgliedsnummerActive() && control.getSuchExterneMitgliedsnummer() != null) + { + String val = control.getSuchExterneMitgliedsnummer().getValue().toString(); + if (val.length() > 0) { + params.put("Externe Mitgliedsnummer ", val); } + } + if (control.isGeburtsdatumvonAktiv() && control.getGeburtsdatumvon().getValue() != null) + { + Date d = (Date) control.getGeburtsdatumvon().getValue(); + params.put("Geburtsdatum von ", new JVDateFormatTTMMJJJJ().format(d)); + } + if (control.isGeburtsdatumbisAktiv() && control.getGeburtsdatumbis().getValue() != null) + { + Date d = (Date) control.getGeburtsdatumbis().getValue(); + params.put("Geburtsdatum bis ", new JVDateFormatTTMMJJJJ().format(d)); + } + if (control.isEintrittvonAktiv() && control.getEintrittvon().getValue() != null) + { + Date d = (Date) control.getEintrittvon().getValue(); + params.put("Eintritt von ", new JVDateFormatTTMMJJJJ().format(d)); + } + if (control.isEintrittbisAktiv() && control.getEintrittbis().getValue() != null) + { + Date d = (Date) control.getEintrittbis().getValue(); + params.put("Eintritt bis ", new JVDateFormatTTMMJJJJ().format(d)); + } + if (control.isAustrittvonAktiv() && control.getAustrittvon().getValue() != null) + { + Date d = (Date) control.getAustrittvon().getValue(); + params.put("Austritt von ", new JVDateFormatTTMMJJJJ().format(d)); + } + if (control.isAustrittbisAktiv() && control.getAustrittbis().getValue() != null) + { + Date d = (Date) control.getAustrittbis().getValue(); + params.put("Austritt bis ", new JVDateFormatTTMMJJJJ().format(d)); + } + if (control.isSterbedatumvonAktiv() && control.getSterbedatumvon().getValue() != null) + { + Date d = (Date) control.getSterbedatumvon().getValue(); + params.put("Sterbetag von", new JVDateFormatTTMMJJJJ().format(d)); + } + if (control.isSterbedatumbisAktiv() && control.getSterbedatumbis().getValue() != null) + { + Date d = (Date) control.getSterbedatumbis().getValue(); + params.put("Sterbedatum bis", new JVDateFormatTTMMJJJJ().format(d)); + } + if (control.isBeitragsgruppeAuswAktiv() && control.getBeitragsgruppeAusw().getValue() != null) + { + Beitragsgruppe bg = (Beitragsgruppe) control.getBeitragsgruppeAusw() + .getValue(); + params.put("Beitragsgruppe", bg.getBezeichnung()); + } + if (control.isMailauswahlAktiv()) + { int ma = (Integer) control.getMailauswahl().getValue(); - if (ma == MailAuswertungInput.ALLE) + if (ma != MailAuswertungInput.ALLE) { params.put("Mail", control.getMailauswahl().getText()); } - if (control.getGeschlecht().getText() != null - && !control.getGeschlecht().getText().equals("Bitte auswählen")) - { - params.put("Geschlecht", control.getGeschlecht().getText()); - } + } + if (control.isSuchGeschlechtAktiv() && control.getSuchGeschlecht().getText() != null + && !control.getSuchGeschlecht().getText().equals("Bitte auswählen")) + { + params.put("Geschlecht", control.getSuchGeschlecht().getText()); + } + if (control.isStichtagAktiv() && control.getStichtag(false).getValue() != null) + { Date d = (Date) control.getStichtag(false).getValue(); params.put("Stichtag", new JVDateFormatTTMMJJJJ().format(d)); } - for (int i = 0; i < control.getSettings().getInt("zusatzfelder.selected", - 0); i++) + if (control.isZusatzfelderAuswahlAktiv()) { - if (!control.getSettings().getString("zusatzfeld." + i + ".value", "") - .equals("")) + int counter = control.getSettings().getInt(zusatzfelder + "counter", 0); + for (int i = 1; i <= counter; i++) { - params.put( - control.getSettings().getString("zusatzfeld." + i + ".name", ""), - control.getSettings().getString("zusatzfeld." + i + ".value", "")); + String value = control.getSettings().getString(zusatzfeld + i + ".value", ""); + if (!value.equals("") && !value.equals("false")) + { + params.put( + control.getSettings().getString(zusatzfeld + i + ".name", ""), value); + } } } String ueberschrift = (String) control.getAuswertungUeberschrift()