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

📄 outmapaction.java

📁 仓库管理系统毕业设计论文最好的参考资料!
💻 JAVA
字号:
package com.qhit.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.qhit.UseException;
import com.qhit.Utils;

import com.qhit.db.instance.DbIoMapMain;
import com.qhit.po.IoMapList;
import com.qhit.po.IoMapMain;
import com.qhit.vo.IoMapMainQuery;
import com.qhit.vo.PageObj;

public class OutMapAction {
	private DbIoMapMain dibm;
//构造方法初始化与数据库的操作类:DbIoMapMain
	public OutMapAction() throws UseException {
		this.dibm = new DbIoMapMain();
	}

	public void query(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String oiid = Utils.getNotNull(request.getParameter("oiid"));
		String state = Utils.getNotNull(request.getParameter("state"));
		String outindatebegin = Utils.getNotNull(request
				.getParameter("outindatebegin"));
		String outindateend = Utils.getNotNull(request
				.getParameter("outindateend"));
		String currpagestr = Utils.getNotNull(request.getParameter("currpage"));
		try {

			IoMapMainQuery imq = new IoMapMainQuery();
			imq.setOiid(oiid);
			if ("1".equals(state))
				state = "新单";
			imq.setState(state);
			imq.setOutindatebegin(outindatebegin);

			imq.setOutindateend(outindateend);

			imq.setOutintype("出库");

			if ("".equals(currpagestr))
				currpagestr = "1";
			int currpage = Integer.valueOf(currpagestr);
			List list = dibm.query(imq);
			PageObj vo = new PageObj();
			vo.setCurrpage(currpage);
			vo.setList(list);

			request.setAttribute("po", vo);
		} catch (Exception e) {
			e.printStackTrace();
			request.setAttribute("error", "执行查询操作出错,原因:" + e.getMessage());
		} finally {
			dibm.closeAll();
			request.getRequestDispatcher("outquery.jsp").forward(request,
					response);
		}
	}

	public void get(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String oiid = Utils.getNotNull(request.getParameter("modoiid"));
		try {
			if ("".equals(oiid)) {
				throw new Exception("要查询的单号不能为空");
			}

			IoMapMain ibm = new IoMapMain();
			ibm.setOiid(oiid);
			ibm = dibm.get(ibm);

			List list = dibm.queryL(ibm);

			request.setAttribute("iomap", ibm);
			request.setAttribute("list", list);

		} catch (Exception e) {
			e.printStackTrace();
			request.setAttribute("error", "执行查询操作出错,原因:" + e.getMessage());
		} finally {
			dibm.closeAll();
			request.getRequestDispatcher("outmapmod.jsp").forward(request,
					response);
		}
	}

	public void save(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String oiid = Utils.getNotNull(request.getParameter("oiid"));
		String outinsumnumstr = Utils.getNotNull(request
				.getParameter("outinsumnum"));
		String outintype = Utils.getNotNull(request.getParameter("outintype"));
		String outindes = Utils.getNotNull(request.getParameter("outindes"));
		if (outinsumnumstr.equals(""))
			outinsumnumstr = "0";
		try {
			dibm.beginTraction();
			// 执行保存主表的操作
			IoMapMain ibm = new IoMapMain();
			ibm.setOiid(oiid);
			ibm.setOutinsumnum(Integer.valueOf(outinsumnumstr));
			if ("自动编号".equals(oiid)) {
				java.util.Date d = new java.util.Date();
				oiid = String.valueOf(d.getTime());
				ibm.setOiid(oiid);
				ibm.setOutindes(outindes);
				ibm.setState("新单");
				ibm.setOutinsumnum(Integer.valueOf(outinsumnumstr));
				ibm.setOutintype(outintype);
				dibm.insert(ibm);
			} else {
				ibm = dibm.get(ibm);
				if (!"".equals(ibm.getState())) {
					throw new Exception("单据不为新单状态不允许更改!");
				}
				ibm.setOutinsumnum(Integer.valueOf(outinsumnumstr));
				dibm.update(ibm);
			}

			// 执行保存从表的操作
			String sysid[] = request.getParameterValues("sysid");
			String mpid[] = request.getParameterValues("mpid");
			String outinnum[] = request.getParameterValues("outinnum");

			if (sysid != null) {
				for (int i = 0; i < sysid.length; i++) {
					IoMapList ibl = new IoMapList();
					ibl.setSysid(sysid[i]);
					ibl.setMpid(mpid[i]);
					ibl.setOutinnum(Integer.valueOf(outinnum[i]));
					ibl.setOiid(ibm.getOiid());
					if ("自动编号".equals(sysid[i])) {
						dibm.insertL(ibl);
					} else {
						dibm.updateL(ibl);
					}
				}
			}
			dibm.commitTraction();

			request.setAttribute("message", "保存单据操作成功!");
		} catch (Exception e) {
			dibm.rollbackTraction();
			e.printStackTrace();
			request.setAttribute("error", "保存单据操作出错,原因:" + e.getMessage());
		} finally {
			request.getRequestDispatcher("OutMapAction.get.do?modoiid=" + oiid)
					.forward(request, response);
		}
	}

	public void delete(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String oiid = Utils.getNotNull(request.getParameter("delbid"));
		try {
			IoMapMain ibm = new IoMapMain();
			ibm.setOiid(oiid);
			ibm = dibm.get(ibm);

			if (!"新单".equals(ibm.getState())) {
				throw new Exception("删除单不为新单不允许删除!");
			}

			int ret = dibm.delete(ibm);
			if (ret > 0) {
				request.setAttribute("message", "删除单据:" + oiid + "成功!");
			} else {
				request.setAttribute("error", "要的删除单据:" + oiid + "可能不存在!");
			}
		} catch (Exception e) {
			e.printStackTrace();
			request.setAttribute("error", "删除操作出错,原因:" + e.getMessage());
		} finally {
			request.getRequestDispatcher("OutMapAction.query.do").forward(
					request, response);
		}
	}

	public void deletelist(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		String oiid = Utils.getNotNull(request.getParameter("oiid"));
		String sysid = Utils.getNotNull(request.getParameter("dsysid"));
		String mpid = Utils.getNotNull(request.getParameter("delbid"));
		try {
			dibm.beginTraction();
			IoMapMain ibm = new IoMapMain();
			ibm.setOiid(oiid);
			ibm = dibm.get(ibm);
			if (!"新单".equals(ibm.getState())) {
				throw new Exception("要删除的料品编号:" + mpid + "所属的主表状态不为新单状态!");
			}
			IoMapList ibl = new IoMapList();
			ibl.setSysid(sysid);
			ibl = dibm.getL(ibl);

			int ret = dibm.deleteL(ibl);
			if (ret > 0) {
				request.setAttribute("message", "删除明细记录的料品编号:" + mpid + "成功!");
				ibm.setOutinsumnum(ibm.getOutinsumnum() - ibl.getOutinnum());
				dibm.update(ibm);
			} else {
				request.setAttribute("error", "删除明细记录的料品编号:" + mpid
						+ "失败,可能该记录不存在!");
			}
			dibm.commitTraction();

		} catch (Exception e) {
			dibm.rollbackTraction();
			request.setAttribute("error", "删除明细单据出错,原因:" + e.getMessage());
			e.printStackTrace();
		} finally {
			request.getRequestDispatcher("OutMapAction.get.do?modoiid=" + oiid)
					.forward(request, response);
		}
	}

	public void check(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String oiid = Utils.getNotNull(request.getParameter("oiid"));
		try {
			dibm.beginTraction();
			IoMapMain ibm = new IoMapMain();
			ibm.setOiid(oiid);
			ibm = dibm.get(ibm);
			if (!"新单".equals(ibm.getState())) {
				throw new Exception("单据:" + oiid + "不为新单状态!");
			}
			String outinman = (String) request.getSession().getAttribute(
					"userid");
			java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
					"yyyy-MM-dd");
			String todaystr = sdf.format(new java.util.Date());
			java.sql.Date outindate = java.sql.Date.valueOf(todaystr);
			ibm.setState("已审核");
			ibm.setOutinman(outinman);
			ibm.setOutindate(outindate);
			dibm.update(ibm);

			List list = dibm.queryL(ibm);
			for (int i = 0; i < list.size(); i++) {
				IoMapList ibl = (IoMapList) list.get(i);
				String sql = "update mptab set mpnum = mpnum - "
						+ ibl.getOutinnum() + " where mpid = '" + ibl.getMpid()
						+ "'";
				dibm.exeSql(sql);
            
			}
			dibm.commitTraction();
			request.setAttribute("message", "审核单据:" + oiid + "成功!");
		} catch (Exception e) {
			dibm.rollbackTraction();
			e.printStackTrace();
			request.setAttribute("error", "审核单据失败!原因:" + e.getMessage()+"仓库是否有足够库存");
		} finally {
			request.getRequestDispatcher("OutMapAction.get.do?modoiid=" + oiid)
					.forward(request, response);
		}
	}
}

⌨️ 快捷键说明

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