Browse Source

feat: Oracle数据同步限制与求职意向信息同步

zhangying 1 week ago
parent
commit
4d6fbdc1ab

+ 4 - 1
doc/待更新脚本.txt

@@ -1,2 +1,5 @@
 -- 2025-02-26
-ALTER TABLE `pc_jobuser` ADD COLUMN `OracleTableID` varchar(50) NULL AFTER `EsHouseholdRegistration`;
+ALTER TABLE `pc_jobuser` ADD COLUMN `OracleTableID` varchar(50) NULL AFTER `EsHouseholdRegistration`;
+
+-- 2025-03-05,
+ALTER TABLE `pc_jobhunt` ADD COLUMN `OracleTableID` varchar(255) NULL AFTER `otherDemand`;

+ 7 - 8
src/main/java/com/hz/employmentsite/controller/CommonController.java

@@ -88,7 +88,7 @@ public class CommonController {
     }
 
     @GetMapping("/oracleDataSync")
-    public void oracleDaraSync(@RequestParam(required = false) String funName, @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate) {
+    public Integer oracleDaraSync(@RequestParam(required = false) String funName, @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate) {
         if (startDate == null) {
             // 获取前一天日期
             LocalDate yesterdayLocalDate = LocalDate.now().minusDays(1);
@@ -96,16 +96,15 @@ public class CommonController {
         }
         switch (funName) {
             case "company":
-                dataSyncService.companySync(startDate, endDate);
-                break;
+                return dataSyncService.companySync(startDate, endDate);
             case "post":
-                dataSyncService.postSync(startDate, endDate);
-                break;
+                return dataSyncService.postSync(startDate, endDate);
             case "jobUser":
-                dataSyncService.jobUserSync(startDate, endDate);
-                break;
+                return dataSyncService.jobUserSync(startDate, endDate);
+            case "jobHunt":
+                return dataSyncService.jobHuntSync(startDate, endDate);
             default:
-                break;
+                return 0;
         }
     }
 

+ 10 - 0
src/main/java/com/hz/employmentsite/model/PcJobhunt.java

@@ -38,6 +38,8 @@ public class PcJobhunt {
 
     private String otherDemand;
 
+    private String oracleTableID;
+
     public String getJobHuntID() {
         return jobHuntID;
     }
@@ -173,4 +175,12 @@ public class PcJobhunt {
     public void setOtherDemand(String otherDemand) {
         this.otherDemand = otherDemand == null ? null : otherDemand.trim();
     }
+
+    public String getOracleTableID() {
+        return oracleTableID;
+    }
+
+    public void setOracleTableID(String oracleTableID) {
+        this.oracleTableID = oracleTableID == null ? null : oracleTableID.trim();
+    }
 }

+ 84 - 14
src/main/java/com/hz/employmentsite/model/PcJobhuntExample.java

@@ -1147,72 +1147,142 @@ public class PcJobhuntExample {
         }
 
         public Criteria andOtherDemandIsNull() {
-            addCriterion("OtherDemand is null");
+            addCriterion("otherDemand is null");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandIsNotNull() {
-            addCriterion("OtherDemand is not null");
+            addCriterion("otherDemand is not null");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandEqualTo(String value) {
-            addCriterion("OtherDemand =", value, "otherDemand");
+            addCriterion("otherDemand =", value, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandNotEqualTo(String value) {
-            addCriterion("OtherDemand <>", value, "otherDemand");
+            addCriterion("otherDemand <>", value, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandGreaterThan(String value) {
-            addCriterion("OtherDemand >", value, "otherDemand");
+            addCriterion("otherDemand >", value, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandGreaterThanOrEqualTo(String value) {
-            addCriterion("OtherDemand >=", value, "otherDemand");
+            addCriterion("otherDemand >=", value, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandLessThan(String value) {
-            addCriterion("OtherDemand <", value, "otherDemand");
+            addCriterion("otherDemand <", value, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandLessThanOrEqualTo(String value) {
-            addCriterion("OtherDemand <=", value, "otherDemand");
+            addCriterion("otherDemand <=", value, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandLike(String value) {
-            addCriterion("OtherDemand like", value, "otherDemand");
+            addCriterion("otherDemand like", value, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandNotLike(String value) {
-            addCriterion("OtherDemand not like", value, "otherDemand");
+            addCriterion("otherDemand not like", value, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandIn(List<String> values) {
-            addCriterion("OtherDemand in", values, "otherDemand");
+            addCriterion("otherDemand in", values, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandNotIn(List<String> values) {
-            addCriterion("OtherDemand not in", values, "otherDemand");
+            addCriterion("otherDemand not in", values, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandBetween(String value1, String value2) {
-            addCriterion("OtherDemand between", value1, value2, "otherDemand");
+            addCriterion("otherDemand between", value1, value2, "otherDemand");
             return (Criteria) this;
         }
 
         public Criteria andOtherDemandNotBetween(String value1, String value2) {
-            addCriterion("OtherDemand not between", value1, value2, "otherDemand");
+            addCriterion("otherDemand not between", value1, value2, "otherDemand");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDIsNull() {
+            addCriterion("OracleTableID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDIsNotNull() {
+            addCriterion("OracleTableID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDEqualTo(String value) {
+            addCriterion("OracleTableID =", value, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDNotEqualTo(String value) {
+            addCriterion("OracleTableID <>", value, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDGreaterThan(String value) {
+            addCriterion("OracleTableID >", value, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDGreaterThanOrEqualTo(String value) {
+            addCriterion("OracleTableID >=", value, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDLessThan(String value) {
+            addCriterion("OracleTableID <", value, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDLessThanOrEqualTo(String value) {
+            addCriterion("OracleTableID <=", value, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDLike(String value) {
+            addCriterion("OracleTableID like", value, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDNotLike(String value) {
+            addCriterion("OracleTableID not like", value, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDIn(List<String> values) {
+            addCriterion("OracleTableID in", values, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDNotIn(List<String> values) {
+            addCriterion("OracleTableID not in", values, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDBetween(String value1, String value2) {
+            addCriterion("OracleTableID between", value1, value2, "oracleTableID");
+            return (Criteria) this;
+        }
+
+        public Criteria andOracleTableIDNotBetween(String value1, String value2) {
+            addCriterion("OracleTableID not between", value1, value2, "oracleTableID");
             return (Criteria) this;
         }
     }

+ 8 - 0
src/main/java/com/hz/employmentsite/oraclemapper/cquery/OracleDataSyncCQuery.java

@@ -2,6 +2,7 @@ package com.hz.employmentsite.oraclemapper.cquery;
 
 import com.hz.employmentsite.vo.companyService.OracleCompanyVo;
 import com.hz.employmentsite.vo.companyService.OraclePostVo;
+import com.hz.employmentsite.vo.jobUserManager.OracleJobHuntVo;
 import com.hz.employmentsite.vo.jobUserManager.OracleJobUserVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -28,4 +29,11 @@ public interface OracleDataSyncCQuery {
      * @param endDate 结束日期
      */
     List<OracleJobUserVo> getJobUserList(@Param("startDate") String startDate, @Param("endDate") String endDate);
+
+    /**
+     * 查询求职人员列表
+     * @param startDate 开始日期
+     * @param endDate 结束日期
+     */
+    List<OracleJobHuntVo> getJobHuntList(@Param("startDate") String startDate, @Param("endDate") String endDate);
 }

+ 84 - 11
src/main/java/com/hz/employmentsite/services/impl/common/OracleDataSyncServiceImpl.java

@@ -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;
+    }
 }

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

@@ -221,8 +221,8 @@ public class CompanyServiceImpl implements CompanyService {
         }
         if (dbData == null && !stringUtils.IsNullOrEmpty(data.getOracleTableID())) {
             exp = new PcCompanyExample();
-            cro = exp.createCriteria();
-            cro.andOracleTableIDEqualTo(data.getOracleTableID());
+            exp.createCriteria().andOracleTableIDEqualTo(data.getOracleTableID());
+            exp.or().andCompanyCodeEqualTo(data.getCompanyCode());
             List<PcCompanyWithBLOBs> company = pcCompanyMapper.selectByExampleWithBLOBs(exp);
             if (!company.isEmpty()) {
                 // 不重复录入oracle同步数据

+ 11 - 0
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobHuntServiceImpl.java

@@ -180,6 +180,15 @@ public class JobHuntServiceImpl implements JobHuntService {
         int result = 0;
         JobHuntVo record = get(data.jobHuntID);
         PcJobhunt dbData = record == null ? null : pcJobhuntMapper.selectByPrimaryKey(record.jobHuntID);
+        if (dbData == null && !stringUtils.IsNullOrEmpty(data.getOracleTableID())) {
+            PcJobhuntExample example = new PcJobhuntExample();
+            example.createCriteria().andOracleTableIDEqualTo(data.getOracleTableID());
+            List<PcJobhunt> jobhuntList = pcJobhuntMapper.selectByExample(example);
+            if (!jobhuntList.isEmpty()) {
+                // 已入库的不进行重复同步
+                return 0;
+            }
+        }
         Boolean isExist = dbData != null;
 
         //判断岗位id是否为空
@@ -233,6 +242,7 @@ public class JobHuntServiceImpl implements JobHuntService {
             dbData.setOtherDemand(data.getOtherDemand());
             dbData.setCreateUserID(userId);
             dbData.setCreateTime(new Date());
+            dbData.setOracleTableID(data.getOracleTableID());
             result = pcJobhuntMapper.insert(dbData);
         } else {
             //修改
@@ -251,6 +261,7 @@ public class JobHuntServiceImpl implements JobHuntService {
             dbData.setOtherDemand(data.otherDemand);
             dbData.setModifyUserID(userId);
             dbData.setModifyTime(new Date());
+            dbData.setOracleTableID(data.getOracleTableID());
             result = pcJobhuntMapper.updateByPrimaryKey(dbData);
         }
         return result;

+ 4 - 2
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java

@@ -467,8 +467,8 @@ public class JobUserServiceImpl implements JobUserService {
 
         if (dbData == null && !stringUtils.IsNullOrEmpty(data.getOracleTableID())) {
             PcJobuserExample example = new PcJobuserExample();
-            PcJobuserExample.Criteria criteria = example.createCriteria();
-            criteria.andOracleTableIDEqualTo(data.getOracleTableID());
+            example.createCriteria().andOracleTableIDEqualTo(data.getOracleTableID());
+            example.or().andIdentityNumberEqualTo(data.getIdentityNumber());
             List<PcJobuser> jobUserList = pcJobuserMapper.selectByExample(example);
             if (!jobUserList.isEmpty()) {
                 // 不重复录入oracle同步数据
@@ -542,6 +542,7 @@ public class JobUserServiceImpl implements JobUserService {
                 dbData.setEsHouseholdRegistration(data.getEsHouseholdRegistration());
                 dbData.setCreateTime(new Date());
                 dbData.setCreateUserID(userId);
+                dbData.setOracleTableID(data.getOracleTableID());
                 result = pcJobuserMapper.insert(dbData);
             }
 //            jobUserServiceVo.setServiceContent("登记求职者个人求职信息");
@@ -597,6 +598,7 @@ public class JobUserServiceImpl implements JobUserService {
             dbData.setEsHouseholdRegistration(data.getEsHouseholdRegistration());
             dbData.setModifyTime(new Date());
             dbData.setModifyUserID(userId);
+            dbData.setOracleTableID(data.getOracleTableID());
             result = pcJobuserMapper.updateByPrimaryKey(dbData);
 
 //            jobUserServiceVo.setServiceContent("更新求职者个人求职信息");

+ 2 - 0
src/main/java/com/hz/employmentsite/services/service/common/OracleDataSyncService.java

@@ -8,4 +8,6 @@ public interface OracleDataSyncService {
     Integer postSync(Date startDate, Date endDate);
 
     Integer jobUserSync(Date startDate, Date endDate);
+
+    Integer jobHuntSync(Date startDate, Date endDate);
 }

+ 2 - 0
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java

@@ -54,4 +54,6 @@ public class JobHuntVo {
     private String regionCode;
 
     public String loginUserID;
+
+    public String oracleTableID;
 }

+ 18 - 0
src/main/java/com/hz/employmentsite/vo/jobUserManager/OracleJobHuntVo.java

@@ -0,0 +1,18 @@
+package com.hz.employmentsite.vo.jobUserManager;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OracleJobHuntVo {
+    public String ACC200; // 求职意向ID
+
+    public String BACH24; // 人员ID
+
+    public String ACB204; // 期望工作地点
+
+    public String BGB249; // 职位名称
+
+    public BigDecimal BCC277; // 期望薪资
+}

+ 4 - 1
src/main/java/com/hz/employmentsite/vo/jobUserManager/OracleJobUserVo.java

@@ -10,10 +10,13 @@ public class OracleJobUserVo {
 
     public String AAC003; // 姓名
 
+    public String AAC058; // 证件类型
+    public String AAC147; // 证件号码
+
     public String AAC004; // 性别
     public String AAC004Name; // 性别名称
 
-    public Date AAC006;
+    public Date AAC006; // 出生日期
 
     public String AAC005; // 民族
     public String AAC005Name; // 民族字典

+ 26 - 9
src/main/resources/mapping/PcJobhuntMapper.xml

@@ -18,7 +18,8 @@
     <result column="CreateTime" jdbcType="TIMESTAMP" property="createTime" />
     <result column="ModifyUserID" jdbcType="VARCHAR" property="modifyUserID" />
     <result column="ModifyTime" jdbcType="TIMESTAMP" property="modifyTime" />
-    <result column="OtherDemand" jdbcType="VARCHAR" property="otherDemand" />
+    <result column="otherDemand" jdbcType="VARCHAR" property="otherDemand" />
+    <result column="OracleTableID" jdbcType="VARCHAR" property="oracleTableID" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -81,7 +82,7 @@
   <sql id="Base_Column_List">
     JobHuntID, JobUserID, ProfessionID, WorkCode, WorkName, AreaWork, InDate, workYear, 
     JobHuntType, JobUserType, MinSalary, MaxSalary, CreateUserID, CreateTime, ModifyUserID, 
-    ModifyTime, OtherDemand
+    ModifyTime, otherDemand, OracleTableID
   </sql>
   <select id="selectByExample" parameterType="com.hz.employmentsite.model.PcJobhuntExample" resultMap="BaseResultMap">
     select
@@ -119,13 +120,15 @@
       InDate, workYear, JobHuntType, 
       JobUserType, MinSalary, MaxSalary, 
       CreateUserID, CreateTime, ModifyUserID, 
-      ModifyTime, OtherDemand)
+      ModifyTime, otherDemand, OracleTableID
+      )
     values (#{jobHuntID,jdbcType=VARCHAR}, #{jobUserID,jdbcType=VARCHAR}, #{professionID,jdbcType=VARCHAR}, 
       #{workCode,jdbcType=VARCHAR}, #{workName,jdbcType=VARCHAR}, #{areaWork,jdbcType=VARCHAR}, 
       #{inDate,jdbcType=TIMESTAMP}, #{workYear,jdbcType=DECIMAL}, #{jobHuntType,jdbcType=INTEGER}, 
       #{jobUserType,jdbcType=INTEGER}, #{minSalary,jdbcType=DECIMAL}, #{maxSalary,jdbcType=DECIMAL}, 
       #{createUserID,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{modifyUserID,jdbcType=VARCHAR}, 
-      #{modifyTime,jdbcType=TIMESTAMP}, #{otherDemand,jdbcType=VARCHAR})
+      #{modifyTime,jdbcType=TIMESTAMP}, #{otherDemand,jdbcType=VARCHAR}, #{oracleTableID,jdbcType=VARCHAR}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.hz.employmentsite.model.PcJobhunt">
     insert into pc_jobhunt
@@ -179,7 +182,10 @@
         ModifyTime,
       </if>
       <if test="otherDemand != null">
-        OtherDemand,
+        otherDemand,
+      </if>
+      <if test="oracleTableID != null">
+        OracleTableID,
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -234,6 +240,9 @@
       <if test="otherDemand != null">
         #{otherDemand,jdbcType=VARCHAR},
       </if>
+      <if test="oracleTableID != null">
+        #{oracleTableID,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.hz.employmentsite.model.PcJobhuntExample" resultType="java.lang.Long">
@@ -294,7 +303,10 @@
         ModifyTime = #{row.modifyTime,jdbcType=TIMESTAMP},
       </if>
       <if test="row.otherDemand != null">
-        OtherDemand = #{row.otherDemand,jdbcType=VARCHAR},
+        otherDemand = #{row.otherDemand,jdbcType=VARCHAR},
+      </if>
+      <if test="row.oracleTableID != null">
+        OracleTableID = #{row.oracleTableID,jdbcType=VARCHAR},
       </if>
     </set>
     <if test="example != null">
@@ -319,7 +331,8 @@
       CreateTime = #{row.createTime,jdbcType=TIMESTAMP},
       ModifyUserID = #{row.modifyUserID,jdbcType=VARCHAR},
       ModifyTime = #{row.modifyTime,jdbcType=TIMESTAMP},
-      OtherDemand = #{row.otherDemand,jdbcType=VARCHAR}
+      otherDemand = #{row.otherDemand,jdbcType=VARCHAR},
+      OracleTableID = #{row.oracleTableID,jdbcType=VARCHAR}
     <if test="example != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -373,7 +386,10 @@
         ModifyTime = #{modifyTime,jdbcType=TIMESTAMP},
       </if>
       <if test="otherDemand != null">
-        OtherDemand = #{otherDemand,jdbcType=VARCHAR},
+        otherDemand = #{otherDemand,jdbcType=VARCHAR},
+      </if>
+      <if test="oracleTableID != null">
+        OracleTableID = #{oracleTableID,jdbcType=VARCHAR},
       </if>
     </set>
     where JobHuntID = #{jobHuntID,jdbcType=VARCHAR}
@@ -395,7 +411,8 @@
       CreateTime = #{createTime,jdbcType=TIMESTAMP},
       ModifyUserID = #{modifyUserID,jdbcType=VARCHAR},
       ModifyTime = #{modifyTime,jdbcType=TIMESTAMP},
-      OtherDemand = #{otherDemand,jdbcType=VARCHAR}
+      otherDemand = #{otherDemand,jdbcType=VARCHAR},
+      OracleTableID = #{oracleTableID,jdbcType=VARCHAR}
     where JobHuntID = #{jobHuntID,jdbcType=VARCHAR}
   </update>
 </mapper>

+ 17 - 0
src/main/resources/oraclemapping/cquery/OracleDataSyncCQuery.xml

@@ -81,4 +81,21 @@
                 and grxx.SER_ST_TIME <![CDATA[ <= ]]> TO_DATE(#{endDate}, 'YYYY-MM-DD')
             </if>
     </select>
+
+    <select id="getJobHuntList" resultType="com.hz.employmentsite.vo.jobUserManager.OracleJobHuntVo">
+        SELECT
+            qzyx.*,
+            jlxx.BACH24
+        FROM
+            CC94 qzyx
+            LEFT JOIN CC18 jlxx ON qzyx.BCC053 = jlxx.BCC053
+        WHERE
+            1=1
+            <if test="startDate != ''">
+                and qzyx.SER_ST_TIME <![CDATA[ >= ]]> TO_DATE(#{startDate}, 'YYYY-MM-DD')
+            </if>
+            <if test="endDate != ''">
+                and qzyx.SER_ST_TIME <![CDATA[ <= ]]> TO_DATE(#{endDate}, 'YYYY-MM-DD')
+            </if>
+    </select>
 </mapper>

+ 3 - 1
vue/src/views/companyService/company/detail.vue

@@ -50,7 +50,9 @@
         </a-button>
       </a-descriptions-item>
       <a-descriptions-item :span="3" label="经营范围">{{ companyInfo.businScope }}</a-descriptions-item>
-      <a-descriptions-item :span="3" label="企业简介">{{ companyInfo.companyDesc }}</a-descriptions-item>
+      <a-descriptions-item :span="3" label="企业简介">
+        <div v-html="companyInfo.companyDesc"></div>
+      </a-descriptions-item>
     </a-descriptions>
     <a-divider orientation="left">信用记录</a-divider>
     <a-row>