|  |  |  | 
|---|
|  |  |  | 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(1,4,9)) as applyPassNum"); | 
|---|
|  |  |  | queryWrapper.select("(select count(1) from visits where TO_DAYS(create_date)=TO_DAYS(now()) and status=8) as visitInNum"); | 
|---|
|  |  |  | queryWrapper.select("(select count(1) from visits where TO_DAYS(create_date)=TO_DAYS(now()) and status=6) 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=1 and event_type="+ HKConstants.EventTypes.PARK_PASS_OUT.getKey() +") as carOutNum"); | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | model.setCreateDate(event.getCreateDate()); | 
|---|
|  |  |  | model.setCompanyName(event.getCompanyName()); | 
|---|
|  |  |  | model.setMemberName(event.getMemberName()); | 
|---|
|  |  |  | model.setType(event.getMemberType()); | 
|---|
|  |  |  | model.setType(Constants.formatIntegerNum(event.getMemberType()) !=2?1:2); | 
|---|
|  |  |  | model.setVisitCompanyName(event.getVisitCompanyName()); | 
|---|
|  |  |  | list.add(model); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | MPJLambdaWrapper<VisitEvent> wrapper = new MPJLambdaWrapper<>(); | 
|---|
|  |  |  | wrapper.selectAll(VisitEvent.class) ; | 
|---|
|  |  |  | wrapper.apply("TO_DAYS(create_date)=TO_DAYS(now())" ); | 
|---|
|  |  |  | wrapper.in(CarEvent::getEventType, Arrays.asList(new Integer[]{HKConstants.EventTypes.PARK_PASS_IN.getKey(),HKConstants.EventTypes.PARK_PASS_OUT.getKey()})); | 
|---|
|  |  |  | 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)); | 
|---|