|  |  | 
 |  |  |                 .leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId) | 
 |  |  |                 .leftJoin(Company.class,Company::getId,Member::getCompanyId) | 
 |  |  |                 .notIn(CollectionUtils.isNotEmpty(memberQueryDTO.getMemberIds()),Member::getId,memberQueryDTO.getMemberIds()) | 
 |  |  |                 .in(CollectionUtils.isNotEmpty(memberQueryDTO.getSubtractMemberIds()),Member::getId,memberQueryDTO.getSubtractMemberIds()) | 
 |  |  |                 .eq(!Objects.isNull(memberQueryDTO.getCompanyId()),Member::getCompanyId,memberQueryDTO.getCompanyId()) | 
 |  |  |                 .eq(Member::getIsdeleted, Constants.ZERO) | 
 |  |  |                 .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.ONE),"now() between t.start_time and t.end_time") | 
 |  |  |                 .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.TWO),"now()  >  t.end_time") | 
 |  |  |                 .like(StringUtils.isNotBlank(memberQueryDTO.getName()),Member::getName, memberQueryDTO.getName()) | 
 |  |  |                 .and(StringUtils.isNotBlank(memberQueryDTO.getName()),i->i.like(Member::getName,memberQueryDTO.getName()) | 
 |  |  |                         .or().like(Member::getIdcardNo,memberQueryDTO.getName())) | 
 |  |  |                 .notExists(!Objects.isNull(memberQueryDTO.getNotInInsuranceApplyId())&&!Objects.isNull(memberQueryDTO.getValidTime()), | 
 |  |  |                         " select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getNotInInsuranceApplyId()+"" + | 
 |  |  |                                 " and ad.END_TIME >= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.START_TIME <= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.isdeleted = 0 " + | 
 |  |  | 
 |  |  |                     .leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId) | 
 |  |  |                     .eq(Member::getIsdeleted, Constants.ZERO) | 
 |  |  |                     .eq(InsuranceApply::getId,memberQueryDTO.getInsuranceApplyId()) | 
 |  |  |                     .like(StringUtils.isNotBlank(memberQueryDTO.getName()),Member::getName, memberQueryDTO.getName()) | 
 |  |  |                     .and(StringUtils.isNotBlank(memberQueryDTO.getName()),i->i.like(Member::getName,memberQueryDTO.getName()) | 
 |  |  |                             .or().like(Member::getIdcardNo,memberQueryDTO.getName())) | 
 |  |  |                     .le(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getStartTime,memberQueryDTO.getValidTime()) | 
 |  |  |                     .ge(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getEndTime,memberQueryDTO.getValidTime()) | 
 |  |  |                     .in(CollectionUtils.isNotEmpty(memberQueryDTO.getSubtractMemberIds()),Member::getId,memberQueryDTO.getSubtractMemberIds()) | 
 |  |  |                     .exists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())&&!Objects.isNull(memberQueryDTO.getValidTime()), | 
 |  |  |                             " select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getInsuranceApplyId()+"" + | 
 |  |  |                                     " and ad.END_TIME >= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.START_TIME <= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.isdeleted = 0 " + | 
 |  |  | 
 |  |  |         if(dataList == null || dataList.size() ==0){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,录入数据为空!"); | 
 |  |  |         } | 
 |  |  |         List<String> idCardList = dataList.stream().map(m->m.getIdCard()).collect(Collectors.toList()); | 
 |  |  |         Set<String> set = new HashSet<>(idCardList); | 
 |  |  |         if(idCardList.size() != set.size()){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"对不起,录入数据存在身份证号相同数据!"); | 
 |  |  |         } | 
 |  |  | //        List<String> idCardList = dataList.stream().map(m->m.getIdCard()).collect(Collectors.toList()); | 
 |  |  | //        Set<String> set = new HashSet<>(idCardList); | 
 |  |  | //        if(idCardList.size() != set.size()){ | 
 |  |  | //            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"对不起,录入数据存在身份证号相同数据!"); | 
 |  |  | //        } | 
 |  |  |         List<DispatchUnit> dispatchUnitList = new ArrayList<>(); | 
 |  |  |         if(!Objects.isNull(solutionId)){ | 
 |  |  |             dispatchUnitList  = dispatchUnitJoinMapper.selectJoinList(DispatchUnit.class, | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         long index = Constants.TWO; | 
 |  |  |         Map<String,String> idCardMap = new HashMap<>(); | 
 |  |  |         for(MemberImport model : dataList){ | 
 |  |  |             if(StringUtils.isBlank(model.getIdCard())||model.getIdCard().length()!=18){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据身份证信息异常!"); | 
 |  |  | 
 |  |  |             if(StringUtils.isBlank(model.getName())){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据姓名信息异常!"); | 
 |  |  |             } | 
 |  |  |             if(Objects.nonNull(idCardMap.get(model.getIdCard()))){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据身份证号【"+model.getIdCard()+"】存在相同数据!"); | 
 |  |  |             } | 
 |  |  |             idCardMap.put(model.getIdCard(), model.getIdCard()); | 
 |  |  |             index = index + Constants.ONE; | 
 |  |  |             if(CollectionUtils.isNotEmpty(list)){ | 
 |  |  |                 Optional<Member>  memberOptional= list.stream().filter(m->m.getIdcardNo().equals(model.getIdCard())).findFirst(); |