📄 order.java
字号:
package beans;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
import java.sql.PreparedStatement;
import util.AddZeroAhead;
import util.BaseSQL;
public class Order {
private String orderID = "";
private User waiter = new User();
private int numberOfMan = 0;
private String contractorName = "";
private String phoneNumber = "";
private Date orderDate = new Date();
private Date eatDate = new Date();
private float price = 0;
private Vector<DishNumber> dishNumbers = new Vector<DishNumber>();
//可以删除
public String getMainInfor(){
BaseSQL b = new BaseSQL();
try {
b.connect("eatery", "root", "123456");
ResultSet rs = b.statement.executeQuery(
"select * from `order` where orderID = '"+orderID+"'");
String waiterID;
if(rs.next()){
this.orderID = rs.getString("orderID");
waiterID = rs.getString("waiterID");
this.numberOfMan = rs.getInt("numberOfMan");
this.contractorName = rs.getString("contractor");
this.phoneNumber = rs.getString("phoneNumber");
this.orderDate = rs.getDate("orderDate");
this.eatDate = rs.getTimestamp("eatTime");
this.price = rs.getFloat("price");
}else{
return "此订单不存在!";
}
this.waiter.getWaiterData(waiterID);
} catch (SQLException e) {
// TODO Auto-generated catch block
return "数据库操作出错!";
} catch (Exception e) {
// TODO Auto-generated catch block
return "出现未知错误!";
} finally {
try {
b.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
}
}
return null;
}
public String deleteOrder(){
BaseSQL b = new BaseSQL();
try {
b.connect("eatery", "root", "123456");
ResultSet rs = b.statement.executeQuery(
"select * from `order` where orderID = '"+orderID+"'");
if(rs.next()){
b.connection.setAutoCommit(false);
b.statement.executeUpdate("delete from `order` where orderID = '"+orderID+"'");
b.connection.commit();
b.connection.setAutoCommit(true);
}else{
return "数据库中不存在该项!";
}
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
b.connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
}
return "数据库操作出错!";
} catch (Exception e) {
// TODO Auto-generated catch block
try {
b.connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
}
return "出现未知错误!";
} finally {
try {
b.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
}
}
return null;
}
//测试通过
public String persist(){
BaseSQL b = new BaseSQL();
try {
b.connect("eatery", "root", "123456");
String year;
String month;
String date;
ResultSet rs = b.statement.executeQuery(
"select orderID from `order`");
year = AddZeroAhead.addZeroAhead(orderDate.getYear()-100+"", 2);
month = AddZeroAhead.addZeroAhead(orderDate.getMonth()+1+"", 2);
date = AddZeroAhead.addZeroAhead(orderDate.getDate()+"", 2);
orderID = year+month+date+"01";
while(rs.next()){
if(Integer.parseInt(orderID)==Integer.parseInt(rs.getString(1))){
orderID = Integer.parseInt(orderID)+1+"";
}
}
orderID = AddZeroAhead.addZeroAhead(orderID, 8);
System.out.println(orderID);
b.connection.setAutoCommit(false);
PreparedStatement pStmt = b.connection.prepareStatement("insert into `order` values(?,?,?,?,?,?,?,?)");
pStmt.setString(1, orderID);
pStmt.setString(2, waiter.getUserName());
pStmt.setInt(3, numberOfMan);
pStmt.setString(4, contractorName);
pStmt.setString(5, phoneNumber);
pStmt.setDate(6, java.sql.Date.valueOf(orderDate.getYear()+1900+"-"+month+"-"+date));
String eatYear = eatDate.getYear()+1900+"";
String eatMonth = AddZeroAhead.addZeroAhead(eatDate.getMonth()+1+"", 2);
String eatDay = AddZeroAhead.addZeroAhead(eatDate.getDate()+"", 2);
String eatHour = AddZeroAhead.addZeroAhead(eatDate.getHours()+"", 2);
String eatMinute = AddZeroAhead.addZeroAhead(eatDate.getMinutes()+"", 2);
String eatSecond = AddZeroAhead.addZeroAhead(eatDate.getSeconds()+"", 2);
pStmt.setTimestamp(7, java.sql.Timestamp.valueOf(
eatYear+"-"+eatMonth+"-"+eatDay+" "+eatHour+":"+eatMinute+":"+eatSecond));
pStmt.setFloat(8, price);
pStmt.executeUpdate();
Iterator iter = dishNumbers.iterator();
while(iter.hasNext()){
DishNumber dishenumber = (DishNumber)iter.next();
String dishID = dishenumber.getDish().getDishID();
int number = dishenumber.getNumber();
System.out.println(orderID+" "+dishID+" "+number);
if(b.statement.executeQuery(
"select * from dish where dishID = '"
+dishID+"'").next()){
b.statement.executeUpdate("insert into order_dish values ('"
+orderID+"','"+dishID+"',"+number+")");
}else{
b.connection.rollback();
return "菜不存在,无法添加!";
}
}
b.connection.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
b.connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
}
return "数据库操作出错!";
} catch (Exception e) {
// TODO Auto-generated catch block
try {
b.connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
}
return "出现未知错误!";
} finally {
try {
b.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
}
}
return null;
}
//可以
public String update(){
BaseSQL b = new BaseSQL();
try {
b.connect("eatery", "root", "123456");
b.connection.setAutoCommit(false);
ResultSet rs = b.statement.executeQuery(
"select * from `order` where orderID = '"+orderID+"'");
if(rs.next()){
PreparedStatement pStmt = b.connection.prepareStatement(
"update `order` set orderID = ?,waiterID = ?,numberOfMan = ?,contractor = ?," +
"phoneNumber = ?,orderDate = ?,eatTime = ?,price =? where orderID = ?");
pStmt.setString(1, orderID);
pStmt.setString(2, waiter.getUserName());
pStmt.setInt(3, numberOfMan);
pStmt.setString(4, contractorName);
pStmt.setString(5, phoneNumber);
String year;
String month;
String date;
year = AddZeroAhead.addZeroAhead(orderDate.getYear()-100+"", 2);
month = AddZeroAhead.addZeroAhead(orderDate.getMonth()+1+"", 2);
date = AddZeroAhead.addZeroAhead(orderDate.getDate()+"", 2);
pStmt.setDate(6, java.sql.Date.valueOf(orderDate.getYear()+1900+"-"+month+"-"+date));
String eatYear = eatDate.getYear()+1900+"";
String eatMonth = AddZeroAhead.addZeroAhead(eatDate.getMonth()+1+"", 2);
String eatDay = AddZeroAhead.addZeroAhead(eatDate.getDate()+"", 2);
String eatHour = AddZeroAhead.addZeroAhead(eatDate.getHours()+"", 2);
String eatMinute = AddZeroAhead.addZeroAhead(eatDate.getMinutes()+"", 2);
String eatSecond = AddZeroAhead.addZeroAhead(eatDate.getSeconds()+"", 2);
pStmt.setTimestamp(7, java.sql.Timestamp.valueOf(
eatYear+"-"+eatMonth+"-"+eatDay+" "+eatHour+":"+eatMinute+":"+eatSecond));
pStmt.setFloat(8, price);
pStmt.setString(9, orderID);
pStmt.executeUpdate();
}else{
b.connection.rollback();
return "数据库中不存在该项!";
}
Iterator iter = dishNumbers.iterator();
b.statement.executeUpdate("delete from order_dish where orderID ='"+orderID+"'");
while(iter.hasNext()){
DishNumber dishenumber = (DishNumber)iter.next();
String dishID = dishenumber.getDish().getDishID();
int number = dishenumber.getNumber();
if(b.statement.executeQuery(
"select * from dish where dishID = '"
+dishID+"'").next()){
b.statement.executeUpdate("insert into order_dish values ('"
+orderID+"','"+dishID+"',"+number+")");
}else{
b.connection.rollback();
return "菜不存在,无法添加!";
}
}
b.connection.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
b.connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
return "数据库操作出错!";
} catch (Exception e) {
// TODO Auto-generated catch block
try {
b.connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
return "出现未知错误!";
} finally {
try {
b.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
//测试通过
public String getData(String orderID){
BaseSQL b = new BaseSQL();
try {
b.connect("eatery", "root", "123456");
ResultSet rs = b.statement.executeQuery(
"select * from `order` where orderID = '"+orderID+"'");
String waiterID;
if(rs.next()){
this.orderID = rs.getString("orderID");
waiterID = rs.getString("waiterID");
this.numberOfMan = rs.getInt("numberOfMan");
this.contractorName = rs.getString("contractor");
this.phoneNumber = rs.getString("phoneNumber");
this.orderDate = rs.getDate("orderDate");
this.eatDate = rs.getTimestamp("eatTime");
this.price = rs.getFloat("price");
}else{
return "此订单不存在!";
}
this.waiter.getWaiterData(waiterID);
dishNumbers = new Vector();
rs = b.statement.executeQuery(
"select * from order_dish where orderID = '"+orderID+"'");
while(rs.next()){
Dish dish = new Dish();
dish.getMainInfo(rs.getString(2));
DishNumber dishNumber = new DishNumber();
dishNumber.setNumber(rs.getInt(3));
dishNumber.setDish(dish);
dishNumbers.add(dishNumber);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
return "数据库操作出错!";
} catch (Exception e) {
// TODO Auto-generated catch block
return "出现未知错误!";
} finally {
try {
b.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
}
}
return null;
}
//可以
public String addDishes(Dish add,int number){
Iterator iter = dishNumbers.iterator();
DishNumber d = new DishNumber();
d.setDish(add);
d.setNumber(number);
while(iter.hasNext()){
DishNumber dishnumber = (DishNumber)iter.next();
if(dishnumber.getDish().equals(add.getDishID())){
dishNumbers.remove(dishnumber);
dishNumbers.add(d);
return "此菜已存在!替换!";
}
}
dishNumbers.add(d);
return "成功增加!";
}
//可以
public String deleteDishes(Dish delete){
Iterator iter = dishNumbers.iterator();
while(iter.hasNext()){
DishNumber dishnumber = (DishNumber)iter.next();
if(dishnumber.getDish().equals(delete.getDishID())){
dishNumbers.remove(dishnumber);
return "成功删除!";
}
}
return "删除失败!此菜不存在!";
}
//测试通过
public float caculatePrice(){
Iterator<DishNumber> iterator = dishNumbers.iterator();
price = 0;
while(iterator.hasNext()){
DishNumber d = iterator.next();
price += d.getDish().getPrice()*d.getNumber();
}
return price;
}
//可以使用
public int queryDish(String dishID){
dishID = AddZeroAhead.addZeroAhead(dishID, 8);
if(dishNumbers.size() == 0){
return 0;
}
for(int i = 0 ; i < dishNumbers.size(); i++){
Dish temp = (Dish)dishNumbers.get(i).getDish();
if(temp.equals(dishID)){
return dishNumbers.get(i).getNumber();
}
}
return 0;
}
public boolean equals(String compare){
if(orderID.equals(compare)){
return true;
}else{
return false;
}
}
public String getOrderID() {
return orderID;
}
public void setOrderID(String orderID) {
orderID = orderID;
}
public User getWaiter() {
return waiter;
}
public void setWaiter(User waiter) {
this.waiter = waiter;
}
public int getNumberOfMan() {
return numberOfMan;
}
public void setNumberOfMan(int numberOfMan) {
this.numberOfMan = numberOfMan;
}
public String getContractorName() {
return contractorName;
}
public void setContractorName(String contractorName) {
this.contractorName = contractorName;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public Date getOrderDate() {
return orderDate;
}
public void setOrderDate(Date orderDate) {
this.orderDate = orderDate;
}
public Date getEatDate() {
return eatDate;
}
public void setEatDate(Date eatDate) {
this.eatDate = eatDate;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public Vector getDishes() {
return dishNumbers;
}
public void setDishes(Vector dishNumbers) {
this.dishNumbers = dishNumbers;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -