| | |
| | | @Autowired |
| | | private InoutDayCountMapper inoutDayCountMapper; |
| | | @Autowired |
| | | private InoutRecordMapper inoutRecordMapper; |
| | | @Autowired |
| | | private CarEventMapper carEventMapper; |
| | | |
| | | @Autowired |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void visitLevelForCarOut(Visits visits){ |
| | | visitLevelBiz(visits); |
| | | visits.setRemark("跟随访客车辆离园自动签离"); |
| | | visitLevelBiz(visits); |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | |
| | | request.setOrderId(visits.getHkId()); |
| | | //调用海康强制签离 |
| | | BaseResponse response = HKService.iccmSignoff(request); |
| | | // BaseResponse response = HKService.outVisitAppiontment(request); |
| | | visitsMapper.update(null,new UpdateWrapper<Visits>().lambda() |
| | | .set(Visits::getStatus,Constants.VisitStatus.signout) |
| | | .set(Visits::getRemark,visits.getRemark()) |
| | | .eq(Visits::getId,visits.getId())); |
| | | if(response!=null &&StringUtils.isNotBlank(response.getCode()) && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){ |
| | | visitsMapper.update(null,new UpdateWrapper<Visits>().lambda() |
| | | .set(Visits::getStatus,Constants.VisitStatus.signout) |
| | | .set(Visits::getRemark,visits.getRemark()) |
| | | .eq(Visits::getId,visits.getId())); |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"访客签离失败,请刷新重试"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | .apply(" DATE(TIME_INFO) = CURDATE() ") |
| | | .last(" limit 1 ") |
| | | ); |
| | | |
| | | |
| | | //今日在园人数 |
| | | pcWorkPlatformDataVO.setTodayInParkUserNum( |
| | | retentionList.stream().filter(i->!Constants.equalsInteger(i.getType(),Constants.THREE)).count() |
| | |
| | | |
| | | //在园长期相关方人数 |
| | | pcWorkPlatformDataVO.setInParkLwUserNum( |
| | | retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) |
| | | && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count() |
| | | retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FOUR)).count() |
| | | ); |
| | | pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO); |
| | | pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO); |
| | |
| | | ); |
| | | pcWorkPlatformDataVO.setVisitUserNum(Constants.ZERO); |
| | | pcWorkPlatformDataVO.setSignLevelNum(Constants.ZERO); |
| | | |
| | | //在园货运车辆司机 |
| | | pcWorkPlatformDataVO.setInParkDriverUserNum( |
| | | retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FIVE)&&Objects.isNull(i.getCompanyType())).count()); |
| | | |
| | | //在园车辆 |
| | | pcWorkPlatformDataVO.setTodayInParkCarNum( |
| | |
| | | List<InterestedListVO> lwList = new ArrayList<>(); |
| | | List<InterestedListVO> internalList = new ArrayList<>(); |
| | | //查询七天前的访客记录数量 |
| | | List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().in(Visits::getStatus, |
| | | Constants.VisitStatus.signin,Constants.VisitStatus.signout) |
| | | .apply(" STARTTIME > CURDATE() - INTERVAL 7 DAY " ) |
| | | // List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().in(Visits::getStatus, |
| | | // Constants.VisitStatus.signin,Constants.VisitStatus.signout) |
| | | // .apply(" STARTTIME > CURDATE() - INTERVAL 7 DAY " ) |
| | | // ); |
| | | |
| | | List<InoutRecord> inoutRecordList = inoutRecordMapper.selectList(new QueryWrapper<InoutRecord>().lambda() |
| | | .eq(InoutRecord::getInOrOut,Constants.ZERO).eq(InoutRecord::getIsdeleted,Constants.ZERO) |
| | | .apply(" TIME_INFO > CURDATE() - INTERVAL 7 DAY " ) |
| | | ); |
| | | |
| | | List<CarEvent> carEventList = carEventMapper.selectList(new QueryWrapper<CarEvent>().lambda() |
| | | .in(CarEvent::getEventType,"771760131","771760130") |
| | | .apply(" STR_TO_DATE(happen_time, '%Y-%m-%dT%H:%i:%s') > CURDATE() - INTERVAL 7 DAY " ) |
| | | ); |
| | | // List<CarEvent> carEventList = carEventMapper.selectList(new QueryWrapper<CarEvent>().lambda() |
| | | // .in(CarEvent::getEventType,"771760131","771760130") |
| | | // .apply(" STR_TO_DATE(happen_time, '%Y-%m-%dT%H:%i:%s') > CURDATE() - INTERVAL 7 DAY " ) |
| | | // ); |
| | | |
| | | for (String days:weekDays) { |
| | | InterestedListVO visitVO = new InterestedListVO(); |
| | | visitVO.setName(days); |
| | | if(CollectionUtils.isNotEmpty(visitsList)){ |
| | | if(CollectionUtils.isNotEmpty(inoutRecordList)){ |
| | | //处理访客人员数量 |
| | | List<Visits> daysList = visitsList.stream().filter(i->Objects.nonNull(i.getStarttime())&&DateUtil.dateToString(i.getStarttime(),"yyyy-MM-dd").equals(days)).collect(Collectors.toList()); |
| | | List<String> memberIds = daysList.stream().map(i->i.getMemberId().toString()).collect(Collectors.toList()); |
| | | // List<Visits> daysList = visitsList.stream().filter(i->Objects.nonNull(i.getStarttime())&&DateUtil.dateToString(i.getStarttime(),"yyyy-MM-dd").equals(days)).collect(Collectors.toList()); |
| | | // List<String> memberIds = daysList.stream().map(i->i.getMemberId().toString()).collect(Collectors.toList()); |
| | | |
| | | List<String> memberIds = inoutRecordList.stream().filter(i-> |
| | | Objects.isNull(i.getCarCode())&& |
| | | Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days) |
| | | ) |
| | | .map(i->i.getMemberPhone()) |
| | | .collect(Collectors.toList()); |
| | | if(CollectionUtils.isNotEmpty(memberIds)){ |
| | | visitVO.setNum(new HashSet<String>(memberIds).size()); |
| | | } |
| | |
| | | InterestedListVO carVO = new InterestedListVO(); |
| | | carVO.setName(days); |
| | | |
| | | |
| | | if(CollectionUtils.isNotEmpty(carEventList)){ |
| | | if(CollectionUtils.isNotEmpty(inoutRecordList)){ |
| | | //处理访客人员数量 |
| | | List<CarEvent> daysList = carEventList.stream().filter(i->StringUtils.isNotBlank(i.getHappenTime()) && i.getHappenTime().substring(0,10).equals(days)).collect(Collectors.toList()); |
| | | List<String> carCodeList = daysList.stream().map(i->i.getPlateNos()).collect(Collectors.toList()); |
| | | // List<CarEvent> daysList = carEventList.stream().filter(i->StringUtils.isNotBlank(i.getHappenTime()) && i.getHappenTime().substring(0,10).equals(days)).collect(Collectors.toList()); |
| | | // List<String> carCodeList = daysList.stream().map(i->i.getPlateNos()).collect(Collectors.toList()); |
| | | List<String> carCodeList = inoutRecordList.stream().filter(i-> |
| | | Objects.isNull(i.getCarCode())&& |
| | | Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days) |
| | | ) |
| | | .map(i->i.getMemberPhone()) |
| | | .collect(Collectors.toList()); |
| | | if(CollectionUtils.isNotEmpty(carCodeList)){ |
| | | carVO.setNum(new HashSet<String>(carCodeList).size()); |
| | | } |
| | |
| | | .eq(Company::getIsdeleted,Constants.ZERO) |
| | | ); |
| | | |
| | | |
| | | |
| | | if(CollectionUtils.isNotEmpty(companyList)){ |
| | | List<Company> lwCompanyList = companyList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList()); |
| | | if(CollectionUtils.isNotEmpty(lwCompanyList)){ |
| | | List<Integer> lwCompanyIds = lwCompanyList.stream().map(i->i.getId()).collect(Collectors.toList()); |
| | | List<Retention> retentionList = retentionMapper.selectList( |
| | | new QueryWrapper<Retention>().lambda() |
| | | .eq(Retention::getType,Constants.TWO) |
| | | .eq(Retention::getType,Constants.FOUR) |
| | | .in(Retention::getCompanyId,lwCompanyIds) |
| | | ); |
| | | for (Company company:lwCompanyList) { |