Commit 160887f3 authored by jiaorz's avatar jiaorz

123

parent 728931ba
...@@ -63,7 +63,7 @@ public class RandomUtil ...@@ -63,7 +63,7 @@ public class RandomUtil
public static void main(String[] args) { public static void main(String[] args) {
int max = 20; int max = 20;
int n = 20; int n = 30;
Set<Integer> set = new HashSet<>(); Set<Integer> set = new HashSet<>();
randomSet(max, n, set, n); randomSet(max, n, set, n);
for(Integer a : set) { for(Integer a : set) {
......
...@@ -198,10 +198,10 @@ public class VehicleActiveService { ...@@ -198,10 +198,10 @@ public class VehicleActiveService {
throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(), throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode()); ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode());
} }
if (!vehicle.getStatus().equals(VehicleStatus.DEPARTURE.getCode())) { // if (!vehicle.getStatus().equals(VehicleStatus.DEPARTURE.getCode())) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()), // throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode()); // ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} // }
Integer Mileagerest = vehicle.getMileageLastUpdate(); Integer Mileagerest = vehicle.getMileageLastUpdate();
Integer Mileagerest1 = arrivalVo.getMileage(); Integer Mileagerest1 = arrivalVo.getMileage();
if (Mileagerest1 == null) { if (Mileagerest1 == null) {
...@@ -223,21 +223,33 @@ public class VehicleActiveService { ...@@ -223,21 +223,33 @@ public class VehicleActiveService {
vehicle.setExpectDestinationBranchCompanyId(0); vehicle.setExpectDestinationBranchCompanyId(0);
vehicleMapper.updateByPrimaryKeySelective(vehicle); 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()); VehicleDepartureLogVo departureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(arrivalVo.getBookRecordId());
if (departureLog == null) {
if (departureLogVo == 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());
} }
// 修改状态,确认是出车状态
//兼容错误还车流程,先查询,是否有其他出行记录
boolean flag = true;
VehicleDepartureLog departureLog = departureLogVo.getVehicleDeparture(departureLogVo);
List<VehicleDepartureLogVo> list = vehicleDepartureLogMapper.selectByVehicleId(arrivalVo.getVehicleId());
for(VehicleDepartureLogVo vehicleDepartureLogVo : list) {
if(vehicleDepartureLogVo.getState() != 1 && departureLogVo.getId() > departureLog.getId()) { //后面还有未收车的记录
flag = false;
}
}
if(flag) { //如果此条记录后面还有未收车记录,就不修改车辆状态
int result = vehicleMapper.updateStatus(arrivalVo.getVehicleId(), VehicleStatus.NORMAL.getCode());
if (result == 0) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
}
}
DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate()); DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate());
DateTime actualArrivalDate = new DateTime(new Date()); DateTime actualArrivalDate = new DateTime(new Date());
//提前还车处理 //提前还车处理
......
...@@ -29,6 +29,8 @@ public interface VehicleMapper extends Mapper<Vehicle> { ...@@ -29,6 +29,8 @@ public interface VehicleMapper extends Mapper<Vehicle> {
int updateStatusByIdAndStatus(@Param("vehicleId") String vehicleId, @Param("status") Integer status, int updateStatusByIdAndStatus(@Param("vehicleId") String vehicleId, @Param("status") Integer status,
@Param("lastStatus") Integer lastStatus); @Param("lastStatus") Integer lastStatus);
int updateStatus(@Param("vehicleId") String vehicleId, @Param("status") Integer status);
Vehicle selectByNumberPlate(String numberPlate); Vehicle selectByNumberPlate(String numberPlate);
List<UsableVehicleModelVO> searchUsableModel(Map<String, Object> params); List<UsableVehicleModelVO> searchUsableModel(Map<String, Object> params);
......
...@@ -359,6 +359,12 @@ ...@@ -359,6 +359,12 @@
where id = #{vehicleId} and status = #{lastStatus} where id = #{vehicleId} and status = #{lastStatus}
</update> </update>
<update id="updateStatus">
update vehicle
set status = #{status}
where id = #{vehicleId}
</update>
<update id="updateMileageStatusByIdAndStatus"> <update id="updateMileageStatusByIdAndStatus">
update vehicle update vehicle
set status = #{status},maintenance_mileage=#{mileage} set status = #{status},maintenance_mileage=#{mileage}
......
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