|  |  |  | 
|---|
|  |  |  | import com.doumee.dao.business.model.*; | 
|---|
|  |  |  | import com.doumee.dao.system.SystemDictDataMapper; | 
|---|
|  |  |  | import com.doumee.dao.system.model.SystemDictData; | 
|---|
|  |  |  | import com.doumee.dao.system.vo.CarEventVo; | 
|---|
|  |  |  | import com.doumee.service.business.CarEventService; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageData<CarEventDTO> findVisitCarPage(PageWrap<CarEvent> pageWrap) { | 
|---|
|  |  |  | IPage<CarEventDTO> carEventDTOIPage = getDataInfo(pageWrap); | 
|---|
|  |  |  | if(null != carEventDTOIPage && carEventDTOIPage.getRecords().size() > 0) { | 
|---|
|  |  |  | carEventDTOIPage.setRecords(newCarEventDTO(carEventDTOIPage.getRecords())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return PageData.from(carEventDTOIPage); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<CarEventVo> findPageExcel(PageWrap<CarEvent> pageWrap) { | 
|---|
|  |  |  | IPage<CarEventDTO> carEventExcel = getDataInfo(pageWrap); | 
|---|
|  |  |  | List<CarEventVo> newDataList = new ArrayList<>(); | 
|---|
|  |  |  | if(null != carEventExcel && carEventExcel.getRecords().size() > 0) { | 
|---|
|  |  |  | carEventExcel.getRecords().stream().forEach(obj->{ | 
|---|
|  |  |  | CarEventVo vo = new CarEventVo(); | 
|---|
|  |  |  | vo.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())) ; | 
|---|
|  |  |  | if(null != obj.getPersonType()) { | 
|---|
|  |  |  | if(Constants.ZERO == obj.getPersonType()){ | 
|---|
|  |  |  | vo.setTypeName(Constants.Status.LW_FK.getDes()); | 
|---|
|  |  |  | }else if(Constants.ONE == obj.getPersonType()) { | 
|---|
|  |  |  | vo.setTypeName(Constants.Status.PT_FK.getDes()); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | vo.setTypeName(Constants.Status.NB_FK.getDes()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | vo.setTypeName(""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | vo.setPlateNos(obj.getPlateNos()); | 
|---|
|  |  |  | vo.setPersonName(obj.getPersonName()); | 
|---|
|  |  |  | vo.setPersonPhone(obj.getPersonPhone()); | 
|---|
|  |  |  | vo.setPersonCompanyName(obj.getPersonCompanyName()); | 
|---|
|  |  |  | vo.setParkName(obj.getParkName()); | 
|---|
|  |  |  | vo.setGateName(obj.getGateName()); | 
|---|
|  |  |  | vo.setInoutType(obj.getInoutType()); | 
|---|
|  |  |  | vo.setHappenTime(obj.getHappenTime()); | 
|---|
|  |  |  | newDataList.add(vo); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return newDataList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private IPage<CarEventDTO> getDataInfo(PageWrap<CarEvent> pageWrap) { | 
|---|
|  |  |  | //是否是数字 | 
|---|
|  |  |  | boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); | 
|---|
|  |  |  | //是否包含中文 | 
|---|
|  |  |  | 
|---|
|  |  |  | //是否包含英文 | 
|---|
|  |  |  | boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IPage<VisitEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  | IPage<CarEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  | MPJLambdaWrapper<CarEvent> queryWrapper = new MPJLambdaWrapper<>(); | 
|---|
|  |  |  | Utils.MP.blankToNull(pageWrap.getModel()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | queryWrapper.leftJoin(Cars.class,Cars::getCode,CarEvent::getPlateNos) | 
|---|
|  |  |  | .leftJoin(Member.class,Member::getId,Cars::getMemberId) | 
|---|
|  |  |  | .leftJoin(Company.class,Company::getId,Member::getCompanyId); | 
|---|
|  |  |  | queryWrapper | 
|---|
|  |  |  | .leftJoin(Member.class,Member::getId,CarEvent::getMemberId) | 
|---|
|  |  |  | .leftJoin(Company.class,Company::getId,Member::getCompanyId); | 
|---|
|  |  |  | queryWrapper.selectAll(CarEvent.class) | 
|---|
|  |  |  | .selectAs(Member::getType,CarEventDTO::getPersonType) | 
|---|
|  |  |  | .selectAs(Member::getPhone,CarEventDTO::getPersonPhone) | 
|---|
|  |  |  | .selectAs(Member::getIdcardDecode,CarEventDTO::getPersonIdcardDecode) | 
|---|
|  |  |  | .selectAs(Member::getName,CarEventDTO::getPersonName) | 
|---|
|  |  |  | .selectAs(Company::getName,CarEventDTO::getPersonCompanyName); | 
|---|
|  |  |  | .selectAs(Member::getType,CarEventDTO::getPersonType) | 
|---|
|  |  |  | .selectAs(Member::getPhone,CarEventDTO::getPersonPhone) | 
|---|
|  |  |  | .selectAs(Member::getIdcardDecode,CarEventDTO::getPersonIdcardDecode) | 
|---|
|  |  |  | .selectAs(Member::getName,CarEventDTO::getPersonName) | 
|---|
|  |  |  | .selectAs(Company::getName,CarEventDTO::getPersonCompanyName); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getPlateNos()), | 
|---|
|  |  |  | CarEvent::getPlateNos, | 
|---|
|  |  |  | pageWrap.getModel().getPlateNos()) | 
|---|
|  |  |  | .like(number, | 
|---|
|  |  |  | Member::getPhone, | 
|---|
|  |  |  | pageWrap.getModel().getKeyWords()) | 
|---|
|  |  |  | .like((b || hasWord), | 
|---|
|  |  |  | Member::getPhone, | 
|---|
|  |  |  | pageWrap.getModel().getKeyWords()) | 
|---|
|  |  |  | .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), | 
|---|
|  |  |  | Company::getName, | 
|---|
|  |  |  | pageWrap.getModel().getCompanyName()) | 
|---|
|  |  |  | .eq(StringUtils.isNotBlank(pageWrap.getModel().getMemberType()), | 
|---|
|  |  |  | Member::getType, | 
|---|
|  |  |  | pageWrap.getModel().getMemberType()) | 
|---|
|  |  |  | .eq(Objects.nonNull(pageWrap.getModel().getEventType()), | 
|---|
|  |  |  | CarEvent::getEventType, | 
|---|
|  |  |  | pageWrap.getModel().getEventType()) | 
|---|
|  |  |  | .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), | 
|---|
|  |  |  | CarEvent::getCreateDate, pageWrap.getModel().getStartTime()) | 
|---|
|  |  |  | .le(Objects.nonNull(pageWrap.getModel().getEndTime()), | 
|---|
|  |  |  | CarEvent::getCreateDate, pageWrap.getModel().getEndTime()); | 
|---|
|  |  |  | CarEvent::getPlateNos, | 
|---|
|  |  |  | pageWrap.getModel().getPlateNos()) | 
|---|
|  |  |  | .like(number, | 
|---|
|  |  |  | Member::getPhone, | 
|---|
|  |  |  | pageWrap.getModel().getKeyWords()) | 
|---|
|  |  |  | .like((b || hasWord), | 
|---|
|  |  |  | Member::getPhone, | 
|---|
|  |  |  | pageWrap.getModel().getKeyWords()) | 
|---|
|  |  |  | .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), | 
|---|
|  |  |  | Company::getName, | 
|---|
|  |  |  | pageWrap.getModel().getCompanyName()) | 
|---|
|  |  |  | .eq( pageWrap.getModel().getMemberType()!=null, | 
|---|
|  |  |  | Member::getType, | 
|---|
|  |  |  | pageWrap.getModel().getMemberType()) | 
|---|
|  |  |  | .eq(Objects.nonNull(pageWrap.getModel().getEventType()), | 
|---|
|  |  |  | CarEvent::getEventType, | 
|---|
|  |  |  | pageWrap.getModel().getEventType()) | 
|---|
|  |  |  | .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), | 
|---|
|  |  |  | CarEvent::getCreateDate, pageWrap.getModel().getStartTime()) | 
|---|
|  |  |  | .le(Objects.nonNull(pageWrap.getModel().getEndTime()), | 
|---|
|  |  |  | CarEvent::getCreateDate, pageWrap.getModel().getEndTime()) | 
|---|
|  |  |  | .orderByDesc(CarEvent::getCreateDate); | 
|---|
|  |  |  | IPage<CarEventDTO> carEventDTOIPage = carEventJoinMapper.selectJoinPage(page, CarEventDTO.class, queryWrapper); | 
|---|
|  |  |  | if(null != carEventDTOIPage && carEventDTOIPage.getRecords().size() > 0) { | 
|---|
|  |  |  | carEventDTOIPage.setRecords(newCarEventDTO(carEventDTOIPage.getRecords())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return PageData.from(carEventDTOIPage); | 
|---|
|  |  |  | return carEventDTOIPage; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private List<CarEventDTO> newCarEventDTO(List<CarEventDTO> newCarEventDTOList) { | 
|---|
|  |  |  | 
|---|
|  |  |  | Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity())); | 
|---|
|  |  |  | List<CarEventDTO> newDataList = new ArrayList<>(); | 
|---|
|  |  |  | newCarEventDTOList.stream().forEach(obj->{ | 
|---|
|  |  |  | obj.setVehiclePicUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() | 
|---|
|  |  |  | +dataMap.get(Constants.CAR_EVENT_IMG).getCode() | 
|---|
|  |  |  | +obj.getVehiclePicUrl()); | 
|---|
|  |  |  | if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_LINE_IN.getKey()){ | 
|---|
|  |  |  | obj.setEventTypeName(HKConstants.EventTypes.PARK_LINE_IN.getName()); | 
|---|
|  |  |  | }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){ | 
|---|
|  |  |  | obj.setEventTypeName(HKConstants.EventTypes.PARK_PASS_IN.getName()); | 
|---|
|  |  |  | }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_LINE_OUT.getKey()){ | 
|---|
|  |  |  | obj.setEventTypeName(HKConstants.EventTypes.PARK_LINE_OUT.getName()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | obj.setEventTypeName(HKConstants.EventTypes.PARK_PASS_OUT.getName()); | 
|---|
|  |  |  | if(obj.getVehiclePicUrl()!=null | 
|---|
|  |  |  | && !obj.getVehiclePicUrl().startsWith(HKConstants.IMG_INDEX) | 
|---|
|  |  |  | && !obj.getVehiclePicUrl().startsWith(HKConstants.IMG_INDEX_ERROR)){ | 
|---|
|  |  |  | obj.setVehiclePicUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() | 
|---|
|  |  |  | +dataMap.get(Constants.CAR_EVENT_IMG).getCode() | 
|---|
|  |  |  | +obj.getVehiclePicUrl()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(obj.getPlatePicUrl()!=null | 
|---|
|  |  |  | && !obj.getVehiclePicUrl().startsWith(HKConstants.IMG_INDEX) | 
|---|
|  |  |  | && !obj.getVehiclePicUrl().startsWith(HKConstants.IMG_INDEX_ERROR)){ | 
|---|
|  |  |  | obj.setPlatePicUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() | 
|---|
|  |  |  | +dataMap.get(Constants.CAR_EVENT_IMG).getCode() | 
|---|
|  |  |  | +obj.getPlatePicUrl()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | obj.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType()) ); | 
|---|
|  |  |  | newDataList.add(obj); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return newDataList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|