|  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.concurrent.TimeUnit; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private MemberJoinMapper memberJoinMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private JkCabinetMapper jkCabinetMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private TrainTimeMapper trainTimeMapper; | 
|---|
|  |  |  | 
|---|
|  |  |  | insert.setCode(member.getCode()); | 
|---|
|  |  |  | insert.setType(Constants.TWO); | 
|---|
|  |  |  | insert.setHkDate(new Date()); | 
|---|
|  |  |  | insert.setDdId(member.getDdId()); | 
|---|
|  |  |  | insert.setErpId(member.getErpId()); | 
|---|
|  |  |  | insert.setWorkStatus(Constants.ZERO);//默认在职 | 
|---|
|  |  |  | insert.setCanVisit(Constants.ZERO);//默认不可访问 | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.apply(" find_in_set('"+companySpecialId+"',REPLACE(t3.company_path,'/',',')) "); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(null != member.getQueryAuth() && Constants.equalsInteger(member.getQueryAuth(),Constants.ONE)){ | 
|---|
|  |  |  | List<JkCabinet> jkCabinets = jkCabinetMapper.selectList(new QueryWrapper<JkCabinet>().lambda() | 
|---|
|  |  |  | .eq(JkCabinet::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .isNotNull(JkCabinet::getAuthMemberId) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(CollectionUtils.isNotEmpty(jkCabinets)){ | 
|---|
|  |  |  | List<String> memberIdList = new ArrayList<>(); | 
|---|
|  |  |  | List<String> authMemberId = jkCabinets.stream().map(i->i.getAuthMemberId()).collect(Collectors.toList()); | 
|---|
|  |  |  | for (String s:authMemberId) { | 
|---|
|  |  |  | memberIdList.addAll(Arrays.asList(s.split(","))) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | queryWrapper.in(Member::getId,memberIdList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | queryWrapper.eq(Member::getIsdeleted,Constants.ZERO); | 
|---|
|  |  |  | queryWrapper.eq(Member::getWorkStatus,Constants.ZERO); | 
|---|
|  |  |  | queryWrapper.orderByAsc(Member::getPinyin); | 
|---|
|  |  |  | 
|---|
|  |  |  | .eq(SystemUser::getDeleted,Constants.ZERO) | 
|---|
|  |  |  | .last(" limit 1 ")); | 
|---|
|  |  |  | //非访客用户 进行判断是否存在用户 | 
|---|
|  |  |  | if(!Objects.isNull(user)){ | 
|---|
|  |  |  | if(Objects.isNull(user)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"您的账号暂未绑定系统,请联系管理员"); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | Member member = memberMapper.selectById(user.getMemberId()); | 
|---|
|  |  |  | if(member == null || member.getIsdeleted() == Constants.ONE){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | //                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"账号绑定异常,请联系管理员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(member.getStatus() != Constants.ZERO){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | //                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"您的账号已禁用,请联系管理员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isNotBlank(member.getIdcardNo())){ | 
|---|
|  |  |  | member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo())); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(importing!=null && importing){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,已存在员工导入任务正在执行中,请稍后再试!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_MEMBER,true); | 
|---|
|  |  |  | redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_MEMBER,true,30, TimeUnit.MINUTES); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | ExcelImporter ie = null; | 
|---|
|  |  |  | List<MemberImport> dataList =null; | 
|---|
|  |  |  | 
|---|
|  |  |  | member.setPhone(deptGetResponse.getMobile()); | 
|---|
|  |  |  | member.setName(deptGetResponse.getName()); | 
|---|
|  |  |  | member.setCode(deptGetResponse.getJobNumber()); | 
|---|
|  |  |  | member.setDdId(deptGetResponse.getUserid()); | 
|---|
|  |  |  | isMemberParamValidDetail(member,deptGetResponse.getDeptIdList()); | 
|---|
|  |  |  | //获取出生日期 | 
|---|
|  |  |  | //脱敏操作 | 
|---|
|  |  |  | 
|---|
|  |  |  | if(Objects.nonNull(deptIdList)){ | 
|---|
|  |  |  | List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda().in(Company::getErpId,deptIdList) | 
|---|
|  |  |  | .eq(Company::getType,Constants.ONE).eq(Company::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | //                    .isNotNull(Company::getHkId) 暂时无法同步开航 先注释 | 
|---|
|  |  |  | //                    .isNotNull(Company::getHkId) 暂时无法同步海康 先注释 | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(CollectionUtils.isNotEmpty(companyList)){ | 
|---|
|  |  |  | member.setHkOrgId(companyList.get(Constants.ZERO).getHkId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | updateMember.setPhone(deptGetResponse.getMobile()); | 
|---|
|  |  |  | updateMember.setName(deptGetResponse.getName()); | 
|---|
|  |  |  | updateMember.setCode(deptGetResponse.getJobNumber()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | updateMember.setDdId(deptGetResponse.getUserid()); | 
|---|
|  |  |  | updateMember.setHkId(null); | 
|---|
|  |  |  | updateMember.setAuthStatus(Constants.ZERO); | 
|---|
|  |  |  | Boolean hkFlag = dealHkUserForUpdateBiz(updateMember); | 
|---|
|  |  |  | 
|---|
|  |  |  | .set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate()) | 
|---|
|  |  |  | .set(StringUtils.isNotBlank(updateMember.getRemark()),Member::getRemark,updateMember.getRemark()) | 
|---|
|  |  |  | .set(StringUtils.isNotBlank(updateMember.getFaceImg()),Member::getFaceImg,updateMember.getFaceImg()) | 
|---|
|  |  |  | .set(StringUtils.isNotBlank(updateMember.getDdId()),Member::getDdId,updateMember.getDdId()) | 
|---|
|  |  |  | .set(updateMember.getFaceId()!=null,Member::getFaceId,updateMember.getFaceId()) | 
|---|
|  |  |  | .set(updateMember.getCompanyId()!=null,Member::getCompanyId,updateMember.getCompanyId()) | 
|---|
|  |  |  | .set(Member::getCode,updateMember.getCode()) | 
|---|