ssm汽车养护管理系统源码和论文

ssm汽车养护管理系统038


 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

开题报告内容:(研究现状、目的意义;基本内容、研究方法、参考文献等。) 

研究现状

国外的MIS系统大都经历了十几年甚至几十年的发展,在使用性和稳定性方面已经占有了很重要的地位,而本系统在使用方面力求简洁方便,比较适合汽修公司应用,操作方便简单。从国际的角度看,中国已经加入世界贸易组织,已经进入了竞争激烈的国际市场,为了使自己公司提高竞争力,国外的一些汽修公司早就认识到了效率的重要性,一些国外大型汽修公司也已经引进了汽车养护管理系统,而且本系统是在SSM框架下开发,代码可移植性较好,重用性很强,只需要更改少量代码即可以部署在不同的应用服务器上,在应用方面来说是比较方便的。

目的意义

以前汽车维修人员只是在汽车运输行业中从事后勤保障工作,随着我国经济的发展,汽车维修行业已经从原来的从属部门发展成了如今的功能齐备的独立企业。这种结构的转变,给私营汽修企业和个体汽修企业的发展带来了契机,私营企业和个体维修企业的加入也带动了整个汽修行业的整体水平的提高,推动了行业的迅速发展。开发本系统的目的主要是希望通过本系统帮助中小型汽车维修企业提高工作效率和管理水平,从而提高企业的竞争力和经济效益。汽车维修企业日常业务量大、工作内容繁杂、琐碎,传统的手工管理方法实现日常信息管理。使用本系统可以使企业的管理人员工作变得轻松,使管理人员切实感受到信息化建设带来的便利,切实感受到计算机技术、网络技术带来的快捷和智能。

基本内容

本系统以Java开发语言开发,Mysql为后台数据库,采用SSM(Spring+Spring MVC+MyBatis)三层架构网络。由Html来完成网站用户的接口(即界面), 逻辑处理和数据由Mysql来进行,由Mysql来完成数据的存放。

系统分为管理员与客户权限。管理员管理的内容包括员工管理,客户管理,员工出勤管理,零件分类管理,零件设备管理,维修管理。主要就是实现信息的增删改查操作。客户只能查看个人信息以及维修信息。

参考文献

[1]夏雨.汽车维修管理系统设计与实现[J].山东工业技术,2015(20):201.

[2]崔忠燕,高洁,张旭.汽车维修业务管理系统的设计[J].电脑知识与技术,2018,9(15):3472-3475.

[3]邹红霆.基于SSM框架的Web系统研究与应用[J].湖南理工学院学报(自然科学版),2017,30(01):39-43.

[4]汪君宇.基于JSP的Web应用软件开发技术分析[J].科技创新与应用,2018(16):158-160.

[5]赵钢.JSP Servlet+EJB的Web模式应用研究[J].电子设计工程,2018,21(13):47-49.

[6]肖英.解决JSP/Servlet开发中的中文乱码问题[J].科技传播,2017,(1)11-25.

[7]朱钧.基于角色的jsp通用权限系统设计与实现[D].山东大学,2019.

[8]康牧.JSP动态网站开发实用教程[M].清华大学出版社,2018.

[9]王建国.数据库设计在网站开发中的应用[J].山东农业工程学院学报,2017,34(04):158-159+164.

[10]张知青.基于关系数据库的查询方法及优化技术分析[J].煤炭技术,2015,31(05):218-220.

[11]陈志誉.Java工具及其调度方法研究[D].华南理工大学,2018.

[12]张孝祥,徐明华.JAVA基础与案例开发详解[M].清华大学出版社,2015.

[13]刘亚宾.精通Eclipse--JAVA技术大系[M].电子工业出版社,2015.

[14]曾志明.网站开发技术的比较研究[J].电脑知识与技术,2015,6(05):1075-1078.

[15]卫红春.信息系统分析与设计[M].北京:清华大学出版社,2016.

[16]于万波.网站开发与应用案例教程[M].清华大学出版社,2017.

[17]黎连业,王华,李淑春.软件测试与测试技术[M].清华大学出版社,2015.

package com.controller;import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;import com.annotation.IgnoreAuth;
import com.entity.GuanliyuanEntity;
import com.service.TokenService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;import com.entity.GuanliyuanEntity;import com.service.GuanliyuanService;
import com.utils.PageUtils;
import com.utils.R;/*** 管理员表* 后端接口* @author* @email* @date 2021-02-24
*/
@RestController
@Controller
@RequestMapping("/guanliyuan")
public class GuanliyuanController {private static final Logger logger = LoggerFactory.getLogger(GuanliyuanController.class);@Autowiredprivate GuanliyuanService guanliyuanService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String role, HttpServletRequest request) {GuanliyuanEntity user = guanliyuanService.selectOne(new EntityWrapper<GuanliyuanEntity>().eq("account", username));if(user != null){if(!user.getRole().equals(role)){return R.error("权限不正常");}if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),user.getName(), "users", user.getRole());return R.ok().put("token", token);}else{return R.error("账号或密码或权限不对");}}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Integer id = (Integer)request.getSession().getAttribute("userId");GuanliyuanEntity user = guanliyuanService.selectById(id);return R.ok().put("data", user);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody GuanliyuanEntity user){
//    	ValidatorUtils.validateEntity(user);if(guanliyuanService.selectOne(new EntityWrapper<GuanliyuanEntity>().eq("account", user.getAccount())) !=null) {return R.error("用户已存在");}guanliyuanService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){GuanliyuanEntity user = guanliyuanService.selectOne(new EntityWrapper<GuanliyuanEntity>().eq("account", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");guanliyuanService.update(user,null);return R.ok("密码已重置为:123456");}/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params){logger.debug("Controller:"+this.getClass().getName()+",page方法");PageUtils page = guanliyuanService.queryPage(params);return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){logger.debug("Controller:"+this.getClass().getName()+",info方法");GuanliyuanEntity guanliyuan = guanliyuanService.selectById(id);if(guanliyuan!=null){return R.ok().put("data", guanliyuan);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody GuanliyuanEntity guanliyuan, HttpServletRequest request){logger.debug("Controller:"+this.getClass().getName()+",save");Wrapper<GuanliyuanEntity> queryWrapper = new EntityWrapper<GuanliyuanEntity>().eq("serial", guanliyuan.getSerial()).eq("name", guanliyuan.getName()).eq("account", guanliyuan.getAccount()).eq("password", guanliyuan.getPassword()).eq("age", guanliyuan.getAge()).eq("sex_types", guanliyuan.getSexTypes()).eq("mobile", guanliyuan.getMobile()).eq("address", guanliyuan.getAddress()).eq("role", guanliyuan.getRole());logger.info("sql语句:"+queryWrapper.getSqlSegment());GuanliyuanEntity guanliyuanEntity = guanliyuanService.selectOne(queryWrapper);if(guanliyuanEntity==null){guanliyuan.setRole("管理员");guanliyuanService.insert(guanliyuan);return R.ok();}else {return R.error(511,"表中有相同数据");}}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody GuanliyuanEntity guanliyuan, HttpServletRequest request){logger.debug("Controller:"+this.getClass().getName()+",update");//根据字段查询是否有相同数据Wrapper<GuanliyuanEntity> queryWrapper = new EntityWrapper<GuanliyuanEntity>().notIn("id",guanliyuan.getId()).eq("serial", guanliyuan.getSerial()).eq("name", guanliyuan.getName()).eq("account", guanliyuan.getAccount()).eq("password", guanliyuan.getPassword()).eq("age", guanliyuan.getAge()).eq("sex_types", guanliyuan.getSexTypes()).eq("mobile", guanliyuan.getMobile()).eq("address", guanliyuan.getAddress()).eq("role", guanliyuan.getRole());logger.info("sql语句:"+queryWrapper.getSqlSegment());GuanliyuanEntity guanliyuanEntity = guanliyuanService.selectOne(queryWrapper);if(guanliyuanEntity==null){guanliyuanService.updateById(guanliyuan);//根据id更新return R.ok();}else {return R.error(511,"表中有相同数据");}}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){logger.debug("Controller:"+this.getClass().getName()+",delete");guanliyuanService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/102303.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chapter 3 Free electrons in solid - 3.1 自由电子模型

3.1 自由电子模型 Free electron model 研究晶体中的电子&#xff1a; 自由电子理论&#xff1a;不考虑离子实能带理论&#xff1a;考虑离子实&#xff08;周期性势场&#xff09;的作用 3.1.1 德鲁德模型 Drude Model - Classical Free Electron Model (1)德鲁德模型 德鲁…

golang 协程的实现原理

核心概念 要理解协程的实现, 首先需要了解go中的三个非常重要的概念, 它们分别是G, M和P, 没有看过golang源代码的可能会对它们感到陌生, 这三项是协程最主要的组成部分, 它们在golang的源代码中无处不在. G (goroutine) G是goroutine的头文字, goroutine可以解释为受管理的…

React(7)

1.React Hooks 使用hooks理由 1. 高阶组件为了复用&#xff0c;导致代码层级复杂 2. 生命周期的复杂 3. 写成functional组件,无状态组件 &#xff0c;因为需要状态&#xff0c;又改成了class,成本高 1.1 useState useState();括号里面处的是初始值&#xff1b;返回的是一个…

2023年大数据与区块链国际会议 | EI、Scoups检索

会议简介 Brief Introduction 2023年大数据与区块链国际会议&#xff08;ICBDB 2023&#xff09; 会议时间&#xff1a;2023年11月17 -19日 召开地点&#xff1a;中国西安 大会官网&#xff1a;www.icobdb.org 2023年大数据与区块链国际会议&#xff08;ICBDB 2023&#xff09;…

论文及代码详解——Restormer

文章目录 论文详解Overall pipelineMulti-Dconv Head Transposed AttentionGated-Dconv Feed-Forward Network 代码详解 论文&#xff1a;《Restormer: Efficient Transformer for High-Resolution Image Restoration》 代码&#xff1a;https://github.com/swz30/Restormer 论…

Jmeter常用线程组设置策略

一、前言 ​ 在JMeter压力测试中&#xff0c;我们时常见到的几个场景有&#xff1a;单场景基准测试、单场景并发测试、单场景容量测试、混合场景容量测试、混合场景并发测试以及混合场景稳定性测试 在本篇文章中&#xff0c;我们会用到一些插件&#xff0c;在这边先给大家列出&…

Git问题:解决“ssh:connect to host github.com port 22: Connection timed out”

操作系统 Windows11 使用Git IDEA 连接方式&#xff1a;SSH 今天上传代码出现如下报错&#xff1a;ssh:connect to host github.com port 22: Connection timed out 再多尝试几次&#xff0c;依然是这样。 解决 最终发现两个解决方案&#xff1a;&#xff08;二选一&#xf…

Django实现音乐网站 ⒀

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是推荐页-推荐排行榜、推荐歌手功能开发。 目录 推荐页开发 推荐排行榜 单曲表增加播放量 表模型增加播放量字段 执行表操作 模板中显示外键对应值 表模型外键设置 获取外键对应模型值 推荐排行榜视图 推…

SpringBoot ⽇志⽂件

文章目录 日志有什么用&#xff1f;spring boot中日志怎么用&#xff1f;选择日志框架添加依赖配置日志在代码中使用日志 自定义日志打印日志级别的分类与使用日志持久化 日志有什么用&#xff1f; 在Spring Boot应用程序中&#xff0c;日志文件具有以下重要用途&#xff1a; …

HVV爆火漏洞:最新 WPS RCE (远程命令执行) 复现

最近HVV爆出的很火的WPS命令执行漏洞&#xff0c;其实并不是0DAY&#xff0c;早在2019年就出现了&#xff0c;只不过最近EXP才公开。接下来我们来复现一遍。 0x00 影响版本 WPS Office 2023 个人版 < 11.1.0.15120WPS Office 2019 企业版 < 11.8.2.12085 0x01 环境配置…

律师事务所微信小程序开发方案:实现智能化服务与用户体验的完美结合

随着移动互联网的快速发展&#xff0c;微信成为了人们日常生活中不可或缺的社交工具。为了满足用户对便捷、高效法律服务的需求&#xff0c;律师事务所微信小程序应运而生。本文将探讨律师事务所微信小程序的开发方案&#xff0c;旨在为读者提供一个专业、思考深度和逻辑性的指…

Zabbix监控系统最新版安装

setenforce 0 设置SELinux 成为permissive模式 临时关闭selinux的 [rootwww yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo % Total % Received % Xferd Average Speed Time Time Time Current …

(三)行为模式:1、责任链模式(Chain of Responsibility Pattern)(C++示例)

目录 1、责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;含义 2、责任链模式的UML图学习 3、责任链模式的应用场景 4、责任链模式的优缺点 5、C实现责任链模式的实例 1、责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;含义 责任…

Webpack node、output.jsonpFunction 配置详解

Webpack node、output.jsonpFunction 配置详解 最近尝试给一些用到 webpack 的项目升级到最新 webpack5 版本&#xff0c;其中遇到了一些问题&#xff0c;我挑了两个比较典型的问题&#xff0c;其中主要涉及到了 webpack 的 node 属性跟 output.jsonpFunction &#xff08;web…

变压器绝缘油介质损耗因素测试

试验目的 变压器油又称绝缘油&#xff0c;是一种电介质&#xff0c;是能够耐受电应力的绝缘体。当对介质油施加交流电压时&#xff0c;所通过的电流与其两端的电压相位差并不是90度角&#xff0c;而是比90度角要小一个δ角的&#xff0c;此δ角称为油的介质损耗角。变压器油的…

Linux入门

一、安装相关软件 1.下载vmware (很容易下载,搜一下官网 ) 在cmd敲入 ncpa.cpl &#xff0c;查看下面这两个。 2.下载centos 下面是镜像源网站&#xff0c;当然你可以选择其他的镜像源&#xff0c;像清华镜像源和阿里镜像源。 Index of /centos/7.9.2009/isos/x86_64/ | …

构建系统自动化-autoreconf

autoreconf简介 autoreconf是一个GNU Autotools工具集中的一个命令&#xff0c;用于自动重新生成构建系统的配置脚本和相关文件。 Autotools是一组用于自动化构建系统的工具&#xff0c;包括Autoconf、Automake和Libtool。它们通常用于跨平台的软件项目&#xff0c;以便在不同…

16.遍历二叉树,线索二叉树

目录 一. 遍历二叉树 &#xff08;1&#xff09;三种遍历方式 &#xff08;2&#xff09;递归遍历算法 &#xff08;3&#xff09;非递归遍历算法 &#xff08;4&#xff09;层次遍历算法 二. 基于递归遍历算法的二叉树有关算法 &#xff08;1&#xff09;二叉树的建立 …

LAMP架构搭建论坛

一、LAMP平台概述&#xff1a; LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整台系统和相关软件&#xff0c;能够提供动态web站点服务及其应用开发环境。LAMP是一个缩写词&#xff0c;具体包括Linux操作系统&#xff0c;Apache网站服务器&#xf…

文件四剑客

目录 前言 一、正则表达式 二、grep 三、find 四、sed 五、awk 前言 文件四剑客是指在计算机领域中常用的四个命令行工具&#xff0c;包括awk、find、grep和sed。它们在处理文本文件和搜索文件时非常强大和实用。 1. awk是一种强大的文本处理工具&#xff0c;它允许用户根据指…