|  |  | 
 |  |  |                     } | 
 |  |  |                     member.setIdcardNo(applyDetail.getIdcardNo()); | 
 |  |  |                     member.setApplyId(insuranceApply.getId()); | 
 |  |  |                     member.setStartTime(applyDetail.getStartTime()); | 
 |  |  |                     member.setEndTime(applyDetail.getEndTime()); | 
 |  |  | //                    member.setStartTime(applyDetail.getStartTime()); | 
 |  |  | //                    member.setEndTime(applyDetail.getEndTime()); | 
 |  |  |                     member.setDuId(applyDetail.getDuId()); | 
 |  |  |                     member.setWorktypeId(applyDetail.getWorktypeId()); | 
 |  |  |                     addMemberList.add(member); | 
 |  |  | 
 |  |  |                 applyDetail.setEndTime(insuranceApply.getApplyEndTime()); | 
 |  |  |                 applyDetail.setSortnum(i); | 
 |  |  |                 applyDetail.setApplyId(insuranceApply.getId()); | 
 |  |  |  | 
 |  |  |                 //根据员工身份证进行判断年龄 | 
 |  |  |                 long age = Constants.getAgeByIdCard(applyDetail.getIdcardNo()); | 
 |  |  |                 if(Objects.isNull(age) | 
 |  |  |                         || age > solutions.getMaxAge() | 
 |  |  |                         || age < solutions.getMinAge()){ | 
 |  |  |                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+applyDetail.getMemberName()+"】员工年龄超出方案配置,方案配置【"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"】!"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 Member member = null; | 
 |  |  |                 if(Objects.isNull(applyDetail.getMemberId())){ | 
 |  |  |                     if(CollectionUtils.isNotEmpty(memberList)){ | 
 |  |  | 
 |  |  |                         member.setApplyId(insuranceApply.getId()); | 
 |  |  |                         member.setDuId(applyDetail.getDuId()); | 
 |  |  |                         member.setWorktypeId(applyDetail.getWorktypeId()); | 
 |  |  |                         member.setStartTime(applyDetail.getStartTime()); | 
 |  |  |                         member.setEndTime(applyDetail.getEndTime()); | 
 |  |  | //                        member.setStartTime(applyDetail.getStartTime()); | 
 |  |  | //                        member.setEndTime(applyDetail.getEndTime()); | 
 |  |  |                         memberMapper.updateById(member); | 
 |  |  |                     } | 
 |  |  |                 }else{ | 
 |  |  | 
 |  |  |                     member.setApplyId(insuranceApply.getId()); | 
 |  |  |                     member.setDuId(applyDetail.getDuId()); | 
 |  |  |                     member.setWorktypeId(applyDetail.getWorktypeId()); | 
 |  |  |                     member.setStartTime(applyDetail.getStartTime()); | 
 |  |  |                     member.setEndTime(applyDetail.getEndTime()); | 
 |  |  | //                    member.setStartTime(applyDetail.getStartTime()); | 
 |  |  | //                    member.setEndTime(applyDetail.getEndTime()); | 
 |  |  |                     memberMapper.updateById(member); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //根据员工身份证进行判断年龄 | 
 |  |  |                 long age = Constants.getAgeByIdCard(member.getIdcardNo()); | 
 |  |  |                 if(Objects.isNull(age) | 
 |  |  |                     || age > solutions.getMaxAge() | 
 |  |  |                     || age < solutions.getMinAge()){ | 
 |  |  |                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+applyDetail.getMemberName()+"】员工年龄超出方案配置,方案配置【"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"】!"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 applyDetail.setMemberId(member.getId()); | 
 |  |  |                 applyDetail.setIdcardNo(member.getIdcardNo()); | 
 |  |  |                 applyDetail.setSex(member.getSex()); | 
 |  |  | 
 |  |  |                             .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) | 
 |  |  |                             .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) | 
 |  |  |                             .eq(ApplyDetail::getIdcardNo,idCode) | 
 |  |  |                             .eq(ApplyDetail::getIsdeleted,Constants.ZERO) | 
 |  |  |                             .eq(Solutions::getBaseId,solutionId) | 
 |  |  |                             .ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId) | 
 |  |  |                             .notIn(InsuranceApply::getStatus | 
 |  |  | 
 |  |  |                             .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) | 
 |  |  |                             .eq(ApplyDetail::getIdcardNo,idCode) | 
 |  |  |                             .eq(Solutions::getBaseId,solutionId) | 
 |  |  |                             .eq(ApplyDetail::getIsdeleted,Constants.ZERO) | 
 |  |  |                             .notIn(InsuranceApply::getStatus | 
 |  |  |                                     ,Constants.InsuranceApplyStatus.CLOSE.getKey() | 
 |  |  |                                     ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() ) | 
 |  |  | 
 |  |  |                 .selectAs(Solutions::getType,InsuranceApply::getSolutionType) | 
 |  |  |                 .selectAs(Company::getName,InsuranceApply::getCompanyName) | 
 |  |  |                 .select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad  where ad.apply_id = t.id ) as insureNum") | 
 |  |  |                 .select(" isnull(( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad inner join insurance_apply a on ad.apply_id = a.id  and a.status in ( 5 , 27 )  where ad.apply_id = t.id and ad.END_TIME > now() ),0) as guaranteeNum") | 
 |  |  |                 .select(" ifnull(( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad inner join insurance_apply a on ad.apply_id = a.id  and a.status in ( 5 , 27 )  where ad.apply_id = t.id and ad.END_TIME > now() ),0) as guaranteeNum") | 
 |  |  |                 .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) | 
 |  |  |                 .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) | 
 |  |  |                 .eq(InsuranceApply::getId,model.getId()) |