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