摘要:企业进销存系统具有数据处理精确可靠、安全性高和操作方便等特点。企业进销存管理系统是对企业物流、资金流和信息流进行全方位管理的系统,能够极大的整合企业资源,提高企业管理水平。文章基于SSM框架,My SQL数据库及java卡法语言实现了一个企业进存销系统。文章首先描述了基于SSM框架的整体架构实现,将数据库层、控制层和网页层相连接,实现交互;接着讨论了具体实现的方案,讲述了整个实现的技术要点。
关键词:java; SSM框架; 企业进销存系统; My SQL;
The management System of Enterprise Purchase, Sale and Stock Based on Java
XIE Deng-ke DING Yi
Furong College of Hunan University of Arts and Sciences
Abstract:The enterprise purchase, sale and stock system has the characteristics of accurate and reliable data processing, high security and convenient operation. Enterprise inventory management system is a comprehensive management system for enterprise logistics, capital flow and information flow, which can greatly integrate enterprise resources and improve enterprise management level. Based on SSM framework, My SQL database and Java card language, this paper implements an enterprise purchase, stock and sale system. This paper first describes the overall architecture implementation based on SSM framework, connecting the database layer, control layer and web page layer, and then discusses the specific implementation scheme, and describes the technical points of the whole implementation.
随着中国70周岁的阅兵仪式的举行,不禁让人想起中国的发展之迅速。新时代的到来,仿佛给中国注入了源源不断的动力,同时不同领域的企业也蜂拥而至,犹如雨后春笋。也正是这些因素,与以前的时代再不能相并而论,不在能简单的运用记事簿来完成一个企业又或者说是一个大行超市的进销存管理了。
基于java的企业进销存管理系统是对企业物流、资金流和信息流进行全方位管理的系统,能够最大限度的整合企业资源,提高企业管理水平,最大限度的减小各环节的错误率。好的进销存管理系统是增强企业竞争力和提高企业经济效益的的最强帮手。此进销存管理系统具有管理企业进货、企业销售、企业库存和供应商信息等功能。主要运用的技术有:JDBC操作数据库,java Swing窗口的实现。
1 系统功能需求分析
通过对记账本的基本了解,对各大小型超市的调查问卷,以及公司企业进销存系统功能需求的查询;企业进销存主要从前端和后台两个系统功能模块进行分析,前端是为客户设计的一个模块,主要实现了用户登录、进货管理、销售管理、库存管理等功能;后台则是为管理员设计的一个功能模块,主要有信息查询、基本资料、系统维护以及其他等多个功能模块;具体而言,就是将系统分为两个权限部分,对于外部信息的处理由普通员工完成,内部信息的管理有高层管理员来完成,这样一来就能够保证系统的安全系,以及数据的安全性。
普通员工在登录系统之后通过进货管理功能来完成对进货单、进货退货的基本数据管理,通过销售管理功能来完成对销售单、销售退货的管理,通过库存管理来完成对库存盘点、价格调整的管理。而管理员则是单独的账号,登录之后通过信息查询功能来实现对商品销售、查询和排行的管理,通过基本资料功能来实现对商品、客户、供应商和经手人设置的管理,通过系统维护功能实现对数据库备份与恢复、密码修改以及退出系统的管理,通过其他功能则能够实现窗口、技术网站等的管理。
管理员在登录系统后能够直接进入系统后台,对数据库的数据进行操作,这样方便一些较小或者极大的订单的数据核实,防止客观原因导致的系统数据不匹配,增强可用性和安全性。
2 系统的设计与实现
2.1 系统功能结构设计
本系统采用SSM框架设计模式,SSM框架属于MVC框架。其包含四层体系结构,即网页层、控制层、服务层和数据库访问层。这种模式的有点在于网页层、业务逻辑的处理和前后台的页面数据的交互分开处理。使得整个项目的各个模块之间能够相互独立,但是又紧密相连的特点。利用这种设计模式将本系统分为以下几个层次:Bean、Dao层、Mapper文件、Service接口类、ServiceImpl实现类和Controller控制类。其中,Bean层主要存放的是与数据库中的每一个数据表相对应的实体类,Dao层和Mapper文件主要是为了对数据库进行操作,完成对数据表的增加、删除、修改、查询的功能,在SSM框架的Mybatis就是作用于这一层,Service层和ServiceImpl主要是实现业务逻辑处理的工作,而Controller层则是为了前后台数据交互。
图1 系统功能结构图
2.2 数据库设计
企业进销存管理系统采用的是MySQL关系型数据库。根据系统完整性需求和数据完整性需求,本系统共创建了14张数据表和两个视图用来支持各个功能数据的处理。数据表包括供应商信息表(存储供应商的详细信息)、客户信息表(客户用于存储客户的详细信息)、商品信息表(存储商品的详细信息)、库存信息表(存储库存的详细信息)、进货主表(存储进货的单据信息)、进货详细信息表(存储进货的详细信息)、销售主表(存储销售的单据信息)、销售详细表(存储销售详细信息)等。
2.3 具体功能实现
整个系统包含有多个模块,通过主界面的按键来实现多功能的调用。主要有进货管理、销售管理、库存管理、信息查询、基本资料、系统维护等。而系统的运行界面是通过公共类来实现与MySQL数据库连接的。主要有一下几个公共类:
(1)创建Item公共类Item公共类的作用是对数据表最常用的ID和name属性进行封装,从而给Swing列表、表格和下拉表框等组件的赋值。该类重写了toString()方法,在该方法中输出name的属性,所以Item类在Swing()组件显示文本时只包含名称信息,不包含ID属性。但是,在获取组件的内容时,获取的Item类的对象,从该对象中可以很容易的获取ID属性,然后通过该属性访问数据库中获取唯一的数据。
(2)创建数据模型公共类新建一个包(Date包)用来存储数据模型公共类,它们对应着数据库中不同的数据表,这些模型将被访问数据库的Dao类和程序中各个模块甚至组件使用。和Item公共类的使用方法类似,数据模型也是对数据表中的所有字段(属性)进行封装,但是数据模型是纯粹的模型类,它不需要重写父类的toString()方法,还需要重写hashCode()方法(这两个方法分别用于生成模型对象的哈希码和判断模型对象是否相同)。数据模型类主要用于存储数据,并通过相应的get、set方法实现不同属性的访问方式。
(3)创建Dao公共类在企业进销存管理系统中,Dao公共类作为数据库访问类,用来实现数据库的驱动、连接和关闭以及操作数据表(对于数据库的操作需要将sql语言跟java语言相互转换)
同时系统的界面设计也有如下:
(1)系统主窗体概述:主窗体是用来实现人机互的的主体,一个系统的完善不仅依赖于后端代码的完善同是也建立在前端窗口的人机交互当中,用户通过主窗口体提供的各类菜单、表格、文本框和内部窗体等组件对程序进行管理和操作。企业进销存管理系统主窗体采用MDI(即“多文档界面”),类似于Word应用程序,同时打开多个内部窗口体进行操作,还可以对打开的功能窗体进行各种操作。
(2)设计菜单栏:企业的进销存管理系统的菜单栏是由MenuBar类实现的,该类是一个自定义的菜单栏类,它继承JMenuBar类后,成为Swing的菜单栏组件。
(3)设计工具栏工具栏用于放置常用命令按钮,如:进货单、销售单和库存盘点,向企业进存销系统添加工具栏的方法与本系统中添加菜单的方法类似,也需要继承Swing的JTool组件编写自定义的工具栏。
(4)设计状态栏:企业进存销管理系统的状态栏显示了当前选择的功能窗体、登录用户名、当前日期和版权所有者等信息。改状态栏是有JPanel面板、JLabel标签和JSeparator分隔条组件组成。
(5)进货单模式设计:进货单模块负责添加企业的进货信息,它根据进货人员提供的单据,将采购商品的名称、编号、产地、规模、单价和数量等信息记录到数据库的库存表中。
图2 系统业务流程
(6)添加进货的空模板:在进货单窗口体中单击“添加”按钮,会在表格中添加一个空行,可以在空行的第一个字段选择商品名称,其他的商品信息会根据选择的商品自动填充。要实现以上功能就需要为“添加”按钮编写ActionListener动作监听器,在监听中实现相应的操作。“添加”按钮的初始化有getTjButton()方法实现,该方法在初始化“添加”按钮时,为改按钮添加动作事件监听器,等等功能。
3 结束语
正如本文所述,传统的记载方式将数据进行统计对于一个较大的公司或者企业甚至只是一个大型超市来说都是一个庞大的工程,而这个进销存系统无论是友好性还是功能性都是毋庸置疑的,同时他的出错率极低安全性较高,可见这个系统有着极大的可推广和可行性。
参考文献
[1]李刚.轻量级java EE企业应用实践[M].电子工业出版社,2012:11-12
[2]王志刚,江友华.MySQL高效编程[M].人民邮电出版社,2012:10
[3]张银鹤.JSP完全学习手册[M].清华大学出版社,2008:33
[4] Bruce Eckel.Java编程思想[M].机械工业出版社,2007:16
[5]杨昭.二级Java语言程序设计教程[M].中国水利水电出版社,2006:56
[6]李忠尉,周小彤,陈丹丹.Java入门到精通[M].清华大学出版社,2010:10-11
[7]王路群.Java高级程序设计[M].中国水利水电出版社,2006:9.