VehicleInfoController.java
7.0 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
package com.sunyo.wlpt.dispatch.controller;
import com.github.pagehelper.PageInfo;
import com.sunyo.wlpt.dispatch.domain.VehicleInfo;
import com.sunyo.wlpt.dispatch.response.ResultJson;
import com.sunyo.wlpt.dispatch.service.VehicleInfoService;
import com.sunyo.wlpt.dispatch.utils.GetUUID;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
/**
* @author 子诚
* Description:车辆信息管理.
* 时间:2020/4/24 17:03
*/
@CrossOrigin
@Api(value = "车辆信息", tags = "业务管理——车辆信息管理")
@RequestMapping("dispatch/vehicleInfo")
@RestController
public class VehicleInfoController {
@Resource
private VehicleInfoService vehicleInfoService;
/**
* 分页获取车辆列表.
*
* @param vehicleStatus 车辆状态
* @param vehicleType 车辆类型
* @param licensePlateNumber 车牌号码
* @param vehicleCompany 车辆所属公司
* @param pageNum 当前页数
* @param pageSize 每页数量
* @return 成功返回查询列表
*/
@ApiOperation("获取车辆列表")
@GetMapping("/selectVehicleInfoList")
public ResultJson<PageInfo> selectVehicleInfoList(
@ApiParam(name = "vehicleStatus", value = "车辆状态:1.空闲状态;2.执行状态;3、在修状态;4.损坏未修状态;5.保养状态", required = false)
@RequestParam(value = "vehicleStatus", required = false) String vehicleStatus,
@ApiParam(name = "vehicleType", value = "车辆类型", required = false)
@RequestParam(value = "vehicleType", required = false) String vehicleType,
@ApiParam(name = "licensePlateNumber", value = "车牌号", required = false)
@RequestParam(value = "licensePlateNumber", required = false) String licensePlateNumber,
@ApiParam(name = "vehicleCompany", value = "车辆所属公司", required = false)
@RequestParam(value = "vehicleCompany", required = false) String vehicleCompany,
@ApiParam(name = "pageNum", value = "第几页,默认为第一页", required = false)
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@ApiParam(name = "pageSize", value = "每页数量,默认10条", required = false)
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
ResultJson<PageInfo> result = new ResultJson<>();
VehicleInfo vehicleInfo = new VehicleInfo();
//获取参数,车辆状态
vehicleInfo.setVehicleStatus(vehicleStatus);
//获取参数,车辆类型
vehicleInfo.setVehicleType(vehicleType);
//获取参数,车牌号
vehicleInfo.setLicensePlateNumber(licensePlateNumber);
//获取参数,公司名
vehicleInfo.setVehicleCompany(vehicleCompany);
PageInfo pageInfo = vehicleInfoService.selectVehicleInfoList(vehicleInfo, pageNum, pageSize);
if (pageInfo.getTotal() > 0) {
result.setData(pageInfo);
result.setCode("200");
result.setMsg("获取车辆列表,成功");
} else {
result.setCode("400");
result.setMsg("获取车辆列表,失败");
}
return result;
}
/**
* 添加车辆信息.
*
* @param vehicleInfo {@link VehicleInfo}
* @return
*/
@ApiOperation("添加车辆信息")
@PostMapping("/insertVehicleInfo")
public ResultJson insertVehicleInfo(@RequestBody VehicleInfo vehicleInfo) {
String message = validateVehicle(vehicleInfo);
//验证通过
if (message == null) {
ResultJson result = new ResultJson<>();
//设置车辆id,(uuid)
vehicleInfo.setId(GetUUID.getuuid());
//设置车辆状态,为空闲状态
vehicleInfo.setVehicleStatus("1");
//设置车辆开始空闲时间
vehicleInfo.setFreetime(new Date());
int num = vehicleInfoService.insertSelective(vehicleInfo);
if (num > 0) {
result.setCode("200");
result.setMsg("添加车辆信息,成功");
} else {
result.setCode("400");
result.setMsg("添加车辆信息,失败");
}
return result;
}
return new ResultJson("406", message != null ? message : "添加车辆信息,失败!");
}
/**
* 修改车辆信息.
*
* @param vehicleInfo {@link VehicleInfo}
* @return
*/
@ApiOperation("修改车辆信息")
@PutMapping("/updateVehicleInfo")
public ResultJson updateVehicleInfo(@RequestBody VehicleInfo vehicleInfo) {
ResultJson result = new ResultJson<>();
int num = vehicleInfoService.updateByPrimaryKeySelective(vehicleInfo);
if (num > 0) {
result.setCode("200");
result.setMsg("修改车辆信息,成功");
} else {
result.setCode("400");
result.setMsg("修改车辆信息,失败");
}
return result;
}
/**
* 删除车辆信息.
*
* @param vehicleInfo {@link VehicleInfo}
* @return
*/
@ApiOperation("删除车辆信息")
@DeleteMapping("/deleteVehicleInfo")
public ResultJson deleteVehicleInfo(@RequestBody VehicleInfo vehicleInfo) {
ResultJson result = new ResultJson<>();
int num = vehicleInfoService.deleteByPrimaryKey(vehicleInfo.getId());
if (num > 0) {
result.setCode("200");
result.setMsg("删除车辆信息,成功");
} else {
result.setCode("400");
result.setMsg("删除车辆信息,失败");
}
return result;
}
/**
* 批量删除车辆信息.
*
* @param ids 所要删除的id以','相连接的字符串
* @return
*/
@ApiOperation("批量删除车辆信息")
@GetMapping("/batchRemove")
public ResultJson batchRemoveVehicleInfo(String ids) {
ResultJson result = new ResultJson<>();
int num = vehicleInfoService.deleteByPrimaryKey(ids);
if (num > 0) {
result.setCode("200");
result.setMsg("删除车辆信息,成功");
} else {
result.setCode("400");
result.setMsg("删除车辆信息,失败");
}
return result;
}
/**
* 验证新增车辆信息
*
* @param vehicleInfo {@link VehicleInfo}
* @return 错误信息
*/
private String validateVehicle(VehicleInfo vehicleInfo) {
VehicleInfo info = vehicleInfoService.selectByLPN(vehicleInfo.getLicensePlateNumber());
if (info != null) {
return "车牌号已存在,请谨慎输入";
}
return null;
}
}