From 501204f6dc0f4680876e8ec1ed738343edb4cf38 Mon Sep 17 00:00:00 2001 From: MuellerMarlon Date: Sat, 19 Oct 2024 21:02:33 +0200 Subject: [PATCH 1/7] Added Betrag to Suchstrategie --- src/de/jost_net/JVerein/io/Suchbetrag.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/jost_net/JVerein/io/Suchbetrag.java b/src/de/jost_net/JVerein/io/Suchbetrag.java index cabfb9c6b..ed7a27110 100644 --- a/src/de/jost_net/JVerein/io/Suchbetrag.java +++ b/src/de/jost_net/JVerein/io/Suchbetrag.java @@ -29,7 +29,7 @@ public class Suchbetrag public enum Suchstrategie { - KEINE, GLEICH, GR�SSER, GR�SSERGLEICH, KLEINER, KLEINERGLEICH, BEREICH, UNG�LTIG + KEINE, GLEICH, GR�SSER, GR�SSERGLEICH, KLEINER, KLEINERGLEICH, BEREICH, UNG�LTIG, BETRAG } private Suchstrategie sustrat = Suchstrategie.KEINE; From 4eac249bf0d485dc97278b0c6975f780f94c244e Mon Sep 17 00:00:00 2001 From: MuellerMarlon Date: Sat, 19 Oct 2024 21:05:52 +0200 Subject: [PATCH 2/7] Added case for BETRAG Strategy --- src/de/jost_net/JVerein/Queries/BuchungQuery.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/de/jost_net/JVerein/Queries/BuchungQuery.java b/src/de/jost_net/JVerein/Queries/BuchungQuery.java index 6a404b189..7e6f4c9a7 100644 --- a/src/de/jost_net/JVerein/Queries/BuchungQuery.java +++ b/src/de/jost_net/JVerein/Queries/BuchungQuery.java @@ -254,6 +254,9 @@ else if (buchungart.getNummer() >= 0) case KLEINERGLEICH: it.addFilter("buchung.betrag <= ?", suchbetrag.getBetrag()); break; + case BETRAG: + it.addFilter("buchung.betrag = ? OR buchung.betrag = -?", suchbetrag.getBetrag()); + break; default: break; } From 141743e63467abc6e6c4faea40a82b17828de9d2 Mon Sep 17 00:00:00 2001 From: MuellerMarlon Date: Sat, 19 Oct 2024 21:07:41 +0200 Subject: [PATCH 3/7] Added Prefix for BETRAG --- src/de/jost_net/JVerein/io/Suchbetrag.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/de/jost_net/JVerein/io/Suchbetrag.java b/src/de/jost_net/JVerein/io/Suchbetrag.java index ed7a27110..900a842c7 100644 --- a/src/de/jost_net/JVerein/io/Suchbetrag.java +++ b/src/de/jost_net/JVerein/io/Suchbetrag.java @@ -99,6 +99,11 @@ else if (liste.get(0).equals("=")) sustrat = Suchstrategie.GLEICH; liste.remove(0); } + else if (liste.get(0).equals("|")) + { + sustrat = Suchstrategie.BETRAG; + liste.remove(0); + } else if (liste.size() > 1 && liste.get(1).equals("..")) { sustrat = Suchstrategie.BEREICH; From 3be2c0460ef249a14e7bf3ded4b24c9d1b8c2381 Mon Sep 17 00:00:00 2001 From: MuellerMarlon Date: Sat, 19 Oct 2024 21:08:12 +0200 Subject: [PATCH 4/7] Refactored sustrat --- src/de/jost_net/JVerein/io/Suchbetrag.java | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/de/jost_net/JVerein/io/Suchbetrag.java b/src/de/jost_net/JVerein/io/Suchbetrag.java index 900a842c7..f353aab24 100644 --- a/src/de/jost_net/JVerein/io/Suchbetrag.java +++ b/src/de/jost_net/JVerein/io/Suchbetrag.java @@ -32,7 +32,7 @@ public enum Suchstrategie KEINE, GLEICH, GR�SSER, GR�SSERGLEICH, KLEINER, KLEINERGLEICH, BEREICH, UNG�LTIG, BETRAG } - private Suchstrategie sustrat = Suchstrategie.KEINE; + private Suchstrategie suchstrategie = Suchstrategie.KEINE; private BigDecimal betrag; @@ -45,7 +45,7 @@ public Suchbetrag(String suchbetrag) throws Exception { if (suchbetrag == null || suchbetrag.length() == 0) { - sustrat = Suchstrategie.KEINE; + suchstrategie = Suchstrategie.KEINE; return; } @@ -76,37 +76,37 @@ else if (liste.get(i).equals(".") && liste.get(i + 1).equals(".")) } if (liste.get(0).equals(">")) { - sustrat = Suchstrategie.GR�SSER; + suchstrategie = Suchstrategie.GR�SSER; liste.remove(0); } else if (liste.get(0).equals(">=")) { - sustrat = Suchstrategie.GR�SSERGLEICH; + suchstrategie = Suchstrategie.GR�SSERGLEICH; liste.remove(0); } else if (liste.get(0).equals("<")) { - sustrat = Suchstrategie.KLEINER; + suchstrategie = Suchstrategie.KLEINER; liste.remove(0); } else if (liste.get(0).equals("<=")) { - sustrat = Suchstrategie.KLEINERGLEICH; + suchstrategie = Suchstrategie.KLEINERGLEICH; liste.remove(0); } else if (liste.get(0).equals("=")) { - sustrat = Suchstrategie.GLEICH; + suchstrategie = Suchstrategie.GLEICH; liste.remove(0); } else if (liste.get(0).equals("|")) { - sustrat = Suchstrategie.BETRAG; + suchstrategie = Suchstrategie.BETRAG; liste.remove(0); } else if (liste.size() > 1 && liste.get(1).equals("..")) { - sustrat = Suchstrategie.BEREICH; + suchstrategie = Suchstrategie.BEREICH; liste.remove(1); } else if (liste.size() > 1 && !liste.get(1).equals("..")) @@ -115,7 +115,7 @@ else if (liste.size() > 1 && !liste.get(1).equals("..")) } else if (liste.size() == 1) { - sustrat = Suchstrategie.GLEICH; // Nur Betrag angegeben. + suchstrategie = Suchstrategie.GLEICH; // Nur Betrag angegeben. } // jetzt muss ein Decimalwert kommen @@ -124,21 +124,21 @@ else if (liste.size() == 1) NumberFormat nf = NumberFormat.getInstance(Locale.GERMAN); betrag = new BigDecimal(nf.parse(liste.get(0)).toString()); - if (sustrat == Suchstrategie.BEREICH) + if (suchstrategie == Suchstrategie.BEREICH) { betrag2 = new BigDecimal(nf.parse(liste.get(1)).toString()); } } catch (ParseException e) { - sustrat = Suchstrategie.UNG�LTIG; + suchstrategie = Suchstrategie.UNG�LTIG; throw new Exception("Wert ung�ltig"); } } public Suchstrategie getSuchstrategie() { - return sustrat; + return suchstrategie; } public BigDecimal getBetrag() From 64d2dcbced9990b8c484ccc299630d2ac74e943a Mon Sep 17 00:00:00 2001 From: MuellerMarlon Date: Sat, 19 Oct 2024 21:27:55 +0200 Subject: [PATCH 5/7] Added | to Delimiter --- src/de/jost_net/JVerein/io/Suchbetrag.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/jost_net/JVerein/io/Suchbetrag.java b/src/de/jost_net/JVerein/io/Suchbetrag.java index f353aab24..f89c4d245 100644 --- a/src/de/jost_net/JVerein/io/Suchbetrag.java +++ b/src/de/jost_net/JVerein/io/Suchbetrag.java @@ -51,7 +51,7 @@ public Suchbetrag(String suchbetrag) throws Exception // Suchstring in Einzelteile zerlegen ArrayList liste = new ArrayList<>(); - StringTokenizer tok = new StringTokenizer(suchbetrag, "<>=.", true); + StringTokenizer tok = new StringTokenizer(suchbetrag, "<>=.|", true); while (tok.hasMoreTokens()) { liste.add(tok.nextToken().trim()); From ae508c49f60c3aebcc71e3b9293d05f0d2e47604 Mon Sep 17 00:00:00 2001 From: MuellerMarlon Date: Sat, 19 Oct 2024 23:11:58 +0200 Subject: [PATCH 6/7] Fixed second Parameter for Betrag Strategy --- src/de/jost_net/JVerein/Queries/BuchungQuery.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/jost_net/JVerein/Queries/BuchungQuery.java b/src/de/jost_net/JVerein/Queries/BuchungQuery.java index 7e6f4c9a7..3efca0ae1 100644 --- a/src/de/jost_net/JVerein/Queries/BuchungQuery.java +++ b/src/de/jost_net/JVerein/Queries/BuchungQuery.java @@ -255,7 +255,7 @@ else if (buchungart.getNummer() >= 0) it.addFilter("buchung.betrag <= ?", suchbetrag.getBetrag()); break; case BETRAG: - it.addFilter("buchung.betrag = ? OR buchung.betrag = -?", suchbetrag.getBetrag()); + it.addFilter("buchung.betrag = ? OR buchung.betrag = ?", suchbetrag.getBetrag(), suchbetrag.getBetrag().negate()); break; default: break; From 57bb3185bf1f33a6c2fa5fd02a89cba7eda6d3e6 Mon Sep 17 00:00:00 2001 From: MuellerMarlon Date: Sat, 19 Oct 2024 23:14:05 +0200 Subject: [PATCH 7/7] Fixed Parentheses in DB Query --- src/de/jost_net/JVerein/Queries/BuchungQuery.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/jost_net/JVerein/Queries/BuchungQuery.java b/src/de/jost_net/JVerein/Queries/BuchungQuery.java index 3efca0ae1..7776802e4 100644 --- a/src/de/jost_net/JVerein/Queries/BuchungQuery.java +++ b/src/de/jost_net/JVerein/Queries/BuchungQuery.java @@ -255,7 +255,7 @@ else if (buchungart.getNummer() >= 0) it.addFilter("buchung.betrag <= ?", suchbetrag.getBetrag()); break; case BETRAG: - it.addFilter("buchung.betrag = ? OR buchung.betrag = ?", suchbetrag.getBetrag(), suchbetrag.getBetrag().negate()); + it.addFilter("(buchung.betrag = ? OR buchung.betrag = ?)", suchbetrag.getBetrag(), suchbetrag.getBetrag().negate()); break; default: break;