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

📄 modifyorderdo.java

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

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

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.Order;

public class ModifyOrderDo extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public ModifyOrderDo() {
		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 {

		doPost(request,response);

	}

	/**
	 * 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 {

		response.setContentType("text/html");
		request.setCharacterEncoding("GBK");
		
		HttpSession mySession = request.getSession();
		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("/main.jsp");
			rd.forward(request, response);
			return;
		}
		
		String action = request.getParameter("action");
		if(action == null){
			//没有给出主要信息,跳转至主页
			mySession.setAttribute("errorMsg", "错误操作");
			RequestDispatcher rd = getServletContext().getRequestDispatcher("/main.jsp");
			rd.forward(request, response);
			return;
		}else{
			if(action.equals("modifyOneOrder")){
				doModifyOneOrder(request,response);
				return;
			}
			if(action.equals("deleteOneOrder")){
				doDeleteOneOrder(request,response);
				return;
			}
			if(action.equals("orderOK")){
				doOrderOk(request,response);
				return;
			}
			if(action.equals("deleteOK")){
				doDeleteOK(request,response);
				return;
			}
			if(action.equals("cancelOrder")){
				doCancelOrder(request,response);
				return;
			}
		}
		
		mySession.setAttribute("errorMsg", "错误操作");
		RequestDispatcher rd = getServletContext().getRequestDispatcher("/main.jsp");
		rd.forward(request, response);
	}

	private void doCancelOrder(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.put("action", "ok");
		}
		mySession.setAttribute("orderInfor", orderInfor);
		mySession.setAttribute("errorMsg", "操作成功");
		RequestDispatcher rd = getServletContext().getRequestDispatcher("/main.jsp");
		rd.forward(request, response);
	}

	//写完成未测试 
	//执行删除订单
	private void doDeleteOK(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){
			Order order = (Order)orderInfor.get("orderItem");
			String action = (String)orderInfor.get("action");
			if(action != null){
				if(order != null){
					if(action.equals("delete")){
						String errorMsg = order.deleteOrder();
						if(errorMsg == null||errorMsg.equals("")){
							mySession.setAttribute("errorMsg", "操作成功");
						}else{
							mySession.setAttribute("errorMsg", errorMsg);
						}
						//设置orderInfor的值
						orderInfor.put("action", "ok");
						mySession.setAttribute("orderInfor", orderInfor);
						//跳转到操作成功界面
						RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/showResult.jsp");
						rd.forward(request, response);
						return;
					}
					
				}
			}
		}
		
		//跳转到判断错误的地方
		mySession.setAttribute("errorMsg", "错误的操作");
		RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/deleteOrderShow.jsp");
		rd.forward(request, response);
		return;
	}

	//执行添加订单或修改订单
	private void doOrderOk(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){
			Order order = (Order)orderInfor.get("orderItem");
			if(order != null){
				String clientName  = (String)request.getParameter("clientName");
				if(clientName == null){
					clientName = "";
				}
			
				String phoneNumber = (String)request.getParameter("clientPhone");
				if(phoneNumber == null){
					mySession.setAttribute("errorMsg", "请输出手机号");
					RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/modifyOrder.jsp");
					rd.forward(request, response);
					return;
				}
				int clientNum = 0;
				if(request.getParameter("clientNum")!=null){
					clientNum = Integer.parseInt(request.getParameter("clientNum").toString());
				}
				int year =0 ,month = 0,day = 0,hour = 0;
				if(request.getParameter("year") != null){
					year = Integer.parseInt(request.getParameter("year").toString());
				}
				if(request.getParameter("month") != null){
					month = Integer.parseInt(request.getParameter("month").toString());
				}	
				if(request.getParameter("day") != null){
					day = Integer.parseInt(request.getParameter("day").toString());
				}	
				if(request.getParameter("hour") != null){
					hour = Integer.parseInt(request.getParameter("hour").toString());
				}
				Date eatTime = new Date(year-1900,month-1,day,hour,0);
				
				order.setContractorName(clientName);
				order.setEatDate(eatTime);
				order.setNumberOfMan(clientNum);
				order.setPhoneNumber(phoneNumber);
				order.caculatePrice();
				
				String orderID = order.getOrderID();
				//执行添加操作
				String errorMsg = null;
				if(orderID == null||orderID.equals("")){
					errorMsg = order.persist();
				}else{
					errorMsg = order.update();
				}
				if(errorMsg == null || errorMsg.equals("")){
					mySession.setAttribute("errorMsg", "成功修改");
				}else{
					//设置session
					mySession.setAttribute("errorMsg", errorMsg);
				}
				orderInfor.put("action", "ok");
				mySession.setAttribute("orderInfor", orderInfor);
				//执行完成开始跳转
				
				RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/showResult.jsp");
				rd.forward(request, response);
				return;
			}
		}
		
		//有错误跳转
		mySession.setAttribute("errorMsg", "有错误信息产生");
		RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/modifyOrder.jsp");
		rd.forward(request, response);
		return;
	}

	//编写完成但是没有测试
	//输入订单号执行删除一个订单
	private void doDeleteOneOrder(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession mySession = request.getSession();
		Hashtable orderInfor = (Hashtable)mySession.getAttribute("orderInfor");
		if(validateOperation("不能执行新的订单删除",request,response)){
			String orderID = request.getParameter("orderID");
			if(orderID == null){
				mySession.setAttribute("errorMsg", "请输入正确的ID名");
				//跳转至主页面
				RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/deleteOrderShow.jsp");
				rd.forward(request, response);
				return;
			}
			
			Order temp = new Order();
			
			String errorMsg = temp.getData(orderID);
			mySession.setAttribute("errorMsg", errorMsg);
			
			
			//设置orderInfor
			orderInfor = new Hashtable();
			orderInfor.put("action", "delete");
			orderInfor.put("orderItem", temp);
			mySession.setAttribute("orderInfor", orderInfor);
			
			if(errorMsg == null){
				//跳转至删除订单信息页面
				RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/deleteOrder.jsp");
				rd.forward(request, response);
				return;
			}else{
				RequestDispatcher rd = getServletContext().getRequestDispatcher("/main.jsp");
				rd.forward(request, response);
				return;
			}
		}
	}

	
	//写完成未测试
	//输入一个订单号,修改订单
	private void doModifyOneOrder(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession mySession = request.getSession();
		Hashtable orderInfor = (Hashtable)mySession.getAttribute("orderInfor");
		if(validateOperation("不能执行新的而订单修改",request,response)){
			String orderID = request.getParameter("orderID");
			if(orderID == null){
				mySession.setAttribute("errorMsg", "请输入正确的ID名");
				//跳转至主页面
				RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/modifyOrderShow.jsp");
				rd.forward(request, response);
				return;
			}
			
			Order temp = new Order();
			
			String errorMsg = temp.getData(orderID);
			mySession.setAttribute("errorMsg", errorMsg);
			
			
			//设置orderInfor
			orderInfor = new Hashtable();
			orderInfor.put("action", "modify");
			orderInfor.put("orderItem", temp);
			mySession.setAttribute("orderInfor", orderInfor);
			
			
			//跳转至修改订单信息页面
			if(errorMsg == null){
				RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/modifyOrder.jsp");
				rd.forward(request, response);
				return;
			}else{
				RequestDispatcher rd = getServletContext().getRequestDispatcher("/main.jsp");
				rd.forward(request, response);
				return;
			}
			
		}
	}

	//判断能不能执行操作
	private boolean validateOperation(String show,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
		HttpSession mySession = request.getSession();
		Hashtable orderInfor = (Hashtable)mySession.getAttribute("orderInfor");
		if(orderInfor != null){
			String action = (String)orderInfor.get("action");
			if(action!=null){
				if(action.equals("modify")){
					mySession.setAttribute("errorMsg",show+", 请完成这个订单的填写");
					//跳转至修改订单的信息一栏
					RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/modifyOrder.jsp");
					rd.forward(request, response);
					return false;
				}
				if(action.equals("delete")){
					mySession.setAttribute("errorMsg", show+",请完成删除这个订单");
					//跳转至删除订单的信息一栏
					RequestDispatcher rd = getServletContext().getRequestDispatcher("/waiter/order/deleteOrder.jsp");
					rd.forward(request, response);
					return false;
				}
			}
		}
		return true;
	}
	/**
	 * 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 + -