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

📄 stockoutupdate.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 StockOutUpdate extends HttpServlet {


	private static final long serialVersionUID = -2305260907601477327L;
	DataConnect dc=new DataConnect();
	Statement   stat=null;
	ResultSet   rs=null;
	HttpSession session=null;		
	String      stockoutid=null;		        //商品出库单编号				
	String      chargeid=null;				//出库单负责人编号
	String      receiveid=null;				//商品接受人编号
	String      outdate=null;				//商品出库日期
	String      goodsid=null;				//商品编号
	String      commodityid=null;			//商品分类编号
	String      typeid=null;			    //商品型号编号					
	String      stockoutmemo=null;			//出库单备注信息
	int         stockoutnum=0;				//商品出库数量
	int         goodsnum=0;					//商品库存总量
	int         modifynum=0;
	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();

//从页面stockoutupdate.jsp取得数据进行合法性检验
		 try{
			 modifynum=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((modifynum==0||modifynum<0)||chargeid==null||goodsid==null||commodityid==null||receiveid==null||typeid==null){				 
				   session.setAttribute("errors", "出库单数据添加失败,*标识选项必须填写!");
				   requestdispatcher=request.getRequestDispatcher("/errors/errorpage.jsp");
				   requestdispatcher.forward(request, response);
			 }
			 
			 try{
					
					int flag_get=-10;   //查询商品信息表的flag_get标志
					int flag_update=-10;//更新商品信息表的flag_update标志
					//下面的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{
				    		String strsql="select * form stockoutinfotable where StockInId="+stockoutid;
				    		stat=dc.getStmtread();
				    		rs  =stat.executeQuery(strsql);
				    			while(rs.next()){
				    				  stockoutnum=Integer.valueOf(rs.getInt("GoodsOutNumber"));
				    			}			    		
				    	    }catch(Exception ex){ex.printStackTrace();}finally{dc.close();}
				    	    
				    	//根据商品编号、商品分类编号、商品型号编号取得商品在库数量    
						try{
							 stat=dc.getStmtread();
					         rs=stat.executeQuery(sqlgoods);
					         rs.previous();
					          //取得商品库存数量
					          while(rs.next()){
					        	   goodsnum=Integer.valueOf(rs.getString("GoodsStockNumber"));
					           }
						    }catch(Exception ex){ex.printStackTrace();}finally{dc.close();}
					        
	/*(1)如果指定编号商品的出库量修改后比原来的入库量多了,更新该商品的出库量和总库存量
	 *     出库量=原入库量+数量差 ,总库存量=原总库存-数量差
	 *(2)如果指定编号商品的出库量修改后比原来的入库量少了,更新该商品的出库量和总库存量 
	 *     出库量=原出库量-数量差 , 总库存量=原总库存+数量差
	 *(2)如果指定编号商品的出库量修改后和原来一样
	 *     出库量=修改后的出库量,总库存量=原库存量       
	 * */					   
						   if(modifynum>stockoutnum){							  //(1)
							   stockoutnum=stockoutnum+(modifynum-stockoutnum);   
							   goodsnum  =goodsnum-(modifynum-stockoutnum);
						   }else if(modifynum<stockoutnum){						  //(2)
							   stockoutnum=stockoutnum-(stockoutnum-modifynum);
							   goodsnum  =goodsnum+(stockoutnum-modifynum);
						   }else{												  //(3)
							   stockoutnum=modifynum;
						   }				         
					         //更新商品信息表的商品总库存量
					       flag_update=dc.updata("update goodsinfotable set GoodsStockNumber='"+goodsnum+"' where GoodsId='"+goodsid+"' and GoodsCateId='"+commodityid+"'and TypeId='"+typeid+"'");
					         //如果更新商品信息表成功,则更新商品出库信息
					         if(flag_update>0){
								 StockOutManager som=new StockOutManager();
								 flag=som.ModifyStockOut(stockoutid, outdate, chargeid, goodsid, stockoutnum, receiveid, typeid, commodityid, stockoutmemo);
								 //如果根新商品出库信息成功,则跳转到stockinsave.jsp页面
								 if(flag>0){
					        	  
									 session.setAttribute("success","出库单数据修改成功!");
									 requestdispatcher=request.getRequestDispatcher("/viewpage/datamodify/stockoutupdate.jsp");
									 requestdispatcher.forward(request, response);
								 
								  }else{
								 //如果修改商品出库信息失败,则跳转到errorpage.jsp页面	  
									  session.setAttribute("errors", "出库单数据修改失败!");
									  requestdispatcher=request.getRequestDispatcher("/errors/errorpage.jsp");
									  requestdispatcher.forward(request, response);
								  }
								}		 
					  }else{
							//如果flag_get<=0(符合条件的商品信息不存在)跳转到errorpage.jsp
							session.setAttribute("errors","出库商品信息不存在,请先添加商品信息!");
							requestdispatcher=request.getRequestDispatcher("/errors/errorpage.jsp");
							requestdispatcher.forward(request, response);
				          }				 
			  }catch(Exception ex){ ex.printStackTrace();}finally{dc.close();}
		
    }
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request,response);
	}




}

⌨️ 快捷键说明

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