Browse Source

web-新增已存在求职人员转驿站逻辑调整

liao-sea 8 months ago
parent
commit
890d564159

+ 2 - 2
src/main/java/com/hz/employmentsite/services/impl/companyService/CompanyServiceImpl.java

@@ -178,11 +178,11 @@ public class CompanyServiceImpl implements CompanyService {
             dbData = pcCompanyMapper.selectByExampleWithBLOBs(exp).stream().findFirst().orElse(null);
         }
         var resultNum = Integer.valueOf(ifHadRepeatData(data,true));
-        if(resultNum>0) {
+        if( resultNum>0) {
             throw new  BaseException("1004","该企业已被录入!");
         }
         if (dbData == null) {
-            //这里直接将公司转至当前驿站下
+            //这里直接将公司转至当前驿站下
             if(resultNum.equals(-1)){
                 result = 1;
             }

+ 142 - 144
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java

@@ -316,122 +316,152 @@ public class JobUserServiceImpl implements JobUserService {
         return result;
     }
 
-    private int ifHadRepeatData(JobUserVo data){
+    private String ifHadRepeatData(JobUserVo data, boolean isEdit){
 
         var result = 0;
-        PcJobuserExample jobUserExp1 = new PcJobuserExample();
-        jobUserExp1.or().andIdentityNumberEqualTo(desUtils.encoderText(data.getIdentityNumber())).andJobuserIDNotEqualTo(data.getJobUserID());
-        var ifRepeatIdentity = pcJobuserMapper.selectByExample(jobUserExp1).size()>0;
-
-        PcJobuserExample jobUserExp2= new PcJobuserExample();
-        jobUserExp2.or().andUserMobileEqualTo(desUtils.encoderText(data.getUserMobile())).andJobuserIDNotEqualTo(data.getJobUserID());
-        var ifRepeatMobile = pcJobuserMapper.selectByExample(jobUserExp2).size()>0;
-
-        if(!stringUtils.IsNullOrEmpty(data.getSocialSecurityCard())){
-            PcJobuserExample jobUserExp3= new PcJobuserExample();
-            jobUserExp3.or().andSocialSecurityCardEqualTo(data.getSocialSecurityCard()).andJobuserIDNotEqualTo(data.getJobUserID());
-            var ifRepeatSocialCard = pcJobuserMapper.selectByExample(jobUserExp3).size()>0;
-            result += ifRepeatSocialCard ? 4:0;
+        PcJobuserExample jobUserExp10 = new PcJobuserExample();
+        jobUserExp10.or().andIdentityNumberEqualTo(data.getIdentityNumber()).andNameEqualTo(data.getName()).andJobuserIDNotEqualTo(data.getJobUserID());
+        if( pcJobuserMapper.selectByExample(jobUserExp10).size()>0){
+            //系统存在与当前保存求职人员相同的姓名和身份证号码则判断是否前数据是否为惠州市就业驿站人员插入
+            var repeatData = pcJobuserMapper.selectByExample(jobUserExp10).stream().findFirst().orElse(null);
+            if( repeatData != null){
+                PcSiteUserExample siteUserExp = new PcSiteUserExample();
+                siteUserExp.or().andUserIDEqualTo(repeatData.getCreateUserID());
+                var createSiteUserInfo= pcSiteUserMapper.selectByExample(siteUserExp).stream().findFirst().orElse(null);
+                if( createSiteUserInfo!=null){
+                    PcSiteExample siteExp = new PcSiteExample();
+                    siteExp.or().andSiteIDEqualTo(createSiteUserInfo.getSiteID());
+                    var curSiteInfo= pcSiteMapper.selectByExample(siteExp).stream().findFirst().orElse(null);
+                    if( curSiteInfo != null){
+                        if(isEdit){
+                            if( curSiteInfo.getSiteID().equals("66fc1176-b8a1-4b9a-b2fc-9f590ceed342")||curSiteInfo.getSiteID().equals("0c037144-99c6-4e90-bf25-2c9cea8c7b7a")){
+                                repeatData.setSiteID(data.getSiteID());
+                                pcJobuserMapper.updateByPrimaryKey(repeatData);
+                                return "-1";
+                            }else{
+                                throw new  BaseException("1004","该求职人员已被"+curSiteInfo.getSiteName()+",工号"+createSiteUserInfo.getUserNo()+"录入!");
+                            }
+                        }
+                        return "该求职人员已被"+ curSiteInfo.getSiteName()+",工号"+createSiteUserInfo.getUserNo()+"录入!";
+                    }
+                }
+            }
         }
-
-        result += ifRepeatIdentity? 1:0;
-        result += ifRepeatMobile? 2:0;
-
-
-        return result;
+        else{
+            PcJobuserExample jobUserExp1 = new PcJobuserExample();
+            jobUserExp1.or().andIdentityNumberEqualTo(data.getIdentityNumber()).andJobuserIDNotEqualTo(data.getJobUserID());
+            var ifRepeatIdentity = pcJobuserMapper.selectByExample(jobUserExp1).size()>0;
+            PcJobuserExample jobUserExp2 = new PcJobuserExample();
+            jobUserExp2.or().andUserMobileEqualTo(data.getUserMobile()).andJobuserIDNotEqualTo(data.getJobUserID());
+            var ifRepeatMobile = pcJobuserMapper.selectByExample(jobUserExp2).size()>0;
+            if(!stringUtils.IsNullOrEmpty(data.getSocialSecurityCard())){
+                PcJobuserExample jobUserExp3 = new PcJobuserExample();
+                jobUserExp3.or().andSocialSecurityCardEqualTo(data.getSocialSecurityCard()).andJobuserIDNotEqualTo(data.getJobUserID());
+                var ifRepeatSocialCard = pcJobuserMapper.selectByExample(jobUserExp3).size()>0;
+                result += ifRepeatSocialCard ? 4:0;
+            }
+            result += ifRepeatIdentity? 1:0;
+            result += ifRepeatMobile? 2:0;
+        }
+        if(result > 0 ) {
+            var errorMsg = "";
+            switch (result){
+                case 1:
+                    errorMsg = "身份证号码重复!";
+                    break;
+                case 2:
+                    errorMsg = "联系电话已存在!";
+                    break;
+                case 3:
+                    errorMsg = "身份证号码、联系电话重复!";
+                    break;
+                case 4:
+                    errorMsg = "社保卡已绑定其他人员!";
+                    break;
+                case 5:
+                    errorMsg = "身份证号码、社保卡号重复!";
+                    break;
+                case 6:
+                    errorMsg = "联系电话、社保卡号重复!";
+                    break;
+                case 7:
+                    errorMsg = "身份证号码、联系电话、社保卡号重复!";
+                    break;
+            }
+            if(isEdit) throw new BaseException("1004",errorMsg);
+            else return errorMsg;
+        }
+        return "0";
     }
 
     @Override
     public int baseInfoSave(JobUserVo data, String userId) {
         int result = 0;
         PcJobuser dbData = pcJobuserMapper.selectByPrimaryKey(data.getJobUserID());
-        PcJobuserExample emp = new PcJobuserExample();
-        PcJobuserExample.Criteria cir = emp.or();
-        //验证身份证是否已经录入
-        if (dbData != null) {
-            cir.andJobuserIDNotEqualTo(data.getJobUserID());
-        }
-        cir.andIdentityNumberEqualTo(data.getIdentityNumber());
-        if (pcJobuserMapper.selectByExample(emp).size() > 0) {
-            throw new BaseException("500", "该身份证号已绑定其他人员");
-        }
 
-        //验证联系电话是否已经录入
-        cir = emp.or();
-        if (dbData != null) {
-            cir.andJobuserIDNotEqualTo(data.getJobUserID());
-        }
-        cir.andUserMobileEqualTo(data.getUserMobile());
-        if (pcJobuserMapper.selectByExample(emp).size() > 0) {
-            throw new BaseException("500", "该联系电话已绑定其他人员");
+        var resultNum = Integer.valueOf(ifHadRepeatData(data,true));
+        if( resultNum > 0 ) {
+            throw new  BaseException("1004","该求职人员已被录入!");
         }
-
-        // 验证社保卡是否绑定
-        if (data.getSocialSecurityCard() != null && !data.getSocialSecurityCard().isBlank()) {
-            cir = emp.or();
-            if (dbData != null) {
-                cir.andJobuserIDNotEqualTo(data.getJobUserID());
-            }
-            cir.andSocialSecurityCardEqualTo(data.getSocialSecurityCard());
-            if (pcJobuserMapper.selectByExample(emp).size() > 0) {
-                throw new BaseException("500", "该社保卡已绑定其他人员");
-            }
-        }
-
 //        JobUserServiceVo jobUserServiceVo = new JobUserServiceVo();
 //        jobUserServiceVo.setJobUserID(data.getJobUserID());
 //        jobUserServiceVo.setServiceTime(new Date());
 //        jobUserServiceVo.setServiceUserID(userId);
 
         if (dbData == null) {
-            dbData = new PcJobuser();
-            dbData.setJobuserID(data.getJobUserID());
-            dbData.setSiteID(data.getSiteID());
-            dbData.setIdentityNumber(data.getIdentityNumber());
-            dbData.setName(data.getName());
-            dbData.setPyName(data.getPyName());
-            dbData.setEngName(data.getEngName());
-            dbData.setJobStatusID(data.getJobStatusID());
-            dbData.setSex(data.getSex());
-            dbData.setNation(data.getNation());
-            dbData.setPoliticsStatusID(data.getPoliticsStatusID());
-            dbData.setBirthplace(data.getBirthPlace());
-            dbData.setBirthDay(data.getBirthDay());
-            dbData.setFamilyNatureID(data.getFamilyNatureID());
-            dbData.setFamilyAddress(data.getFamilyAddress());
-            dbData.setCultureRank(data.getCultureRank());
-            dbData.setHealthID(data.getHealthID());
-            dbData.setHeight(data.getHeight());
-            dbData.setBloodTypeID(data.getBloodTypeID());
-            dbData.setVision(data.getVision());
-            dbData.setWeight(data.getWeight());
-            dbData.setMaritalStatusID(data.getMaritalStatusID());
-            dbData.setProvinceCode(data.getProvinceCode());
-            dbData.setRegionCode(data.getRegionCode());
-            dbData.setStreetCode(data.getStreetCode());
-            dbData.setUserName(data.getUserName());
-            dbData.setUserMobile(data.getUserMobile());
-            dbData.setAddress(data.getAddress());
-            dbData.setPostalCode(data.getPostalCode());
-            dbData.setEmail(data.getEmail());
-            dbData.setHobby(data.getHobby());
-            dbData.setKeyPersonTypeID(data.getKeyPersonTypeID());
-            dbData.setPersonalSkills(data.getPersonalSkills());
-            dbData.setOpenId(data.getOpenId());
-            dbData.setSocialSecurityCard(data.getSocialSecurityCard());
-            dbData.setFinishSchool(data.getFinishSchool());
-            dbData.setFinishDate(data.getFinishDate());
-            dbData.setProfession(data.getProfession());
-            dbData.setIsFullTime(data.getIsFullTime());
-            dbData.setOccupationalCategory(data.getOccupationalCategory());
-            dbData.setOccupationalLevel(data.getOccupationalLevel());
-            dbData.setNativePlace(data.getNativePlace());
-            dbData.setLongitude(data.getLongitude());
-            dbData.setLatitude(data.getLatitude());
-            dbData.setCreateTime(new Date());
-            dbData.setCreateUserID(userId);
-            result = pcJobuserMapper.insert(dbData);
-
+            //这里已直接将求职人员转至当前驿站下
+            if(resultNum.equals(-1)){
+                result = 1;
+            }
+            else {
+                dbData = new PcJobuser();
+                dbData.setJobuserID(data.getJobUserID());
+                dbData.setSiteID(data.getSiteID());
+                dbData.setIdentityNumber(data.getIdentityNumber());
+                dbData.setName(data.getName());
+                dbData.setPyName(data.getPyName());
+                dbData.setEngName(data.getEngName());
+                dbData.setJobStatusID(data.getJobStatusID());
+                dbData.setSex(data.getSex());
+                dbData.setNation(data.getNation());
+                dbData.setPoliticsStatusID(data.getPoliticsStatusID());
+                dbData.setBirthplace(data.getBirthPlace());
+                dbData.setBirthDay(data.getBirthDay());
+                dbData.setFamilyNatureID(data.getFamilyNatureID());
+                dbData.setFamilyAddress(data.getFamilyAddress());
+                dbData.setCultureRank(data.getCultureRank());
+                dbData.setHealthID(data.getHealthID());
+                dbData.setHeight(data.getHeight());
+                dbData.setBloodTypeID(data.getBloodTypeID());
+                dbData.setVision(data.getVision());
+                dbData.setWeight(data.getWeight());
+                dbData.setMaritalStatusID(data.getMaritalStatusID());
+                dbData.setProvinceCode(data.getProvinceCode());
+                dbData.setRegionCode(data.getRegionCode());
+                dbData.setStreetCode(data.getStreetCode());
+                dbData.setUserName(data.getUserName());
+                dbData.setUserMobile(data.getUserMobile());
+                dbData.setAddress(data.getAddress());
+                dbData.setPostalCode(data.getPostalCode());
+                dbData.setEmail(data.getEmail());
+                dbData.setHobby(data.getHobby());
+                dbData.setKeyPersonTypeID(data.getKeyPersonTypeID());
+                dbData.setPersonalSkills(data.getPersonalSkills());
+                dbData.setOpenId(data.getOpenId());
+                dbData.setSocialSecurityCard(data.getSocialSecurityCard());
+                dbData.setFinishSchool(data.getFinishSchool());
+                dbData.setFinishDate(data.getFinishDate());
+                dbData.setProfession(data.getProfession());
+                dbData.setIsFullTime(data.getIsFullTime());
+                dbData.setOccupationalCategory(data.getOccupationalCategory());
+                dbData.setOccupationalLevel(data.getOccupationalLevel());
+                dbData.setNativePlace(data.getNativePlace());
+                dbData.setLongitude(data.getLongitude());
+                dbData.setLatitude(data.getLatitude());
+                dbData.setCreateTime(new Date());
+                dbData.setCreateUserID(userId);
+                result = pcJobuserMapper.insert(dbData);
+            }
 //            jobUserServiceVo.setServiceContent("登记求职者个人求职信息");
         }
         else {
@@ -523,7 +553,8 @@ public class JobUserServiceImpl implements JobUserService {
         PcSiteUser curLoginSiteUser = pcSiteUserMapper.selectByExample(siteUserExp).stream().findFirst().orElse(null);
         if(curLoginSiteUser==null){
             throw new BaseException("", "未能查询到当前登录人的驿站人员信息!");
-        }else{
+        }
+        else{
             PcSiteExample siteExp = new PcSiteExample();
             siteExp.or().andSiteIDEqualTo(curLoginSiteUser.getSiteID());
             curLoginUserSiteInfo = pcSiteMapper.selectByExample(siteExp).stream().findFirst().orElse(null);
@@ -602,34 +633,6 @@ public class JobUserServiceImpl implements JobUserService {
         dataList.forEach(item -> {
             String errorInfo = "";
             item.setJobUserID(UUID.randomUUID().toString());
-            var repeatResult = ifHadRepeatData(item);
-            switch (repeatResult){
-                default:
-                case 0:
-                    break;
-                case 1:
-                    errorInfo += "身份证号码已存在!";
-                    break;
-                case 2:
-                    errorInfo += "联系电话已存在!";
-                    break;
-                case 3:
-                    errorInfo += "身份证号码、联系电话重复!";
-                    break;
-                case 4:
-                    errorInfo += "社保卡已绑定其他人员!";
-                    break;
-                case 5:
-                    errorInfo += "身份证号码、社保卡号重复!";
-                    break;
-                case 6:
-                    errorInfo += "联系电话、社保卡号重复!";
-                    break;
-                case 7:
-                    errorInfo += "身份证号码、联系电话、社保卡号重复!";
-                    break;
-            }
-
             if (stringUtils.IsNullOrEmpty(item.getName())){
                 errorInfo += "请填写姓名!";
             }
@@ -652,9 +655,17 @@ public class JobUserServiceImpl implements JobUserService {
                             errorInfo += "性别与身份证号不匹配!";
                         }
                     }
-                    //文本加密
-                    if(repeatResult!=1&&repeatResult!=3&&repeatResult!=5&&repeatResult!=7) {
-                        item.setIdentityNumber(desUtils.encoderText(item.getIdentityNumber()));
+                    item.setIdentityNumber(desUtils.encoderText(item.getIdentityNumber()));
+                    if (stringUtils.IsNullOrEmpty(item.getUserMobile()))
+                        errorInfo += "请填写联系电话!";
+                    else{
+                        if(!regexUtils.theMobileIsValid(item.getUserMobile(),false)){
+                            errorInfo += "联系电话不合法!";
+                        }else{
+                            item.setUserMobile(desUtils.encoderText(item.getUserMobile()));
+                            var repeatResult = ifHadRepeatData(item,false);
+                            errorInfo += !repeatResult.equals("0")? repeatResult:"";
+                        }
                     }
                 }else{
                     errorInfo += "身份证号码不合法!";
@@ -687,7 +698,6 @@ public class JobUserServiceImpl implements JobUserService {
             if(!stringUtils.IsNullOrEmpty(item.getFinishDate()))
                 item.setFinishDate(item.getFinishDate().substring(0,7));
 
-
             if (stringUtils.IsNullOrEmpty(item.getJobStatusName()))
                 errorInfo += "请选择就业状态!";
             else {
@@ -712,18 +722,6 @@ public class JobUserServiceImpl implements JobUserService {
             if (stringUtils.IsNullOrEmpty(item.getAddress()))
                 errorInfo += "请填写地址!";
 
-            if (stringUtils.IsNullOrEmpty(item.getUserMobile()))
-                errorInfo += "请填写联系电话!";
-            else{
-                if(!regexUtils.theMobileIsValid(item.getUserMobile(),false)){
-                    errorInfo += "联系电话不合法!";
-                }else{
-                    //文本加密
-                    if(repeatResult!=2&&repeatResult!=3&&repeatResult!=6&&repeatResult!=7){
-                        item.setUserMobile(desUtils.encoderText(item.getUserMobile()));
-                    }
-                }
-            }
 
             if (!stringUtils.IsNullOrEmpty(item.getIsFullTimeName())){
                 item.setIsFullTime(dicIsFullTimeList.stream().filter(it -> it.getName().equals(item.getIsFullTimeName().trim()))