jsp版超市信息管理系统-SellBackDAO.java

 

一、登陆界面

可以让不同的用户进行登陆,总共有四种用户类型,分别为经理(可以对所有界面进行查看,修改),销售人员(可以对所有界面进行查看,但只能对销售界面进行操作),库存管理人员(可以对所有界面进行查看,但只能对库存界面进行操作),采购人员(可以对所有界面进行查看,但只能对进退货界面进行操作)。

二. 基本信息

1. 供应商信息管理

2. 商品信息管理

3. 员工信息管理

三. 进退货信息管理

1、进货登记:进行商品进货登记

2、退货登记:商品退货登记,损坏或质量问题的货品退给供应商,因规格或其他问题的商品将退货回库存。

3、进货查询:可根据时间段,商品类别,供应商进行查询

4、退货查询:可根据时间段,商品类别,供应商进行查询

四 、销售管理

1、商品销售处理:可实现多种商品的销售,有销售日期,小票号以及销售人员的编号。

2、销售退货处理: 可依据小票号进行退货,并要有备注可表明退货原因,以及要有退货日期

3、销售查询:按商品名称查询,按销售人员查询,按销售日期查询

4、退货查询:按小票号查询,按商品名称查询,按销售人员查询,按退货日期查询

五. 信息统计查询

1. 商品销售统计排行:可以按时间段,单类商品销售量,多种商品销售量进行查询

2. 销售人员业绩排行:按销售出商品的总金额进行排行

3. 营业历程对比:按月份销售额或季度销售额进行图形或文字或表状(有一种类型的就可以了)的对比。

六、库存管理

1、库存查询:可按商品名进行查询,商品类别进行查询(可实现模糊查询)

2、库存盘点:进货金额和销售金额的对比

3、库存上溢,下限预警,以及库存报损(当库存少于或多于限定数量时就会显示相关文字进行提醒)

七、系统管理设置

1、用户信息管理(限制不同用户的权限)

2. 用户密码修改

package com.shuangyulin.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import com.shuangyulin.DBUtils.DB;
import com.shuangyulin.javabean.SellBackInfo;

public class SellBackDAO {
	private String errMessage; /*保存业务逻辑处理的错误*/
	private String goodNo;		/*查询的商品编号*/
	private String sellNo;		/*查询的销售编号*/
	private String startDate;	/*查询的开始日期*/
	private String endDate;		/*查询的结束日期*/
	private float totalPrice = 0.0f;	/*当前查询条件下的所有销售退货总价格*/
	public String getEndDate() {
		return endDate;
	}
	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}
	public String getErrMessage() {
		return errMessage;
	}
	public void setErrMessage(String errMessage) {
		this.errMessage = errMessage;
	}
	public String getGoodNo() {
		return goodNo;
	}
	public void setGoodNo(String goodNo) {
		this.goodNo = goodNo;
	}
	public String getSellNo() {
		return sellNo;
	}
	public void setSellNo(String sellNo) {
		this.sellNo = sellNo;
	}
	public String getStartDate() {
		return startDate;
	}
	public void setStartDate(String startDate) {
		this.startDate = startDate;
	}
	public float getTotalPrice() {
		return totalPrice;
	}
	public void setTotalPrice(float totalPrice) {
		this.totalPrice = totalPrice;
	}
	
	/*传入商品退货信息模型对象,实现顾客退货的业务操作*/
    public boolean AddSellBackInfoAdd(SellBackInfo sellBackInfo,boolean isGood)
    {
        try {
			/*查询销售信息表中是否存在该销售单据号*/
			String sqlString = "select COUNT(*) as count from [sellInfo] where sellNo='" + sellBackInfo.getSellNo() + "'";
			DB db = new DB();
			ResultSet rs = db.executeQuery(sqlString);
			int count = 0;
			if(rs.next())
				count = rs.getInt("count");
			if(0 == count) {
				 this.errMessage = "你输入的销售单据号不存在!";
			     return false;
			}
			db.all_close();
			/*判断该次销售中是否存在该商品的信息*/
			sqlString = "select COUNT(*) as count from [sellInfo] where sellNo='" + sellBackInfo.getSellNo() + "' and goodNo='" + sellBackInfo.getGoodNo() + "'";
			rs = db.executeQuery(sqlString);
			count = 0 ;
			if(rs.next())
				count = rs.getInt("count");
			if(0 == count) {
				 this.errMessage = "该次销售没有该商品的信息!";
			     return false;
			}
			db.all_close();
			/*判断退货的商品数量是否正确*/
			sqlString = "select number from [sellInfo] where sellNo='" + sellBackInfo.getSellNo() + "' and goodNo='" + sellBackInfo.getGoodNo() + "'";
			int number = 0;
			rs = db.executeQuery(sqlString);
			if(rs.next())
				number = rs.getInt("number");
			if(sellBackInfo.getNumber() > number)
			{
			    this.errMessage = "你的退货数量不能大于销售时的数量!";
			    return false;
			}
			db.all_close();
			/*通过验证后执行商品退货信息的加入*/
			sqlString = "insert into [sellBackInfo] (sellNo,goodNo,price,number,totalPrice,sellBackReason,sellBackTime) values ('";
			sqlString += sellBackInfo.getSellNo() + "','";
			sqlString += sellBackInfo.getGoodNo() + "',";
			sqlString += sellBackInfo.getPrice() + ",";
			sqlString += sellBackInfo.getNumber() + ",";
			sqlString += sellBackInfo.getTotalPrice() + ",'";
			sqlString += sellBackInfo.getSellBackReason() + "','";
			sqlString += sellBackInfo.getSellBackTime() + "')";
			db.executeUpdate(sqlString);
			db.all_close();
			/*如果退回的商品是完好的,需要将商品入库*/
			if (isGood)
			{
			    sqlString = "update [goodStockInfo] set goodCount = goodCount + " + sellBackInfo.getNumber(); ;
			    db.executeUpdate(sqlString);
			    db.all_close();
			}
			return true;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}
    }
    
    /*根据商品编号,销售单据,开始时间和结束时间查询商品退货信息*/
    public ArrayList<SellBackInfo> QuerySellBackInfo(String goodNo,String sellNo, String startDate, String endDate)
    {
    	ArrayList<SellBackInfo> sellBackInfoList = new ArrayList<SellBackInfo>();
    	/*根据查询条件构造sql语句*/
        String sqlString = "select * from [sellBackInfo] where 1=1";
        if (goodNo != "")
            sqlString += " and goodNo like '%" + goodNo + "%'";
        if (sellNo != "")
            sqlString += " and sellNo like '%" + sellNo + "%'";
        if (startDate != "")
            sqlString += " and sellBackTime >= '" + startDate + "'";
        if (endDate != "")
            sqlString += " and sellBackTime <= '" + endDate + "'";
        try {
			/*调用数据层执行查询*/
			DB db = new DB();
			ResultSet rs = db.executeQuery(sqlString);
			while(rs.next()) {
				SellBackInfo sellBackInfo = new SellBackInfo();
				sellBackInfo.setSellBackId(rs.getInt("sellBackId"));
				sellBackInfo.setSellNo(rs.getString("sellNo"));
				sellBackInfo.setGoodNo(rs.getString("goodNo"));
				//sellBackInfo.setGoodName(rs.getString("goodName"));
				sellBackInfo.setPrice(rs.getFloat("price"));
				sellBackInfo.setNumber(rs.getInt("number"));
				sellBackInfo.setTotalPrice(rs.getFloat("totalPrice"));
				sellBackInfo.setSellBackReason(rs.getString("sellBackReason"));
				sellBackInfo.setSellBackTime(rs.getTimestamp("sellBackTime"));
				
				totalPrice += sellBackInfo.getTotalPrice();
				sellBackInfoList.add(sellBackInfo);
			}
			db.all_close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        return sellBackInfoList;
       
    }
	
	
}

 

 保存业务逻辑处理的错误*/
*查询的商品编号*/
*查询的销售编号*/
*查询的开始日期*/
*查询的结束日期*/
*当前查询条件下的所有销售退货总价格*/


版权声明:本文为qq_43416206原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。