1、企业进销存管理系统学 院专 业班 级学 号姓 名指导教师教师职称年 月 日摘要【摘要】进销存管理系统是一个基于 Internet 的应用系统,它是一个面对当前的进销存管理工作基本还处于手工和半信息自动化处理状态而应运而生的一个基于 Internet 的一个完全信息自动化的系统,整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成进货、销售、库存管理的全过程。企业单位只需具备访问 Internet 的条件即可在系统发布的站点上进行进销存的管理。在图型化的人机界面中完成日常的进销存管理工作.一方面摆脱了时间和空间的限制,另一方面有效的解决的数据共享的问题。经过实际使用证明,本文所设计
2、的企业进销存管理系统可以满足企业进货、销售管理方面的需要。【关键词】库存 销售 企业进销存管理系统吉林省明日科技有限公司监制 2 目录摘要 .10 引言 .11 系统分析 .21.1 需求分析 .21.2 可行性分析 .22 总体设计 .22.1 项目规划 .22.2 系统功能结构图 .33 系统设计 .33.1 设计目标 .33.2 开发及运行环境 .43.3 数据库设计 .44 JavaBean 的编写 .54.1 数据库操作的 JavaBean 的编写 .54.2 中文乱码处理的 JavaBean 的编写 .74.3 客户基本信息的 JavaBean 的编写 .74.4 提交客户信息的
3、JavaBean 的编写 .84.5 查询、分页 JavaBean 的编写(QuestString.java) .94.6 显示系统时间的 JavaBean 的编写 .145 用户登录模块设计 .156 系统首页设计 .167 基础信息管理主要功能模块设计 .187.1 客户信息管理设计 .187.2 客户信息查询设计 .198 库存管理主要功能模块设计 .228.1 商品入库信息设计 .238.2 商品价格调整设计 .26附录 A 参考文献 .附录 B 数据表 .附录 C 文件架构图 .0 引言随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理时代,并因此提高了管理效率和
4、市场竞争力。但目前仍有部分企业还停留在原始计账管理阶段。而随着全球经济信息化的进程和 WTO 的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操
5、作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。吉林省明日科技有限公司监制 2 1 系统分析1.1 需求分析通过调查研究,要求系统满足以下功能: 由于操作人员的计算机知识水平有限,因此要求系统具有良好的人机界面。 如果系统的使用对象较多,则要求有较好的权限管理。 方便的数据查询功能,并支持多条件查询。 在各种单据中根据输入的基础数据自动计算金额,尽量减少人工干预。 对客户或供应商的往来账目进行有效管理,绝不存在假账、漏账、差账等情况。 通过计算机,能够直接“透视”仓库存储情况。 对某
6、一时间段内的某种商品的销售情况按数量或金额进行升序或降序排行。 图表分析年销售额。1.2 可行性分析通过计算机网络系统对企业进行全面的管理,满足了企业的现代化管理的要求。 经济性当前许多中小型企业都使用人工管理方式(即纸和笔)来管理企业的进销存,这样的管理方式既困难又浪费时间和成本,并且容易出现漏账、差账的情况,因此中小企业应该向大型企业那样采用先进的管理方式,提高企业效率、降低企业运营成本。 技术性企业进销存管理系统从中小企业的实际出发,可有效地管理企业的进销存情况,并降低企业运营成本、及时调整营销策略、提高库房的利用率。2 总体设计2.1 项目规划企业进销存管理系统是一个典型的数据库开发应
7、用程序,由基础信息管理、库存管理、商品销售、查询统计、往来管理、系统设置 6 部分组成。 基础信息管理该模块主要是对企业的客户信息、商品信息、供应商信息进行有效管理,并可实现按不同条件对这些数据进行查询。 库存管理该模块主要是对商品的入库及入库退货信息进行有效管理,对商品的价格进行调整,同时可按不同条件查询库存商品。 商品销售该模块主要是对商品的销售及销售退货信息进行有效管理。 查询统计该模块主要实现按不同条件查询商品的入库信息及销售信息,并可对某一时间段内某种商品的销售情况按数量或金额进行升序或降序排行,同时可对某一年度的销售额进行图表分析。 3 往来管理该模块主要实现对商品的入库结账、入库
8、退货结账、销售结账、销售退货结账信息进行有效管理,同时可实现销售结账信息及入库结账信息的查询操作。 系统设置访模块主要实现对操作员及操作员密码进行有效管理。2.2 系统功能结构图企业进销存管理系统的功能结构如图 1 所示。图 1 系统功能结构图3 系统设计3.1 设计目标本系统针对中小型企业进销存管理现状,通过网络对企业的进销存进行有效管理。本系统主要实现如下目标: 系统采用人机对话方式,界面美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。 实现企业内一些基础信息的设置及查询。 商品的入库、入库退货、销售、销售退货流程清晰。 数据计算自动完成,提高工作效率。 与供应商和客户之间的账
9、目清晰。 以图表形式对年销售额进行分析。 实现多条件查询。 可方便快捷地查询库存信息,并可对商品价格进行调整。 对某一时间段内的某种商品按照销售数量或销售金额进行销售升序排行或降序排行。吉林省明日科技有限公司监制 4 操作员可以随时修改自己的口令。 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。 系统最大限度地实现了易维护性和易操作性。 系统运行稳定、安全可靠。3.2 开发及运行环境硬件平台: CPU:P41.8GHz。 内存:256MB 以上。软件平台: 操作系统:Windows 2000。 数据库:SQL Server 2000 。 开发工具包:JDK Version1.
10、4.2。 JSP 服务器:Tomcat。 浏览器:IE5.0,推荐使用 IE6.0。 分辨率:最佳效果 1024768 像素。3.3 数据库设计本系统采用 SQL Server 2000 数据库,系统数据库名称为 db_shopping。数据库 db_shopping中包含 17 张表。关于数据库中的数据表请参见附录 B。4 JavaBean 的编写根据系统的需求编写需要的 JavaBean。下面将给出企业进销存管理系统中所需要的JavaBean 的编写过程。4.1 数据库操作的 JavaBean 的编写数据库连接的 JavaBean 的编写代码如下:package com.mingri.db
11、conn;import java.sql.*;import javax.naming.*;import javax.sql.DataSource;public class DBConnpublic static synchronized Connection getConnection() throws ExceptiontryContext initCtx=new javax.naming.InitialContext(); /获得JNDI 初始上下文对象/在JNDI命名空间java:comp/env段里获得上下文对象Context envCtx=(Context)initCtx.looku
12、p(“java:comp/env“); DataSource ds=(DataSource)envCtx.lookup(“jdbc/mingri“); /通过JNDI名获得数据源对象return ds.getConnection(); 5 catch(SQLException e)throw e;catch(NamingException e)throw e;数据库操作的 JavaBean 的编写代码如下:package com.mingri.dbconn;import java.sql.*;import com.mingri.dbconn.DBConn;public class DBResu
13、ltprivate Connection con;public DBResult()this.con=DBConn.getConnection();/* 用于获得执行SQL语句的ResultSet对象*/public ResultSet getResult(String sql)tryStatement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(sql);return rs;catch(Exception e)return null;/* 用于执行SQL语句没有返回值*/public void doExecute(Str
14、ing sql)tryStatement stmt=con.createStatement();stmt.executeQuery(sql);catch(Exception e)/*吉林省明日科技有限公司监制 6 * 用于获得执行SQL语句的PreparedStatement(预处理)对象*/public PreparedStatement getPreparedStatement(String sql)tryPreparedStatement pstmt=con.prepareStatement(sql);return pstmt;catch(Exception e)return null;
15、/* 关闭连接*/public void closeCon()trythis.con.close();catch(Exception e)e.printStackTrace(); 4.2 中文乱码处理的 JavaBean 的编写在 JSP 开发中,经常出现乱码问题,我们可以指定编码方式,以消除乱码。package com.mingri.chinese;import java.io.*;public class ToChinesepublic String trans(String chi)String result=null;byte temp;trytemp=chi.getBytes(“iso-8859-1“);result=new String(temp);catch(UnsupportedEncodingException e)System.out.println(e.toString();return result;