From 4860d8dcc4a6645e551c75f69574f850de8a4be3 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 25 Sep 2023 16:35:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=A2=E8=AF=95=E8=AF=84=E4=BB=B7=E5=8D=A1?= =?UTF-8?q?=E7=89=87,=E5=AD=97=E6=AE=B5=E8=B5=8B=E5=80=BC=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ApplicantResumeController.java | 10 ++ .../service/ApplicantResumeService.java | 8 ++ .../impl/ApplicantResumeServiceImpl.java | 131 +++++++++++++++++- .../wrapper/ApplicantResumeWrapper.java | 4 + 4 files changed, 152 insertions(+), 1 deletion(-) diff --git a/src/com/engine/recruit/controller/ApplicantResumeController.java b/src/com/engine/recruit/controller/ApplicantResumeController.java index 01ec0af..bc14aa2 100644 --- a/src/com/engine/recruit/controller/ApplicantResumeController.java +++ b/src/com/engine/recruit/controller/ApplicantResumeController.java @@ -36,4 +36,14 @@ public class ApplicantResumeController { String ids = Util.null2String(params.get("ids")); return new ResponseResult>(user).run(getApplicantResumeWrapper(user)::getApplicantsName, ids); } + + @POST + @Path("/getInterviewInfoById") + @Produces(MediaType.APPLICATION_JSON) + public String getInterviewInfoById(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + Map params = ParamUtil.request2Map(request); + String id = Util.null2String(params.get("id")); + return new ResponseResult>(user).run(getApplicantResumeWrapper(user)::getInterviewInfoById, id); + } } diff --git a/src/com/engine/recruit/service/ApplicantResumeService.java b/src/com/engine/recruit/service/ApplicantResumeService.java index 1195d00..981a94d 100644 --- a/src/com/engine/recruit/service/ApplicantResumeService.java +++ b/src/com/engine/recruit/service/ApplicantResumeService.java @@ -20,4 +20,12 @@ public interface ApplicantResumeService { * @return 应聘者姓名 */ Map getApplicantsName(String ids); + + /** + * 根据ID获取面试信息 + * + * @param id + * @return + */ + Map getInterviewInfoById(String id); } diff --git a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java index 516a399..bc0324d 100644 --- a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java +++ b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java @@ -2,7 +2,9 @@ package com.engine.recruit.service.impl; import com.engine.core.impl.Service; import com.engine.recruit.service.ApplicantResumeService; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; +import weaver.hrm.resource.ResourceComInfo; import java.util.ArrayList; import java.util.HashMap; @@ -17,7 +19,7 @@ import java.util.Map; public class ApplicantResumeServiceImpl extends Service implements ApplicantResumeService { @Override public Map getApplicantsName(String ids) { - Map returnMap = new HashMap<>(); + Map returnMap = new HashMap<>(1); RecordSet rs = new RecordSet(); String[] split = ids.split(","); List> list = new ArrayList<>(); @@ -33,4 +35,131 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu returnMap.put("rows", list); return returnMap; } + + @Override + public Map getInterviewInfoById(String id) { + Map returnMap = new HashMap<>(16); + String sql = "select a.ypz,b.xm,a.ypzw,b.tdsj,b.sjhm,b.dzyx,a.msfs,a.mshj ,a.msc,a.msg ,a.ptmsg,a.msrq,a.msdd ,a.msfkr from uf_jcl_ms a inner join uf_jcl_yppc b on a.ypz = b.id where a.id = ?"; + RecordSet rs = new RecordSet(); + rs.executeQuery(sql, id); + if (rs.next()) { + // 应聘者 + returnMap.put("ypz", createApplicantBrowserMap(rs.getString("ypz"), rs.getString("xm"))); + // 应聘职位 + returnMap.put("ypzw", createAppliedPositionBrowserMap(rs.getString("ypzw"))); + // 投递时间 + returnMap.put("tdsj", createApplicantBrowserMap(rs.getString("tdsj"))); + // 手机号码 + returnMap.put("sjhm", createApplicantBrowserMap(rs.getString("sjhm"))); + // 电子邮箱 + returnMap.put("dzyx", createApplicantBrowserMap(rs.getString("dzyx"))); + // 面试方式 + returnMap.put("msfs", createApplicantBrowserMap(rs.getString("msfs"))); + // 面试环节 + returnMap.put("mshj", createApplicantBrowserMap(rs.getString("mshj"))); + // 面试轮次 + returnMap.put("msc", createApplicantBrowserMap(rs.getString("msc"))); + // 面试官 + returnMap.put("msg", createResourceBrowserMap(rs.getString("msg"))); + // 陪同面试官 + returnMap.put("ptmsg", createResourceBrowserMap(rs.getString("ptmsg"))); + // 面试日期 + returnMap.put("msrq", createApplicantBrowserMap(rs.getString("msrq"))); + // 面试地址 + returnMap.put("msdd", createApplicantBrowserMap(rs.getString("msdd"))); + } + return returnMap; + } + + /** + * 构建普通数据格式 + * + * @param value + * @return + */ + private Map createApplicantBrowserMap(String value) { + if (StringUtils.isBlank(value)) { + return null; + } + Map browserMap = new HashMap<>(1); + browserMap.put("value", value); + return browserMap; + } + + /** + * 构建应聘者浏览按钮值 + * + * @param id + * @param name + * @return + */ + private Map createApplicantBrowserMap(String id, String name) { + Map browserMap = new HashMap<>(2); + if (StringUtils.isBlank(id)) { + return browserMap; + } + browserMap.put("value", id); + List> objList = new ArrayList<>(); + Map obj = new HashMap<>(2); + obj.put("id", id); + obj.put("name", name); + objList.add(obj); + browserMap.put("specialobj", objList); + return browserMap; + } + + /** + * 构建应聘职位浏览按钮 + * + * @param id + * @return + */ + private Map createAppliedPositionBrowserMap(String id) { + Map browserMap = new HashMap<>(2); + if (StringUtils.isBlank(id)) { + return browserMap; + } + browserMap.put("value", id); + RecordSet rs = new RecordSet(); + rs.executeQuery("select zpzwmc from uf_jcl_zp_zpzw where id = ?", id); + if (rs.next()) { + List> objList = new ArrayList<>(); + Map obj = new HashMap<>(2); + obj.put("id", id); + obj.put("name", rs.getString("zpzwmc")); + objList.add(obj); + browserMap.put("specialobj", objList); + } + return browserMap; + } + + /** + * 构建人员浏览按钮值 + * + * @param ids + * @return + */ + private Map createResourceBrowserMap(String ids) { + Map browserMap = new HashMap<>(2); + if (StringUtils.isBlank(ids)) { + return browserMap; + } + browserMap.put("value", ids); + List> objList = new ArrayList<>(); + String[] split = ids.split(","); + try { + ResourceComInfo resourceComInfo = new ResourceComInfo(); + for (String s : split) { + Map obj = new HashMap<>(2); + obj.put("id", s); + obj.put("name", resourceComInfo.getLastname(s)); + objList.add(obj); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + browserMap.put("specialobj", objList); + return browserMap; + + } } diff --git a/src/com/engine/recruit/wrapper/ApplicantResumeWrapper.java b/src/com/engine/recruit/wrapper/ApplicantResumeWrapper.java index 7c482d4..5c2bb58 100644 --- a/src/com/engine/recruit/wrapper/ApplicantResumeWrapper.java +++ b/src/com/engine/recruit/wrapper/ApplicantResumeWrapper.java @@ -21,4 +21,8 @@ public class ApplicantResumeWrapper extends Service { public Map getApplicantsName(String ids) { return getApplicantResumeService(user).getApplicantsName(ids); } + + public Map getInterviewInfoById(String id) { + return getApplicantResumeService(user).getInterviewInfoById(id); + } }