Commit 5e7a3b51 authored by hezhen's avatar hezhen

修改车辆管理的问题

parent 5a8d6353
......@@ -55,9 +55,15 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc(),
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(departureVo.getMileage());
vehicle.setMileageLastUpdate(MileageLift1);
vehicle.setExpectDestinationBranchCompanyId(departureVo.getExpectArrivalBranchCompanyId());
vehicleMapper.updateByPrimaryKeySelective(vehicle);
......@@ -86,6 +92,13 @@ public class VehicleActiveService {
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());
}
}
......@@ -100,9 +113,16 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
}
Integer Mileagerest = vehicle.getMileageLastUpdate();
Integer Mileagerest1 = arrivalVo.getMileage();
if (Mileagerest1 == null) {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
if (Mileagerest != null && Mileagerest1 >= Mileagerest) {
// 写入车辆公里数,还车分公司id
vehicle.setMileageLastUpdate(arrivalVo.getMileage());
vehicle.setMileageLastUpdate(Mileagerest1);
vehicle.setParkBranchCompanyId(arrivalVo.getArrivalBranchCompanyId());
vehicle.setExpectDestinationBranchCompanyId(0);
vehicleMapper.updateByPrimaryKeySelective(vehicle);
......@@ -140,6 +160,10 @@ public class VehicleActiveService {
activeLog.setUpdateTime(new Date());
vehicleActiveLogMapper.updateByPrimaryKeySelective(activeLog);
} else {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
}
/**
......
......@@ -74,31 +74,53 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
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);
params.put("reviewerLift", operatorId);
params.put("reviewerNameLift", userName);
params.put("targetStatus", VehicleBookRecordStatus.LIFTED.getCode());
params.put("conditionStatus", VehicleBookRecordStatus.APPROVE.getCode());
params.put("mileageLift", liftVehicleVo.getMileageLift());
params.put("mileageLift",mileageLift );
Integer effected = mapper.liftOrRet(params);
if(effected == 0){
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_STATUS_CHANGED.getCode());
}
}else {
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
return RestResponse.suc();
}
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);
params.put("targetStatus", VehicleBookRecordStatus.RETURNED.getCode());
params.put("conditionStatus", VehicleBookRecordStatus.LIFTED.getCode());
params.put("reviewerReturn", operatorId);
params.put("reviewerNameReturn", userName);
params.put("mileageRet", retVehicleVo.getMileageRet());
params.put("mileageRet", mileageRet);
params.put("haveViolation", retVehicleVo.getHaveViolation());
Integer effected = mapper.liftOrRet(params);
if(effected == 0){
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_STATUS_CHANGED.getCode());
}
}else {
return RestResponse.code(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
return RestResponse.suc();
}
......
......@@ -18,6 +18,7 @@ public enum ResCode {
//车辆信息相关返回码-预定申请信息
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED(103001,"车辆预定申请已被审批,请刷新后继续操作"),
VEHICLE_BOOKED_RECORD_STATUS_CHANGED(103002,"车辆预定申请状态已变更,请刷新后继续操作"),
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED(103003,"车辆预定里程数不符合,请刷新后继续操作"),
VEHICLE_DEPARTURE_VEHICLE_UNEXIST(104001,"车辆不存在"),
VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"),
......
......@@ -91,6 +91,10 @@ public class QueryVehicleVo {
* 保养时间
*/
private Date maintenanceDate;
/**
* 保养时间
*/
private Integer mileage;
/**
* 保养里程数
......
......@@ -20,6 +20,8 @@ public class VehicleDepartureLogVo {
String arrivalTime;
Integer mileageStart;
Integer mileageEnd;
Integer mileage;
Integer state;
String numberPlate;
Integer departureDay;
}
......@@ -28,7 +28,8 @@
order by create_time desc
</select>
<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) as departureDay,
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
left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id
<trim prefix="where" suffixOverrides="and">
......
......@@ -36,7 +36,8 @@
v.engine_num,
v.manufacturer,
v.receive_time,
v.update_time
v.update_time,
v.mileage_last_update as mileage
<if test=" yearMonthAndParam !=null ">
,vbi.booked_date
</if>
......
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