// Wir speichern die Daten erstmal in einem Hash, damit wir Duplikate rausfischen koennen
Hashtable hash = new Hashtable();
// Schritt 1: Die Buchungen von Sammel-Auftraegen
DBIterator list = Settings.getDBService().createList(SammelLastBuchung.class);
list.addFilter("LOWER(zweck) LIKE ? OR " +
"LOWER(zweck2) LIKE ? OR " +
"LOWER(zweck3) LIKE ? OR " +
"LOWER(gegenkonto_name) LIKE ? OR " +
"gegenkonto_nr LIKE ? OR " +
"gegenkonto_blz LIKE ?",
text,text,text,text,text,text);
while (list.hasNext())
{
SammelLastBuchung buchung = (SammelLastBuchung) list.next();
SammelLastschrift ueb = (SammelLastschrift) buchung.getSammelTransfer();
hash.put(ueb.getID(),new MyResult(ueb));
}
// Schritt 2: Sammel-Auftraege selbst
list = Settings.getDBService().createList(SammelLastschrift.class);
list.addFilter("LOWER(bezeichnung) LIKE ?",text);
while (list.hasNext())
{
SammelLastschrift ueb = (SammelLastschrift) list.next();
hash.put(ueb.getID(),new MyResult(ueb));
}
return Arrays.asList(hash.values().toArray(new MyResult[hash.size()]));
}