From a5ea250272181142b591de27131ce3a94e5926f8 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 20 Nov 2024 16:30:11 +0800 Subject: [PATCH] =?UTF-8?q?OCR=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ResumeRecognitionServiceImpl.java | 102 +++++++++++++++++- 1 file changed, 99 insertions(+), 3 deletions(-) diff --git a/src/com/engine/recruit/service/impl/ResumeRecognitionServiceImpl.java b/src/com/engine/recruit/service/impl/ResumeRecognitionServiceImpl.java index 9e52106..544f0f9 100644 --- a/src/com/engine/recruit/service/impl/ResumeRecognitionServiceImpl.java +++ b/src/com/engine/recruit/service/impl/ResumeRecognitionServiceImpl.java @@ -225,9 +225,6 @@ public class ResumeRecognitionServiceImpl extends Service implements ResumeRecog dataMap.put("hyzk", hyzk.stream().map(item -> item.get("id")).collect(Collectors.joining(","))); } } - // 当前所在地(字段类型不支持) - String jdz = personalInformation.getString("现居住地"); - //dataMap.put("jzd", parseArray(obj.getJSONArray("现居住地"))); // 政治面貌 List> zzmm = getBrowserArray(personalInformation.getString("政治面貌"), ModeBrowserCommonInfo.TYPE_POLITICAL_LANDSCAPE); if (CollectionUtils.isNotEmpty(zzmm)) { @@ -363,6 +360,105 @@ public class ResumeRecognitionServiceImpl extends Service implements ResumeRecog dataMap.put("xmjy", projectList); + // ###简历表新增字段 2024-11-19 + // 当前所在地(字段类型不支持) + String xjzd = personalInformation.getString("现居住地"); + dataMap.put("xjzd", xjzd); + String qqh = personalInformation.getString("QQ号"); + dataMap.put("qqh", qqh); + String wxh = personalInformation.getString("微信号"); + dataMap.put("wxh", wxh); + String xqah = personalInformation.getString("兴趣爱好"); + dataMap.put("xqah", xqah); + String xyjl = personalInformation.getString("校园经历"); + dataMap.put("xyjl", xyjl); + + JSONArray zyjnArray = obj.getJSONArray("专业技能"); + List skillList = new ArrayList<>(); + zyjnArray.forEach(item -> { + JSONObject o = (JSONObject) item; + String skillName = o.getString("名称"); + String skillLevel = o.getString("熟练程度"); + if (StringUtils.isNotBlank(skillName) && StringUtils.isNotBlank(skillLevel)) { + skillList.add(skillName + ":" + skillLevel); + } + + }); + if (CollectionUtils.isNotEmpty(skillList)) { + dataMap.put("zyjn", StringUtils.join(skillList,"\n")); + } + JSONArray zsjxArray = obj.getJSONArray("证书奖项"); + List certificateList = new ArrayList<>(); + zsjxArray.forEach(item -> { + JSONObject o = (JSONObject) item; + String certificateName = o.getString("名称"); + if (StringUtils.isNotBlank(certificateName)) { + certificateList.add(certificateName); + } + + }); + if (CollectionUtils.isNotEmpty(certificateList)) { + dataMap.put("ryzs", StringUtils.join(certificateList,"\n")); + } + + // 新增明细表 + // 语言能力 + JSONArray ylnl = obj.getJSONArray("语言能力"); + List> languageList = new ArrayList<>(); + if (null != ylnl && ylnl.size() > 0) { + for (int i = 0; i < ylnl.size(); i++) { + JSONObject o = (JSONObject) ylnl.get(i); + String languageType = o.getString("语言类型"); + String languageLevel = o.getString("熟练程度"); + if (StringUtils.isNotBlank(languageLevel)) { + switch (languageLevel) { + case "一般": + languageLevel = "0"; + break; + case "良好": + languageLevel = "1"; + break; + case "熟练": + languageLevel = "2"; + break; + case "精通": + languageLevel = "3"; + break; + default: + languageLevel = ""; + break; + } + } + RecruitDataMap languageMap = new RecruitDataMap<>(); + languageMap.put("yylx", languageType); + languageMap.put("zwcd", languageLevel); + languageList.add(languageMap); + } + } + dataMap.put("ylnl", languageList); + + // 实习经历 + JSONArray sxjl = obj.getJSONArray("实习经历"); + List> internshipList = new ArrayList<>(); + if (null != sxjl && sxjl.size() > 0) { + for (int i = 0; i < sxjl.size(); i++) { + JSONObject o = (JSONObject) sxjl.get(i); + String workUnit = o.getString("工作单位"); + String post = o.getString("职务"); + String startTime = getFormatDate(o.getString("开始时间")); + String endTime = getFormatDate(o.getString("结束时间")); + String jobContent = o.getString("工作内容"); + + RecruitDataMap internshipMap = new RecruitDataMap<>(); + internshipMap.put("sxgsmc", workUnit); + internshipMap.put("sxgw", post); + internshipMap.put("kssj", startTime); + internshipMap.put("jssj", endTime); + internshipMap.put("gzms", jobContent); + internshipList.add(internshipMap); + } + } + dataMap.put("sxjl", internshipList); return dataMap; }