📄 checkout.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.redingsoft.checkout;import com.redingsoft.locationutil.LocationUtil;import com.redingsoft.sql.SetSQL;import com.redingsoft.sunsdk.swing.OJButton;import com.redingsoft.sunsdk.swing.xtwh_table;import com.redingsoft.timeutil.Util;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.*;import javax.swing.table.DefaultTableModel;/** * * @author Administrator */public class Checkout extends JDialog implements ActionListener { //声明一个标签 JLabel jl1; //声明一个文本框 JTextField tf1; //声明2个按钮 JButton bt1,bt2; //声明一个表格 JTable tb1; //声明一个表模式 DefaultTableModel dftm1; //声明一个滚动面板 JScrollPane sp1; //声明面板 JPanel toppane,centerpane,mainpane; //初始化表格数组 String cols[]={"姓名","性别","房间号","押金","消费","入住时间"}; String rows[][]=new String[0][6]; Vector v=new Vector(); String sql; //构造方法 public Checkout(){ //实例化标签 jl1=new JLabel("输入要结账的房间号:"); //实例化文本框 tf1=new JTextField(15); //实例化按钮 bt1=new OJButton("com/redingsoft/pic/u04.gif","结账","给客人结账",true); bt2=new OJButton("com/redingsoft/pic/b1.gif","刷新","刷新消费信息",true); //实例化表格 tb1=new JTable(); //设置表模式 dftm1=new xtwh_table(rows,cols); sql="select c_name 姓名,sex 性别,r_no 房间号,foregift 押金,account 消费,in_time 入住时间 from inlive where delmark=0 "; initTabel(sql); tb1.setModel(dftm1); //实例化滚动面 sp1=new JScrollPane(tb1); //设置滚动面板初始大小 sp1.setPreferredSize(new Dimension(480,380)); //实例化面板 toppane=new JPanel(); centerpane=new JPanel(); mainpane=new JPanel(new BorderLayout()); //添加到面板 toppane.add(jl1); toppane.add(tf1); toppane.add(bt1); toppane.add(bt2); //添加滚动面版 centerpane.add(sp1); //色绘制边框修饰 centerpane.setBorder(BorderFactory.createTitledBorder(centerpane.getBorder(), "消费信息")); /////////////////////// mainpane.add(BorderLayout.NORTH,toppane); mainpane.add(BorderLayout.SOUTH,centerpane); //添加按钮侦听 bt1.addActionListener(this); bt2.addActionListener(this); this.add(mainpane); this.setSize(600, 500); this.setDefaultCloseOperation(Checkout.DISPOSE_ON_CLOSE); } /*************************************** public static void main(String []args){ new Checkout(); } *****************************************/ //初始化表格/* * 函数名:public void initTabel() * 参数:null * 返回值:void * 功能:制作并初始化表格 ***********************************/public void initTabel(String sql){ //设置表格的模式 //初始化表表模式 SetSQL.initDTM(dftm1,sql); if(dftm1.getRowCount()!=0){ tb1.setModel(dftm1); // tb=new JTable(); }else{ WarnMsg("提示","还没有客户消费信息。"); }}/******************************************************* * 函数名称:WarnMsgPane(String title ,String msg ,component null) * 参数:tile 提示标题 msg 提示消息 显示他的父组件 * 功能:为错误的输入和连接错误做出提示 ************************************************************/ public static void WarnMsg(String title,String msg){ JOptionPane.showMessageDialog(null,msg,title,JOptionPane.WARNING_MESSAGE); } public void actionPerformed(ActionEvent e) { // throw new UnsupportedOperationException("Not supported yet."); Object o=e.getSource(); if(o==bt1){ ///结账 String r_id=tf1.getText(); String date=Util.getNowDTime(); selinlive(); String incheckout="insert into checkout(chk_no,in_no,days,money,chk_time) values('"+v.get(0)+ r_id+"','"+v.get(0)+"',"+v.get(1)+","+v.get(2)+",'"+date+"')"; String delinlive="delete from inlive where r_no='"+r_id+"'"; //更新inlve表 String update="update roominfo set state='"+"可供"+"'"+"where id='"+r_id+"'"; //更新roomifo表 SetSQL.executeUpdate(incheckout); SetSQL.executeUpdate(delinlive); SetSQL.executeUpdate(update); Object money=v.get(2); Object foregift=v.get(3); // foregift.toString(); // money.toString(); float balance= Float.valueOf(foregift.toString())-Float.valueOf( money.toString()); WarnMsg("提示","余额为:"+String.valueOf(balance)); } if(o==bt2){ initTabel(sql); } } private void selinlive(){ String r_id=tf1.getText(); String selinlive="select * from inlive where r_no='"+r_id+"'"; ResultSet rs=SetSQL.executeQuery(selinlive); if(rs!=null){ try { while (rs.next()) { v.add(rs.getString("In_no")); v.add(rs.getString("days")); v.add(rs.getFloat("account")); v.add(rs.getFloat("foregift")); } } catch (SQLException ex) { // Logger.getLogger(Checkout.class.getName()).log(Level.SEVERE, null, ex); WarnMsg("提示","你输入的房间不可以结账!"); } } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -