基于java的企业进销存管理系统的研究与开发内容摘要:

录,汇总得到此种商品总的销 售数量,最后用总采购数量和总销售数量相减即可。 产品管理:库存管理中的辅助业务,主要是当有产品或者商品的属性数据改变时,需要在这里进行更新。 库存查询:统计查询功能中的一个模块,提供了对库存商品按照多种字段模糊查询的功能。 采购查询:统计查询功能中的一个模块,提供了对采购记录的多种字段的复合式查询功能。 销售查询:统计查询功能中的一个模块,提供了对销售记录的多种字段的复合式查询功能。 供应商管理:基础信息维护中的一个模块,主要用于对供应商信息进行查询和维护。 为了方便对多个供应商的管理和比较,本系统中将此功能 用 Tab页的形式实现,既方便对单个供应商信息的查看和编辑,又利于对供应商总体的评价和比较。 客户管理:基础信息维护中的一个模块,主要用于对企业客户信息的查询和维护。 为了方便对多个客户的管理和比较,本系统中也将此功能用 Tab 页的形式实现,既方便对单个供应商信息的查看和编辑,又利于对供应商总体的评价和比较。 密码设置:系统设置中的一个模块,主要用于为系统中现有的用户提供密码更改功能。 退出系统:用于退出本系统。 为了防止用户的误操作,退出系统之前需要用户确认退出的操作。 整个系统运行的流程图大致如图 32 所示。 基于 Java 的企业进销存管理系统的研究与开发 8 图 32 系统流程图 操作员 基础信息管理 进货管理 销售管理 查询统计 库存管理 管理员 系统管理 基于 Java 的企业进销存管理系统的研究与开发 9 第 4 章 数据库的设计 数据库介绍 所谓数据库( Database) 就是指按一定组织方式存储在一起的,相互有关的若干个数据的结合,数据库管理系统( Database Management System) 就是一种操纵和管理数据库的大型软件,简称 DBMS,他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库建立和维护,于操作系统通信等。 DBMS 通常由数 据字典,数据描述语言及其编译程序,数据操纵(查询)语言及其编译程序,数据库管理例行程序等部分组成。 关系数据库是以关系模型为基础的数据库,是根据表、记录和字段之间的关系进行组织和访问的一种数据库,它通过若干个表( Table) 来存取数据,并且通过关系( Relation) 将这些表联系在一起,关系数据库提供了成为机构化查询语言( SQL) 标准接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。 数据库是一个逻辑上的概念,通过一组系统文件将相互关联的数据表及其数据库对象组织起来,成为扩展名为 .dbc 的数据库文件、扩展名为 .dct 的数据库备注文件和扩展名为 .dcx 的数据库索引文件,三个文件一般不能直接使用 【 2】。 ER 图 进销存系统的 ER 图 进销存系统主要实现从进货、库存到销售的一体化管理,涉及商品信息、商品的供应商、购买商品的客户等多个实体。 下面简单介绍几个关键的实体和系统的综合 ER 图。 供应商实体属性图 供应商实体包括:编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系人电话、开户行和 Email 属性,如 图 41 所示。 供应商编号名称 简称 地址邮政编码电话传真联系人联系人电话开户行Email E m a il 图 41 供应商实体属性图 基于 Java 的企业进销存管理系统的研究与开发 10 商品实体属性图 商品实体包括:编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商属性。 如 图 42 所示。 商品编号名称 简称 产地规格单位包装批号批准文号简介供应商 图 42商品实体属性图 客户实体属性图 客户实体包括:客户编号、客户名称、简称、地址、电话、邮政编码、联系人电话、传真、开户行和账号属性。 如 图 43 所示。 客户编号 名称 简称 地址邮政编码电话传真 联系人 联系人电话开户行Email帐号 E m a il 账号 图 43客户实体属性图 售实体属性图 销售实体分为销售主表和销售明细表两个实体,它们是一对多的关系。 其中销售主表包括:销售票号、品种数、金额、验收结论、客户名称、经手人、结算方式、操作员和销售日期属性。 销售明细表包括:编号、销售 票号、商品编号、数量和单价属性。 如 图 44 所示。 销售主表品种数 金额 验收结论销售日期客户名称操作员结算方式经手人销售详细表 编号销售票号 商品编号单价数量销售票号归属 N1 图 44售实体属性图 基于 Java 的企业进销存管理系统的研究与开发 11 数据表概要说明 图 45数据库表概要说明 主要数据表的结构 数据库在整个管理系统中占据非常重要的地位,数据库结构设计的好坏直接影响着系统的效率和实现效果。 进销存管理系统采用 SQL Server 2020 SP3 以上版本的数据库,数据库名称为 db_JXC,因篇幅所限,本论文只给出几个重要数据表的表结构。 供应商信息表 基于 Java 的企业进销存管理系统的研究与开发 12 供应商信息表的名称为 tb_gysinfo,主要用于存储供应商的详细信息,结构如 表 41 所示。 表 41 供应商信息表 字 段 名 称 数 据 类 型 字 段 大 小 是 否 主 键 id varchar 32 主键 name varchar 50 jc varchar 20 address varchar 100 bianma varchar 10 tel varchar 15 fax varchar 15 lian varchar 8 ltel varchar 15 yh varchar 50 mail varchar 30 入 库主表 入库主表的名称为 tb_ruku_main,主要用于存储入库的单据信息,结构如 表42 所示。 表 42 入库主表 字 段 名 称 数 据 类 型 字 段 大 小 是 否 主 键 rkID varchar 32 主键 pzs float 8 je money 8 ysjl varchar 50 gysname varchar 100 rkdate datetime 8 czy varchar 30 jsr varchar 30 jsfs varchar 10 基于 Java 的企业进销存管理系统的研究与开发 13 入库明细表 入库明细表的名称为 tb_ruku_detail,主要用于存储入库的详细信息,结构如表 43 所示。 表 43 入库明细表 字 段 名 称 数 据 类 型 字 段 大 小 是 否 主 键 id varchar 50 主键 rkID varchar 30 spid varchar 50 dj money 8 sl float 8 销售主表 销售主表的名称为 tb_sell_main,主要用于存储销售单据的信息,结构如 表44 所示。 表 44 销售主表 字 段 名 称 数 据 类 型 字 段 大 小 是 否 主 键 sellID varchar 30 主键 pzs float 8 je money 8 ysjl varchar 50 khname varchar 100 xsdate datetime 8 czy varchar 30 jsr varchar 30 jsfs varchar 10 客户信息表 客户信息表的名称为 tb_khinfo,主要用于存储客户的信息,结构如 表 45 所示。 基于 Java 的企业进销存管理系统的研究与开发 14 表 45 客户信息表 字段名称 数据类型 长度 是否主键 id varchar 50 主键 khname varchar 50 jian varchar 50 address varchar 100 bianma varchar 50 tel varchar 50 fax varchar 50 lian varchar 50 ltel varchar 50 mail varchar 50 xinhang varchar 60 hao varchar 60 库存表 库存 表的名称为 tb_kucun,主要用于存储库存信息,结构如 表 46 所示。 表 46 库存表 字段名称 数据类型 长度 是否主键 id int 主键 rkthID varchar 30 spid varchar 50 dj money sl int 基于 Java 的企业进销存管理系统的研究与开发 15 第 5 章 主要模块详细设计 系统登录模块设计 登录界面必须有输入用户名和密码的文本框、负责登录和退出的按钮,另外考虑到美观性,登录模块创建了带背景的面板容器来美化登录界面 【 22】。 进销存管理系统中的登录界面如 图 51 所示。 图 51 登录界面 下面介绍登录界面的开发步骤。 ( 1)创建 LoginPanel 类,该类继承 JPanel 类并覆盖该类的 paintComponent()方法,重新绘制自己的外观,实现带背景图片的面板容器。 关键代码如下: public class LoginPanel extends JPanel { protected ImageIcon icon = new ImageIcon(res/)。 public int width = (), height = ()。 public LoginPanel() { super()。 setSize(width, height)。 } protected void paintComponent(Graphics g) { (g)。 Image img = ()。 (img, 0, 0, getParent())。 } } ( 2)创建 Login 类,该类继承 JFrame 类实现一个窗口界面,并且将步骤( 1)所创建的面板容器添加到窗口中,然后初始化窗口中的各个组件大小、位置、窗口标题等基本属性。 关键代码如下 : 基于 Java 的企业进销存管理系统的研究与开发 16 public class Login extends JFrame { private JLabel userLabel。 private JLabel passLabel。 private JButton exit。 private JButton login。 private Main window。 private static TbUserlist user。 //将当前用户对象定义为类属性 public Login() { setIconImage(new ImageIcon(res/).getImage())。 setTitle(登录企业进销存管理系统 )。 final JPanel panel = new LoginPanel()。 (null)。 getContentPane().add(panel)。 setBounds(300, 200, (), ())。 userLabel = new JLabel()。 (用户名: )。 (100, 110, 200, 18)。 (userLabel)。 final JTextField userName = new JTextField()。 (150, 110, 200, 18)。 (userName)。 passLabel = new JLabel()。 (密 码: )。 (100, 140, 200, 18)。 (passLabel)。 在输入密码的文本框中添加一个按键监听器,如果用户在密码框中按下回车键,该按键监听器将拦截该按键事件,并执行“登录”按钮的单击事件去完成系统。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。