Commit 525708c9 authored by 周健威's avatar 周健威

解决冲突

parents fb85cfba 1399b47c
...@@ -18,8 +18,6 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; ...@@ -18,8 +18,6 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.lang.reflect.ParameterizedType;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -51,6 +49,11 @@ public class UserBiz extends BaseBiz<UserMapper,User> { ...@@ -51,6 +49,11 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
@Override @Override
@CacheClear(pre="user{1.username}") @CacheClear(pre="user{1.username}")
public void updateSelectiveById(User entity) { public void updateSelectiveById(User entity) {
User user1= super.selectById(entity.getId());
if(user1!=null&&StringUtils.isNotBlank(entity.getPassword())&&!user1.getPassword().equals(entity.getPassword())){
String password = new BCryptPasswordEncoder(UserConstant.PW_ENCORDER_SALT).encode(entity.getPassword());
entity.setPassword(password);
}
super.updateSelectiveById(entity); super.updateSelectiveById(entity);
} }
...@@ -68,7 +71,17 @@ public class UserBiz extends BaseBiz<UserMapper,User> { ...@@ -68,7 +71,17 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
public TableResultResponse<User> selectPage(Query query, User currentUser) { public TableResultResponse<User> selectPage(Query query, User currentUser) {
if(DATA_ALL_TRUE.equals(currentUser.getDataAll())) { if(DATA_ALL_TRUE.equals(currentUser.getDataAll())) {
return super.selectByQuery(query); Example example = new Example(User.class);
if(query.entrySet().size()>0) {
Example.Criteria criteria = example.createCriteria();
for (Map.Entry<String, Object> entry : query.entrySet()) {
criteria.andLike(entry.getKey(), "%" + entry.getValue().toString() + "%");
}
}
example.createCriteria().andGreaterThan("id",1);
Page<Object> result = PageHelper.startPage(query.getPage(), query.getLimit());
List<User> list = mapper.selectByExample(example);
return new TableResultResponse<User>(result.getTotal(), list);
}else { }else {
Example example = new Example(User.class); Example example = new Example(User.class);
if(query.entrySet().size()>0) { if(query.entrySet().size()>0) {
...@@ -83,9 +96,24 @@ public class UserBiz extends BaseBiz<UserMapper,User> { ...@@ -83,9 +96,24 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
if(StringUtils.isNotBlank(currentUser.getDataZone())){ if(StringUtils.isNotBlank(currentUser.getDataZone())){
example.createCriteria().andIn("zoneId", Arrays.asList(currentUser.getDataZone().split(","))); example.createCriteria().andIn("zoneId", Arrays.asList(currentUser.getDataZone().split(",")));
} }
example.createCriteria().andGreaterThan("id",1);
Page<Object> result = PageHelper.startPage(query.getPage(), query.getLimit()); Page<Object> result = PageHelper.startPage(query.getPage(), query.getLimit());
List<User> list = mapper.selectByExample(example); List<User> list = mapper.selectByExample(example);
return new TableResultResponse<User>(result.getTotal(), list); return new TableResultResponse<User>(result.getTotal(), list);
} }
} }
public List<User> getCountByUsername(String username){
User user = new User();
user.setUsername(username);
return mapper.select(user);
}
public User getUserByUid(Integer toUid){
User user=mapper.getUserByUid(toUid);
if(user!=null){
user=mapper.selectByPrimaryKey(user.getId());
}
return user;
}
} }
package com.github.wxiaoqi.security.admin.entity;
import java.io.Serializable;
import javax.persistence.*;
/**
* 用户关系表
*
* @author Mr.AG
* @email 463540703@qq.com
* @date 2019-06-04 14:29:29
*/
@Table(name = "base_user_relation")
public class BaseUserRelation implements Serializable {
private static final long serialVersionUID = 1L;
//主键id
@Id
private Integer id;
//用户id
@Column(name = "user_id")
private Integer userId;
//小程序用户id
@Column(name = "to_uid")
private Integer toUid;
//是否有效;0-有效;1-无效
@Column(name = "staus")
private Integer staus;
//创建时间
@Column(name = "crt_time")
private Long crtTime;
//更新时间
@Column(name = "upd_time")
private Long updTime;
//是否删除;0-正常;1-删除
@Column(name = "is_del")
private Integer isDel;
/**
* 设置:主键id
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取:主键id
*/
public Integer getId() {
return id;
}
/**
* 设置:用户id
*/
public void setUserId(Integer userId) {
this.userId = userId;
}
/**
* 获取:用户id
*/
public Integer getUserId() {
return userId;
}
/**
* 设置:小程序用户id
*/
public void setToUid(Integer toUid) {
this.toUid = toUid;
}
/**
* 获取:小程序用户id
*/
public Integer getToUid() {
return toUid;
}
/**
* 设置:是否有效;0-有效;1-无效
*/
public void setStaus(Integer staus) {
this.staus = staus;
}
/**
* 获取:是否有效;0-有效;1-无效
*/
public Integer getStaus() {
return staus;
}
/**
* 设置:创建时间
*/
public void setCrtTime(Long crtTime) {
this.crtTime = crtTime;
}
/**
* 获取:创建时间
*/
public Long getCrtTime() {
return crtTime;
}
/**
* 设置:更新时间
*/
public void setUpdTime(Long updTime) {
this.updTime = updTime;
}
/**
* 获取:更新时间
*/
public Long getUpdTime() {
return updTime;
}
/**
* 设置:是否删除;0-正常;1-删除
*/
public void setIsDel(Integer isDel) {
this.isDel = isDel;
}
/**
* 获取:是否删除;0-正常;1-删除
*/
public Integer getIsDel() {
return isDel;
}
}
package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.BaseUserRelation;
import tk.mybatis.mapper.common.Mapper;
/**
* 用户关系表
*
* @author Mr.AG
* @email 463540703@qq.com
* @date 2019-06-04 14:29:29
*/
public interface BaseUserRelationMapper extends Mapper<BaseUserRelation> {
}
...@@ -10,4 +10,5 @@ public interface UserMapper extends Mapper<User> { ...@@ -10,4 +10,5 @@ public interface UserMapper extends Mapper<User> {
public List<User> selectMemberByGroupId(@Param("groupId") int groupId); public List<User> selectMemberByGroupId(@Param("groupId") int groupId);
public List<User> selectLeaderByGroupId(@Param("groupId") int groupId); public List<User> selectLeaderByGroupId(@Param("groupId") int groupId);
// public List<User> userPage(@Param("groupId") String name); // public List<User> userPage(@Param("groupId") String name);
User getUserByUid(@Param("to_uid") Integer to_uid);
} }
\ No newline at end of file
...@@ -60,11 +60,24 @@ public class PublicController { ...@@ -60,11 +60,24 @@ public class PublicController {
if (username == null) { if (username == null) {
throw new Exception(); throw new Exception();
} }
Integer userid=Integer.parseInt(username); Integer userid = Integer.parseInt(username);
AppUserDetail user = detailBiz.getUserByUserid(userid); AppUserDetail user = detailBiz.getUserByUserid(userid);
if (user == null) { if (user == null) {
throw new Exception(); throw new Exception();
} }
return new ObjectRestResponse<AppUserDetail>().rel(true).data(user); return new ObjectRestResponse<AppUserDetail>().rel(true).data(user);
} }
@RequestMapping(value = "/userinfo-by-uid", method = RequestMethod.GET)
public @ResponseBody
ObjectRestResponse userinfoByUid(Integer uid) throws Exception {
if (uid == null||uid==0) {
throw new Exception();
}
User user = userBiz.getUserByUid(uid);
if (user == null) {
throw new Exception();
}
return new ObjectRestResponse<User>().rel(true).data(user);
}
} }
...@@ -18,6 +18,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController; ...@@ -18,6 +18,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query; import com.github.wxiaoqi.security.common.util.Query;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -73,6 +74,13 @@ public class UserController extends CommonBaseController { ...@@ -73,6 +74,13 @@ public class UserController extends CommonBaseController {
@IgnoreClientToken @IgnoreClientToken
public ObjectRestResponse<User> add(@RequestBody UserVO vo){ public ObjectRestResponse<User> add(@RequestBody UserVO vo){
handleDataLimit(vo); handleDataLimit(vo);
String username=vo.getUsername();
if(StringUtils.isNotBlank(username)) {
List<User> list = userBiz.getCountByUsername(username);
if (list.size() > 0) {
throw new RuntimeException("用户名不能重复");
}
}
userBiz.insertSelective(vo); userBiz.insertSelective(vo);
//添加权限关系 //添加权限关系
groupBiz.modifyUserGroups(vo.getId(), vo.getMembers()); groupBiz.modifyUserGroups(vo.getId(), vo.getMembers());
...@@ -81,10 +89,11 @@ public class UserController extends CommonBaseController { ...@@ -81,10 +89,11 @@ public class UserController extends CommonBaseController {
private void handleDataLimit(@RequestBody UserVO dto) { private void handleDataLimit(@RequestBody UserVO dto) {
if(null != dto.getDataLimit()) { if(null != dto.getDataLimit()) {
if(dto.getDataLimit().contains(CURRENT_COMPANY)) { if(dto.getDataLimit().contains(CURRENT_COMPANY)&&dto.getCompanyId()!=null) {
dto.setDataCompany(dto.getCompanyId().toString()); dto.setDataCompany(dto.getCompanyId().toString());
} }
if(dto.getDataLimit().contains(CURRENT_ZONE)) { if(dto.getDataLimit().contains(CURRENT_ZONE)&&dto.getZoneId()!=null) {
dto.setDataZone(dto.getZoneId().toString()); dto.setDataZone(dto.getZoneId().toString());
} }
if(dto.getDataLimit().contains(DATA_ALL)) { if(dto.getDataLimit().contains(DATA_ALL)) {
...@@ -149,6 +158,19 @@ public class UserController extends CommonBaseController { ...@@ -149,6 +158,19 @@ public class UserController extends CommonBaseController {
@ResponseBody @ResponseBody
public ObjectRestResponse<User> update(@RequestBody UserVO vo){ public ObjectRestResponse<User> update(@RequestBody UserVO vo){
handleDataLimit(vo); handleDataLimit(vo);
String username=vo.getUsername();
if(StringUtils.isNotBlank(username)){
List<User> list=userBiz.getCountByUsername(username);
if(list.size()>1){
throw new RuntimeException("用户名不能重复");
}
if(list.size()==1){
User user=list.get(0);
if(user.getId()!=vo.getId()){
throw new RuntimeException("用户名不能重复");
}
}
}
userBiz.updateSelectiveById(vo); userBiz.updateSelectiveById(vo);
//添加权限关系 //添加权限关系
groupBiz.modifyUserGroups(vo.getId(), vo.getMembers()); groupBiz.modifyUserGroups(vo.getId(), vo.getMembers());
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
<result column="upd_user" jdbcType="VARCHAR" property="updUser" /> <result column="upd_user" jdbcType="VARCHAR" property="updUser" />
<result column="upd_name" jdbcType="VARCHAR" property="updName" /> <result column="upd_name" jdbcType="VARCHAR" property="updName" />
<result column="upd_host" jdbcType="VARCHAR" property="updHost" /> <result column="upd_host" jdbcType="VARCHAR" property="updHost" />
<result column="data_all" jdbcType="SMALLINT" property="dataAll" />
<result column="attr1" jdbcType="VARCHAR" property="attr1" /> <result column="attr1" jdbcType="VARCHAR" property="attr1" />
<result column="attr2" jdbcType="VARCHAR" property="attr2" /> <result column="attr2" jdbcType="VARCHAR" property="attr2" />
<result column="attr3" jdbcType="VARCHAR" property="attr3" /> <result column="attr3" jdbcType="VARCHAR" property="attr3" />
...@@ -48,6 +49,12 @@ ...@@ -48,6 +49,12 @@
on gm.user_id = u.id where gm.group_id = #{groupId} on gm.user_id = u.id where gm.group_id = #{groupId}
</select> </select>
<select id="getUserByUid" resultMap="BaseResultMap">
select u.* from base_user u
left join base_user_relation r
on r.user_id = u.id where r.to_uid = #{to_uid} limit 1
</select>
<!-- <select id="userPage" resultMap="BaseResultMap">--> <!-- <select id="userPage" resultMap="BaseResultMap">-->
<!-- select u.* from base_user u--> <!-- select u.* from base_user u-->
<!-- left join base_group_leader gm--> <!-- left join base_group_leader gm-->
......
...@@ -10,7 +10,7 @@ spring: ...@@ -10,7 +10,7 @@ spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://10.5.52.3:3306/xxfc_order?useUnicode=true&characterEncoding=UTF-8 url: jdbc:mysql://10.5.52.2:3306/ag_admin_v1?useUnicode=true&characterEncoding=UTF-8
username: root username: root
password: sslcloud123*() password: sslcloud123*()
jackson: jackson:
......
#代码生成器,配置信息 #代码生成器,配置信息
#包名 #包名
package=com.xxfc.platform.order package=com.github.wxiaoqi.security.admin
#作者 #作者
author=zjw author=zjw
#Email #Email
......
...@@ -13,6 +13,7 @@ import com.xinxincaravan.caravan.vehicle.vo.VehicleUpkeepEndVo; ...@@ -13,6 +13,7 @@ import com.xinxincaravan.caravan.vehicle.vo.VehicleUpkeepEndVo;
import com.xinxincaravan.caravan.vehicle.vo.VehicleUpkeepVo; import com.xinxincaravan.caravan.vehicle.vo.VehicleUpkeepVo;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
...@@ -38,6 +39,8 @@ public class VehicleActiveService { ...@@ -38,6 +39,8 @@ public class VehicleActiveService {
@Autowired @Autowired
VehicleUpkeepItemMapper vehicleUpkeepItemMapper; VehicleUpkeepItemMapper vehicleUpkeepItemMapper;
@Value("${vehicle.mileage}")
private Integer Mileage;
/** /**
* 出车 * 出车
...@@ -55,37 +58,50 @@ public class VehicleActiveService { ...@@ -55,37 +58,50 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
} }
Integer MileageLift=vehicle.getMileageLastUpdate();
Integer MileageLift1=departureVo.getMileage();
if(MileageLift1==null){
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
if(MileageLift==null||MileageLift1>=MileageLift){
// 写入车辆公里数,预计目的地
vehicle.setMileageLastUpdate(MileageLift1);
vehicle.setExpectDestinationBranchCompanyId(departureVo.getExpectArrivalBranchCompanyId());
vehicleMapper.updateByPrimaryKeySelective(vehicle);
// 修改车辆状态,确认是空闲状态
int result = vehicleMapper.updateStatusByIdAndStatus(departureVo.getVehicleId(), VehicleStatus.DEPARTURE.getCode(),
VehicleStatus.NORMAL.getCode());
if (result == 0) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
}
// 写入车辆公里数,预计目的地 // 出车记录
vehicle.setMileageLastUpdate(departureVo.getMileage()); VehicleDepartureLog departureLog = new VehicleDepartureLog();
vehicle.setExpectDestinationBranchCompanyId(departureVo.getExpectArrivalBranchCompanyId()); BeanUtils.copyProperties(departureVo, departureLog);
vehicleMapper.updateByPrimaryKeySelective(vehicle); departureLog.setDepartureTime(new Date());
departureLog.setCreateTime(new Date());
// 修改车辆状态,确认是空闲状态 departureLog.setMileageStart(departureVo.getMileage());
int result = vehicleMapper.updateStatusByIdAndStatus(departureVo.getVehicleId(), VehicleStatus.DEPARTURE.getCode(), departureLog.setState(VehicleDepartureState.DEPARTURE.getCode());
VehicleStatus.NORMAL.getCode()); vehicleDepartureLogMapper.insert(departureLog);
if (result == 0) { // 车辆活动日志
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(), VehicleActiveLog activeLog = new VehicleActiveLog();
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode()); activeLog.setVehicleId(departureVo.getVehicleId());
activeLog.setActiveType(VehicleActiveType.Departure.getCode());
activeLog.setStartTime(new Date());
activeLog.setCreateTime(new Date());
vehicleActiveLogMapper.insert(activeLog);
}else {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
} }
// 出车记录
VehicleDepartureLog departureLog = new VehicleDepartureLog();
BeanUtils.copyProperties(departureVo, departureLog);
departureLog.setDepartureTime(new Date());
departureLog.setCreateTime(new Date());
departureLog.setMileageStart(departureVo.getMileage());
departureLog.setState(VehicleDepartureState.DEPARTURE.getCode());
vehicleDepartureLogMapper.insert(departureLog);
// 车辆活动日志
VehicleActiveLog activeLog = new VehicleActiveLog();
activeLog.setVehicleId(departureVo.getVehicleId());
activeLog.setActiveType(VehicleActiveType.Departure.getCode());
activeLog.setStartTime(new Date());
activeLog.setCreateTime(new Date());
vehicleActiveLogMapper.insert(activeLog);
} }
...@@ -100,46 +116,57 @@ public class VehicleActiveService { ...@@ -100,46 +116,57 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} }
Integer Mileagerest = vehicle.getMileageLastUpdate();
// 写入车辆公里数,还车分公司id Integer Mileagerest1 = arrivalVo.getMileage();
vehicle.setMileageLastUpdate(arrivalVo.getMileage()); if (Mileagerest1 == null) {
vehicle.setParkBranchCompanyId(arrivalVo.getArrivalBranchCompanyId()); throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
vehicle.setExpectDestinationBranchCompanyId(0); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
vehicleMapper.updateByPrimaryKeySelective(vehicle);
// 修改状态,确认是出车状态
int result = vehicleMapper.updateStatusByIdAndStatus(arrivalVo.getVehicleId(), VehicleStatus.NORMAL.getCode(),
VehicleStatus.DEPARTURE.getCode());
if (result == 0) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} }
if (Mileagerest != null && Mileagerest1 >= Mileagerest) {
// 写入车辆公里数,还车分公司id
vehicle.setMileageLastUpdate(Mileagerest1);
vehicle.setParkBranchCompanyId(arrivalVo.getArrivalBranchCompanyId());
vehicle.setExpectDestinationBranchCompanyId(0);
vehicleMapper.updateByPrimaryKeySelective(vehicle);
// 修改状态,确认是出车状态
int result = vehicleMapper.updateStatusByIdAndStatus(arrivalVo.getVehicleId(), VehicleStatus.NORMAL.getCode(),
VehicleStatus.DEPARTURE.getCode());
if (result == 0) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
}
// 出车记录 // 出车记录
VehicleDepartureLog departureLog = vehicleDepartureLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId()); VehicleDepartureLog departureLog = vehicleDepartureLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId());
if (departureLog == null) { if (departureLog == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} }
departureLog.setMileageEnd(arrivalVo.getMileage()); departureLog.setMileageEnd(arrivalVo.getMileage());
departureLog.setRecycleMan(arrivalVo.getRecycleMan()); departureLog.setRecycleMan(arrivalVo.getRecycleMan());
departureLog.setRecycleManTel(arrivalVo.getRecycleManTel()); departureLog.setRecycleManTel(arrivalVo.getRecycleManTel());
departureLog.setArrivalBranchCompanyId(arrivalVo.getArrivalBranchCompanyId()); departureLog.setArrivalBranchCompanyId(arrivalVo.getArrivalBranchCompanyId());
departureLog.setUpdateTime(new Date()); departureLog.setUpdateTime(new Date());
departureLog.setArrivalTime(new Date()); departureLog.setArrivalTime(new Date());
departureLog.setState(VehicleDepartureState.END.getCode()); departureLog.setState(VehicleDepartureState.END.getCode());
vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog); vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog);
// 车辆活动日志 // 车辆活动日志
VehicleActiveLog activeLog = vehicleActiveLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId()); VehicleActiveLog activeLog = vehicleActiveLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId());
if (activeLog == null) { if (activeLog == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} }
activeLog.setEndTime(new Date()); activeLog.setEndTime(new Date());
activeLog.setUpdateTime(new Date()); activeLog.setUpdateTime(new Date());
vehicleActiveLogMapper.updateByPrimaryKeySelective(activeLog); vehicleActiveLogMapper.updateByPrimaryKeySelective(activeLog);
} else {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
} }
/** /**
...@@ -159,9 +186,9 @@ public class VehicleActiveService { ...@@ -159,9 +186,9 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_UPKEEP_VEHICLE_DISABLE.getDesc(), throw new BaseException(ResCode.VEHICLE_UPKEEP_VEHICLE_DISABLE.getDesc(),
ResCode.VEHICLE_UPKEEP_VEHICLE_DISABLE.getCode()); ResCode.VEHICLE_UPKEEP_VEHICLE_DISABLE.getCode());
} }
Integer lastMileage=vehicleUpkeepVo.getMileage();
int result = vehicleMapper.updateStatusByIdAndStatus(vehicleUpkeepVo.getVehicleId(), VehicleStatus.UPKEEP.getCode(), int result = vehicleMapper.upMileageByIdAndStatus(vehicleUpkeepVo.getVehicleId(), VehicleStatus.UPKEEP.getCode(),
VehicleStatus.NORMAL.getCode()); VehicleStatus.NORMAL.getCode(),lastMileage);
if (result == 0) { if (result == 0) {
// 车辆状态异常 // 车辆状态异常
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
...@@ -212,8 +239,9 @@ public class VehicleActiveService { ...@@ -212,8 +239,9 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getDesc(), throw new BaseException(ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getDesc(),
ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getCode()); ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getCode());
} }
Integer mileageLastUpdate=vehicle.getMileageLastUpdate()==null?0:vehicle.getMileageLastUpdate();
int result = vehicleMapper.updateStatusByIdAndStatus(vehicleId, VehicleStatus.NORMAL.getCode(), VehicleStatus.UPKEEP.getCode()); Integer maintenance_mileage=Mileage+mileageLastUpdate;
int result = vehicleMapper.updateMileageStatusByIdAndStatus(vehicleId, VehicleStatus.NORMAL.getCode(), VehicleStatus.UPKEEP.getCode(),maintenance_mileage);
if (result == 0) { if (result == 0) {
throw new BaseException(ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getDesc(), throw new BaseException(ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getDesc(),
ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getCode()); ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getCode());
......
...@@ -74,6 +74,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -74,6 +74,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
@Value("${vehicle.baseUploadPath}") @Value("${vehicle.baseUploadPath}")
private String baseUploadPath ; private String baseUploadPath ;
@Value("${vehicle.fristMileage}")
private Integer fristMileage ;
/** /**
* 每批次最大更、插入车辆最大条目数 * 每批次最大更、插入车辆最大条目数
...@@ -184,6 +186,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -184,6 +186,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
Vehicle vehicle = new Vehicle(); Vehicle vehicle = new Vehicle();
BeanUtils.copyProperties(vehicle, addOrUpdateVehicleVo); BeanUtils.copyProperties(vehicle, addOrUpdateVehicleVo);
vehicle.setId(UUID.randomUUID().toString()); vehicle.setId(UUID.randomUUID().toString());
vehicle.setParkBranchCompanyId(vehicle.getSubordinateBranch());
vehicle.setMaintenanceMileage(fristMileage);
// 检查车牌或者编码是否已存在,已存在则返回失败 // 检查车牌或者编码是否已存在,已存在则返回失败
List<Vehicle> exitsVehicles = lockByCode(addOrUpdateVehicleVo); List<Vehicle> exitsVehicles = lockByCode(addOrUpdateVehicleVo);
if(CollectionUtils.isNotEmpty(exitsVehicles)){ if(CollectionUtils.isNotEmpty(exitsVehicles)){
...@@ -227,6 +231,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -227,6 +231,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
for(AddOrUpdateVehicleVo addOrUpdateVehicleVo:addOrUpdateVehicleVoList){ for(AddOrUpdateVehicleVo addOrUpdateVehicleVo:addOrUpdateVehicleVoList){
Vehicle vehicle = new Vehicle(); Vehicle vehicle = new Vehicle();
BeanUtils.copyProperties(vehicle, addOrUpdateVehicleVo); BeanUtils.copyProperties(vehicle, addOrUpdateVehicleVo);
vehicle.setParkBranchCompanyId(vehicle.getSubordinateBranch());
//悲观锁,检查是否已存在车牌或编码 //悲观锁,检查是否已存在车牌或编码
List<Vehicle> exitsVehicles = lockByCode(addOrUpdateVehicleVo); List<Vehicle> exitsVehicles = lockByCode(addOrUpdateVehicleVo);
if(CollectionUtils.isNotEmpty(exitsVehicles)){ if(CollectionUtils.isNotEmpty(exitsVehicles)){
...@@ -304,7 +309,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -304,7 +309,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
vehicleBookRecord.setRemark(bookVehicleVo.getRemark()); vehicleBookRecord.setRemark(bookVehicleVo.getRemark());
vehicleBookRecord.setDestination(bookVehicleVo.getDestination()); vehicleBookRecord.setDestination(bookVehicleVo.getDestination());
vehicleBookRecord.setLiftCompany(bookVehicleVo.getLiftCompany()); vehicleBookRecord.setLiftCompany(bookVehicleVo.getLiftCompany());
vehicleBookRecord.setRetCompany(bookVehicleVo.getRetCompany());
vehicleBookRecordMapper.insertSelective(vehicleBookRecord); vehicleBookRecordMapper.insertSelective(vehicleBookRecord);
Long bookRecordId=vehicleBookRecord.getId();
List<Map<String,Object>> params = Lists.newArrayList(); List<Map<String,Object>> params = Lists.newArrayList();
if(MapUtils.isNotEmpty(bookVehicleVo.getSelectedAccItem())){ if(MapUtils.isNotEmpty(bookVehicleVo.getSelectedAccItem())){
for(Map.Entry<Integer,Integer> idAndAmount : bookVehicleVo.getSelectedAccItem().entrySet()){ for(Map.Entry<Integer,Integer> idAndAmount : bookVehicleVo.getSelectedAccItem().entrySet()){
...@@ -316,7 +323,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -316,7 +323,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
} }
bookRecordAccItemMapper.batchAdd(params); bookRecordAccItemMapper.batchAdd(params);
} }
return RestResponse.suc(); return RestResponse.suc(bookRecordId);
} }
@Transactional @Transactional
......
...@@ -31,6 +31,7 @@ import org.springframework.stereotype.Service; ...@@ -31,6 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -74,31 +75,53 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -74,31 +75,53 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
public RestResponse<Integer> lift(Integer operatorId,String userName,LiftVehicleVo liftVehicleVo) throws Exception{ public RestResponse<Integer> lift(Integer operatorId,String userName,LiftVehicleVo liftVehicleVo) throws Exception{
VehicleBookRecord record=mapper.selectByPrimaryKey( liftVehicleVo.getId());
Integer mileageLift=liftVehicleVo.getMileageLift();
if(record==null||mileageLift==null){
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
Integer mileageLift1=record.getMileageLift();
if(mileageLift1==null||mileageLift>=mileageLift1){
Map<String, Object> params = PropertyUtils.describe(liftVehicleVo); Map<String, Object> params = PropertyUtils.describe(liftVehicleVo);
params.put("reviewerLift", operatorId); params.put("reviewerLift", operatorId);
params.put("reviewerNameLift", userName); params.put("reviewerNameLift", userName);
params.put("targetStatus", VehicleBookRecordStatus.LIFTED.getCode()); params.put("targetStatus", VehicleBookRecordStatus.LIFTED.getCode());
params.put("conditionStatus", VehicleBookRecordStatus.APPROVE.getCode()); params.put("conditionStatus", VehicleBookRecordStatus.APPROVE.getCode());
params.put("mileageLift", liftVehicleVo.getMileageLift()); params.put("mileageLift",mileageLift );
Integer effected = mapper.liftOrRet(params); Integer effected = mapper.liftOrRet(params);
if(effected == 0){ if(effected == 0){
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_STATUS_CHANGED.getCode()); return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_STATUS_CHANGED.getCode());
} }
}else {
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
return RestResponse.suc(); return RestResponse.suc();
} }
public RestResponse<Integer> retVehicle(Integer operatorId,String userName,RetVehicleVo retVehicleVo) throws Exception{ public RestResponse<Integer> retVehicle(Integer operatorId,String userName,RetVehicleVo retVehicleVo) throws Exception{
VehicleBookRecord record=mapper.selectByPrimaryKey( retVehicleVo.getId());
Integer mileageRet=retVehicleVo.getMileageRet();
if(record==null||mileageRet==null){
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
Integer mileageLift=record.getMileageLift();
if(mileageLift!=null&&mileageRet>=mileageLift){
Map<String, Object> params = PropertyUtils.describe(retVehicleVo); Map<String, Object> params = PropertyUtils.describe(retVehicleVo);
params.put("targetStatus", VehicleBookRecordStatus.RETURNED.getCode()); params.put("targetStatus", VehicleBookRecordStatus.RETURNED.getCode());
params.put("conditionStatus", VehicleBookRecordStatus.LIFTED.getCode()); params.put("conditionStatus", VehicleBookRecordStatus.LIFTED.getCode());
params.put("reviewerReturn", operatorId); params.put("reviewerReturn", operatorId);
params.put("reviewerNameReturn", userName); params.put("reviewerNameReturn", userName);
params.put("mileageRet", retVehicleVo.getMileageRet()); params.put("mileageRet", mileageRet);
params.put("haveViolation", retVehicleVo.getHaveViolation()); params.put("haveViolation", retVehicleVo.getHaveViolation());
Integer effected = mapper.liftOrRet(params); Integer effected = mapper.liftOrRet(params);
if(effected == 0){ if(effected == 0){
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_STATUS_CHANGED.getCode()); return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_STATUS_CHANGED.getCode());
} }
}else {
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
return RestResponse.suc(); return RestResponse.suc();
} }
...@@ -108,7 +131,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -108,7 +131,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
* @return * @return
* @throws Exception * @throws Exception
*/ */
public PageDataVo<QueryVehicleBookRecordVo> page(VehicleBookRecordQueryVo vehicleBookRecordQueryVo) throws Exception{ public PageDataVo<QueryVehicleBookRecordVo> page(VehicleBookRecordQueryVo vehicleBookRecordQueryVo,List<Integer> companyList) throws Exception{
Map<String, Object> params = PropertyUtils.describe(vehicleBookRecordQueryVo); Map<String, Object> params = PropertyUtils.describe(vehicleBookRecordQueryVo);
String selectedMonth = (String)params.get("selectedMonth"); String selectedMonth = (String)params.get("selectedMonth");
if(StringUtils.isBlank(selectedMonth)){ if(StringUtils.isBlank(selectedMonth)){
...@@ -128,6 +151,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic ...@@ -128,6 +151,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
Integer pageNo = (Integer) params.get("page"); Integer pageNo = (Integer) params.get("page");
params.remove("pageNo"); params.remove("pageNo");
PageHelper.startPage(pageNo,pageSize); PageHelper.startPage(pageNo,pageSize);
params.put("companyList", companyList);
List<QueryVehicleBookRecordVo> bookRecordAndVehicleInfo = mapper.getByPage(params); List<QueryVehicleBookRecordVo> bookRecordAndVehicleInfo = mapper.getByPage(params);
Map<Long,Map<Integer,Integer>> rs = getRelatedAccItemsAndAmount(bookRecordAndVehicleInfo, Map<Long,Map<Integer,Integer>> rs = getRelatedAccItemsAndAmount(bookRecordAndVehicleInfo,
bookRecordAccItemTbName); bookRecordAccItemTbName);
......
...@@ -25,17 +25,17 @@ public class VehicleDepartureService { ...@@ -25,17 +25,17 @@ public class VehicleDepartureService {
@Autowired @Autowired
VehicleMapper vehicleMapper; VehicleMapper vehicleMapper;
public PageInfo<VehicleDepartureLogVo> page(String numberPlate, Integer page, Integer limit) { public PageInfo<VehicleDepartureLogVo> page(String numberPlate,String time, Integer page, Integer limit) {
PageHelper.startPage(page, limit); PageHelper.startPage(page, limit);
return new PageInfo<>(vehicleDepartureLogMapper.selectVoAll(numberPlate)); return new PageInfo<>(vehicleDepartureLogMapper.selectVoAll(numberPlate,time));
} }
public PageInfo<VehicleDepartureLogVo> pageNotAllData(String numberPlate, Integer page, Integer limit, List<Integer> companyList) { public PageInfo<VehicleDepartureLogVo> pageNotAllData(String numberPlate,String time, Integer page, Integer limit, List<Integer> companyList) {
PageHelper.startPage(page, limit); PageHelper.startPage(page, limit);
if (companyList == null || companyList.size() == 0) { if (companyList == null || companyList.size() == 0) {
companyList = Arrays.asList(-1); companyList = Arrays.asList(-1);
} }
return new PageInfo<>(vehicleDepartureLogMapper.selectVoAllNotAllData(numberPlate, companyList)); return new PageInfo<>(vehicleDepartureLogMapper.selectVoAllNotAllData(numberPlate,time, companyList));
} }
public PageInfo<VehicleDepartureLogVo> findByVehicle(String vehicleId, Integer page, Integer limit) { public PageInfo<VehicleDepartureLogVo> findByVehicle(String vehicleId, Integer page, Integer limit) {
......
...@@ -45,9 +45,9 @@ public class VehicleUpkeepService { ...@@ -45,9 +45,9 @@ public class VehicleUpkeepService {
vehicleUpkeepItemMapper.deleteByPrimaryKey(id); vehicleUpkeepItemMapper.deleteByPrimaryKey(id);
} }
public PageInfo<VehicleUpkeepLogVo> pageLog(String numberPlate, Integer page, Integer limit) { public PageInfo<VehicleUpkeepLogVo> pageLog(String numberPlate, Integer page, Integer limit, List<Integer> companyList) {
PageHelper.startPage(page, limit); PageHelper.startPage(page, limit);
return new PageInfo<>(vehicleUpkeepLogMapper.selectVoAll(numberPlate)); return new PageInfo<>(vehicleUpkeepLogMapper.selectVoAll(numberPlate,companyList));
} }
public VehicleUpkeepLogVo getLogVoById(Integer id) { public VehicleUpkeepLogVo getLogVoById(Integer id) {
......
...@@ -88,7 +88,7 @@ public class VehicleWarningMsgBiz extends BaseBiz<VehicleWarningMsgMapper, Vehic ...@@ -88,7 +88,7 @@ public class VehicleWarningMsgBiz extends BaseBiz<VehicleWarningMsgMapper, Vehic
*/ */
public PageDataVo<VehicleWarningMsg> getByPage(QueryVehicleWarningMsgVo queryVehicleWarningMsgVo){ public PageDataVo<VehicleWarningMsg> getByPage(QueryVehicleWarningMsgVo queryVehicleWarningMsgVo){
PageHelper.startPage(queryVehicleWarningMsgVo.getPage(),queryVehicleWarningMsgVo.getLimit()); PageHelper.startPage(queryVehicleWarningMsgVo.getPage(),queryVehicleWarningMsgVo.getLimit());
List<VehicleWarningMsg> vehicleWarningMsgs = mapper.getByPage(queryVehicleWarningMsgVo); List<VehicleWarningMsg> vehicleWarningMsgs = mapper.getByPages(queryVehicleWarningMsgVo);
PageInfo<VehicleWarningMsg> vehicleWarningMsgPageInfo = new PageInfo<>(vehicleWarningMsgs); PageInfo<VehicleWarningMsg> vehicleWarningMsgPageInfo = new PageInfo<>(vehicleWarningMsgs);
return PageDataVo.pageInfo(vehicleWarningMsgPageInfo); return PageDataVo.pageInfo(vehicleWarningMsgPageInfo);
} }
......
...@@ -18,6 +18,7 @@ public enum ResCode { ...@@ -18,6 +18,7 @@ public enum ResCode {
//车辆信息相关返回码-预定申请信息 //车辆信息相关返回码-预定申请信息
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED(103001,"车辆预定申请已被审批,请刷新后继续操作"), VEHICLE_BOOKED_RECORD_ALREADY_CHANGED(103001,"车辆预定申请已被审批,请刷新后继续操作"),
VEHICLE_BOOKED_RECORD_STATUS_CHANGED(103002,"车辆预定申请状态已变更,请刷新后继续操作"), VEHICLE_BOOKED_RECORD_STATUS_CHANGED(103002,"车辆预定申请状态已变更,请刷新后继续操作"),
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED(103003,"车辆预定里程数不符合,请刷新后继续操作"),
VEHICLE_DEPARTURE_VEHICLE_UNEXIST(104001,"车辆不存在"), VEHICLE_DEPARTURE_VEHICLE_UNEXIST(104001,"车辆不存在"),
VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"), VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"),
......
...@@ -14,5 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -14,5 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
public interface UserFeign { public interface UserFeign {
@RequestMapping(value = "/public/userinfo-by-token") @RequestMapping(value = "/public/userinfo-by-token")
public ObjectRestResponse<UserDTO> userinfoByToken(@RequestParam("token") String token); public ObjectRestResponse<UserDTO> userinfoByToken(@RequestParam("token") String token);
@RequestMapping(value = "/public/userinfo-by-uid")
public ObjectRestResponse<UserDTO> userinfoByUid(@RequestParam("uid") Integer uid);
} }
...@@ -13,11 +13,11 @@ public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLo ...@@ -13,11 +13,11 @@ public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLo
List<VehicleDepartureLogVo> selectByVehicleId(String vehicleId); List<VehicleDepartureLogVo> selectByVehicleId(String vehicleId);
List<VehicleDepartureLogVo> selectVoAll(@Param("numberPlate") String numberPlate); List<VehicleDepartureLogVo> selectVoAll(@Param("numberPlate") String numberPlate,@Param("time") String time);
List<VehicleDepartureLogVo> selectVoAllNotAllData(@Param("numberPlate") String numberPlate, @Param("companyList") List<Integer> companyList); List<VehicleDepartureLogVo> selectVoAllNotAllData(@Param("numberPlate") String numberPlate, @Param("time") String time,@Param("companyList") List<Integer> companyList);
Integer selectMileageByVehicleId(String vehicleId); Integer selectMileageByVehicleId(String vehicleId);
Integer selectDayByVehicleId(String vehicleId); String selectDayByVehicleId(String vehicleId);
} }
...@@ -27,4 +27,10 @@ public interface VehicleMapper extends Mapper<Vehicle> { ...@@ -27,4 +27,10 @@ public interface VehicleMapper extends Mapper<Vehicle> {
@Param("lastStatus") Integer lastStatus); @Param("lastStatus") Integer lastStatus);
Vehicle selectByNumberPlate(String numberPlate); Vehicle selectByNumberPlate(String numberPlate);
//保养结束
int updateMileageStatusByIdAndStatus(@Param("vehicleId") String vehicleId, @Param("status") Integer status,
@Param("lastStatus") Integer lastStatus,@Param("mileage") Integer mileage);
//开始保养
int upMileageByIdAndStatus(@Param("vehicleId") String vehicleId, @Param("status") Integer status,
@Param("lastStatus") Integer lastStatus,@Param("mileage") Integer mileage);
} }
\ No newline at end of file
...@@ -9,7 +9,7 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -9,7 +9,7 @@ import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
public interface VehicleUpkeepLogMapper extends Mapper<VehicleUpkeepLog> { public interface VehicleUpkeepLogMapper extends Mapper<VehicleUpkeepLog> {
List<VehicleUpkeepLogVo> selectVoAll(@Param("numberPlate") String numberPlate); List<VehicleUpkeepLogVo> selectVoAll(@Param("numberPlate") String numberPlate,@Param("companyList")List<Integer> companyList);
VehicleUpkeepLogVo selectVoById(Integer id); VehicleUpkeepLogVo selectVoById(Integer id);
......
...@@ -11,6 +11,7 @@ public interface VehicleWarningMsgMapper extends Mapper<VehicleWarningMsg> { ...@@ -11,6 +11,7 @@ public interface VehicleWarningMsgMapper extends Mapper<VehicleWarningMsg> {
public List<VehicleWarningMsg> getByPage(QueryVehicleWarningMsgVo queryVehicleWarningMsgVo); public List<VehicleWarningMsg> getByPage(QueryVehicleWarningMsgVo queryVehicleWarningMsgVo);
public List<VehicleWarningMsg> getByPages(QueryVehicleWarningMsgVo queryVehicleWarningMsgVo);
public List<VehicleWarningMsg> getMsgByVehicle(String vehicleId); public List<VehicleWarningMsg> getMsgByVehicle(String vehicleId);
......
package com.xinxincaravan.caravan.vehicle.rest; package com.xinxincaravan.caravan.vehicle.rest;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.xinxincaravan.caravan.vehicle.biz.VehicleActiveService; import com.xinxincaravan.caravan.vehicle.biz.VehicleActiveService;
import com.xinxincaravan.caravan.vehicle.common.RestResponse; import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode; import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
...@@ -37,6 +38,42 @@ public class VehicleActiveController { ...@@ -37,6 +38,42 @@ public class VehicleActiveController {
return RestResponse.suc(); return RestResponse.suc();
} }
/**
* 发车
*
* @return
*/
@PostMapping("small/departure")
@IgnoreUserToken
public RestResponse departureBySmall(@RequestBody VehicleDepartureVo departureVo) {
if (departureVo == null || departureVo.getVehicleId() == null
|| departureVo.getMileage() == null || departureVo.getDepartureBranchCompanyId() == null
|| departureVo.getExpectArrivalBranchCompanyId() == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
vehicleActiveService.departure(departureVo);
return RestResponse.suc();
}
/**
* 还车
*
* @param arrivalVo
* @return
*/
@PostMapping("small/arrival")
public RestResponse arrivalBySmall(@RequestBody VehicleArrivalVo arrivalVo) {
if (arrivalVo == null || arrivalVo.getVehicleId() == null
|| arrivalVo.getMileage() == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
vehicleActiveService.arrival(arrivalVo);
return RestResponse.suc();
}
/** /**
* 还车 * 还车
* *
......
...@@ -104,7 +104,27 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -104,7 +104,27 @@ public class VehicleController extends BaseController<VehicleBiz> {
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode()); return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
} }
} }
@RequestMapping(value = "/small/page", method = RequestMethod.GET)
@IgnoreUserToken
public RestResponse<PageDataVo<QueryVehicleVo>> getByPageBySmall(@RequestParam String vehiclePageQueryVoJson,@RequestParam Integer uid) throws Exception {
VehiclePageQueryVo vehiclePageQueryVo = null;
try {
vehiclePageQueryVo = JSON.parseObject(vehiclePageQueryVoJson, VehiclePageQueryVo.class);
UserDTO userDTO = userFeign.userinfoByUid(uid).getData();
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
List<Integer> companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
return RestResponse.data(baseBiz.getByPageNotAllData(vehiclePageQueryVo, companyList));
}
}
return RestResponse.data(baseBiz.getByPage(vehiclePageQueryVo));
} catch (JSONException ex) {
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
} catch (CustomIllegalParamException ex) {
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
}
}
@RequestMapping(value = "/upload/drivingLicense", method = RequestMethod.POST) @RequestMapping(value = "/upload/drivingLicense", method = RequestMethod.POST)
public RestResponse uploadDrivingLicense(@RequestParam("file") MultipartFile file) public RestResponse uploadDrivingLicense(@RequestParam("file") MultipartFile file)
throws Exception { throws Exception {
...@@ -146,9 +166,18 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -146,9 +166,18 @@ public class VehicleController extends BaseController<VehicleBiz> {
public RestResponse<Integer> applyVehicle(@RequestBody BookVehicleVo bookVehicleVo) throws Exception { public RestResponse<Integer> applyVehicle(@RequestBody BookVehicleVo bookVehicleVo) throws Exception {
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID()); Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName(); String userName = BaseContextHandler.getName();
return baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName); RestResponse<Integer> result= baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName);
if(result.getStatus()==200){
if(result.getData()!=null||result.getData()>0){
String id=result.getData()+"";
Long bookRecordId=Long.parseLong(id);
return baseBiz.reviewVehicleBooking(operatorId, bookRecordId, VehicleBookRecordStatus.APPROVE.getCode(), userName);
}
}
return result;
} }
/** /**
* 批准预定车辆预定 * 批准预定车辆预定
* *
...@@ -222,7 +251,14 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -222,7 +251,14 @@ public class VehicleController extends BaseController<VehicleBiz> {
VehicleBookRecordQueryVo vehicleBookRecordQueryVo = null; VehicleBookRecordQueryVo vehicleBookRecordQueryVo = null;
try { try {
vehicleBookRecordQueryVo = JSON.parseObject(vehicleBookRecordQueryVoJson, VehicleBookRecordQueryVo.class); vehicleBookRecordQueryVo = JSON.parseObject(vehicleBookRecordQueryVoJson, VehicleBookRecordQueryVo.class);
return RestResponse.data(vehicleBookRecordBiz.page(vehicleBookRecordQueryVo)); UserDTO userDTO = userFeign.userinfoByToken(userAuthConfig.getToken(request)).getData();
List<Integer> companyList =new ArrayList<>();
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
}
}
return RestResponse.data(vehicleBookRecordBiz.page(vehicleBookRecordQueryVo,companyList));
} catch (JSONException ex) { } catch (JSONException ex) {
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode()); return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
} catch (CustomIllegalParamException ex) { } catch (CustomIllegalParamException ex) {
......
package com.xinxincaravan.caravan.vehicle.rest; package com.xinxincaravan.caravan.vehicle.rest;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.xinxincaravan.caravan.vehicle.biz.VehicleBiz; import com.xinxincaravan.caravan.vehicle.biz.VehicleBiz;
import com.xinxincaravan.caravan.vehicle.biz.VehicleDepartureService; import com.xinxincaravan.caravan.vehicle.biz.VehicleDepartureService;
...@@ -34,7 +35,7 @@ public class VehicleDepartureController { ...@@ -34,7 +35,7 @@ public class VehicleDepartureController {
private UserAuthConfig userAuthConfig; private UserAuthConfig userAuthConfig;
@GetMapping("page") @GetMapping("page")
public RestResponse page(String numberPlate, Integer page, Integer limit, HttpServletRequest request) { public RestResponse page(String numberPlate, String time,Integer page, Integer limit, HttpServletRequest request) {
if (page == null || limit == null) { if (page == null || limit == null) {
page = 1; page = 1;
limit = 10; limit = 10;
...@@ -43,10 +44,26 @@ public class VehicleDepartureController { ...@@ -43,10 +44,26 @@ public class VehicleDepartureController {
if (userDTO != null) { if (userDTO != null) {
if (userDTO.getDataAll() == 2) { if (userDTO.getDataAll() == 2) {
List<Integer> companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany()); List<Integer> companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
return RestResponse.data(vehicleDepartureService.pageNotAllData(numberPlate, page, limit, companyList)); return RestResponse.data(vehicleDepartureService.pageNotAllData(numberPlate,time, page, limit, companyList));
} }
} }
return RestResponse.suc(vehicleDepartureService.page(numberPlate, page, limit)); return RestResponse.suc(vehicleDepartureService.page(numberPlate,time,page, limit));
}
@GetMapping("small/page")
@IgnoreUserToken
public RestResponse pageBySmall(String numberPlate, String time,Integer page, Integer limit, Integer uid,HttpServletRequest request) {
if (page == null || limit == null) {
page = 1;
limit = 10;
}
UserDTO userDTO = userFeign.userinfoByUid(uid).getData();
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
List<Integer> companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
return RestResponse.data(vehicleDepartureService.pageNotAllData(numberPlate,time, page, limit, companyList));
}
}
return RestResponse.suc(vehicleDepartureService.page(numberPlate,time,page, limit));
} }
@GetMapping("findByVehicle") @GetMapping("findByVehicle")
......
package com.xinxincaravan.caravan.vehicle.rest; package com.xinxincaravan.caravan.vehicle.rest;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.xinxincaravan.caravan.vehicle.biz.VehicleBiz;
import com.xinxincaravan.caravan.vehicle.biz.VehicleUpkeepService; import com.xinxincaravan.caravan.vehicle.biz.VehicleUpkeepService;
import com.xinxincaravan.caravan.vehicle.common.RestResponse; import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode; import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.VehicleUpkeepItem; import com.xinxincaravan.caravan.vehicle.entity.VehicleUpkeepItem;
import com.xinxincaravan.caravan.vehicle.feign.UserFeign;
import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
@RestController @RestController
@RequestMapping("upkeep") @RequestMapping("upkeep")
public class VehicleUpkeepController { public class VehicleUpkeepController {
...@@ -14,6 +22,16 @@ public class VehicleUpkeepController { ...@@ -14,6 +22,16 @@ public class VehicleUpkeepController {
@Autowired @Autowired
private VehicleUpkeepService vehicleUpkeepService; private VehicleUpkeepService vehicleUpkeepService;
@Autowired
VehicleBiz vehicleBiz;
@Autowired
UserFeign userFeign;
@Autowired
private UserAuthConfig userAuthConfig;
@Autowired
protected HttpServletRequest request;
@GetMapping("item/all") @GetMapping("item/all")
public RestResponse allItem() { public RestResponse allItem() {
...@@ -65,7 +83,14 @@ public class VehicleUpkeepController { ...@@ -65,7 +83,14 @@ public class VehicleUpkeepController {
page = 1; page = 1;
limit = 10; limit = 10;
} }
return RestResponse.suc(vehicleUpkeepService.pageLog(numberPlate, page, limit)); UserDTO userDTO = userFeign.userinfoByToken(userAuthConfig.getToken(request)).getData();
List<Integer> companyList =new ArrayList<>();
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
}
}
return RestResponse.suc(vehicleUpkeepService.pageLog(numberPlate, page, limit,companyList));
} }
@GetMapping("log/{id}") @GetMapping("log/{id}")
......
...@@ -123,4 +123,8 @@ public class AddOrUpdateVehicleVo { ...@@ -123,4 +123,8 @@ public class AddOrUpdateVehicleVo {
* 生产商 * 生产商
*/ */
private Date receiveTime; private Date receiveTime;
/**
* 最后公里数
*/
private Integer mileageLastUpdate;
} }
\ No newline at end of file
...@@ -72,5 +72,8 @@ public class BookVehicleVo { ...@@ -72,5 +72,8 @@ public class BookVehicleVo {
*/ */
private Integer haveViolation; private Integer haveViolation;
//还车分公司
private Integer retCompany;
} }
\ No newline at end of file
...@@ -91,6 +91,10 @@ public class QueryVehicleVo { ...@@ -91,6 +91,10 @@ public class QueryVehicleVo {
* 保养时间 * 保养时间
*/ */
private Date maintenanceDate; private Date maintenanceDate;
/**
* 保养时间
*/
private Integer mileage;
/** /**
* 保养里程数 * 保养里程数
......
...@@ -20,6 +20,10 @@ public class VehicleDepartureLogVo { ...@@ -20,6 +20,10 @@ public class VehicleDepartureLogVo {
String arrivalTime; String arrivalTime;
Integer mileageStart; Integer mileageStart;
Integer mileageEnd; Integer mileageEnd;
Integer mileage;
Integer state; Integer state;
String numberPlate; String numberPlate;
String departureDay;
String departureName;
String arrivalName;
} }
...@@ -14,7 +14,7 @@ public class VehicleDepartureStatisticDataVo { ...@@ -14,7 +14,7 @@ public class VehicleDepartureStatisticDataVo {
/** /**
* 出车天数 * 出车天数
*/ */
Integer departureDay; String departureDay;
/** /**
* 出车公里数 * 出车公里数
*/ */
......
...@@ -31,6 +31,19 @@ public class VehiclePageQueryVo { ...@@ -31,6 +31,19 @@ public class VehiclePageQueryVo {
* 所属分支机构(id) * 所属分支机构(id)
*/ */
private Integer subordinateBranch; private Integer subordinateBranch;
/**
* 所属分支机构(id)
*/
private Integer addrProvince;
/**
* 所属分支机构(id)
*/
private Integer addrCity;
/**
* 片区
*/
private Integer zoneId;
/** /**
* 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表 * 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表
......
...@@ -56,11 +56,15 @@ public class VehicleWarningMsgQueryVo { ...@@ -56,11 +56,15 @@ public class VehicleWarningMsgQueryVo {
*/ */
private Integer vehicleCode; private Integer vehicleCode;
private Integer subordinateBranch;
/** /**
* 对应车牌号 * 对应车牌号
*/ */
private String numberPlate; private String numberPlate;
private Integer mileageLastUpdate;
private Date createTime; private Date createTime;
......
...@@ -189,6 +189,7 @@ ...@@ -189,6 +189,7 @@
vehicle_book_record vehicle_book_record
where where
`book_end_date` between #{startDate} and #{endDate} `book_end_date` between #{startDate} and #{endDate}
order by id order by id
limit #{pageStart},#{pageSize} limit #{pageStart},#{pageSize}
</select> </select>
...@@ -243,6 +244,23 @@ ...@@ -243,6 +244,23 @@
vehicle_book_info vbf on vbf.vehicle = vbr.vehicle and vbf.year_month = #{selectedMonth} vehicle_book_info vbf on vbf.vehicle = vbr.vehicle and vbf.year_month = #{selectedMonth}
where where
1=1 1=1
<if test="companyList != null and companyList.size() > 0">
and ( vbr.lift_company in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
or vbr.ret_company in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
)
</if>
<if test="liftCompany !=null"> <if test="liftCompany !=null">
and vbr.lift_company = #{liftCompany} and vbr.lift_company = #{liftCompany}
</if> </if>
......
...@@ -17,33 +17,63 @@ ...@@ -17,33 +17,63 @@
order by create_time desc order by create_time desc
</select> </select>
<select id="selectVoAll" resultType="com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureLogVo"> <select id="selectVoAll" resultType="com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureLogVo">
select vehicle_departure_log.*,vehicle.number_plate select vehicle_departure_log.*,vehicle.number_plate,
/* IFNULL(DATEDIFF(vehicle_departure_log.arrival_time,vehicle_departure_log.departure_time),0)*/
CONCAT(IFNULL(floor((unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time)) / 86400),0),'天',
IFNULL(floor(IF((unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time))>86400,(unix_timestamp(vehicle_departure_log.arrival_time)
- unix_timestamp(vehicle_departure_log.departure_time)) MOD 86400/3600,(unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time))/3600)),0),'小时')
as departureDay,bc.name as departureName,bc1.name as arrivalName,
IF((IFNULL(vehicle_departure_log.mileage_end,0)-IFNULL(vehicle_departure_log.mileage_start,0))>0,IFNULL(vehicle_departure_log.mileage_end,0)-IFNULL(vehicle_departure_log.mileage_start,0),0) as mileage
from vehicle_departure_log from vehicle_departure_log
left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id
LEFT JOIN branch_company bc ON vehicle_departure_log.departure_branch_company_id = bc.id
LEFT JOIN branch_company bc1 ON vehicle_departure_log.arrival_branch_company_id = bc1.id
<trim prefix="where"> <trim prefix="where">
1=1
<if test="numberPlate != null and numberPlate != ''"> <if test="numberPlate != null and numberPlate != ''">
vehicle.number_plate = #{numberPlate} and vehicle.number_plate = #{numberPlate}
</if> </if>
<if test="time != null and time != ''">
and (vehicle_departure_log.arrival_time >= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.arrival_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.arrival_time is null
)
and
(
vehicle_departure_log.departure_time &lt;= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.departure_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.departure_time is null
)
</if>
</trim> </trim>
order by create_time desc order by create_time desc
</select> </select>
<select id="selectVoAllNotAllData" resultType="com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureLogVo"> <select id="selectVoAllNotAllData" resultType="com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureLogVo">
select vehicle_departure_log.*,vehicle.number_plate select vehicle_departure_log.*,vehicle.number_plate,
/*IFNULL(DATEDIFF(vehicle_departure_log.arrival_time,vehicle_departure_log.departure_time),0)*/
CONCAT(IFNULL(floor((unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time)) / 86400),0),'天',
IFNULL(floor(IF((unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time))>86400,(unix_timestamp(vehicle_departure_log.arrival_time)
- unix_timestamp(vehicle_departure_log.departure_time)) MOD 86400/3600,(unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time))/3600)),0),'小时')
as departureDay,bc.name as departureName,bc1.name as arrivalName,
IF((IFNULL(vehicle_departure_log.mileage_end,0)-IFNULL(vehicle_departure_log.mileage_start,0))>0,IFNULL(vehicle_departure_log.mileage_end,0)-IFNULL(vehicle_departure_log.mileage_start,0),0) as mileage
from vehicle_departure_log from vehicle_departure_log
left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id
LEFT JOIN branch_company bc ON vehicle_departure_log.departure_branch_company_id = bc.id
LEFT JOIN branch_company bc1 ON vehicle_departure_log.arrival_branch_company_id = bc1.id
<trim prefix="where" suffixOverrides="and"> <trim prefix="where" suffixOverrides="and">
<if test="numberPlate != null and numberPlate != ''"> <if test="numberPlate != null and numberPlate != ''">
vehicle.number_plate = #{numberPlate} and vehicle.number_plate = #{numberPlate} and
</if> </if>
<if test="companyList != null"> <if test="companyList != null">
( vehicle.park_branch_company_id in ( ( vehicle_departure_log.departure_branch_company_id in (
<foreach collection="companyList" item="companyId"> <foreach collection="companyList" item="companyId">
<trim suffixOverrides=","> <trim suffixOverrides=",">
#{companyId}, #{companyId},
</trim> </trim>
</foreach> </foreach>
) )
or vehicle.expect_destination_branch_company_id in ( or vehicle_departure_log.arrival_branch_company_id in (
<foreach collection="companyList" item="companyId"> <foreach collection="companyList" item="companyId">
<trim suffixOverrides=","> <trim suffixOverrides=",">
#{companyId}, #{companyId},
...@@ -52,6 +82,18 @@ ...@@ -52,6 +82,18 @@
) )
) )
</if> </if>
<if test="time != null and time != ''">
and (vehicle_departure_log.arrival_time >= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.arrival_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.arrival_time is null
)
and
(
vehicle_departure_log.departure_time &lt;= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.departure_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.departure_time is null
)
</if>
</trim> </trim>
order by create_time desc order by create_time desc
</select> </select>
...@@ -60,10 +102,21 @@ ...@@ -60,10 +102,21 @@
from vehicle_departure_log from vehicle_departure_log
where vehicle_id = #{vehicleId}; where vehicle_id = #{vehicleId};
</select> </select>
<select id="selectDayByVehicleId" resultType="int"> <select id="selectDayByVehicleId" resultType="String">
select sum(to_days(arrival_time) - to_days(departure_time)) SELECT
from vehicle_departure_log CONCAT(IFNULL(floor(t.total_expire_minute / 86400),0),'天',IFNULL(floor(IF(t.total_expire_minute>86400,t.total_expire_minute MOD 86400/3600,
where vehicle_id = #{vehicleId}; t.total_expire_minute/3600)),0),'小时')
FROM
(
SELECT
SUM(
unix_timestamp(arrival_time) - unix_timestamp(departure_time)
) AS total_expire_minute
FROM
vehicle_departure_log
WHERE
vehicle_id =#{vehicleId}
) t
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -12,13 +12,13 @@ ...@@ -12,13 +12,13 @@
<select id="getByPage" parameterType="java.util.Map" <select id="getByPage" parameterType="java.util.Map"
resultType="com.xinxincaravan.caravan.vehicle.vo.QueryVehicleVo"> resultType="com.xinxincaravan.caravan.vehicle.vo.QueryVehicleVo">
select v.`id`, select DISTINCT v.`id`,
v.`code`, v.`code`,
v.`status`, v.`status`,
v.number_plate, v.number_plate,
v.brand, v.brand,
v.subordinate_branch, IFNULL(v.park_branch_company_id,v.expect_destination_branch_company_id) AS subordinate_branch,
bc.name as subBranchName, IFNULL(bc.name,bc1.name) AS subBranchName,
v.use_type, v.use_type,
v.remark, v.remark,
v.create_time, v.create_time,
...@@ -36,7 +36,8 @@ ...@@ -36,7 +36,8 @@
v.engine_num, v.engine_num,
v.manufacturer, v.manufacturer,
v.receive_time, v.receive_time,
v.update_time v.update_time,
v.mileage_last_update as mileage
<if test=" yearMonthAndParam !=null "> <if test=" yearMonthAndParam !=null ">
,vbi.booked_date ,vbi.booked_date
</if> </if>
...@@ -45,7 +46,8 @@ ...@@ -45,7 +46,8 @@
left join left join
vehicle_book_info vbi on v.`id` = vbi.vehicle vehicle_book_info vbi on v.`id` = vbi.vehicle
</if> </if>
left join branch_company bc on v.`subordinate_branch` = bc.id LEFT JOIN branch_company bc ON v.park_branch_company_id = bc.id
LEFT JOIN branch_company bc1 ON v.expect_destination_branch_company_id = bc1.id
where where
1=1 1=1
<if test="mRangeDateEnd !=null"> <if test="mRangeDateEnd !=null">
...@@ -72,9 +74,6 @@ ...@@ -72,9 +74,6 @@
<if test="vin !=null and vin != ''"> <if test="vin !=null and vin != ''">
and v.vin = #{vin} and v.vin = #{vin}
</if> </if>
<if test="subordinateBranch !=null">
and v.subordinate_branch = #{subordinateBranch}
</if>
<if test="code !=null"> <if test="code !=null">
and v.code = #{code} and v.code = #{code}
</if> </if>
...@@ -82,7 +81,7 @@ ...@@ -82,7 +81,7 @@
and v.status = #{status} and v.status = #{status}
</if> </if>
<if test="numberPlate !=null and numberPlate != ''"> <if test="numberPlate !=null and numberPlate != ''">
and v.number_plate = #{numberPlate} and v.number_plate like concat('%',#{numberPlate},'%')
</if> </if>
<if test="brand !=null"> <if test="brand !=null">
and v.brand = #{brand} and v.brand = #{brand}
...@@ -99,18 +98,36 @@ ...@@ -99,18 +98,36 @@
) )
</foreach> </foreach>
</if> </if>
<if test="subordinateBranch !=null or addrProvince !=null or addrCity !=null or zoneId !=null ">
and (
<trim suffixOverrides="OR">
<if test="subordinateBranch !=null ">
( v.park_branch_company_id = #{subordinateBranch} or v.expect_destination_branch_company_id=#{subordinateBranch} ) OR
</if>
<if test="addrProvince !=null">
(bc.addr_province=#{addrProvince} or bc1.addr_province=#{addrProvince}) OR
</if>
<if test="addrCity !=null">
(bc.addr_city=#{addrProvince} or bc1.addr_city=#{addrProvince}) OR
</if>
<if test="zoneId !=null">
(bc.zone_id=#{zoneId} or bc1.zone_id=#{zoneId}) OR
</if>
</trim>
)
</if>
order by v.code order by v.code
</select> </select>
<select id="getByPageNotAllData" parameterType="java.util.Map" <select id="getByPageNotAllData" parameterType="java.util.Map"
resultType="com.xinxincaravan.caravan.vehicle.vo.QueryVehicleVo"> resultType="com.xinxincaravan.caravan.vehicle.vo.QueryVehicleVo">
select v.`id`, select DISTINCT v.`id`,
v.`code`, v.`code`,
v.`status`, v.`status`,
v.number_plate, v.number_plate,
v.brand, v.brand,
v.subordinate_branch, IFNULL(v.park_branch_company_id,v.expect_destination_branch_company_id) AS subordinate_branch,
bc.name as subBranchName, IFNULL(bc.name,bc1.name) AS subBranchName,
v.use_type, v.use_type,
v.remark, v.remark,
v.create_time, v.create_time,
...@@ -128,7 +145,8 @@ ...@@ -128,7 +145,8 @@
v.engine_num, v.engine_num,
v.manufacturer, v.manufacturer,
v.receive_time, v.receive_time,
v.update_time v.update_time,
v.mileage_last_update as mileage
<if test=" yearMonthAndParam !=null "> <if test=" yearMonthAndParam !=null ">
,vbi.booked_date ,vbi.booked_date
</if> </if>
...@@ -137,23 +155,24 @@ ...@@ -137,23 +155,24 @@
left join left join
vehicle_book_info vbi on v.`id` = vbi.vehicle vehicle_book_info vbi on v.`id` = vbi.vehicle
</if> </if>
left join branch_company bc on v.`subordinate_branch` = bc.id LEFT JOIN branch_company bc ON v.park_branch_company_id = bc.id
LEFT JOIN branch_company bc1 ON v.expect_destination_branch_company_id = bc1.id
where where
1=1 1=1
<if test="companyList != null"> <if test="companyList != null">
and ( v.park_branch_company_id in ( and ( v.park_branch_company_id in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId"> <foreach collection="companyList" item="companyId">
<trim suffixOverrides=","> #{companyId},
#{companyId},
</trim>
</foreach> </foreach>
</trim>
) )
or v.expect_destination_branch_company_id in ( or v.expect_destination_branch_company_id in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId"> <foreach collection="companyList" item="companyId">
<trim suffixOverrides=",">
#{companyId}, #{companyId},
</trim>
</foreach> </foreach>
</trim>
) )
) )
</if> </if>
...@@ -181,9 +200,6 @@ ...@@ -181,9 +200,6 @@
<if test="vin !=null and vin != ''"> <if test="vin !=null and vin != ''">
and v.vin = #{vin} and v.vin = #{vin}
</if> </if>
<if test="subordinateBranch !=null">
and v.subordinate_branch = #{subordinateBranch}
</if>
<if test="code !=null"> <if test="code !=null">
and v.code = #{code} and v.code = #{code}
</if> </if>
...@@ -191,7 +207,7 @@ ...@@ -191,7 +207,7 @@
and v.status = #{status} and v.status = #{status}
</if> </if>
<if test="numberPlate !=null and numberPlate != ''"> <if test="numberPlate !=null and numberPlate != ''">
and v.number_plate = #{numberPlate} and v.number_plate like concat('%',#{numberPlate},'%')
</if> </if>
<if test="brand !=null"> <if test="brand !=null">
and v.brand = #{brand} and v.brand = #{brand}
...@@ -208,6 +224,24 @@ ...@@ -208,6 +224,24 @@
) )
</foreach> </foreach>
</if> </if>
<if test="subordinateBranch !=null or addrProvince !=null or addrCity !=null or zoneId !=null ">
and (
<trim suffixOverrides="OR">
<if test="subordinateBranch !=null ">
( v.park_branch_company_id = #{subordinateBranch} or v.expect_destination_branch_company_id=#{subordinateBranch} ) OR
</if>
<if test="addrProvince !=null">
(bc.addr_province=#{addrProvince} or bc1.addr_province=#{addrProvince}) OR
</if>
<if test="addrCity !=null">
(bc.addr_city=#{addrProvince} or bc1.addr_city=#{addrProvince}) OR
</if>
<if test="zoneId !=null">
(bc.zone_id=#{zoneId} or bc1.zone_id=#{zoneId}) OR
</if>
</trim>
)
</if>
order by v.code order by v.code
</select> </select>
...@@ -233,4 +267,15 @@ ...@@ -233,4 +267,15 @@
where id = #{vehicleId} and status = #{lastStatus} where id = #{vehicleId} and status = #{lastStatus}
</update> </update>
<update id="updateMileageStatusByIdAndStatus">
update vehicle
set status = #{status},maintenance_mileage=#{mileage}
where id = #{vehicleId} and status = #{lastStatus}
</update>
<update id="upMileageByIdAndStatus">
update vehicle
set status = #{status},mileage_last_update=#{mileage}
where id = #{vehicleId} and status = #{lastStatus}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -34,8 +34,19 @@ ...@@ -34,8 +34,19 @@
left join vehicle b on a.vehicle_id = b.id left join vehicle b on a.vehicle_id = b.id
left join branch_company c on a.branch_company_id = c.id left join branch_company c on a.branch_company_id = c.id
<trim prefix="where"> <trim prefix="where">
1=1
<if test="numberPlate != null and numberPlate != ''"> <if test="numberPlate != null and numberPlate != ''">
b.number_plate = #{numberPlate} and b.number_plate = #{numberPlate}
</if>
<if test="companyList != null and companyList.size() > 0">
and ( a.branch_company_id in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
)
</if> </if>
</trim> </trim>
order by a.create_time desc order by a.create_time desc
......
...@@ -24,5 +24,21 @@ ...@@ -24,5 +24,21 @@
select id, type, status, msg, rule_id, msg_key, vehicle_id, create_time, update_time, remark from vehicle_warning_msg where vehicle_id = #{_parameter} select id, type, status, msg, rule_id, msg_key, vehicle_id, create_time, update_time, remark from vehicle_warning_msg where vehicle_id = #{_parameter}
</select> </select>
<select id="getByPages" resultType="com.xinxincaravan.caravan.vehicle.vo.VehicleWarningMsgQueryVo"
parameterType="com.xinxincaravan.caravan.vehicle.vo.QueryVehicleWarningMsgVo">
SELECT id as vehicleId,code as vehicleCode,number_plate as numberPlate,mileage_last_update as mileageLastUpdate,status,
IFNULL(park_branch_company_id,expect_destination_branch_company_id) AS subordinateBranch,
CONCAT('当前公里数为:',mileage_last_update,' 保养公里数:',maintenance_mileage,' 请尽快保养!') as msg
,1 as type,update_time as createTime FROM vehicle
WHERE mileage_last_update>=maintenance_mileage
<if test="vehicleCode != null">
and vcode = #{vehicleCode}
</if>
<if test="numberPlate != null and numberPlate != '' ">
and number_plate = #{numberPlate}
</if>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -66,6 +66,12 @@ ...@@ -66,6 +66,12 @@
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-admin-api</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment