📄 operator.java
字号:
/*
* @(#)Operator.java 1.0 05/10/10
*
* Copyright 2005 HUST Hotel, Inc. All rights reserved.
*/
package net.husthotel.beans;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import net.husthotel.datebase.NoOrderAvailableException;
import net.husthotel.datebase.OperatorDAO;
/**
* 代表操作员,可以操作订单的信息.
* @author icerain
* @version 1.0
*
*/
public class Operator extends BasicManager {
// 订单
private ArrayList<Order> orderList = null;
private ArrayList<Order> queryOrderList = null; //保存查询的订单
private boolean markedForEdite = false;
private boolean markedForDelete = false;
private boolean markedForEditeQuery = false;
private boolean markedForDeleteQuery = false;
private boolean nameQuery = false;
private boolean bookDateQuery = false;
private boolean orderStateQuery = false;
private boolean checkinDateQuery = false;
private boolean checkoutDateQuery = false;
private boolean canQueryMark = false;
private String name = null;
private String orderState = null;
private Date bookDate = null;
private Date checkinDate = null;
private Date checkoutDate = null;
//----------------------------------
private OperatorDAO opDAO = null;
public Operator () {
orderList = new ArrayList<Order>();
opDAO = new OperatorDAO();
}
@Override
public String loginAction() {
// TODO Auto-generated method stub
try {
if(opDAO.login(getName(),getPassword())){
orderList = opDAO.queryOrder();
return "oLoginSuc";
}
return "loginFail";
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "loginFail";
}
@Override
public String logoutAction() {
return "logout";
}
/**
* 显示订单.
*
* @return a String 成功返回"listOrderSuccess" or 返回"listOrderFail" 用于JSF导航.
*/
public String listOrderAction() {
//Add DAO code 调用OperatorDAO.listOrder():ArrayList<Order>
try {
orderList = opDAO.queryOrder();
return "listOrderSuccess";
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "listOrderFail";
}
/**
* 删除订单.
* @return true,如果删除成功,or false.
*/
public boolean deleteOrder(String orderNum) {
//Add DAO code 调用OperatorDAO.deleteOrder(orderNum):boolean
try {
if(opDAO.deleteOrder(orderNum)) {
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoOrderAvailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
/**
* 删除订单.
* @return a String 用于JSF导航
*/
public String deleteOrderAction() {
if(! getAnyOrdersMarkedForDeletion())
return null;
int j = 0;
ArrayList<Order> newOrderList = new ArrayList<Order> ();
for(Order r: queryOrderList) {
if( r.isDeletable()) { //标记为删除
if(! deleteOrder(r.getOrderNum())) {//在数据库中删除数据
return "operateFail";
}
} else {
newOrderList.add(j++,r);
}
}
orderList = newOrderList;
return "operateSuc";
}
/**
* 查询订单.
*
* @return a String 成功返回"queryOrderSuccess" or 返回"queryOrderFail";用于JSF导航
*/
public String queryOrderAction(Order order) {
//Add DAO code 调用OperatorDAO.queryOrder():Order(or ArrayList<Order>)
try {
if(opDAO.modifyOrder(order)) {
return "queryOrderSuccess";
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "queryOrderFail";
}
return "queryOrderFail";
}
/**
* 更改订单信息.
* @return a String 用于JSF导航
*/
public String modifyOrderAction() {
//Order[] currentOrders = (Order[]) orderDataModel.getWrappedData();
for(Order o : queryOrderList) {
if(o.isEditable()) {
if("modifyOrderFail".equals( modifyOrder(o) ))
return "operateFail";
}
}
return "operateSuc";
}
/**
* 根据条件查询订单.
* @return a String用于JSF导航.
*/
public String queryOrderByConditionAction() {
StringBuffer stringBuf = new StringBuffer(200);
stringBuf.append(" where");
if( nameQuery ) {
stringBuf.append( " name='" + getName()+"'" );
} //if
if( orderStateQuery ) {
if( nameQuery ) {
stringBuf.append(" and orderState='" + getOrderState() + "'");
} else {
stringBuf.append(" orderState='" + getOrderState() + "'");
}
} //if
if( bookDateQuery ) {
if(nameQuery || orderStateQuery) {
stringBuf.append(" and bookDate='" + new java.sql.Date(getBookDate().getTime()) +"'");
} else {
stringBuf.append(" bookDate='" + getBookDate() +"'");
}
} //if
if( checkinDateQuery ) {
if( nameQuery || orderStateQuery || bookDateQuery ) {
stringBuf.append(" and checkinDate='" + new java.sql.Date(getCheckinDate().getTime()) + "'" );
} else {
stringBuf.append(" checkinDate='" + new java.sql.Date(getCheckinDate().getTime()) + "'" );
}
} //if
if( checkoutDateQuery ) {
if( nameQuery || orderStateQuery || bookDateQuery || checkinDateQuery ) {
stringBuf.append(" and checkoutDate='" + new java.sql.Date(getCheckoutDate().getTime()) + "'");
} else {
stringBuf.append(" checkoutDate='" + new java.sql.Date(getCheckoutDate().getTime()) + "'");
}
}
String querySql = stringBuf.toString();
try {
queryOrderList = new OperatorDAO().queryOrderInfoByCondition(querySql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "queryOrderFail";
}
return null;
}
/**
* 修改订单.
* 修改成功返回"modifyOrderSuccess" or return "modifyOrderFail".
* @return a stirng 用于JSF导航.
*/
public String modifyOrder(Order o) {
//Add DAO code 调用OperatorDAO.modifyOrder(Order):boolean
try {
if(opDAO.modifyOrder(o)) {
return "modifyOrderSuccess";
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "modifyOrderFail";
}
/**
* 得到标记为删除的订单数量.
* @return int num 标记为删除的订单的数量.
*/
public int getNumOfOrdersMarkerForDeletion() {
int cnt = 0;
for(Order o: queryOrderList) {
if(o.isDeletable())
++cnt;
}
return cnt;
}
/**
* 是否有订单标记为删除
* @return true 如果有订单标记为删除;or false.
*/
public boolean getAnyOrdersMarkedForDeletion() {
//Order[] currentOrders = (Order[]) orderDataModel.getWrappedData();
for(Order o: queryOrderList) {
if (o.isDeletable())
return true;
}
return false;
}
/**
*
* @return
*/
public boolean getAnyOrdersMarkedForEditable() {
for(Order o:queryOrderList) {
if (o.isEditable())
return true;
}
return false;
}
//------------- getter/setter 方法---------------
public ArrayList<Order> getOrderList() {
return orderList;
}
public void setOrderList(ArrayList<Order> orderList) {
this.orderList = orderList;
}
public boolean isMarkedForDelete() {
return markedForDelete;
}
public void setMarkedForDelete(boolean markedForDelete) {
this.markedForDelete = markedForDelete;
}
public boolean isMarkedForEdite() {
return markedForEdite;
}
public void setMarkedForEdite(boolean markedForEdite) {
this.markedForEdite = markedForEdite;
}
public Date getBookDate() {
return bookDate;
}
public void setBookDate(Date bookDate) {
this.bookDate = bookDate;
}
public boolean isBookDateQuery() {
return bookDateQuery;
}
public void setBookDateQuery(boolean bookDateQuery) {
this.bookDateQuery = bookDateQuery;
}
public Date getCheckinDate() {
return checkinDate;
}
public void setCheckinDate(Date checkinDate) {
this.checkinDate = checkinDate;
}
public boolean isCheckinDateQuery() {
return checkinDateQuery;
}
public void setCheckinDateQuery(boolean checkinDateQuery) {
this.checkinDateQuery = checkinDateQuery;
}
public Date getCheckoutDate() {
return checkoutDate;
}
public void setCheckoutDate(Date checkoutDate) {
this.checkoutDate = checkoutDate;
}
public boolean isCheckoutDateQuery() {
return checkoutDateQuery;
}
public void setCheckoutDateQuery(boolean checkoutDateQuery) {
this.checkoutDateQuery = checkoutDateQuery;
}
public boolean isMarkedForDeleteQuery() {
return markedForDeleteQuery;
}
public void setMarkedForDeleteQuery(boolean markedForDeleteQuery) {
this.markedForDeleteQuery = markedForDeleteQuery;
}
public boolean isMarkedForEditeQuery() {
return markedForEditeQuery;
}
public void setMarkedForEditeQuery(boolean markedForEditeQuery) {
this.markedForEditeQuery = markedForEditeQuery;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isNameQuery() {
return nameQuery;
}
public void setNameQuery(boolean nameQuery) {
this.nameQuery = nameQuery;
}
public String getOrderState() {
return orderState;
}
public void setOrderState(String orderState) {
this.orderState = orderState;
}
public boolean isOrderStateQuery() {
return orderStateQuery;
}
public void setOrderStateQuery(boolean orderStateQuery) {
this.orderStateQuery = orderStateQuery;
}
public ArrayList<Order> getQueryOrderList() {
return queryOrderList;
}
public void setQueryOrderList(ArrayList<Order> queryOrderList) {
this.queryOrderList = queryOrderList;
}
public boolean isCanQueryMark() {
if(orderStateQuery || nameQuery || checkinDateQuery || checkoutDateQuery) {
canQueryMark = false;
return ! canQueryMark;
}
return canQueryMark;
}
public void setCanQueryMark(boolean canQueryMark) {
this.canQueryMark = canQueryMark;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -