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

📄 stockoutsave.java

📁 基于J2EE的网络物流系统 用户操作: 1. 录入出库商品信息 2. 查询出库单信息 3. 录入入库商品信息 4. 查询入库单信息 5. 查询商品位置信息 6. 查询商品信息 7. 查
💻 JAVA
字号:
package com.logistic.servlet;

import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.logistic.business.StockOutManager;
import com.logistic.data.DataConnect;
import javax.servlet.http.HttpSession;
import java.sql.Statement;
import java.sql.ResultSet;
import java.util.Calendar;
import java.text.*;

public class StockOutSave extends HttpServlet {
	
	private static final long serialVersionUID = -2305260907601477327L;
	DataConnect dc=new DataConnect();
	Statement   stat=null;
	ResultSet   rs=null;
	HttpSession session=null;
	int    stockoutid=0;				//商品出库单编号
	String id=null;						
	String chargeid=null;				//出库单负责人编号
	String receiveid=null;				//商品接受人编号
	String   outdate=null;				//商品出库日期
	String goodsid=null;				//商品编号
	String commodityid=null;			//商品分类编号
	String typeid=null;					//商品型号编号
	int    stockoutnum=0;				//商品出库数量
	int    goodsnum=0;					//商品库存量
	String stockoutmemo=null;			//出库单备注信息
	int    flag=0;	
	RequestDispatcher requestdispatcher;
	

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		request.setCharacterEncoding("GB2312");
		response.setContentType("text/html; charset=gb2312");
		session=request.getSession();
		
/*
 * 获取stockoutinfotable表的StockOutId字段的最后插入的值,生成下一条记录的StockOutId
 * 字段的值!
 */		
		
		String sql="select * from stockoutinfotable order by ID desc limit 1";
		try{
		 stat=dc.getStmtread();
         rs=stat.executeQuery(sql);
         rs.previous();
         //取得商品出库信息表中最后一条出库记录的StockOutId,并生成下一条要插入记录的编号
         while(rs.next()){
        	 stockoutid=Integer.valueOf(rs.getString("StockOutId"));
         	}
         	if(stockoutid>0){
         		stockoutid+=1;
         		}else{
        	 
         			stockoutid=10000+1;
         		}

		 }catch(Exception ex){
			 
			ex.printStackTrace();
		 }finally{dc.close();}
		
 /*进行数据类型转化,把stockoutid(原为Int型)转化为String类型
  * 把stockoutnum(原为String类型)转化为Int类型
  * 
  */	
		 try{
			 
			 id=String.valueOf(stockoutid);
			 stockoutnum=Integer.valueOf((String)request.getParameter("stockoutnum"));
		
		    }catch(NumberFormatException ex){ System.out.print("StockOutNum类型转换错误!");ex.printStackTrace();}	 
		 
		 
		 outdate=(String)new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); 
		 chargeid=(String)request.getParameter("stockoutcharge");//获得入库负责人编号
		 goodsid=(String)request.getParameter("outgoodsid");   //获得商品编号
		 commodityid=(String)request.getParameter("commodityid");//获得商品分类编号
		 receiveid=(String)request.getParameter("receiveid");
		 typeid=(String)request.getParameter("goodstype");		//获得商品型号编号
		 stockoutmemo=(String)request.getParameter("stockoutmemo");//获得入库备注信息
		 
		 if((stockoutnum==0||stockoutnum<0)||chargeid==null||goodsid==null||commodityid==null||receiveid==null||typeid==null){
			 
			   session.setAttribute("errors", "出库单数据添加失败,*标识选项必须填写!");
			   requestdispatcher=request.getRequestDispatcher("/errors/errorpage.jsp");
			   requestdispatcher.forward(request, response);
		 }
		 
		 System.out.println(outdate);
		 System.out.println(goodsid);
		 System.out.println(commodityid);
		 System.out.println(typeid);
		 
		 
		 try{
			 
			int flag_get=-10;
			int flag_update=-10;
			
			//下面的sqlgoods,select语句的功能是:从数据表goodsinfotabl检索是否有符合goodsid,commodityid和typeid数据。
			String sqlgoods="select * from goodsinfotable  where GoodsId='"+goodsid+"'and GoodsCateId='"+commodityid+"'and TypeId='"+typeid+"'";
			flag_get=dc.selectdata(sqlgoods);
			if(flag_get>0){
				
				try{
					//取出商品库存数量
					 stat=dc.getStmtread();
			         rs=stat.executeQuery(sqlgoods);
			         rs.previous();
			         while(rs.next()){
			        	 goodsnum=Integer.valueOf(rs.getString("GoodsStockNumber"));
			         }
			         //如果商品出库数量比库存量大,那么跳到errorpage.jsp页面
			        if(stockoutnum>goodsnum){
			        	session.setAttribute("errors","库存量不足!请您先查看库存,重新选择商品出库量!");
						requestdispatcher=request.getRequestDispatcher("/errors/errorpage.jsp");
						requestdispatcher.forward(request, response);
			        }else{
			        	//如果商品库存量大于出库量,那么更新商品信息表中的商品库存量(商品库存量-商品出库量)
			        	goodsnum=goodsnum-stockoutnum;
			        	flag_update=dc.updata("update goodsinfotable set GoodsStockNumber='"+goodsnum+"' where GoodsId='"+goodsid+"' and GoodsCateId='"+commodityid+"'and TypeId='"+typeid+"'");
			        	if(flag_update>0){
			        		//如果商品库存量更新成功,添加出库单信心
			        		StockOutManager sm=new StockOutManager();
							 flag=sm.AddStockOut(id, outdate, chargeid, goodsid, stockoutnum,receiveid,typeid, commodityid, stockoutmemo);
							  if(flag>0){
								  	//如果商品出库单信息添加成功,重新跳转到stockoutsave.jsp页面
								     session.setAttribute("success","出库单数据添加成功!");
									 requestdispatcher=request.getRequestDispatcher("/viewpage/datainput/stockoutsave.jsp");
									 requestdispatcher.forward(request, response);
							  }else{
								   //如果商品出库信息添加失败,怎跳转到errorpage.jsp页面
								   session.setAttribute("errors", "出库单数据添加失败!");
								   requestdispatcher=request.getRequestDispatcher("/errors/errorpage.jsp");
								   requestdispatcher.forward(request, response);
							        }
			        		  }else{
			        			
			        		}
			        }
			         
				}catch(Exception ex){
					
					ex.printStackTrace();
				}
			}else{
				  //如果flag_get<=0,那么跳转到errorpage.jsp
				  session.setAttribute("errors","出库商品信息不存在,请先添加商品信息!");
				  requestdispatcher=request.getRequestDispatcher("/errors/errorpage.jsp");
				  requestdispatcher.forward(request, response);
			      }
			 
			 
		 }catch(Exception ex){
			 
			 ex.printStackTrace();
		 }
		 
		 
	}
	
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {

     
		doPost(request,response);
   }



}

⌨️ 快捷键说明

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