materialoutinsertservlet.java

来自「JSP移动商品管理平台源代码.........」· Java 代码 · 共 320 行

JAVA
320
字号
package imis_mate.servlet;

import imis_mate.bean.MateOutBaseBean;
import imis_mate.bean.MateOutDetailBean;
import imis_mate.bean.MaterialBean;
import imis_mate.bean.MaterialBuyDetailBean;
import imis_mate.DAO.*;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

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.sun.jndi.url.corbaname.corbanameURLContextFactory;

public class MaterialOutInsertServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public MaterialOutInsertServlet() {
		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 {
		this.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 {
		String pattern = request.getParameter("pattern");

		if (pattern.equals("search")) {
			// 出库信息录入 选择出库查询条件
			this.search(request, response);
		} else if (pattern.equals("outInsert")) {
			// 查询出要 添加的明细出库信息添加
			this.insert(request, response);
		}else if (pattern.equals("insertAll")){
			//添加出库信息的所有表操作
			if (OutNo(request, response)) {
				this.insertAll(request,response);
			} 
			else {
				request.setAttribute("MaterialTypeNoExisted", "该出库编号已存在");
				request.getRequestDispatcher(INSERT_URL).forward(request, response);
				}
		}else if(pattern.equals("getValue")){
			//刷新页面 传递值
			this.getVlaue(request, response);
		}
	}
	private void getVlaue(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 刷新页面 传递值
		String pag = request.getParameter("pag");
		String url = null;
		ArrayList list = null;
		HousBuildingAndRoom hbr = new HousBuildingAndRoom();
		
		MateOutBaseBean mobb = new MateOutBaseBean();
		mobb.setOutNo(request.getParameter("outNo"));
		mobb.setOutDate(request.getParameter("outDate"));
		mobb.setUserCode(request.getParameter("userCode"));
		mobb.setUseDep(Integer.parseInt(request.getParameter("useDep")));
		mobb.setManagerBy(request.getParameter("managerBy"));
		mobb.setUseBy(request.getParameter("useBy"));
		mobb.setRoomNu(request.getParameter("roomNu"));
		mobb.setBuildingNu(request.getParameter("buildingNu"));
		mobb.setOutCause(Integer.parseInt(request.getParameter("outCause")));
		mobb.setReMark(request.getParameter("reMark"));	
		list = hbr.getRoomListForBuildingNu(mobb.getBuildingNu());
		if(pag.equals("insert")) {
			url = INSERT_URL;
		} else if(pag.equals("update")) {
			url = UPDATE_URL;
		}
		request.setAttribute("mate", mobb);
		request.setAttribute("MaterialOutBean", mobb);
		request.setAttribute("roomList", list);
		request.getRequestDispatcher(url).forward(request, response);
	}

	//判断输入的ID是否存在
	public boolean OutNo(HttpServletRequest request,HttpServletResponse response) {
		boolean flag = false;
		MateOutBaseDAO dao = new MateOutBaseDAO();
		String buyNo = request.getParameter("outNo").trim();
		if (dao.getMateOutBaseBeanByOutNu(buyNo) != null) {
			flag = false;
		} else {
			flag = true;
		}
		return flag;

	}

	private void insertAll(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		boolean flag = false;
		String url = null;
		HttpSession session = request.getSession();
		MateOutBaseBean mobb = new MateOutBaseBean();
		mobb.setOutNo(request.getParameter("outNo"));
		mobb.setOutDate(request.getParameter("outDate"));
		mobb.setUserCode(request.getParameter("userCode"));
		mobb.setUseDep(Integer.parseInt(request.getParameter("useDep")));
		mobb.setManagerBy(request.getParameter("managerBy"));
		mobb.setUseBy(request.getParameter("useBy"));
		mobb.setRoomNu(request.getParameter("roomNu"));
		mobb.setBuildingNu(request.getParameter("buildingNu"));
		mobb.setOutCause(Integer.parseInt(request.getParameter("outCause")));
		mobb.setReMark(request.getParameter("reMark"));
		
		ArrayList temp = new ArrayList();
		temp = (ArrayList) session.getAttribute("mateOutDetailInsetList");
		
		MateOutBaseDAO mobd = new MateOutBaseDAO();
		MateOutDetailDAO modd = new MateOutDetailDAO();
		MaterialDAO md = new MaterialDAO();
		
		//添加出库基表
		
		if(mobd.save(mobb)){
			//添加出库明细表
			if( modd.save(temp,mobb)){
				//修改库存数量
				try {
					flag = 	md.updateNowCount(temp);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		
		}
		session.removeAttribute("mateOutDetailInsetList");
		if(flag){
			url = SUCCESS_URL;
			request.setAttribute("success", "信息添加成功");
		}
		else
		{	request.setAttribute("fail", "信息添加失败");
			url = FAIL_URL;
		}
		request.getRequestDispatcher(url).forward(request, response);
		
	}

	private void insert(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 出库信息添加
		boolean flag = false;
		MaterialBean material = null;
		MateOutDetailBean mateOutDetail = null;
		ArrayList list = new ArrayList();
		MaterialDAO materialDao = new MaterialDAO();
		String mateNo;
		String url = INSERT_URL;
		int outCount;
		Enumeration enp = request.getParameterNames();
		while (enp.hasMoreElements()) {

			mateOutDetail = new MateOutDetailBean();
			mateNo = (String) enp.nextElement(); //得到库存的id
			if (!mateNo.equals("pattern") && !mateNo.equals("Submit")) {
				try{
				outCount = Integer.parseInt((String) request.getParameter(mateNo).trim());}
				catch(NumberFormatException e)
				{
					flag = true;
					break;
				}
				if (outCount == 0) {
					continue;
				} else {
					try {
						material = materialDao.selectMaterial(Integer.parseInt(mateNo));
						// 判断输入的出库数量是否大于原本的库存数量
						if (material.getNowCount() < outCount) {
							flag = true;
							break;
						} else {
//							 业务 操作
							mateOutDetail.setMaterialBean(material);
//							mateOutDetail.setMaBrand(material.getMaBrand());
//							mateOutDetail.setMaMadeIn(material.getMaMadeIn());
//							mateOutDetail.setMaModel(material.getMaModel());
//							mateOutDetail.setMaterialName(material.getMaterialTypeName());
//							mateOutDetail.setMaterialNo(material.getMaterialNo());
//							mateOutDetail.setMaterialTypeNo(material.getMaterialTypeNo());
							mateOutDetail.setOutCount(outCount);
//							mateOutDetail.setPriceUnit(material.getPriceUnit());
							list.add(mateOutDetail);
						}
					} catch (NumberFormatException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}

				}
			}
		}
		if(list.size()==0){
			url = OUT_INSERT_URL;
		}
		if(flag){
			url = FAIL_URL;
			request.setAttribute("fail","出库数量输入有误,请查实!");
		}
		else {
			url = INSERT_URL;
			request.getSession().setAttribute("mateOutDetailInsetList", list);
		}
		request.getRequestDispatcher(url).forward(request, response);
	}

	private void search(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 多条件查询入库信息
		request.getSession().removeAttribute("mateOutInsertSearchList");
		MaterialBean mate = new MaterialBean();
		ArrayList list = null;
		String startDate = null;
		String endDate = null;
		mate.setBuyId(request.getParameter("buyId")); // 采购单编号
		mate.setMaterialTypeName(request.getParameter("materialTypeName")); // 物品名称
		mate.setMaterialTypeNo(request.getParameter("materialTypeNo")); // 物品类型
		mate.setMaModel(request.getParameter("maModel")); // 品牌
		mate.setMaBrand(request.getParameter("maBrand")); // 型号
		mate.setMaMadeIn(request.getParameter("maMadeIn")); // 产地
		mate.setInFrom(request.getParameter("inFrom")); // 入库来源
		mate.setNowCount(-1); //库存数量-1 
		
		startDate = request.getParameter("startDate"); // 起始时间
		endDate = request.getParameter("endDate"); // 结束时间

		MaterialDAO mateDAO = DAOFactory.getInstance().getMaterialDAO();
		try {
			list = mateDAO.reseveSearchMaterial(mate, startDate, endDate);
		} catch (Exception e) {
			e.printStackTrace();
		}
		request.getSession().setAttribute("mateOutInsertSearchList", list);
		request.getRequestDispatcher(SEARCH_URL).forward(request, response);
	}

	public void init() throws ServletException {
		// Put your code here
	}

	private static final String SUCCESS_URL = "../imis_mate/successful.jsp"; // 提交成功页面

	private static final String FAIL_URL = "../imis_mate/fail.jsp"; // 提交失败页面

	private static final String INSERT_URL = "../imis_mate/MaterialOutTable_insert.jsp"; // 插入数据库页面

	private static final String ALLOT_INSERT_URL = "../imis_mate/Material_insert.jsp"; // 调拨入库页面

	private static final String OUT_INSERT_URL = "../imis_mate/MaterialOutTable_search_insert.jsp"; //出库首页

	private static final String UPDATE_URL = "../imis_mate/MaterialOutTable_modify.jsp"; // 修改数据页面

	private static final String DELETE_URL = "../imis_mate/Material_delete.jsp"; // 删除数据页面

	private static final String SEARCH_URL = "../imis_mate/MaterialOutTable_Insert_bysearch.jsp"; // 搜索数据页面

	private static final String RESEVE_SEARCH_URL = "../imis_mate/Material_reseve_bysearch.jsp"; // 搜索数据页面

}

⌨️ 快捷键说明

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