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