Commit a5660de1 authored by jiaorz's avatar jiaorz

预订时间处理bug

parent 5d678c3c
......@@ -27,7 +27,4 @@ public class VehicleBookHourInfo {
@Column(name = "update_time")
private Date updateTime;
@Column(name = "book_record_id")
private Long bookRecordId;
}
\ No newline at end of file
......@@ -231,6 +231,25 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
}
DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate());
DateTime actualArrivalDate = new DateTime(new Date());
if(actualArrivalDate.compareTo(arrivalDate) < 0) { //实际还车时间小于预计还车时间,需要释放后面的时间
BookVehicleVO bookVehicleVo = new BookVehicleVO();
BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo);
bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
bookVehicleVo.setBookStartDate(null);
bookVehicleVo.setBookEndDate(null);
bookVehicleVo.setUnbookStartDate(actualArrivalDate.toString(DATE_TIME_FORMATTER));
bookVehicleVo.setUnbookEndDate(arrivalDate.toString(DATE_TIME_FORMATTER));
try {
Boolean hasSuc = vehicleBiz.unbookVehicle(bookVehicleVo);
if(!hasSuc){
throw new BaseException(ResCode.VEHICLE_UNBOOK_FAIL.getDesc(), ResCode.VEHICLE_UNBOOK_FAIL.getCode());
}
} catch ( Exception e) {
e.printStackTrace();
}
}
departureLog.setMileageEnd(arrivalVo.getMileage());
departureLog.setRecycleMan(arrivalVo.getRecycleMan());
departureLog.setRecycleManTel(arrivalVo.getRecycleManTel());
......
......@@ -12,6 +12,7 @@ import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.mapper.VehicleBookHourInfoMapper;
import com.xxfc.platform.vehicle.pojo.VehicleBookHourInfoDto;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -34,6 +35,8 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
@Autowired
private VehicleBookRecordBiz vehicleBookRecordBiz;
@Autowired
VehicleDepartureService vehicleDepartureService;
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
......@@ -159,39 +162,45 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
}
public ObjectRestResponse checkBookHourInfo() {
List<VehicleBookRecord> vehicleBookHourInfos = new ArrayList<>();
List<VehicleBookHourInfoDto> vehicleBookHourInfos = new ArrayList<>();
List<VehicleBookRecord> list = vehicleBookRecordBiz.selectListAll();
if(CollectionUtils.isNotEmpty(list)) {
for(VehicleBookRecord vehicleBookRecord : list) {
if(vehicleBookRecord.getStatus() == 2 || (vehicleBookRecord.getStatus() == 1 && vehicleBookRecord.getBookUser() != -2)) {
VehicleDepartureLogVo vehicleDepartureLog = vehicleDepartureService.getByRecordId(vehicleBookRecord.getId());
if((vehicleDepartureLog == null || vehicleDepartureLog.getState() != 1) && (vehicleBookRecord.getStatus() == 2 || vehicleBookRecord.getStatus() == 1)) { //未出车或未还车
Map<String, Integer> map = getPredictableHours(new DateTime(vehicleBookRecord.getBookStartDate()).toString(DEFAULT_DATE_TIME_FORMATTER), new DateTime(vehicleBookRecord.getBookEndDate()).toString(DEFAULT_DATE_TIME_FORMATTER), Boolean.TRUE);
for(Map.Entry<String, Integer> entry : map.entrySet()) {
VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto();
vehicleBookHourInfoDto.setVehicleId(vehicleBookRecord.getVehicleId());
vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
List<VehicleBookHourInfo> vehicleBookHourInfoList = mapper.selectByVehicleAndDate(vehicleBookHourInfoDto);
log.info("获取到的小时信息: vehicleBookHourInfoList = {}", vehicleBookHourInfoList);
if(CollectionUtils.isNotEmpty(vehicleBookHourInfoList)) {
if(entry.getValue() == 0){ //0点
vehicleBookHourInfoList.get(0).setBookedHour(vehicleBookHourInfoList.get(0).getBookedHour() | 1);
updateSelectiveByIdRe(vehicleBookHourInfoList.get(0));
} else {
if((vehicleBookHourInfoList.get(0).getBookedHour() & entry.getValue()) == entry.getValue()) {
log.info("已经预订时间正确,右移一位,原数据为:{}, 修改后的数据为: {}", vehicleBookHourInfoList.get(0).getBookedHour(), vehicleBookHourInfoList.get(0).getBookedHour() >> 1);
vehicleBookHourInfoList.get(0).setBookedHour(vehicleBookHourInfoList.get(0).getBookedHour() >> 1);
updateSelectiveByIdRe(vehicleBookHourInfoList.get(0));
} else {
vehicleBookHourInfos.add(vehicleBookRecord);
}
}
} else { //如果数据不存在就补充进去
VehicleBookHourInfoDto vehicleBookHourInfoDto1 = new VehicleBookHourInfoDto();
vehicleBookHourInfoDto1.setVehicleId(vehicleBookRecord.getVehicleId());
vehicleBookHourInfoDto1.setYearMonthDay(entry.getKey());
vehicleBookHourInfoDto1.setBookedHour(entry.getValue());
vehicleBookHourInfoDto1.setBookRecordId(vehicleBookRecord.getId());
save(vehicleBookHourInfoDto1);
}
vehicleBookHourInfoDto.setBookedHour(entry.getValue());
save(vehicleBookHourInfoDto);
vehicleBookHourInfos.add(vehicleBookHourInfoDto);
// vehicleBookHourInfoDto.setVehicleId(vehicleBookRecord.getVehicleId());
// vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
// List<VehicleBookHourInfo> vehicleBookHourInfoList = mapper.selectByVehicleAndDate(vehicleBookHourInfoDto);
// log.info("获取到的小时信息: vehicleBookHourInfoList = {}", vehicleBookHourInfoList);
// if(CollectionUtils.isNotEmpty(vehicleBookHourInfoList)) {
// if(entry.getValue() == 0){ //0点
// vehicleBookHourInfoList.get(0).setBookedHour(vehicleBookHourInfoList.get(0).getBookedHour() | 1);
// updateSelectiveByIdRe(vehicleBookHourInfoList.get(0));
// } else {
// if((vehicleBookHourInfoList.get(0).getBookedHour() & entry.getValue()) == entry.getValue()) {
// log.info("已经预订时间正确,右移一位,原数据为:{}, 修改后的数据为: {}", vehicleBookHourInfoList.get(0).getBookedHour(), vehicleBookHourInfoList.get(0).getBookedHour() >> 1);
// vehicleBookHourInfoList.get(0).setBookedHour(vehicleBookHourInfoList.get(0).getBookedHour() >> 1);
// updateSelectiveByIdRe(vehicleBookHourInfoList.get(0));
// } else {
// vehicleBookHourInfos.add(vehicleBookRecord);
// }
// }
// } else { //如果数据不存在就补充进去
// VehicleBookHourInfoDto vehicleBookHourInfoDto1 = new VehicleBookHourInfoDto();
// vehicleBookHourInfoDto1.setVehicleId(vehicleBookRecord.getVehicleId());
// vehicleBookHourInfoDto1.setYearMonthDay(entry.getKey());
// vehicleBookHourInfoDto1.setBookedHour(entry.getValue());
// vehicleBookHourInfoDto1.setBookRecordId(vehicleBookRecord.getId());
// save(vehicleBookHourInfoDto1);
// }
}
}
}
......
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