欧亚超市进销存管理系统

2019-11-17 04:05裴志松梁滨
电脑知识与技术 2019年26期
关键词:系统开发数据库

裴志松 梁滨

摘要:本欧亚超市的进销存管理系统将系统整体通过不同层次和业务将系统划分为多个功能模块,用户管理模块、供应商管理模块、客户管理模块、商品管理模块等。各个模块主要是采用MVC的设计思想通过SSH开源程序架构进行实现,即JSP负责前台页面的显示,ACTION作为前台页面请求和后台逻辑处理的连接交互,MODEL负责业务逻辑的处理,DAO为数据持久层作为Java对象和数据库之间的数据传输,整个系统的设计分析清楚,思路清晰,有助于系统快速高效的开发。这个系统有用户注册。该系统具有用户登录、添加,删除、查询、修改以及商品管理问题等功能,测试表明该系统达到了预期的要求。

关键词:SSH;数据库;系统开发

中图分类号:G434        文献标识码:A

文章编号:1009-3044(2019)26-0271-04

开放科学(资源服务)标识码(OSID):

1 概述

信息技术的时代。互联网技术的快速应用促进了硬件和软件的快速发展。与超市传统的人工管理相比,欧亚超市进销存管理系统具有很大的优势。首先,计算机可以记录并保管货物的详细信息,节省了人力和物力。其次,电脑比人精度好,失误少。企业需要新的管理模式。替代落后的人工管理模式,设计完善的高效率欧亚超市的进口和销售管理系统。

2 概要设计

近年来,随着计算机和互联网进入企业,人们开始接触认知企业系统管理,在国内,原有的企业管理方式不能够再适应时代的发展,计算机辅助管理已经广泛普及。对企业的进货销售等一系列的行为进行系统化数字化管理是適应时代发展的需要,是企业谋求新发展的必然前提,企业的系统化管理让企业变得高效、快捷,同时也能节约企业管理成本。

2.1功能分析

所谓系统的功能分析,就是分析用户提出的具体的功能需求,分析这些功能是否合理,通过现有的技术能实现这些需求。分析时,主要从上到下分别论述。

系统级模块图是根据系统层模块分解,可直观地反映系统每个模块功能。

2.2 数据库分析

2.2.1实体的分析

系统实现了角色管理实体、用户管理实体、商品管理实体、采购管理实体、销售管理实体、库存管理实体、统计数据实体等其他实体,管理包括用户角色增加、修正、删除,可以增加超市员工、供应商和顾客的信息。用户管理主要是增加或删除、修改各种用户角色的管理信息。商品管理是对各种种类的商品进行进货、存入管理分类、保管商品等详细信息。

2.2.2系统实体之间的联系

通过对欧亚超市管理系统中所需实体以及属性的分析,我们已经对于欧亚超市管理系统的数据模型有了一定的了解,由此我们可以确定二十一大实体之间的联系。

(1)用户实体功能分析:系统管理员可以登录管理页面,对本系统的用户名、密码等进行信息的添加、修改、删除。

(2)角色实体功能分析:管理者添加、修改、删除自己添加的不同角色的权限信息。

(3)商品实体功能分析:商品实体可以增加商品的种类和商品的具体信息商品名、商品的型号、种类、单位、采购价格、销售价格、备注、删除、修改。调查生产厂家,库存。

(4)供应商实体功能分析:可以实现对超市的供应商实体名称、电话、地址的增加、删除和修改。

(5)客户实体功能分析:姓名、电话、地址、备注的增加、删除和修改。

(6)进货单实体功能分析:供应商姓名、日期等信息进行查看,应付金额和实付金额的删除和修改。

(7)出库单实体功能分析:可以实现对超市的出库信息进行统计记录。

(8)报损单实体功能分析:可以直观地看出报损的编号和收货日期。

(9)报溢单实体功能分析:可以直观地看出报溢的编号和收货日期。

(10)退货单实体功能分析:可以查看超市的供应商名称、收货日期、应付金额、实付金额。

(11)商品类别实体功能分析:商品名称、商品类别的增加、删除和修改。

(12)菜单实体功能分析:菜单名称、菜单类别、菜单图标的增加、删除和修改。

3 详细设计

通过系统分析和概要设计,对欧亚超市进销存管理系统已经有了一个比较详细的了解。本系统使用Struts作为表现层,使用Hibernate作为持久层对数据库进行操作,使用Spring管理业务层组件、持久层组件和表现层的控制器组件,使用MySQL数据库作为存储信息的载体。

整个视图层主要是由jsp页面来完成,而为了更好地实现的欧亚超市进销存管理系统的页面效果,本系统采用了Struts框架中的index页面框架标签来设计页面。将主体页面拆分成上中下三部分。整个视图层主要包括一下几个jsp页面文件。

1. login.jsp 登录页面。

2. index.jsp主框架页面。

3. exception.jsp 异常报错页面。

4. chusearch.jsp 销售单据查询页面。

5. chuku.jsp 销售出库页面(出库单的增删改查)

6. mingxi.jsp 退货单据查询

7. tuiku.jsp 客户退货(客户退货单的增删改查)

8. jinhuo.jsp 进货入库(进货单的增删改查)

9. jinsearch.jsp 进货页面。

10. tuihuo.jsp 退货出库(退货单的增删改查)

11. baojing.jsp 库存报警

12. baosun.jsp 库存报损(报损单的增删改查)

13. baoyi.jsp 商品报溢(报溢单的增删改查)

14. biansearch.jsp报损报溢查询

15. kcsearch.jsp 当前库存查询

16. home.jsp 欧亚超市管理系统文字

17. beifen.jsp 数据库备份管理

18. role.jsp 角色管理(角色的增删改查)

19. user.jsp 用户管理(用户的增删改查)

20. gystj.jsp 供应商结算查询

21. role.jsp 用户权限页面。(角色增加权限)

22. spcjt.jsp 统计页面(按日、按月进行交易统计)。

23. gys.jsp 供应商管理(供应商的增删改查)

24. kc.jsp 起初库存查询页面

25. kh.jsp 客户管理(客户的增删改查)

26. spxx.jsp 商品管理(商品的增删改查)

3.1 数据库连接模块的创建

Struts框架的MVC开发模式完成,其中包结构也是按照MVC模式进行分层,整体开发分五个包,分别是action,dao,biz,utils,pojo。其中Action可以看作Servlet控制层,Dao是数据库连接持久化层,pojo则是JavaBean与Model模式层的实体类共同构成视图层,biz是业务逻辑层,与dao层进行交互,Util是通用工具包。

本模块所包含的类如下:

1. UserAction类用于记录系统的用户信息,并完成登陆和注销的操作。

2. sAction类用于记录销售订单的信息,并且实现对销售订单的增删改查等功能。

3.Spxx类用于记录商品的信息,并且实现对商品的增删改查等功能。

4. JhAction类用于记录进货单的信息,并且实现对进货单的增删改查等功能。

5.Gys类用于记录供应商的信息,并且实现对供应商的增删改查等功能。

3.2用户模块的详细设计

用户模块主要给用户登录、创建用户、用户分配角色等功能,主要包括index.jsp,login.jsp。本模块主要包括UserAction类、BaseDao类,userBiz类的设计以及UserBizImpl类的设计。而本模块主要包含的是用户登录、创建用户的功能。

1.用户登录的过程

(1) 用户在jsp登录页面输入登录信息的账号和密码。

(2) 在jsp页面用JavaScript对用户输入数据格式信息和是否有效进行检查。

(3) 在数据库表格中判断是否存在某一列满足用户名和密码为用户输入的数据信息,存在则通过。

(4) 将用户的基本信息全部保存在session对象中。

(5) 全部正常,跳转到欧亚超市进销存管理系统首页。

2.创建的过程

(1) 用户在jsp管理用户页面输入具体信息。

(2) UserAction接受参数。

(3) 向用户表里插入用户信息。

(4) 全部正常,提示增加成功。

3.3欧亚超市进销存管理系统的页面及主要核心算法设计

出入库整个算法的流程:

(1) 管理员通过期初入库页面提交请求给KcAction进行某些商品的期初入库,记录期初入库单的主表信息以及明细表信息,如果dao层返回true,则再将期初入库单的商品明细保存在库存账表中。每一次保存明细在库存表之前会按照商品id、当前年月查询库存账表中是否已有该商品的期初入库数,如果存在则相加并更新数据库,不存在则新增。

(2) 如果有进货单,管理员通过进货单页面提交请求给JhAction进行某些商品的进货入库,记录进货入库单的主表信息以及明细表信息,如果dao层返回true,则再将进货入库单的商品明细保存在库存账表中。每一次保存明细在库存表之前会按照商品id、当前年月查询库存账表中是否已有该商品的入库数,如果存在则相加并更新数据库,不存在则新增。

(3) 客户进行退货处理后,马上提交给 JhAction的请求进行一些商品的退货入库功能,记录退货单的主表信息和明细表信息。如果dao层返回true,填写相应的入库单和入库清单,把入库单的商品清单保存在库存里。每次保管明细根据库存表前面的商品id、现在的年月在库存账上查看该商品的入库数量。如果有的话,配合更新数据库。

(4) 系统管理员增加销售出库单,立刻提交请求给XsAction,for循环通过商品id查询当月的库存账表。如果期初数量+入库数量-出库数量大于出库单相应商品数量则保存销售出库单的主表和明细表信息。如果dao层返回true,再将出库数量保存早库存账表中。

(5) 系统管理员增加退货单,立刻提交请求给XsAction,for循环通過商品id查询当月的库存账表。如果期初数量+入库数量-出库数量大于退货单相应商品数量则保存退货出库单的主表和明细表信息。如果dao层返回true,再将出库数量保存早库存账表中。

(6) 系统管理员生成报损单或报溢单则要对库存账表进行修改,进行相应地入库、出库操作维持库存与现状的一致性。

(7) Jhd 进货单对象。

(8) jhBiz.saveOrUpdateJhd(pojo,djsps):保存商品进货单信息,进入商品进货单JhBizImpl业务层。

(9) Jhdsp 进货单商品明细对象。

(10) jhdsp.setSpname(jo.getString("spname")):为进货单商品明细对象设置商品名称属性。

(11) Spxx spxx = (Spxx)baseDao.loadById(Spxx.class, jhdsp.getSpid()):通过basedao与系统数据库进行交互, loadById通过商品主键查找系统数据库的对象。

(12) Integer kcsl = spxx.getKcsl()+jhdsp.getSl(); 进货得到商品的库存数量,加上该入货单的库存数量。

(13) baseDao.saveOrUpdateAll(spList) 保存商品进货明细单信息。

(14) jhBiz.findDjByParams(tab,wheres.toString() 根据参数查找进货单据。

(15) wheres:用StringBuffer拼接的sql条件语句。

按日统计分析库存:

(1) 计算某个日期所有商品的入库单的数量、资金

(2) 计算某个日期所有商品的退货单的数量、资金

(3) findTjfxRi :按日统计分析的控制器层

(4) tongjiBiz.findTjfxRi(wheres.toString(),dates):按日統计分析的业务逻辑层接口,实现相应逻辑层的具体方法

(5) baseDao:基础dao层的类,包含所有数据执行的基本方法

(6) findByHql(hql.toString()):执行相应的hql进行数据的查找,返回list对象

(7) Iterator it = list.iterator():进行list的遍历,将每个商品的相应日期的入库数量加在一起

(8) this.outString(tongjiBiz.findTjfxRi(wheres.toString(),dates)):把最后的结果以字符串格式返回给前端页面显示

(9) String year = String.valueOf(cs.get(Calendar.YEAR)):取得日期当中的年

(10) xszj += Double.valueOf(obj[1].toString()):将对象中的字符串对象转化成浮点数对象进行计算

3.4 开发工具及环境

操作系统:Windows7

编程语言:Java、JSP、Html、Css、Java Script

数据库系统:MySQL

开发工具:MyEclipse 10.0

应用框架:SSH MVC

服务器运行环境:Tomcate6.0

4 系统实现

本欧亚超市的采购和存取管理系统经过需求分析、功能设计、具体系统编程的实现,得到了基于shh框架的欧亚超市进销存管理系统源码,该源码通过myeclipse集成工具部署到tomcat服务器上运行,各模块的运行结果如下所述。

5 结束语

在这次欧亚超市进销存管理系统的设计和开发过程中,我学到了很多知识。同时也认识到了自己的不足。首先,对软件的开发流程有了更详细的了解。在进行系统开发时,首先对系统实现的功能进行详细调查之后,设计合理的数据库表结构,最后使用SSH框架实现系统的业务逻辑。

感谢校方的支持和老师的有益帮助。特别是我尊敬的导师裴志松老师对我本次毕业设计的开发程序和毕业论文的全过程给予了很大的帮助,我从老师那里学到了很多Java的技术知识,他认真负责的工作态度和深刻的理论知识水平都让我受益良多。他无论是理论上还是实践上都给了我很大的帮助,使我得到了很大的提高,这对我今后的工作和学习有很大的帮助。在此表示衷心的感激!

参考文献:

[1] ZHOU Qian,DUAN Wan-suo,MU Mu,FENG Rong.Influence of Positive and Negative

Indian Ocean Dipoles on ENSO via the Indonesian Throughflow:Results from Sensitivity.

[2] Experiments[J].Advances in Atmospheric Sciences,2015(6):783-793.YAN XiaoMei,SUN Che.An altimetric transport index for Kuroshio inflow northeast of Taiwan Island[J].Science China(Earth Sciences),2015(5):697-706.

[3] 王永洋.基于B/S结构的小型连锁超市进销存系统的研究[D].沈阳建筑大学,2012.

[4] 王伟红,王守城,于玲玲.欧亚超市进销存管理系统的分析与设计[J].现代商业,2006(8):54-55.

[5] 尤凤英.欧亚超市进销存管理系统[J].济南职业学院学报,2007(1):78-80+94.

[6] 杨永福.基于J2EE企业管理信息系统的研究与开发[D].武汉理工大学,2006.

[7] 程科仁.超市管理系统的设计与实现[D].大连理工大学,2013.

[8] 胡建宏.商品欧亚超市进销存管理系统[D].兰州大学,2007.

[9] 史鑫.欧亚超市进销存管理系统的设计与应用[D].吉林大学,2009.

[10] 闵春华.基于J2EE的零售业管理信息系统的设计与实现[D].电子科技大学,2011.

【通联编辑:王力】

猜你喜欢
系统开发数据库
基于开源系统的综合业务数据采集系统的开发研究