基于javaweb的SSM+Maven汽车租赁系统(java+ssm+jsp+layui+echarts+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

080023272402

090023272402

100023272402

110023272402

120023272402

130023272402

基于javaweb的SSM+Maven汽车租赁系统(java+ssm+jsp+layui+echarts+mysql)

系统概要

汽车租赁系统总共分为两个大的模块,分别是系统模块和业务模块。其中系统模块和业务模块底下又有其子模块。

功能模块

一、业务模块 1、客户管理 客户列表 客户分页和模糊查询 客户添加、修改、删除 导出客户数据 2、车辆管理 车辆列表 车辆车辆分页和模糊查询 车辆添加、修改、删除 3、业务管理 汽车出租 1、根据客户身份证查询所有未出租的车辆信息 2、进行出租 出租单管理 1、多条件的模糊查询和分页 2、出租单的修改、删除、导出 汽车入库 检查单管理 1、多条件模糊查询和分页 2、检查单修改 3、导出检查单 4、统计分析 客户男女比例图 月出租量统计 销售员业绩统计 出租车辆类型统计 二、系统模块 1、用户登陆 校验用户名和密码 登陆成功将登陆信息写入登陆日志 未登录进行拦截 2、菜单管理 全查询菜单和根据左边的树查询不同菜单 菜单的添加、修改、删除 3、角色管理 全查询角色和模糊查询 角色的添加、修改、删除 4、用户管理 全查询用户和模糊查询 用户的添加、修改、删除以及重置密码

5、数据源的监控(druid monitor)

技术选型

1.后台技术选型:SSM(Spring SpringMVC Mybatis) 2.前端技术选型:LayUI、dtree、echarts

开发环境

操作系统:Windows/Mac OS 编程语言:Java 开发工具:IDEA、Navicat 项目构建:Maven 3.5.2 服务器:Tomcat 8.5

数据库:MySQL 8.0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
}

/**
* 导出客户数据
* @param customerVo
* @param response
*/
@RequestMapping("exportCustomer")
public ResponseEntity<Object> exportCustomer(CustomerVo customerVo, HttpServletResponse response){
List<Customer> customers = customerService.queryAllCustomerForList(customerVo);
String fileName="客户数据.xls";
String sheetName="客户数据";

ByteArrayOutputStream bos = ExportCustomerUtils.exportCustomer(customers,sheetName);

try {
//处理文件名乱码
fileName= URLEncoder.encode(fileName,"UTF-8");
//创建 封装响应头信息的对象
HttpHeaders headers = new HttpHeaders();
//封装响应内容类型(APPLICATION_OCTET_STREAM 响应的内容不限定)
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
//设置下载的文件的名称
headers.setContentDispositionFormData("attachment",fileName);
return new ResponseEntity<Object>(bos.toByteArray(),headers, HttpStatus.CREATED);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}

/**
* 导出出租单数据
* @param rentid
*/
@RequestMapping("exportRent")
public ResponseEntity<Object> exportRent(String rentid){
//根据出租单号查询出租单信息
Rent rent = rentService.queryRentByRentId(rentid);
//根据身份证号查询客户信息
Customer customer = customerService.queryCustomerByIdentity(rent.getIdentity());

String fileName=customer.getCustname()+"-的出租单.xls";
String sheetName=customer.getCustname()+"出租单";

ByteArrayOutputStream bos = ExportRentUtils.exportRent(rent,customer,sheetName);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
        newsVo.setOpername(user.getRealname());
this.newsService.addNews(newsVo);
return ResultObj.ADD_SUCCESS;
}catch (Exception e){
e.printStackTrace();
return ResultObj.ADD_ERROR;
}
}

/**
* 删除公告
* @param newsVo
* @return
*/
@RequestMapping("deleteNews")
public ResultObj deleteNews(NewsVo newsVo){
try {
this.newsService.deleteNews(newsVo.getId());
return ResultObj.DELETE_SUCCESS;
}catch (Exception e){
e.printStackTrace();
return ResultObj.DELETE_ERROR;
}
}

/**
* 批量删除公告
* @param newsVo
* @return
*/
@RequestMapping("deleteBatchNews")
public ResultObj deleteBatchNews(NewsVo newsVo){
try {
this.newsService.deleteBatchNews(newsVo.getIds());
return ResultObj.DELETE_SUCCESS;
}catch (Exception e){
e.printStackTrace();
return ResultObj.DELETE_ERROR;
}
}

/**
* 更新公告
* @param newsVo
* @return
*/
@RequestMapping("updateNews")
public ResultObj updateNews(NewsVo newsVo){
try {
this.newsService.updateNews(newsVo);
return ResultObj.UPDATE_SUCCESS;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 * @param roleVo
* @return
*/
@RequestMapping("loadAllRole")
public DataGridView loadAllRole(RoleVo roleVo){
return this.roleService.queryAllRole(roleVo);
}

/**
* 添加角色
* @param roleVo
* @return
*/
@RequestMapping("addRole")
public ResultObj addRole(RoleVo roleVo){
try{
this.roleService.addRole(roleVo);
return ResultObj.ADD_SUCCESS;
}catch (Exception e){
e.printStackTrace();
return ResultObj.ADD_ERROR;
}
}

/**
* 修改角色
* @param roleVo
* @return
*/
@RequestMapping("updateRole")
public ResultObj updateRole(RoleVo roleVo){
try {
this.roleService.updateRole(roleVo);
return ResultObj.UPDATE_SUCCESS;
}catch (Exception e){
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
}
}

/**
* 删除角色
* @param roleVo
* @return
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

/**
* 删除一条日志
* @param logInfoVo
* @return
*/
@RequestMapping("deleteLogInfo")
public ResultObj deleteLogInfo(LogInfoVo logInfoVo){
try {
this.logInfoService.deleteLogInfo(logInfoVo.getId());
return ResultObj.DELETE_SUCCESS;
}catch (Exception e){
e.printStackTrace();
return ResultObj.DELETE_ERROR;
}
}

/**
* 批量删除日志
* @param logInfoVo
* @return
*/
@RequestMapping("deleteBatchLogInfo")
public ResultObj deleteBatchLogInfo(LogInfoVo logInfoVo){
try {
this.logInfoService.deleteBatchLogInfo(logInfoVo.getIds());
return ResultObj.DELETE_SUCCESS;
}catch (Exception e){
e.printStackTrace();
return ResultObj.DELETE_ERROR;
}
}
}
package com.yeqifu.sys.controller;


/**
* 页面跳转控制器
*/
@Controller
@RequestMapping("sys")
public class SysController {

/**
* 跳转到菜单管理
* @return
*/
@RequestMapping("toMenuManager")
public String toMenuManager(){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
	@RequestMapping("downloadShowFile")
public ResponseEntity<Object> downloadShowFile(String path, HttpServletResponse response) {
return AppFileUtils.downloadFile(response, path, "");
}

/**
* 下载图片
* @param path
* @param response
* @return
*/
@RequestMapping("downloadFile")
public ResponseEntity<Object> downloadFile(String path, HttpServletResponse response) {
String oldName="";
return AppFileUtils.downloadFile(response, path, oldName);
}

}
package com.yeqifu.sys.controller;


/**
* 日志管理控制器
*/
@RestController
@RequestMapping("logInfo")
public class LogInfoController {
@Autowired
private ILogInfoService logInfoService;

/**
* 加载日志列表返回DataGridView
* @param logInfoVo
* @return
*/
@RequestMapping("loadAllLogInfo")
public DataGridView loadAllLogInfo(LogInfoVo logInfoVo){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
	@RequestMapping("downloadFile")
public ResponseEntity<Object> downloadFile(String path, HttpServletResponse response) {
String oldName="";
return AppFileUtils.downloadFile(response, path, oldName);
}

}
package com.yeqifu.sys.controller;


/**
* 日志管理控制器
*/
@RestController
@RequestMapping("logInfo")
public class LogInfoController {
@Autowired
private ILogInfoService logInfoService;

/**
* 加载日志列表返回DataGridView
* @param logInfoVo
* @return
*/
@RequestMapping("loadAllLogInfo")
public DataGridView loadAllLogInfo(LogInfoVo logInfoVo){
return this.logInfoService.queryAllLogInfo(logInfoVo);
}

/**
* 删除一条日志
* @param logInfoVo
* @return
*/
@RequestMapping("deleteLogInfo")


项目链接:
https://javayms.github.io?id=091422322105200jr
https://javayms.pages.dev?id=091422322105200jr