renkang
2024-11-22 973bc6167190ad45bb44feb7520ff7635fe90685
客户资料 巡检任务业务
已修改10个文件
417 ■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java 205 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;//客户人员
}
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("/page")
    @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));
    }
}
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;
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 = "身份证号(MD4加密)")
    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 = "门禁角色编码(关联device_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)
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;
}
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);
}
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);
    }
}
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;
/**
 * 运维客户信息表Service实现
@@ -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
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)
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);