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

📄 saleoperation.java

📁 该源代码实现了系统的进货
💻 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<ProductQuantity)
			 {
				 rs.previous();
				 EnterQuantity+=rs.getInt("EnterQuantity");
				 
			 }
			 int intervene=EnterQuantity-ProductQuantity;  //本条进货纪录中已经卖出的部分
			 
			int i=SaleQuantity-(rs.getInt("EnterQuantity")-intervene);  //i本条记录中销售后剩余部分
			 if(i>=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();
	}
}

⌨️ 快捷键说明

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