⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 operator.java

📁 基于JSF开发的一个洒店管理系,具有中文
💻 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 + -