|  |  | 
 |  |  |     public   CountDataResponse countData(BaseRequest param){ | 
 |  |  |         MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); | 
 |  |  |         queryWrapper.select("count(1) as applyTotalNum"); | 
 |  |  |         queryWrapper.select("(select count(1) from visits where TO_DAYS(create_date)=TO_DAYS(now()) and status not in(5,6,8)) as applyPassNum"); | 
 |  |  |         queryWrapper.select("(select count(1) from visits where TO_DAYS(create_date)=TO_DAYS(now()) and status in (5)) as visitInNum"); | 
 |  |  |         queryWrapper.select("(select count(1) from visits where TO_DAYS(create_date)=TO_DAYS(now()) and status in (6,8)) as visitOutNum"); | 
 |  |  |         queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status not in(5,6,8)) as applyPassNum"); | 
 |  |  |         queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status in (5)) as visitInNum"); | 
 |  |  |         queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status in (6,8)) as visitOutNum"); | 
 |  |  |         queryWrapper.select("(select count(1) from car_event where TO_DAYS(create_date)=TO_DAYS(now()) and inout_type=0 and event_type="+ HKConstants.EventTypes.PARK_PASS_IN.getKey() +") as carInNum"); | 
 |  |  |         queryWrapper.select("(select count(1) from car_event where TO_DAYS(create_date)=TO_DAYS(now()) and (inout_type !=0 ) and event_type="+ HKConstants.EventTypes.PARK_PASS_OUT.getKey() +") as carOutNum"); | 
 |  |  |         queryWrapper.eq(Visits::getIsdeleted, Constants.ZERO ); | 
 |  |  |         queryWrapper.apply("TO_DAYS(create_date)=TO_DAYS(now())" ); | 
 |  |  |         queryWrapper.apply("TO_DAYS(starttime)=TO_DAYS(now())" ); | 
 |  |  |         queryWrapper.last("limit 1"); | 
 |  |  |         CountDataResponse vModel =visitsMapper.selectJoinOne(CountDataResponse.class,queryWrapper); | 
 |  |  |         vModel.setVisitorNum(vModel.getVisitInNum()+vModel.getVisitOutNum());//今日访客总数 | 
 |  |  | 
 |  |  |         wrapper.last("limit 1"); | 
 |  |  |         CountDataResponse cModel =carEventMapper.selectJoinOne(CountDataResponse.class,wrapper); | 
 |  |  |         vModel.setMemberCarNum(vModel.getMemberCarNum());//今日员工车辆进场数 | 
 |  |  |         vModel.setMemberCarNum(vModel.getCarInNum() - vModel.getMemberCarNum());//今日预约车辆进场数 | 
 |  |  |         vModel.setVisitCarNum(vModel.getCarInNum() - vModel.getMemberCarNum());//今日预约车辆进场数 | 
 |  |  |         return vModel; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         wrapper.selectAll(VisitEvent.class) ; | 
 |  |  |         wrapper.apply("TO_DAYS(create_date)=TO_DAYS(now())" ); | 
 |  |  |         wrapper.last("limit 50"); | 
 |  |  |         wrapper.orderByDesc(VisitEvent::getCreateDate); | 
 |  |  |         wrapper.orderByDesc(VisitEvent::getStartTime); | 
 |  |  |         List<VisitEvent> result =visitEventMapper.selectList( wrapper); | 
 |  |  |         if(result!=null){ | 
 |  |  |             for(VisitEvent event :result){ | 
 |  |  | 
 |  |  |         MPJLambdaWrapper<CarEvent> wrapper = new MPJLambdaWrapper<>(); | 
 |  |  |         wrapper.select("count(id) as num, create_date"); | 
 |  |  |         wrapper.apply("TO_DAYS(create_date)+"+days+" >= TO_DAYS(now()) " ); | 
 |  |  |         wrapper.eq(CarEvent::getEventType,  HKConstants.EventTypes.PARK_LINE_IN.getKey()); | 
 |  |  |         wrapper.in(CarEvent::getEventType,  HKConstants.EventTypes.PARK_PASS_IN.getKey(), HKConstants.EventTypes.PARK_PASS_OUT.getKey()); | 
 |  |  |         wrapper.groupBy("TO_DAYS(create_date)"); | 
 |  |  |         wrapper.orderByDesc(CarEvent::getCreateDate); | 
 |  |  |         List<CarEvent> result =carEventMapper.selectJoinList(CarEvent.class,wrapper); | 
 |  |  | 
 |  |  |     } | 
 |  |  |     private List<VisitEvent> getVisitEventListByDays(int days) { | 
 |  |  |         MPJLambdaWrapper<VisitEvent> wrapper = new MPJLambdaWrapper<>(); | 
 |  |  |         wrapper.select("count(id) as num, create_date"); | 
 |  |  |         wrapper.apply("TO_DAYS(create_date)+"+days+" >= TO_DAYS(now()) " ); | 
 |  |  |         wrapper.select("count(id) as num, starttime"); | 
 |  |  |         wrapper.apply("TO_DAYS(starttime)+"+days+" >= TO_DAYS(now()) " ); | 
 |  |  |         wrapper.eq(VisitEvent::getEventType,  HKConstants.EventTypes.VISIT_SIGN_IN.getKey()); | 
 |  |  |         wrapper.groupBy("TO_DAYS(create_date)"); | 
 |  |  |         wrapper.groupBy("TO_DAYS(starttime)"); | 
 |  |  |         wrapper.orderByDesc(CarEvent::getCreateDate); | 
 |  |  |         List<VisitEvent> result =visitEventMapper.selectJoinList(VisitEvent.class,wrapper); | 
 |  |  |         return  result; | 
 |  |  |     } | 
 |  |  |     private List<Visits> getVisitListByDays(int days) { | 
 |  |  |         MPJLambdaWrapper<Visits> wrapper = new MPJLambdaWrapper<>(); | 
 |  |  |         wrapper.select("count(id) as num, starttime"); | 
 |  |  |         wrapper.apply("TO_DAYS(starttime)+"+days+" >= TO_DAYS(now()) " ); | 
 |  |  |         wrapper.in(Visits::getStatus,  5,6,7); | 
 |  |  |         wrapper.groupBy("TO_DAYS(starttime)"); | 
 |  |  |         wrapper.orderByDesc(CarEvent::getCreateDate); | 
 |  |  |         List<Visits> result =visitsMapper.selectJoinList(Visits.class,wrapper); | 
 |  |  |         return  result; | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return 0; | 
 |  |  |     } | 
 |  |  |     private Integer getVisistNumByDate(String s, List<VisitEvent> result) { | 
 |  |  |     private Integer getVisistEventNumByDate(String s, List<VisitEvent> result) { | 
 |  |  |         for(VisitEvent event:result){ | 
 |  |  |             if(StringUtils.equals(s,DateUtil.formatDate(event.getCreateDate(),"MM.dd"))){ | 
 |  |  |                 return event.getNum(); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return 0; | 
 |  |  |     } | 
 |  |  |     private Integer getVisistNumByDate(String s, List<Visits> result) { | 
 |  |  |         for(Visits event:result){ | 
 |  |  |             if(StringUtils.equals(s,DateUtil.formatDate(event.getStarttime(),"MM.dd"))){ | 
 |  |  |                 return event.getNum(); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  | 
 |  |  |             times.add(DateUtil.formatDate(DateUtil.dateDayAdd(new Date(), -(days-i)+1),"MM.dd")); | 
 |  |  |             numList.add(0); | 
 |  |  |         } | 
 |  |  |         List<VisitEvent> result = getVisitEventListByDays(days); | 
 |  |  |         List<Visits> result = getVisitListByDays(days); | 
 |  |  |         if(result!=null&& result.size()>0){ | 
 |  |  |             for (int i = 0; i < days; i++) { | 
 |  |  |                 numList.set(i,getVisistNumByDate(times.get(i),result)); |