| | |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.core.wx.wxPlat.WxPlatNotice; |
| | | import com.doumee.dao.admin.response.InterestedListVO; |
| | | import com.doumee.dao.admin.response.PCWorkPlatformDataVO; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.dao.CompanyMapper; |
| | |
| | | import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; |
| | | import com.github.xiaoymin.knife4j.core.util.CollectionUtils; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private ApproveService approveService; |
| | | @Autowired |
| | | private NoticesJoinMapper noticesJoinMapper; |
| | | |
| | | @Autowired |
| | | private InoutDayCountMapper inoutDayCountMapper; |
| | | |
| | | @Override |
| | | public Integer create(Visits visits) { |
| | |
| | | .selectAs(Company::getType,Retention::getCompanyType) |
| | | .leftJoin(Company.class,Company::getId,Retention::getCompanyId) |
| | | ); |
| | | |
| | | InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>() |
| | | .lambda() |
| | | .apply(" DATE(TIME_INFO) = CURDATE() ") |
| | | .last(" limit 1 ") |
| | | ); |
| | | |
| | | //今日在园人数 |
| | | pcWorkPlatformDataVO.setTodayInParkUserNum( |
| | | retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).count() |
| | | ); |
| | | pcWorkPlatformDataVO.setTodayInUserNum(0L); |
| | | pcWorkPlatformDataVO.setTodayOutUserNum(0L); |
| | | |
| | | pcWorkPlatformDataVO.setTodayInUserNum(Constants.ZERO); |
| | | pcWorkPlatformDataVO.setTodayOutUserNum(Constants.ZERO); |
| | | |
| | | //在园长期相关方人数 |
| | | pcWorkPlatformDataVO.setInParkLwUserNum( |
| | | retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count() |
| | | ); |
| | | pcWorkPlatformDataVO.setLwUserInNum(0L); |
| | | pcWorkPlatformDataVO.setLwUserOutNum(0L); |
| | | pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO); |
| | | pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO); |
| | | |
| | | |
| | | //在园访客数量 |
| | | pcWorkPlatformDataVO.setInParkVisitUserNum( |
| | | retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)&&Objects.isNull(i.getCompanyType())).count() |
| | | ); |
| | | pcWorkPlatformDataVO.setVisitUserNum(0L); |
| | | pcWorkPlatformDataVO.setSignLevelNum(0L); |
| | | pcWorkPlatformDataVO.setVisitUserNum(Constants.ZERO); |
| | | pcWorkPlatformDataVO.setSignLevelNum(Constants.ZERO); |
| | | |
| | | //在园车辆 |
| | | pcWorkPlatformDataVO.setTodayInParkCarNum( |
| | | retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count() |
| | | ); |
| | | pcWorkPlatformDataVO.setTodayInCarNum(0L); |
| | | pcWorkPlatformDataVO.setTodayOutCarNum(0L); |
| | | |
| | | pcWorkPlatformDataVO.setTodayInCarNum(Constants.ZERO); |
| | | pcWorkPlatformDataVO.setTodayOutCarNum(Constants.ZERO); |
| | | if(Objects.nonNull(inoutDayCount)){ |
| | | //相关方 |
| | | pcWorkPlatformDataVO.setLwUserInNum(inoutDayCount.getInOtherMemberNum()); |
| | | pcWorkPlatformDataVO.setLwUserOutNum(inoutDayCount.getOutOtherMemberNum()); |
| | | //访客 |
| | | pcWorkPlatformDataVO.setVisitUserNum(inoutDayCount.getInVisitorNum()); |
| | | pcWorkPlatformDataVO.setSignLevelNum(inoutDayCount.getOutVisitorNum()); |
| | | //车辆 |
| | | pcWorkPlatformDataVO.setTodayInCarNum(inoutDayCount.getInCarNum()); |
| | | pcWorkPlatformDataVO.setTodayOutCarNum(inoutDayCount.getOutCarNum()); |
| | | //总人数 |
| | | pcWorkPlatformDataVO.setTodayInUserNum(pcWorkPlatformDataVO.getLwUserInNum() + pcWorkPlatformDataVO.getVisitUserNum() + inoutDayCount.getInSelfMemberNum() ); |
| | | pcWorkPlatformDataVO.setTodayOutUserNum(pcWorkPlatformDataVO.getLwUserOutNum() + pcWorkPlatformDataVO.getSignLevelNum() + inoutDayCount.getOutSelfMemberNum() ); |
| | | } |
| | | |
| | | }else if(Constants.equalsInteger(queryType,Constants.TWO)){ |
| | | List<String> weekDays = DateUtil.getBeforDays(new Date(),7); |
| | | List<InterestedListVO> weekVisitList = new ArrayList<>(); |
| | | List<InterestedListVO> weekCarList = new ArrayList<>(); |
| | | List<InterestedListVO> lwList = new ArrayList<>(); |
| | | |
| | | for (String days:weekDays) { |
| | | InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>() |
| | | .lambda() |
| | | .apply(" DATE(TIME_INFO) = '"+days+"' ") |
| | | .last(" limit 1 ") |
| | | ); |
| | | InterestedListVO visitVO = new InterestedListVO(); |
| | | visitVO.setName(days); |
| | | InterestedListVO carVO = new InterestedListVO(); |
| | | carVO.setName(days); |
| | | if(Objects.isNull(inoutDayCount)){ |
| | | visitVO.setNum(Constants.ZERO); |
| | | carVO.setNum(Constants.ZERO); |
| | | }else{ |
| | | visitVO.setNum(inoutDayCount.getInVisitorNum()); |
| | | carVO.setNum(inoutDayCount.getInCarNum()); |
| | | } |
| | | weekVisitList.add(visitVO); |
| | | weekCarList.add(carVO); |
| | | } |
| | | pcWorkPlatformDataVO.setWeekVisitList(weekVisitList ); |
| | | pcWorkPlatformDataVO.setWeekCarList(weekCarList); |
| | | |
| | | // List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class, |
| | | // new MPJLambdaWrapper<Retention>() |
| | | // .selectAll(Retention.class) |
| | | // .selectAs(Company::getType,Retention::getCompanyType) |
| | | // .selectAs(Company::getName,Retention::getCompanyName) |
| | | // .leftJoin(Company.class,Company::getId,Retention::getCompanyId) |
| | | // .eq(Company::getType,Constants.ZERO) |
| | | // .groupBy(Company::getId,Company::getName) |
| | | // .orderByDesc(Retention::getNum) |
| | | // ); |
| | | |
| | | List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda() |
| | | .eq(Company::getType,Constants.ZERO) |
| | | .eq(Company::getIsdeleted,Constants.ZERO) |
| | | ); |
| | | |
| | | if(CollectionUtils.isNotEmpty(companyList)){ |
| | | List<Integer> companyIds = companyList.stream().map(i->i.getId()).collect(Collectors.toList()); |
| | | List<Retention> retentionList = retentionMapper.selectList( |
| | | new QueryWrapper<Retention>().lambda() |
| | | .in(Retention::getCompanyId,companyIds) |
| | | ); |
| | | for (Company company:companyList) { |
| | | Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size(); |
| | | InterestedListVO lw = new InterestedListVO(); |
| | | lw.setNum(count); |
| | | lw.setName(company.getName()); |
| | | lwList.add(lw); |
| | | } |
| | | } |
| | | |
| | | pcWorkPlatformDataVO.setLwList(lwList ); |
| | | }else if(Constants.equalsInteger(queryType,Constants.THREE)) { |
| | | MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(Notices.class); |