Commit fab5ddba authored by 周健威's avatar 周健威

修改合并

parent 7aa91eea
...@@ -19,6 +19,7 @@ public enum ResCode { ...@@ -19,6 +19,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,"车辆不可用"),
......
...@@ -16,6 +16,7 @@ import com.xxfc.platform.vehicle.pojo.VehicleUpkeepEndVo; ...@@ -16,6 +16,7 @@ import com.xxfc.platform.vehicle.pojo.VehicleUpkeepEndVo;
import com.xxfc.platform.vehicle.pojo.VehicleUpkeepVo; import com.xxfc.platform.vehicle.pojo.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;
...@@ -40,6 +41,8 @@ public class VehicleActiveService { ...@@ -40,6 +41,8 @@ public class VehicleActiveService {
@Autowired @Autowired
VehicleUpkeepItemMapper vehicleUpkeepItemMapper; VehicleUpkeepItemMapper vehicleUpkeepItemMapper;
@Value("${vehicle.mileage}")
private Integer Mileage;
/** /**
* 出车 * 出车
...@@ -57,37 +60,50 @@ public class VehicleActiveService { ...@@ -57,37 +60,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);
} }
...@@ -102,46 +118,57 @@ public class VehicleActiveService { ...@@ -102,46 +118,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());
}
} }
/** /**
...@@ -161,9 +188,9 @@ public class VehicleActiveService { ...@@ -161,9 +188,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();
...@@ -214,8 +241,9 @@ public class VehicleActiveService { ...@@ -214,8 +241,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());
......
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