| | |
| | | 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()); |
| | | insert.setHkId(UUID.randomUUID().toString().replace("-","")); |
| | | insert.setHkStatus(Constants.ONE); |
| | | insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//根据身份证号获取性别 |
| | | insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo()))); |
| | | insert.setJobDate(member.getJobDate()); |
| | | insert.setIsDangyuan(member.getIsDangyuan()); |
| | | insert.setPositionId(member.getPositionId()); |
| | | if(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo()))); |
| | | insert.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()));//身份证号加密 |
| | | insert.setIdcardDecode( Constants.getTuominStr(member.getIdcardNo())); |
| | | } |
| | | insert.setPhone(member.getPhone()); |
| | | insert.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()));//身份证号加密 |
| | | insert.setIdcardDecode( Constants.getTuominStr(member.getIdcardNo())); |
| | | insert.setStatus(Constants.ZERO); |
| | | return insert; |
| | | } |
| | |
| | | if (StringUtils.isNotBlank(member.getIdcardNo()) && !IdcardUtil.isValidCard(member.getIdcardNo())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号格式有误"); |
| | | } |
| | | if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() |
| | | .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO}) |
| | | .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(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() |
| | | .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO}) |
| | | .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()) |
| | |
| | | if (PhoneUtil.isPhone(member.getPhone())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"电话号码格式有误"); |
| | | } |
| | | if (IdcardUtil.isValidCard(member.getIdcardNo())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号格式有误"); |
| | | } |
| | | if (IdcardUtil.getGenderByIdCard(member.getIdcardNo()) == member.getSex()){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"性别有误"); |
| | | } |
| | | //获取出生日期 |
| | | String birthByIdCard = IdcardUtil.getBirthByIdCard(member.getIdcardNo()); |
| | | //脱敏操作 |
| | | String hide = IdcardUtil.hide(member.getIdcardNo(), 5, 14); |
| | | // |
| | | //转换日期 |
| | | Member insert = new Member(); |
| | | insert.setCreator(loginUserInfo.getId()); |
| | |
| | | insert.setImgurl(member.getImgurl()); |
| | | insert.setType(Constants.ZERO); |
| | | insert.setName(member.getName()); |
| | | insert.setBirthday(DateUtil.fromStringToDate("yyyyMMdd",birthByIdCard)); |
| | | insert.setPhone(member.getPhone()); |
| | | insert.setIdcardNo(Utils.Secure.encryptString(member.getIdcardNo())); |
| | | IdcardUtil.isValidCard(member.getIdcardNo()); |
| | | insert.setIdcardDecode(hide); |
| | | if(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | if (IdcardUtil.isValidCard(member.getIdcardNo())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号格式有误"); |
| | | } |
| | | if (IdcardUtil.getGenderByIdCard(member.getIdcardNo()) == member.getSex()){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"性别有误"); |
| | | } |
| | | //获取出生日期 |
| | | String birthByIdCard = IdcardUtil.getBirthByIdCard(member.getIdcardNo()); |
| | | insert.setBirthday(DateUtil.fromStringToDate("yyyyMMdd",birthByIdCard)); |
| | | insert.setIdcardNo(Utils.Secure.encryptString(member.getIdcardNo())); |
| | | IdcardUtil.isValidCard(member.getIdcardNo()); |
| | | //脱敏操作 |
| | | String hide = IdcardUtil.hide(member.getIdcardNo(), 5, 14); |
| | | insert.setIdcardDecode(hide); |
| | | } |
| | | insert.setStatus(Constants.ZERO); |
| | | insert.setParentId(member.getParentId()); |
| | | memberMapper.insert(insert); |
| | |
| | | .set(updateMember.getFaceId()!=null,Member::getFaceId,updateMember.getFaceId()) |
| | | .set(updateMember.getCompanyId()!=null,Member::getCompanyId,updateMember.getCompanyId()) |
| | | .set(StringUtils.isNotBlank(updateMember.getCode()),Member::getCode,updateMember.getCode()) |
| | | .set( updateMember.getPositionId()!=null,Member::getPositionId,updateMember.getPositionId()) |
| | | .set( updateMember.getIsDangyuan()!=null,Member::getIsDangyuan,updateMember.getIsDangyuan()) |
| | | .set( updateMember.getJobDate()!=null,Member::getJobDate,updateMember.getJobDate()) |
| | | .set(StringUtils.isNotBlank(updateMember.getCode()),Member::getCode,updateMember.getCode()) |
| | | .eq(Member::getId,updateMember.getId())); |
| | | dealTrainTIme(updateMember,1,loginUserInfo); |
| | | cancelAllMemberEmpower(updateMember,memberRoleMapper,empowerMapper); |
| | |
| | | .selectAs(Company::getName,Member::getCompanyName) ; |
| | | queryWrapper.selectAs(Position::getName,Member::getPositionName); |
| | | queryWrapper.leftJoin(Position.class,Position::getId,Member::getPositionId); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | if(StringUtils.isNotBlank(member.getName())){ |
| | | queryWrapper.like(Member::getName,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()); |
| | | } |
| | | if(null != member.getCompanyId()) { |
| | | queryWrapper.eq(Member::getCompanyId,member.getCompanyId()); |
| | | } |
| | | if(null != member.getQuerySpecial() && Constants.equalsInteger(member.getQuerySpecial(),Constants.ONE)){ |
| | | String companySpecialId = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SPECIAL_COMPANY_ID).getCode(); |
| | | if(StringUtils.isNotBlank(companySpecialId)){ |
| | | queryWrapper.apply(" find_in_set('"+companySpecialId+"',REPLACE(t3.company_path,'/',',')) "); |
| | | } |
| | | } |
| | | queryWrapper.eq(Member::getIsdeleted,Constants.ZERO); |
| | | queryWrapper.eq(Member::getWorkStatus,Constants.ZERO); |
| | |
| | | } |
| | | if (pageWrap.getModel().getName() != null) { |
| | | queryWrapper.lambda().eq(Member::getName, pageWrap.getModel().getName()); |
| | | } |
| | | if (pageWrap.getModel().getPositionId() != null) { |
| | | queryWrapper.lambda().eq(Member::getPositionId, pageWrap.getModel().getPositionId()); |
| | | } |
| | | if (pageWrap.getModel().getBirthday() != null) { |
| | | queryWrapper.lambda().ge(Member::getBirthday, Utils.Date.getStart(pageWrap.getModel().getBirthday())); |
| | |
| | | queryWrapper.selectAs(Company::getCompanyNamePath,Member::getCompanyNamePath); |
| | | queryWrapper.selectAs(Company::getCompanyPath,Member::getCompanyPath); |
| | | queryWrapper.select(" ( select count(1) from member_card mc where mc.isdeleted = 0 and mc.member_id = t.id ) as memberCardCount "); |
| | | queryWrapper.select(" ( select max(tt.END_TIME) from train_time tt where tt.isdeleted = 0 and tt.member_id = t.id ) as trainEndTime "); |
| | | |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Member::getEditor); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | 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(Objects.nonNull(pageWrap.getModel().getCanVisit()),Member::getCanVisit,pageWrap.getModel().getCanVisit()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Member::getStatus,pageWrap.getModel().getStatus()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getHkStatus()),Member::getHkStatus,pageWrap.getModel().getHkStatus()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getWorkStatus()),Member::getWorkStatus,pageWrap.getModel().getWorkStatus()) |
| | | .eq(Objects.isNull(pageWrap.getModel().getIsdeleted()),Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getIsdeleted()),Member::getIsdeleted,pageWrap.getModel().getIsdeleted()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getCompanyType()),Company::getType,pageWrap.getModel().getCompanyType()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getPositionId()),Member::getPositionId,pageWrap.getModel().getPositionId()) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()) |
| | | // .eq(Member::getStatus,Constants.Status.ENABLE.getValue()) |
| | | // .eq(Member::getType,Constants.memberType.internal) |
| | |
| | | } |
| | | if(StringUtils.isNotBlank(memberInfoDTO.getImgurl())){ |
| | | memberInfoDTO.setImgurlFull(prefixUrl + memberInfoDTO.getImgurl()); |
| | | } |
| | | memberInfoDTO.setHasFace(memberInfoDTO.getFaceId()!=null?Constants.ONE:Constants.ZERO); |
| | | if(Constants.equalsInteger(Constants.ONE,memberInfoDTO.getAuthStatus())){ |
| | | if(memberInfoDTO.getStartTime() ==null || memberInfoDTO.getEndTime() ==null ){ |
| | | memberInfoDTO.setRoleTimeInfo("长期有效"); |
| | | }else{ |
| | | memberInfoDTO.setRoleTimeInfo(DateUtil.getPlusTime2(memberInfoDTO.getStartTime())+"至"+DateUtil.getPlusTime2(memberInfoDTO.getEndTime())); |
| | | } |
| | | }else{ |
| | | memberInfoDTO.setRoleTimeInfo("-"); |
| | | } |
| | | } |
| | | } |
| | |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>() |
| | | .lambda().eq(Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Member::getType,Constants.memberType.internal) |
| | | List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() |
| | | .selectAll(Member.class) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Company::getType,Constants.ZERO) |
| | | .eq(Member::getStatus,Constants.ZERO) |
| | | .isNotNull(Member::getHkId) |
| | | .apply("to_days(LAST_VISIT_DATE)+ "+days+" < to_days(now())" )); |
| | |
| | | .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()+"】已存在,请检查表格内容!"); |
| | | } |