1 packagecom.xt.vending;
2
3 importjava.sql.Connection;
4 importjava.sql.Date;
5 importjava.sql.DriverManager;
6 importjava.sql.PreparedStatement;
7 importjava.sql.ResultSet;
8 importjava.sql.SQLException;
9 importjava.sql.Statement;
10 importjava.text.DateFormat;
11 importjava.text.SimpleDateFormat;
12
13 public classMenu
14 {
15 Connection conn = null;
16 Statement state = null;
17 ResultSet rs = null;
18 //商品清单
19 public voidshowmenu(){
20 String sql = "select * from vending_info";
21 try{
22 conn =DBUtil.getDBConn();
23 state =conn.createStatement();
24 rs =state.executeQuery(sql);
25 if(state.execute(sql)){
26 rs =state.getResultSet();
27 System.out.println("ID\t品名\t\t库存\t价格\t单位\t");
28 while(rs.next()){
29 System.out.print(rs.getInt(1) + "\t");
30 System.out.print(rs.getString(2) + "\t\t");
31 System.out.print(rs.getInt(3) + "\t");
32 System.out.print(rs.getDouble(4) + "\t");
33 System.out.print(rs.getString(5) + "\t");
34 System.out.println("");
35 }
36
37 }
38 } catch(Exception e) {
39 System.out.println("错误报告:" +e);
40 }finally{
41 DBUtil.closeConn(conn);
42 DBUtil.closeStatement(state);
43 DBUtil.closeResultSet(rs);}
44 }
45 //商品数量减一
46 public void minNumber(intID){
47 String sql = "update vending_info set number = number-1 where ID='"+ ID +"'";
48 try{
49 Class.forName("com.mysql.jdbc.Driver");
50 conn =DBUtil.getDBConn();
51 state =conn.createStatement();
52 state.executeUpdate(sql);
53 System.out.println("");
54 } catch(Exception e) {
55 System.out.println("错误报告:" +e);
56 }finally{
57 DBUtil.closeConn(conn);
58 DBUtil.closeStatement(state);
59 DBUtil.closeResultSet(rs);}
60 }
61 //获取当前商品价格
62 public double Price(intID){
63 double price = 0;
64 String sql = "select price from vending_info where ID ='"+ ID +"'";
65 java.sql.PreparedStatement ps = null;
66 ResultSet rs = null;
67 try{
68 Class.forName("com.mysql.jdbc.Driver");
69 conn =DBUtil.getDBConn();
70 ps =conn.prepareStatement(sql);
71 rs =ps.executeQuery();
72 while(rs.next()){
73 price= rs.getDouble(1);}
74 } catch(Exception e) {
75 System.out.println("错误报告:" +e);
76 }finally{
77 DBUtil.closeConn(conn);
78 DBUtil.closeStatement(state);
79 DBUtil.closeResultSet(rs);}
80 returnprice;
81 }
82 //获取当前商品数量
83 public int Number(intID){
84 int number = 0;
85 String sql = "select number from vending_info where ID ='"+ ID +"'";
86 java.sql.PreparedStatement ps = null;
87 ResultSet rs = null;
88 try{
89 Class.forName("com.mysql.jdbc.Driver");
90 conn =DBUtil.getDBConn();
91 ps =conn.prepareStatement(sql);
92 rs =ps.executeQuery();
93 while(rs.next()){
94 number = rs.getInt(1);}
95 } catch(Exception e) {
96 System.out.println("错误报告:" +e);
97 }finally{
98 DBUtil.closeConn(conn);
99 DBUtil.closeStatement(state);
100 DBUtil.closeResultSet(rs);}
101 returnnumber;
102 }
103 //当前商品名称
104 public String Name(intID){
105 String sql = "select name from vending_info where ID ='"+ ID +"'";
106 String name = null;
107 try{
108 Class.forName("com.mysql.jdbc.Driver");
109 conn =DBUtil.getDBConn();
110 state =conn.createStatement();
111 if(state.execute(sql)){
112 rs =state.getResultSet();
113 while(rs.next()){
114 name = rs.getString(1);
115 }
116
117 }
118 } catch(Exception e) {
119 System.out.println("错误报告:" +e);
120 }finally{
121 DBUtil.closeConn(conn);
122 DBUtil.closeStatement(state);
123 DBUtil.closeResultSet(rs);}
124 returnname;
125 
}126 //售出清单
127 //序号 商品ID 商品名称 商品价格 售出时间
128 public void SellInfo(int id,int ID,intnum1) {
129 java.util.Date date = newjava.util.Date();
130 DateFormat format = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
131 String time =format.format(date);
132 String sql = "insert into sell_info (numb,number,ID,name,price,date) values ("+ "'"+id +"','"+num1+"','"+ ID +"','"+Name(ID)+"','"+Price(ID)+"','"+time+"')";
133 Connection conn = null;
134 Statement state = null;
135 try{
136 Class.forName("com.mysql.jdbc.Driver");
137 conn =DBUtil.getDBConn();
138 state =conn.createStatement();
139 state.executeUpdate(sql);
140 } catch(ClassNotFoundException e) {
141 e.printStackTrace();
142 } catch(SQLException e) {
143 e.printStackTrace();
144 }finally{
145 try{
146 state.close();
147 conn.close();
148 } catch(SQLException e) {
149 e.printStackTrace();}
150 }
151 }
152 //展示给客户自己买的东西
153 public void ShowSellmenu(int id2,int num1,double money,doubleinputmoney){
154 int x =id2;
155 double y = inputmoney-money;
156 String sql ="select * from sell_info limit " + x + ","+num1;
157 try{
158 Class.forName("com.mysql.jdbc.Driver");
159 conn =DBUtil.getDBConn();
160 state =conn.createStatement();
161 rs =state.executeQuery(sql);
162 System.out.println("---------------------菠萝自动贩卖机--------------------");
163 System.out.println("");
164 System.out.println("序号\t商品ID\t品名\t\t价格\t订单时间\t");
165 while(rs.next()){
166 System.out.print(rs.getInt(2) + "\t");
167 System.out.print(rs.getInt(3) + "\t");
168 System.out.print(rs.getString(4) + "\t\t");
169 System.out.print(rs.getInt(5) + "\t");
170 System.out.print(rs.getString(6) + "\t");
171 System.out.println("");}
172 System.out.println("");
173 System.out.println("\t\t\t合计:"+y);
174 System.out.println("\t\t\t实收:"+inputmoney);
175 System.out.println("\t\t\t找零:"+money);
176 System.out.println("\t谢谢惠顾!");
177 System.out.println("\t\t欢迎下次光临");
178 System.out.println("\t\tTel:妖妖零");
179 } catch(Exception e) {
180 System.out.println("错误报告:" +e);
181 }finally{
182 DBUtil.closeConn(conn);
183 DBUtil.closeStatement(state);
184 DBUtil.closeResultSet(rs);}
185 }
186 //查询本次购买前总共有多少条数据
187 public intSearchLast(){
188 int lastnumber = 0;
189 String sql = "select count(*) from sell_info";
190 java.sql.PreparedStatement ps = null;
191 ResultSet rs = null;
192 try{
193 Class.forName("com.mysql.jdbc.Driver");
194 conn =DBUtil.getDBConn();
195 ps =conn.prepareStatement(sql);
196 rs =ps.executeQuery();
197 while(rs.next()){
198 lastnumber = rs.getInt(1);}
199 } catch(Exception e) {
200 System.out.println("错误报告:" +e);
201 }finally{
202 DBUtil.closeConn(conn);
203 DBUtil.closeStatement(state);
204 DBUtil.closeResultSet(rs);}
205 returnlastnumber;
206 }
207 }