From 16f010aadd3ceb3c51fb97c2f6def3f5944fd54c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 22 十一月 2024 15:52:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                    |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java                  |    9 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java                 |   40 +++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java     |  205 +++++++++++++++--------------
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java         |  105 +++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java                   |   13 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java   |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java |   22 +-
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java                     |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java                       |   18 +
 10 files changed, 301 insertions(+), 116 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 9113018..43c1651 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -516,6 +516,7 @@
     int driver = 0;//鍙告満浜哄憳
     int visitor = 1;//鏅�氳瀹�
     int internal = 2;//鍐呴儴浜哄憳
+    int customer = 3;//瀹㈡埛浜哄憳
 }
 
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
index f2d0c6f..bfcd847 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -372,4 +372,44 @@
         return ApiResponse.success(null);
     }
 
+
+
+    /********************************************************闃滃畞杩愮淮*********************************************************************************************/
+
+    @PreventRepeat
+    @ApiOperation("闃滃畞杩愮淮 - 鏂板缓")
+    @PostMapping("/ywCreate")
+    @CloudRequiredPermission("business:member:create")
+    public ApiResponse ywCreate(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        member.setLoginUserInfo(this.getLoginUser(token));
+        memberService.create(member);
+        return ApiResponse.success("鎿嶄綔鎴愬姛锛�");
+    }
+
+
+    @ApiOperation("闃滃畞杩愮淮 -  鏍规嵁ID淇敼")
+    @PostMapping("/ywUpdateById")
+    @CloudRequiredPermission("business:member:update")
+    public ApiResponse ywUpdateById(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        member.setLoginUserInfo(this.getLoginUser(token));
+        memberService.ywUpdate(member);
+        return ApiResponse.success(null);
+    }
+
+
+    @ApiOperation("闃滃畞杩愮淮 - 鏌ヨ鍒楄〃")
+    @PostMapping("/ywList")
+    @CloudRequiredPermission("business:member:query")
+    public ApiResponse<List<Member>> ywList (@RequestBody Member model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        return ApiResponse.success(memberService.ywList(model));
+    }
+
+
+    @ApiOperation("闃滃畞杩愮淮 - 鍒嗛〉鏌ヨ")
+    @PostMapping("/ywFindPage")
+    @CloudRequiredPermission("business:member:query")
+    public ApiResponse<PageData<Member>> ywFindPage (@RequestBody PageWrap<Member> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        return ApiResponse.success(memberService.ywFindPage(pageWrap));
+    }
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
index 7314405..4f5d50b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -68,7 +68,7 @@
      //@ExcelColumn(name="鍥炬爣")
     private String imgurl;
 
-    @ApiModelProperty(value = "绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷 2杩愮淮-瀹㈡埛琛屼笟鍒嗙被 3杩愮淮-宸ュ崟鍒嗙被 4杩愮淮-宸℃鍖哄煙 5杩愮淮-璁惧鍒嗙被" )
+    @ApiModelProperty(value = "绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷 2杩愮淮-瀹㈡埛琛屼笟鍒嗙被 3杩愮淮-宸ュ崟鍒嗙被 4杩愮淮-宸℃鍖哄煙 5杩愮淮-璁惧鍒嗙被 6=瀹㈡埛琛屼笟" )
      //@ExcelColumn(name="绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷")
     private Integer type;
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index b4664fe..c40d545 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -64,6 +64,10 @@
     @ApiModelProperty(value = "绫诲瀷 0鍙告満浜哄憳 1鏅�氳瀹�  2鍐呴儴浜哄憳 3瀹㈡埛鑱旂郴浜�", example = "1")
     private Integer type;
 
+    @ApiModelProperty(value = "韬唤 0鑰佹澘 1瓒呯骇绠$悊鍛� 2鍛樺伐", example = "1")
+    @ExcelColumn(name="韬唤 0鑰佹澘 1瓒呯骇绠$悊鍛� 2鍛樺伐")
+    private Integer highCheckor;
+
     @ApiModelProperty(value = "璁垮鍚嶇О/鍐呴儴浜哄憳")
     @ExcelColumn(name="濮撳悕",index = 1,width = 8)
     private String name;
@@ -130,6 +134,9 @@
     private Date birthday;
 
 
+    @ApiModelProperty(value = "瀹㈡埛缂栫爜锛堝叧鑱� YW_CUSTOMER )锛�", example = "1")
+    private Integer customerId;
+
     @ApiModelProperty(value = "韬唤璇佸彿锛圡D4鍔犲瘑锛�")
     private String idcardNo;
     @ApiModelProperty(value = "淇敼鐨勮韩浠借瘉鍙� ")
@@ -169,8 +176,6 @@
     private String hkId;
 
 
-
-
     @ApiModelProperty(value = "娴峰悍鏈�杩戝悓姝ユ椂闂�")
     private Date hkDate;
 
@@ -199,10 +204,6 @@
     @ApiModelProperty(value = "鐧婚檰瀵嗙爜")
     private String passward;
 
-
-    @ApiModelProperty(value = "鏄惁楂樼骇瀹℃壒浜� 0鍚� 1鏄�", example = "1")
-    private Integer highCheckor;
-
     @ApiModelProperty(value = "闂ㄧ瑙掕壊缂栫爜锛堝叧鑱攄evice_role),澶氫釜鑻辨枃閫楀彿闅斿紑", example = "1")
     private String roleId;
 
@@ -215,6 +216,11 @@
     @ApiModelProperty(value = "璁垮鍏徃鍚嶇О")
     private String visitCompanyName;
 
+    @ApiModelProperty(value = "閭")
+    @ExcelColumn(name="閭")
+    private String email;
+
+
 
     @ApiModelProperty(value = "鏈�鍚庢搷浣滀汉")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
index 01f5ad9..bfbd718 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
@@ -141,4 +142,16 @@
     @ExcelColumn(name="鑱旂郴浜虹紪鐮侊紙鍏宠仈member锛�")
     private Integer memberId;
 
+    @ApiModelProperty(value = "鏈夋晥鏈�")
+    @ExcelColumn(name="鏈夋晥鏈�")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date validity;
+
+    @ApiModelProperty(value = "榛樿鍛樺伐淇℃伅")
+    @TableField(exist = false)
+    private Member member;
+
+    @ApiModelProperty(value = "鍛樺伐鍚嶇О")
+    @TableField(exist = false)
+    private String memberName;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
index 24554db..41cb5a8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -210,4 +210,13 @@
 
 
     List<Member>  findDriveList(Member model);
+
+    /********************************************************闃滃畞杩愮淮*********************************************************************************************/
+    Member ywCreate(Member member);
+
+    Member ywUpdate(Member member);
+
+    List<Member> ywList(Member member);
+
+    PageData<Member> ywFindPage(PageWrap<Member> pageWrap);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index cb9484e..12428ac 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -128,6 +128,9 @@
     
     @Value("${debug_model}")
     private Boolean isDebug;
+
+
+
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Member create(Member member) {
@@ -2100,6 +2103,108 @@
 
     }
 
+    /********************************************************闃滃畞杩愮淮*********************************************************************************************/
 
+    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public Member ywCreate(Member member) {
+        if(Objects.isNull(member)
+        || Objects.isNull(member.getCustomerId())
+        || StringUtils.isBlank(member.getName())
+        || StringUtils.isBlank(member.getPhone())
+        || Objects.isNull(member.getHighCheckor())
+        || Objects.isNull(member.getIdcardType())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = member.getLoginUserInfo();
+        member.setCreator(loginUserInfo.getId());
+        member.setCreateDate(new Date());
+        member.setType(Constants.memberType.customer);
+        member.setStatus(Constants.ZERO);
+        member.setIsdeleted(Constants.ZERO);
+        member.setStatus(Constants.ZERO);
+        this.checkYwMember(member);
+        memberMapper.insert(member);
+        return member;
+    }
+
+    @Override
+    public Member ywUpdate(Member member) {
+        if(Objects.isNull(member)
+                || Objects.isNull(member.getCustomerId())
+                || Objects.isNull(member.getId())
+                || StringUtils.isBlank(member.getName())
+                || StringUtils.isBlank(member.getPhone())
+                || Objects.isNull(member.getHighCheckor())
+                || Objects.isNull(member.getIdcardType())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = member.getLoginUserInfo();
+        member.setEditor(loginUserInfo.getId());
+        member.setCustomerId(null);
+        member.setEditDate(new Date());
+        member.setType(Constants.memberType.customer);
+        member.setStatus(Constants.ZERO);
+        member.setIsdeleted(Constants.ZERO);
+        member.setStatus(Constants.ZERO);
+        this.checkYwMember(member);
+        memberMapper.updateById(member);
+        return member;
+    }
+
+
+    @Override
+    public List<Member> ywList(Member member) {
+        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>()
+                .lambda().eq(Member::getIsdeleted,Constants.ZERO)
+                        .eq(Member::getStatus,Constants.ZERO)
+                .eq(Member::getType,Constants.memberType.customer)
+        );
+        return memberList;
+    }
+
+
+    public void checkYwMember(Member member){
+        if (StringUtils.isBlank(member.getPhone())||!PhoneUtil.isPhone(member.getPhone())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢佃瘽鍙风爜鏍煎紡鏈夎");
+        }
+        if (StringUtils.isNotBlank(member.getIdcardNo()) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO)  && !IdcardUtil.isValidCard(member.getIdcardNo())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"韬唤璇佸彿鏍煎紡鏈夎");
+        }
+        if(StringUtils.isNotBlank(member.getIdcardNo() ) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO) ){
+            if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                            .ne(Objects.nonNull(member.getId()),Member::getId,member.getId())
+                    .eq(Member::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()))
+                    .eq(Member::getIsdeleted,Constants.ZERO)) >0){
+                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "韬唤璇佸彿銆�"+member.getIdcardNo()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
+            }
+        }
+        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                .ne(Objects.nonNull(member.getId()),Member::getId,member.getId())
+                .eq(Member::getPhone,  member.getPhone())
+                .eq(Member::getIsdeleted,Constants.ZERO) ) >0){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙枫��"+member.getPhone()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
+        }
+    }
+
+
+    @Override
+    public PageData<Member> ywFindPage(PageWrap<Member> pageWrap) {
+        IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<Member>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        Member model = pageWrap.getModel();
+        IPage iPage = memberMapper.selectJoinPage(page,Member.class,new MPJLambdaWrapper<Member>()
+                .eq(Member::getIsdeleted,Constants.ZERO)
+                .eq(Member::getType,Constants.memberType.customer)
+                .eq(Objects.nonNull(model)&&Objects.nonNull(model.getCustomerId()),Member::getCustomerId,model.getCustomerId())
+                .and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),i->i.like(Member::getName,model.getName()).or().like(
+                        Member::getPhone,model.getName()
+                ))
+        );
+        return PageData.from(iPage);
+    }
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
index 840edc8..8d5464e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
@@ -1,21 +1,36 @@
 package com.doumee.service.business.impl;
 
+import cn.emay.sdk.util.StringUtil;
+import cn.hutool.core.util.IdcardUtil;
+import cn.hutool.core.util.PhoneUtil;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DESUtil;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.MemberMapper;
 import com.doumee.dao.business.YwCustomerMapper;
+import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.YwCustomer;
 import com.doumee.service.business.YwCustomerService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 杩愮淮瀹㈡埛淇℃伅琛⊿ervice瀹炵幇
@@ -28,11 +43,68 @@
     @Autowired
     private YwCustomerMapper ywCustomerMapper;
 
+    @Autowired
+    private MemberMapper memberMapper;
+
     @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Integer create(YwCustomer ywCustomer) {
+        if(Objects.isNull(ywCustomer)
+            || Objects.nonNull(ywCustomer.getType())
+            || StringUtils.isBlank(ywCustomer.getName())
+            || Objects.isNull(ywCustomer.getMember())
+            || StringUtils.isBlank(ywCustomer.getMember().getName())
+            || StringUtils.isBlank(ywCustomer.getMember().getPhone())
+            || Objects.isNull(ywCustomer.getMember().getHighCheckor())
+            || Objects.isNull(ywCustomer.getMember().getIdcardType())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = ywCustomer.getLoginUserInfo();
+        ywCustomer.setStatus(Constants.ZERO);
+        ywCustomer.setIsdeleted(Constants.ZERO);
+        ywCustomer.setCreator(loginUserInfo.getId());
+        ywCustomer.setCreateDate(new Date());
         ywCustomerMapper.insert(ywCustomer);
+
+        Member member = ywCustomer.getMember();
+        member.setCreator(loginUserInfo.getId());
+        member.setCreateDate(new Date());
+        member.setIsdeleted(Constants.ZERO);
+        member.setStatus(Constants.ZERO);
+        member.setCompanyType(ywCustomer.getId());
+        member.setType(Constants.memberType.customer);
+        this.checkMember(member);
+        memberMapper.insert(member);
+
+        ywCustomer.setMemberId(member.getId());
+        ywCustomerMapper.updateById(ywCustomer);
+
         return ywCustomer.getId();
     }
+
+
+    public void checkMember(Member member){
+        if (StringUtils.isBlank(member.getPhone())||!PhoneUtil.isPhone(member.getPhone())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢佃瘽鍙风爜鏍煎紡鏈夎");
+        }
+        if (StringUtils.isNotBlank(member.getIdcardNo()) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO)  && !IdcardUtil.isValidCard(member.getIdcardNo())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"韬唤璇佸彿鏍煎紡鏈夎");
+        }
+        if(StringUtils.isNotBlank(member.getIdcardNo() ) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO) ){
+            if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                    .eq(Member::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()))
+                    .eq(Member::getIsdeleted,Constants.ZERO)) >0){
+                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "韬唤璇佸彿銆�"+member.getIdcardNo()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
+            }
+        }
+        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                .eq(Member::getPhone,  member.getPhone())
+                .eq(Member::getIsdeleted,Constants.ZERO) ) >0){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙枫��"+member.getPhone()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
+        }
+    }
+
 
     @Override
     public void deleteById(Integer id, LoginUserInfo user) {
@@ -55,6 +127,17 @@
 
     @Override
     public void updateById(YwCustomer ywCustomer) {
+        if(Objects.isNull(ywCustomer)
+                || Objects.nonNull(ywCustomer.getType())
+                || StringUtils.isBlank(ywCustomer.getName())
+                || Objects.isNull(ywCustomer.getMemberId())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+
+        LoginUserInfo loginUserInfo = ywCustomer.getLoginUserInfo();
+        ywCustomer.setEditor(loginUserInfo.getId());
+        ywCustomer.setEditDate(new Date());
         ywCustomerMapper.updateById(ywCustomer);
     }
 
@@ -73,6 +156,17 @@
         return ywCustomerMapper.selectById(id);
     }
 
+    public YwCustomer getDetail(Integer id) {
+        YwCustomer ywCustomer = ywCustomerMapper.selectById(id);
+        if(Objects.isNull(ywCustomer)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        Member member = memberMapper.selectById(ywCustomer.getMemberId());
+        if(Objects.nonNull(member)){
+            ywCustomer.setMember(member);
+        }
+        return ywCustomer;
+    }
     @Override
     public YwCustomer findOne(YwCustomer ywCustomer) {
         QueryWrapper<YwCustomer> wrapper = new QueryWrapper<>(ywCustomer);
@@ -88,106 +182,19 @@
     @Override
     public PageData<YwCustomer> findPage(PageWrap<YwCustomer> pageWrap) {
         IPage<YwCustomer> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<YwCustomer> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<YwCustomer> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getId, pageWrap.getModel().getId());
-        }
-        if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getCreator, pageWrap.getModel().getCreator());
-        }
-        if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(YwCustomer::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(YwCustomer::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
-        }
-        if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getEditor, pageWrap.getModel().getEditor());
-        }
-        if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(YwCustomer::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(YwCustomer::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
-        }
-        if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getIsdeleted, pageWrap.getModel().getIsdeleted());
-        }
-        if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getRemark, pageWrap.getModel().getRemark());
-        }
-        if (pageWrap.getModel().getIndustryId() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getIndustryId, pageWrap.getModel().getIndustryId());
-        }
-        if (pageWrap.getModel().getType() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getType, pageWrap.getModel().getType());
-        }
-        if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getName, pageWrap.getModel().getName());
-        }
-        if (pageWrap.getModel().getPhone() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getPhone, pageWrap.getModel().getPhone());
-        }
-        if (pageWrap.getModel().getIdcardNo() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getIdcardNo, pageWrap.getModel().getIdcardNo());
-        }
-        if (pageWrap.getModel().getIdcardDecode() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getIdcardDecode, pageWrap.getModel().getIdcardDecode());
-        }
-        if (pageWrap.getModel().getCode() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getCode, pageWrap.getModel().getCode());
-        }
-        if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getStatus, pageWrap.getModel().getStatus());
-        }
-        if (pageWrap.getModel().getHighCheckor() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getHighCheckor, pageWrap.getModel().getHighCheckor());
-        }
-        if (pageWrap.getModel().getLastLoginDate() != null) {
-            queryWrapper.lambda().ge(YwCustomer::getLastLoginDate, Utils.Date.getStart(pageWrap.getModel().getLastLoginDate()));
-            queryWrapper.lambda().le(YwCustomer::getLastLoginDate, Utils.Date.getEnd(pageWrap.getModel().getLastLoginDate()));
-        }
-        if (pageWrap.getModel().getLoginNum() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getLoginNum, pageWrap.getModel().getLoginNum());
-        }
-        if (pageWrap.getModel().getUserId() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getUserId, pageWrap.getModel().getUserId());
-        }
-        if (pageWrap.getModel().getIdcardType() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getIdcardType, pageWrap.getModel().getIdcardType());
-        }
-        if (pageWrap.getModel().getAccountBank() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getAccountBank, pageWrap.getModel().getAccountBank());
-        }
-        if (pageWrap.getModel().getAccountNo() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getAccountNo, pageWrap.getModel().getAccountNo());
-        }
-        if (pageWrap.getModel().getAccountPhone() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getAccountPhone, pageWrap.getModel().getAccountPhone());
-        }
-        if (pageWrap.getModel().getCreditCard() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getCreditCard, pageWrap.getModel().getCreditCard());
-        }
-        if (pageWrap.getModel().getFpType() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getFpType, pageWrap.getModel().getFpType());
-        }
-        if (pageWrap.getModel().getAccountAddr() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getAccountAddr, pageWrap.getModel().getAccountAddr());
-        }
-        if (pageWrap.getModel().getIdentityType() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getIdentityType, pageWrap.getModel().getIdentityType());
-        }
-        if (pageWrap.getModel().getEmail() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getEmail, pageWrap.getModel().getEmail());
-        }
-        if (pageWrap.getModel().getMemberId() != null) {
-            queryWrapper.lambda().eq(YwCustomer::getMemberId, pageWrap.getModel().getMemberId());
-        }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
-        return PageData.from(ywCustomerMapper.selectPage(page, queryWrapper));
+        YwCustomer model = pageWrap.getModel();
+        IPage iPage = ywCustomerMapper.selectJoinPage(page,YwCustomer.class,
+                queryWrapper
+                .selectAll(YwCustomer.class)
+                .selectAs(Member::getName,YwCustomer::getMemberName)
+                .leftJoin(Member.class,Member::getId,YwCustomer::getMemberId)
+                .eq(YwCustomer::getIsdeleted,Constants.ZERO)
+                .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),YwCustomer::getName,model.getName())
+                .orderByDesc(YwCustomer::getCreateDate)
+        );
+        return PageData.from(iPage);
     }
 
     @Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
index 80565ec..f5b6603 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
@@ -178,7 +178,7 @@
         Utils.MP.blankToNull(pageWrap.getModel());
         YwPatrolLine model = pageWrap.getModel();
         queryWrapper.selectAll(YwPatrolLine.class)
-                .select(" ( select count(1) from  yw_line_point y where y.LINE_ID = yw_patrol_line.id ) as lineAmount ")
+                .select(" ( select count(1) from  yw_line_point y where y.LINE_ID = t.id ) as lineAmount ")
                 .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),YwPatrolLine::getName,model.getName())
                 .eq(YwPatrolLine::getIsdeleted,Constants.ZERO)
                 .orderByDesc(YwPatrolLine::getCreateDate)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
index 1ddf1ad..d85a2fe 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -73,7 +73,7 @@
         ywPatrolScheme.setCode(this.getNextCode());
         ywPatrolSchemeMapper.insert(ywPatrolScheme);
 
-        this.createThreeDaysData(ywPatrolScheme,loginUserInfo);
+        this.createThreeDaysData(ywPatrolScheme);
         return ywPatrolScheme.getId();
     }
 
@@ -89,11 +89,11 @@
 
 
 
-    public void createThreeDaysData(YwPatrolScheme ywPatrolScheme,LoginUserInfo loginUserInfo){
+    public void createThreeDaysData(YwPatrolScheme ywPatrolScheme){
         //寰幆鐢熸垚涓夊ぉ鍐呯殑鏁版嵁
         for (int i = 0; i < 3; i++) {
             Date schemeDate = DateUtil.getXDayAfterDate(new Date(),i);
-            this.createTask(schemeDate,ywPatrolScheme,loginUserInfo);
+            this.createTask(schemeDate,ywPatrolScheme);
         }
     }
 
@@ -102,7 +102,7 @@
      * @param schemeDate
      * @param ywPatrolScheme
      */
-    public void createTask(Date schemeDate,YwPatrolScheme ywPatrolScheme,LoginUserInfo loginUserInfo){
+    public void createTask(Date schemeDate,YwPatrolScheme ywPatrolScheme){
         if(ywPatrolScheme.getStartDate().getTime() > schemeDate.getTime()
             || ywPatrolScheme.getEndDate().getTime() < schemeDate.getTime() ){
             return;
@@ -150,7 +150,7 @@
         String nextCode = StringUtils.leftPad(codeSn.toString(),3,"0");
         YwPatrolTask ywPatrolTask = new YwPatrolTask();
         ywPatrolTask.setCreateDate(new Date());
-        ywPatrolTask.setCreator(loginUserInfo.getId());
+        ywPatrolTask.setCreator(ywPatrolScheme.getCreator());
         ywPatrolTask.setIsdeleted(Constants.ZERO);
         ywPatrolTask.setStatus(Constants.patrolTaskStatus.waitStart);
         ywPatrolTask.setSchemeId(ywPatrolScheme.getId()); 
@@ -167,7 +167,7 @@
             //鐢熸垚浠诲姟鏁版嵁
             YwPatrolTaskRecord ywPatrolTaskRecord = new YwPatrolTaskRecord();
             ywPatrolTaskRecord.setCreateDate(new Date());
-            ywPatrolTaskRecord.setCreator(loginUserInfo.getId());
+            ywPatrolTaskRecord.setCreator(ywPatrolScheme.getCreator());
             ywPatrolTaskRecord.setIsdeleted(Constants.ZERO);
             ywPatrolTaskRecord.setStatus(Constants.ZERO);
             ywPatrolTaskRecord.setSchemeId(ywPatrolScheme.getId());
@@ -237,7 +237,7 @@
         ywPatrolScheme.setEditor(loginUserInfo.getId());
         ywPatrolSchemeMapper.updateById(ywPatrolScheme);
         if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){
-            this.createThreeDaysData(ywPatrolScheme,loginUserInfo);
+            this.createThreeDaysData(ywPatrolScheme);
         }
     }
 
@@ -281,8 +281,12 @@
                 .leftJoin(" system_user t2 on t.creator =  t2.id  ")
                 .eq(YwPatrolScheme::getIsdeleted,Constants.ZERO)
                 .like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle())
-                .ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
-                .le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
+                //鏌ヨ鏈夋椂娈典氦闆嗙殑鏁版嵁
+                .apply(Objects.nonNull(model.getStartDate())&&Objects.nonNull(model.getEndDate()),
+                        " t.START_DATE <= '"+Utils.Date.getStart(pageWrap.getModel().getEndDate())+"' and t.END_DATE >= '"+Utils.Date.getStart(pageWrap.getModel().getStartDate())+"' "
+                )
+//                .ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
+//                .le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
                 .orderByDesc(YwPatrolScheme::getCreateDate)
         ;
         IPage<YwPatrolScheme> iPage = ywPatrolSchemeMapper.selectJoinPage(page,YwPatrolScheme.class,queryWrapper);

--
Gitblit v1.9.3