Commit 1da22669 authored by hanfeng's avatar hanfeng

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents 1559d771 03daeba8
......@@ -16,7 +16,8 @@ public enum BookType {
BOOKING(7,"预约中"),
DISABLE(8,"禁用"),
CUSTOMER_APPLY(9, "客户用车"),
OTHER(10, "其他")
OTHER(10, "其他"),
DISPATCH(11, "调度")
;
/**
* 编码
......
......@@ -309,6 +309,10 @@ public class VehicleActiveService {
}
}
public void save(VehicleDepartureLog vehicleDepartureLog){
vehicleDepartureLogMapper.insertSelective(vehicleDepartureLog);
}
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
public void checkDateInvalid(VehicleDepartureVo arrivalVo) {
if (arrivalVo.getBookRecordId() != null) {
......
......@@ -19,11 +19,8 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ConstantType;
import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.constant.*;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.constant.VehicleStatus;
import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper;
import com.xxfc.platform.vehicle.mapper.VehicleBookInfoMapper;
......@@ -275,10 +272,13 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
*/
@Transactional
public RestResponse update(List<AddOrUpdateVehicleVo> addOrUpdateVehicleVoList) throws Exception {
if (addOrUpdateVehicleVoList.size() > MAX_BATCH_SIZE_VEHICLE) {
if (addOrUpdateVehicleVoList != null && addOrUpdateVehicleVoList.size() > MAX_BATCH_SIZE_VEHICLE) {
throw new BaseException(ResultCode.ADD_VEHICLE_MORE);
}
UserDTO userDTO = getAdminUserInfo();
if (userDTO == null) {
throw new BaseException(ResultCode.RSTOKEN_EXPIRED_CODE);
}
for (AddOrUpdateVehicleVo addOrUpdateVehicleVo : addOrUpdateVehicleVoList) {
Vehicle vehicle = new Vehicle();
BeanUtilsBean.getInstance().copyProperties(vehicle, addOrUpdateVehicleVo);
......@@ -291,7 +291,31 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
if (CollectionUtils.isNotEmpty(exitsVehicles)) {
for (Vehicle exitsVehicle : exitsVehicles) {
if (exitsVehicle.getId().equals(addOrUpdateVehicleVo.getId())) {
continue;
//如果修改的有停靠分公司,需要添加一条调度记录
if (exitsVehicle.getParkBranchCompanyId() != addOrUpdateVehicleVo.getParkBranchCompanyId()) {
VehicleBookRecord vehicleBookRecord = new VehicleBookRecord();
vehicleBookRecord.setRetCompany(addOrUpdateVehicleVo.getParkBranchCompanyId());
vehicleBookRecord.setLiftCompany(exitsVehicle.getParkBranchCompanyId());
vehicleBookRecord.setRemark("后台修改停靠公司,调度车辆");
vehicleBookRecord.setBookStartDate(new Date());
vehicleBookRecord.setBookEndDate(new Date());
vehicleBookRecord.setActualEndDate(new Date());
vehicleBookRecord.setActualStartDate(new Date());
vehicleBookRecord.setBookUser(userDTO.getId());
vehicleBookRecord.setBookUserName(userDTO.getUsername());
vehicleBookRecord.setStatus(VehicleBookRecordStatus.APPROVE.getCode());
vehicleBookRecord.setBookType(BookType.DISPATCH.getCode());
vehicleBookRecord.setVehicleId(exitsVehicle.getId());
vehicleBookRecord.setVehicleUsername(userDTO.getUsername());
vehicleBookRecord.setVehicleUserPhone(userDTO.getUsername());
ObjectRestResponse objectRestResponse = addVehicleBookRecord(vehicleBookRecord);
if(objectRestResponse.isRel()) {
continue;
} else {
return RestResponse.codeAndMessage(objectRestResponse.getStatus(), objectRestResponse.getMessage());
}
}
}
return RestResponse.codeAndMessage(ResCode.VEHICLE_INFO_SAME_NUM_PLATE_EXISTS.getCode(),
ResCode.VEHICLE_INFO_SAME_NUM_PLATE_EXISTS.getDesc());
......@@ -309,6 +333,10 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return RestResponse.suc();
}
public ObjectRestResponse addVehicleBookRecord(VehicleBookRecord vehicleBookRecord) {
return vehicleBookRecordBiz.addBookRecord(vehicleBookRecord);
}
/**
* 废弃车辆(状态设置为废弃)
*
......@@ -326,95 +354,6 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return RestResponse.suc();
}
// /**
// * 申请汽车预定(内部)
// * 检查是否可预定,修改相关预定记录状态
// * @param userId
// * @param bookVehicleVo
// * @return
// */
// @Transactional
// public VehicleBookRecord applyVehicle4Employee(Integer userId, BookVehicleVO bookVehicleVo, String userName) throws Exception{
// //检查车辆信息是否合法
// checkIfVehicleExists(bookVehicleVo.getVehicleId());
// //提取日期和相应的预定目标日期
// Map<String,List<String>> yearMonthAndDate = Maps.newHashMap();
// //预定时间不能为空
// if(StringUtils.isBlank(bookVehicleVo.getBookStartDate()) || StringUtils.isBlank(bookVehicleVo.getBookEndDate())){
// throw new BaseException(ResultCode.DATE_TIME_IS_NULL);
// }
// String[] bookStartDateArray = bookVehicleVo.getBookStartDate().split(" ");
// String[] bookEndDateArray = bookVehicleVo.getBookEndDate().split(" ");
//
// DateTime startDay =DateTime.parse(bookStartDateArray[0],DEFAULT_DATE_TIME_FORMATTER);
// DateTime endDay =DateTime.parse(bookEndDateArray[0], DEFAULT_DATE_TIME_FORMATTER);
//
//
// //转换日期范围为列表,并检查是否合法
// fillDateList4DatePeriod(yearMonthAndDate,startDay,endDay);
// if(yearMonthAndDate.size()>3){//连续的日期最多夸3个月
// throw new BaseException(ResultCode.ONLY_BOOK_TWO_MONTH);
// }
// Map<String, Integer> map = vehicleBookHourInfoBiz.getPredictableHours(bookVehicleVo.getBookStartDate(), bookVehicleVo.getBookEndDate());
// //检查车辆是否可以预定
// for(Map.Entry<String,List<String>> entry:yearMonthAndDate.entrySet()){
// Boolean rsEach = applyVehicle4EmployeePerMonth(bookVehicleVo.getVehicleId(),entry.getValue(),entry.getKey(), map);
// if(Boolean.FALSE.equals(rsEach)){
// throw new BaseException(ResultCode.VEHICLE_IS_BOOKED);
// }
// }
//
// //加入预定申请记录
// VehicleBookRecord vehicleBookRecord = new VehicleBookRecord();
// vehicleBookRecord.setVehicleId(bookVehicleVo.getVehicleId());
// vehicleBookRecord.setBookType(bookVehicleVo.getBookType());
// vehicleBookRecord.setStatus(VehicleBookRecordStatus.APPLY.getCode());
// vehicleBookRecord.setBookUser(userId);
// vehicleBookRecord.setBookUserName(userName);
// vehicleBookRecord.setBookStartDate(DateTime.
// parse(bookStartDateArray[0],DEFAULT_DATE_TIME_FORMATTER).toDate());
// vehicleBookRecord.setBookEndDate(DateTime.
// parse(bookEndDateArray[0],DEFAULT_DATE_TIME_FORMATTER).toDate());
// vehicleBookRecord.setLiftAddr(bookVehicleVo.getLiftAddr());
// vehicleBookRecord.setRemark(bookVehicleVo.getRemark());
// vehicleBookRecord.setDestination(bookVehicleVo.getDestination());
// vehicleBookRecord.setLiftCompany(bookVehicleVo.getLiftCompany());
// vehicleBookRecord.setRetCompany(bookVehicleVo.getRetCompany());
// vehicleBookRecord.setOrderNo(bookVehicleVo.getOrderNo());
// vehicleBookRecordBiz.save(vehicleBookRecord);
//// //添加预定时间记录
////
//// Map<String, Integer> map = vehicleBookHourInfoBiz.getPredictableHours(bookVehicleVo.getBookStartDate(), bookVehicleVo.getBookEndDate());
//// for(Map.Entry<String, Integer> entry : map.entrySet()) {
//// VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto();
//// vehicleBookHourInfoDto.setVehicleId(bookVehicleVo.getVehicleId());
//// vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
//// vehicleBookHourInfoDto.setBookedHour(entry.getValue());
//// vehicleBookHourInfoBiz.save(vehicleBookHourInfoDto);
//// }
//
// //修改相关车辆预定记录
// Boolean hasSuc = bookedVehicle(bookVehicleVo);
// if(!hasSuc){
// throw new BaseException(ResultCode.BOOKED_FAILED_CODE);
// }
//
// //添加随车物品
// List<Map<String,Object>> params = Lists.newArrayList();
// if(MapUtils.isNotEmpty(bookVehicleVo.getSelectedAccItem())){
// for(Map.Entry<Integer,Integer> idAndAmount : bookVehicleVo.getSelectedAccItem().entrySet()){
// Map<String,Object> row = Maps.newHashMap();
// row.put("id",idAndAmount.getKey());
// row.put("amount",idAndAmount.getValue());
// row.put("bookRecordId",vehicleBookRecord.getId());
// params.add(row);
// }
// bookRecordAccItemMapper.batchAdd(params);
// }
//
// return vehicleBookRecord;
// }
/**
* 不需要审核
*
......
......@@ -29,7 +29,6 @@ import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
......@@ -81,6 +80,9 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
@Autowired
BookRecordUpdateLogBiz bookRecordUpdateLogBiz;
@Autowired
VehicleActiveService vehicleActiveService;
@Override
public UserFeign getUserFeign() {
return userFeign;
......@@ -389,6 +391,39 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
return RestResponse.suc();
}
public ObjectRestResponse addBookRecord(VehicleBookRecord vehicleBookRecord) {
if (vehicleBookRecord == null) {
return ObjectRestResponse.paramIsEmpty();
}
save(vehicleBookRecord);
VehicleBookRecord newValue = selectOne(vehicleBookRecord);
if (newValue != null) {
//添加交还车记录
VehicleDepartureLog vehicleDepartureLog = new VehicleDepartureLog();
vehicleDepartureLog.setBookRecordId(newValue.getId());
vehicleDepartureLog.setArrivalBranchCompanyId(vehicleBookRecord.getRetCompany());
vehicleDepartureLog.setArrivalRemark("后台修改停靠分公司,车辆调度");
vehicleDepartureLog.setArrivalTime(new Date());
vehicleDepartureLog.setCheckMan(vehicleBookRecord.getBookUserName());
vehicleDepartureLog.setCheckManTel(vehicleBookRecord.getBookUserName());
vehicleDepartureLog.setCreateTime(new Date());
vehicleDepartureLog.setDepartureBranchCompanyId(vehicleBookRecord.getLiftCompany());
vehicleDepartureLog.setDepartureRemark("后台修改停靠分公司,车辆调度");
vehicleDepartureLog.setDepartureTime(new Date());
vehicleDepartureLog.setRecycleMan(vehicleBookRecord.getBookUserName());
vehicleDepartureLog.setRecycleManTel(vehicleBookRecord.getBookUserName());
vehicleDepartureLog.setState(1);
vehicleDepartureLog.setVehicleId(vehicleBookRecord.getVehicleId());
vehicleDepartureLog.setUse("调度");
vehicleDepartureLog.setUser(vehicleBookRecord.getBookUserName());
vehicleDepartureLog.setUserTel(vehicleBookRecord.getBookUserName());
vehicleActiveService.save(vehicleDepartureLog);
}
return ObjectRestResponse.succ();
}
/**
* 按页查询
*
......
......@@ -126,6 +126,11 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
return RestResponse.suc(vehicles);
}
@PostMapping(value = "/test")
public ObjectRestResponse test(@RequestBody VehicleBookRecord vehicleBookRecord) {
return vehicleBiz.addVehicleBookRecord(vehicleBookRecord);
}
@RequestMapping(value = "/page", method = RequestMethod.GET)
public RestResponse<PageDataVO<ResultVehicleVo>> getByPage(@RequestParam String vehiclePageQueryVoJson) throws Exception {
VehiclePageQueryVo vehiclePageQueryVo = null;
......
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