k94314517
2024-02-27 481f30f83f86721d913616f221f7bb74f684b6a0
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -665,9 +665,8 @@
        queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
        queryWrapper.selectAll(Member.class)
                .selectAs(Company::getName,MemberInfoDTO::getCompanyName)
                .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 and v.status = 2  ) as visitsCount")
                .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0  and v.status = 2  order by CREATE_DATE limit 1) as visitsLastDate");
                .selectAs(Member::getLastVisitDate,MemberInfoDTO::getVisitsLastDate)
                .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 and v.status  in (7,8) ) as visitsCount");
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Member::getName,pageWrap.getModel().getName())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getPhone()),Member::getPhone,pageWrap.getModel().getPhone())
                .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), ms->ms.like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName())
@@ -701,8 +700,8 @@
                .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 order by CREATE_DATE desc  limit 1) as visitsLastDate");
                queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCreaterId()),Member::getEditor,pageWrap.getModel().getCreaterId());
        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Member::getType,pageWrap.getModel().getType());
        queryWrapper
                queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Member::getType,pageWrap.getModel().getType());
                queryWrapper
                .and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Member::getPhone,pageWrap.getModel().getName())
                        .or().like(Member::getName,pageWrap.getModel().getName()))
                .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
@@ -710,7 +709,7 @@
                        .or().like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName()))
                .like(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo,pageWrap.getModel().getIdcardNo())
                .eq(Member::getStatus,Constants.Status.FREEZE.getValue())
                .eq(pageWrap.getModel().getCompanyId()!=null,Company::getId,pageWrap.getModel().getCompanyId())
                .eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyId()),Company::getId,pageWrap.getModel().getCompanyId())
                .eq(Objects.nonNull(pageWrap.getModel().getCode()),Member::getCode,pageWrap.getModel().getCode())
                .orderByDesc(Member::getCreateDate);
@@ -997,8 +996,13 @@
            stagingHeadVO.setLwCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.lw_visitor)).count());
            stagingHeadVO.setVisitorCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.visitor)).count());
        }
        //TODO
        //在场车辆
        stagingHeadVO.setPresenceCarCount(retentionJoinMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,3)));
        //长期车辆
        stagingHeadVO.setLongCarCount(retentionJoinMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,3)
                .exists(" select 1 from park_book p where p.origin = 0 and p.car_code = retention.car_no and p.ISDELETED = 0  ")
        ));
        stagingHeadVO.setVisitorCarCount(stagingHeadVO.getPresenceCarCount() - stagingHeadVO.getLongCarCount());
        stagingHeadVO.setSupplierCount(companyMapper.selectCount(new QueryWrapper<Company>().lambda().eq(Company::getIsdeleted,Constants.ZERO)));
        return stagingHeadVO;
    }
@@ -1015,6 +1019,7 @@
        );
        List<Map<String,Object>> retentionMaps = retentionJoinMapper.selectMaps(new MPJLambdaWrapper<Retention>()
                        .select(" count(1) as memberCount, type as memberType ")
                        .ne(Retention::getType,3)
                .groupBy(Retention::getType)
        );
        stagingHeadVO.setCompanyUsers(companyMaps);