📄 restaurant.java~8~
字号:
package newBookingSystem;
import java.util.Vector;
import java.util.Date;
import java.util.*;
import java.text.SimpleDateFormat;
import java.awt.Color;
//这个类主要负责传递消息和构造在应用层里所能用到的数据进行封装
//以便让对象这种数据结构在应用层里流动
public class Restaurant {
private ManageData manageData;
private String[] state = new String[16];
private Vector stateVector;
private String empty = "empty";
private String reservationArrived = "reservationArrival";
private String reservationNotArrived = "reservationNotArrival";
private String walkIn = "walkIn";
public Restaurant() {
manageData = new ManageData();
stateVector = new Vector();
}
public void Display(Date d)
{
//假设梁云的ManageData类里有一个方法,叫setDate。
//当界面想display的时候,我从界面那里得到日期,一步一步传。
//直道传到我这里的时候,我会给梁云一个date,让他去处理
java.sql.Date date = new java.sql.Date(d.getTime());
manageData.DisplayTableState(date);
state = manageData.getTableState();
}
public Vector getState()
{
//我要把从梁云那里得到的状态字符窜,转换成一个Vector。
//这个Vector里面封装着16个餐桌的状态信息。
//每一个元素都是Color对象
//设空白餐桌为白色
//预约未到来为绿色
//预约到来和WalkIn都是红色
stateVector.clear();
for ( int i = 0; i < 16; i++ )
{
if(state[i].equals(empty))
{stateVector.add(Color.yellow);}
if(state[i].equals(reservationNotArrived))
{stateVector.add(Color.green);}
if(state[i].equals(reservationArrived))
{stateVector.add(Color.red);}
if(state[i].equals(walkIn))
{stateVector.add(Color.red);}
}
return stateVector;
}
public void cancelReservation(Date d,int tno)
{
//当想取消指定日期的预约的时候,我会传给梁云日期和餐桌号
//梁云会根据这些参数去修改数据库
//假设梁云那里有一个方法叫cancelReservation。
java.sql.Date date = java.sql.Date.valueOf(d.toString());
manageData.CancelReservation(date,tno);
state = manageData.getTableState();
}
public void transfer(Date d,int oldTno,int newTno)
{
//当想移动一个餐桌的时候,我会传日期,源餐桌号,目的餐桌号
//梁云会根据这些数据,对数据库进行操作
//假设梁云那里有一个方法叫transfer
java.sql.Date date = java.sql.Date.valueOf(d.toString());
manageData.TranferReservation(date,oldTno,newTno);
}
public void makeReservation(Date d,int tno,String name,String telNo)
{
Reservation tempReservation = new Reservation(5,d,tno,name,telNo,false);
manageData.makeNewReservation(tempReservation);
//BookingSystem会传给我用于构造Reservation所需要的所有的信息
//我会在这里构造一个Reservation对象并传给梁云
//假设梁云那里有一个方法叫做setNewReservation()
}
public void makeWalkIn(int c,Date d,int tno)
{
WalkIn tempWalkIn = new WalkIn(5,d,tno);
manageData.makeNewWalkIn(tempWalkIn);
//BookingSystem会传给我用于构造WalkIn所需要的所有的信息
//我会在这里构造一个WalkIn对象并传给梁云
//假设梁云那里有一个方法叫做setNewWalkIn()
}
public void recordArrival(Date d,int tno)
{
//当预约的人到来的时候,为了改变界面的状态,必须去修改数据库
//我会传给一个日期,让梁云到数据库去修改指定Reservation的到来状态
//假设梁云那里有一个方法叫做recordArrival()
java.sql.Date date = java.sql.Date.valueOf(d.toString());
manageData.ReservationRecordArrival(date,tno);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -