某某电脑公司进销存系统.doc

上传人:精*** 文档编号:1163672 上传时间:2024-12-30 格式:DOC 页数:69 大小:2.18MB
下载 相关 举报
某某电脑公司进销存系统.doc_第1页
第1页 / 共69页
某某电脑公司进销存系统.doc_第2页
第2页 / 共69页
某某电脑公司进销存系统.doc_第3页
第3页 / 共69页
某某电脑公司进销存系统.doc_第4页
第4页 / 共69页
某某电脑公司进销存系统.doc_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、题 目:宏远电脑公司进销存系统学 院:信息电子技术学院年 级:专 业:姓 名:学 号:指导教师:毕 业 论 文(设计)用 纸佳木斯大学教务处 第 II 页摘 要随着经济的高速发展,企业的信息化工作也在如火如荼地进行。由于企业规模的不断扩大以及商务往来的日益增多,企业对进销存信息的掌握和使用也越来越多,以前原始的手工操作方式不能适应企业快速发展的需要。在计算机科学技术日益发展和成熟的今天,运用计算机先进的技术性来管理日常工作中的各类客户信息数据,可以极大地提高企业的工作效率。采用Java与SQL2000相结合的方法设计企业进销存系统,经过在实践中的运行验证,系统能够正常稳定地运行,为企业创造了较

2、大的商业机会,保证了企业进销存管理信息化工作的顺利。关键词:Java;SQL2000;进销存系统AbstractAlong with the economical high speed development, the enterprises informatization in work. Due to the expansion of business and business enterprise to the increasing, the master and the use of computer information is also more and more, the ori

3、ginal manual way before cannot meet the needs of the rapid development of enterprise. In computer science and technology development and mature today, using computer advanced technical management in the daily work of the customer information data, can greatly improve the efficiency of enterprises. U

4、SES Java and SQL2000 method of combining the design enterprise Purchase and Sales System for Enterpris , after practice in normal operation, stable operation system for enterprises to create a larger, business opportunities, guarantee the purchase-sell-stock management enterprise informatization wor

5、k smoothly.Key words :Java; SQL2000; Purchase and Sales System目 录摘 要IAbstractII第 1 章绪 论11.1开发背景11.2需求分析21.3可行性分析2第 2 章使用工具介绍42.1SUN公司Java简介42.2Microsoft公司的SQL Server 2000概述42.3Eclipse环境简介5第 3 章总体设计83.1系统目标83.2系统流程图83.3系统组成部分及编码规则93.3.1业务逻辑编码规则93.3.2数据库对象命名规则93.3.3数据库表命名规则103.4系统开发的难点分析11第 4 章数据库设计13

6、4.1数据库分析134.2管理系统的E-R图134.3创建数据库并显示数据表格14第 5 章详细设计165.1主窗体的设计165.1.1创建主窗体165.1.2创建导航面板175.2公共模块的设计及编写185.3基础信息模块设计195.3.1基础信息模块技术分析195.3.2供应商添加实现过程205.3.3供应商修改与删除实现过程215.4进货管理模块设计225.4.1进货单225.4.2进货退货235.4.3进货管理模块技术分析245.4.4进货单实现过程245.5查询统计模块设计255.6库存管理模块设计27第 6 章软件测试30结 论32致 谢33参考文献34附录1 英文参考文献及其译文

7、35附录2 程序源代码43附录3 软件使用说明书64佳木斯大学教务处 第 页第 1 章 绪 论1.1 开发背景加入WTO之后,随着国内经济的高速发展,中小型的商品流通企业越来越多,其所经营的商品种类繁多,难以管理,而进销存管理系统逐渐成为企业经营和管理中的核心环节,也是企业取得效益的关键。宏远电脑公司是一家以商业经营为主的私有企业,为了完善管理制度,增强企业的竞争力,公司决定开发进销存管理系统,以实现商品管理的信息化。现需要委托其他单位开发一个企业进销存管理系统。目前,市场经济不断发展,买方市场业已形成,随之而来是企业间日趋激烈的多元化竞争(例如各产品间的价格战、质量战、时间战等),所以企业要

8、想在激烈的竞争(尤其是价格、及时间之争)中立于不败,就必须降低传统的各种成本,而企业的商品进货、库存、销售等环节是企业(尤其是大、中型企业)成本的重中之重。同时客户的需求变化之快,客户的订单小批量多品种,对交货期、价格、质量都提出更高要求。传统的以产品为中心的观念逐渐被以客户需求为中心所取代。依靠传统的手段(手工管理、传统的计算机管理)对这些环节进行管理,无法使企业的采购、库存、商品销售等环节的信息数据及时沟通、适时共享,造成大量的盲目采购、库存积压、生产配比失衡等现象,不仅降低了效率,更重要的是为企业大大增加了不必要的成本。在市场经济中,销售是企业运作的重要环节。为了更好地推动销售,不少企业

9、建立分公司后实行代理制,通过分公司或代理上把产品推向最终用户。这些分公司或代理商大多分布在全国各地,甚至是在过为,远距离频繁的业务信息交流是这些企业业务活动的主要特点。在传统方式上,公司之间通常采用电传、电报、电话等方式传递订货、发货、到货、压货、换货、退货等信息,总公司的商务部门在接到分公司或代理商穿来的定单和银行汇款单据传真件后,开具产品出库通知,然后再把相关的进、销、存信息手工存档,再对这些信息进行统计分析,才能了解到整个公司的生产、销售和库存情况。进销存管理是商业企业经营管理中的核心环节,也是一个企业能否取得效益的关键。如果能做到合理生产、及时销售、库存量最小、减少积压,那么企业就能取

10、得最佳的效益。1.2 需求分析根据当前的企业一般物资供应管理系统,相应分成几个科室进行物资的计划,订货,核对入库,根据各个部门的需要来发送物资设备,并随时近期进行库存盘点、作台帐,按月、季、年进行统计分析,产生相应报表,以进行有效的生产管理。从根本上说,企业就是一个利用资源(人、财、物、时间),为客户创造价值的组织,ERP就是对这些资源进行计划、调度、控制、衡量、改进的管理技术和信息系统。现今的企业并不只是人力资源、资金和产品的组合,它还应该包括供应、销售、市场营销、客户服务、需求预测,以及其他更多的东西。目前存在的问题是:信息化不足,计算机使用率低,大量的日常工作皆是手工处理,因此工作效率低

11、落,企业内部沟通不良等等问题很难克服,仓库不能及时为采购和生产提供准确的指导性数据。公司希望解决的问题是:解决企业内部统一的物料编码管理,物流管理中的信息流通,库存积压与物料的配套问题,完善质量检验,对生产过程中的质量信息进行全面管理。包括原材料、外购外协件、半成品、成品各道工序的质量控制,并对各种数据进行统计分析。对公司的各种资源与信息进行查询,包括销售、采购、生产、质量、人事、财务等信息数据进行查询、统计与分析,对根据信息作出快速合理的经营决策。通过与宏远电脑公司的沟通和需求分析,要求系统具有以下功能。 系统操作简单,界面友好。 规范、完善的基础信息设置。 支持多人操作,要求有权限分配功能

12、。 为了方便用户,要求系统支持多条件查询。 对销售信息提供销售排行。 支持销售退货和入库退货功能。 批量填写进货单及销售单。 支持库存价格调整功能。 1.3 可行性分析要求:企业进销存管理系统必须提供商品信息、供应商信息和客户信息的基础设置;提供强大的多条件搜索功能和商品的进货、销售和库存管理功能;可以分不同权限、不同用户对该系统进行操作。另外,该系统还必须保证数据的安全性、完整性和准确性。目标:企业进销存管理系统的目标是实现企业的信息化管理,减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提升企业市场竞争力。评价尺度:根据用户的要求,项目主要以企业进货、销售和查询统计功能为主,对于库

13、存、销售和进货的记录信息应该及时、准确地保存,并提供相应的查询和统计。由于库存商品数量太多,不易盘点,传统的盘点方式容易出错,系统中的库存盘点功能要准确地计算出每种商品的损益数量,减少企业不必要的损失。第 2 章 使用工具介绍2.1 SUN公司Java简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java

14、applet。另一方面,Java技术也不断更新Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java分为三个体系JavaSE(Java2 Platform Standard Edition

15、,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版) Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计

16、算及电子商务应用系统提供了有关技术和丰富的类库。2.2 Microsoft公司的SQL Server 2000概述SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000 的特性Microsoft SQL Server 2000

17、 的特性包括:Internet 集成。 SQL Server 2000 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在 Web 应用程序中包含了用户友好的查询和强大的搜索功能。可伸缩性和可用性。 同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行

18、 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。企业级数据库功能。 SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同

19、样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。易于安装、部署和使用。 SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现

20、这些应用程序。2.3 Eclipse环境简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OS

21、Gi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项

22、目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。虽然大多

23、数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,

24、它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个

25、开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产

26、的软件以 CPL发布,第三方组件有各自自身的许可协议。第 3 章 总体设计3.1 系统目标根据需求分析的描述以及与用户的沟通,现制定系统实现目标如下。 界面设计简洁、友好、美观大方。 操作简单、快捷方便。 数据存储安全、可靠。 信息分类清晰、准确。 强大的查询功能,保证数据查询的灵活性。 提供销售排行榜,为管理员提供真实的数据信息。 提供灵活、方便的权限设置功能,使整个系统的管理分工明确。 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。3.2 系统流程图本系统的流程图如图3-1所示。图3-1系统流程图3.3 系统组成部分及编码规则本系统包括基础信息、进货管理、销售管理、库存管

27、理、查询统计、系统管理等6大部分。系统组成结构如图3-2。图3-2系统组成结构3.3.1业务逻辑编码规则遵守程序编码规则所开发的程序,代码清晰、整洁、方便阅读,并可以提高程序的可读性,要做到见其名知其意才能编写出优雅的程序代码。以下从数据库设计和程序编码说明程序开发中的编码规则。3.3.2数据库对象命名规则数据库命名以字母“db”开头(小写),后面加数据库相关英文单词或缩写。下面将举例说明,数据库名称描述进销存管理系统数据库,如表3-1所示表3-1数据库名称 3.3.3数据库表命名规则数据表以字母“tb”开头(小写),后面加数据库相关英文单词或缩写和数据表名,多个单词间如表3-2所示。 表3-

28、2数据库表命名tb_sel_main销售主表,tb_sel_detail 销售明细表(1)字段命名规则字段一律采用英文单词或词组命名。下面将举例说明,如表3-3字段命名所示。 表3-3字段命名规则 ID 流水号,Name 名称,ProductInfo商品信息(2)业务编码规则 (a)供应商编号 供应商的ID 编号是进销存管理系统中供应商的唯一标识,不同的供应商可以通过该编号来区分。该编号是供应商信息表的主键。在本系统中对该编号的编码规则:以字符串“gys”为编号前缀。(b)客户编号和供应商编号类似,客户的ID 编号也是客户的唯一标识,不同的客户将以该编号进行区分。该编号作为客户信息表的主键,有

29、数据的唯一性的约束条件,所以,在客户信息表中不可能有两个相同的客户编号。 (c)商品编号商品编号是商品的唯一标识,它是商品信息表的主键,用于区分不同的商品。即使商品名称、单价、规格等信息相同,其 ID 编号也是不可能相同的,因为主键约束不可以存在相同的 ID 值。商品编号的编码规则和客户编号、供应商编号的编码规则相同,但是前缀使用了“sp”字符串。(d)销售单编号 销售单编号用于区分不同的销售凭据。销售单编号的命名规则:以“XS”字符串为前缀加上销售单号。(e)入库编号入库编号用于区分不同的商品入库信息。入库编号的命名规则:以“RK”字符串为前缀,加上商品的入库日期,再以 3 位数字作后缀。

30、(f)入库退货编号入库退货编号用于区分不同的入库退货信息。入库退货编号的命名规则:以“RT”字符串为前缀。3.4 系统开发的难点分析本系统使用的是 MDI窗体模式开发的程序界面,它使用一个主窗体包含多个子窗体子窗体只能在主窗体规定的范围内移动。这些子窗体由导航面板上的按钮调用,这些按钮需要添加事件监听器,在单击该按钮时,由事件监听器创建并初始化相应的子窗体,然后显示该子窗体。如果为每个按钮创建新的事件监听器对象,那至少需要20个事件监听器类,因为导航面板上定义的按钮总数和子窗体的数量是对应的,而子窗体的数量正好是 20个,所以需要定义相应数量的按钮和事件监听器,这些繁琐的工作会占用大量的程序开

31、发时间,影响工程进度。从不同的按钮监听器所实现的业务逻辑中不难发现,它们所完成的工作基本相同,都是创建并初始化子窗体,然后显示它们。如果它们能够使用同一个事件监听器类就可以实现代码重用,同时也节省了代码工作量,提高程序开发速度。这样的开发思路存在很多优点,但是实现起来并不容易,子窗体的名称、类名都可以获取,但是如何根据指定的类名去创建子窗体对象呢?Java 的反射功能为这个思路提供了可行性。在 java.lang.reflect 包中有 Field 类、Method 类和Constructor 类,这 3 个类分别描述类的字段、方法和构造方法。这里需要的就是类的构造方法,只有调用类的构造方法才

32、能创建该类的实例对象。可以通过 Clas类的 getConstructor()方法获取 Constructor类的实例对象,然后调用该对象的 newInstance()方法创建类的实例对象。第 4 章 数据库设计4.1 数据库分析本系统是一个桌面应用程序,它可以直接在本地计算机运行,而不需要像Web 应用那样部署到指定的服务器中,所以这个进销存管理系统在本地计算机安装了 SQL Server2000 数据服务器,将数据库和应用程序放在同一个计算机中,可以节省开销、提升系统安全性。另外,本系统也可以在网络内的其他计算机中运行,但是这需要将数据库对外开放,会降低数据安全性。4.2 管理系统的E-R

33、图企业进销存管理系统主要实现从进货、库存到销售的一体化信息管理,涉及商品信息、商品的供应商、购买商品的客户等多个实体客户实体E-R图。如图4-1。图4-1客户E-R图进销存管理系统将记录所有的客户信息,在销售、退货等操作时,将直接引用该客户的实体属性。客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系人电话、传真、开户行和账号等属性,供应商实体E-R图。如图4-2。不同的供应商可以为企业提供不同的商品,在商品信息中将引用商品供应商的实体属性。供应商实体包括编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系电话、开户行和 E-mail 属性。图4-2供应商E-R图商

34、品信息是进销存系统系统中的基本信息,系统将维护商品的进货、退货、销售、入库等操作。商品实体包括编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商属性,商品实体E-R图。如图4-3。图4-3商品E-R图4.3 创建数据库并显示数据表格在数据库概念设计中已经分析了本系统中主要的数据应实体对象,通过这些实体可以得出数据表结构的基本模型,最终实施到数据库中,形成完整的数据结构。本系统将使用PowerDesigener工具完成数据库建模,表分别为销售排行查看,入库信息查看,入库信息查询,销售查看信息,商品信息,客户信息,库存信息,供应商信息,使用者管理信息等综合表的信息。

35、模型如下图4-4。图4-4表的数据模型第 5 章 详细设计5.1 主窗体的设计主窗体界面也是该系统的欢迎界面。应用程序的主窗体必须设计层次清晰的系统菜单和工具栏,其中系统菜单包含系统中所有功能的菜单项,而工具栏主要提供常用功能的快捷访问按钮。宏远电脑公司进销存管理系统采用导航面板综合了系统菜单和工具栏的优点,而且导航面板的界面更加美观,操作更快捷。5.1.1创建主窗体(1) 创建JXCFrame类,在类中创建并初始化窗体对象,为窗体添加桌面面板,并设置背景图片。(2) 编写 updateBackImage()方法,在该方法中初始化背景标签,背景标签使用 HTML 超文本语言设置了主窗体的背景图

36、片,该图片将随主窗体的大小自动缩放。(3) 在类的静态代码段中设置进销存管理系统的外观样式。Swing支持跨平台特性,它可以在不同的操作系统中保持一致的外观风格,但是本系统使用 UIManager 类的 setLookAndFeel()方法设置程序界面使用本地外观,这样可以使程序更像本地应用程序。(4) 编写主窗体的 main()入口方法,在该方法中创建登录窗体对象,登录窗体会验证登录信息,并显示主窗体界面。登陆界面如图5-1。图5-1登陆界面5.1.2创建导航面板(1) 在JXCFrame 类中编写 createNavigationPanel()方法,在该方法中创建 JTabbedPane

37、选项卡面板对象。为突出选项卡的立体效果,设置该选项卡使用 BevelBorder边框效果,然后依次创建基础信息管理、库存管理、销售管理、查询统计、进货管理和系统管理的选项卡。(2) 编写 createFrameButon()方法,该方法负责创建 Action 对象,该对象用于创建并显示窗体对象,另外,它还包含图标、文本等属性,如果将 Action 对象添加到系统菜单栏或者工具栏中,会直接创建相应的菜单项和工具按钮,而且这些菜单项和工具按钮将显示 Action 对象中的文本和图标属性。本系统没有使用系统菜单,所以该方法直接创建按钮对象。(3) 编写内部类 openFrameAction,它必须继

38、承 AbstractAction 类实现 Action 接口。该类用于创建导航按钮的 Action 对象,并为每个导航按钮定义创建并显示不同窗体对象的动作监听器,这个监听器在按钮被按下时,调用 getIFrame()方法获取相应的窗体对象,并显示在主窗体中。(4) 编写 getIFrame()方法,该方法负责创建指定名称的窗体对象,在方法中使用了 Java 的反射技术,调用不同窗体类的默认构造方法创建窗体对象。导航面板如图5-2。图5-2导航面板5.2 公共模块的设计及编写在本系统的项目空间中,有部分模块是公用的,或者是多个模块甚至整个系统的配置信息,它们被多个模块重复调用完成指定的业务逻辑。

39、编写 Dao 公共类, Dao 类主要负责有关数据库的操作,该类在静态代码段中驱动并连接数据库,然后将所有的数据库访问方法定义为静态的。dbClasName:该成员变量用于定义数据库驱动类的名称。dbUrl:该成员变量用于定义访问数据库的URL路径。 dbUser:该成员变量用于定义访问数据库的用户名称。dbPwd:该成员变量用于定义访问数据库的用户密码。conn:该成员变量用于定义连接数据库的对象。(1) addGys()方法 该方法用于添加供应商的基础信息,它接收供应商的实体类 TbGysinfo 作方法的参数,然后把实体对象中的所有属性存入供应商数据表中。(2) getGysInfo()

40、方法 该方法将根据 Item 对象中封装的供应商 ID 编号和供应商名称获取指定供应商的数据,并将该供应商的数据封装到实体对象中,然后返回该实体对象。(3) updateGys()方法 该方法用于更新供应商的基础信息,它接收供应商的实体类 TbGysinfo 作方法参数,在方法中直接解析供应商实体对象中的属性,并将这些属性更新到数据表中。(4) insertRukuInfo()方法 该方法负责完成入库单信息的添加,它涉及到库存表、入库主表和入库详细表等多个数据表的操作。为保证数据的完整性,该方法将入库信息的添加操作放在事务中完成,方法将接收入库主表的实体类TbRukuMain 作参数,该实体类

41、中包含了入库详细表的引用。(5) getKucun()方法 该方法用于获取指定商品 ID 编号或名称的库存信息。方法接收一个 Item 对象作参数,该对象中封装了商品的ID 编号和商品名称信息,如果库存表中存在该商品的库存记录,就获取该记录并将记录中的数据封装到库存表的实体对象中,然后将该实体对象作为方法的返回值。编写 Item 类Item 类是系统的公共类之一,主要用于封装和传递参数信息,这是典型命令模式的实现。在 Dao类中经常使用该类作为方法参数;另外,在各个窗体界面中也经常使用该类作组件数据,其 toString()方法将返回 name 属性值,所以显示到各个组件上的内容就是 Item

42、 类的对象所代表的商品、供应商或者客户等信息中的名。5.3 基础信息模块设计基础信息模块用于管理企业进销存管理系统中的客户、商品和供应商信息,其功能主要是对这些基础信息进行添加、修改和删除。5.3.1基础信息模块技术分析 企业进销存管理系统中的基础信息模块主要包括客户管理、商品管理和供应商管理 3 部分,由于它们的实现方法基本相似,本节将以供应商管理部分为主,介绍基础信息模块对本系统的意义和实现的业务逻辑。(1) 供应商添加供应商添加功能主要负责为系统添加新的供应商记录。在企业进销存管理系统中,商品是主要的管理对象,而系统中所有的商品都由不同的供应商提供,这就需要把不同的供应商信息添加到系统中

43、,在商品信息中会关联系统中对应的供应商信息。如图5-3。图5-3供应商添加(2) 供应商修改与删除 供应商的修改与删除功能主要用于维护系统中的供应商信息。在供应商的联系方式发生改变时,必须更新系统中的记录,以提供供应商的最新信息。另外,当不再与某家供应商合作时,需要从系统中删除供应商的记录信息。如图5-4。图5-4供应商修改与删除基础信息模块中使用了 Java Swing 的 JTabbedPane 选项卡面板组件分别为客户信息管理、商品信息管理和供应商信息管理提供了多个操作界面,例如供应商信息管理中分别存在供应商添加和供应商修改与删除界面,而这两个界面都存在于一个窗体中,可以通过选择顶部的两

44、个选项卡,在不同的界面中来回切换。5.3.2供应商添加实现过程(1) 创建 GysTianJiaPanel 类,用于实现本系统的供应商添加功能。该类将在界面中显示多个用于输入供应商信息的文本框。界面中定义的主要控件如表5-5。(2) 创建ResetActionListener类,该类是“重填”按钮的事件监听器,它ActionListener接口,并在 actionPerformed()方法中清除界面中的所有文本框内容。ActionListener接口:该接口是控件的动作监听器接口,实现该接口的类可以成为按钮和菜单项等控件的监听器。actionPerformed():该方法是监听器 Action

45、Listener 接口定义的方法,当事件产生时,将调用监听器实现类的actionPerformed()方法处理相应的业务逻辑。ActionEvent:该类是动作事件类,当用户单击按钮时,将产生该事件,这个事件会被监听器捕获并执行相应的业务逻辑。(3) 创建TjActionListener类,该类是“添加”按钮的事件监听器,它必须实现ActionListener接口,并在actionPerformed()方法中实现用户输入的验证和供应商信息的保存。表5-5供应商添加主要控件5.3.3供应商修改与删除实现过程(1) 创建 GysXiuGaiPanel 类,用于实现本系统的供应商修改功能。在程序界面

46、中有多个用于输入供应商信息的文本框,这些文本框的内容会根据所选供应商自动填充内容,修改部分或全部内容后,单击“修改”按钮将修改供应商数据。界面中定义的主要控件如表5-6所示。(2) 编写 initComboBox()方法,用于初始化选择供应商的下拉列表框。该方法调用 Dao 类的getGysInfos()方法获取数据库中所有的供应商信息,然后将供应商的 ID 编号和供应商名称封装成 Item对象并添加到选择供应商的下拉列表框中,在下拉列表框中Item的toString()方法将显示供应商的名称。(3) 编写 doGysSelectAction()方法,它在更改下拉列表框中的供应商信息时被调用,主要用于根据选择的供应商名称,把供应商的其他信息填充到相应的文本框中。(4) 创建 ModifyActionListener 类,该类是“修改”按钮的事件监听器,它必须实现 ActionListener接口,并在 actionPerformed()方法中获取所有文本框内容,其中包括修改后的信息,并通过调用updateGys()方法将这些供应商信息更新到数据库中。(5) 创建 DelActionListener 类,

展开阅读全文
相关资源
相关搜索

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

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922