⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chargereport.java

📁 小区物业管理系统
💻 JAVA
字号:
import javax.swing.table.AbstractTableModel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.sql.*;
import java.util.*;



public class ChargeReport extends JFrame
{
	
	
	private JPanel buttonPanel,tablePanel,fieldPanel,fieldPanel1,fieldPanel2,fieldPanel3;
		
	String title[]= {"小区号","楼号","房号","业主姓名","用途","上月读数","本月读数","单价","应缴总额"};

	Vector vector=new Vector();
	

	Connection connection = null;
	ResultSet rSet = null;
	Statement statement = null;
	AbstractTableModel tm;
	
	private int tt,did,bid,time;
	private double uPrice;
	
	public ChargeReport(String type,int district_id,int building_id)
	{
		super(type);
		if(type.compareTo("电费收费报表")==0)
			tt=1;
		else if(type.compareTo("水费收费报表")==0)
			tt=2;
		else if(type.compareTo("煤气费收费报表")==0)
			tt=3;
			
		did=district_id;
		bid=building_id;
		time=GetSystime.getSystime();
		
		enableEvents(AWTEvent.WINDOW_EVENT_MASK);
		try
		{
			jbInit();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		setSize(480,480);
		setResizable(false);
		setVisible(true);
		//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );		
	}
	
	private void jbInit() throws Exception
	{
		Container con = getContentPane();
		//con.setLayout(new BorderLayout());
						
		tablePanel=new JPanel();
		
		createtable();
		con.add(tablePanel);
		updated();
		
	}
	
/*	public void static void main(String[] args)
	{
		ChargeReport chargeReport=new ChargeReport("电费收费报表",1,1);
		chargeReport.setSize(480,480);
		chargeReport.setResizable(false);
		chargeReport.setVisible(true);
		chargeReport.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
	}*/
	
	private void createtable()
	{
		JTable table;
		JScrollPane scroll;
	//	vector = new Vector();
		tm = new AbstractTableModel()
		{
			public int getColumnCount()
			{
				return title.length;
			}
			public int getRowCount()
			{
				return vector.size();
			}
			public String getColumnName(int col) 
			{
				return title[col];
			}
			
			public Object getValueAt(int row, int column)
			{
				if(!vector.isEmpty())
				{
					return ((Vector)vector.elementAt(row)).elementAt(column);
				}
				else
				{
					return null;
				}
	
			}
			public void setValueAt(Object value, int row, int column)
			{
				
			}
		
			public Class getColumnClass(int c)
			{
				return getValueAt(0,c).getClass();
			}
			public boolean isCellEditable(int row, int column)
			{
				return false;
			}
		};
		
		table = new JTable(tm);
		table.setToolTipText("Display Query Result");
		table.setAutoResizeMode(table.AUTO_RESIZE_OFF);
		table.setCellSelectionEnabled(false);
		table.setShowHorizontalLines(true);
		table.setShowVerticalLines(true);
		scroll = new JScrollPane(table);
		scroll.setBounds(6,20,540,250);
		tablePanel.add(scroll);
		
		
	}
	
	void updated()
	{
			getUnitPrice();
			try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			String url="jdbc:odbc:estate";
			connection = DriverManager.getConnection(url);
			statement = connection.createStatement();
			String sql3=null;
			sql3="select r.district_id,r.building_id,r.room_id,r.oname,r.purpose,ur1.water_reading,ur2.water_reading from room_info r,user_reading ur1,user_reading ur2 where r.district_id="+did+" and r.district_id=ur1.district_id and ur1.district_id=ur2.district_id and r.building_id="+bid+" and r.building_id=ur1.building_id and ur1.building_id=ur2.building_id and r.room_id=ur1.room_id and ur1.room_id=ur2.room_id and ur1.date="+(time-1)+" and ur2.date="+time;
			rSet=statement.executeQuery(sql3);
			
			if(rSet.next()== true)
			{
				String sql = sql3;
				ResultSet rs=statement.executeQuery(sql);
								
				vector.removeAllElements();
				tm.fireTableStructureChanged();
			
				while(rs.next())
				{
					Vector rec_vector=new Vector();
					rec_vector.addElement(String.valueOf(rs.getInt(1)));
					rec_vector.addElement(String.valueOf(rs.getInt(2)));
					rec_vector.addElement(String.valueOf(rs.getInt(3)));
					rec_vector.addElement(rs.getString(4));
					rec_vector.addElement(rs.getString(5));
			 		double last=rs.getDouble(6),current=rs.getDouble(7);
					rec_vector.addElement(String.valueOf(last));
					rec_vector.addElement(String.valueOf(current));
					rec_vector.addElement(String.valueOf(uPrice));
					rec_vector.addElement(String.valueOf((current-last)*uPrice));
					vector.addElement(rec_vector);
				}
				tm.fireTableStructureChanged();
			}
			
			
		}
		catch(Exception ex){
			ex.printStackTrace();
		}
		finally{
			try{
				if(statement != null){
					statement.close();
				}
				if(connection != null){
					connection.close();
				}
			}
			catch(SQLException ex){
				System.out.println("\nERROR:---------SQLException--------\n");
				System.out.println("Message: "+ ex.getMessage());
				System.out.println("SQLState: "+ ex.getSQLState());
				System.out.println("ErrorCode: "+ ex.getErrorCode());
			}
		}
	}
	
	void getUnitPrice()
	{
			String sql=null;
			try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			String url="jdbc:odbc:estate";
			connection = DriverManager.getConnection(url);
			statement = connection.createStatement();
				sql="select * from unit_price_info where charge_id="+tt;
		/*	if(tt==1)
				sql="select * from unit_price_info where charge_id=1";
			if(tt==2)
				sql="select * from unit_price_info where charge_id=2";
			if(tt==3)
				sql="select * from unit_price_info where charge_id=3";*/
			rSet=statement.executeQuery(sql);
			if(rSet.next()== true)
				uPrice=rSet.getDouble("unit_price");
			}
		catch(Exception ex){
			ex.printStackTrace();
		}
		finally{
			try{
				if(statement != null){
					statement.close();
				}
				if(connection != null){
					connection.close();
				}
			}
			catch(SQLException ex){
				System.out.println("\nERROR:---------SQLException--------\n");
				System.out.println("Message: "+ ex.getMessage());
				System.out.println("SQLState: "+ ex.getSQLState());
				System.out.println("ErrorCode: "+ ex.getErrorCode());
			}
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -