文末获取源码

开发语言:Java
开发工具:IDEA /Eclipse
数据库:MYSQL5.7/8.0
应用服务:Tomcat7/Tomcat8
是否Maven项目:是
后端框架:SpringBoot
前端框架:vue+element等
JDK版本:jdk1.8
项目架构:B/S架构

前言介绍

任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了4S店车辆系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括首页、个人中心、销售员管理、维修员管理、客户管理、供应商信息管理、保险公司管理、车辆信息管理、物资信息管理、车辆销售管理、车辆维修管理、营业统计管理、销售统计管理等功能模块。

本文首先介绍了4S店车辆管理的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

功能需求分析

系统功能需求分析是通过软件开发者在参与市场调研,与管理者及使用者交流后经过详细缜密的思考,再讨论研究后得出的初步系统开发所需实现功能。这是开发的第一步,也是至关重要的一步,如果不在这个阶段制定系统所需模块,日后会带来不必要的麻烦。因此,必须严肃认真,全身心投入去做好这个步骤。

本系统采用自上往下的方法开发,基本定位如下功能:

本课题要求实现一套4S店车辆管理系统,系统主要包括管理员、销售员和维修员等功能模块。

系统功能结构图

系统实现

系统登录

用户通过填写注册时输入的用户名、密码、选择角色等信息进行登录操作,如图

管理员功能模块

管理员登录进入4S店车辆系统可以查看首页、个人中心、销售员管理、维修员管理、客户管理、供应商信息管理、保险公司管理、车辆信息管理、物资信息管理、车辆销售管理、车辆维修管理、营业统计管理、销售统计管理等功能进行详细操作,如图

销售员管理

在销售员管理页面中可以对索引、销售账号、销售姓名、性别、年龄、手机、住址等内容进行详情、修改和删除操作;如图

维修员管理

在维修员管理页面中可以对索引、维修账号、维修姓名、性别、年龄、手机、住址等内容进行详情、修改和删除操作;如图

客户管理

在客户管理页面中可以对索引、客户编号、客户姓名、联系方式、车辆品牌、购车方式、交车时间、保险年限等内容进行详情、修改和删除操作;如图

供应商信息管理

在供应商信息管理页面中可以对索引、供应商名称、地址、负责人、联系方式、备注等内容进行详情、修改和删除操作;如图

保险公司管理

在保险公司管理页面中可以对索引、公司编号、公司名称、地址、负责人、联系方式、备注等内容进行详情、修改和删除操作;如图

车辆信息管理

在车辆信息管理页面中可以对索引、车辆编号、车辆品牌、座位数、换挡方式、数量、售价、供应商、车辆图片等内容进行详情、修改和删除操作;如图

物资信息管理

在物资信息管理页面中可以对索引、物资编号、物资名称、规格、数量、单价、供应商、物资图片等内容进行详情、修改和删除操作;如图

车辆销售管理

在车辆销售管理页面中可以对索引、订单编号、车辆编号、车辆品牌、数量、售价、是否支付、支付方式、客户姓名、预计交车时间、销售日期、销售账号、销售姓名等内容进行详情、修改操作;如图

车辆维修管理

在车辆维修管理页面中可以对索引、维修单号、维修车辆、客户姓名、维修状态、维修费用、维修时间、结束时间、维修账号、维修姓名等内容进行详情、删除操作;如图

营业统计管理

在营业统计管理页面中可以对索引、统计月份、统计类型、总销额、备注等内容进行详情、修改和删除操作;如图

销售员功能模块

销售员登录进入4S店车辆系统可以查看首页、个人中心、客户管理、供应商信息管理、保险公司管理、车辆信息管理、车辆销售管理等功能,并进行详细操作,如图

个人中心

在个人信息页面通过填写销售账号、性别、手机、销售姓名、年龄、住址等内容进行个人信息修改;如图

客户管理

在客户管理页面中可以对索引、客户编号、客户姓名、联系方式、车辆品牌、购车方式、交车时间、保险年限等内容进行详情操作;如图

车辆信息管理

在车辆信息管理页面中可以对索引、车辆编号、车辆品牌、座位数、换挡方式、数量、售价、供应商、车辆图片等内容进行详情、销售操作;如图

维修员功能模块

维修员登录进入4S店车辆系统可以查看首页、个人中心、客户管理、供应商信息管理、保险公司管理、物资信息管理、车辆维修管理等功能,并进行详细操作,如图

物资信息管理

在物资信息管理页面中可以对索引、物资编号、物资名称、规格、数量、单价、供应商、物资图片等内容进行详情操作;如图

保险公司管理

在保险公司管理页面中可以对索引、公司编号、公司名称、地址、负责人、联系方式、备注等内容进行详情操作;如图

部分核心代码:

/*** 车辆维修* 后端接口* @author * @email * @date 2022-05-06 18:06:12*/
@RestController
@RequestMapping("/cheliangweixiu")
public class CheliangweixiuController {@Autowiredprivate CheliangweixiuService cheliangweixiuService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,CheliangweixiuEntity cheliangweixiu,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("weixiuyuan")) {cheliangweixiu.setWeixiuzhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<CheliangweixiuEntity> ew = new EntityWrapper<CheliangweixiuEntity>();PageUtils page = cheliangweixiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cheliangweixiu), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,CheliangweixiuEntity cheliangweixiu, HttpServletRequest request){EntityWrapper<CheliangweixiuEntity> ew = new EntityWrapper<CheliangweixiuEntity>();PageUtils page = cheliangweixiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cheliangweixiu), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( CheliangweixiuEntity cheliangweixiu){EntityWrapper<CheliangweixiuEntity> ew = new EntityWrapper<CheliangweixiuEntity>();ew.allEq(MPUtil.allEQMapPre( cheliangweixiu, "cheliangweixiu")); return R.ok().put("data", cheliangweixiuService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(CheliangweixiuEntity cheliangweixiu){EntityWrapper< CheliangweixiuEntity> ew = new EntityWrapper< CheliangweixiuEntity>();ew.allEq(MPUtil.allEQMapPre( cheliangweixiu, "cheliangweixiu")); CheliangweixiuView cheliangweixiuView =  cheliangweixiuService.selectView(ew);return R.ok("查询车辆维修成功").put("data", cheliangweixiuView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){CheliangweixiuEntity cheliangweixiu = cheliangweixiuService.selectById(id);return R.ok().put("data", cheliangweixiu);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){CheliangweixiuEntity cheliangweixiu = cheliangweixiuService.selectById(id);return R.ok().put("data", cheliangweixiu);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody CheliangweixiuEntity cheliangweixiu, HttpServletRequest request){cheliangweixiu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(cheliangweixiu);cheliangweixiuService.insert(cheliangweixiu);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody CheliangweixiuEntity cheliangweixiu, HttpServletRequest request){cheliangweixiu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(cheliangweixiu);cheliangweixiuService.insert(cheliangweixiu);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody CheliangweixiuEntity cheliangweixiu, HttpServletRequest request){//ValidatorUtils.validateEntity(cheliangweixiu);cheliangweixiuService.updateById(cheliangweixiu);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){cheliangweixiuService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<CheliangweixiuEntity> wrapper = new EntityWrapper<CheliangweixiuEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("weixiuyuan")) {wrapper.eq("weixiuzhanghao", (String)request.getSession().getAttribute("username"));}int count = cheliangweixiuService.selectCount(wrapper);return R.ok().put("count", count);}}

SpringBoot+Vue实现前后端分离的4S店车辆管理系统相关推荐

  1. SpringBoot+Vue实现前后端分离的学校快递站点管理系统

    文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript.Vue.js .css3 开发工具:IDEA/MyEclipse/Eclipse.Visual St ...

  2. 视频教程-springboot+Vue整合前后端分离权限后台管理系统-Java

    springboot+Vue整合前后端分离权限后台管理系统 拥有八年的Java项目开发经验,擅长Java.vue.SpringBoot.springCloud.spring.springmvc.myb ...

  3. 基于SSM+SpringBoot+Vue+ElementUI前后端分离的校园岗位招聘就业管理系统

    运行视频 基于SSM+SpringBoot+Vue+ElementUI前后端分离的校园岗位招聘就业管理系统 项目运行截图 学生管理 添加学生 学生信息 教师管理 教师信息 实习基地 公告信息 公司管理 ...

  4. shiro+php,一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

    一.前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 c ...

  5. springboot+vue的前后端分离与合并方案

    pringboot和vue结合的方案网络上的主要有以下两种: 1. [不推荐]在html中直接使用script标签引入vue和一些常用的组件,这种方式和以前传统的开发是一样的,只是可以很爽的使用vue ...

  6. 基于springboot+vue的前后端分离商城系统

    springboot前后端分离商城 介绍 springboot前后端分离商城 本项目由本人根据教程实现的一个springboot项目,基本已实现项目,但是本人希望加入自己的小功能, 请期待下一次的更新 ...

  7. SpringBoot + Vue 开发前后端分离的旅游管理系统

    旅游管理系统 项目简介 项目演示 数据库建表 环境搭建 引入依赖(pom.xml) 配置文件(application.properties) href="javascript:;" ...

  8. SpringBoot+Vue搭建前后端分离的轻博客

    之前用SpringBoot+Thymeleaf写了个人博客,这次又来炒冷饭,用新的技术来重构个人博客,并把它变成开放式的,目前水平有限,欢迎大家一起讨论提建议 2020-04-07:因为期间在找工作, ...

  9. 基于Springboot+vue实现前后端分离二手图书交易

    作者主页:编程指南针 作者简介:Java领域优质创作者.CSDN博客专家 .掘金特邀作者.多年架构师设计经验.腾讯课堂常驻讲师 主要内容:Java项目.毕业设计.简历模板.学习资料.面试题库.技术互助 ...

最新文章

  1. 分布式锁-常用技术方案
  2. 使用Fiddler监控使用RestTemplate发送网络请求的Java应用
  3. java的ThreadLocal类的使用方法
  4. system函数的返回值和执行脚本的返回值
  5. Win7系统还原声音图标的方法
  6. web前端基础(03html列表知识)
  7. redis rdb aof区别_10分钟彻底理解Redis的持久化机制:RDB和AOF
  8. Hudson安装配置文档
  9. 063 模块的四种形式
  10. android实现资源嗅探器手机版,OPPO Reno尝鲜Android Q教程来了
  11. java libtorrent_[转载]libtorrent安装windows版
  12. vfp中写入文本文件_Visual FoxPro基础知识
  13. 微信小程序 录音之获取、保存、读取
  14. android 视频背景图片,安卓手机怎么给视频添加背景图片 上下图片中间视频画面的小视频制作...
  15. 以窗口形式进行数字图像处理时,在图像边界处对超出图像边界的窗口内容的映射(对称)处理
  16. c++头文件:stdio.h ,cstdio ,iostream ,bits/stdc++.h
  17. Apple提出MobileViT:让移动设备用上轻量级、低延迟的视觉Transformer(附源代码下载)...
  18. 计算机基础知识教程excel求平均分,员工计算机基础知识普及教程-4Excel2000.ppt
  19. js已知正弦余弦正切值求角度弧度
  20. IoT的趋势2020,见证智能音箱的发展

热门文章

  1. 端口扫描工具 NMAP使用详解,收藏这一篇就够了
  2. (manacher)马拉车算法专题题目
  3. 新华字典在线查字网页版
  4. SpringBoot集成WebSocket实现及时通讯聊天功能!!!
  5. 中国移动机顶盒系统升级服务器地址,中国移动电视机顶盒WIFI网络设置步骤
  6. 模糊C均值聚类 python实现
  7. mate20 全网通 激活设备 卡刷包 修复过程
  8. c语言扫描器,Linux C语言写的超级简单port扫描器
  9. Mac的Dock栏是什么?Mac Dock栏使用技巧
  10. 10大硬盘数据恢复软件推荐