From 1465eb9dc666715143d75a6ffcac4312f923e947 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 17 一月 2025 18:05:11 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 47 insertions(+), 7 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java index b095a33..cfdece5 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.lang.PatternPool; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.ReUtil; +import com.doumee.dao.business.vo.RetentionCarsVO; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Constants; @@ -216,6 +217,44 @@ } return PageData.from(retentionIPage); } + @Override + public PageData<RetentionCarsVO> findPageForCars(PageWrap<RetentionCarsVO> pageWrap) { + IPage<RetentionCarsVO> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + MPJLambdaWrapper<Retention> queryWrapper = new MPJLambdaWrapper<>(); + Utils.MP.blankToNull(pageWrap.getModel()); + queryWrapper.select(Retention::getId,Retention::getCarNo,Retention::getCreateDate,Retention::getCarType,Retention::getType) + .leftJoin(Member.class,Member::getId,Retention::getMemberId) + .leftJoin(Member.class,Member::getId,Retention::getMemberId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .selectAs(Company::getCompanyNamePath,Retention::getCompanyName) + .selectAs(Member::getName,Retention::getName) + .selectAs(Member::getPhone,Retention::getPhone) + .selectAs(Member::getVisitCompanyName,Retention::getVisitCompanyName) + .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->{ + w.like( Retention::getPhone,pageWrap.getModel().getKeyWords()) + .or().like( Retention::getName,pageWrap.getModel().getKeyWords()); }) + .eq(Retention::getType,3) + .eq(Retention::getIsdeleted,Constants.ZERO) + .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), + p-> p.like(Company::getName, pageWrap.getModel().getCompanyName()) + .or().like(Member::getVisitCompanyName, pageWrap.getModel().getCompanyName())) + .eq(Objects.nonNull(pageWrap.getModel().getCarType()), + Retention::getCarType,pageWrap.getModel().getCarType()) + .like(Objects.nonNull(pageWrap.getModel().getCarNo()), + Retention::getCarNo,pageWrap.getModel().getCarNo()) + .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), + Retention::getCreateDate,pageWrap.getModel().getStartTime()) + .le(Objects.nonNull(pageWrap.getModel().getEndTime()), + Retention::getCreateDate,pageWrap.getModel().getEndTime()); + queryWrapper.orderByDesc(Retention::getCreateDate); + IPage<RetentionCarsVO> retentionIPage = retentionJoinMapper.selectJoinPage(page, RetentionCarsVO.class, queryWrapper); + if(retentionIPage!=null && retentionIPage.getRecords()!=null){ + for(RetentionCarsVO model : retentionIPage.getRecords()){ + model.setCompanyName(StringUtils.defaultString(model.getCompanyName(),model.getVisitCompanyName())); + } + } + return PageData.from(retentionIPage); + } @Override @@ -250,11 +289,11 @@ private IPage<Retention> getDataInfo(PageWrap<Retention> pageWrap) { //鏄惁鏄暟瀛� - boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); - //鏄惁鍖呭惈涓枃 - boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); - //鏄惁鍖呭惈鑻辨枃 - boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); +// boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); +// //鏄惁鍖呭惈涓枃 +// boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); +// //鏄惁鍖呭惈鑻辨枃 +// boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); IPage<Retention> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<Retention> queryWrapper = new MPJLambdaWrapper<>(); @@ -265,8 +304,9 @@ .selectAs(Company::getType,Retention::getCompanyType) .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()) + .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->{ + w.like( Retention::getPhone,pageWrap.getModel().getKeyWords()) + .or().like( Retention::getName,pageWrap.getModel().getKeyWords()); }) .eq(Objects.nonNull(pageWrap.getModel().getType()), Retention::getType, pageWrap.getModel().getType()) -- Gitblit v1.9.3