package cc.glsn.v15.housefund; import java.awt.GridBagConstraints; import java.sql.ResultSet; import java.sql.SQLException; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.TreeMap; import javax.swing.JPanel; import javax.swing.JScrollPane; import cc.glsn.v15.SQLConnection; public class UserView extends JPanel implements Face { /** * */ private static final long serialVersionUID = -4188182527673528632L; String User; public UserView(String user) { super(new java.awt.GridBagLayout()); User=user; } public synchronized void updateData() throws SQLException { this.removeAll(); SQLConnection C=Globals.getSQL(); TreeMap BalMap=new TreeMap(); { double Bal=0.0; ResultSet R=C.doSingleQuery("select * from distro,transaction where transid=transaction.id and person ='" + User +"' order by date asc,transid asc"); while(R.next()) { int ID=R.getInt("transid"); double P=R.getDouble("value"); Bal+=P; BalMap.put(ID,Bal); } } ResultSet R=C.doSingleQuery("select * from distro,transaction where transid=transaction.id and person ='" + User +"'order by date desc,transid desc"); JPanel S=new JPanel(new java.awt.GridBagLayout()); JScrollPane Scr=new JScrollPane(S); { java.awt.GridBagConstraints c=new java.awt.GridBagConstraints(); c.gridheight=1; c.gridwidth=1; c.weightx=100.0; c.weighty=100.0; c.fill=GridBagConstraints.BOTH; c.insets=new java.awt.Insets(1,1,1,1); c.anchor=GridBagConstraints.WEST; this.add(Scr,c); } SimpleDateFormat sdf=Globals.getDateFormat(); DecimalFormat mf=Globals.getMoneyFormat(); DecimalFormat pf=Globals.getPercentFormat(); Globals.addItem("TransID",S,0); Globals.addItem("Description",S,0); Globals.addItem("Catagory",S,0); Globals.addItem("Date",S,0); Globals.addItem("Total",S,0); Globals.addItem("Paid",S,0); Globals.addItem("Load Factor",S,0); Globals.addItem("Balance",S,Globals.FlagEndRow); while(R.next()) { // transid, title, catagory,date, total, paid, per paid int ID=R.getInt("transid"); Globals.addItem(ID,S,0); Globals.addItem(R.getString("title"),S,0); Globals.addItem(R.getString("catagory"),S,0); Globals.addItem(sdf.format(R.getDate("date")),S,0); double Total=R.getDouble("amount"); double Paid=R.getDouble("value"); int Hide=R.getInt("totalhidden"); if (Hide==1) Total=Paid; double Percent=Paid/Total; int F=0; if (Total<0.0) F=Globals.FlagRed; Globals.addItem(mf.format(Total),S,Globals.FlagRight+F); F=0; if (Paid<0.0) F=Globals.FlagRed; Globals.addItem(mf.format(Paid),S,Globals.FlagRight+F); Globals.addItem(pf.format(Percent),S,Globals.FlagRight); F=0; if (BalMap.get(ID)<0.0) F=Globals.FlagRed; Globals.addItem(mf.format(BalMap.get(ID)),S,Globals.FlagEndRow+Globals.FlagRight+F); } } }