From d1e55e8c1eecd46921ed43ad6525f37bb0593f07 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 24 五月 2024 18:13:36 +0800
Subject: [PATCH] 最新版本

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java |   82 +++++++++++++++++++++++++++++++---------
 1 files changed, 63 insertions(+), 19 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
index 91ef418..29a5552 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -18,6 +18,7 @@
 import com.doumee.dao.business.join.CarJoinMapper;
 import com.doumee.dao.business.join.ParkBookJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.CarsService;
 import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -28,10 +29,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-import java.util.UUID;
+import java.util.*;
 
 /**
  * 杞﹁締淇℃伅琛⊿ervice瀹炵幇
@@ -58,7 +56,7 @@
         if(loginUserInfo == null){
             loginUserInfo = model.getLoginUserInfo();
         }
-        if(StringUtils.isNotBlank(model.getCode())
+        if(StringUtils.isBlank(model.getCode())
             ||model.getType()==null
             ||model.getType()<0
             ||model.getType()>3
@@ -92,6 +90,7 @@
         model.setStatus(Constants.ZERO);
         model.setIsdeleted(Constants.ZERO);
         model.setHkStatus(Constants.ZERO);
+        model.setAuthStatus(Constants.ZERO);
         model.setRemark("");
 //        model.setHkDate(model.getCreateDate());
 //        model.setHkId(UUID.randomUUID().toString().replace("-",""));
@@ -116,14 +115,23 @@
         model.setEdirot(user.getId());
         model.setId(id);
         model.setIsdeleted(Constants.ONE);
+        carsMapper.update(null,new UpdateWrapper<Cars>().lambda()
+                .eq(Cars::getId,model.getId())
+                .set(Cars::getStartTime,null)
+                .set(Cars::getEndTime,null)
+                .set(Cars::getAuthStatus,Constants.ZERO)
+                .set(Cars::getIsdeleted,Constants.ONE)
+                .set(Cars::getEditDate,model.getEditDate())
+                .set(Cars::getEdirot,model.getEdirot())
+        );
         carsMapper.updateById(model);
     }
     public   boolean  dealCancelBookBiz(String code,Date date){
 
         List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>()
-                    .selectAll(ParkBook.class )
-                    .selectAs(Parks::getHkId,ParkBook::getParkHkId )
-                .leftJoin(Parks.class,Parks::getId,ParkBook::getParkHkId)
+                .selectAll(ParkBook.class )
+                .selectAs(Parks::getHkId,ParkBook::getParkHkId )
+                .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId)
                 .eq(ParkBook::getCarCode,code)
                 .eq(ParkBook::getIsdeleted,Constants.ZERO ));
         if(parkBooks !=null){
@@ -172,7 +180,7 @@
         if(loginUserInfo == null){
             loginUserInfo = model.getLoginUserInfo();
         }
-        if(StringUtils.isNotBlank(model.getCode())
+        if(StringUtils.isBlank(model.getCode())
                 ||model.getId()==null
                 ||model.getType()==null
                 ||model.getType()<0
@@ -211,8 +219,19 @@
         model.setIsdeleted(Constants.ZERO);
         model.setHkStatus(Constants.ZERO);
         model.setRemark("");
+        model.setAuthStatus(Constants.ZERO);
         dealCancelBookBiz(model.getCode(),model.getEditDate());
-        carsMapper.updateById(model);
+        carsMapper.update(null,new UpdateWrapper<Cars>().lambda()
+                .eq(Cars::getId,model.getId())
+                .set(Cars::getAuthStatus,Constants.ZERO)
+                .set(Cars::getType,model.getType())
+                .set(Cars::getCode,model.getCode())
+                .set(Cars::getEditDate,model.getEditDate())
+                .set(Cars::getEdirot,model.getEdirot())
+                .set(Cars::getMemberId,model.getMemberId())
+                .set(Cars::getStartTime,null)
+                .set(Cars::getEndTime,null)
+        );
     }
 
     @Override
@@ -247,31 +266,56 @@
     public PageData<Cars> findPage(PageWrap<Cars> pageWrap) {
         IPage<Cars> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Cars> queryWrapper = new MPJLambdaWrapper<>();
-
         queryWrapper.selectAll(Cars.class);
-        queryWrapper.selectAs(Parks::getName,Cars::getParksName);
         queryWrapper.selectAs(Member::getType,Cars::getMemberType);
         queryWrapper.selectAs(Member::getName,Cars::getMemberName);
+        queryWrapper.selectAs(SystemUser::getRealname,Cars::getEditorName);
         queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone);
-        queryWrapper.selectAs(Company::getName,Cars::getCompanyName);
-
-        queryWrapper.leftJoin(Parks.class,Parks::getId,Cars::getParkId);
+        queryWrapper.selectAs(Company::getCompanyNamePath,Cars::getCompanyName);
         queryWrapper.leftJoin(Member.class,Member::getId,Cars::getMemberId);
+        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Cars::getEdirot);
         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
-
-
         queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
                 .or().like(Member::getPhone,pageWrap.getModel().getMemberName()));
-        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getCompanyNamePath,pageWrap.getModel().getCompanyName());
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberType()),Member::getType,pageWrap.getModel().getMemberType());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),Cars::getCode,pageWrap.getModel().getCode());
         queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO);
-
+        queryWrapper.eq(pageWrap.getModel().getType()!=null,Cars::getType,pageWrap.getModel().getType());
+        queryWrapper.eq(pageWrap.getModel().getAuthStatus()!=null,Cars::getAuthStatus,pageWrap.getModel().getAuthStatus());
         queryWrapper.orderByDesc(Cars::getCreateDate);
         IPage<Cars> result = carJoinMapper.selectJoinPage(page, Cars.class,queryWrapper);
+        if(result!=null && result.getRecords()!=null && result.getRecords().size()>0){
+            List<String> codes = new ArrayList<>();
+            for(Cars cars :result.getRecords()){
+                codes.add(cars.getCode());
+            }
+            List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>()
+                    .selectAll(ParkBook.class)
+                    .selectAs(Parks::getName,ParkBook::getParksName)
+                    .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId)
+                    .in(ParkBook::getCarCode,codes)
+                    .eq(ParkBook::getIsdeleted,Constants.ZERO) );
+            for(Cars cars :result.getRecords()){
+               cars.setParkBookList(getParkbookListByCode(cars.getCode(),parkBooks));
+            }
+        }
         return PageData.from(result);
     }
 
+    private List<ParkBook> getParkbookListByCode(String code, List<ParkBook> parkBooks) {
+        List<ParkBook> list =null;
+        for(ParkBook p : parkBooks){
+            if(StringUtils.equals(p.getCarCode(),code)){
+                if(list == null){
+                    list = new ArrayList<>();
+                }
+                list.add(p);
+            }
+        }
+        return  list;
+    }
+
     @Override
     public long count(Cars cars) {
         QueryWrapper<Cars> wrapper = new QueryWrapper<>(cars);

--
Gitblit v1.9.3