Commit 56182a6e authored by hezhen's avatar hezhen

Merge branch 'master' into hz_master

parents fb0731ed 7e39478f
...@@ -29,8 +29,8 @@ import java.util.HashSet; ...@@ -29,8 +29,8 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.HOUR_MINUTE_FORMATTE_HUTOOL; import static com.github.wxiaoqi.security.admin.constant.enumerate.MemberEnum.NONE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.*;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/** /**
...@@ -472,7 +472,7 @@ public class OrderMsgBiz { ...@@ -472,7 +472,7 @@ public class OrderMsgBiz {
private void handelSmsParamApp(CompanyDetail startCompanyDetail, CompanyDetail endCompanyDetail, OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int paramHandelType) { private void handelSmsParamApp(CompanyDetail startCompanyDetail, CompanyDetail endCompanyDetail, OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int paramHandelType) {
switch (paramHandelType) { switch (paramHandelType) {
case SmsTemplateDTO.PAY_A : case SmsTemplateDTO.PAY_A :
if(0 < appUserDTO.getMemberLevel() ) { if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) {
smsParams.add(USER_M+ appUserDTO.getRealname()); smsParams.add(USER_M+ appUserDTO.getRealname());
}else { }else {
smsParams.add(USER_N+ appUserDTO.getRealname()); smsParams.add(USER_N+ appUserDTO.getRealname());
...@@ -502,14 +502,14 @@ public class OrderMsgBiz { ...@@ -502,14 +502,14 @@ public class OrderMsgBiz {
smsParams.add(appUserDTO.getRentFreeDays().toString()); smsParams.add(appUserDTO.getRentFreeDays().toString());
break; break;
case SmsTemplateDTO.CANCEL_A : case SmsTemplateDTO.CANCEL_A :
if(0 < appUserDTO.getMemberLevel() ) { if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) {
smsParams.add(USER_M+ appUserDTO.getRealname()); smsParams.add(USER_M+ appUserDTO.getRealname());
}else { }else {
smsParams.add(USER_N+ appUserDTO.getRealname()); smsParams.add(USER_N+ appUserDTO.getRealname());
} }
break; break;
case SmsTemplateDTO.PAY_I : case SmsTemplateDTO.PAY_I :
if(0 < appUserDTO.getMemberLevel() ) { if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) {
smsParams.add(USER_M+ appUserDTO.getRealname()); smsParams.add(USER_M+ appUserDTO.getRealname());
}else { }else {
smsParams.add(USER_N+ appUserDTO.getRealname()); smsParams.add(USER_N+ appUserDTO.getRealname());
...@@ -517,7 +517,7 @@ public class OrderMsgBiz { ...@@ -517,7 +517,7 @@ public class OrderMsgBiz {
smsParams.add(startCompanyDetail.getAddrDetail()); smsParams.add(startCompanyDetail.getAddrDetail());
break; break;
case SmsTemplateDTO.PAY_J : case SmsTemplateDTO.PAY_J :
if(0 < appUserDTO.getMemberLevel() ) { if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) {
smsParams.add(USER_M+ appUserDTO.getRealname()); smsParams.add(USER_M+ appUserDTO.getRealname());
}else { }else {
smsParams.add(USER_N+ appUserDTO.getRealname()); smsParams.add(USER_N+ appUserDTO.getRealname());
...@@ -534,7 +534,7 @@ public class OrderMsgBiz { ...@@ -534,7 +534,7 @@ public class OrderMsgBiz {
private void handelDepositSmsParamApp(BigDecimal originalAmount, BigDecimal violateAmount, BigDecimal refundAmount, BigDecimal residueAmount,BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int paramHandelType) { private void handelDepositSmsParamApp(BigDecimal originalAmount, BigDecimal violateAmount, BigDecimal refundAmount, BigDecimal residueAmount,BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int paramHandelType) {
switch (paramHandelType) { switch (paramHandelType) {
case SmsTemplateDTO.CANCEL_C : case SmsTemplateDTO.CANCEL_C :
if(0 < appUserDTO.getMemberLevel() ) { if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) {
smsParams.add(USER_M+ appUserDTO.getRealname()); smsParams.add(USER_M+ appUserDTO.getRealname());
}else { }else {
smsParams.add(USER_N+ appUserDTO.getRealname()); smsParams.add(USER_N+ appUserDTO.getRealname());
...@@ -549,7 +549,7 @@ public class OrderMsgBiz { ...@@ -549,7 +549,7 @@ public class OrderMsgBiz {
case SmsTemplateDTO.REFUND_A: case SmsTemplateDTO.REFUND_A:
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
Integer rentDepositAutoRefundTime = new Integer(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.RENT_DEPOSIT_AUTO_REFUND_TIME).getDetail()); Integer rentDepositAutoRefundTime = new Integer(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.RENT_DEPOSIT_AUTO_REFUND_TIME).getDetail());
if(0 < appUserDTO.getMemberLevel() ) { if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) {
smsParams.add(USER_M+ appUserDTO.getRealname()); smsParams.add(USER_M+ appUserDTO.getRealname());
}else { }else {
smsParams.add(USER_N+ appUserDTO.getRealname()); smsParams.add(USER_N+ appUserDTO.getRealname());
...@@ -562,7 +562,7 @@ public class OrderMsgBiz { ...@@ -562,7 +562,7 @@ public class OrderMsgBiz {
smsParams.add(DateUtil.formatDateTime(DateUtil.date(baseOrder.getRefundTime() + Long.valueOf(rentDepositAutoRefundTime * 60 * 60 * 1000)))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(baseOrder.getRefundTime() + Long.valueOf(rentDepositAutoRefundTime * 60 * 60 * 1000))));
break; break;
case SmsTemplateDTO.REFUND_B: case SmsTemplateDTO.REFUND_B:
if(0 < appUserDTO.getMemberLevel() ) { if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) {
smsParams.add(USER_M+ appUserDTO.getRealname()); smsParams.add(USER_M+ appUserDTO.getRealname());
}else { }else {
smsParams.add(USER_N+ appUserDTO.getRealname()); smsParams.add(USER_N+ appUserDTO.getRealname());
......
...@@ -64,6 +64,7 @@ public class VehicleModelController extends CommonBaseController { ...@@ -64,6 +64,7 @@ public class VehicleModelController extends CommonBaseController {
@GetMapping(value = "/findVehicleModelPage") @GetMapping(value = "/findVehicleModelPage")
@IgnoreUserToken @IgnoreUserToken
public ObjectRestResponse<PageDataVO<VehicleModelVo>> findVehicleModelPageUnauthfind(VehicleModelQueryCondition vmqc) { public ObjectRestResponse<PageDataVO<VehicleModelVo>> findVehicleModelPageUnauthfind(VehicleModelQueryCondition vmqc) {
vmqc.setNotInIds("67");
ObjectRestResponse<PageDataVO<VehicleModelVo>> objectRestResponse = vehicleFeign.findVehicleModelPageUnauthfind(vmqc); ObjectRestResponse<PageDataVO<VehicleModelVo>> objectRestResponse = vehicleFeign.findVehicleModelPageUnauthfind(vmqc);
PageDataVO<VehicleModelVo> pageDataVOs = objectRestResponse.getData(); PageDataVO<VehicleModelVo> pageDataVOs = objectRestResponse.getData();
pageDataVOs.getData().forEach( v -> { pageDataVOs.getData().forEach( v -> {
......
...@@ -30,6 +30,8 @@ public class VehicleModelQueryCondition { ...@@ -30,6 +30,8 @@ public class VehicleModelQueryCondition {
private Integer status; private Integer status;
@ApiModelProperty("分类逗号分割") @ApiModelProperty("分类逗号分割")
String catasStr; String catasStr;
@ApiModelProperty("排除的车型id")
String notInIds;
@ApiModelProperty(value = "分类列表", hidden = true) @ApiModelProperty(value = "分类列表", hidden = true)
Map<Integer, List<VehiclePlatCata>> catas; Map<Integer, List<VehiclePlatCata>> catas;
} }
...@@ -58,95 +58,99 @@ public class VehicleActiveService { ...@@ -58,95 +58,99 @@ public class VehicleActiveService {
* *
* @param departureVo * @param departureVo
*/ */
@Transactional
public void departure(VehicleDepartureVo departureVo) { public void departure(VehicleDepartureVo departureVo) {
Vehicle vehicle = vehicleMapper.selectByPrimaryKey(departureVo.getVehicleId()); try {
if (vehicle == null) { Vehicle vehicle = vehicleMapper.selectByPrimaryKey(departureVo.getVehicleId());
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(), if (vehicle == null) {
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode()); throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
} ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode());
if (StringUtils.isBlank(departureVo.getCheckMan()) || StringUtils.isBlank(departureVo.getCheckManTel())) { }
throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(), if (StringUtils.isBlank(departureVo.getCheckMan()) || StringUtils.isBlank(departureVo.getCheckManTel())) {
ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode()); throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
} ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode());
if (!vehicle.getStatus().equals(VehicleStatus.NORMAL.getCode())) { }
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
}
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
checkDateInvalide(departureVo);
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 (!vehicle.getStatus().equals(VehicleStatus.NORMAL.getCode())) { if (!vehicle.getStatus().equals(VehicleStatus.NORMAL.getCode())) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
} }
//修改预约记录状态 //添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
VehicleBookRecord vehicleBookRecord = null; checkDateInvalide(departureVo);
if (departureVo.getBookRecordId() != null) { Integer MileageLift = vehicle.getMileageLastUpdate();
vehicleBookRecord = vehicleBookRecordBiz.selectById(departureVo.getBookRecordId()); Integer MileageLift1 = departureVo.getMileage();
updateBookRecordStatus(vehicleBookRecord, 1); if (MileageLift1 == null) {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
} }
VehicleDepartureLogVo vehicleDepartureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(departureVo.getBookRecordId()); if (MileageLift == null || MileageLift1 >= MileageLift) {
if (vehicleDepartureLogVo != null) { // 写入车辆公里数,预计目的地
BeanUtil.copyProperties(departureVo, vehicleDepartureLogVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)); vehicle.setMileageLastUpdate(MileageLift1);
VehicleDepartureLog departureLog = vehicleDepartureLogVo.getVehicleDeparture(vehicleDepartureLogVo); vehicle.setExpectDestinationBranchCompanyId(departureVo.getExpectArrivalBranchCompanyId());
departureLog.setDepartureTime(new Date()); vehicleMapper.updateByPrimaryKeySelective(vehicle);
departureLog.setUpdateTime(new Date());
departureLog.setState(VehicleDepartureState.DEPARTURE.getCode()); // 修改车辆状态,确认是空闲状态
departureLog.setDepartureRemark(departureVo.getRemark()); int result = vehicleMapper.updateStatusByIdAndStatus(departureVo.getVehicleId(), VehicleStatus.DEPARTURE.getCode(),
if (vehicleBookRecord != null) { VehicleStatus.NORMAL.getCode());
departureLog.setDepartureBranchCompanyId(vehicleBookRecord.getLiftCompany());
departureLog.setUse(BookType.getByCode(vehicleBookRecord.getBookType())); if (!vehicle.getStatus().equals(VehicleStatus.NORMAL.getCode())) {
departureLog.setUser(vehicleBookRecord.getVehicleUsername()); throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()),
departureLog.setUserTel(vehicleBookRecord.getVehicleUserPhone()); ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
} }
vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog); //修改预约记录状态
} else { VehicleBookRecord vehicleBookRecord = null;
// 出车记录 if (departureVo.getBookRecordId() != null) {
VehicleDepartureLog departureLog = new VehicleDepartureLog(); vehicleBookRecord = vehicleBookRecordBiz.selectById(departureVo.getBookRecordId());
BeanUtils.copyProperties(departureVo, departureLog); updateBookRecordStatus(vehicleBookRecord, 1);
departureLog.setDepartureTime(new Date()); }
departureLog.setCreateTime(new Date()); VehicleDepartureLogVo vehicleDepartureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(departureVo.getBookRecordId());
departureLog.setMileageStart(departureVo.getMileage()); if (vehicleDepartureLogVo != null) {
departureLog.setState(VehicleDepartureState.DEPARTURE.getCode()); BeanUtil.copyProperties(departureVo, vehicleDepartureLogVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
departureLog.setBookRecordId(departureVo.getBookRecordId()); VehicleDepartureLog departureLog = vehicleDepartureLogVo.getVehicleDeparture(vehicleDepartureLogVo);
departureLog.setDepartureRemark(departureVo.getRemark()); departureLog.setDepartureTime(new Date());
if (vehicleBookRecord != null) { departureLog.setUpdateTime(new Date());
departureLog.setDepartureBranchCompanyId(vehicleBookRecord.getLiftCompany()); departureLog.setState(VehicleDepartureState.DEPARTURE.getCode());
departureLog.setUse(BookType.getByCode(vehicleBookRecord.getBookType())); departureLog.setDepartureRemark(departureVo.getRemark());
departureLog.setUser(vehicleBookRecord.getVehicleUsername()); if (vehicleBookRecord != null) {
departureLog.setUserTel(vehicleBookRecord.getVehicleUserPhone()); departureLog.setDepartureBranchCompanyId(vehicleBookRecord.getLiftCompany());
departureLog.setUse(BookType.getByCode(vehicleBookRecord.getBookType()));
departureLog.setUser(vehicleBookRecord.getVehicleUsername());
departureLog.setUserTel(vehicleBookRecord.getVehicleUserPhone());
}
vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog);
} else {
// 出车记录
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());
departureLog.setBookRecordId(departureVo.getBookRecordId());
departureLog.setDepartureRemark(departureVo.getRemark());
if (vehicleBookRecord != null) {
departureLog.setDepartureBranchCompanyId(vehicleBookRecord.getLiftCompany());
departureLog.setUse(BookType.getByCode(vehicleBookRecord.getBookType()));
departureLog.setUser(vehicleBookRecord.getVehicleUsername());
departureLog.setUserTel(vehicleBookRecord.getVehicleUserPhone());
}
vehicleDepartureLogMapper.insert(departureLog);
} }
vehicleDepartureLogMapper.insert(departureLog);
}
// 车辆活动日志 // 车辆活动日志
VehicleActiveLog activeLog = new VehicleActiveLog(); VehicleActiveLog activeLog = new VehicleActiveLog();
activeLog.setVehicleId(departureVo.getVehicleId()); activeLog.setVehicleId(departureVo.getVehicleId());
activeLog.setActiveType(VehicleActiveType.Departure.getCode()); activeLog.setActiveType(VehicleActiveType.Departure.getCode());
activeLog.setStartTime(new Date()); activeLog.setStartTime(new Date());
activeLog.setCreateTime(new Date()); activeLog.setCreateTime(new Date());
vehicleActiveLogMapper.insert(activeLog); vehicleActiveLogMapper.insert(activeLog);
} else { } else {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(), throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode()); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
} catch (Exception e) {
e.printStackTrace();
} }
} }
...@@ -187,115 +191,115 @@ public class VehicleActiveService { ...@@ -187,115 +191,115 @@ public class VehicleActiveService {
return stringBuilder.toString(); return stringBuilder.toString();
} }
@Transactional
public void arrival(VehicleArrivalVo arrivalVo) { public void arrival(VehicleArrivalVo arrivalVo) {
Vehicle vehicle = vehicleMapper.selectByPrimaryKey(arrivalVo.getVehicleId()); try {
if (vehicle == null) { Vehicle vehicle = vehicleMapper.selectByPrimaryKey(arrivalVo.getVehicleId());
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(), if (vehicle == null) {
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode()); throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
} ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode());
if (StringUtils.isBlank(arrivalVo.getRecycleMan()) || StringUtils.isBlank(arrivalVo.getRecycleManTel())) { }
throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(), if (StringUtils.isBlank(arrivalVo.getRecycleMan()) || StringUtils.isBlank(arrivalVo.getRecycleManTel())) {
ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode()); throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
} 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) {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(), throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode()); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
if (Mileagerest != null && Mileagerest1 >= Mileagerest) {
VehicleBookRecord vehicleBookRecord = null;
if (arrivalVo.getBookRecordId() != null) {
vehicleBookRecord = vehicleBookRecordBiz.selectById(arrivalVo.getBookRecordId());
updateBookRecordStatus(vehicleBookRecord, 2);
} }
if (Mileagerest != null && Mileagerest1 >= Mileagerest) {
VehicleBookRecord vehicleBookRecord = null;
if (arrivalVo.getBookRecordId() != null) {
vehicleBookRecord = vehicleBookRecordBiz.selectById(arrivalVo.getBookRecordId());
updateBookRecordStatus(vehicleBookRecord, 2);
}
// 写入车辆公里数,还车分公司id // 写入车辆公里数,还车分公司id
vehicle.setMileageLastUpdate(Mileagerest1); vehicle.setMileageLastUpdate(Mileagerest1);
if (vehicleBookRecord != null) { if (vehicleBookRecord != null) {
vehicle.setParkBranchCompanyId(vehicleBookRecord.getRetCompany()); vehicle.setParkBranchCompanyId(vehicleBookRecord.getRetCompany());
} }
vehicle.setExpectDestinationBranchCompanyId(0); vehicle.setExpectDestinationBranchCompanyId(0);
vehicleMapper.updateByPrimaryKeySelective(vehicle); vehicleMapper.updateByPrimaryKeySelective(vehicle);
// 出车记录 // 出车记录
VehicleDepartureLogVo departureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(arrivalVo.getBookRecordId()); VehicleDepartureLogVo departureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(arrivalVo.getBookRecordId());
if (departureLogVo == 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<VehicleDepartureLog> list = vehicleDepartureLogMapper.selectByVehicle(arrivalVo.getVehicleId());
for(VehicleDepartureLog vehicleDepartureLogVo : list) {
if(vehicleDepartureLogVo.getState() != 1 && vehicleDepartureLogVo.getId() > departureLog.getId()) { //后面还有未收车的记录
flag = false;
} }
} // 修改状态,确认是出车状态
if(flag) { //如果此条记录后面还有未收车记录,就不修改车辆状态 //兼容错误还车流程,先查询,是否有其他出行记录
int result = vehicleMapper.updateStatus(arrivalVo.getVehicleId(), VehicleStatus.NORMAL.getCode()); boolean flag = true;
VehicleDepartureLog departureLog = departureLogVo.getVehicleDeparture(departureLogVo);
List<VehicleDepartureLog> list = vehicleDepartureLogMapper.selectByVehicle(arrivalVo.getVehicleId());
for(VehicleDepartureLog vehicleDepartureLogVo : list) {
if(vehicleDepartureLogVo.getState() != 1 && vehicleDepartureLogVo.getId() > departureLog.getId()) { //后面还有未收车的记录
flag = false;
}
}
if(flag) { //如果此条记录后面还有未收车记录,就不修改车辆状态
int result = vehicleMapper.updateStatus(arrivalVo.getVehicleId(), VehicleStatus.NORMAL.getCode());
// if (result == 0) { // if (result == 0) {
// 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());
// } // }
} }
DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate()); DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate());
DateTime actualArrivalDate = new DateTime(new Date()); DateTime actualArrivalDate = new DateTime(new Date());
//提前还车处理 //提前还车处理
if (actualArrivalDate.compareTo(arrivalDate) < 0) { //实际还车时间小于预计还车时间,需要释放后面的时间 if (actualArrivalDate.compareTo(arrivalDate) < 0) { //实际还车时间小于预计还车时间,需要释放后面的时间
BookVehicleVO bookVehicleVo = new BookVehicleVO(); BookVehicleVO bookVehicleVo = new BookVehicleVO();
BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo); BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo);
bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE); bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
bookVehicleVo.setBookStartDate(null); bookVehicleVo.setBookStartDate(null);
bookVehicleVo.setBookEndDate(null); bookVehicleVo.setBookEndDate(null);
bookVehicleVo.setUnbookStartDate(actualArrivalDate.toString(DATE_TIME_FORMATTER)); bookVehicleVo.setUnbookStartDate(actualArrivalDate.toString(DATE_TIME_FORMATTER));
bookVehicleVo.setUnbookEndDate(arrivalDate.toString(DATE_TIME_FORMATTER)); bookVehicleVo.setUnbookEndDate(arrivalDate.toString(DATE_TIME_FORMATTER));
try { try {
Boolean hasSuc = vehicleBiz.unbookVehicle(bookVehicleVo); Boolean hasSuc = vehicleBiz.unbookVehicle(bookVehicleVo);
if (!hasSuc) { if (!hasSuc) {
throw new BaseException(ResCode.VEHICLE_UNBOOK_FAIL.getDesc(), ResCode.VEHICLE_UNBOOK_FAIL.getCode()); throw new BaseException(ResCode.VEHICLE_UNBOOK_FAIL.getDesc(), ResCode.VEHICLE_UNBOOK_FAIL.getCode());
}
} catch (Exception e) {
e.printStackTrace();
} }
} catch (Exception e) {
e.printStackTrace();
} }
} 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()); departureLog.setIllegalPic(arrivalVo.getIllegalPic());
departureLog.setIllegalPic(arrivalVo.getIllegalPic()); departureLog.setIllegalAmount(arrivalVo.getIllegalAmount());
departureLog.setIllegalAmount(arrivalVo.getIllegalAmount()); departureLog.setArrivalPic(arrivalVo.getArrivalPic());
departureLog.setArrivalPic(arrivalVo.getArrivalPic()); departureLog.setArrivalRemark(arrivalVo.getRemark());
departureLog.setArrivalRemark(arrivalVo.getRemark()); if (vehicleBookRecord != null) {
if (vehicleBookRecord != null) { departureLog.setArrivalBranchCompanyId(vehicleBookRecord.getRetCompany());
departureLog.setArrivalBranchCompanyId(vehicleBookRecord.getRetCompany()); }
} 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);
//取消预定时间 bookInfo和bookRecord //取消预定时间 bookInfo和bookRecord
// BookVehicleVO bookVehicleVo = new BookVehicleVO(); // BookVehicleVO bookVehicleVo = new BookVehicleVO();
// BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo); // BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo);
// bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE); // bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
...@@ -311,9 +315,12 @@ public class VehicleActiveService { ...@@ -311,9 +315,12 @@ public class VehicleActiveService {
// } catch ( Exception e) { // } catch ( Exception e) {
// e.printStackTrace(); // e.printStackTrace();
// } // }
} else { } else {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(), throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode()); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
} catch (Exception e) {
e.printStackTrace();
} }
} }
......
...@@ -46,6 +46,13 @@ ...@@ -46,6 +46,13 @@
</foreach> </foreach>
) > 0 ) > 0
</if> </if>
<if test="notInIds != null">
and vmqc.id not in (
<foreach collection="notInIds.split(',')" item="noIdItem" index="noIdIndex">
#{noIdItem}
</foreach>
)
</if>
ORDER BY vmqc.id ASC ORDER BY vmqc.id ASC
</select> </select>
......
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