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

📄 administrator.java

📁 基于JSF开发的一个洒店管理系,具有中文
💻 JAVA
字号:
/*
 * @(#)Administrator.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 javax.faces.model.DataModel;
//import javax.faces.model.ArrayDataModel;

import net.husthotel.datebase.AdminDAO;
import net.husthotel.datebase.NoRoomAvailableException;

/**
 * 该类代表管理员,管理房间信息.
 * @author icerain
 * @version 1.0, 05/10/10
 *
 */

public class Administrator extends BasicManager {
	
	//private ArrayList<Order> orderList = new ArrayList<Order>();
	private ArrayList<Room> roomList = new ArrayList<Room>();
	private ArrayList<Room> queryRoomList = new ArrayList<Room> ();
	
	//private ArrayDataModel roomDataModel = null;
	
	private boolean markedForEditeQuery = false; //标志是否查询,为JSF页面显示
	private boolean markedForDeleteQuery = false;//   ..提供信息
	private boolean markedForEdite = false; //标志是否编辑,为JSF页面显示
	private boolean markedForDelete = false; //   ..提供信息
	
	private boolean roomNumQuery = false;  //标志查询的种类
	private boolean roomTypeQuery = false;  //..
	private boolean roomStateQuery = false;
	
	private boolean canQueryMark = false;
	
	private String roomNum = null;
	private String roomType = null;
	private String roomState = null;
	
	


	public Administrator() {
		super();
		//roomDataModel = new ArrayDataModel();
	}
	
	@Override
	public String loginAction() {
		//添加调用DAO代码
		try {
			if(new AdminDAO().login(getName(),getPassword())) {
				roomList = new AdminDAO().queryRoomInfo();
				return "aLoginSuc";
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "loginFail";
		}
		return "loginFail";
	}
	
	/**
	 * 管理员在操作返回时候,更新数据.
	 * @return 用于JSF 导航的一个字符串
	 */
	public String returnAction() {
//		添加调用DAO代码
		try {
				roomList = new AdminDAO().queryRoomInfo();
				return "amain";
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return "amain";
		
	}
	@Override
	public String logoutAction() {
		//添加调用DAO代码
		return "logout";
	}

	/**
	 *  添加房间.
	 * @return a string 用于JSF导航.添加成功返回"addRoomSuc" or 返回"addRoomFail".
	 */
	public String addRoomAction(Room r) {
		//Add DAO code 调用AdminDAO.addRoom(room):boolean
		try {
			if(new AdminDAO().addRoom(r)) {
				return "addRoomSuc";
			}
			return "addRoomFail";
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NoRoomAvailableException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "addRoomFail";
	}
	
	/**
	 * 删除房间.
	 * @return true,如果删除房间成功;or false.
	 */
	public boolean deleteRoom(String roomNum) {
		//Add DAO code 调用AdminDAO.deleteRoom(roomNum):boolean 
		try {
			if(new AdminDAO().deleteRoom(roomNum)){
				return true;
			}
			return false;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NoRoomAvailableException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return false;
	}
	/**
	 * 修改房间信息.
	 * @return a string 用于JSF导航. 修改成功返回"modifyRoomInfoSuccess" or 返回"modifyRoomInfoFail".
	 */
	protected String modifyRoomInfo(Room r) {
		//Add DAO code 调用AdminDAO.modifyRoomInfo(newRoom...):boolean
		try {
			if(new AdminDAO().modifyRoomInfo(r)) {
				return "modifyRoomInfoSuccess";
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "modifyRoomInfoFail";
	}
	
	/**
	 * 修改房间信息.
	 * @return a string 用于JSF导航. 修改成功返回"modifyRoomInfoSuccess" or 返回"modifyRoomInfoFail".
	 */
	public String modifyRoomInfoAction() {
		for(Room r: queryRoomList) {
			if(r.isEditable()) {
				if( "modifyRoomInfoFail".equals( modifyRoomInfo(r) ) )
					return "aOperateFail";
			}
		}
		return "aOperateSuc";
	}
	
	/**
	 * 查询所有房间
	 * @return a string "queryRoomInfoSuccess" or "queryRoomInfoFail"用于JSF导航.
	 */
	public String queryRoomInfoAction() {
		//Add DAO code 调用AdminDAO.queryRoomInfo(roomNum):Room(or ArrayList<Room>) 
		 //如果成功返回"queryRoomInfoSuccess"(并在页面中显示房间信息)
		 //or返回"queryRoomInfoFail"
		try {
			roomList = new AdminDAO().queryRoomInfo();
			return "queryRoomInfoSuccess";
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "queryRoomInfoFail";
	}
	
	/**
	 * 根据条件查询房间
	 * @return a string "queryRoomFail" or "null"用于JSF导航.
	 */
	public String queryRoomByConditionAction() {
		StringBuffer stringBuf = new StringBuffer(100);
		//构造Sql 的where 查询语句
		stringBuf.append(" where");
		if( roomNumQuery ) {
			stringBuf.append( " roomNum='" + getRoomNum()+"'" );
		} //if
		if( roomStateQuery ) {
			if(roomNumQuery) {
				stringBuf.append(" and roomState='" + getRoomState() + "'");
			} else {
				stringBuf.append(" roomState='" + getRoomState() + "'");
			}
		} //if
		if( roomTypeQuery ) {
			if(roomNumQuery || roomStateQuery) {
				stringBuf.append(" and roomType='" + getRoomType() +"'");
			} else {
				stringBuf.append(" roomType='" + getRoomType() +"'");
			}
		} //if
		String querySql = stringBuf.toString();
			
			System.out.println( querySql);
		try {
			queryRoomList = new AdminDAO().queryRoomInfoByCondition(querySql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "queryRoomFail";
		}
		return null;
	}
	
	/**
	 * 发布通知.更改通知文件 message.html
	 * @param message 通知内容
	 * @return "true" if issue Message successful, or "false".
	 */
	public boolean issueMessage(String message) {
		//Add DAO code 
		return true;
	}
	
	/**
	 * 删除查询的房间
	 * @return a string "operateFail" or "null/operateSuc"用于JSF导航.
	 */
	public String deleteRoomsAction() {
		if(! getAnyRoomsMarkedForDeletion()) {
			return null;
		}
		
		ArrayList<Room> newRooms = new ArrayList<Room>();
		int j = 0;
		for(Room r: queryRoomList) {
			if( r.isDeletable()) { //标记为删除
				if(! deleteRoom(r.getRoomNum())) {//在数据库中删除数据
					return "aOperateFail";
				} 
			} else {
				newRooms.add(j++,r);
			}
		}
		queryRoomList = newRooms;
		return "aOperateSuc";
	}
	
	/**
	 * 得到标记为删除房间的数目
	 * @return 标记为删除的房间的 数量
	 */
	public int getNumOfRoomsMarkerForDeletion() {
		int cnt = 0;
		for(Room r: queryRoomList) {
			if(r.isDeletable())
				++cnt;
		}
		return cnt;
	}
	
	/**
	 *  查看是否有任何房间标记为删除
	 * @return true ;如果有任何房间标记为删除;or false. 
	 */
	public boolean getAnyRoomsMarkedForDeletion() {
	      for(Room r: queryRoomList) {
	    	  //System.out.println("Room is deletable" + r.isDeletable());
	         if (r.isDeletable())
	            return true;
	      }
	      return false;
	   }
	
	/**
	 *  查看是否有任何房间标记为编辑
	 * @return true ;如果有任何房间标记为编辑;or false. 
	 */
	public boolean getAnyRoomsMarkedForEditable() {
	      for(Room r:queryRoomList) {
	         if (r.isEditable())
	            return true;
	      }
	      return false;
	   }
	//////////////////////-----getter/setter 方法--------------/////////////////////////

	
	public ArrayList<Room> getRoomList() {
		return roomList;
	}

	public void setRoomList(ArrayList<Room> roomList) {
		this.roomList = roomList;
	}

	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 boolean isRoomNumQuery() {
		return roomNumQuery;
	}

	public void setRoomNumQuery(boolean roomNumQuery) {
		this.roomNumQuery = roomNumQuery;
	}

	public boolean isRoomStateQuery() {
		return roomStateQuery;
	}

	public void setRoomStateQuery(boolean roomStateQuery) {
		this.roomStateQuery = roomStateQuery;
	}

	public boolean isRoomTypeQuery() {
		return roomTypeQuery;
	}

	public void setRoomTypeQuery(boolean roomTypeQuery) {
		this.roomTypeQuery = roomTypeQuery;
	}

	public String getRoomNum() {
		return roomNum;
	}

	public void setRoomNum(String roomNum) {
		this.roomNum = roomNum;
	}

	public String getRoomState() {
		return roomState;
	}

	public void setRoomState(String roomState) {
		this.roomState = roomState;
	}

	public String getRoomType() {
		return roomType;
	}

	public void setRoomType(String roomType) {
		this.roomType = roomType;
	}

	public ArrayList<Room> getQueryRoomList() {
		return queryRoomList;
	}

	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 boolean isCanQueryMark() {
		if(roomNumQuery || roomStateQuery || roomTypeQuery) {
			canQueryMark = false;
			return ! canQueryMark;
		}
		return canQueryMark;
	}

	public void setCanQueryMark(boolean canQueryMark) {
		this.canQueryMark = canQueryMark;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -