ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:191.26KB ,
资源ID:17617308      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17617308.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《企业进销存管理系统》论文文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《企业进销存管理系统》论文文档格式.docx

1、4.6 显示系统时间的JavaBean的编写 145 用户登录模块设计 156 系统首页设计 167 基础信息管理主要功能模块设计 187.1 客户信息管理设计 187.2 客户信息查询设计 198 库存管理主要功能模块设计 228.1 商品入库信息设计 238.2 商品价格调整设计 26附录A 参考文献 附录B 数据表 附录C 文件架构图 0 引言随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理时代,并因此提高了管理效率和市场竞争力。但目前仍有部分企业还停留在原始计账管理阶段。而随着全球经济信息化的进程和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会

2、形势和激烈的市场竞争下,愈来愈多的企业管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理

3、模式。1 系统分析1.1 需求分析通过调查研究,要求系统满足以下功能: 由于操作人员的计算机知识水平有限,因此要求系统具有良好的人机界面。 如果系统的使用对象较多,则要求有较好的权限管理。 方便的数据查询功能,并支持多条件查询。 在各种单据中根据输入的基础数据自动计算金额,尽量减少人工干预。 对客户或供应商的往来账目进行有效管理,绝不存在假账、漏账、差账等情况。 通过计算机,能够直接“透视”仓库存储情况。 对某一时间段内的某种商品的销售情况按数量或金额进行升序或降序排行。 图表分析年销售额。1.2 可行性分析通过计算机网络系统对企业进行全面的管理,满足了企业的现代化管理的要求。 经济性当前许多

4、中小型企业都使用人工管理方式(即纸和笔)来管理企业的进销存,这样的管理方式既困难又浪费时间和成本,并且容易出现漏账、差账的情况,因此中小企业应该向大型企业那样采用先进的管理方式,提高企业效率、降低企业运营成本。 技术性企业进销存管理系统从中小企业的实际出发,可有效地管理企业的进销存情况,并降低企业运营成本、及时调整营销策略、提高库房的利用率。2 总体设计2.1 项目规划企业进销存管理系统是一个典型的数据库开发应用程序,由基础信息管理、库存管理、商品销售、查询统计、往来管理、系统设置6部分组成。 基础信息管理该模块主要是对企业的客户信息、商品信息、供应商信息进行有效管理,并可实现按不同条件对这些

5、数据进行查询。 库存管理该模块主要是对商品的入库及入库退货信息进行有效管理,对商品的价格进行调整,同时可按不同条件查询库存商品。 商品销售该模块主要是对商品的销售及销售退货信息进行有效管理。 查询统计该模块主要实现按不同条件查询商品的入库信息及销售信息,并可对某一时间段内某种商品的销售情况按数量或金额进行升序或降序排行,同时可对某一年度的销售额进行图表分析。 往来管理该模块主要实现对商品的入库结账、入库退货结账、销售结账、销售退货结账信息进行有效管理,同时可实现销售结账信息及入库结账信息的查询操作。 系统设置访模块主要实现对操作员及操作员密码进行有效管理。2.2 系统功能结构图企业进销存管理系

6、统的功能结构如图1所示。图1 系统功能结构图3 系统设计3.1 设计目标本系统针对中小型企业进销存管理现状,通过网络对企业的进销存进行有效管理。本系统主要实现如下目标: 系统采用人机对话方式,界面美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。 实现企业内一些基础信息的设置及查询。 商品的入库、入库退货、销售、销售退货流程清晰。 数据计算自动完成,提高工作效率。 与供应商和客户之间的账目清晰。 以图表形式对年销售额进行分析。 实现多条件查询。 可方便快捷地查询库存信息,并可对商品价格进行调整。 对某一时间段内的某种商品按照销售数量或销售金额进行销售升序排行或降序排行。 操作员可以随

7、时修改自己的口令。 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。 系统最大限度地实现了易维护性和易操作性。 系统运行稳定、安全可靠。3.2 开发及运行环境硬件平台: CPU:P41.8GHz。 内存:256MB以上。软件平台: 操作系统:Windows 2000。 数据库:SQL Server 2000。 开发工具包:JDK Version1.4.2。 JSP服务器:Tomcat。 浏览器:IE5.0,推荐使用IE6.0。 分辨率:最佳效果1024768像素。3.3 数据库设计本系统采用SQL Server 2000数据库,系统数据库名称为db_shopping。数据库db

8、_shopping中包含17张表。关于数据库中的数据表请参见附录B。4 JavaBean的编写根据系统的需求编写需要的JavaBean。下面将给出企业进销存管理系统中所需要的JavaBean的编写过程。4.1 数据库操作的JavaBean的编写数据库连接的JavaBean的编写代码如下:package com.mingri.dbconn;import java.sql.*;import javax.naming.*;import javax.sql.DataSource;public class DBConn public static synchronized Connection getC

9、onnection() throws Exception try Context initCtx=new javax.naming.InitialContext(); /获得JNDI初始上下文对象/在JNDI命名空间java:comp/env段里获得上下文对象 Context envCtx=(Context)initCtx.lookup(java:comp/env); DataSource ds=(DataSource)envCtx.lookup(jdbc/mingri /通过JNDI名获得数据源对象 return ds.getConnection(); catch(SQLException

10、e) throw e; catch(NamingException e)数据库操作的JavaBean的编写代码如下:import com.mingri.dbconn.DBConn;public class DBResult private Connection con; public DBResult() this.con=DBConn.getConnection(); /* * 用于获得执行SQL语句的ResultSet对象 */ public ResultSet getResult(String sql) Statement stmt=con.createStatement(); Resu

11、ltSet rs=stmt.executeQuery(sql); return rs; catch(Exception e) return null; * 用于执行SQL语句没有返回值 public void doExecute(String sql) stmt.executeQuery(sql); catch(Exception e) * 用于获得执行SQL语句的PreparedStatement(预处理)对象 public PreparedStatement getPreparedStatement(String sql) PreparedStatement pstmt=con.prepa

12、reStatement(sql); return pstmt; * 关闭连接 public void closeCon() this.con.close(); catch(Exception e) e.printStackTrace(); 4.2 中文乱码处理的JavaBean的编写在JSP开发中,经常出现乱码问题,我们可以指定编码方式,以消除乱码。package com.mingri.chinese;import java.io.*;public class ToChinese public String trans(String chi) String result=null; byte

13、temp; temp=chi.getBytes(iso-8859-1 result=new String(temp); catch(UnsupportedEncodingException e) System.out.println(e.toString(); return result;4.3 客户基本信息的JavaBean的编写这段代码用来封装客户的基本信息,并对每个属性提供setXXX()和getXXX()方法,来对其进行操作。package com.mingri.info;public class KhinfoBean private String khname; /客户全称 priv

14、ate String khjc; /客户简称 private String address; /地址 private String postcode; /邮政编码 private String tel; /电话 private String fax; /传真 private String lxr; /联系人 private String lxrtel; /联系人电话 private String email; /电子邮箱 private String khyh; /开户银行 private String yhzh; /银行账号 public String getKhname() return

15、khname; public void setKhname(String khname) this.khname = khname; /省略部分代码4.4 提交客户信息的JavaBean的编写在填写完客户基本信息后,就应该向数据库中执行插入操作。这个类中有两个方法setKhinfo()和Regist()。其中setKhinfo(KhinfoBean khinfo)方法是用来设置该类中的属性khinfo,其值为参数传递来的KhinfoBean的对象。然后执行预处理语句,并通过预处理对象pstmt的setString()方法来设置准备要插入数据库的内容,最后通过execute()来执行插入的操作。

16、具体代码如下:import com.mingri.dbconn.DBResult;public class KhRegist private KhinfoBean khinfo; DBResult rst=new DBResult(); public void setKhinfo(KhinfoBean khinfo) this.khinfo=khinfo; public void regist() throws Exception String reg=insert into tb_customer values(?,?); PreparedStatement pstmt=rst.getPre

17、paredStatement(reg); /创建一个预处理语句,然后设置他们的参数 pstmt.setString(1,khinfo.getKhname(); pstmt.setString(2,khinfo.getKhjc(); pstmt.setString(3,khinfo.getAddress(); pstmt.setString(4,khinfo.getPostcode(); pstmt.setString(5,khinfo.getTel(); pstmt.setString(6,khinfo.getFax(); pstmt.setString(7,khinfo.getLxr();

18、pstmt.setString(8,khinfo.getLxrtel(); pstmt.setString(9,khinfo.getEmail(); pstmt.setString(10,khinfo.getKhyh(); pstmt.setString(11,khinfo.getYhzh(); /执行更新操作 pstmt.executeUpdate(); catch(Exception e)4.5 查询、分页JavaBean的编写(QuestString.java)该系统中主要的方法分为两部分:一部分是根据用户提交的不同请求调用不用的方法来获取SQL语句;另一部分是用于分页显示。用于完成分页

19、显示的方法有: void setQuerySql(String httpfile,String pages,String strCount):通过参数传递来设置Bean中的属性。 void querySql(String countSql):执行SQL语句,获得分页显示时的各个属性。 String pageFooter():用来动态的给出一个表单该表单用来进行分页和统计页面间的跳转。这部分代码是本系统中查询部分的骨架,所有涉及到查询操作的代码部分全都调用了该Bean 中相应的方法,并完成了分页显示。代码如下:public class QuestString private int curPag

20、e; /当前页数 private int maxPage; /最大页数 private int maxRowCount; /总记录数(即从数据库中查出的所有记录) private int pageSize=2; /每页要显示的记录数 private DBResult db; /记录集对象 private String httpFile; /当前地址栏的文件,即具体的JSP文件 private String cif; /选择的查询字段 private String ccif; /选择的查询运算符 private String qvalue; /查询关键字 private String count

21、Sql=null; /用来存储select count (*) 语句 private String topSql=null; /用来存储 select top 2语句 private String nowPage=null; /初始化当前页curPage变量,即获取当前页的具体页号 private String str_parameter; /在做翻页时,传递除pages以外的其他参数 private String andor; /查询的与/或条件 private String sdate; /查询起始时间,即从什么日期开始查询 private String edate; /查询结束时间,即到

22、什么日期结束 private String orderby; /排序条件,即按什么排序 private String paixu; /排序方法,即升序或降序 public QuestString() /构造方法,用来设置db为一个DBResult()对象 db=new DBResult(); public int getCurPage() return curPage; public void setCurPage(int curPage) this.curPage = curPage; /省略了对Bean中其他属性设置的部分代码 /* * 通过参数传递来设置Bean中的属性 public v

23、oid setQuerySql(String httpfile,String pages,String strCount) this.nowPage=pages; /将表单提交过来的参数pages(第几页)的值传递给变量nowPage保存 this.httpFile=httpfile; /用来动态设置处理表单请求的JSP文件 this.countSql=strCount; /用来设置执行select count(*)的SQL语句 querySql(countSql); /调用querySql方法,并将参数countSql传递到该方法中 * 执行SQL语句,获得分页显示时的各个属性 public

24、 void querySql(String countSql) throws SQLException /在setQuerySql方法中已经设置了nowPage的值,其值就是pages if(this.nowPage=null) /如果nowPage的值为空,也就是传递pages的值为空 this.curPage=1; /那么就将当前页的值设为1; else this.curPage=Integer.parseInt(this.nowPage); if(this.curPagethis.maxPage) /如果当前页大于总页数,则当前页等于总页数 this.curPage=this.maxPage; /那么当前页就是最大页 rsCount.close(); /关闭总记录数的结果集 * 一个字符串,用来动态的给出一个表单 * 该表单用来进行分页和统计页面间的跳转 public String pageFooter() /创建一个表单 String str = int prev = this.curPage- 1; /向前翻页,即当前页减1 int next = this.curPage +1; /向后翻页,即当前页加1 str = str + font style=font-size: 10pt总计font color=red

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1