📄 modifyorderdo.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 + -