|
@@ -1,5 +1,7 @@
|
|
|
package com.hz.employmentsite.services.impl.common;
|
|
|
|
|
|
+import com.hz.employmentsite.mapper.AreaCodeMapper;
|
|
|
+import com.hz.employmentsite.mapper.PcJobuserMapper;
|
|
|
import com.hz.employmentsite.mapper.PcProfessionMapper;
|
|
|
import com.hz.employmentsite.mapper.PcWorkcategoryMapper;
|
|
|
import com.hz.employmentsite.model.*;
|
|
@@ -9,15 +11,19 @@ import com.hz.employmentsite.services.service.common.OracleDataSyncService;
|
|
|
import com.hz.employmentsite.services.service.companyService.CompanyService;
|
|
|
import com.hz.employmentsite.services.service.companyService.IndustryService;
|
|
|
import com.hz.employmentsite.services.service.companyService.PostService;
|
|
|
+import com.hz.employmentsite.services.service.jobUserManager.JobHuntService;
|
|
|
import com.hz.employmentsite.services.service.jobUserManager.JobUserService;
|
|
|
import com.hz.employmentsite.services.service.system.DictionaryService;
|
|
|
import com.hz.employmentsite.util.DateUtils;
|
|
|
+import com.hz.employmentsite.util.DesUtils;
|
|
|
import com.hz.employmentsite.util.StringUtils;
|
|
|
import com.hz.employmentsite.vo.companyService.CompanyVo;
|
|
|
import com.hz.employmentsite.vo.companyService.OracleCompanyVo;
|
|
|
import com.hz.employmentsite.vo.companyService.OraclePostVo;
|
|
|
import com.hz.employmentsite.vo.companyService.PostVo;
|
|
|
+import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
|
|
|
import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
|
|
|
+import com.hz.employmentsite.vo.jobUserManager.OracleJobHuntVo;
|
|
|
import com.hz.employmentsite.vo.jobUserManager.OracleJobUserVo;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -52,18 +58,30 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
|
|
|
@Autowired
|
|
|
private SiteInfoService siteInfoService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private AreaCodeMapper areaCodeMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private JobHuntService jobHuntService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private PcProfessionMapper pcProfessionMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private PcWorkcategoryMapper pcWorkcategoryMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PcJobuserMapper pcJobuserMapper;
|
|
|
+
|
|
|
@Autowired
|
|
|
private DateUtils dateUtils;
|
|
|
|
|
|
@Autowired
|
|
|
private StringUtils stringUtils;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private DesUtils desUtils;
|
|
|
+
|
|
|
@Override
|
|
|
public Integer companySync(Date startDate, Date endDate) {
|
|
|
// 企业状态
|
|
@@ -87,7 +105,7 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
|
|
|
// dbData.setRegisteredCapitalType(); // 注册资本
|
|
|
dbData.setRecordStatus(companyStatusList.stream().filter(it -> it.getName().equals(vo.getAAE119Name()))
|
|
|
.findFirst().orElse(new SysDictionaryItem()).getValue());
|
|
|
- dbData.setSignInPoliticalArea(vo.getBAB078());
|
|
|
+ dbData.setSignInPoliticalArea(vo.getBAB078() + "000"); // 补0和MySQL数据对应
|
|
|
dbData.setCompanyType(dicCompanyTypeList.stream().filter(it -> it.getName().equals(vo.getAAB020Name()))
|
|
|
.findFirst().orElse(new SysDictionaryItem()).getValue());
|
|
|
dbData.setIndustryID(industryList.stream().filter(it -> it.getIndustryName().equals(vo.getAAB022Name()))
|
|
@@ -105,12 +123,16 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
|
|
|
dbData.setLatitude(vo.getBCB035());
|
|
|
if (!stringUtils.IsNullOrEmpty(vo.getBCB687())) {
|
|
|
PcSite byOracleTableID = siteInfoService.getByOracleTableID(vo.getBCB687());
|
|
|
- dbData.setSiteID(byOracleTableID != null && !stringUtils.IsNullOrEmpty(byOracleTableID.getSiteID()) ? byOracleTableID.getSiteID() : "66fc1176-b8a1-4b9a-b2fc-9f590ceed342"); // 无驿站ID的,分配到市就业驿站
|
|
|
- dbData.setSiteID(byOracleTableID != null && !stringUtils.IsNullOrEmpty(byOracleTableID.getRegionCode()) ? byOracleTableID.getRegionCode() : "441301000000000");
|
|
|
- dbData.setSiteID(byOracleTableID != null && !stringUtils.IsNullOrEmpty(byOracleTableID.getStreetCode()) ? byOracleTableID.getStreetCode() : "");
|
|
|
+ if (byOracleTableID == null || stringUtils.IsNullOrEmpty(byOracleTableID.getSiteID())) {
|
|
|
+ // 没有对应驿站的不进入系统
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ dbData.setSiteID(byOracleTableID.getSiteID());
|
|
|
+ dbData.setSiteID(byOracleTableID.getRegionCode());
|
|
|
+ dbData.setSiteID(byOracleTableID.getStreetCode());
|
|
|
} else {
|
|
|
- dbData.setSiteID("66fc1176-b8a1-4b9a-b2fc-9f590ceed342"); // 无驿站ID的,分配到市就业驿站
|
|
|
- dbData.setRegionCode("441301000000000");
|
|
|
+ // 没有对应驿站的不进入系统
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
try {
|
|
@@ -195,7 +217,7 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
|
|
|
// 户口性质字典
|
|
|
List<SysDictionaryItem> familyNatureList = dictionaryService.getDictionaryItemList("FamilyNature");
|
|
|
// 学历字典
|
|
|
- List<SysDictionaryItem> cultureLevelList = dictionaryService.getDictionaryItemList("CultureLevel");
|
|
|
+ List<SysDictionaryItem> highestDegreeList = dictionaryService.getDictionaryItemList("HighestDegree");
|
|
|
List<OracleJobUserVo> jobUserList = oracleDataSyncCQuery.getJobUserList(dateUtils.dateToStr(startDate), dateUtils.dateToStr(endDate));
|
|
|
Integer result = 0;
|
|
|
for (OracleJobUserVo vo : jobUserList) {
|
|
@@ -203,6 +225,9 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
|
|
|
dbData.setJobUserID(UUID.randomUUID().toString());
|
|
|
dbData.setOracleTableID(vo.getBACH24());
|
|
|
dbData.setName(vo.getAAC003());
|
|
|
+ if (!stringUtils.IsNullOrEmpty(vo.getAAC058()) && vo.getAAC058().equals("01")) {
|
|
|
+ dbData.setIdentityNumber(desUtils.encoderText(vo.getAAC147()));
|
|
|
+ }
|
|
|
if (!stringUtils.IsNullOrEmpty(vo.getAAC004Name())) {
|
|
|
dbData.setSex(vo.getAAC004Name().equals("男性") ? 1 : 2);
|
|
|
}
|
|
@@ -216,17 +241,21 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
|
|
|
dbData.setFamilyNatureID(familyNatureList.stream().filter(it -> it.getName().equals(vo.getAAC009Name()))
|
|
|
.findFirst().orElse(new SysDictionaryItem()).getValue());
|
|
|
dbData.setAddress(vo.getAAE006());
|
|
|
- dbData.setCultureRank(cultureLevelList.stream().filter(it -> it.getName().equals(vo.getAAC011Name()))
|
|
|
+ dbData.setCultureRank(highestDegreeList.stream().filter(it -> it.getName().equals(vo.getAAC011Name()))
|
|
|
.findFirst().orElse(new SysDictionaryItem()).getValue());
|
|
|
dbData.setProfession(vo.getACC01G());
|
|
|
dbData.setFinishDate(dateUtils.dateToStr(vo.getBAE081()));
|
|
|
dbData.setFinishSchool(vo.getBDC612());
|
|
|
- dbData.setUserMobile(vo.getAAC067());
|
|
|
+ dbData.setUserMobile(desUtils.encoderText(vo.getAAC067()));
|
|
|
if (!stringUtils.IsNullOrEmpty(vo.getBCB687())) {
|
|
|
PcSite byOracleTableID = siteInfoService.getByOracleTableID(vo.getBCB687());
|
|
|
- dbData.setSiteID(byOracleTableID != null && !stringUtils.IsNullOrEmpty(byOracleTableID.getSiteID()) ? byOracleTableID.getSiteID() : "66fc1176-b8a1-4b9a-b2fc-9f590ceed342"); // 无驿站ID的,分配到市就业驿站
|
|
|
+ if (byOracleTableID == null || stringUtils.IsNullOrEmpty(byOracleTableID.getSiteID())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ dbData.setSiteID(byOracleTableID.getSiteID());
|
|
|
} else {
|
|
|
- dbData.setSiteID("66fc1176-b8a1-4b9a-b2fc-9f590ceed342"); // 无驿站ID的,分配到市就业驿站
|
|
|
+ // 没有对应驿站的不进入系统
|
|
|
+ continue;
|
|
|
}
|
|
|
dbData.setJobExperience(new ArrayList<>());
|
|
|
dbData.setJobEducation(new ArrayList<>());
|
|
@@ -242,4 +271,48 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Integer jobHuntSync(Date startDate, Date endDate) {
|
|
|
+ // 惠州市区县编码
|
|
|
+ List<AreaCode> areaCodeList = areaCodeMapper.selectByExample(new AreaCodeExample());
|
|
|
+ // 工种信息
|
|
|
+ List<PcProfession> professionList = pcProfessionMapper.selectByExample(new PcProfessionExample());
|
|
|
+
|
|
|
+ List<OracleJobHuntVo> jobHuntList = oracleDataSyncCQuery.getJobHuntList(dateUtils.dateToStr(startDate), dateUtils.dateToStr(endDate));
|
|
|
+ Integer result = 0;
|
|
|
+ for (OracleJobHuntVo vo : jobHuntList) {
|
|
|
+ // 检查求职意向绑定的求职人员信息是否同步
|
|
|
+ PcJobuserExample jobuserExample = new PcJobuserExample();
|
|
|
+ jobuserExample.createCriteria().andOracleTableIDEqualTo(vo.getBACH24());
|
|
|
+ List<PcJobuser> jobuserList = pcJobuserMapper.selectByExample(jobuserExample);
|
|
|
+ if (jobuserList.isEmpty()) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ JobHuntVo dbData = new JobHuntVo();
|
|
|
+ dbData.setJobHuntID(UUID.randomUUID().toString());
|
|
|
+ dbData.setJobUserID(jobuserList.get(0).getJobuserID());
|
|
|
+ dbData.setOracleTableID(vo.getACC200());
|
|
|
+ if (!stringUtils.IsNullOrEmpty(vo.getBGB249())) {
|
|
|
+ dbData.setProfessionID(professionList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.getProfessionName()) && it.getProfessionName().equals(vo.getBGB249()))
|
|
|
+ .findFirst().orElse(new PcProfession()).getProfessionID());
|
|
|
+ dbData.setProfessionName(vo.getBGB249());
|
|
|
+ }
|
|
|
+ if (!stringUtils.IsNullOrEmpty(vo.getACB204())) {
|
|
|
+ dbData.setAreaWork(areaCodeList.stream().filter(it -> it.getCode().equals(vo.getACB204() + "000"))
|
|
|
+ .findFirst().orElse(new AreaCode()).getName());
|
|
|
+ }
|
|
|
+ dbData.setMinSalary(vo.getBCC277());
|
|
|
+ dbData.setMaxSalary(vo.getBCC277());
|
|
|
+
|
|
|
+ try {
|
|
|
+ jobHuntService.save(dbData, "60ea0d5b-a75c-11ed-a6c5-7085c2a9999e");
|
|
|
+ result++;
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("同步Oracle求职意向信息失败,求职意向ID:" + vo.getACC200());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|