基于SSM的沃尔夫商城进销存系统

2024-02-18 23:30

本文主要是介绍基于SSM的沃尔夫商城进销存系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于SSM的沃尔夫商城进销存系统

摘要:随着经济的发展,企业之间的竞争越来越激烈,一旦在某方面落后于其他企业,很快就会被淘汰。其中,企业管理是在竞争中抢夺地位的最重要的因素之一,对于中小销售企业更是如此,销售企业的企业管理就是对进货、销售、库存等方面进行管理的过程,即进销存管理,这些正是该类企业的主要业务,其管理水平高低将会直接影响到其业务服务的质量,因此,在面对大型销售人力物力资源充足的压力下,中小销售企业想要在竞争中占有一席之地,进销存的管理变得尤为重要
传统的进销存管理主要通过纸质手动记录方式来处理各种信息,但这样的方式信息查找不方便,信息记录容易出现偏差,甚至记录有丢失受损的风险,不仅使得业务效率低下,业务质量不高,还使得管理成本很高。此外,传统的进销存管理无法让各部门的业务很好的串联起来,无论是采购、进货、出货、销售,都是各司其职,员工无法得到业务进程信息,导致业务难以推进。如今,科技的发展使得各种进销存软件出现在市面上,虽然提高了管理的效率减少了信息丢失受损的风险,但越来越复杂的操作流程,使得部分员工上手困难,并且一些进销存软件服务层次仅限于信息存储,本次课题主要解决操作复杂的问题,设计开发出操作简单,并且能够记录业务进程的进销存系统。
沃尔夫进销存系统开发将会基于MVC设计模式、Spring框架来实现,并且摒弃传统的C/S模式,使用B/S模式来实现服务,减少计算机环境部署的成本,只需要使用浏览器即可使用系统,也降低了计算机性能负荷。

关键词:进销存系统,商品管理

The Inventory management System base on SSM for Wolf Market
Abstract:With the development of economy,the competition between of enterprise becomes more and more intense,once the enterprise which something falls behind others,it will be eliminated soon.Among them,the enterprise management is one of the most important factor in competition,especially for small- and middle-size sale enterprise, the enterprise management for sale enterprise mean that the process of managing purchase、sale and storage,etc.,that is inventory management,which is the main business to sale enterprise.The level of inventory management will be affect to the quality of business.so,In the face of the pression from large enterprise,which has sufficient resource, inventory management make a essential part of getting a role to play in competition for small- and middle-size sale enterprise.
Traditional inventory management usually base on paper record to deal with different information,but this way will lead to searching inconveniently、recording wrong information,even have the risk of loss and damage,which will make the business efficiency and quality low,and we have to pay for expensive management cost.Beside,traditional inventory management can’t make department communicated with each other,that mean purchase、sale、and shipment are independent of each other,staff can’t get the process information in real time,which make difficult to advance the business.Now,the development of technology has made various inventory management software appear in market,which although improved management efficiency and reduced the risk of lossing.but more and more complex operation make some employees hard to get started .Even some software only provide information storage for user.this project is mainly solve the promblem of complex operations,and design the inventory management system that simple to operate and record the process of business.
The development will be implemented base on MVC design pattern and spring framework , and use the B/S model instead of C/S model to implement the service,which can reduce the cost of deploying environment of computer.only need to use the browser,and it also make the requirement of computer performance lower.
Keywords:Inventory management system, Commodity management

目录

1 绪 论 1
1.1研究的的背景和意义 1
1.2目前国内外现状 2
1.2.1国外进销存管理发展状况 2
1.2.2国内进销存管理发展状况 3
1.3论文主要的研究内容 3
2 系统需求分析 5
2.1系统的需求分析 5
2.2系统的功能需求 6
2.3用例分析 11
3 系统设计 22
3.1系统总体架构设计 22
3.2前端使用技术 22
3.3顺序图 22
3.3.1基础信息管理模块顺序图 23
3.3.2采购模块顺序图 24
3.3.3销售管理模块顺序图 25
3.3.4仓库管理模块顺序图 27
3.3.5财务管理模块顺序图 30
3.4状态图 31
3.5类图 33
3.5.1基础信息管理类图 33
3.5.2采购管理类图 35
3.5.3销售管理类图 36
3.5.4仓库管理类图 37
3.5.5财务管理管理类图 39
3.3数据库设计 40
3.7本章小结 48
4 系统实现 49
4.1销售管理模块功能实现 49
4.1.1新建销售订单 49
4.1.2查询销售订单 49
4.2仓库管理模块功能实现 50
4.2.1出库处理 50
4.2.2入库处理 51
4.2.3调拨申请 52
4.2.4调拨审核 52
4.2.5调拨处理 54
4.2.6仓库查询 54
4.3采购管理模块功能实现 56
4.3.1采购申请 56
4.3.2采购申请 56
4.3.3查询采购订单 57
4.4财务管理模块功能实现 58
4.5基础信息管理模块功能实现 59
4.6本章小结 62
5 系统测试 63
5.1测试计划 63
5.2测试用例 64
5.2.1用户登录测试 64
5.2.2采购业务测试 65
5.2.3销售业务测试 67
5.2.4调拨业务测试 70
5.2.5信息管理测试 72
5.3本章小结 74
6 结束语 75
6.1 全文总结 75
6.2 课题展望 75
参考文献 76
致谢 77

1 绪 论

1.1研究的的背景和意义
传统的进销存系统通过纸质将信息进行记录,不仅企业管理各个部门的数据都是独自存在,各业务的进程无法随时通过固定渠道得知,各部门之间的没有足够的联系交流,导致业务执行效率底下。数据不够集中也使得企业管理者无法运筹帷幄,将数据统一分析。随着信息技术的快速发展,中小企业要想在竞争中拥有一席之地,建立一个进销存系统整合管理供应链资源,来确保部门之间的交流协作,是未来企业发展的必然趋势[1]。市面上也出现了各种五花八门的进销存软件,他们功能强大但同时也带来了操作复杂,不容易上手的问题,而且一些进销存软件甚至仅局限于信息的存储,并不能给予进一步的帮助,本次课题的主要目的,即化繁为简,设计出简单的进销存系统,并且能有效的完成货物供应链上的服务,并且能记录业务进程。
如今的数字化时代,越来越多的信息记录管理从人为手动记录转变成计算机记录,给予人们许多方便,信息技术的发展本身就是为了能让人们更加“懒惰”,能有更多的精力去处理其他事务[2]。市面上也出现了各种各样的系统工具,他们功能强大,能够给使用者带来莫大的便利,但却忽略了操作上给使用者带来的不便,面对复杂繁多的子系统,使用者不得不花上时间去了解使用方法,向使用过系统的人员请教,一定程度上阻碍了企业的发展,即便实现了许多强大的功能,新使用者也可能会手足无措。因此,一套简单方便的系统可以降低使用者的操作门槛,使其快速上手系统,保证业务的效率[3]。
《进销存系统》是为沃尔夫有限公司实现货物链信息化管理而开发的一套系统,以提供更好的货物管理质量与详尽的财务信息,同时功能操作简单,方便使用者快速上手。
1.2目前国内外现状
1.2.1国外进销存管理发展状况
早在18世纪60年代之前,即工业革命之前,进销存就已经以某种形式存在,当时的商人不得不亲自记录下购买记录,并且每天都要密切关注当天销售了多少商品和还剩多少商品,基本上一人参与所有业务的处理,使得业务发展十分缓慢,并且由于没有集中的数据,商人只能靠预测推断未来商品的需求。
到了工业革命时期,商品的生产效率大大提升,业务量也急剧增长,曾经一人独揽所有业务方式已经不现实,因此对进销存的管理需求也在增加,直到1889年赫尔曼·何乐礼发明出了基于打孔卡技术的打穿孔制表器,即是计算机的前身,可以用来记录复杂的数据,打穿孔制表器当时是为了解决美国的全国性人口普查,但这同时也为进销存管理技术打下了一个良好的基础。在1930年,哈佛大学一个团队基于打孔技术做出了打孔卡系统用来分辨公司订购的商品,并且根据打孔卡记录一些库存和销售记录[4]。这是第一次出现了基于其他介质对仓库信息进行自动化管理记录的系统,相对比以前的记录方式,更加方便快捷,然而在当时这个系统的成本过于昂贵,使得无法普及到各规模企业。并且面对持续增长的业务挑战,该系统的速度也逐渐无法跟上。但这系统对于进销存管理也是一个重要的里程碑。
到了20世纪40年代末,出现了基于对紫外线敏感的墨水与读取器来辨别各种商品和标记出售的商品,这项技术在当时计算处理能力下不足以满足该系统的需求,最终也以失败告知,但该构想成为了未来现代条形码系统的先驱。
1974年,商品统一条形码(UPC)的出现,对商品的辨别有了一个统一的标准,并且随着科技发展,扫描器的价格也在逐渐降低,这促使进销存系统有了巨大的发展。到了20世纪80年代,随着计算机逐渐在美国普及,UPC越来越流行,配合着计算机的处理能力,人们开始研发进销存软件,通过计算机来记录库存信息和销售信息,开始走进了计算机来处理信息的时代[5]。
到21世纪初期,射频识别(RFID)的出现使得条码扫描更加成熟,使条码能够记录更多更复杂的信息。
1.2.2国内进销存管理发展状况
在经济全球化的浪潮下,我国各中小企业面临巨大挑战,越来越多的企业者意识到科学的企业管理的重要性,建立一个规范、高效、科学的管理制度和拥有富有竞争力的经营理念已成众多企业所渴求的,企业采用计算机来管理采购、销售、库存各个环节已成必然的趋势[6]。但由于商品种类繁多复杂、业务过多等各种原因,即便使用计算机消除掉了传统人工记录出现计算失误等不确定因素错误,也难以避免出现人为的操作失误,因此在保证能实现各种进销存的功能同时,也应该提供一定程度的验证机制,尽可能的减少人为失误,以保证出现不必要的勘误。
进销存系统在企业发展中扮演着重要的角色,如何帮助企业管理货物,做到及时采购,合理销售,不出现货物积压或货物急缺,就能为企业带来最佳的收益。面对大企业,信息管理对于各方面都不太占优的中小企业成为了至关重要的战略点[7]。从大量的货物信息有效的提取出最重要的信息,将会影响公司后续发展决策的关键因素,这也正是进销存系统所需要完成的工作,所有的货物信息都将数字化,这是势在必行的趋势。
随着网络的发展,进销存系统也摆脱了传统的C/S模式,逐渐转变成B/S结构体系,相对于C/S模式,B/S只需要使用浏览器即可使用系统,安装便捷,成本低,对电脑的负荷更低,更加低要求的使用条件使得进销存系统国际化、网络化、个人化[8]。
1.3论文主要的研究内容
本论文主要介绍在IntelliJ IDEA基于SSM开发沃尔夫商城进销存系统的过程,系统主要实现对商品进行管理,主要包括仓库管理、销售管理、采购管理、财务管理和基本信息管理几个模块,完成了各种信息诸如商品信息,各仓库库存信息的存储,销售采购业务的进程跟踪,各业务的产生的财务支出收入统计。并确保操作简单,使得各数据管理更加便捷规范,提高业务的效率,减少数据管理的成本。其主要的研究内容如下:
(1)利用IntelliJ IDEA以MVC软件设计模式、B/S网络结构模式和SSM框架完成系统的开发。
(2)介绍实现系统的各种技术,包括MVC和SSM等各种技术。
(3)对进销存系统的实现进行需求分析,并在此基础上进行系统的详细设计,包括数据库表设计和各模块的功能设计。
(4)介绍对各功能的测试方法。

2 系统需求分析

需求分析,也被称为软件需求分析,是通过深入调查与客户交流等各种途径,将客户描述较为模糊的需求规范清晰化并整合,来确定整体项目所需要的功能的过程[9]。在进行开发前,这是至关重要的一步,如果没有正确理解用户的需求,那么开发出来的系统不符合用户的需要,导致系统的开发无法按时完成。针对本次课题,对用户做出的需求分析如下:
由于沃尔夫商城的业务在不断的发展,货物仓库在国内分布的位置在不断扩张,曾经的纸质方式信息记录不仅费时费力,难以记录管理货物的信息。诸如采购、销售、调拨等业务也使得仓库的库存信息无法准确记录,同时业务的扩大,也使得供应商和客户的信息开始多了起来,但由于缺少了固定的信息获取渠道,使得业务涉及的货物和合作方状态难以跟踪,数据的不集中不仅让业务执行效率低下,企业者也没有便捷的方式获得整体收入支出数据进行分析来确定采购销售的决策。因此设计开发了这套沃尔夫进销存系统,其目的就是为了以简单的方式集中记录各种信息,提高信息的管理水平,减少信息管理的成本,并且提供货物订单跟踪,提高业务效率。
2.1系统的需求分析
沃尔夫进销存系统的需求如下:
(1)信息的查询和管理。所有的采购人员、销售人员等所有人员都可以查询到商品、客户、和供应商这类基本信息,拥有特定权限的系统管理员可对部分基本信息进行更新删除操作,部分特定的信息如销售订单、采购订单、出库入库订单等信息只有特定的人员才可以查看。
(2)采购管理。采购人员可以填写采购单提出采购申请让采购主管进行审核,审核通过的订单在联系供应商发货后,可让仓库管理人员进行入库处理。
(3)销售管理。销售人员可以填写销售单指定仓库发出客户需要的商品,生成的订单可以让仓库管理人员可进行相应的出库处理。
(4)仓库管理。任何用户都可以查询各仓库库存信息,仓库管理员可以填写调拨申请仓库的货物转移到指定的仓库中,由仓库主管审核通过可指派人员去完成相应的调拨处理。
(5)财务管理。财务人员可以了解到业务的收支统计,并且可以查询到各业务的订单收支明细,该功能仅限财务人员可以使用。
2.2系统的功能需求
基于以上的分析,可以确定进销存系统的功能模块分为基本信息管理、采购管理、销售管理、财务管理和仓库管理五个模块。系统的功能模块图如下图2-1所示:
在这里插入图片描述
图2-1 系统的功能模块结构图
1.基本信息管理
主要管理各种基本的信息,是整个系统的基础,用户可以通过这里查询到各种基本信息,也能根据需要自行搜索指定的信息,如商品信息或供应商信息等。能够让用户更方便了解到商品信息与合作方的信息,提高业务效率。
(1)客户信息
客户信息可查询到销售客户的各种信息,内容包括:客户姓名、联系电话、收货地址等。系统管理员可对客户的信息进行编辑管理和新增客户信息,其他用户只能进行查询不具备编辑权限。
(2)员工信息
员工信息主要功能有:查询员工信息,新增员工,删除员工,员工信息编辑,其中还包括员工的角色身份编辑,不同的角色身份决定了在系统中所能使用的功能,避免出现员工进行与自身角色不符的业务,以上功能只有系统管理员有权限,其他用户不具有相应的权限。
(3)商品信息
商品信息可以查询到商品的信息,包括商品编号,商品采购价格,销售价格,单位规格,重量等。所有用户都有查询的权限,只有系统管理员可以对信息进行编辑修改和新增商品信息。
(4)供应商信息
供应商信息可以查询到供应商的信息,如供应商名,联系人,联系电话等,所有用户都可以查询到相关供应商的信息,只有系统管理员具有新增编辑删除供应商信息的权限。
2.采购管理
该功能由采购人员和采购主管使用,主要包括了采购业务流程需要的各种功能,包括新建采购订单、采购审核、订单查询。其他角色没有采购业务的相关权限
(1)新建采购订单
采购人员可以在这里添加需要采购的商品和输入需要采购的数量,指定入库的仓库,系统会自动生成采购订单号,并且会自动计算选择的商品采购需要的价格和所有商品的总价。
(2)采购审核
采购主管可以在这里查询到待审核的采购订单,可以查询到各订单申请采购的商品和入库仓库,可以对订单进行同意采购或拒绝采购处理,在选择拒绝的后可以填写具体的申请未通过的的原因。
(3)查询订单
采购人员可以查询到自己创建的订单状态,并且能够查询每个订单的采购明细和订单进程跟踪,通过审核的订单可以在联系供应商请求发货后,将得到的单号填写进订单,生成相应的入库单。
3.销售管理
该功能主要由销售人员使用,包括新建销售订单和订单查询,用于完成在销售业务上相关流程。其他角色不具备有销售业务相关的权限
(1)新建销售订单
销售人员可以在这里添加选择相关的销售信息,包括销售商品,销售数量,指定出货仓库,选择销售客户,系统会自动生成销售单号和计算销售价格。提交订单后系统会自动生成出库订单。
(2)订单查询
销售人员可以在这里查询到自己创建的销售订单的信息,包括销售的商品和数量、出货仓库、销售客户等,还能跟踪订单是否已经出库,在仓库管理员出货填写快递订单号后,销售人员可以在进程跟踪查询到相应快递单号,还可跳转到快递100上查询其订单物流。
4.财务管理
该功能主要由财务人员使用,可以在这里了解到各业务中产生的支出与收入的明细,其中包括财务统计和订单收支明细。该功能只有财务人员有使用权限
(1)财务统计
系统将会自动统计相关的数据表格和饼状图等,如各商品类型的销售量、业务支出中各类支出占比、总收入、总支出等信息。
(2)订单明细
财务人员可以在这里查询到各业务订单产生收支明细,可以指定订单的收支明细,如运费支出,利润等。
5.仓库管理
此功能主要由仓库管理员和仓库主管使用,其中,库存查询是所有用户都有使用的权限,其余包括出库处理、入库处理、调拨申请、调拨处理只有仓库管理员有权限使用,而调拨审核只有仓库主管有使用权限,助于完成出入库过程中信息的记录。
(1)库存查询
库存查询可以查询到商品在各仓库中的库存信息,如货物名称,所在仓库,库存数量等信息。所有用户都可以进行查询。
(2)出库处理
仓库管理员可以在这里处理销售业务生成的出库订单,在货物确定出库后,可以选择出货的快递公司,填写对应的快递单号,系统会自动验证快递单号的格式是否符合对应快递公司。
(3)入库处理
入库处理可以让仓库管理员处理已经发货的采购货物,在确认收到货物完成盘点后,可以填写各类商品实际入库的数量,一旦系统识别数量有偏差,便会请求填写报差原因。系统会根据实际入库数量对库存进行更新,如果货物被退回,就可以选择拒收退库。
(4)调拨申请
仓库管理员可以在这里创建调拨申请单,可以选择调拨仓库、入库仓库,和需要调拨的商品,并填写需要调拨的数量,同时可以看到调拨仓库对应商品的库存数量进行参考,系统会自动生成调拨单号。
在这里插入图片描述

图2-2 系统用例图
(5)调拨审核
仓库主管可以处理未审核的的调拨申请,可以确认调拨商品在两个仓库中的数量来判断作为是否同意审核的参考依据,选择同意则可以指派其他的仓库管理员来处理此调拨业务,不同意则可以填写原因。
(6)调拨处理
在这里仓库管理员可以看到与自己申请的调拨单和被指派去处理的调拨单,可以查看调拨进程,被指派处理的订单在确定货物让快递公司派送之后,可以填写快递单号供申请人通过快递100查看物流信息。
2.3用例分析
有了明确的功能模块分析,下面就可以进一步对各角色与系统中的功能之间关系进行用例分析,并列出用例规约说明,系统的用例图如下图2-2所示。
具体的用例规约说明如下:
表2.1新增基础信息用例规约说明
用例编号 1.1 用例名称 新增基础信息
功能描述 新增各类基础信息
执行者 系统管理员
前置条件 用户的角色为系统管理员
后置条件 基础信息完成新增
涉众利益 用户
基本路径 1进入想要新增的基础信息管理界面
2输入对应基础信息的相关信息,完成基础信息的新增
2.1点击新增按钮
2.2输入对应基础信息的内容
2.3在验证部分信息符合规则提交后,对应信息表新增信息,新增基础信息完成,具体规则可见业务规则
涉及列表 员工表、商品表、仓库表、供应商表、客户表
业务规则 员工表:密码长度不少于6位且不多语12位
员工邮箱要符合邮箱规格
商品表:采购价格不可小于等于0
销售价格不可小于等于0
商品重量不可小于等于0
供应商表:联系电话长度必须为11位
联系邮箱要符合规格
客户表:联系电话长度必须为11位
联系邮箱要符合规格

表2.2编辑基础信息用例规约说明
用例编号 1.2 用例名称 编辑基础信息
功能描述 对现有的基础信息进行编辑管理
执行者 系统管理员
前置条件 用户的角色为系统管理员
后置条件 基础信息完成更新
涉众利益 用户
基本路径 1进入想要编辑的基础信息管理界面
2对基础信息进行编辑,完成基础信息的更新
2.1在需要修改的基础信息中点击编辑按钮
2.2编辑需要的的信息
2.3在验证部分信息符合规则提交后,对应信息表的信息更新,编辑基础信息完成,具体规则可见业务规则
涉及列表 员工表、商品表、仓库表、供应商表、客户表
业务规则 员工表:修改的员工邮箱要符合邮箱规格
商品表:修改的采购价格不可小于等于0
修改的销售价格不可小于等于0
修改的商品重量不可小于等于0
供应商表:修改的联系电话长度必须为11位
修改联系邮箱要符合规格
客户表:修改联系电话长度必须为11位
修改联系邮箱要符合规格

表2.3申请采购用例规约说明
用例编号 2.1 用例名称 申请采购
功能描述 提出对指定的仓库商品采购申请
执行者 采购人员
前置条件 用户的角色为采购人员
后置条件 采购表新增采购申请
涉众利益 采购人员,采购主管
基本路径 1进入采购申请页面
2将采购申请的信息补充完整,提交完成申请
2.1选择采购入库的仓库
2.2选择供应商
2.3添加选择需要采购的商品
2.4输入需要采购的数量
2.5在验证填写无误后即可提交,采购表和采购明细表新增对应信息,申请采购完成,等待采购主管审核,具体可见表2.4采购审核用例规约说明
涉及列表 采购表,采购明细表
业务规则 采购的数量不能小于等于0
供应商不可不选择
入库仓库不可不选择
添加商品后不可不选择商品

表2.4采购审核用例规约说明
用例编号 2.2 用例名称 审核采购申请
功能描述 对采购人员提交的申请进行审核,根据实际情况确认是否同意采购
执行者 采购主管
前置条件 用户的角色为采购主管,存在采购申请需要审核
后置条件 采购表对应申请的状态更新
涉众利益 采购人员
基本路径 1进入采购审核界面
2查看采购申请的明细,根据采购审核规则进行审核,决定是否通过采购申请。具体规则见业务规则。
3根据审核结果选择通过或拒绝
3.1a选择审核通过
3.2a采购表状态更新,完成审核采购申请
3.1b选择拒绝采购
3.2b选择拒绝采购的简要原因
3.3b输入具体的拒绝原因
3.4b采购表状态更新,新增备注,完成审核采购申请
涉及列表 采购表
业务规则 采购审核的原则如下:
1.入库仓库的对应商品库存是否不足
2.采购的商品还在继续销售
3.判断是否在申请的供应商进行采购
以上列出原则不是唯一标准,根据实际的业务情况作出具体的判断

表2.5处理采购用例规约说明
用例编号 2.3 用例名称 处理采购
功能描述 对通过审核的采购申请进行处理
执行者 采购人员
前置条件 存在通过审核的采购申请,并且已经联系供应商获得出货单号
后置条件 采购表信息更新,进货表和进货明细表信息更新
涉众利益 采购人员,仓库管理员
基本路径 1进入采购单查询页面
2确认出货信息,完成采购处理
2.1在对应的采购申请选择确认出货
2.2输入供应商提供的出货单号
2.3采购表信息更新,进货表和进货明细表新增信息,完成采购处理,等待仓库管理员完成入库处理,具体见表2-8入库处理用例规约说明
涉及列表 采购表,进货表,进货明细表
业务规则 输入的出货单号不可少于14位

表2.6创建销售订单用例规约说明
用例编号 3.1 用例名称 创建销售订单
功能描述 创建销售订单,向客户销售商品
执行者 销售人员
前置条件 用户的角色为销售人员,且有客户购买商品
后置条件 销售表新增信息
涉众利益 销售人员,仓库管理员
基本路径 1进入创建销售订单界面
2填写相关的销售信息,完成销售订单创建
2.1选择商品出库的仓库
2.2选择销售商品的客户
2.3选择销售商品
2.4填写商品销售数量
2.5完成验证后提交,销售表新增信息,等待仓库管理员完成处理出库,详情见表2.9处理出库用例规约说明

涉及列表 销售表,销售明细表
业务规则 销售的商品数量大于等于0
出库仓库不可以不选择
销售客户不可以不选择
添加商品后不可不选则
销售的数量不可大于选择仓库的库存数量

表2.7销售处理用例规约说明
用例编号 3.2 用例名称 处理销售订单
功能描述 根据销售业务跟进情况对对应销售订单结果进行处理
执行者 销售人员
前置条件 客户已将商品签收或拒收
后置条件 销售表信息更新
涉众利益 销售人员
基本路径 1进入销售订单查询页面
2确认销售结果,完成销售订单处理
2.1a在对应销售订单选择确认签收
2.2a确定提交后,销售表信息更新,销售处理完成
2.1b在对应销售订单选择确认拒收
2.2b选择拒收原因
2.3b填写具体原因
2.4b完成验证提交后,销售表信息更新,销售处理完成
涉及列表 销售表
业务规则 拒收原因不可不选
具体原因内容不能为空

表2.8处理入库用例规约说明
用例编号 4.1 用例名称 处理入库
功能描述 对已经出货采购货物进行入库处理盘点货物
执行者 仓库管理员
前置条件 采购人员已填写采供货物出货单号
后置条件 采购表信息更新,进货明细表信息更新
涉众利益 采购人员,仓库管理员
基本路径 1进入入库处理页面
2确定对应单号的采购货物到达,进行盘点后即可进行入库处理
2.1在对应的进货订单上选择货物盘点
2.2根据实际情况选择入库处理或拒收
2.3a如果进行入库处理,则需要填写货物实际入库数量
2.3.1a如果盘点数量与采购单明细相同,在提交处理后,进货明细表更新信息,采购表更新信息,完成入库处理
2.3.1b如果盘点的数量与采购单明细不同,则需要填写报差原因
2.3.2b选择报差原因
2.3.3b填写具体情况
2.3.4b验证报差信息后可提交,采购表、进货表、进货
明细表、仓库明细表信息更新,完成入库处理
2.3b如果进行拒收处理,则在确认提交后,采购表、进货表信息更新
涉及列表 采购表,进货表,进货明细表,仓库明细表
业务规则 货物实际入库数量不可以小于等于0
报差原因不可不选择
具体原因内容不能为空

表2.9处理出库用例规约说明
用例编号 4.2 用例名称 处理出库
功能描述 对销售的商品进行出库
执行者 仓库管理员
前置条件 用户角色为仓库管理员,存在销售订单的商品待出库
后置条件 出货表、出货明细表新增信息,销售表、仓库明细表完成信息更新
涉众利益 采购人员,仓库管理员
基本路径 1进入出库处理界面
2从销售表中获取未出库的销售订单,完成发货后填写出货信息
2.1在对应的销售订单上选择确认出库
2.2选择发货的快递
2.3填写快递单号
2.4通过验证提交后,出货表、出货明细表新增信息,销售表、仓库明细表信息更新,出库处理完成

涉及列表 销售表,出货表,出货明细表,仓库明细表
业务规则 填写的单号要符合对应快递公司的单号规则

表2.10申请调拨用例规约说明
用例编号 4.3 用例名称 申请调拨
功能描述 创建调拨申请请求从其他仓库调取商品
执行者 仓库管理员
前置条件 用户角色为仓库管理员
后置条件 调拨申请表新增信息
涉众利益 仓库管理员,仓库主管
基本路径 1进入调拨申请界面
2填写调拨申请信息,提交申请
2.1选择调拨仓库
2.2选择入库仓库
2.3添加调拨商品
2.4填写调拨数量
2.5通过验证后,提交申请,调拨申请表、调拨明细表新增信息,调拨申请完成,等待仓库主管进行审核,具体见表2.12审核调拨申请
涉及列表 调拨申请表,调拨明细表
业务规则 调拨仓库不能不选择
入库仓库不能不选择
调拨数量不小于等于0

表2.11处理调拨用例规约说明
用例编号 4.4 用例名称 处理调拨
功能描述 对通过申请的调拨申请进行处理
执行者 仓库管理员
前置条件 用户角色为仓库管理员,调拨申请审核通过,被仓库主管指定处理调拨,且已经完成出货
后置条件 调拨申请表信息完成更新
涉众利益 仓库管理员
基本路径 1进入调拨处理页面
2被指定处理的仓库管理员填写调拨信息,提交调拨处理
2.1在对应的调拨申请,选择填写单号
2.2通过验证后提交,调拨申请表信息更新,完成出货
3提出调拨申请的仓库管理员确认货物调拨情况,提交调拨结果
3.1在对应的调拨申请,确认货物到达后,选择确认入库
3.2调拨申请表、仓库明细表信息更新,完成调拨处理
涉及列表 调拨申请表,仓库明细表
业务规则 填写的单号必须符合中通快递单号规则

表2.12处理采购用例规约说明
用例编号 4.5 用例名称 审核调拨申请
功能描述 对调拨申请进行审核处理
执行者 仓库主管
前置条件 用户角色为仓库主管,存在未审核的调拨申请
后置条件 调拨申请表信息更新
涉众利益 仓库管理员
基本路径 1进入调拨审核页面
2获取未审核的调拨申请,根据调拨审核规则进行审核,选择审核结果。
2.1a如果选择通过审核,则需要选择处理调拨的仓库管理员,在通过验证后即可提交,调拨申请表信息更新,完成审核
2.1b如果选择拒绝调拨,则需要填写未通过的理由,在通过验证后即可提交,调拨申请表信息更新,完成审核

涉及列表 调拨申请表
业务规则 选择处理的调拨的仓库管理员不可与申请人相同
未通过的理由内容不能为空
调拨审核规则
1.入库仓库的对应调拨商品库存通常不应多于调拨仓库
2.调拨仓库对应调拨商品库存充足
此审核规则不是唯一标准,一切以实际情况确认审核

表2.13处理采购用例规约说明
用例编号 5.1 用例名称 财务查询
功能描述 在财务页面中可查询各业务订单的收支明细
执行者 财务人员
前置条件 存在已完成的业务订单
后置条件 无
涉众利益 财务人员
基本路径 1进入财务查询界面
2在对应的订单下选择查看详情,即可查询对应订单的收支明细
3选择财务统计,即可查询整体的财务信息,如收支占比,销售类型
涉及列表 采购表,采购明细表,销售表,销售明细表,调拨申请表,调拨明细表
业务规则

3 系统设计

3.1系统总体架构设计
本系统主要围绕MVC模式进行开发,结合Spring框架和MyBatis-Plus来实现各模块的功能,其系统总体结构图如下图3-1:
在这里插入图片描述

图3-1总体系统结构图
3.2前端使用技术
由于本人前端技术能力不足,因此主要使用了Layui,一种开源的模块化前端框架基于其提供的tab项来实现部分动态操作功能,而系统的登录界面也基于网上开源免费的素材,在完成后端完成账号登录验证功能后,将登录验证接口与登录按钮接通实现登录操作。在财务统计功能中,为了实现各种统计图的效果,还使用了Echarts,基于javascript即可实现各种图表效果的开源可视图化库。
3.3顺序图
顺序图以时间轴的方式来描述在执行功能时角色对各种类进行操作的顺序,可直观的体现功能实现的具体操作,下面将列出各功能的顺序图。
3.3.1基础信息管理模块顺序图
由于各类管理模块的执行顺序相似,这里将员工表、客户表、供应商表、商品表统一称为基础信息表。
系统管理员选择进入基础信息的管理界面,点击新增信息,开始填写对应的基础信息,提交前,系统会进行验证,确定信息无误后将数据提交完成新增信息。具体的新增基础信息顺序图如图3-2所示:
在这里插入图片描述

图3-2新增基础信息顺序图
系统管理员选择进入基础信息的管理界面,选择对应需要编辑的信息开始修改基础信息,提交前系统对修改后的信息验证合法性,无误就将数据提交进行更新。具体的基础信息编辑顺序图如图3-3所示:
在这里插入图片描述

图3-3基础信息编辑顺序图
3.3.2采购模块顺序图
在这里插入图片描述

图3-4采购申请顺序图
采购人员进入采购申请界面,选择采购的供应商和入库的仓库,添加需要采购的商品和对应的采购数量,提交前系统会验证是否有漏填或填写错误的信息,确定无误后就会将信息提交。具体的采购申请顺序图如下图3-4所示。
采购主管进入采购审核的界面,获取到未审核的采购申请,可查看对应申请具体的采购信息,根据情况判断选择是否通过,根据选择提交具体的审核结果,系统验证信息无误后更新采购信息。采购申请的顺序图如图3-5所示。
在这里插入图片描述

图3-5审核采购申请顺序图
采购人员进入采购处理页面,可选择通过审核的采购申请,填写出货订单,系统会验证填写的订单是否符合要求,确认无误后即可提交更新采购信息,采购处理顺序图如图3-6所示下。
3.3.3销售管理模块顺序图
销售人员进入新建销售订单界面,选择需要销售的客户和出库仓库,添加销售的商品,填写数量,完成销售信息提交后,系统确定信息无误后就提交销售信息完成销售订单增加。新建销售订单顺序图如图3-7所示。
在这里插入图片描述

图3-6采购处理顺序图
在这里插入图片描述
图3-7新建销售订单顺序图
销售人员进入销售处理界面,在对应的销售订单上选择销售结果,根据结果填写更多的销售结果信息,系统确认无误后即可提交更新销售信息,销售处理顺序图如图3-8所示。
在这里插入图片描述

图3-8销售处理顺序图
3.3.4仓库管理模块顺序图
仓库管理员进入入库处理界面,选择对应的进货信息,进行入库盘点处理,在对应的货品填写对应的商品实际入库数量,完成入库盘点信息,系统验证信息合法后即可提交更新进货结果、采购结果和仓库库存。入库处理顺序图如图3-9所示。
在这里插入图片描述

图3-9入库处理顺序图
仓库管理员进入出库处理界面,获取未发货的销售订单,在对应已经发货的订单选择出库处理,选择发货的快递,填写快递单号,系统验证单号合法后即可提交,更新销售状态、生成出货单和更新仓库库存,出库处理顺序图如图3-10所示:
在这里插入图片描述

图3-10出库处理顺序图
在这里插入图片描述

图3-11申请调拨顺序图
仓库管理员进入调拨申请界面,选择调拨仓库和入库仓库,添加需要调拨的商品并填写具体的调拨数量,系统验证调拨信息合法后即可提交新增调拨申请信息。申请调拨顺序图如图3-11所示。
在这里插入图片描述

图3-12审核调拨申请顺序图
仓库主管进入调拨审核页面,获取到未审核的调拨申请,可根据仓库库存信息和调拨申请具体调拨的商品和数量以及具体情况判断是否同意调拨,将审核结果信息填写完整后,系统验证提交的信息合法后即可更新调拨申请的状态。调拨申请顺序图如图3-12所示。
仓库管理员进入调拨处理页面,获取到自己的调拨申请和被指定去处理的调拨申请,在完成调拨出货后,选择对应被指定去处理的调拨申请即可填写出货单号确认出货,更新调拨申请信息的状态,对于自己申请通过的调拨申请,在确认入库后即可选择确认入库,更新调拨申请状态,具体调拨处理顺序图如图3-13所示。
在这里插入图片描述

图3-13调拨处理顺序图
3.3.5财务管理模块顺序图
财务人员进入财务查询页面,系统会获取所有已完成的业务订单,并进行如收支明细等各种详情计算,将最终的计算结果在页面显示提供给财务人员查询,财务查询顺序图如图3-14所示:
在这里插入图片描述

图3-14调拨处理顺序图
3.4状态图
状态表用于描述部分类在功能进程中状态的变化,同种类在不同的状态下,所能执行的功能也有所不同,本系统中主要的状态变化体现在业务中各订单的进程状态。
经过分析,状态的变化主要发生在采购、销售、调拨业务进行的过程中发生变化,在下面将逐一列出各状态图。
采购申请的状态图如图3-15采购申请状态图所示。
销售订单的状态图如图3-16销售订单状态图所示。
进货单的状态图如图3-17进货单状态图所示。
出货单的状态图如图3-18出货单状态图所示。
在这里插入图片描述

图3-15采购申请状态图
在这里插入图片描述

图3-16销售订单状态图
在这里插入图片描述

图3-17进货单状态图
在这里插入图片描述

图3-18出货单状态图
调拨申请的状态图如图3-19调拨申请状态图所示。
在这里插入图片描述

图3-19调拨申请状态图
3.5类图
在这里插入图片描述

图3-20类的关系图
类图作为静态模型之一,他能描述类拥有的属性与接口之间的关系,能让开发人员根据类图编写代码,起到了非常重要的作用,下面将会先画出类之间的关系图,然后结合已经介绍的顺序图、状态图,根据功能模块画出具体详细类图。
在系统中,并不是每个角色各司其职,管理着与自己业务相关的信息,因此,并不是所有角色与所有类都有关系,综上所述得出类的关系图如图3-20所示。
3.5.1基础信息管理类图
基础信息管理的实现类图如下:
在这里插入图片描述

图3-21基础信息管理实现类图
在这里插入图片描述

图3-22新建采购申请实现类图
3.5.2采购管理类图
新建采购申请的实现类图如图3-22。
审核采购申请的实现类图如下图:
在这里插入图片描述

图3-23审核采购申请实现类图
采购处理实现类图如下:
在这里插入图片描述

图3-24采购处理实现类图实现类图
3.5.3销售管理类图
处理销售订单实现类图如下:
在这里插入图片描述

图3-25处理销售订单实现类图
创建销售订单实现类图如下:
在这里插入图片描述

图3-26创建销售订单实现类图
3.5.4仓库管理类图
处理入库实现类图如下:
在这里插入图片描述

图3-27处理入库实现类图

处理出库实现类图如下:
在这里插入图片描述

图3-9处理出库实现类图
调拨申请实现类图如下:
在这里插入图片描述

图3-28调拨申请实现类图
审核调拨申请实现类图如下:
在这里插入图片描述

图3-29审核调拨申请实现类图
调拨处理实现类图如下:
在这里插入图片描述

图3-30调拨处理实现类图
3.5.5财务管理管理类图
财务查询实现类图如下:
在这里插入图片描述

图3-31财务查询实现类图
3.3数据库设计
本系统使用mySQL作为后台数据库。mySQL是当下最为流行的关系数据库管理系统(Relational Database Management System)之一,其广泛应用于WEB应用等方面[10]。并且使用Sqlyog对数据库表格进行创建管理,进销存系统中大部分的业务功能都涉及到了数据库表格的操作,为了保证业务之间的数据不产生混淆,数据库的表将围绕业务功能展开设计,并且通过需求分析确定了系统还需要存储各类基础信息,如员工信息、商品信息、客户信息等。同时为了实现部分动态功能,还需要一些表作为功能表。下面将会讲述数据库表的具体设计。
(1)user(员工表)
表3.1员工表
列名 数据类型 可为空 注释
userId Int Not Null id
userName Varchar(20) Not Null 员工用户名
userRole Int Not Null 员工角色
userPassword Varchar(20) Not Null 用户密码
userEmail Varchar(30) Null 员工邮箱
如表3.1所示,员工表主要用来记录员工的信息,各列的意义如注释所示,而userRole则利用了角色表中的roleId作为外键,来辨识员工的角色,具体可见表3.8主键为userId。
(2)Client(客户表)
表3.2客户表
列名 数据类型 可为空 注释
cliId Int Not Null id
cliName Varchar(20) Not Null 客户姓名
cliPhone Varchar(11) Not Null 客户电话
cliAddress Varchar(30) Not Null 送货地址
cliEmail Varchar(30) Null 客户邮箱
如表3.2所示,客户表主要记录了客户的信息,同时便于出库时了解送货地址与联系人信息,其主键为cliId。
(3)Vendor(供应商表)
表3.3供应商表
列名 数据类型 可为空 注释
vendorId Int Not Null id
vendorName Varchar(20) Not Null 供应商公司名
contact Varchar(10) Not Null 联系人
contactPhone Varchar(11) Not Null 联系电话
vendorAddress Varchar(30) Not Null 供应地址
vendorPostbox Varchar(30) Null 供应商邮箱

如表3.3所示,供应商表主要记录供应商的相关信息,主要用于采购时便于了解供应商的信息,主键为vendorId。
(4)warehouse(仓库表)
表3.4仓库表
列名 数据类型 可为空 注释
warehouseId Int Not Null id
warehouseName Varchar(20) Not Null 仓库名
warehouseAddress Varchar(30) Not Null 仓库地址
如表3.4所示,该表主要记录仓库的基本信息,其主键是warehouseId。
(5)warehousetotal(仓库明细)
表3.5仓库明细表
列名 数据类型 可为空 注释
warehousetotaIId Int Not Null Id
warehouseId Int Not Null 仓库id
goodsNo Varchar(20) Not Null 商品号
wGoodsNum Int Not Null 商品库存
如表3.5所示,仓库明细表主要记录了各个仓库所有商品的存货数量,其主要将仓库表id作为外键来识别商品库存的归属,再使用商品表的商品编号作为外键来识别具体商品,可参考表3.6。该表的主键为warehousetotaIId。
(6)Goods(商品表)
表3.6商品表
列名 数据类型 可为空 注释
goodsId Int Not Null id
goodsNo Varchar(5) Not Null 商品编号
goodstypeId Int Not Null 商品类型id
goodsName Varchar(20) Not Null 商品名称
goodsSize Float Not Null 商品重量
proPrice Float Not Null 采购价
salePrice Float Not Null 销售价
unit Varchar(10) Not Null 单位

如表3.6所示,商品表主要记录了商品的信息,配合商品类型表中的goodstypeId作为外键来进一步完善信息,可见表3.7。主键为goodsNo。
(7)GoodType(商品类型表)
表3.7商品类型表
列名 数据类型 可为空 注释
goodstypeId Int Not Null id
goodstypeName Varchar(20) Not Null 商品类型名
如表3.7所示,商品类型表主要记录商品类型的具体名字,在完善商品表信息同时,也便于系统利用此表来实现搜索功能。主键为goodstypeId。
(8)Role(角色表表)
表3.8角色表
列名 数据类型 可为空 注释
roleId Int Not Null id
roleName Varchar(20) Not Null 角色名
如表3.8所示,角色表主要用于记录具体的角色名,同时搭配权限表来进行组合出角色权限表,来实现系统的角色权限限制功能,其主键为roleId
(9)Permission(权限表)
表3.9权限表
列名 数据类型 可为空 注释
perId Int Not Null id
perName Varchar(20) Not Null 权限名
perType Int Not Null 权限类型
perUrl Varchar(20) Not Null 跳转地址
如表3.9所示,权限表用于记录系统功能项的具体名字,而perType则作为各权限的父子关系,如出库处理是仓库管理的子功能,同时搭配角色表组合成角色权限表来区分各角色所能使用的功能,主键为perId。
(10)role_permission(角色权限表)
表3.10角色权限表
列名 数据类型 可为空 注释
rlId Int Not Null id
roleId Int Not Null 角色表id
perId Int Not Null 权限表id
如表3.10所示,该表主要作为功能表,在用于辨识在不同角色登录进系统后所能使用的功能权限,主要使用roleId和perId两个外键进行区别来实现功能。主键为rlId。
(11)Selltotal(销售表)
表3.11销售表
列名 数据类型 可为空 注释
selltoId Int Not Null id
selltoNo Varchar(20) Not Null 销售订单号
selltoTime DateTime Not Null 创建时间
selltoClient Varchar(11) Not Null 销售客户
selltoExplain Varchar(100) Null 备注
selltoMan Varchar(20) Not Null 创建人
selltoOrdSta Varchar(10) Not Null 订单状态
selltoPrices Float Not Null 订单总价
sellOrder Varchar(20) Not Null 出货单号
outDate DateTime Not Null 出货日期
warehouseId Int Not Null 仓库id
express Varchar(10) Not Null 快递
finishDate DateTime Not Null 订单完成日期
如表3.11所示,该表主要记录销售业务的信息,其包括销售客户对象,销售总价,以及记录各种销售进程的信息,如订单状态、出货日期、订单完成日期等。其主键为selltoNo,warehouseId和selltoClient分别引用了仓库表的warehouseId和客户表的cliId作为外键使用。
(12)Selldetail(销售明细表)
表3.12销售明细表
列名 数据类型 可为空 注释
selldeId Int Not Null id
goodsNo Varchar(20) Not Null 商品编号
selltoNo Varchar(10) Not Null 销售订单号
selldeNum Int Not Null 单品销售数量
selldeSub Float Not Null 单品销售总价
如表3.12所示,销售明细表主要记录对应销售订单具体销售的商品和其销售的数量,主键为selldeId,goodsNo和selltoNo分别引用了商品表的商品编号和销售表的销售订单号作为外键。
(13)Purtotal(采购表)
表3.13采购表
列名 数据类型 可为空 注释
purtoId Int Not Null id
purtoNo Varchar(20) Not Null 采购订单号
purtoTime DateTime Not Null 创建时间
purtoMan Varchar(20) Not Null 创建人
purtoPrices Float Not Null 采购总价
purtoAuResult Varchar(5) Not Null 订单状态
vendorId Int Not Null 供应商id
warehouseId Int Not Null 仓库id
orderNo Varchar(20) Null 发货单号
orderDate DateTime Null 发货时间
finishDate DateTime Null 订单完成时间
remark Varchar(100) Null 备注
passTime DateTime Not Null 审核完成时间
如表3.13所示,采购表主要记录了销售业务的需要填写的相关信息,如联系相关供应商id和需要入库的仓库id,还记录了业务流程的相关信息,如订单状态,审核时间等。主键为purtoNo,warehouseId和vendorId分别引用来了仓库表的warehouseId和供应商表的vendorId作为外键。
(14)Purtotal(采购明细表)
表3.14供应商表
列名 数据类型 可为空 注释
purdeId Int Not Null id
goodsNo Varchar(20) Not Null 商品编号
purtoNo Varchar(20) Not Null 采购订单号
purdeNum Int Not Null 采购数量
purdeSub Float Not Null 单品总价
如表3.14所示,采购明细表主要记录对应采购订单具体的采购信息,其中包括采购的商品编号,采购的数量和单件商品采购总价。主键为purdeId,goodsNo和spurtoNo分别引用了商品表的商品编号和采购表的采购订单号作为外键。
(15)Puttotal(进货表)
表3.15进货表
列名 数据类型 可为空 注释
puttoId Int Not Null id
puttoNo Varchar(20) Not Null 进货单号
puttoTime Datetime Not Null 订单生成时间
puttoMan Varchar(20) Not Null 创建人
warehouseId Int Not Null 仓库id
puttoAuResult Varchar(10) Not Null 进货结果
如表3.15所示,进货表主要记录了进货单的信息,进货单通常在采购单上填写供应商提供的发货单号后动态生成,因此主键puttoNo与发货单号相同,warehouseId引用了仓库表的warehouseId作为外键。
(16)Putdetail(进货明细表)
表3.16进货明细表
列名 数据类型 可为空 注释
putdeId Int Not Null id
puttoNo Varchar(20) Not Null 进货单号
goodsNo Varchar(20) Not Null 商品编号
putdeNum int Not Null 应进货数量
putdeActNum Int Not Null 实际进货数量
如表3.16所示,进货明细表主要记录对应进货单详细的进货商品和其数量,仓库管理员可以根据实际情况填写实际进货的数量,如果与应进数量有偏差,系统会要求填写报差原因。主键为putdeId,puttoNo和goodsNo作为进货表的进货订单和商品的商品编号作为外键来辨别单号和商品。
(17)Outtotal(出货表)
表3.17出货表
列名 数据类型 可为空 注释
outtoId Int Not Null id
outtoNo Varchar(20) Not Null 出货单号
outtoTime Datetime Null 出货时间
outtoMan Varchar(20) Null 处理人
outtoAuResult Varchar(20) Not Null 出货状态
wareAddress Varchar(30) Null 出货地址

如表3.17所示,出货表主要记录了出货业务的信息,通常在销售商品出货后,出货单就会随之生成,主键为outtoId。
(18)Outdetail(出货明细表)
表3.18出货明细表
列名 数据类型 可为空 注释
outdeId Int Not Null id
goodsNo Varchar(20) Not Null 商品编号
outtoNo Varchar(20) Not Null 出货单号
outdeNum Int Not Null 销售数量
如表3.18所示,出货明细主要记录了出货的详细信息,记录对应出货单号和出货的商品和数量,主键为outdeId,引用了商品表goodsNo和出货表的outtoNo作为外键。
(19)Teleport(调拨申请表)
表3.19调拨申请表
列名 数据类型 可为空 注释
id Int Not Null id
teleNo Varchar(20) Not Null 调拨申请单号
teleDate Datetime Not Null 创建日期
telefrom Int Not Null 调拨仓库
teleto Int Not Null 进货仓库
remark Varchar(50) Null 备注
status Varchar(10) Null 状态
teleMan Varchar(20) Not Null 申请人
applyMan Varchar(20) Not Null 审核人
dealMan Varchar(20) Null 处理人
orderNo Varchar(20) Null 出货单号
orderDate Datetime Null 出货时间
applyDate Datetime Not Null 审核处理时间
finishDate Datetime Null 调拨完成时间

如表3.19所示,调拨申请表主要记录调拨申请的信息,仓库管理员可以填写需要调拨的仓库和进货仓库,同时记录申请的进程信息,如审核时间、审核人等,还记录了开始调拨过程的相关信息,主键为teleNo。
(20)Teledetail(调拨详情表)
表3.20调拨详情表
列名 数据类型 可为空 注释
id Int Not Null id
teleNo Varchar(20) Not Null 调拨申请号
goodsNo Varchar(10) Not Null 商品编号
telNum Varchar(11) Not Null 调拨数量
weight Varchar(30) Not Null 重量

如表3.20所示,调拨详情表主要记录了对应调拨申请号具体调拨的商品和数量,主键为id,引用了调拨申请表的teleNo和商品表的goodsNo作为外键。
3.7本章小结
本章主要介绍了系统开发使用的架构,并根据架构的层次分别介绍各层次使用的技术,基于B/S结构和MVC结构,使用了Spring框架中的SpringMVC,搭配MyBatis-plus中通用的Mapper和Service来实现一些基本的业务逻辑。将带有加工好的数据页面返回给用户。在前端方面主要使用了Layui作为界面设计,使用Echarts实现了各种图表可视化。并介绍了基于mysql创建数据库并使用sqlyog进行管理,还介绍来了数据库表的具体设计,将用例图、用例规约说明、类图、顺序图列出说明。

4 系统实现

完成了需求分析与系统设计,本章将介绍各功能模块的实现和其界面效果。其介绍方式主要围绕五个管理模块中的功能进行介绍。
4.1销售管理模块功能实现
4.1.1新建销售订单
图4-1是新建销售订单的实现界面图,系统会自动生成销售订单,销售人员可以在这里选择销售的客户和销售商品出货的仓库并添加销售的商品,系统会根据销售人员选择的商品动态显示相应的基本信息,还会根据填写的销售数量来计算单品价格和总价。
在这里插入图片描述

图4-1新建销售订单功能界面
4.1.2查询销售订单
图4-2是查询销售订单的界面,销售人员可以在这里查询与自己相关的销售订单,可以根据订单号和订单状态进行搜索,可以处理未完成的订单,也可以在订单详情中查询订单明细跟踪订单的的进程,还可点击快递单号跳转到快递100查询快递物流,显示效果如图4-3所示。
在这里插入图片描述

图4-2查询销售订单功能界面
在这里插入图片描述

图4-3订单详情界面图
4.2仓库管理模块功能实现
4.2.1出库处理
图4-4为出库处理的界面图,仓库管理员可以在这里看到还未出货的销售订单,点击出库处理可看见销售商品明细和填写出货的快递单号,目前可支持的快递有中通快递和韵达快递,系统会验证填写的单号是否符合对应快递公司的单号规则。
在这里插入图片描述

图4-4出库处理界面图和出库处理界面图
4.2.2入库处理
图4-5为入库处理界面图,仓库管理员可以在这里进行入库业务的处理,可以根据情况选择验收入库和拒收,图4-5为验收入库的界面图,在验收入库界面中可以输入验收的实际数量,系统会自动验证输入数量是否有偏差,如果有偏差将会追加要求填写原因,效果图如图4-6所示。
在这里插入图片描述

图4-5入库处理界面图
在这里插入图片描述

图4-6验收入库界面图
在这里插入图片描述

图4-7验收偏差效果图
4.2.3调拨申请
图4-8位调拨申请界面图,仓库管理员可以选调拨的仓库和进货的仓库,在用户选择了商品后,除了显示部分基本的商品信息还会显示调拨仓库对应商品的所剩库存供仓库管理员参考。
在这里插入图片描述

图4-8调拨申请界面图
4.2.4调拨审核
图4-9为调拨审核界面图,仓库主管可以在这里审核仓库管理员的调拨申请,如图4-10所示,在详情中可以查看到调拨的商品,并有两个仓库的库存对比。如果选择拒绝调拨,还要填写拒绝的理由,界面图如4-11所示。如果同意调拨,将会弹出选择调拨处理人界面框,如图4-12所示。
在这里插入图片描述

图4-9调拨审核界面图
在这里插入图片描述

图4-10详情界面图
在这里插入图片描述

图4-11拒绝调拨界面图
在这里插入图片描述

图4-12同意调拨界面图
4.2.5调拨处理
在调拨处理中,仓库管理员可以看见与自己相关的调拨单,包括自己申请的调拨单和被指定处理的调拨单。图4-14是调拨详情截面图,可以查看到需要调拨的明细还有调拨的进程。对于需要处理的订单,可以进行填写出货单号操作,如图4-15所示,目前仅支持中通快递的订单。
在这里插入图片描述

图4-13调拨处理界面图
在这里插入图片描述

图4-14调拨详情界面图 在这里插入图片描述
图4-15填写单号界面图
4.2.6仓库查询
图4-15为仓库查询界面,系统管理员可以新增仓库货编辑仓库信息,图4-17位库存详情界面图,所有用户可以查询各仓库的信息和对应仓库的商品库存。
在这里插入图片描述

图4-16仓库查询界面
在这里插入图片描述

图4-17库存详情界面图
在这里插入图片描述

图4-18新增仓库界面图
4.3采购管理模块功能实现
4.3.1采购申请
图4-16为采购申请界面图,采购人员可以选择需要进货的仓库和添加需要采购的商品,系统会显示采购商品的基本信息和采购价格,采购人员可以填写采购的数量,系统会自动计算单品采购价格和总价。
在这里插入图片描述

4-19采购申请界面图
4.3.2采购申请
图4-17为的界面图采购申请,采购主管可以在这里处理未审核的采购申请。在详情中可以查看到采购的商品、具体的采购数量和入库仓库,如果选择拒绝采购,还需要填写拒绝的理由,如图4-18所示。
在这里插入图片描述

图4-20采购审核界面图
在这里插入图片描述

图4-21拒绝采购界面图
4.3.3查询采购订单
图4-22是查询采购订单的界面,采购人员可以查询到自己申请的采购订单,并且可以在订单详情中查看采购明细和订单的进程,见图4-23。在于供应商联系获得出货单号后,可在填写订单中填写单号,由于各个供应商出货的快递不统一,因此暂定限制单号长度不少于12位,见图4-24。
在这里插入图片描述

图4-22查询采购订单界面图
在这里插入图片描述

图4-23采购订单详情界面图
在这里插入图片描述

图4-24采购出货单号填写界面图
4.4财务管理模块功能实现
4.4.1订单查询
图4-25为订单查询界面图,财务人员可以在这里查询各业务已完成的订单,并可在收支明细上确认业务具体的收入支出。如运费支出等。收支明细界面图如4-26所示:
在这里插入图片描述

图4-25订单查询界面图
在这里插入图片描述

图4-26收支明细界面图
4.4.2财务统计
如图4-27所示,财务人员可在财务统计页面查看到各种收入支出的总体统计信息,如收入支出占比、各类支出占比等。
在这里插入图片描述

图4-27财务统计界面图
4.5基础信息管理模块功能实现
4.5.1员工信息
图4-28为员工信息界面,系统管理员可以在这里新增、编辑和删除员工信息,所有用户可以查询员工信息,图4-29为新增员工信息界面,图4-30为编辑员工信息界面。
在这里插入图片描述

图4-28员工信息界面图
在这里插入图片描述

图4-29新增员工信息界面图 图4-30编辑员工信息界面图
4.5.2客户信息

图4-31为客户信息界面,系统管理员可以在这里新增、编辑和删除客户信息,系统会对填写的信息是否符合规格进行验证所有用户可以查询客户信息,但没有权限对客户信息进行修改,图4-32为新增客户信息界面,图4-33为编辑客户信息界面。
在这里插入图片描述
图4-31客户信息界面界面图
在这里插入图片描述

图4-32新增客户信息界面图
在这里插入图片描述

图4-33编辑客户信息界面图
4.5.3供应商信息
图4-33为供应商信息界面,系统管理员可以在这里新增、编辑和删除供应商信息,图4-34为新增供应商信息界面,图4-35为编辑供应商信息界面,系统会在提交前对填写的信息是否符合规则进行验证,所有用户可以在此查询供应商信息,但没有权限进行新增或编辑修改。
在这里插入图片描述

图4-34供应商信息界面图
在这里插入图片描述

图4-35新增供应商信息界面图
在这里插入图片描述

图4-36编辑供应商信息界面图
4.5.4商品信息
图4-37为商品信息界面,系统管理员可以在这里新增、编辑和删除商品信息,图4-38为新增商品信息界面,图4-39为编辑商品信息界面,系统会验证填写的信息是否符合规则。所有用户可以查询商品信息,但没有权限对商品信息进行新增和更改。
在这里插入图片描述

图4-37商品信息界面界面图
**加粗样式
**
图4-38新增商品信息界面界面图 图4-39编辑商品信息界面图
4.6本章小结
本章主要围绕各个管理功能模块展开介绍了各子功能系统实现的具体效果图,主要介绍了销售管理模块、仓库管理模块、采购管理模块、财务管理模块和基础信息管理模块的界面图,并简单介绍了一下系统的部分功能效果图。

5 系统测试

系统测试的重要性自然不必多说,他能够检测系统的稳定性,并且能检查出可能未发现的逻辑上的错误,可让开发者及时修复,本章将会具体介绍测试的计划和具体的测试内容及结果。
5.1测试计划
本次测试主要采用黑盒测试,即在不考虑内部运行状态的前提下,测试系统中所有的功能是否有正常执行,整个测试过程主要围绕每个业务执行顺序中涉及到各角色的功能来进行测试以确保所有的功能都有被覆盖测试。具体的测试计划如下:
测试1:名称:用户登录测试
目的:测试用户登录功能
内容:用户名和密码输入,合法性检查,不同角色系统功能界面显
示控制。
测试2:名称:采购业务流程测试
目的:测试采购业务流程涉及到各角色的部分功能是否正常
内容:采购申请信息内容填写,信息填写合法性检查,采购审核结
果各选项检查,订单状态各阶段信息检查,采购出货订单填写,入
库处理的信息合法性检查。

测试3:名称:销售业务流程测试
目的:测试销售业务流程涉及到各角色的部分功能是否正常
内容:销售订单信息的填写及内容合法性检查,出货处理快递单号
填写合法性验证,销售订单各阶段进程信息检查,销售结果选择检
查。

测试4:名称:调拨业务流程测试
目的:测试调拨业务流程中涉及到的角色的功能是否正常
内容:调拨申请信息的填写及内容合法性检查,调拨审核结果选择
检查,处理人选择合法性检查,调拨申请状态信息检查,出货快递
单号填写合法性验证,入库操作检查。

测试5:名称:信息管理测试
目的:测试相关基础信息和财务信息管理的功能是否正常
内容:商品信息查询,新增商品和编辑商品的合法性,员工信息查
询,新增和编辑的合法性,供应商信息查询,新增和编辑的合法性,
客户信息查询,新增和编辑的合法性,库存信息查询,财务信息统
计和业务订单明细查询。
5.2测试用例
5.2.1用户登录测试
用户根据用户名和密码在登录界面进行登录,未填写的位置系统会相应的标记提示,当账号密码验证码都填写点击登录后,系统会进行验证,如果账号不存在或密码错误系统会提示,账号密码正确但验证码不正确系统会提示,密码正确且验证码正确的话系统将进入系统主界面,并根据员工的角色显示不同的功能项。具体测试用例见表5-1:
表5-1用户登录测试用例表
测试目的 测试内容 测试结果 测试说明
检测登录验证 输入账号,密码为空 密码输入框圈红,提示“必填项不能为空”
检测登录验证 输入密码,账号为空 账号输入框圈红,提示“必填项不能为空”
检测登录验证 输入不存在的账号密码点击登登录 提示“账号或密码密码错误”
检测登录验证 输入存在的账号,输入错误的密码 提示“账号或密码密码错误”
检测登录验证 输入存在的账号,输入正确的密码,输入正确的验证码 进入系统界面
检测登录验证 输入正确的账号密码,输入错误的验证码 提示“验证码错误(区分大小写)”
检测功能权限限制 使用不同的角色账号登录 进入系统界面,不同的角色功能项都有所差别
5.2.2采购业务测试
采购人员在新建采购订单需要选择进货的仓库和供应商,并添加需要采购商品和采购数量后方可提交。采购主管审核确认通过后就可点击同意采购,采购业务就可继续,如果不同意则需要填写具体的拒绝理由。通过的订单可填写出货订单生成对应的入库订单,仓库管理员在入库处理中可以选择拒收,如果选择验收入库则需要填写实际入库的数量,如果出现偏差则提示输入报差原因。系统会根据实际入库数量修改对应仓库的商品数量。具体测试用例见表5-2:
表5-2采购业务测试用例表
测试目的 测试内容 测试结果 测试说明
验证采购申请信息合法性 不选择填写任何信息点击提交订单 提示“请将信息填写完整”
验证采购申请信息合法性 选择供应商,添加商品并填写数量,不选择进货仓库提交订单 提示“请选择入库仓库”
验证采购申请信息合法性 选择仓库,添加商品并填写数量,不选择供应商提交订单 提示“请选择供应商”
验证采购申请信息合法性 选择仓库供应商,不添加商品信息提交订单 提示“采购商品不能为空”
验证采购申请信息合法性 选择仓库供应商,添加商品不填写采购数量提交订单 提示“采购数量不能0”
验证采购申请信息合法性 选择仓库供应商,添加商品后不选择商品提交订单 提示“未选择商品”
验证采购申请信息合法性 选择仓库供应商,添加商品,在选择商品后填写采购数量确认提交 提示“提交成功,请等待审核”
验证功能的有效性 在添加商品后点击操作列中的删除 所选行的商品信息被删除
验证审核功能的有效性 点击订单详情 弹出订单详情,显示采购明细信息
验证审核功能的有效性 点击同意采购并确认提交 提示“审核完毕”
验证拒绝采购信息合法性 点击拒绝采购不填写拒绝原因提交审核 提示“请输入原因”
验证拒绝采购信息合法性 点击拒绝采购填写拒绝原因提交审核,选择确认提交 提示“审核完毕”
验证处理采购订单的合法性 点击填写订单,输入低于12位的单号点击提交 提示字显示“不正确的单号”无法提交
验证处理采购订单的合法性 点击填写订单,输入高于12位的单号点击提交 提示字显示“正确的单号”,系统显示提交成功
验证采购信息进程的正确性 不同状态的订都单点击订单详情查看 信息流程都根据进程显示对应的信息
验证入库处理的有效性 点击拒收,并选择确认提交 系统提示“货物已拒收”
验证入库处理的功能有效性 点击验收入库 系统弹出验收入库的界面框
验证入库处理的信息合法性 点击验收入库,不填写实际入库数量提交 系统提示“请填写入库数量”
验证入库处理的信息合法性 点击验收入库,所有商品入库数量都与采购相同并确认提交 系统未要求填写报差原因,提交后提示“入库完毕” 通过查询数据库,对应仓库的商品数量已增加对应的数量
验证入库处理的功能有效性 点击验收入库,输入与采购数量有偏差的数量 系统展开报差原因填写输入框,提示要求填写
验证入库处理的信息合法性 点击验收入库,输入与采购数量有偏差的数量,不填写报差原因 提示“报差原因未填写”
验证入库处理的信息合法性 点击验收入库,输入与采购数量有偏差的数量,填写报差原因后确认提交 提示“入库完毕” 通过查询数据库,对应仓库的商品数量已增加对应的数量
5.2.3销售业务测试
销售人员在新建销售订单中需要选择销售客户和出货仓库,并添加需要销售商品和销售数量后方可提交。仓库管理员在出库处理可以看到未出库的销售订单,可点击填写出货快递单号,可以选择出货的快递,系统会验证快递单号。提交快递单号后销售人员可以查看在查询订单找到相应销售订单的进程,可对已出货的销售订单进行确认收货和客户拒收处理,在拒收处理中可填写拒收原因。具体测试用例见表5-3:
表5-3销售业务测试用例表
测试目的 测试内容 测试结果 测试说明
验证新建销售订单信息合法性 不选择填写任何信息点击提交订单 提示“请将信息填写完整”
验证新建销售订单信息合法性 选择销售客户,添加商品并填写数量,不选择出货仓库提交订单 提示“请选择出货仓库”
验证新建销售订单信息合法性 选择出货仓库,添加商品并填写数量,不选择销售客户提交订单 提示“请选择销售的客户”
验证新建销售订单信息合法性 选择出货仓库和销售客户,不添加商品信息提交订单 提示“销售商品不能为空”
验证新建销售订单信息合法性 选择出货仓库和销售客户,添加商品不填写销售数量提交订单 提示“销售数量不能0”
验证新建销售订单信息合法性 选择出货仓库和销售客户,添加商品后不选择商品提交订单 提示“未选择商品”
验证新建销售订单信息合法性 选择出货仓库和销售客户,添加商品,在选择商品后填写小于仓库库存的销售数量确认提交 提示“提交成功,等待仓库出货”
验证新建销售订单信息合法性 选择出货仓库和销售客户,添加商品,在选择商品后填写大于仓库库存的销售数量确认提交 提示“商品销售数量大于仓库库存,请更换出货仓库”
验证新建销售订单功能有效性 在添加商品后点击操作列中的删除 所选行的商品信息被删除
验证出库处理信息合法性 点击填写单号,不选择填写任何信息直接提交 提示“请选择快递公司”
验证出库处理信息合法性 点击填写单号,选择快递公司不填写快递单号 提示“快递单号不能为空”
验证出库处理信息合法性 点击填写单号,选择快递公司填写其他快递单号点击提交 提示“快递单号不正确,请确认”
验证出库处理信息合法性 点击填写单号,选择快递公司填写对应快递公司的快递单号并确认提交 提示“正确的单号”,提交后提示“出库成功” 通过数据库查询,对应仓库的商品库存已根据销售数量进行相减
验证查询销售订单的进程信息的正确性 查看不同进程状态的订单详情 订单详情显示销售明细,并显示正确的进程信息和操作时间
验证销售订单处理的正确性 在已出库的订单点击确认签收按钮,并确认签收 系统提示“签收成功”订单状态变成已签收
验证销售订单处理的正确性 在已出库的订单点击确认退货 系统弹出要求填写退货原因的界面框
验证销售订单处理信息的合法性 在已出库的订单点击确认退货,不选择退货原因和不填写具体原因提交 提示“请将退货信息补充完整!”
验证销售订单处理信息的合法性 点击确认退货,选择退货原因和不填写具体原因提交 提示“请将退货信息补充完整!”
验证销售订单处理信息的合法性 点击确认退货,选择退货原因。填写具体原因确认提交 提示“已确认退货”

5.2.4调拨业务测试
仓库管理员可以在调拨申请选择调拨仓库和进货仓库,并添加需要调拨商品和调拨数量后方可提交。仓库主管可以在调拨审核中就选择同意调拨选择调拨的处理人或拒绝调拨,被指定的处理人在完成出货后可以在调拨处理中填写出货快递单号,申请人可在调拨处理确认货物入库。具体的测试用例见表5-4:
表5-4调拨业务测试用例表
测试目的 测试内容 测试结果 测试说明
验证调拨申请信息合法性 不选择填写任何信息点击提交申请 提示“请将信息填写完整”
验证调拨申请信息合法性 选择调拨仓库,添加商品并填写数量,不选择进货仓库提交订单 提示“请选择进货仓库”
验证调拨申请信息合法性 选择进货仓库,不选择调拨仓库提交订单 无法使用添加商品按钮,提示“请选择调拨仓库”
验证调拨申请信息合法性 选择进货和调拨仓库,不添加商品信息提交申请 提示“调拨商品不能为空”
验证调拨申请信息合法性 选择进货和调拨仓库,添加商品不填写调拨数量提交申请 提示“调拨数量不能0”
验证调拨申请信息合法性 选择进货和调拨仓库,添加商品后不选择商品提交申请 提示“未选择商品”
验证调拨申请信息合法性 选择进货和调拨仓库,添加商品填写大于调拨调拨仓库库存的调拨数量提交申请 提示“调拨数量大于仓库库存”
验证调拨申请信息合法性 选择进货和调拨仓库,添加商品填写小于调拨调拨仓库库存的调拨数量提交申请 提示“提交成功,等待审核”
验证调拨申请功能的有效性 选择调拨仓库后,添加商品选择一种商品,自动生成的调拨仓库库存数量信息,更换调拨仓库后再确认调拨仓库库存数量 调拨数量信息切换到更换后的仓库库存数量
验证调拨申请功能的有效性 在添加商品后点击操作列中的删除 所选行的商品信息被删除
验证调拨审核的功能有效性 点击通过审核按钮 弹出选择处理人的选择框
验证调拨审核的信息合法性 点击通过审核按钮,选择与申请人相同的处理人提交 提示“处理人和申请人不能为同一人”
验证调拨审核的信息合法性 点击通过审核按钮,选择与申请人不同的处理人确认提交 提示“审核完毕”
验证调拨审核的功能有效性 点击拒绝调拨按钮 弹出填写拒绝原因的界面框
验证调拨审核的信息合法性 点击拒绝调拨按钮,不填写原因直接提交 提示“请填写拒绝原因”
验证调拨审核的信息合法性 点击拒绝调拨按钮,填写拒绝原因后提交 提示“审核完毕”
验证调拨处理的功能有效性 点击填写订单按钮 弹出填写订单的输入框
验证调拨处理的信息合法性 点击填写订单按钮,输入错误的快递单号提交 提示“不正确的单号,请确认”
验证调拨处理的信息合法性 点击填写订单按钮,输入中通的快递单号提交 提示“正确的单号”,提交后显示“出货成功” 通过数据库查询调拨仓库对应的商品数量已经减去
验证调拨处理的功能有效性 点击不同状态下的调拨详情 调拨详情界面显示对应申请的调拨商品信息和数量,并显示正确的调拨进程和各流程的操作时间
验证调拨处理的信息合法性 点击确认入库按钮,并确认入库 提示“入库成功” 通过数据库查询进货仓库对应的商品数量已经增加
5.2.5信息管理测试
系统管理员可以在各基础信息管理中新增和编辑对应基础信息,其他用户的无法对信息进行编辑和新增,但可以查询各种基础信息。具体的测试用例见表5-5:
测试目的 测试内容 测试结果 测试说明
验证客户信息查询准确性 对比客户表的数据和客户界面信息是否对应 信息正确对应
验证员工查询准确性 对比员工表的数据和界面信息是否对应 信息正确对应
验证供应商查询准确性 对比供应商表的数据和界面信息是否对应 信息正确对应
验证商品信息查询准确性 对比商品表的数据和界面信息是否对应 信息正确对应
验证编辑客户信息内容是否对应 随机点击任意客户信息的编辑按钮,对比输入框与界面显示的信息 信息正确对应
验证编辑员工信息内容是否对应 随机点击任意员工信息的编辑按钮,对比输入框与界面显示的信息 信息正确对应
验证编辑供应商信息内容是否对应 随机点击任意供应商信息的编辑按钮,对比输入框与界面显示的信息 信息正确对应
验证编辑商品信息内容是否对应 随机点击任意商品信息的编辑按钮,对比输入框与界面显示的信息 信息正确对应
验证新增信息正确性 点击新增客户信息,输入正确的信息,点击提交 提示提交成功 经过查询数据库,确定数据成功添加
验证新增信息正确性 点击新增员工信息,输入正确的信息击提交 提示提交成功 经过查询数据库,确定数据成功添加
验证新增信息正确性 点击新增供应商信息,输入正确的信息,点击提交 提示提交成功 经过查询数据库,确定数据成功添加
验证新增信息正确性 点击新增商品信息,输入正确的信息,点击提交 提示提交成功 经过查询数据库,确定数据成功添加
验证信息的合法性 在商品信息、客户信息、供应商信息、员工信息界面选择新增信息和编辑信息,输入错误的电话信息或邮箱信息。小于0的价格、重量 提示对应的信息错误
5.3本章小结
本章主要介绍了系统测试的方法,具体使用了黑盒测试围绕各个业务涉及的各个功能进行测试,并列出了各测试模块具体的测试用例,其中包括用户登录测试、采购业务测试、销售业务测试、调拨业务测试和信息管理测试。在通过一系列的测试在发现问题的同时,加深了对系统的了解,进一步的完善了部分功能信息的显示。

6 结束语

6.1 全文总结
本文介绍了沃尔夫进销存系统的开发过程,首先介绍了进销存管理的需求背景和当前该管理在国内国外的现状。罗列出了具体的需求分析和系统功能分析,得出了系统围绕采购管理、销售管理、财务管理、仓库管理、基础信息管理展开设计的结论。
之后对开发的环境与使用的架构作出简单的介绍,以B/S结构和MVC模式为基础上使用SSM框架进行开发,并采用了MyBatis-Plus来降低开发难度,前端只要使用了layui进行界面设计。接着介绍了数据库表的具体设计。
在系统实现中,主要介绍了各功能模块的具体的实现界面图,并对部分功能的效果图进行了介绍。
6.2 课题展望
进销存管理在销售企业中,起着至关重要的作用,如今的技术发展,有越来越多的渠道可以方便人们对货物进行管理,减轻了销售企业管理的压力,有助于改善业务的效率与质量,在当今经济飞速发展的格局下,效率与质量有着重要的意义,而进销存系统正是为此而存在的。
本系统虽然实现主要业务的信息管理,但依旧存在需要多不足,主要有一下几点:
(1)部分业务执行还不够灵活。
(2)系统的安全等级低,重要的信息并没有进行加密处理,对数据库的数据处理没有做性能上的优化。
(3)前端的技术还不够熟练,主要依赖了模板展开设计。

参考文献

[1]杨开振,周吉文,梁华辉,谭茂化.JavaEE 互联网轻量级框架整合开发[M] .电子工业出版社,2017
[2] 王伟红,王守城,于玲玲.超市进销存管理系统的分析与设计[J]. 现代商业, 2006
[3] 卿娟.基于MVC架构的进销存管理信息系统的设计与实现[J].计算机光盘软件与应用,2014
[4]Nicole Pontius.What is an Inventory Management System? Definition of Inventory Management Systems, Benefits, Best Practices & More[J]. Camcode,2020
[5] Bhaskar Bose.What Is an Inventory Management System and What
Features Do I Need[J].Logistics Technology,2019
[6] 韩冬梅,王锦功.商业进销存管理信息系统[M] 商务计算机应用 长春:吉林大学出版社,1997
[7] 王永洋; 赵德平; 李畅; 张弛.基于B/S模式小型超市进销存系统的设计[J].硅谷,2011
[8] 范国婷; 曹飞虎; 王秀友; 杨颖 .基于Java Web的进销存管理系统设计[J].廊坊师范学院学报(自然科学版).2018
[9] 郭萌萌,史文丽.进销存管理系统初步设计[J].无线互联科技.2014
[10] 唐汉明 深入浅出MySQL:数据库开发、优化与管理维护(第2版)[M] 人民邮电出版社,2016

致谢

在花费长达几个月的时间后,论文至此也已经完成,四年的大学生活转眼间就要结束了,从论文选题、开题报告,经历反复修改论文,体验五味杂陈的心情,但在完成论文的这一刻,只有无尽的感慨。在这里我首先要感谢指导老师耐心的指导,在论文撰写完成后,老师认真检查了我的内容,将我论文存在的问题一一指出,让我找到一条清晰的思路,才使得我的论文在不断完善。这次的设计是我这大学四年以来所学知识的集大成,也进一步的让我意识到了自己所学的知识量还远远不够,学无止境,在未来还有很多困难的工作要去完成,为此更多的技术知识是必不可少的。

这篇关于基于SSM的沃尔夫商城进销存系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/722797

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景