jsp版超市信息管理系统-BuyInfoDAO.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.BuyInfo;
import com.shuangyulin.javabean.Employee;

/*关于商品进货信息操作的业务操作类*/
public class BuyInfoDAO {
	/* errMessage保存业务处理的错误消息 */
	private String errMessage;

	private final int pageSize = 3; /* 设置每页显示的进货记录数量 */

	private int recordCount = 0; /* 保存查询到的总的记录条数 */

	private int totalPage = 0; /* 符合查询条件的总的页数 */

	private int currentPage = 1; /* 当前要显示的页面 */
	
	private String goodNo;	/*查询商品编号的关键字*/
	private String goodName; /*查询商品名称的关键字*/
	private int goodClassId; /*查询的商品类别*/
	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 int getGoodClassId() {
		return goodClassId;
	}

	public void setGoodClassId(int goodClassId) {
		this.goodClassId = goodClassId;
	}

	public String getGoodNo() {
		return goodNo;
	}

	public void setGoodNo(String goodNo) {
		this.goodNo = goodNo;
	}

	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 int getCurrentPage() {
		return currentPage;
	}

	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}

	public String getErrMessage() {
		return errMessage;
	}

	public void setErrMessage(String errMessage) {
		this.errMessage = errMessage;
	}

	public int getRecordCount() {
		return recordCount;
	}

	public void setRecordCount(int recordCount) {
		this.recordCount = recordCount;
	}

	public int getTotalPage() {
		return totalPage;
	}

	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}

	/* 执行商品进货信息的登记操作 */
	public boolean AddBuyInfo(BuyInfo buyInfo) {
		try {
			/* 首先验证管理员输入的商品编号在系统中是否存在 */
			String sqlString = "select * from [goodInfo] where goodNo='"
					+ buyInfo.getGoodNo() + "'";
			DB db = new DB();
			ResultSet rs = db.executeQuery(sqlString);
			if (!rs.next()) {
				this.errMessage = "该商品不存在!";
				db.all_close();
				return false;
			}

			/* 构造sql语句实现进货信息的加入操作 */
			String insertString = "insert into [buyInfo] (goodNo,supplierName,price,number,totalPrice,buyDate,addTime) values ('";
			insertString += buyInfo.getGoodNo() + "','";
			insertString += buyInfo.getSupplierName() + "',";
			insertString += buyInfo.getPrice() + ",";
			insertString += buyInfo.getNumber() + ",";
			insertString += buyInfo.getTotalPrice() + ",'";
			insertString += buyInfo.getBuyDate() + "','";
			insertString += buyInfo.getAddTime() + "')";

			/* 增加对应商品的库存的sql */
			String updateString = "update [goodStockInfo] set goodCount = goodCount + "
					+ buyInfo.getNumber()
					+ " where goodNo='"
					+ buyInfo.getGoodNo()
					+ "'";

			String sqlStrings[] = new String[] { insertString, updateString };
			boolean result = db.excuteSqlStrings(sqlStrings);
			if (!result) {
				this.errMessage = "登记商品进货信息时发生了错误!";
				db.all_close();
				return false;
			}
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}
		return true;
	}
	
	/*根据查询条件执行进货信息的查询*/
	public ArrayList QueryBuyInfo() {
		this.PrepareQuery();	/*首先根据查询条件计算总的记录数,总的页数,总的价格*/
		ArrayList<BuyInfo> buyInfoList = new ArrayList<BuyInfo>();
		String sqlString = "select * from [buyInfoView] where 1=1";
		if(!goodNo.equals(""))
			sqlString += " and goodNo like '%" +goodNo + "%'";
		if(!goodName.equals(""))
			sqlString += " and goodName like '%" + goodName + "%'";
		if(0 != goodClassId)
			sqlString += " and goodClassId=" + goodClassId;
		if(!startDate.equals(""))
			sqlString += " and buyDate>='" + startDate + "'";
		if(!endDate.equals(""))
			sqlString += " and buyDate<='" + endDate + "'";
		/*调用数据层进行查询*/
		DB db = new DB();
		try {
			ResultSet rs = db.executeQuery(sqlString);
			if(this.currentPage < 1) this.currentPage = 1;
			if(this.currentPage > this.totalPage) this.currentPage = this.totalPage;
			/*计算要移动多少记录数才可以到达要显示的页面*/
			int moveRecordCount = this.pageSize * (this.currentPage - 1);
			for(int i=0;i<moveRecordCount;i++) rs.next();
			/*移动rs记录指针到达目标页后就对目标页的每条记录进行处理*/
			for(int i=0;i<this.pageSize;i++) {
				if(rs.next()) {
					BuyInfo buyInfo = new BuyInfo();
					buyInfo.setBuyId(rs.getInt("buyId"));
					buyInfo.setGoodNo(rs.getString("goodNo"));
					buyInfo.setSupplierName(rs.getString("supplierName"));
					buyInfo.setPrice(rs.getFloat("price"));
					buyInfo.setNumber(rs.getInt("number"));
					buyInfo.setTotalPrice(rs.getFloat("totalPrice"));
					buyInfo.setBuyDate(rs.getDate("buyDate"));
					buyInfo.setAddTime(rs.getTimestamp("addTime"));
					buyInfoList.add(buyInfo);
				} else {
					break;
				}
			}
			db.all_close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return buyInfoList;
	}

	private void PrepareQuery() {
		String sqlString = "select count(*) as recordCount,sum(totalPrice) as totalPrice from [buyInfoView] where 1=1";
		if(!goodNo.equals(""))
			sqlString += " and goodNo like '%" +goodNo + "%'";
		if(!goodName.equals(""))
			sqlString += " and goodName like '%" + goodName + "%'";
		if(0 != goodClassId)
			sqlString += " and goodClassId=" + goodClassId;
		if(!startDate.equals(""))
			sqlString += " and buyDate>='" + startDate + "'";
		if(!endDate.equals(""))
			sqlString += " and buyDate<='" + endDate + "'";
		DB db = new DB();
		try {
			/*得到符合条件的总的记录数*/
			ResultSet rs = db.executeQuery(sqlString);
			if(rs.next()) {
				recordCount = rs.getInt("recordCount");
				totalPrice = rs.getFloat("totalPrice");
			}
			
			db.all_close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		/*根据总的记录数和每页显示的记录条数计算总的页数*/
		this.totalPage = (this.recordCount + pageSize - 1) / this.pageSize;
		
	}

	public int getPageSize() {
		return pageSize;
	}

	public String getGoodName() {
		return goodName;
	}

	public void setGoodName(String goodName) {
		this.goodName = goodName;
	}
}

随着计算机和网络的不断革新,世界已经进入了前所未有的电子时代。作为实用性强、应用范围广泛的会员管理系统也正在被越来越多的各类企业用于消费管理领域。然而,那些针对性强、企业理念清晰的大型超市也正发展迅速,这些大型超市应该具备一套实用便捷的会员积分管理系统来经营产品,让消费者和超市紧密联系起来。如今现有的会员管理系统已经不能充分满足超市用户的需求,用户需要更好的积分管理体系来体验丰富的管理方案,因此需要设计开发在效率、功能和技术上都有所提高的会员积分管理系统。 本文从超市会员管理的实质入手,从本质区别超市会员管理与其他商业消费的会员管理的根本区别,针对专一积分管理提出看法,希望让系统更适用于商业超市的发展。让积分制度实施在一个合适的领域内,并不是所谓的通用格式,而是一个适合超市的专属模式。因此设计开发一种适合超市使用的会员积分管理系统可以实效得解决问题,能够让超市的会员真实的感受到会员积分带来的好处。 本系统是专门设计适用于超市的会员积分管理系统。整体采用B/S架构开发,通过对系统深入细致的分析,以及对业务背景和需求的了解,结合流行成熟的Web开发技术J2EE,设计搭建双管理权限。系统的总体技术框架为JSP+Servlet+JavaBean。前台浏览器浏览,后台服务器直接连接SQL Server2000数据库。通过各客户端计算机接入会员积分的各项事务,实现积分管理的规范性和安全性。同时作为会员信息管理系统的组成部分,将来可以有很好的扩展性和通用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值