📄 welfareoperation.java
字号:
package operation;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import dataBase.DataBase;
import entity.EnterCheckView;
public class WelfareOperation
{
private ResultSet rs;
private DataBase db;
public WelfareOperation()
{
db=new DataBase();
}
public String getWelfareID()
{
String WelfareID=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 Welfare where WelfareID like '%"+Date+"%'";
try
{
rs=db.getResult(sql);
if(rs.next())
{
rs.last();
int Row=rs.getRow();
String R=String.valueOf(Row+1);
WelfareID="W"+Date+"00"+R; //生成销售编号
}
else
WelfareID="W"+Date+"001"; //若不存在当天的销售记录,记为001
}
catch(SQLException e)
{
e.printStackTrace();
}
return WelfareID;
}
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 boolean checkStock(int ProductID,int WelfareQuantity) //判断该种商品库存够不够
{
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>=WelfareQuantity)
{
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 WelfareQuantity)
{
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=WelfareQuantity-(rs.getInt("EnterQuantity")-intervene); //i本条记录中销售后剩余部分
if(i>=0)
{
EnterQuantity=rs.getInt("EnterQuantity")-intervene;
}
if(i<0)
{
EnterQuantity=WelfareQuantity;
}
EnterCheckView ecv=new EnterCheckView();
ecv.setEnterID(rs.getString("EnterID"));
ecv.setEnterQuantity(EnterQuantity);
ecv.setEnterPrice(rs.getFloat("EnterPrice"));
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);
ecv.setEnterPrice(rs.getFloat("EnterPrice"));
list.add(ecv);
}
}
catch(Exception e)
{
e.printStackTrace();
}
return list;
}
public void WelfareInsert(String WelfareID,int ProductID,int WelfareQuantity,String WelfareNotice,Date WelfareDate,String ChargeMan,ArrayList list)
{
float CostSum=0;
Iterator it=list.iterator();
while(it.hasNext())
{
EnterCheckView ecv=(EnterCheckView)it.next();
String EnterID=ecv.getEnterID();
int EnterQuantity=ecv.getEnterQuantity();
float EnterPrice=ecv.getEnterPrice();
CostSum+=EnterQuantity*EnterPrice;
}
String sql1="insert into Welfare values('"+WelfareID+"',"+ProductID+","+WelfareQuantity+",'"+WelfareNotice+"','"+WelfareDate+"',"+CostSum+",'"+ChargeMan+"')";
String sql2="update StockRecord set ProductQuantity=ProductQuantity-"+WelfareQuantity+" where ProductID="+ProductID;
String sql3=null;
try
{
db.ExeQuery(sql1, sql2, sql3);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void Close()
{
db.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -