进销存管理系统毕业设计_第1页
进销存管理系统毕业设计_第2页
进销存管理系统毕业设计_第3页
进销存管理系统毕业设计_第4页
进销存管理系统毕业设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 编号 淮安信息淮安信息职业职业技技术术学院学院 毕毕业业论论文文 题 目进销存管理系统 学生姓名 学 号 系 部计算机与通信工程学院 专 业计算机应用 班 级 指导教师 顾问教师 二一一年七月 摘 要 i 摘摘 要要 进销存管理系统是一个基于 internet 的应用系统,它是一个面对当前的进 销存管理工作基本还处于手工和半信息自动化处理状态而应运而生的一个基于 internet 的一个完全信息自动化的系统,整个系统从符合操作简便、界面友好、 灵活、实用、安全的要求出发,完成进货、销售、库存管理的全过程。 企业单位只需具备访问 internet 的条件即可在系统发布的站点上进行进销 存的管理

2、。在图型化的人机界面中完成日常的进销存管理工作.一方面摆脱了时 间和空间的限制,另一方面有效的解决的数据共享的问题。 关键词关键词:库存 销售 企业进销存管理系统 目 录 ii 目目 录录 摘摘 要要.i 引引 言言.1 第一章第一章 开开发发背背景景.2 第二章第二章 开发工具与技术简介开发工具与技术简介.3 2.1 java的概述 .3 2.2 java的特点.4 2.2 eclipse的简介.5 第三章第三章 总体设计总体设计.7 3.1 系统分析.7 3.1.1 需求分析.7 3.1.2 可行性分析.7 3.2 系统设计.7 3.2.1 设计目标.8 3.2.2 开发及运行环境.8 3

3、.2.3 数据库设计.9 3.3 项目设计.9 3.3.1 项目规划.9 3.3.2 系统功能结构图.10 第四章第四章 主窗体设计主窗体设计.10 4.1 创建主窗体.10 4.2 创建导航面板.12 第五章第五章 基础信息模块设计基础信息模块设计.15 5.1 基础信息模块概述.15 5.1.1 供应商添加.15 5.1.2 供应商修改与删除.15 5.2 基础信息模块技术分析.16 5.3 供应商添加实现过程.16 5.4 供应商修改与删除实现过程.18 第六章第六章 进货管理模块设计进货管理模块设计.22 6.1 进货管理模块概述.22 6.1.1 进货单.22 6.1.2 进货退货.

4、22 6.2 进货管理模块技术分析.23 6.3 进货单实现过程.24 第七章第七章 库存管理模块设计库存管理模块设计.27 7.1 库存管理模块概述.27 目 录 iii 7.2 库存管理模块技术分析.27 7.3 价格调整实现过程.28 第八章第八章 总结与展望总结与展望.30 致致 谢谢.31 参考文献参考文献.32 引 言 1 引引 言言 随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网 络管理时代,并因此提高了管理效率和市场竞争力。但目前仍有部分企业还停 留在原始计账管理阶段。而随着全球经济信息化的进程和 wto 的成功实现,企 业面临着前所未有的机遇和挑战,在如此激

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

6、比较彻底地贯彻经营者的管理模式。 淮安信息职业技术学院毕业设计论文 2 第一章第一章 开发背景开发背景 当今社会是一个信息社会,一个知识经济时代。自世界上第一台计算机 eniac(electronic numerical integrator and calculator)于 1946 年在美国 问世到现在,计算机业飞速发展,技术淘汰指标高的惊人,价格下降以及软件 应用的快速扩展引发了以信息处理计算机化为标志的“微机革命” ,随之而来的 是以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃 兴起。可见,世界已进入在计算机信息管理领域中激烈竞争的时代,计算机已 经变得普通的不能再

7、普通的工具,如同我们离不开的自行车、汽车一样。在这 种环境下证实了一句话:谁掌握的知识多,信息量大,信息处理速度快,批量 大,谁的效率就高,谁就能在各种竞争中立于不败之地1。 中小型企业在我国经济发展中具有重要的地位,目前我国的中小型企业数 量较多、地区分布广泛、行业分布跨度大,随着全球经济一体化的发展及中国 加入 wto,中小型企业将面临外资企业和国外产品与服务的严峻挑战。如果我 国的中小型企业不借助先进的管理思想转变经营观念、使用信息化提高企业的 管理水平和工作效率,将很难在今后的国际竞争中取胜。随着技术发展,电脑 的操作及管理日趋普及,因此我国中小型公司采用电脑管理公司的各种业务也 已成

8、为趋势和必然。 管理信息系统(mis)是一个由人、计算机等组成的能进行信息的收集、传递、 存储、加工和使用的系统。其主要任务是最大限度的利用现代计算机及网络通 讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技 术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时 提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。 随着我国与世界信息高速公路的接轨,企业通过计算机网络获得信息必将为企 业带来巨大的经济效益和社会效益,企业的办公及管理都将朝着高效、快速、 无纸化的方向发展。mis 系统通常用于系统决策,mis 系统的最终目的是使管理 人员及时

9、了解公司现状,把握将来的发展路径。 第二章 开发工具与技术简介 3 第二章第二章 开发工具与技术简介开发工具与技术简介 2.1 java 的概述的概述 java 是由 microsystems 公司于 1995 年 5 月推出的 java 程序设计(下简称 java 语言)和 java 平台的总称。用 java 实现的 hotjava 浏览器(支持 java applet)显示了 java 的魅力:跨平台、动感的 web、internet 计算。从此, java 被广泛接受并推动了 web 的迅速发展,常用的浏览器现在均支持 java applet。另一方面,java 技术也不断更新。 jav

10、a 平台由 java 虚拟机(java virtual machine)和 java 应用编程接口 (application programminginterface、简称 api)构成。java 应用编程接口 为 java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部 分。在硬件或操作系统平台上安装一个 java 平台之后,java 应用程序就可运 行。现在 java 平台已经嵌入了几乎所有的操作系统。这样 java 程序可以只编 译一次,就可以在各种系统中运行。java 应用编程接口已经从 1.1x 版发展到 1.2 版。目前常用的 java 平台基于 java1.5,最

11、近版本为 java1.6。 java 分为三个体系 javase,javaee,javame。 java 是一种简单的,面向对象的,分布式的,解释型的,健壮的安全的, 结构中立的,可移植的,性能很优异的多线程的,动态的语言。 (1)程序设计语言概述 人类的语言是一个渐变发展的过程,直到今天仍在不断改进。计算机程序 设计语言也不是一步到位,而是一个从面向机器语言,到面向过程语言,再到 今天的面向对象语言的过程。众多的软件开发商开始支持 java 的软件产品。例 如:borland 公司的基于 java 的快速应用程序开发环境 latte 在 1996 年发布, 推动了 java 进入 pc 机软

12、件市场。 迄今为止,java 语言已作为一门综合性技术在众多领域得到发展和应用。 除了本书介绍的 java 应用程序和 applet 小应用程序外,java 内容体系还包括: jsp/servlet : 用于基于 web 的服务端动态网页编程。 java bean : 用 java 语言开发的软件组件,可在分布式环境中移动。 ejb(企业 javabean): 用于企业分布式应用系统的构建。 (2)java 语言的产生与发展 java 来自于 sun 公司的一个叫 green 的项目,其原先的目的是为家用消费 电子产品开发一个分布式代码系统,这样我们可以把 e-mail 发给电冰箱、电视 机等

13、家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用 c+,但 c+太复杂,安全性差,最后基于 c+开发一种新的语言 oak(java 的前 淮安信息职业技术学院毕业设计论文 4 身),oak 是一种用于网络的精巧而安全的语言,sun 公司曾依此投标一个交互 式电视项目,但结果是被 sgi 打败。可怜的 oak 几乎无家可归,恰巧这时 mark andreessen 开发的 mosaic 和 netscape 启发了 oak 项目组成员,他们用 java 编制了 hot java 浏览器,得到了 sun 公司首席执行官 scott mcnealy 的支持, 触发了 java 进军 in

14、ternet。 java 一经问世就给软件行业带来了革命性影响,受到业界的普遍关注和支 持,并以极其迅猛的势头发展至今。现在 java 已成为软件开发的主流技术,引 取了世界范围学习和使用 java 的热潮。 计算机产业的许多大公司购买了 java 的许可证,如 ibm、novell、oracle、sgi 和 borland 等,microsoft 公司一开始对 java 无动 于衷,比尔盖茨在仔细研究了 java 的技术规范之后,不得不承认“java 确实 是有史以来最伟大的程序设计语言” 。 2.2 java 的特点的特点 java 语言是一个支持网络计算的面向对象程序设计语言。java

15、语言吸收了 smalltalk 语言和 c+语言的优点,并增加了其它特性,如支持并发程序设计、 网络通信、和多媒体数据控制等。主要特性如下: java 语言是简单的。java 语言的语法与 c 语言和 c+语言很接近,使得大 多数程序员很容易学习和使用 java。另一方面,java 丢弃了 c+中很少使用的、 很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型 转换。特别地,java 语言不使用指针,并提供了自动的废料收集,使得程序员 不必为内存管理而担忧。 java 语言是一个面向对象的。java 语言提供类、接口和继承等原语,为了 简单起见,只支持类之间的单继承,但支持接

16、口之间的多继承,并支持类与接 口之间的实现机制(关键字为 implements)。java 语言全面支持动态绑定,而 c+语言只对虚函数使用动态绑定。总之,java 语言是一个纯的面向对象程序 设计语言。 java 语言是分布式的。java 语言支持 internet 应用的开发,在基本的 java 应用编程接口中有一个网络应用编辑接口(),它提供了用于网络 应用编程的类库,包括 url、urlconnection、socket、serversocket 等。java 的 rmi(远程方法激活)机制也是开发分布式应用的重要手段。 java 语言是健壮的。java 的强类型机制、异常处理、废料的

17、自动收集等是 java 程序健壮性的重要保证。对指针的丢弃是 java 的明智选择。java 的安全 检查机制使得 java 更具健壮性。 java 语言的优点主要表现在:简单、面向对象、多线程、分布性、体系结 构中立、安全性等方面。 第二章 开发工具与技术简介 5 2.3 eclipse 的的简简介介 eclipse-galileoeclipse 是一个开放源代码的、基于 java 的可扩展开发 平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开 发环境。幸运的是,eclipse 附带了一个标准的插件集,包括 java 开发工具 (java development tool

18、s,jdt) 。 eclipse 最初是由 ibm 公司开发的替代商业软件 visual age for java 的 下一代 ide 开发环境,2001 年 11 月贡献给开源社区,现在它由非营利软件供 应商联盟 eclipse 基金会(eclipse foundation)管理。 2003 年,eclipse 1 选择 osgi 服务平台规范为运行时架构。 2007 年 6 月,稳定版 3.3 发布。2008 年 6 月发布代号为 ganymede 的 3.4 版。2009 年 7 月发布代号为 galileo 的 3.5 版。 eclipse 的主要组成:eclipse 是一个开放源代码

19、的软件开发项目,专注于 为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要 由 eclipse 项目、eclipse 工具项目和 eclipse 技术项目三个项目组成,具体 包括四个部分组成eclipse platform、jdt、cdt 和 pde.jdt 支持 java 开 发、cdt 支持 c 开发、pde 用来支持插件开发,eclipse platform 则是一个开 放的可扩展 ide,提供了一个通用的开发平台。它提供建造块和构造并运行集 成软件开发工具的基础。eclipse platform 允许工具建造者独立开发与他人工 具无缝集成的工具从而无须分辨一个工具功能

20、在哪里结束,而另一个工具功能 在哪里开始。 eclipse sdk(软件开发者包)是 eclipse platform、jdt 和 pde 所生产的 组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开 发环境,允许开发者有效地建造可以无缝集成到 eclipse platform 中的工具。 eclipse sdk 由 eclipse 项目生产的工具和来自其它开放源代码的第三方软件 组合而成。eclipse 项目生产的软件以 cpl 发布,第三方组件有各自自身的许 可协议。 淮安信息职业技术学院毕业设计论文 6 第三章第三章 总体设计总体设计 3.1 系系统统分析分析 3.1.

21、1 需求分析需求分析 通过调查研究,要求系统满足以下功能: (1) 系统制作简单,界面友好。 (2) 规范、完善的基础信息设置。 (3) 支持多人操作,要求有权限分配功能。 (4) 为了方便用户,要求系统支持多条件查询。 (5) 对销售信息提供销售排行。 (6) 支持销售退货和入库功能。 (7) 批量填写进货单及销售单。 (8) 支持库存价格调整功能。 (9) 当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原 始数据的安全。 3.1.2 可行性分析可行性分析 根据gb 8567-1988 计算机软件产品开发文件编制指南中可行性分析的 要求,制定可行性研究报告如下: (1) 编写目的

22、 以文件的形式给企业的决策层提供项目实施的参考依据,其中包括项目丰 硕的风险、项目需要的投资和能够收获的最大效益。 (2) 背景 以商业经营为主的私有企业。为了完善管理制度、增强企业的竞争力、实 现信息化管理,决定开发进销存管理系统。 (3) 要求 企业进销存管理系统必须提供商品信息、供应商信息和客户信息的基础设 置:提供强大的多条件搜索功能和商品的进货、销售和库存管理功能:可分为 不同权限、不同用户对该系统进行操作。另外该系统还必须保证数据的安全性、 完整性、准确性。 (4) 目标 企业进销存管理系统的目标是实现企业的信息化管理,减少盲目采购、降 低采购成本、合理控制库存、减少资金占用并提升

23、企业市场竞争力。 (5) 评价尺度 根据用户的要求,项目主要以企业进货、销售和查询统计功能为主,对于 库存、销售和进货的记录信息应该及时、准确地保存,并提供相应的查询和统 第三章 总体设计 7 计。由于库存商品数量太多,不易盘点,传统的盘点方式容易出错,系统中的 库存盘点功能要准确的损益数量,减少企业不必要的损失。 3.2 系系统设计统设计 3.2.1 设计设计目目标标 本系统针对中小型企业进销存管理现状,通过网络对企业的进销存进行有 效管理。本系统主要实现如下目标: (1) 系统采用人机对话方式,界面美观友好,信息查询灵活、方便、快捷、 准确,数据存储安全可靠。 (2) 实现企业内一些基础信

24、息的设置及查询 (3) 商品的入库、入库退货、销售、销售退货流程清晰 (4) 数据计算自动完成,提高工作效率。 (5) 与供应商和客户之间的账目清晰。 (6) 以图表形式对年销售额进行分析。 (7) 实现多条件查询。 (8) 可方便快捷地查询库存信息,并可对商品价格进行调整。 (9) 对某一时间段内的某种商品按照销售数量或销售金额进行销售升序排 行或降序排行。 (10) 操作员可以随时修改自己的口令。 (11) 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错 误。 (12) 系统最大限度地实现了易维护性和易操作性。 3.2.2 开开发发及运行及运行环环境境 硬件平台: (1) c

25、pu:p41.8ghz。 (2) 内存:256mb 以上。 软件平台: (1) 操作系统:windows 2000 以上。 (2) 数据库:sql server 2005。 (3) 开发工具包:jdk version1.6。 (4) 分辨率:最佳效果 1024768 像素。 3.2.3 数据数据库设计库设计 本系统采用 sql server 2005 数据库,系统数据库名称为 db_jxc。数据库 db_jxc 中包含 17 张表。 淮安信息职业技术学院毕业设计论文 8 3.3 项项目目设计设计 3.3.1 项项目目规规划划 企业进销存管理系统是一个典型的数据库开发应用程序,由基础信息管理、

26、库存管理、商品销售、查询统计、往来管理、系统设置 6 部分组成。 (1) 基础信息管理 该模块主要是对企业的客户信息、商品信息、供应商信息进行有效管理, 并可实现按不同条件对这些数据进行查询。 (2) 库存管理 该模块主要是对商品的入库及入库退货信息进行有效管理,对商品的价格 进行调整,同时可按不同条件查询库存商品。 (3) 商品销售 该模块主要是对商品的销售及销售退货信息进行有效管理。 (4) 查询统计 该模块主要实现按不同条件查询商品的入库信息及销售信息,并可对某一 时间段内某种商品的销售情况按数量或金额进行升序或降序排行,同时可对某 一年度的销售额进行图表分析。 (5) 往来管理 该模块

27、主要实现对商品的入库结账、入库退货结账、销售结账、销售退货 结账信息进行有效管理,同时可实现销售结账信息及入库结账信息的查询操作。 (6) 系统设置 该模块主要实现对操作员及操作员密码进行有效管理。 第三章 总体设计 9 3.3.2 系系统统功能功能结结构构图图 图 3-1 系统功能结构 淮安信息职业技术学院毕业设计论文 10 第四章第四章 主窗体设计主窗体设计 主窗体界面也是该系统的欢迎界面。应用程序的主窗体必须设计层次清晰 的系统菜单和工具栏,其中系统菜单包含系统中所有功能的菜单项,而工具栏 主板快捷访问按钮。企业进销存管理系统采用导航面板,综合了系统菜单和工 具栏的优点,而且其界面更加美

28、观,操作更快捷,主窗体的运行效果图如图 4- 1 所示。 图 4-1 程序主窗体界面效果 4.1 创创建主窗体建主窗体 创建主窗体的步骤如下: (1)创建 jxcframe 类,在类中创建并初始化窗体对象,为窗体添加桌面 面板,并设置背景图片。关键代码如下: private jpanel sysmanagepanel; private jdesktoppane desktoppane; private jframe frame; private jlabel backlabel; / 创建窗体的 map 类型集合对象 private map ifs = new hashmap(); publi

29、c jxcframe() 第四章 主窗体设计 11 frame = new jframe(企业进销存管理系统); frame.getcontentpane().setbackground(new color(170, 188, 120); frame.addcomponentlistener(new framelistener(); frame.getcontentpane().setlayout(new borderlayout(); frame.setbounds(100, 100, 800, 600); frame.setdefaultcloseoperation(jframe.exit

30、_on_close); backlabel = new jlabel();/ 背景标签 backlabel.setverticalalignment(swingconstants.top); backlabel.sethorizontalalignment(swingconstants.center); updatebackimage(); / 更新或初始化背景图片 desktoppane = new jdesktoppane(); desktoppane.add(backlabel, new integer(integer.min_value); frame.getcontentpane()

31、.add(desktoppane); jtabbedpane navigationpanel = createnavigationpanel(); / 创建导 航标签面板 frame.getcontentpane().add(navigationpanel, borderlayout.north); frame.setvisible(true); (2)编写 updatebackimage()方法,在该方法中初始化背景标签,背景标 签使用 html 超文本语言设置了主窗体的背景图片,该图片随主窗体的大小自动 缩放。关键代码如下: private void updatebackimage() i

32、f (backlabel != null) int backw = jxcframe.this.frame.getwidth(); int backh = frame.getheight(); backlabel.setsize(backw, backh); backlabel.settext(); (3)在类的静态代码段中设置进销存管理系统的。swing 支持嘴唇平台特 性,它可以在不同的操作系统中保持一致的外观风格,但是本系统使用 uimanager 类的 setlookandfeel()方法使用本地外观,这样可以使程序像本地 应用程序。关键代码如下: 淮安信息职业技术学院毕业设计论文 1

33、2 static try uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname() ; catch (exception e) e.printstacktrace(); (4)编写主窗体的 main()入口方法,在该方法中创建登录窗体对象,登 录窗体会验证登录信息,并显示主窗体界面。关键代码如下: public static void main(string args) swingutilities.invokelater(new runnable() public void run() new login(); ;

34、4.2 创创建建导导航面板航面板 创建导航面板的步骤如下: (1)编写 createframebutton()方法,该方法负责创建 action 对象,该对 象用于创建并显示窗体对象。另外,它还包含图标、文本等属性。如果将 action 对象添加到系统菜单栏或者工具栏中,会直接创建相应的菜单项和工具 按钮,而且这些菜单项和工具按钮将显示 action 对象中的文本和图标属性。本 系统没有使用系统菜单,所以该方法将直接创建按钮对象。关键代码如下: private jbutton createframebutton(string fname, string cname) string imgurl

35、 = res/actionicon/ + fname + .png; string imgurl_roll = res/actionicon/ + fname+ _roll.png; string imgurl_down = res/actionicon/ + fname+ _down.png; icon icon = new imageicon(imgurl); icon icon_roll = null; if (imgurl_roll != null) icon_roll = new imageicon(imgurl_roll); icon icon_down = null; if (i

36、mgurl_down != null)icon_down = new imageicon(imgurl_down); action action = new openframeaction(fname, cname, icon); 第四章 主窗体设计 13 jbutton button = new jbutton(action); button.setmargin(new insets(0, 0, 0, 0); button.sethideactiontext(true); button.setfocuspainted(false); button.setborderpainted(false

37、); button.setcontentareafilled(false); if (icon_roll != null) button.setrollovericon(icon_roll); if (icon_down != null) button.setpressedicon(icon_down); return button; (2)编写内部类部类 openframeaction,它必须继承 abstractaction 类实 现 action 接口。该类用于创建导航按钮的 action 对象,并为每个导航按钮定 义创建并显示不同窗体对象的动作监听器,这个监听器在按钮被按下时,调用 g

38、etframe()方法获取相应的窗体对象,并显示在主窗体中。关键代码如下: protected final class openframeaction extends abstractaction private string framename = null; private openframeaction() public openframeaction(string cname, string framename, icon icon) this.framename = framename; putvalue(action.name, cname); putvalue(action.sh

39、ort_description, cname); putvalue(action.small_icon, icon); (3) 、编写 getiframe()方法,该方法负责创建指定名称的窗体对象。在方 法中使用了 java 的反射技术,调用不同的窗体烦的默认构造方法创建窗体对象。 关键代码如下: private jinternalframe getiframe(string framename) jinternalframe jf = null; if (!ifs.containskey(framename) try class fclass = class.forname(internal

40、frame. + framename); constructor constructor = fclass.getconstructor(null); jf = (jinternalframe) constructor.newinstance(null); 淮安信息职业技术学院毕业设计论文 14 ifs.put(framename, jf); catch (exception e) e.printstacktrace(); else jf = ifs.get(framename); return jf; 第五章 基本信息模块设计 15 第五章第五章 基础信息模块设计基础信息模块设计 基础信息模

41、块用于管理企业进销存管理系统中的客户,商品和供应商信息, 其功能主要是对这些基础信息进行添加,修改和删除。 5.1 基基础础信息模信息模块块概述概述 企业进销存管理系统中的基础信息模块主要包括客户管理、商品管理和供 应商管理 3 部分。由于它们的实现方法基本相似,本节将以供应商管理部分为 主,介绍基础信息模块对本系统的意义和实现的业务逻辑。 5.1.1 供供应应商添加商添加 供应商添加功能主要负责为系统添加新的供应商记录。在企业进销存管理 系统中,商品是主要的管理对象,而系统中所有的商品都由不同的供应商提供, 这就需要把不同的供应商信息添加到系统中,在商品信息中会关联系统中的对 应的供应商信息

42、。供应商添加功能的程序界面如图 5-1 所示 5.1.2 供供应应商修改和商修改和删删除除 供应商的修改与删除功能主要用于维护系统中的供应商信息。在供应商的 联系方式发生改变时,必须更新系统中的记录,以提供供应商的最新信息。另 外,当不再与某家供应商合作时,需要从系统中删除供应商的记录信息。其程 序运行界面如图 5-2 所示。 图 5-1 供应商添加界面 淮安信息职业技术学院毕业设计论文 16 图 5-2 供应商修改与删除功能界面 5.2 供供应应商添加商添加实现过实现过程程 供应商添加使用的数据表:tb_gysinfo (1)创建 gystianjiapanl 类,用于实现本系统的供应商添加

43、功能。该类 将在界面中显示多个用于输入供应商信息的文本框,界面中定义的主要控件如 表 5-1 所示: 表 5-1 供应商添加界面中的主要控件 (2)创建 resetactionlistener 类,该类是“重填”按钮的事件监听器, 它必须实现 actionlistener 接口,并在 actionperformed()方法中清除界面中 第五章 基本信息模块设计 17 的所有文本框内容。关键代码如下: class resetactionlistener implements actionlistener / 重填按钮 的事件监听类 public void actionperformed(fina

44、l actionevent e) dizhif.settext(); bianmaf.settext(); chuanzhenf.settext(); jianchengf.settext(); lianxirenf.settext(); lianxirendianhuaf.settext(); emailf.settext(); quanchengf.settext(); dianhuaf.settext(); yinhangf.settext(); (3)创建 tjactionlistener 类,该类是“添加”按钮的事件监听,它必 须实现 actionlistener 接口,并在 act

45、ionperformed()方法中实现用户输入的 验证和供应商信息的保存。关键代码如下: class tjactionlistener implements actionlistener / 添加按钮的事 件监听类 public void actionperformed(final actionevent e) if (dizhif.gettext().equals() | quanchengf.gettext().equals() | chuanzhenf.gettext().equals() | jianchengf.gettext().equals() | yinhangf.gettex

46、t().equals() | bianmaf.gettext().equals() | dizhif.gettext().equals() | lianxirenf.gettext().equals() | lianxirendianhuaf.gettext().equals() | emailf.gettext().equals() | dianhuaf.gettext().equals() joptionpane.showmessagedialog(gystianjiapanel.this, 请填写全部信 息); return; 淮安信息职业技术学院毕业设计论文 18 try result

47、set haveuser = dao.query(select * from tb_gysinfo where name=+ quanchengf.gettext().trim() + ); if (haveuser.next() joptionpane.showmessagedialog(gystianjiapanel.this, 供应商信息添加失败,存在同名供应商, 供应商添加信息, joptionpane.information_message); return; resultset set = dao.query(select max(id) from tb_gysinfo); str

48、ing id = null; if (set != null if (sid = null) id = gys1001; else string str = sid.substring(3); id = gys + (integer.parseint(str) + 1); 5.3 供供应应商修改与商修改与删删除除实现过实现过程程 供应商修改与删除使用的数据库表;tb_gysinfo. (1)创建 gysxiugaipanel 类,用于实现本系统的供应商修改功能。在程 序界面中有多个用于输入供应商信息的文本框,这些文本内容会根据所选供应 商自动填充,修改部分或全部内容后,单击“修改”按钮将修改供

49、应商数据。 界面中定义的主要控件如表 5-2 所示: 第五章 基本信息模块设计 19 表 5-2 供应商修改和删除界面中的主要控件 (2)编写 initcombobox()方法,用于初始化“选择供应商”下拉列表框, 该方法调用 dao 类的 getgysinfos ()方法获取数据库中所有的供应商信息,然 后将供应商的 id 编号和供应商名称封装成 items 对象并添加到“选择供应商” 下拉列表框中,在下拉列表框中 items 的 tostring()方法将显示供应商的名称。 initcombobox()方法的关键代码如下: public void initcombobox() list g

50、ysinfo = dao.getgysinfos(); list items = new arraylist(); gys.removeallitems(); for (iterator iter = gysinfo.iterator(); iter.hasnext();) list element = (list) iter.next(); item item = new item(); item.setid(element.get(0).tostring().trim(); item.setname(element.get(1).tostring().trim(); if (items.c

51、ontains(item) continue; items.add(item); gys.additem(item); dogysselectaction(); (3)编写 dogysselectaction()方法,它在更改下拉列表框中的供应商信 息时被调用,主要根据选择的供应商名称,反供应商的其他信息填充到相应的 文本框中。关键代码如下: 淮安信息职业技术学院毕业设计论文 20 private void dogysselectaction() item selecteditem; if (!(gys.getselecteditem() instanceof item) return; se

52、lecteditem = (item) gys.getselecteditem(); tbgysinfo gysinfo = dao.getgysinfo(selecteditem); quanchengf.settext(gysinfo.getname(); dizhif.settext(gysinfo.getaddress(); jianchengf.settext(gysinfo.getjc(); bianmaf.settext(gysinfo.getbianma(); dianhuaf.settext(gysinfo.gettel(); chuanzhenf.settext(gysin

53、fo.getfax(); lianxirenf.settext(gysinfo.getlian(); lianxirendianhuaf.settext(gysinfo.getltel(); emailf.settext(gysinfo.getmail(); yinhangf.settext(gysinfo.getyh(); (4)创建 modifyactionlistener 类,该类是“修改”按钮的事件监听器, 它必须实现 actionlistener 接口,并在 actionperformed()方法中获取所有文 本框内容,其中包括修改后的信息,并通过调用 update()方法将这些供应

54、商信 息更新到数据库中。关键代码如下: class modifyactionlistener implements actionlistener public void actionperformed(actionevent e) item item = (item) gys.getselecteditem(); tbgysinfo gysinfo = new tbgysinfo(); gysinfo.setid(item.getid(); gysinfo.setaddress(dizhif.gettext().trim(); gysinfo.setbianma(bianmaf.gettext

55、().trim(); gysinfo.setfax(chuanzhenf.gettext().trim(); gysinfo.setyh(yinhangf.gettext().trim(); gysinfo.setjc(jianchengf.gettext().trim(); gysinfo.setname(quanchengf.gettext().trim(); gysinfo.setlian(lianxirenf.gettext().trim(); gysinfo.setltel(lianxirendianhuaf.gettext().trim(); gysinfo.setmail(ema

56、ilf.gettext().trim(); 第五章 基本信息模块设计 21 gysinfo.settel(dianhuaf.gettext().trim(); if (dao.updategys(gysinfo) = 1) joptionpane.showmessagedialog(gysxiugaipanel.this, 修改完成); else joptionpane.showmessagedialog(gysxiugaipanel.this, 修 改失败); (5)创建 delactionlistener 类,该类是“删除”按钮的事件监听器,它 必须实现 actionlistener 接口

57、,并在 actionperformed()方法中获取当前选择 的供应商,然后调用 dao 类的 delete()方法从数据库中把该供应商删除。关键 代码如下: class delactionlistener implements actionlistener public void actionperformed(actionevent e) item item = (item) gys.getselecteditem(); if (item = null | !(item instanceof item) return; int confirm = joptionpane.showconfi

58、rmdialog( gysxiugaipanel.this, 确认删除供应商信息吗?); if (confirm = joptionpane.yes_option) int rs = dao.delete(delete tb_gysinfo where id= + item.getid() + ); if (rs 0) joptionpane.showmessagedialog(gysxiugaipanel.this, 供应商: + item.getname() + 。删除成功); gys.removeitem(item); else joptionpane.showmessagedialog

59、(gysxiugaipanel.this, 无法删除客户: + item.getname() + 。); 淮安信息职业技术学院毕业设计论文 22 第六章第六章 进货管理模块设计进货管理模块设计 进货管理模块是进销存管理系统中不可缺少的重要组成部分之一,它主要 负责为系统记录进货单及其退货信息,进货商品会添加到库存管理中。 6.1 进货进货管理模管理模块块概述概述 企业进销存管理系统中的进货管理模块主要包括进货单和进货退货两部分。 由于它们的实现方法基本相似,本节将以进货单功能为主,介绍进货管理模块 对本系统的意义和实现的业务逻辑。 6.1.1 进货单进货单 进货单功能主要负责记录企业的商品进货

60、信息,可以单击“添加”按钮, 在商品表中添加进货的商品信息,在“供应商”下拉列表框中选择不同的供应 商,将会改变商品一股中的可以添加商品。进货单的程序界面如图 6-1 所示 图 6-1 所示 进货单程序界面 6.1.2 进货进货退退货货 进货退货功能主要负责记录进货管理中的退货信息,其界面效果如图 6-2 所示。在选择了退货的商品之后,单击“退货按钮” ,将把表格跌商品退货更新 到数据库中。 第七章 库存管理模块设计 23 图 6-2 进货退货程序界面 6.2 进货进货管理模管理模块块技技术术分析分析 进货管理模块使用 jdbc 实现事务操作。因为进货和退货的业务逻辑涉及到 3 个数据表,为保

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论