|  |  |  | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  | import org.springframework.web.multipart.MultipartFile; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  | 
|---|
|  |  |  | // 生成密码 | 
|---|
|  |  |  | user.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(), salt)); | 
|---|
|  |  |  | user.setSalt(salt); | 
|---|
|  |  |  | user.setNeedChangePwd(Constants.ZERO); | 
|---|
|  |  |  | // 创建用户记录 | 
|---|
|  |  |  | user.setType(insert.getType()); | 
|---|
|  |  |  | user.setAvatar(insert.getFaceImg()); | 
|---|
|  |  |  | 
|---|
|  |  |  | insert.setCode(member.getCode()); | 
|---|
|  |  |  | insert.setType(Constants.TWO); | 
|---|
|  |  |  | insert.setHkDate(new Date()); | 
|---|
|  |  |  | insert.setWorkStatus(Constants.ONE);//默认在职 | 
|---|
|  |  |  | insert.setWorkStatus(Constants.ZERO);//默认在职 | 
|---|
|  |  |  | insert.setCanVisit(Constants.ZERO);//默认不可访问 | 
|---|
|  |  |  | insert.setAuthStatus(Constants.ZERO); | 
|---|
|  |  |  | insert.setName(member.getName()); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(Objects.nonNull(member.getCompanyType())){ | 
|---|
|  |  |  | queryWrapper.eq(Company::getType,member.getCompanyType()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isNotBlank(member.getCompanyTypes())){ | 
|---|
|  |  |  | queryWrapper.in(Company::getType,Arrays.asList(member.getCompanyTypes().split(","))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(null != member.getType()) { | 
|---|
|  |  |  | queryWrapper.eq(Member::getType,member.getType()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.selectAs(Position::getName,Member::getPositionName); | 
|---|
|  |  |  | queryWrapper.leftJoin(Position.class,Position::getId,Member::getPositionId); | 
|---|
|  |  |  | queryWrapper.eq(Member::getType,pageWrap.getModel().getType()); | 
|---|
|  |  |  | LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo(); | 
|---|
|  |  |  | if(userInfo!=null && userInfo.getCompanyIdList()!=null){ | 
|---|
|  |  |  | if( userInfo.getCompanyIdList().size() ==0){ | 
|---|
|  |  |  | //只能看自己 | 
|---|
|  |  |  | queryWrapper.eq(Member::getId,userInfo.getMemberId()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | queryWrapper.in(Company::getId,userInfo.getCompanyIdList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        queryWrapper.eq(Objects.nonNull(model.getCompanyId()),Member::getCompanyId,model.getCompanyId()) | 
|---|
|  |  |  | queryWrapper.in(Objects.nonNull(pageWrap.getModel().getCompanyIds())&&pageWrap.getModel().getCompanyIds().size()>0, | 
|---|
|  |  |  | Member::getCompanyId,pageWrap.getModel().getCompanyIds()) | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(StringUtils.isNotBlank(checkVisitedDTO.getName()),Member::getName,checkVisitedDTO.getName()) | 
|---|
|  |  |  | .eq(Member::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .eq(Member::getStatus,Constants.ZERO) | 
|---|
|  |  |  | .eq(Member::getWorkStatus,Constants.ZERO) | 
|---|
|  |  |  | .eq(Member::getCanVisit,Constants.ONE) | 
|---|
|  |  |  | .eq(Member::getType,Constants.memberType.internal) | 
|---|
|  |  |  | .eq(Company::getType,Constants.ONE) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | List<MemberVO> memberVOList = new ArrayList<>(); | 
|---|
|  |  |  | if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | ExcelImporter ie = null; | 
|---|
|  |  |  | List<MemberImport> dataList =null; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | ie = new ExcelImporter(file,1,0); | 
|---|
|  |  |  | ie = new ExcelImporter(file,2,0); | 
|---|
|  |  |  | dataList = ie.getDataList(MemberImport.class,null); | 
|---|
|  |  |  | }  catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | 
|---|
|  |  |  | List<Member> newList = new ArrayList<>(); | 
|---|
|  |  |  | for(int i=0;i<dataList.size();i++){ | 
|---|
|  |  |  | MemberImport model = dataList.get(i); | 
|---|
|  |  |  | model.setPhone(ScientificNotationTUtil.convertToString(model.getPhone())); | 
|---|
|  |  |  | model.setIdcardNo(ScientificNotationTUtil.convertToString(model.getIdcardNo())); | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getName()) | 
|---|
|  |  |  | &&StringUtils.isBlank(model.getIdcardNo()) | 
|---|
|  |  |  | &&StringUtils.isBlank(model.getPhone()) | 
|---|
|  |  |  | 
|---|
|  |  |  | ,List<Company> companyList | 
|---|
|  |  |  | ,Integer companyType) { | 
|---|
|  |  |  | if(StringUtils.isBlank(model.getName()) | 
|---|
|  |  |  | ||StringUtils.isBlank(model.getIdcardNo()) | 
|---|
|  |  |  | //                ||StringUtils.isBlank(model.getIdcardNo()) | 
|---|
|  |  |  | ||StringUtils.isBlank(model.getPhone()) | 
|---|
|  |  |  | ||StringUtils.isBlank(model.getCompanyName())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行人员信息不完整,请检查表格内容!"); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (!PhoneUtil.isPhone(model.getPhone())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行手机号【"+model.getPhone()+"】格式不正确,请检查表格内容!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if ( !isDebug && !IdcardUtil.isValidCard(model.getIdcardNo())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行身份证号【"+model.getIdcardNo()+"】格式不正确,请检查表格内容!"); | 
|---|
|  |  |  | if(model.getPhone().indexOf(".")>=Constants.ZERO){ | 
|---|
|  |  |  | model.setPhone( | 
|---|
|  |  |  | String.valueOf(new BigDecimal(model.getPhone()).intValue()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getIdcardNo())){ | 
|---|
|  |  |  | if ( !isDebug && !IdcardUtil.isValidCard(model.getIdcardNo())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行身份证号【"+model.getIdcardNo()+"】格式不正确,请检查表格内容!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for(Member member: newList){ | 
|---|
|  |  |  | if(StringUtils.equals(model.getIdcardNo(),member.getIdcardNo())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行身份证号【"+model.getIdcardNo()+"】重复出现,请检查表格内容!"); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getIdcardNo())&&StringUtils.isNotBlank(member.getIdcardNo())) { | 
|---|
|  |  |  | if (StringUtils.equals(model.getIdcardNo(), member.getIdcardNo())) { | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起,第" + (index + 3) + "行身份证号【" + model.getIdcardNo() + "】重复出现,请检查表格内容!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.equals(model.getPhone(),member.getPhone())){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行手机号【"+model.getPhone()+"】重复出现,请检查表格内容!"); | 
|---|
|  |  |  | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行组织名称【"+model.getCompanyName()+"】类型不正确,请检查表格内容!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String candNo = DESUtil.encrypt(Constants.EDS_PWD, model.getIdcardNo()); | 
|---|
|  |  |  | if(findMemberFromListByIdcard(candNo,memberList ) !=null){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行身份证号【"+model.getIdcardNo()+"】已存在,请检查表格内容!"); | 
|---|
|  |  |  | if(StringUtils.isNotBlank(model.getIdcardNo())){ | 
|---|
|  |  |  | if(findMemberFromListByIdcard(candNo,memberList ) !=null){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行身份证号【"+model.getIdcardNo()+"】已存在,请检查表格内容!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(findMemberFromListByPhone(model.getPhone(),memberList ) !=null){ | 
|---|
|  |  |  | throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行手机号【"+model.getPhone()+"】已存在,请检查表格内容!"); | 
|---|
|  |  |  | } | 
|---|