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

📄 billaddservlet.java

📁 分为经理和出纳2个权限
💻 JAVA
字号:
package com.yiboit.cfss.bill;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

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 com.yiboit.cfss.util.StringUtil;

public class BillAddServlet extends HttpServlet {

	/**
	 * 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 {
		String cmd = request.getParameter("cmd");

		HttpSession session = request.getSession();

		try {
			BillAddDAO dao = new BillAddDAO();

			if (cmd == null) {

				List vendorList = dao.getVendorList();
				session.setAttribute("vendorList", vendorList);
				request.getRequestDispatcher("billAdd.jsp").forward(request,
						response);
			} else if ("billAdd".equals(cmd)) {
				String billDate = request.getParameter("bdate");
				String billDueDate = request.getParameter("edate");
				String vendor = request.getParameter("vendor");

				request.setAttribute("bdate", billDate);
				request.setAttribute("edate", billDueDate);
				request.setAttribute("vendor", vendor);

				if (billDate == null || billDate.length() == 0) {
					request.setAttribute("errmsg", "Bill date is required.");
					request.getRequestDispatcher("billAdd.jsp").forward(
							request, response);
					return;
				}

				if (!StringUtil.isDate(billDate)) {
					request.setAttribute("errmsg", "Bill date is invalid.");
					request.getRequestDispatcher("billAdd.jsp").forward(
							request, response);
					return;
				}

				if (billDueDate == null || billDueDate.length() == 0) {
					request
							.setAttribute("errmsg",
									"Bill due date is required. please input by MM/dd/yyyy.");
					request.getRequestDispatcher("billAdd.jsp").forward(
							request, response);
					return;
				}

				if (!StringUtil.isDate(billDueDate)) {
					request
							.setAttribute("errmsg",
									"Bill due date is invalid. please input by MM/dd/yyyy.");
					request.getRequestDispatcher("billAdd.jsp").forward(
							request, response);
					return;
				}

				SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
				Date b = sdf.parse(billDate);
				Date e = sdf.parse(billDueDate);
				if (b.after(e)) {
					request.setAttribute("errmsg",
							"Bill due date should be after bill date.");
					request.getRequestDispatcher("billAdd.jsp").forward(
							request, response);
					return;
				}

				String[] vendors = vendor.split(":");

				if (vendors.length != 2) {
					response.sendRedirect(request.getContextPath()
							+ "/error.jsp");
					return;
				}

				String vendorId = vendors[0];
				String vendorName = vendors[1];
				
				BillBean billBean = new BillBean(billDate, billDueDate, Integer
						.parseInt(vendorId));
				billBean.setVendorName(vendorName);
				billBean.setDeptList(dao.getDeptList());
				
				session.setAttribute("billBean", billBean);
				//request.setAttribute("vendorName", vendorName);
				request.getRequestDispatcher("billAddDeptItem.jsp").forward(
						request, response);
			} else if ("addItem".equals(cmd)) {
				BillBean billBean = (BillBean) session.getAttribute("billBean");
				List<BillItemBean> deptList = billBean.getDeptList();

				String sum = request.getParameter("sum");
				billBean.setAmount(Double.parseDouble(sum));
				
				int deptId;
				String txt = null;
				String chk = null;
				
				for (BillItemBean b : deptList) {
					deptId = b.getDeptId();
					txt = request.getParameter("txt" + deptId);
					chk = request.getParameter("chk" + deptId);
					
					b.setAmount(txt);
					b.setConfirm(chk);
					
					
					if (txt != null && txt.length() != 0) {
						try {
							Double.parseDouble(txt);
						} catch (NumberFormatException e) {
							request.setAttribute("errmsg",
									"amount must be a number.");
							request.getRequestDispatcher("billAddDeptItem.jsp")
									.forward(request, response);
							return;
						}
					}

					
					if (chk != null && (txt == null || txt.length() == 0)) {
						request.setAttribute("errmsg",
								"please input the amount.");
						request.getRequestDispatcher("billAddDeptItem.jsp")
								.forward(request, response);
						return;
					}
				}

				

				boolean result = dao.addBill(billBean);

				if (result) {
					response.sendRedirect("description.jsp");
				} else {
					response.sendRedirect(request.getContextPath()
							+ "/error.jsp");
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			response.sendRedirect(request.getContextPath() + "/error.jsp");
		}
	}

	/**
	 * 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 {
		this.doGet(request, response);
	}
}

⌨️ 快捷键说明

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