k94314517
2025-07-24 37c26c912cf99adde8351a95daad00f0efaeaefc
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1296,6 +1296,7 @@
        queryWrapper.selectAll(Visits.class);
        queryWrapper.select("  ( select count(distinct(v.CAR_NOS)) from visits v where v.PARENT_ID = t.ID and v.CAR_NOS is not null  and v.CAR_NOS != ''  and v.CAR_NOS != t.CAR_NOS ) as carNum  ");
        queryWrapper.select("  ( select count(distinct(v.id)) from retention v where v.member_id = t.member_id and v.type=1 )",Visits::getRetentionNum);
        queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
        queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
        queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
@@ -1598,12 +1599,15 @@
    @Override
    public void  visitsSelfCancel(Integer visitId,Integer memberId){
    public void  visitsSelfCancel(Integer visitId,Integer memberId,String openid){
        Visits visits = visitsMapper.selectById(visitId);
        if(Objects.isNull(visits)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!(Constants.equalsInteger(memberId,visits.getMemberId()))){
/*        if(!(Constants.equalsInteger(memberId,visits.getMemberId()))){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"无此操作权限");
        }*/
        if(!StringUtils.equals(openid,visits.getOpenid())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"无此操作权限");
        }
        this.visitsCancelBiz(visits);
@@ -1617,7 +1621,8 @@
        }
        if(!(
                 CollectionUtils.isNotEmpty(loginUserInfo.getPermissions()) &&
                        loginUserInfo.getPermissions().stream().filter(i->i.equals("business:visits:cancel")).collect(Collectors.toList()).size()>0)){
                        loginUserInfo.getPermissions().stream().filter(i->i.equals("business:visits:cancel"))
                                .collect(Collectors.toList()).size()>0)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"无此操作权限");
        }
        this.visitsCancelBiz(visits);
@@ -1634,7 +1639,8 @@
                .eq(Visits::getId,visits.getId());
        //访客报备
        if(Constants.equalsInteger(visits.getType(),Constants.TWO)){
            if(!(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck)
            if(!(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)
                    ||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck)
                    || Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.pass))){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"访客记录状态错误,无法进行该操作");
            }
@@ -1895,8 +1901,9 @@
//                    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)
                                    Objects.isNull(i.getCarCode())
                                            && Constants.equalsInteger(i.getInOrOut(),Constants.ZERO)
                                            && Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days)
                            )
                            .map(i->i.getMemberPhone())
                            .collect(Collectors.toList());
@@ -1910,6 +1917,8 @@
                visitVO.setName(days);
                weekVisitList.add(visitVO);
                InterestedListVO carVO = new InterestedListVO();
                carVO.setNum(Constants.ZERO);
                carVO.setName(days);
@@ -1919,19 +1928,19 @@
//                    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)
                                    Objects.nonNull(i.getCarCode())
                                            && Constants.equalsInteger(i.getInOrOut(),Constants.ZERO)
                                            &&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days)
                            )
                            .map(i->i.getMemberPhone())
                            .map(i->i.getCarCode())
                            .collect(Collectors.toList());
                    if(CollectionUtils.isNotEmpty(carCodeList)){
                        carVO.setNum(new HashSet<String>(carCodeList).size());
                    }
                }
                if(Objects.isNull(carVO.getNum())){
                    visitVO.setNum(Constants.ZERO);
                    carVO.setNum(Constants.ZERO);
                }
                weekVisitList.add(visitVO);
                weekCarList.add(carVO);
            }
            pcWorkPlatformDataVO.setWeekVisitList(weekVisitList );
@@ -1939,6 +1948,7 @@
            List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
                    .eq(Company::getIsdeleted,Constants.ZERO)
                    .orderByAsc(Company::getSortnum)
            );
            if(CollectionUtils.isNotEmpty(companyList)){