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 + -
显示快捷键?