www.pudn.com > BeiJie.rar > SaleOperation.java


package operation; 
 
import java.sql.Date; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.util.ArrayList; 
import java.util.Calendar; 
 
import dataBase.DataBase; 
import entity.EnterCheckView; 
 
public class SaleOperation 
{ 
	private ResultSet rs; 
	private DataBase db; 
	public SaleOperation() 
	{ 
		db=new DataBase(); 
	} 
	public String getSaleID() 
	{ 
		 
			String SaleID=null; 
			Calendar cal=Calendar.getInstance(); 
			String Year=String.valueOf(cal.get(Calendar.YEAR)); 
			int m=Integer.parseInt(String.valueOf(cal.get(Calendar.MONTH)+1)); 
			String Month=null; 
			if(m<10) 
			{ 
				Month="0"+String.valueOf(m); 
			} 
			else 
				Month=String.valueOf(m); 
			String Day=null; 
			int f=cal.get(Calendar.DAY_OF_MONTH); 
			if(f<10) 
			{ 
				Day="0"+String.valueOf(f); 
			} 
			else 
				Day=String.valueOf(f); 
			String Date=Year+Month+Day; 
	        //查询是否存在当天的销售记录   
			 
			String sql="select * from SaleInfo where SaleID like '%"+Date+"%'"; 
			 
			try 
			{ 
			 rs=db.getResult(sql); 
			 if(rs.next()) 
			 {	 
			  rs.last(); 
			  int Row=rs.getRow(); 
			  String R=String.valueOf(Row+1); 
			  SaleID="S"+Date+"00"+R;             //生成销售编号 
			 } 
			 else 
			  SaleID="S"+Date+"001";             //若不存在当天的销售记录,记为001 
			    
			} 
			catch(SQLException e) 
			{ 
				e.printStackTrace(); 
			} 
			return SaleID; 
		 
	} 
	public int getProductID(String ProductName)                       //从商品信息中得到商品编号 
	  { 
		  int ProductID=0; 
		  String sql="select * from ProductInfo where ProductName='"+ProductName+"'"; 
		  try 
		  { 
			  rs=db.getResult(sql); 
			  if(rs.next()) 
			  { 
				  ProductID=rs.getInt("ProductID"); 
			  } 
				   
		  } 
		  catch(SQLException e) 
			{ 
				e.printStackTrace(); 
			} 
		  return ProductID; 
	  } 
	public int getCustomerID(String CustomerName)                       //从商品信息中得到商品编号 
	  { 
		  int CustomerID=0; 
		  String sql="select * from CustomerInfo where CustomerName='"+CustomerName+"'"; 
		  try 
		  { 
			  rs=db.getResult(sql); 
			  if(rs.next()) 
			  { 
				  CustomerID=rs.getInt("CustomerID"); 
			  } 
				   
		  } 
		  catch(SQLException e) 
			{ 
				e.printStackTrace(); 
			} 
		  return CustomerID; 
	  } 
	 public boolean checkStock(int ProductID,int SaleQuantity)   //判断该种商品库存够不够 
	  { 
		  boolean a=false; 
		  String sql="select * from StockRecord where ProductID="+ProductID; 
		  try 
		  { 
			  rs=db.getResult(sql); 
			  if(rs.next()) 
			  { 
			   int q=rs.getInt("ProductQuantity"); 
			   if(q>=SaleQuantity) 
			   { 
				   a=true; 
			   } 
			  } 
		  } 
		  catch(Exception e) 
		  { 
			  e.printStackTrace(); 
		  } 
		  return a; 
	  } 
	 public int getProductQuantity(int ProductID) 
	 { 
		 int ProductQuantity=0; 
		 String sql="select * from StockRecord where ProductID="+ProductID; 
		 try 
		 { 
			 rs=db.getResult(sql); 
			 rs.next(); 
			ProductQuantity=rs.getInt("ProductQuantity"); 
		 }catch(Exception e) 
		 { 
			 e.printStackTrace(); 
		 } 
		 return ProductQuantity; 
	 } 
	 public ArrayList getEnterList(int ProductQuantity,int ProductID,int SaleQuantity) 
	 { 
		 ArrayList list=new ArrayList(); 
		 String sql="select * from EnterInfo where ProductId='"+ProductID+"'"; 
		 try 
		 { 
			  
			 //int i=SaleQuantity;  //i就是卖货的数量 
			 rs=db.getResult(sql); 
			 rs.last(); 
			 int EnterQuantity=rs.getInt("EnterQuantity"); 
			 while (EnterQuantity=0) 
			 { 
				 EnterQuantity=rs.getInt("EnterQuantity")-intervene; 
			 } 
			if(i<0) 
			{ 
				 EnterQuantity=SaleQuantity; 
			} 
			 EnterCheckView ecv=new EnterCheckView(); 
			 ecv.setEnterID(rs.getString("EnterID")); 
			 ecv.setEnterQuantity(EnterQuantity); 
			 list.add(ecv); 
			 while(i>=0) 
			 { 
				 rs.next(); 
				 i-=rs.getInt("EnterQuantity"); 
				 if(i<0) 
				 { 
					 EnterQuantity=rs.getInt("EnterQuantity")+i; 
				 } 
				 else 
					 EnterQuantity=rs.getInt("EnterQuantity"); 
				 ecv=new EnterCheckView(); 
				 ecv.setEnterID(rs.getString("EnterID")); 
				 ecv.setEnterQuantity(EnterQuantity); 
				 list.add(ecv); 
			 } 
			 
		 } 
		 catch(Exception e) 
		 { 
			 e.printStackTrace(); 
		 } 
		 return list; 
	 } 
    public void EnterInfoInsert(String SaleID,int ProductID,int CustomerID,int SaleQuantity,float SalePrice,float SaleSum,Date SaleDate, 
             String Chargeman,String Transportor,String SaleNotice,String ShouldGetID,float ShouldGetSum,float LeaveSum, 
             Date ShouldGetDate,String ShouldGetNotice,ArrayList list) 
    { 
       String ShouldGetFlag="否"; 
       String sql1="insert into SaleInfo values('"+SaleID+"',"+ProductID+","+CustomerID+"," 
       +SaleQuantity+","+SalePrice+","+SaleSum+",'"+SaleDate+"','"+Chargeman+"','"+Transportor+"','"+SaleNotice+"')"; 
       String sql2="insert into ShouldGetList values('"+ShouldGetID+"','"+SaleID+"',"+ShouldGetSum+","+LeaveSum+",'" 
       +ShouldGetFlag+ "','"+Chargeman+"','"+ShouldGetDate+"','"+ShouldGetNotice+"')"; 
       String sql3="update StockRecord set ProductQuantity=ProductQuantity-"+SaleQuantity+" where ProductID="+ProductID; 
        
       try 
        { 
          db.ExeQuery(sql1,sql2,sql3,list,SaleID); 
        } 
        catch(Exception e) 
        { 
         e.printStackTrace(); 
        } 
    } 
	public void Close() 
	{ 
		db.close(); 
	} 
}