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

📄 modifyorderdishdo.java

📁 简单的餐厅管理系统
💻 JAVA
字号:
package controller.order;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import beans.Dish;
import beans.DishNumber;
import beans.Order;
import beans.User;

import util.DealDish;

public class ModifyOrderDishDo extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public ModifyOrderDishDo() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		request.setCharacterEncoding("GBK");
		
		HttpSession mySession = request.getSession();
		
		String action = request.getParameter("action");
		int type = 0;
		if(mySession.getAttribute("type")!= null){
			type = Integer.parseInt(mySession.getAttribute("type").toString());
		}
		if(type != 2){
			//跳转至主页面
			mySession.setAttribute("errorMsg", "只能服务员能够操作订单");
			RequestDispatcher rd = getServletContext().getRequestDispatcher("/mian.jsp");
			rd.forward(request, response);
			return;
		}
		
		if(action != null){
			if(action.equals("addDishes")){
				doAddDishes(request,response);
				return;
			}
			if(action.equals("modifyDishes")){
				doModifyDishes(request,response);
				return;
			}
			if(action.equals("modifyDishesOK")){
				doModifyDishesOK(request,response);
				return;
				
			}	
		}
		mySession.setAttribute("errorMsg", "错误操作");
		RequestDispatcher rd = getServletContext().getRequestDispatcher("/mian.jsp");
		rd.forward(request, response);
		return;
	}

	private void doModifyDishesOK(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession mySession = request.getSession();
		
		Hashtable orderInfor = (Hashtable)mySession.getAttribute("orderInfor");
		if(orderInfor ==null){
			orderInfor = new Hashtable();
		}
		Order orderItem = (Order)orderInfor.get("orderItem");
		if(orderItem == null){
			orderItem = new Order();
		}
		Enumeration aa = request.getParameterNames();
		
		//获取菜的份数
		while(aa.hasMoreElements()){
			String temp = aa.nextElement().toString(); 
			if(temp.equals("action")){
				continue;
			}		
			Dish add = new Dish();
			add.getMainInfo(temp);
			int dishNumber = 0;
			dishNumber = Integer.parseInt(request.getParameter(temp).toString());
			if(dishNumber != 0){
				orderItem.addDishes(add, dishNumber);
				continue;
			}
			orderItem.deleteDishes(add);
		}
		orderInfor.put("action", "modify");
		orderInfor.put("orderItem", orderItem);

		
		mySession.setAttribute("orderInfor", orderInfor);
		mySession.setAttribute("errorMsg", "");
		RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/modifyOrder.jsp");
		rd.forward(request, response);
		return;
	}

	private void doModifyDishes(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession mySession = request.getSession();
		DealDish temp = new DealDish();
		String errorMsg = temp.getDishes();
		Vector dishes = temp.getVector();
		Hashtable orderInfor = (Hashtable)mySession.getAttribute("orderInfor");
		if(orderInfor == null){
			orderInfor = new Hashtable();
		}
		Order tempOrder = (Order)orderInfor.get("orderItem");
		Vector addDishesNumber = new Vector();
		if(tempOrder == null){
			tempOrder = new Order();
			orderInfor.put("orderItem", tempOrder);
			orderInfor.put("action", "modify");
			mySession.setAttribute("orderInfor", orderInfor);
		}
		for(int i = 0 ; i <dishes.size();i++){
			Dish changeDish = (Dish)dishes.get(i);
			DishNumber addDish = new DishNumber();
			addDish.setDish(changeDish);
			addDish.setNumber(tempOrder.queryDish(changeDish.getDishID()));
			addDishesNumber.add(addDish);		
		}
		
		//转发请求
		if(errorMsg == null){
			request.setAttribute("allDishes", addDishesNumber);		
			mySession.setAttribute("errorMsg", errorMsg);
			RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/showDishes.jsp");
			rd.forward(request, response);
			return;
		}else{
			mySession.setAttribute("errorMsg", errorMsg);
			RequestDispatcher rd = getServletContext().getRequestDispatcher("/main.jsp");
			rd.forward(request, response);
			return;
		}
	}

	private void doAddDishes(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession mySession = request.getSession();
		DealDish temp = new DealDish();
		String errorMsg = temp.getDishes();
		Vector dishes = temp.getVector();
		
		Vector addDishes = new Vector();
		for(int i = 0 ;i<dishes.size();i++){
			Dish getDish = (Dish)dishes.get(i);
			DishNumber add = new DishNumber();
			add.setDish(getDish);
			add.setNumber(0);
			addDishes.add(add);
			
		}
		request.setAttribute("allDishes", addDishes);
		Hashtable orderInfor = new Hashtable();
		
		Order orderItem = new Order();
		orderItem.setOrderDate(new Date());
		User waiter = new User();
		waiter.getWaiterData((String)mySession.getAttribute("username"));
		orderItem.setWaiter(waiter);
		
		orderInfor.put("orderItem", orderItem);
		orderInfor.put("action", "modify");
		
		if(errorMsg == null){
			mySession.setAttribute("orderInfor", orderInfor);
			mySession.setAttribute("errorMsg", errorMsg);
			RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/showDishes.jsp");
			rd.forward(request, response);
			return;
		}else{
			mySession.setAttribute("errorMsg", errorMsg);
			RequestDispatcher rd = getServletContext().getRequestDispatcher("/main.jsp");
			rd.forward(request, response);
			return;
		}
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request,response);
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}

⌨️ 快捷键说明

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