k94314517
2024-03-01 2d95605efd098e1b1c80f80021b259314b10f204
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -55,7 +55,8 @@
    @Override
    public void deleteById(Integer id) {
        retentionMapper.deleteById(id);
        retentionMapper.update(null,new UpdateWrapper<Retention>().lambda().set(Retention::getIsdeleted,Constants.ONE).eq(Retention::getId,id));
//        retentionMapper.deleteById(id);
    }
    @Override
@@ -200,20 +201,25 @@
            List<SystemDictData> list = systemDictDataMapper.list(codes);
            Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity()));
            retentionIPage.getRecords().stream().forEach(obj->{
                obj.setFaceImg(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
                        +dataMap.get(Constants.MEMBER_IMG).getCode()
                        +obj.getFaceImg());
                if(StringUtils.isNotBlank(obj.getFaceImg())){
                    obj.setFaceImgFull(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
                            +dataMap.get(Constants.MEMBER_IMG).getCode()
                            +obj.getFaceImg());
                }
                if(Objects.nonNull(obj.getType())){
                    if(!obj.getType().equals(Constants.memberType.visitor)){
                        obj.setExcelCompanyName(obj.getCompanyName());
                    }else{
                        obj.setExcelCompanyName(obj.getVisitCompanyName());
                    }
                }
            });
        }
        return PageData.from(retentionIPage);
    }
    /**
     * 导出
     *
     * @param pageWrap 分页对象
     * @return PageData<RetentionVo>
     */
    @Override
    public List<RetentionVo> findPageExcel(PageWrap<Retention> pageWrap) {
        IPage<Retention> retentionInfo = getDataInfo(pageWrap);
        List<RetentionVo> retentionVoList = new ArrayList<>();
@@ -254,17 +260,20 @@
        IPage<Retention> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Retention> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getId);
        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getCompanyId);
        queryWrapper.selectAll(Retention.class)
                .selectAs(Company::getName,Retention::getCompanyName);
        queryWrapper.like(number,Retention::getPhone,pageWrap.getModel().getKeyWords())
                .selectAs(Company::getName,Retention::getCompanyName)
                .select(" ( SELECT v.company_name FROM visits v WHERE v.member_id = t.member_id and v.status = "+Constants.VisitStatus.signin+" ORDER BY create_date DESC limit 1 ) as visitCompanyName ");
        queryWrapper.eq(Retention::getIsdeleted,Constants.ZERO)
                .like(number,Retention::getPhone,pageWrap.getModel().getKeyWords())
                .like((b||hasWord),Retention::getName,pageWrap.getModel().getKeyWords())
                .eq(Objects.nonNull(pageWrap.getModel().getType()),
                        Retention::getType,
                        pageWrap.getModel().getType())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                        Company::getName,
                        pageWrap.getModel().getCompanyName())
                .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                        p-> p.like(Company::getName, pageWrap.getModel().getCompanyName())
                                .or()
                                .exists(" select 1 from visits v where  v.member_id = t.member_id and v.company_name like '%"+pageWrap.getModel().getCompanyName()+"%' and v.status = "+Constants.VisitStatus.signin+""))
                .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
                        Retention::getEventDate,pageWrap.getModel().getStartTime())
                .le(Objects.nonNull(pageWrap.getModel().getEndTime()),