From 130ef4b1179bf9ceb035124a190ee9582c131252 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 8 Apr 2024 18:20:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B1=9F=E8=8B=8F=E6=96=B0=E8=A7=86=E4=BA=91?= =?UTF-8?q?=20=E8=81=8C=E4=BD=8D=E5=B7=A5=E4=BD=9C=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../recruit/conn/ModeBrowserCommonInfo.java | 32 +++++++++++++++++ .../recruit/thread/SdkResumeSavedThread.java | 8 +++-- .../engine/recruit/util/WeaBrowserUtil.java | 34 +++++++++++++++++++ .../position/ReleasePositionModeExpand.java | 2 +- .../modeexpand/util/RecruitPositionUtil.java | 15 ++++++-- 5 files changed, 86 insertions(+), 5 deletions(-) create mode 100644 src/com/engine/recruit/util/WeaBrowserUtil.java diff --git a/src/com/engine/recruit/conn/ModeBrowserCommonInfo.java b/src/com/engine/recruit/conn/ModeBrowserCommonInfo.java index 505eba9..e0765e0 100644 --- a/src/com/engine/recruit/conn/ModeBrowserCommonInfo.java +++ b/src/com/engine/recruit/conn/ModeBrowserCommonInfo.java @@ -1,7 +1,9 @@ package com.engine.recruit.conn; +import com.engine.recruit.util.WeaBrowserUtil; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; +import weaver.hrm.User; /** * @author:dxfeng @@ -44,6 +46,36 @@ public class ModeBrowserCommonInfo { return id; } + public static String getWorkPlaceShowName(User user, String id) { + String placeName = ""; + if (StringUtils.isBlank(id)) { + return placeName; + } + + RecordSet rs = new RecordSet(); + rs.executeQuery("select ssq,xxdz from uf_zpgzdd where id = ?", id); + if (rs.next()) { + String ssq = rs.getString("ssq"); + String xxdz = rs.getString("xxdz"); + // 区县浏览按钮类型:263 + String areaName = WeaBrowserUtil.getBrowserShowNames(user, 263, ssq); + rs.writeLog("areaName===" + areaName); + if (StringUtils.isNotBlank(areaName) && StringUtils.isNotBlank(xxdz)) { + String[] split = areaName.split("/"); + if (split.length == 4) { + areaName = split[1] + "-" + split[2] + "-" + split[3]; + placeName = areaName + "-" + xxdz; + }else if(split.length == 3){ + areaName = split[0] + "-" + split[1] + "-" + split[2]; + placeName = areaName + "-" + xxdz; + } + } else { + rs.writeLog("id=" + id + ",ssq=" + ssq + ",xxdz=" + xxdz); + } + } + return placeName; + } + private static String getBrowserId(String zdlxmc, String xxnr) { if (StringUtils.isBlank(xxnr)) { diff --git a/src/com/engine/recruit/thread/SdkResumeSavedThread.java b/src/com/engine/recruit/thread/SdkResumeSavedThread.java index 1742f0a..4013893 100644 --- a/src/com/engine/recruit/thread/SdkResumeSavedThread.java +++ b/src/com/engine/recruit/thread/SdkResumeSavedThread.java @@ -212,13 +212,17 @@ public class SdkResumeSavedThread extends LocalRunnable { baseBean.writeLog("解析千里聆SDK原始简历,resumeFileId===" + resumeFileId); List docIdList = new ArrayList<>(); ERPAResumeSDKClient client = ERPASDKClients.getResumeSDKClient(); - client.start(); client.downloadResumeFile(resumeFileId, (fileName, stream) -> { try { baseBean.writeLog("解析千里聆SDK原始简历,fileName===" + fileName); int imageFileId = RecruitModeUtil.generateImageFileId(stream, fileName); baseBean.writeLog("解析千里聆SDK原始简历,imageFileId===" + imageFileId); - docIdList.add(RecruitModeUtil.createDocId(SEC_CATEGORY, imageFileId, user)); + if (imageFileId > 0) { + int docId = RecruitModeUtil.createDocId(SEC_CATEGORY, imageFileId, user); + if (docId > 0) { + docIdList.add(docId); + } + } } catch (Exception e) { baseBean.writeLog("解析千里聆SDK原始简历失败", e); throw new RuntimeException(e); diff --git a/src/com/engine/recruit/util/WeaBrowserUtil.java b/src/com/engine/recruit/util/WeaBrowserUtil.java new file mode 100644 index 0000000..f4cc02e --- /dev/null +++ b/src/com/engine/recruit/util/WeaBrowserUtil.java @@ -0,0 +1,34 @@ +package com.engine.recruit.util; + +import weaver.general.Util; +import weaver.hrm.User; +import weaver.hrm.definedfield.HrmFieldManager; + +/** + * @author:dxfeng + * @createTime: 2024/04/07 + * @version: 1.0 + */ +public class WeaBrowserUtil { + + + /** + * 获取浏览按钮的展示内容 + * + * @param user + * @param browserType + * @param value + * @return + */ + public static String getBrowserShowNames(User user, int browserType, String value) { + HrmFieldManager hrmFieldManager = new HrmFieldManager(); + String fieldShowName; + try { + fieldShowName = hrmFieldManager.getFieldvalue(user, null, 0, 3, browserType, value, 0); + fieldShowName = Util.formatMultiLang(fieldShowName, Util.null2String(user.getLanguage())); + } catch (Exception e) { + throw new RuntimeException(e); + } + return fieldShowName; + } +} diff --git a/src/weaver/formmode/recruit/modeexpand/position/ReleasePositionModeExpand.java b/src/weaver/formmode/recruit/modeexpand/position/ReleasePositionModeExpand.java index 642c50f..9909265 100644 --- a/src/weaver/formmode/recruit/modeexpand/position/ReleasePositionModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/position/ReleasePositionModeExpand.java @@ -61,7 +61,7 @@ public class ReleasePositionModeExpand extends AbstractModeExpandJavaCodeNew { for (Property property : properties) { map.put(property.getName(), property.getValue()); } - ResumeJobV2Dto resumeJobDto = RecruitPositionUtil.convertMap2ResumeJobV2Dto(map); + ResumeJobV2Dto resumeJobDto = RecruitPositionUtil.convertMap2ResumeJobV2Dto(user,map); // 发布千里聆职位 if (!RecruitPositionUtil.checkAvailable(client)) { baseBean.writeLog("千里聆未开通简历应用。"); diff --git a/src/weaver/formmode/recruit/modeexpand/util/RecruitPositionUtil.java b/src/weaver/formmode/recruit/modeexpand/util/RecruitPositionUtil.java index bff9cb5..d875812 100644 --- a/src/weaver/formmode/recruit/modeexpand/util/RecruitPositionUtil.java +++ b/src/weaver/formmode/recruit/modeexpand/util/RecruitPositionUtil.java @@ -3,6 +3,7 @@ package weaver.formmode.recruit.modeexpand.util; import cn.hutool.core.convert.Convert; import com.alibaba.fastjson.JSON; import com.engine.recruit.conn.ApplicantCommonInfo; +import com.engine.recruit.conn.ModeBrowserCommonInfo; import com.engine.recruit.enums.PositionThirdChannelEnum; import com.engine.recruit.exception.CustomizeRunTimeException; import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient; @@ -14,6 +15,7 @@ import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.Util; +import weaver.hrm.User; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -34,7 +36,7 @@ public class RecruitPositionUtil { * @param map 数据集合 * @return ResumeJobV2Dto */ - public static ResumeJobV2Dto convertMap2ResumeJobV2Dto(Map map) { + public static ResumeJobV2Dto convertMap2ResumeJobV2Dto(User user, Map map) { // 职位名称 String positionName = Convert.toStr(map.get("zpzwmc")); // 职位职责 @@ -64,6 +66,10 @@ public class RecruitPositionUtil { // 职位类别 String jobCategory = "不限"; + // 工作地点 + String gzdd = Convert.toStr(map.get("gzdd")); + String workPlaceShowName = ModeBrowserCommonInfo.getWorkPlaceShowName(user, gzdd); + //不限 int experienceValue = -1; if ("应届毕业生".equals(workYears)) { @@ -112,6 +118,10 @@ public class RecruitPositionUtil { // 招聘职位类型与特殊设置字段 ResumeJobV2Dto resumeJobV2Dto = new ResumeJobV2Dto(); + if(StringUtils.isNotBlank(workPlaceShowName)){ + resumeJobV2Dto.setJobArea(workPlaceShowName); + } + // (必填,默认社招)招聘类型 1:社招 2:校招 3:实习 resumeJobV2Dto.setResumeType(resumeType); if (2 == resumeType && StringUtils.isBlank(finishTime)) { @@ -224,9 +234,10 @@ public class RecruitPositionUtil { rs.executeQuery("select cityname from hrmcity where id = ?", fbcs); if (rs.next()) { String cityName = rs.getString("cityname"); + cityName = Util.formatMultiLang(cityName, Util.null2String(user.getLanguage())); cityList.add(cityName); } - resumeJobV2Dto.setFbcs(cityList); + // TODO resumeJobV2Dto.setFbcs(cityList); // 所属行业 String sshy = Util.null2String(map.get("szhy")); List sshyList = new ArrayList<>();