package de.open4me.depot.gui.control;
import java.rmi.RemoteException;
import java.util.List;
import de.open4me.depot.Settings;
import de.open4me.depot.gui.action.OrderList;
import de.open4me.depot.gui.menu.OrderListMenu;
import de.open4me.depot.gui.parts.PrintfColumn;
import de.open4me.depot.sql.GenericObjectSQL;
import de.open4me.depot.sql.SQLUtils;
import de.willuhn.jameica.gui.AbstractControl;
import de.willuhn.jameica.gui.AbstractView;
import de.willuhn.jameica.gui.Part;
import de.willuhn.jameica.gui.formatter.DateFormatter;
import de.willuhn.jameica.gui.parts.TablePart;
public class OrderListControl extends AbstractControl
{
private TablePart orderList;
private TablePart umsatzList;
public OrderListControl(AbstractView view) {
super(view);
}
public Part getOrderInfoTable() throws RemoteException
{
if (orderList != null) {
return orderList;
}
List<GenericObjectSQL> list = SQLUtils.getResultSet("select *, "
+ "concat(kosten, ' ', kostenw) as joinkosten, "
+ "konto.id as kontoid, "
+ "depotviewer_umsaetze.id as umsatzid, "
+ "concat(steuern, ' ', steuernw) as joinsteuern, "
+ "concat(transaktionskosten, ' ', transaktionskostenw) as jointransaktionskosten "
+ "from depotviewer_umsaetze "
+ " left join depotviewer_wertpapier on depotviewer_umsaetze.wpid = depotviewer_wertpapier.id"
+ " left join konto on konto.id = depotviewer_umsaetze.kontoid order by buchungsdatum desc"
,
"depotviewer_umsaetze", "id");
orderList = new TablePart(list,new OrderList());
orderList.setRememberColWidths(true);
orderList.setRememberOrder(true);
orderList.addColumn(Settings.i18n().tr("Depot"), "bezeichnung");
orderList.addColumn(Settings.i18n().tr("WKN"),"wkn");
orderList.addColumn(Settings.i18n().tr("Wertpapiername"),"wertpapiername");
orderList.addColumn(Settings.i18n().tr("Anzahl"),"anzahl");
orderList.addColumn(Settings.i18n().tr("Kurs"),"kurs");
orderList.addColumn(new PrintfColumn(Settings.i18n().tr("Kosten"), "kosten", "%.2f %s", "kosten", "kostenw"));
orderList.addColumn(new PrintfColumn(Settings.i18n().tr("Gebühren"), "transaktionskosten", "%.2f %s", "transaktionskosten", "transaktionskostenw"));
orderList.addColumn(new PrintfColumn(Settings.i18n().tr("Steuern"), "steuern", "%.2f %s", "steuern", "steuernw"));
orderList.addColumn(Settings.i18n().tr("Aktion"),"aktion");
orderList.addColumn(Settings.i18n().tr("Datum"),"buchungsdatum", new DateFormatter(Settings.DATEFORMAT));
orderList.addColumn(Settings.i18n().tr("Kommentar"), "kommentar");
orderList.setContextMenu(new OrderListMenu(orderList));
return orderList;
}
}