ADD-应聘者列表卡片接口

This commit is contained in:
dxfeng 2024-08-13 15:46:24 +08:00
parent ec6a4d02c9
commit 2a78b11d99
5 changed files with 314 additions and 19 deletions

View File

@ -1,9 +1,46 @@
package com.engine.recruit.entity.card.process;
import org.apache.commons.lang3.StringUtils;
/**
* @author:dxfeng
* @createTime: 2024/08/07
* @version: 1.0
*/
public class BackProcess {
public static final String ICON_NAME = "back.png";
public static final String TITLE = "最近背调";
private String dcrq;
private String dcjg;
public String getDcrq() {
return dcrq;
}
public void setDcrq(String dcrq) {
this.dcrq = dcrq;
}
public String getDcjg() {
if ("0".equals(dcjg)) {
return "通过";
} else if ("1".equals(dcjg)) {
return "不通过";
}
return "待定";
}
public void setDcjg(String dcjg) {
this.dcjg = dcjg;
}
@Override
public String toString() {
if (StringUtils.isBlank(dcjg)) {
return "暂无背调结果";
} else {
return getDcrq() + " " + getDcjg();
}
}
}

View File

@ -1,14 +1,96 @@
package com.engine.recruit.entity.card.process;
import org.apache.commons.lang3.StringUtils;
import weaver.general.BaseBean;
import weaver.hrm.resource.ResourceComInfo;
/**
* @author:dxfeng
* @createTime: 2024/08/07
* @version: 1.0
*/
public class InterviewProcess {
public static final String ICON_NAME = "written.png";
public static final String TITLE = "最近笔试";
public static final String ICON_NAME = "interview.png";
public static final String TITLE = "最近面试";
private String zt;
private String msrq;
private String msg;
private String ptmsg;
private String jg;
public String getZt() {
if ("0".equals(zt)) {
return "待面试";
} else if ("1".equals(zt)) {
return "已反馈";
}
return "已取消";
}
public void setZt(String zt) {
this.zt = zt;
}
public String getMsrq() {
return msrq;
}
public void setMsrq(String msrq) {
this.msrq = msrq;
}
public String getMsg() {
try {
String lastnames = new ResourceComInfo().getLastnames(msg);
if (StringUtils.isNotBlank(lastnames)) {
return "面试官:" + lastnames;
}
} catch (Exception e) {
new BaseBean().writeLog("人员姓名转换失败", e);
}
return "";
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getPtmsg() {
try {
String lastnames = new ResourceComInfo().getLastnames(ptmsg);
if (StringUtils.isNotBlank(lastnames)) {
return "陪同面试官:" + lastnames;
}
} catch (Exception e) {
new BaseBean().writeLog("人员姓名转换失败", e);
}
return "";
}
public void setPtmsg(String ptmsg) {
this.ptmsg = ptmsg;
}
public String getJg() {
if ("0".equals(jg)) {
return "通过";
} else if ("1".equals(jg)) {
return "不通过";
}
return "待定";
}
public void setJg(String jg) {
this.jg = jg;
}
@Override
public String toString() {
if ("0".equals(zt)) {
return getMsrq() + " " + getZt() + " (" + getMsg() + ")";
}
return getMsrq() + " " + getJg() + " (" + getMsg() + ")";
}
}

View File

@ -1,9 +1,59 @@
package com.engine.recruit.entity.card.process;
import org.apache.commons.lang3.StringUtils;
/**
* @author:dxfeng
* @createTime: 2024/08/07
* @version: 1.0
*/
public class OfferProcess {
public static final String ICON_NAME = "offer.png";
public static final String TITLE = "offer状态";
private String zt;
private String fksj;
public String getZt() {
String ztStr = "";
if (StringUtils.isNotBlank(zt)) {
switch (zt) {
case "0":
ztStr = "未发送";
break;
case "1":
ztStr = "已发送待反馈";
break;
case "2":
ztStr = "已拒绝";
break;
case "3":
ztStr = "已接受";
break;
case "5":
ztStr = "逾期未回复";
break;
default:
break;
}
}
return ztStr;
}
public void setZt(String zt) {
this.zt = zt;
}
public String getFksj() {
return fksj;
}
public void setFksj(String fksj) {
this.fksj = fksj;
}
@Override
public String toString() {
return getZt() + " " + getFksj();
}
}

View File

@ -1,9 +1,46 @@
package com.engine.recruit.entity.card.process;
import org.apache.commons.lang3.StringUtils;
/**
* @author:dxfeng
* @createTime: 2024/08/07
* @version: 1.0
*/
public class SalaryProcess {
public static final String ICON_NAME = "salray.png";
public static final String TITLE = "最近薪酬谈判";
private String tpsj;
private String tpjg;
public String getTpsj() {
return tpsj;
}
public void setTpsj(String tpsj) {
this.tpsj = tpsj;
}
public String getTpjg() {
if ("0".equals(tpjg)) {
return "成功";
} else if ("1".equals(tpjg)) {
return "失败";
}
return "待定";
}
public void setTpjg(String tpjg) {
this.tpjg = tpjg;
}
@Override
public String toString() {
if (StringUtils.isBlank(tpjg)) {
return "暂无薪酬谈判结果";
} else {
return getTpsj() + " " + getTpjg();
}
}
}

View File

@ -3,8 +3,7 @@ package com.engine.recruit.service.impl;
import com.engine.core.impl.Service;
import com.engine.recruit.conn.*;
import com.engine.recruit.entity.card.*;
import com.engine.recruit.entity.card.process.ScreenProcess;
import com.engine.recruit.entity.card.process.WrittenProcess;
import com.engine.recruit.entity.card.process.*;
import com.engine.recruit.entity.record.ApplicantRecordPo;
import com.engine.recruit.enums.ApplicantOperateEnum;
import com.engine.recruit.enums.ApplicationStatusEnum;
@ -24,6 +23,7 @@ import weaver.hrm.resource.ResourceComInfo;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author:dxfeng
@ -469,6 +469,8 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
buildSalaryProcess(id, rs, recruitProcessList);
// offer状态若未产生数据则不显示若有数据了则显示offer状态若反馈时间有数值则显示没数值则不现实
buildOfferProcess(id, rs, recruitProcessList);
recruitProcessList = recruitProcessList.stream().sorted(Comparator.comparing(RecruitProcess::getCreateDateTime)).collect(Collectors.toList());
resumeCardInfo.setRecruitProcess(recruitProcessList);
@ -524,6 +526,7 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
/**
* 最近笔试若未发起则不显示若有记录但是无分数和结果的显示暂无得分结果若有结果则显示得分结果若存在多条则显示最新的数据若存在多条则取最新的笔试时间
*
* @param id
* @param rs
* @param recruitProcessList
@ -556,47 +559,133 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
/**
* 最近面试若未发起则不显示若有记录但是是待面试显示面试时间待面试面试官若有结果则显示面试时间结果面试官若存在多条则显示最新的数据若存在多条则取最新的面试时间
*
* @param id
* @param rs
* @param recruitProcessList
*/
private void buildInterviewProcess(String id, RecordSet rs, List<RecruitProcess> recruitProcessList) {
rs.executeQuery("select bsmc ,bscj ,bsjg ,modedatacreatedate ,modedatacreatetime from uf_jcl_bs where ypz = ? order by bssj desc", id);
rs.executeQuery("select zt, msrq, msg, ptmsg, jg, modedatacreatedate, modedatacreatetime from uf_jcl_ms where ypz = ? order by msrq desc", id);
if (rs.next()) {
// 笔试名称
String bsmc = rs.getString("bsmc");
// 笔试成绩
String bscj = rs.getString("bscj");
// 笔试结果
String bsjg = rs.getString("bsjg");
// 面试状态
String zt = rs.getString("zt");
// 面试日期
String msrq = rs.getString("msrq");
// 面试官
String msg = rs.getString("msg");
// 陪同面试官
String ptmsg = rs.getString("ptmsg");
// 结果
String jg = rs.getString("jg");
String date = rs.getString("modedatacreatedate");
String time = rs.getString("modedatacreatetime");
WrittenProcess writtenProcess = new WrittenProcess();
writtenProcess.setBsmc(bsmc);
writtenProcess.setBscj(bscj);
writtenProcess.setBsjg(bsjg);
InterviewProcess interviewProcess = new InterviewProcess();
interviewProcess.setZt(zt);
interviewProcess.setMsrq(msrq);
interviewProcess.setMsg(msg);
interviewProcess.setPtmsg(ptmsg);
interviewProcess.setJg(jg);
RecruitProcess process = new RecruitProcess();
process.setTitle(WrittenProcess.TITLE);
process.setIcon(WrittenProcess.ICON_NAME);
process.setValue(writtenProcess.toString());
process.setTitle(InterviewProcess.TITLE);
process.setIcon(InterviewProcess.ICON_NAME);
process.setValue(interviewProcess.toString());
process.setCreateDateTime(DateUtil.parseToDateTime(date + " " + time));
recruitProcessList.add(process);
}
}
/**
* 最近背调若未发起则不显示若有记录但是无结果的显示暂无背调结果若有结果则显示背调日期结果若存在多条则显示最新的数据若存在多条则取最新的背调时间
*
* @param id
* @param rs
* @param recruitProcessList
*/
private void buildBackProcess(String id, RecordSet rs, List<RecruitProcess> recruitProcessList) {
rs.executeQuery("select dcrq, dcjg, modedatacreatedate, modedatacreatetime from uf_jcl_bd where ypz = ? order by dcrq desc", id);
if (rs.next()) {
// 调查日期
String dcrq = rs.getString("dcrq");
// 调查结果
String dcjg = rs.getString("dcjg");
String date = rs.getString("modedatacreatedate");
String time = rs.getString("modedatacreatetime");
BackProcess backProcess = new BackProcess();
backProcess.setDcjg(dcjg);
backProcess.setDcrq(dcrq);
RecruitProcess process = new RecruitProcess();
process.setTitle(BackProcess.TITLE);
process.setIcon(BackProcess.ICON_NAME);
process.setValue(backProcess.toString());
process.setCreateDateTime(DateUtil.parseToDateTime(date + " " + time));
recruitProcessList.add(process);
}
}
/**
* 最近薪酬谈判若未发起则不显示若有记录但是无结果的显示暂无薪酬谈判结果若有结果则显示谈判日期结果若存在多条则显示最新的数据若存在多条则取最新的谈判时间
* @param id
* @param rs
* @param recruitProcessList
*/
private void buildSalaryProcess(String id, RecordSet rs, List<RecruitProcess> recruitProcessList) {
rs.executeQuery("select tpsj, tpjg, modedatacreatedate, modedatacreatetime from uf_jcl_xctp where ypz = ? order by tpsj desc", id);
if (rs.next()) {
// 谈判时间
String tpsj = rs.getString("tpsj");
// 谈判结果
String tpjg = rs.getString("tpjg");
String date = rs.getString("modedatacreatedate");
String time = rs.getString("modedatacreatetime");
SalaryProcess salaryProcess = new SalaryProcess();
salaryProcess.setTpjg(tpjg);
salaryProcess.setTpsj(tpsj);
RecruitProcess process = new RecruitProcess();
process.setTitle(SalaryProcess.TITLE);
process.setIcon(SalaryProcess.ICON_NAME);
process.setValue(salaryProcess.toString());
process.setCreateDateTime(DateUtil.parseToDateTime(date + " " + time));
recruitProcessList.add(process);
}
}
/**
* offer状态若未产生数据则不显示若有数据了则显示offer状态若反馈时间有数值则显示没数值则不现实
* @param id
* @param rs
* @param recruitProcessList
*/
private void buildOfferProcess(String id, RecordSet rs, List<RecruitProcess> recruitProcessList) {
rs.executeQuery("select zt, fksj, modedatacreatedate, modedatacreatetime from uf_jcl_offer where xm = ? order by modedatacreatedate desc,modedatacreatetime desc", id);
if (rs.next()) {
// offer状态
String zt = rs.getString("zt");
// 反馈时间
String fksj = rs.getString("fksj");
String date = rs.getString("modedatacreatedate");
String time = rs.getString("modedatacreatetime");
OfferProcess offerProcess = new OfferProcess();
offerProcess.setFksj(fksj);
offerProcess.setZt(zt);
RecruitProcess process = new RecruitProcess();
process.setTitle(OfferProcess.TITLE);
process.setIcon(OfferProcess.ICON_NAME);
process.setValue(offerProcess.toString());
process.setCreateDateTime(DateUtil.parseToDateTime(date + " " + time));
recruitProcessList.add(process);
}
}
/**