收藏 分销(赏)

基于JAVA企业进销存管理系统毕业设计文件模板.doc

上传人:a199****6536 文档编号:2458296 上传时间:2024-05-30 格式:DOC 页数:54 大小:2MB
下载 相关 举报
基于JAVA企业进销存管理系统毕业设计文件模板.doc_第1页
第1页 / 共54页
基于JAVA企业进销存管理系统毕业设计文件模板.doc_第2页
第2页 / 共54页
基于JAVA企业进销存管理系统毕业设计文件模板.doc_第3页
第3页 / 共54页
基于JAVA企业进销存管理系统毕业设计文件模板.doc_第4页
第4页 / 共54页
基于JAVA企业进销存管理系统毕业设计文件模板.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、企业进销存管理系统学 院专 业班 级学 号姓 名指导老师老师职称年月日摘要【摘要】进销存管理系统是一个基于Internet应用系统,它是一个面对目前进销存管理工作基础还处于手工和半信息自动化处理状态而应运而生一个基于Internet一个完全信息自动化系统,整个系统从符合操作简便、界面友好、灵活、实用、安全要求出发,完成进货、销售、库存管理全过程。企业单位只需含有访问Internet条件即可在系统公布站点上进行进销存管理。在图型化人机界面中完成日常进销存管理工作.首先摆脱了时间和空间限制,其次有效处理数据共享问题。经过实际使用证实,本文所设计企业进销存管理系统能够满足企业进货、销售管理方面需要。

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 提交用户信息JavaBean编写84.5 查询、分页JavaBean编写(QuestString.java)94.6 显示系统时间JavaBean编写145 用户登录模块设计156 系统首页设计16

3、7 基础信息管理关键功效模块设计187.1 用户信息管理设计187.2 用户信息查询设计198 库存管理关键功效模块设计228.1 商品入库信息设计238.2 商品价格调整设计26附录A 参考文件附录B 数据表附录C 文件架构图0 引言伴随中国电子商务、互联网业务迅猛发展,中国很多企业已跨入电脑网络管理时代,并所以提升了管理效率和市场竞争力。但现在仍有部分企业还停留在原始计账管理阶段。而伴随全球经济信息化进程和WTO成功实现,企业面临着前所未有机遇和挑战,在如此激变社会形势和猛烈市场竞争下,愈来愈多企业管理者意识到效率管理和科学管理关键性,和增强市场竞争力迫切性,所以建立科学、规范、高效管理制

4、度和秉承富有竞争力经营理念是每一个企业管理者渴望,企业采取电脑管理进货、库存、销售等很多步骤也已成为趋势及肯定。在进货、库存、销售步骤中,因为商品种类繁多、业务量大、库存管理复杂,使用手工操作工作量很大,在操作过程中也很轻易出现多种错误。而采取计算机管理则能够大大提升日常工作效率,不仅将原来由手工操作进货、出货及销售这一整套步骤用计算机进行全程管理,而且消除了手工操作中可能存在不确定原因,达成进销存管理步骤清楚,从而能够比较根当地落实经营者管理模式。1 系统分析1.1 需求分析经过调查研究,要求系统满足以下功效:q 因为操作人员计算机知识水平有限,所以要求系统含有良好人机界面。q 假如系统使用

5、对象较多,则要求有很好权限管理。q 方便数据查询功效,并支持多条件查询。q 在多种单据中依据输入基础数据自动计算金额,尽可能降低人工干预。q 对用户或供给商往来账目进行有效管理,绝不存在假账、漏账、差账等情况。q 经过计算机,能够直接“透视”仓库存放情况。q 对某一时间段内某种商品销售情况按数量或金额进行升序或降序排行。q 图表分析年销售额。1.2 可行性分析经过计算机网络系统对企业进行全方面管理,满足了企业现代化管理要求。q 经济性目前很多中小型企业全部使用人工管理方法(即纸和笔)来管理企业进销存,这么管理方法既困难又浪费时间和成本,而且轻易出现漏账、差账情况,所以中小企业应该向大型企业那样

6、采取优异管理方法,提升企业效率、降低企业运行成本。q 技术性企业进销存管理系统从中小企业实际出发,可有效地管理企业进销存情况,并降低企业运行成本、立即调整营销策略、提升库房利用率。2 总体设计2.1 项目计划企业进销存管理系统是一个经典数据库开发应用程序,由基础信息管理、库存管理、商品销售、查询统计、往来管理、系统设置6部分组成。q 基础信息管理该模块关键是对企业用户信息、商品信息、供给商信息进行有效管理,并可实现按不一样条件对这些数据进行查询。q 库存管理该模块关键是对商品入库及入库退货信息进行有效管理,对商品价格进行调整,同时可按不一样条件查询库存商品。q 商品销售该模块关键是对商品销售及

7、销售退货信息进行有效管理。q 查询统计该模块关键实现按不一样条件查询商品入库信息及销售信息,并可对某一时间段内某种商品销售情况按数量或金额进行升序或降序排行,同时可对某十二个月度销售额进行图表分析。q 往来管理该模块关键实现对商品入库结账、入库退货结账、销售结账、销售退货结账信息进行有效管理,同时可实现销售结账信息及入库结账信息查询操作。q 系统设置访模块关键实现对操作员及操作员密码进行有效管理。2.2 系统功效结构图企业进销存管理系统功效结构图1所表示。图1 系统功效结构图3 系统设计3.1 设计目标本系统针对中小型企业进销存管理现实状况,经过网络对企业进销存进行有效管理。本系统关键实现以下

8、目标:q 系统采取人机对话方法,界面美观友好,信息查询灵活、方便、快捷、正确,数据存放安全可靠。q 实现企业内部分基础信息设置及查询。q 商品入库、入库退货、销售、销售退货步骤清楚。q 数据计算自动完成,提升工作效率。q 和供给商和用户之间账目清楚。q 以图表形式对年销售额进行分析。q 实现多条件查询。q 可方便快捷地查询库存信息,并可对商品价格进行调整。q 对某一时间段内某种商品根据销售数量或销售金额进行销售升序排行或降序排行。q 操作员能够随时修改自己口令。q 对用户输入数据,系统进行严格数据检验,尽可能排除人为错误。q 系统最大程度地实现了易维护性和易操作性。q 系统运行稳定、安全可靠。

9、3.2 开发及运行环境硬件平台:q CPU:P41.8GHz。q 内存:256MB以上。软件平台:q 操作系统:Windows 。q 数据库:SQL Server 。q 开发工具包:JDK Version1.4.2。q JSP服务器:Tomcat。q 浏览器:IE5.0,推荐使用IE6.0。q 分辨率:最好效果1024768像素。3.3 数据库设计本系统采取SQL Server 数据库,系统数据库名称为db_shopping。数据库db_shopping中包含17张表。相关数据库中数据表请参见附录B。4 JavaBean编写依据系统需求编写需要JavaBean。下面将给出企业进销存管理系统中所

10、需要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 getConnection() throws Exception try Context initCtx=new javax.naming.InitialContext(); /取得JND

11、I初始上下文对象/在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 e) throw e; catch(NamingException e) throw e; 数据库操作JavaBean编写代码以下:package com.mingri.dbc

12、onn;import java.sql.*;import com.mingri.dbconn.DBConn;public class DBResult private Connection con; public DBResult() this.con=DBConn.getConnection(); /* * 用于取得实施SQL语句ResultSet对象 */ public ResultSet getResult(String sql) try Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(sql);

13、return rs; catch(Exception e) return null; /* * 用于实施SQL语句没有返回值 */ public void doExecute(String sql) try Statement stmt=con.createStatement(); stmt.executeQuery(sql); catch(Exception e) /* * 用于取得实施SQL语句PreparedStatement(预处理)对象 */ public PreparedStatement getPreparedStatement(String sql) try PreparedS

14、tatement pstmt=con.prepareStatement(sql); return pstmt; catch(Exception e) return null; /* * 关闭连接 */ public void closeCon() try this.con.close(); catch(Exception e) e.printStackTrace(); 4.2 汉字乱码处理JavaBean编写在JSP开发中,常常出现乱码问题,我们能够指定编码方法,以消除乱码。package com.mingri.chinese;import java.io.*;public class ToC

15、hinese public String trans(String chi) String result=null; byte temp; try 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.m

16、ingri.info;public class KhinfoBean private String khname; /用户全称 private 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

17、; /开户银行 private String yhzh; /银行账号 public String getKhname() return khname; public void setKhname(String khname) this.khname = khname; /省略部分代码4.4 提交用户信息JavaBean编写在填写完用户基础信息后,就应该向数据库中实施插入操作。这个类中有两个方法setKhinfo()和Regist()。其中setKhinfo(KhinfoBean khinfo)方法是用来设置该类中属性khinfo,其值为参数传输来KhinfoBean对象。然后实施预处理语句,并

18、经过预处理对象pstmtsetString()方法来设置准备要插入数据库内容,最终经过execute()来实施插入操作。具体代码以下:package com.mingri.info;import com.mingri.dbconn.DBResult;import java.sql.*;public class KhRegist private KhinfoBean khinfo; DBResult rst=new DBResult(); public void setKhinfo(KhinfoBean khinfo) this.khinfo=khinfo; public void regist

19、() throws Exception String reg=insert into tb_customer values(?,?,?,?,?,?,?,?,?,?,?); try PreparedStatement pstmt=rst.getPreparedStatement(reg); /创建一个预处理语句,然后设置她们参数 pstmt.setString(1,khinfo.getKhname(); pstmt.setString(2,khinfo.getKhjc(); pstmt.setString(3,khinfo.getAddress(); pstmt.setString(4,khin

20、fo.getPostcode(); pstmt.setString(5,khinfo.getTel(); pstmt.setString(6,khinfo.getFax(); pstmt.setString(7,khinfo.getLxr(); pstmt.setString(8,khinfo.getLxrtel(); pstmt.setString(9,khinfo.getEmail(); pstmt.setString(10,khinfo.getKhyh(); pstmt.setString(11,khinfo.getYhzh(); /实施更新操作 pstmt.executeUpdate(

21、); catch(Exception e) e.printStackTrace(); throw e; 4.5 查询、分页JavaBean编写(QuestString.java)该系统中关键方法分为两部分:一部分是依据用户提交不一样请求调用不用方法来获取SQL语句;另一部分是用于分页显示。用于完成份页显示方法有:q void setQuerySql(String httpfile,String pages,String strCount):经过参数传输来设置Bean中属性。q void querySql(String countSql):实施SQL语句,取得分页显示时各个属性。q String

22、 pageFooter():用来动态给出一个表单该表单用来进行分页和统计页面间跳转。这部分代码是本系统中查询部分骨架,全部包含到查询操作代码部分全全部调用了该Bean 中对应方法,并完成了分页显示。代码以下:package com.mingri.info;import com.mingri.dbconn.DBResult;import java.sql.*;import java.io.*;public class QuestString private int curPage; /目前页数 private int maxPage; /最大页数 private int maxRowCount;

23、 /总统计数(即从数据库中查出全部统计) private int pageSize=2; /每页要显示统计数 private DBResult db; /统计集对象 private String httpFile; /目前地址栏文件,即具体JSP文件 private String cif; /选择查询字段 private String ccif; /选择查询运算符 private String qvalue; /查询关键字 private String countSql=null; /用来存放select count (*) 语句 private String topSql=null; /用来

24、存放 select top 2语句 private String nowPage=null; /初始化目前页curPage变量,即获取目前页具体页号 private String str_parameter; /在做翻页时,传输除pages以外其它参数 private String andor; /查询和/或条件 private String sdate; /查询起始时间,即从什么日期开始查询 private String edate; /查询结束时间,即到什么日期结束 private String orderby; /排序条件,即按什么排序 private String paixu; /排序

25、方法,即升序或降序 public QuestString() /结构方法,用来设置db为一个DBResult()对象 db=new DBResult(); public int getCurPage() return curPage; public void setCurPage(int curPage) this.curPage = curPage; /省略了对Bean中其它属性设置部分代码 /* * 经过参数传输来设置Bean中属性 */ public void setQuerySql(String httpfile,String pages,String strCount) this.n

26、owPage=pages; /将表单提交过来参数pages(第几页)值传输给变量nowPage保留 this.httpFile=httpfile; /用来动态设置处理表单请求JSP文件 this.countSql=strCount; /用来设置实施select count(*)SQL语句 try querySql(countSql); /调用querySql方法,并将参数countSql传输到该方法中 catch(Exception e) e.printStackTrace(); /* * 实施SQL语句,取得分页显示时各个属性 */ public void querySql(String c

27、ountSql) 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.clo

28、se(); /关闭总统计数结果集 /* * 一个字符串,用来动态给出一个表单 * 该表单用来进行分页和统计页面间跳转 */ public String pageFooter() /创建一个表单 String str = ; int prev = this.curPage- 1; /向前翻页,即目前页减1 int next = this.curPage +1; /向后翻页,即目前页加1 str = str + 总计 + this.getMaxRowCount() + 条统计, + 【共 + this.getMaxPage()+ 页】; str = str + 【 + this.pageSize

29、+ 条/页】 目前第 + this.getCurPage() + 页   ; if(this.curPage 1) str = str + 首页 ; else str = str + 首页 ; if(this.curPage 1) str = str + 上一页 ; else str = str + 上一页 ; if(this.curPage this.maxPage) str = str + 下一页 ; else str = str + 下一页 ; if(this.maxPage 1 & this.curPage!= this.maxPage) str = str + 尾页; el

30、se str = str + 尾页; /在页面跳转间设置隐藏表单,来保留不一样请求 str = str + 转到页+ ; return str; /* * 依据不一样条件来获取不一样查询前N条SQL语句 */ public String getString(String table) if(ccif.equals(=) String strSql=select top +this.pageSize*this.curPage+ * from +table+ where+ +cif+=+qvalue+; return strSql; else if(ccif.equals(LIKE) String

31、 strSql=select top +this.pageSize*this.curPage+ * from +table+ where+ +cif+ +like+ +%+qvalue+%; return strSql; else if(ccif.equals(ALL) String strSql=select top +this.pageSize*this.curPage+ * from +table; return strSql; else if(ccif.equals() String strSql=select top +this.pageSize*this.curPage+ * fr

32、om +table+ where +cif+ +qvalue+; return strSql; return null; /* * 依据不一样条件来取得不一样计算统计总数SQL语句 */ public String getCount(String table) if(ccif.equals(=) String strSql=select count(*) from +table+ where+ +cif+=+qvalue+; return strSql; else if(ccif.equals(LIKE) String strSql=select count(*) from +table+ w

33、here+ +cif+ +like+ +%+qvalue+%; return strSql; else if(ccif.equals(ALL) String strSql=select count(*) from +table; return strSql; else if(ccif.equals() String strSql=select count(*) from +table+ where +cif+ +qvalue+; return strSql; return null; /* * 依据不一样条件和不一样起始日期和结束日期来取得不一样计算统计总数SQL语句 */ public St

34、ring getDateCount(String table) if(ccif.equals(=) /在sdate到edate时间段中进行正确查询 String strSql=select count(*) from +table+ where +cif+ = +qvalue+ andor+ xsdate between +sdate+ and +edate+; return strSql; else if(ccif.equals(LIKE) /在sdate到edate时间段中进行模糊查询 String strSql=select count(*) from +table+ where +ci

35、f+ like %+qvalue+%+ andor+ xsdate between +sdate+ and +edate+; return strSql; else if(ccif.equals(ALL) /取出表中全部统计 String strSql=select count(*) from +table; return strSql; return null; /* * 依据不一样条件和不一样起始日期和结束日期来取得不一样查询,前N条SQL语句 */ public String getDateString(String table) if(ccif.equals(=) String strSql=select top +this.pageSize*this.curPage+ * from +table+ where +cif+

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服