基于Spring Boot的汽车销售管理系统的设计与实现_第1页
基于Spring Boot的汽车销售管理系统的设计与实现_第2页
基于Spring Boot的汽车销售管理系统的设计与实现_第3页
基于Spring Boot的汽车销售管理系统的设计与实现_第4页
基于Spring Boot的汽车销售管理系统的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

绪论本项目通过使用Springboot、Mybatis、vue等技术实现了一个汽车销售平台系统,该系统的主要作用就是为销售人员带来一定的便利,销售人员可以通过该系统进行车辆库存的管理,用户信息的管理,订单的管理,还可以查看自己的销售额,经理职位还可以对销售人员进行添加。1.1课题研究背景和意义在新时代下,随着信息技术的飞速发展,已经有越来越多的行业逐渐将互联网技术运用到自己的工作中来,因为我国人们的生活正在不断的变好,车辆也成为了人们生活中不可或缺的物品之一,我国有的汽车行业仍然没有将互联网真正运用到自己的汽车销售中来,采用传统的汽车销售模式,这样不仅给用户带来很多不便,给公司的销售人员和财务人员也带来非常多的不便,传统的汽车销售模式中的记账方式仍然是最为传统的人工记账的方式,这样的记账方式不仅会使账目更加容易出现错误,在账目审核的时候可能还会出现账目混乱不便于审核的情况,这样不仅会给公司的财务人员带来很多的压力,也不利于公司的发展。对此可以开发汽车销售平台系统将整个汽车销售的流程都搬到互联网上面来,管理员可以在汽车销售平台上进行汽车的销售,销售的汽车将会直接生成订单,这样公司的管理人员则可以直接通过汽车销售平台来查看那些汽车比较容易销售,方便改变策略,还可以查看员工的业绩,方便对员工进行奖励。1.2国内外现状分析一方面,随着时代的不断发展,汽车逐渐进入到每家每户中,现在汽车已经成为我国人们出行必不可少的工具之一。由于现在信息技术的飞速发展,互联网成为现在人们获取信息的主要手段之一,有一部分的汽车公司已经将互联网技术运用到汽车的售卖这个流程上面了,但是还有些汽车公司仍然使用传统的汽车销售模式进行汽车的销售,这样不仅使用户在购买汽车的过程中得不到很大的便利,汽车公司的销售人员和财务人员也无法得到互联网的一些便利,比如传统的记账方式会显得比较复杂,会给财务带来很多的麻烦,如果账目不够清晰的话还容易出现账目错误的情况,这样就会浪费大量的人力物力,得不偿失。另一方面,国外以美国、英国、法国、意大利为首的发达国家,已经互联网加入到汽车的销售流程中了,例如美国,美国电动车制造商特斯拉(Tesla)汽车公司惯用网络传播营销的方式进行品牌宣传,目前通过在线网站和自己的一小都分直营店销售其豪华电动车。特斯拉进入香港和大陆市场也同样采取网络订车的模式销售。汽车制造商越来越关注网络销售宝全新推出的i3电动车亦是通过网络渠道进行销,这证明了国外早已将互联网应用到车辆的销售行业中了。而且在国外互联网技术的应用越来越广泛,特别是"互联网+"应用到多种行业和领域内,伴随着互联网技术的应用和推广,汽车网络营销的比重不断提高,越来越多的企业已经开展了或者正在进行对互联网汽车营销的探索。由此看来将互联网与传统的汽车销售行业相结合已经成为当前时代的趋势,这将会推动汽车产业的不断发展。所以本文基于Springboot+vue+Mybatis进行开发设计,创建一个汽车销售平台的意义还是十分重大的。1.3课题研究主要内容通过对汽车销售系统的设计与实现的编写,使得自己对于国内外汽车销售模式有了一定的认知和了解。该系统的主要功能:销售人员登录、经理登录、销售管理、客户管理、库存管理、财务报表管理、员工管理。

2核心技术介绍汽车销售片平台的开发与创建前段用到了vue+elementui-plus,后端主要用到了Springboot技术,数据库部分使用的是Mybatis,前后单交互用的是axios异步交互技术。2.1MVVM设计模式介绍MVVM实际上就是MVC的增强版,与MVC设计模式的不同之处就是MVVM增加一个模块叫ViewModel,是Model和Controller之间的一座桥梁。这个模块的添加使controller的代码量变少,更利于对项目的维护。2.2Springboot框架技术介绍Springboot框架是现在最流行的框架之一,它与Spring框架有着很多不同的地方,Spring框架需要进行很多的配置,Springboot框架则将这些配置封装了起来,用户只需要调用相关的依赖就能是实现相应的功能。2.3vue框架技术介绍Vue是前端最流行的框架技术之一,该框架对于新手来说非常的容易上手,而且在代码中修改之后他会立即在页面作出相应的响应,对程序人员来说,这个框架给前端代码节省了很多工作量。2.4Mybatis技术介绍Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOrdinaryJavaObject,普通的Java对象)映射成数据库中的记录。2.5Axios技术介绍Axios,是一个基于promise网络请求库,作用于node.js和浏览器中,它是isomorphic的(即同一套代码可以运行在浏览器和node.js中)。Axios可以实现异步交互,给程序员带来了很大的便利。

3需求分析本章节主要的任务是对项目进行可行性分析,通过一系列的可行性分析可以为该项目节省很大的开销,避免不必要的花费。3.1可行性分析汽车销售平台系统的可行性分析主要从技术可行性、操作可行性、社会可行性与经济可行性的角度对该项目进行可行性分析。3.1.1技术可行性技术采用Springboot+vue+Mybatis。Springboot技术特点:(1Springboot技术不需要进行一些配置,直接导入相关的依赖即可实现Spring的相关功能。(2)Springboot内部含有一个tomcat,给程序员带来的很大的便利。(3)Springboot框架可以与其他框架无缝结合。Vue技术的特点:(1)Vue技术可以搭配elementui等框架进行使用,大大简化了前端开发项目的难度。(2)Vue技术代码相比于传统的html、js显得更加的简洁明了。(3)Vue技术更加简单,对于编程能力不是很出色的人来说比较友好。Mybatis技术特点(1)便于程序人员对项目的维护管理;(2)用标签代替编写逻辑代码,给程序人员带来的很大的便利;(3)通过映射的方式实现对数据库的操作。(4)接近JDBC,操作起来比较灵活。由此可见,这些技术对于本系统的研究和开发是可行的。3.1.2操作可行性系统界面简单明了,将管理员分为销售人员和经理两个职位,对于管理员页面布局使用的是侧边栏菜单,这样更加方便管理员对于该系统进行一些操作,由此可知本系统在操作上面是可行的。3.1.3经济可行性一方面,该系统可以减少成员管理的时间,从而进一步提高管理的效率。另一方面,该系统的编写,运营维护等相关成本在经济能力范围里是可以接受的,未来的收益高于投资成本,由此看来,该系统在经济方面是可行的。3.1.4社会可行性社会可行性分析是从社会角度对该项目进行一系列的分析,本系统开发具有很大现实意义和价值,可以为社会带来积极的影响和实际的收益,设计本汽车销售平台网站,从社会影响和各方面条件收集信息都证明了该系统具有社会可行性。3.2系统需求分析该系统有两个职位,分别是管理员模块中的销售人员职位和经理职位。3.2.1管理员用例分析管理员模块分为两种职位,分别是销售人员职位与经理职位,管理员模块具有的功能是:销售管理、客户管理、库存管理、财务报表管理、员工管理。管理员可以通过该平台对销售订单进行管理,对汽车的库存进行管理,查看汽车入库时间等信息,管理人员还可以查看员工的财务报表信息,这个功能是员工能够更好的了解自己。管理员用例图如图3-1所示。图3-1管理员用例图3.3业务流程分析管理员业务流程:管理员登录后可以对车辆与用户相关的销售订单进行管理、对客户信息进行管理、对车辆的库存信息进行管理(经理职位可以修改车辆库存)、对员工的财务报表进行管理、对员工的个人信息进行管理。管理员订单管理流程图如3-2所示图3-2管理员订单管理流程图管理员客户管理流程图如3-3所示图3-3管理员客户管理流程图管理员库存管理流程图如图3-4所示图3-4管理员添加用户信息流程图管理员财务报表管理流程图如3-6所示图3-6管理员财务报表信息流程图管理员员工管理流程图如3-7所示图3-7管理员员工管理流程图

4系统设计4.1项目规划本项目将采用Springboot+vue+Mybatis技术来进行设计。本项目将角色分为销售人员和经理两种角色,经理角色比销售人员角色多一个员工管理功能,两种角色具有的公共的功能是销售订单管理、客户信息管理、车辆库存管理、员工财务报表管理、员工信息管理,这两种角色通过该平台进行一些操作将会大大减轻销售人员的任务量。4.2系统功能结构汽车销售平台系统将角色分为销售人员与经理两种角色,这两种角色拥有的公共功能为销售订单管理、客户信息管理、车辆库存管理、财务报表管理,经理角色比普通的销售人员还多一个员工信息管理功能。销售人员功能结构图如4-1所示图4-1销售人员功能结构图经理功能结构图如4-2所示图4-2经理功能结构图4.3数据库E-R模型系统数据库的E-R模型图如4-3所示图4-3系统E-R图汽车系列实体属性图如图4-4所示图4-4用户信息实体图订单详情实体图如图4-5所示图4-5订单详情实体图订单实体图如图4-6所示图4-6订单实体图职员信息实体图如图4-7所示图4-7职员信息实体图客户实体图如图4-8所示图4-8客户实体图汽车实体表如图4-9所示图4-9汽车实体图汽车品牌实体表如图4-10所示图4-10汽车品牌实体图4.4数据库逻辑设计汽车系列表用于存放汽车系列信息,它的外键是汽车的品牌id,可以连接汽车系列与品牌信息,汽车系列表如表4-1所示。表4-1汽车系列表列名数据类型长度主键允许空说明series_idint是否车系编号brand_idInt否否品牌编号series_nameVarchar16否否车系名称statusVarchar1否否车系状态订单详情表用来连接订单表与汽车表。订单详情表如表4-2所示。表4-2订单详情表列名数据类型长度主键允许空说明Idvarchar16是否订单详情编号order_idbigint否否订单编号car_idbigint否否车辆编号car_numberint否否车辆订单数订单表,用来存放订单的信息,该表将客户id与职员id当做外键用来将信息连接起来,便于展示订单信息。订单信息表如表4-3所示。表4-3订单信息表列名数据类型长度主键允许空说明idbigint是否订单编号customer_idbigint否否顾客编号employee_idint否否负责员工编号total_pricedecimal20,2否否订单总金额statusvarchar1否否订单状态create_timedatetime否是订单创建时间pay_timedatetime否是订单支付时间update_timedatetime否是订单更新时间职工信息表用来存放员工的信息,经理添加的员工信息将会被添加到该表中,这样会更加便利员工信息的查询,职工信息表如表4-4所示。表4-4职工信息表列名数据类型长度主键允许空说明idint是否员工编号rolevarchar1否否员工角色namevarchar10否否员工姓名passwordvarchar20否否员工登录密码id_cardvarchar20否否员工身份证号phonevarchar11否否员工电话号码gendervarchar1否否员工性别salarydecimal12,2否否员工薪资entry_timedate否是员工入职时间statusvarchar1否否员工状态客户信息表用来存放用户的信息,销售人员与经理添加的客户信息都添加在该表中,客户信息表如表4-5所示。表4-5客户信息表列名数据类型长度主键允许空说明idbigint是否顾客编号namevarchar10否否顾客姓名phonevarchar11否否顾客电话id_cardvarchar20否否顾客身份证号create_timedatetime否是顾客信息创建时间汽车实体表用来存放汽车的信息,汽车的系列作为本表的外键,可以根据汽车的系列查询汽车的相应信息,汽车信息表如表4-6所示。表4-6汽车实体表列名数据类型长度主键允许空说明idbigint是否车辆编号series_idint否否车系编号typevarchar32否否车辆型号colorvarchar16否否车辆颜色pricedecimal12,2否否车辆进价CarnameVarchar255否否车辆售价repertoryInt否否车辆库存create_timedatetime否是车辆入库时间statusvarchar1否否车辆状态汽车品牌表用于存放汽车品牌的信息,一个汽车品牌对应多个汽车系列,汽车品牌表如表4-7所示。表4-7汽车品牌表列名数据类型长度主键允许空说明brand_idint是否品牌编号brand_namevarchar16否否品牌名称statusvarchar1否否品牌状态

5系统实现根据以上设计后,利用Springboot+vue+Mybatis技术来完成汽车销售平台项目,将项目分为销售人员与经理两种角色分别进行实现。5.1管理员登录模块系统根据业务需求将用户角色分为销售人员和经理两种角色,为了方便考虑到代码的简洁性将两种角色登录的接口在controller中设置成一个接口,前端有一个地方可以调节销售人员与经理两种角色,管理人员可以通过前端的调节向后端传输不同的用户角色信息,后端控制层接收到用户信息后会根据用户的角色进行判断,如果用户的角色是经理则会在前端页面显示出经理的界面,经理可以对普通的销售人员进行管理,如果后端接收到的是普通的销售人员的权限则会在前端登录普通销售人员的界面,这些的实现过程是前端将数据传输到控制层中,由控制层将数据传输到service层中进行处理,数据层调用查询employee表中的信息,根据传输过来的账号密码,通过多条件的SQL查询,如果查询到符合条件的结构将会把数据封装在List集合中然后返回值service层中,最后会将数据返回至前端,如果登陆成功的话前端会实现页面的跳转将页面跳转到首页,如果登录不成功的话前端会进行报错处理。登录页面如图5-1所示。图5-1汽车销售系统登录界面管理员和经理登录成功之后将会进入到系统的首页面,他们可以在系统的首页面查看自己的本月销售额于本月的销售量,已进入系统就能看到自己平时工作的业绩对销售人员也是一种激励,销售人员与经理的首页面又说不同,但是大体上来说是相同的。经理登录首页面如图5-2所示,销售人员登录首页面如图5-3所示。图5-2经理登录首页面图5-3销售人员登录首页面5.2销售人员销售管理模块由于销售人员与经理的权限有所不同,所以先说一下销售人员部分的功能,销售人员具有的第一个功能模块就是销售管理模块,该模块的主要功能就是对订单进行管理。接下来说第一个生成新订单功能,该功能就是当在客户身份证号输入框输入客户的身份证号将会触发@change方法,该方法所关联的方法将会去调用前端的getCustomer方法去获取用户的信息将用户的姓名显示在前端页面中,如果输入的身份证号不正确他会提示你“输入正确的身份证号”,然后销售人员可以在下面选择用户所购买的车系生成相应的订单,车辆的信息在前端是被封装在一个数组之中,如果点击“添加车辆”,那么将会在数组之中新增一个车辆信息的输入框,销售人员还可以选择用户的支付状态,如果用户已支付那么生成的订单当中将会显示用户已支付的信息,在订单填写的过程中,系统会根据用户购买的车辆的数量与价格进行一些运算将所购买车辆的总价格显示在新增订单的下方,这也就会让客户对自己购买车辆的价钱一目了然,在页面中输入完信息之后点击“提交”将会触发submitFrom方法将在页面中所填写的数据传输到后端进行处理。新增订单页面如图5-4所示。图5-4新增订单页面销售管理的第二个功能是销售订单的查询,销售人员查看订单信息,销售人员没有权限修改订单信息,该功能中可以通过订单编号、客户姓名、销售人员姓名、以及订单的状态对订单进行查询,订单采用的是表格的形式展示出来的,销售人员可以通过该表查看具体的销售情况,销售订单表如图5-5所示图5-5销售订单表销售管理的第三个功能是订单详情查看,销售人员可以通过订单详情编号、订单编号、客户编号、销售人员编号、状态等多方面对订单详情进行查询,通过订单详情查询订单能够使人们查看起来更加的方便。订单详情不同于上面的销售订单表,他可以更加直白的体现出订单的数据,订单详情会根据支付的结果不同判断订单是否已被支付。订单详情页面如图5-6所示。图5-6订单详情页面5.3销售人员客户管理模块该模块的主要作用就是对客户信息进行管理操作,该模块用两个功能,分别是客户信息的查看管理功能和客户信息的添加功能。添加客户信息就是在前端页面输入数据然后通过后端的操作将信息存储到数据库中,客户信息添加页面如图5-7所示。图5-7客户信息添加页面客户管理的另一个功能是客户信息的查看功能,点击侧边栏的客户信息将会跳转到客户信息查看页面,该功能的主要作用就是将数据库中的客户信息通过相应的查询SQL语句查询出来,然后将查询出来的客户信息返回至前端进行信息的渲染,然后在前端通过表格的形式展示出来,此处表格使用的是elementUI功能的el-table技术展现出来的,在该功能中可以通过客户的编号,客户姓名、客户手机号和客户身份证号证号进行多条件的查询,通过相关得查询SQL语句将客户查询出来,客户信息界面如图5-8所示。5.4销售人员库存管理功能销售人员在给功能上只具有车辆库存的查看,不能对车量库存进行任何操作,因为销售人员权限不足,该页面也是通过查询SQL语句先将车辆的信息查询出来然后在前端页面展示出来,销售人员可以通过汽车的编号、汽车的车系、汽车的状态对库存中的车辆进行查询,如果查询成功将会返回相关车辆信息,如果查询不出来将不会显现车辆的信息,汽车库存界面如图5-8所示图5-8汽车库存界面5.5销售人员个人月报表功能该功能可以查看用户本月的销售情况,根据本月的销售数据将相关的信息用echarts视图展示出来,该功能也是通过查询语句查询到相应的数据数据封装到专属的echarts实体类中将数据返回回来,如果当月有数据则会显示相应的饼状图,如果当月没有数据则会不显示任何东西,而且还可以通过该页面左上侧的月份进行调节,查询相关月份的汽车销售情况。销售人员个人月报表功能如图5-9所示。图5-9销售人员个人月报表功能5.6销售人员个人信息查看功能该功能的主要作用就是方便销售人员查看自己的个人信息,如果个人信息有什么不对的地方还可以进行相关的更改操作,该页面具有修改客户信息功能与修改客户密码功能,当销售人员点击我的信息是将会进入到该页面将自己的个人信息展示出来,如果销售人员发现自己的信息不对可以自行进行信息的修改,点击修该信息与修改密码都会一弹窗的形式将信息展示出来,点击修改之后将会有后端相关的update修改语句将销售人员的信息修改掉,销售人员个人信息页面如图5-10所示。图5-10销售人员个人信息页面5.7经理库存管理功能销售人员与经理在库存管理方便有一些不一样的地方,销售人员只具有浏览查看的功能,而经理则可以对车辆的信息进行修改工作,经理还可以添加车辆,车辆管理页面经理比普通的销售人员多一个编辑按钮,这就证明经理可以对车辆信息进行修改,当点击该按钮时会出现一个车辆信息的弹窗,可以正在该弹窗中将车辆的信息修改完成然后点击修改他就会将相关的数据返回到后端有相关的修改SQL语句对数据库中的车辆信息进行修改操作。经理车辆库存页面如图5-11所示。图5-11经理库存管理界面经理的库存管理中比销售人员还多一个添加库存的功能,经理可以在这个功能中添加汽车系列、品牌,删除汽车系列、品牌,还可以根据已有的汽车系列添加相应的汽车数量,汽车添加页面如图5-12所示。图5-12汽车添加页面5.7经理财务报表功能经理的财务报表功能比销售多了两个功能,就是经理可以查看员工的销售额报表,也可以查看销量报表,经理与销售人员相同的地方就是个人销售报表,员工销售额报表采用得也是病状图的形式显示的,他显示的是每个员工在该月的销售额是多少,销售量报表采用的是柱状图和折线图的形式来展现的,可以通过这个报表查看本月盈利是多少。员工报表如图5-13所示,销售量报表如图5-14所示。图5-13员工报表图5-14销售量报表5.8经理员工管理模块此模块的功能主要有查看员工信息,增加员工信息,此功能只能由经理进行添加,经理添加的添加的所有员工都是销售人员,该模块的第一个功能是添加员工功能,该功能就是将用户的信息在页面上填好然后点击添加前端就会将用户的信息传输之后端进行处理。添加员工页面如图5-15所示。图5-15添加员工页面员工管理的另一功能是员工信息的查看,点击员工信息将会跳转到员工信息查看页面对员工信息进行查看,员工信息查看页面如图5-16所示。图5-16员工信息查看页面

6系统测试6.1模块测试本项目对管理员的经理角色与销售人员角色进行了部分处理,以确保两种角色对应的功能能够正常的使用,具体测试的功能有:销售人员模块:查看订单功能、客户管理模块、查看库存功能、个人报表查看,个人信息查看。经理模块:库存管理模块、财务报表模块、员工管理模块。6.2系统整体测试.系统整体测试对系统整体的功能进行了一些测试保证系统的功能能够正常运行。6.3测试过程6.3.1销售人员测试该模块是对销售人员模块的部分功能进行测试,主要测试的模块是订单管理模块、客户管理模块、库存管理模块、个人报表查看,个人信息查看。表6-1订单管理模块测试用例测试目标系统名称汽车销售平台测试所测模块名称订单管理模块测试目的测试订单生成情况与查看情况测试步骤(1)进入添加订单页面进行订单的添加(2)进入订单详情页面进项订单的查询预期结果对订单管理模块功能进行管理表6-2客户管理模块测试用例测试目标系统名称汽车销售平台测试所测模块名称客户管理模块测试目的测试客户管理模块是否正常使用测试步骤(1)进入客户添加界面进行客户的添加(2)进入客户查看页面进行客户的查看与修改预期结果对客户管理模块进行管理表6-3库存管理模块测试用例测试目标系统名称汽车销售平台测试所测模块名称库存管理模块测试目的测试库存管理模块是否正常使用测试步骤进行车辆库存的查看预期结果对车辆库存管理模块进行管理库存管理模块表6-4个人报表模块测试用例测试目标系统名称汽车销售平台测试所测模块名称个人报表模块测试目的测试个人报表模块是否正常使用测试步骤进入个人报表页面进行个人信息的查看预期结果对个人信息模块进行管理表6-5个人信息模块测试用例所测模块名称个人信息模块管理测试目的测试个人信息管理模块是否正常使用测试步骤(1)进入个人信息模块查看个人信息(2)进行个人信息的修改(3)进行个人密码的修改预期结果对个人信息管理模块进行管理6.3.2经理测试该模块是

温馨提示

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

评论

0/150

提交评论