generated from dxfeng/secondev-chapanda-feishu
应聘者列表卡片改造,暂存
This commit is contained in:
parent
39c0a582cd
commit
fc01647ef0
|
|
@ -5,6 +5,8 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2024/08/01
|
||||
|
|
@ -18,4 +20,5 @@ public class RecruitProcess {
|
|||
private String title;
|
||||
private String value;
|
||||
private String icon;
|
||||
private Date createDateTime;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
package com.engine.recruit.entity.card.process;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2024/08/07
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class BackProcess {
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.engine.recruit.entity.card.process;
|
||||
|
||||
/**
|
||||
* @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 = "最近笔试";
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package com.engine.recruit.entity.card.process;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2024/08/07
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class OfferProcess {
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package com.engine.recruit.entity.card.process;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2024/08/07
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class SalaryProcess {
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
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 ScreenProcess {
|
||||
private String zt;
|
||||
private String jg;
|
||||
private String fkr;
|
||||
|
||||
public static final String ICON_NAME = "screen.png";
|
||||
public static final String TITLE = "最近筛选结果";
|
||||
|
||||
public String getZt() {
|
||||
if("1".equals(zt)){
|
||||
return "已反馈";
|
||||
}
|
||||
return "待反馈";
|
||||
}
|
||||
|
||||
public void setZt(String zt) {
|
||||
this.zt = zt;
|
||||
}
|
||||
|
||||
public String getJg() {
|
||||
if ("0".equals(jg)) {
|
||||
return "通过";
|
||||
} else if ("1".equals(jg)) {
|
||||
return "不通过";
|
||||
}
|
||||
return "待定";
|
||||
}
|
||||
|
||||
public void setJg(String jg) {
|
||||
this.jg = jg;
|
||||
}
|
||||
|
||||
public String getFkr() {
|
||||
try {
|
||||
String lastnames = new ResourceComInfo().getLastnames(fkr);
|
||||
if (StringUtils.isNotBlank(lastnames)) {
|
||||
return "反馈人:" + lastnames;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
new BaseBean().writeLog("人员姓名转换失败", e);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public void setFkr(String fkr) {
|
||||
this.fkr = fkr;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
if ("1".equals(zt)) {
|
||||
return getJg() + "(" + getFkr() + ")";
|
||||
}
|
||||
return getZt() + "(" + getFkr() + ")";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
package com.engine.recruit.entity.card.process;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2024/08/07
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class WrittenProcess {
|
||||
private String bsmc;
|
||||
private String bscj;
|
||||
private String bsjg;
|
||||
|
||||
public static final String ICON_NAME = "written.png";
|
||||
public static final String TITLE = "最近笔试";
|
||||
|
||||
public String getBsmc() {
|
||||
return bsmc;
|
||||
}
|
||||
|
||||
public void setBsmc(String bsmc) {
|
||||
this.bsmc = bsmc;
|
||||
}
|
||||
|
||||
public String getBscj() {
|
||||
return bscj;
|
||||
}
|
||||
|
||||
public void setBscj(String bscj) {
|
||||
this.bscj = bscj;
|
||||
}
|
||||
|
||||
public String getBsjg() {
|
||||
if ("0".equals(bsjg)) {
|
||||
return "通过";
|
||||
} else if ("1".equals(bsjg)) {
|
||||
return "不通过";
|
||||
}
|
||||
return "待定";
|
||||
}
|
||||
|
||||
public void setBsjg(String bsjg) {
|
||||
this.bsjg = bsjg;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
if (StringUtils.isBlank(bscj) || StringUtils.isBlank(bsjg)) {
|
||||
return getBsmc() + " 暂无得分结果";
|
||||
}
|
||||
return getBsmc() + " " + getBscj() + "分 " + getBsjg();
|
||||
}
|
||||
}
|
||||
|
|
@ -2,10 +2,9 @@ package com.engine.recruit.service.impl;
|
|||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.recruit.conn.*;
|
||||
import com.engine.recruit.entity.card.EduInfo;
|
||||
import com.engine.recruit.entity.card.ResumeCardInfo;
|
||||
import com.engine.recruit.entity.card.Tags;
|
||||
import com.engine.recruit.entity.card.WorkInfo;
|
||||
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.record.ApplicantRecordPo;
|
||||
import com.engine.recruit.enums.ApplicantOperateEnum;
|
||||
import com.engine.recruit.enums.ApplicationStatusEnum;
|
||||
|
|
@ -390,7 +389,6 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
|
|||
// 基本信息构建
|
||||
resumeCardInfo.setId(map.getInt("id"));
|
||||
resumeCardInfo.setLastName(map.getString("xm"));
|
||||
// TODO 照片处理
|
||||
String jlzp = map.getString("jlzp");
|
||||
if (StringUtils.isNotBlank(jlzp)) {
|
||||
try {
|
||||
|
|
@ -458,7 +456,20 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
|
|||
resumeCardInfo.setWorkInfo(workInfoList);
|
||||
|
||||
// 招聘过程
|
||||
resumeCardInfo.setRecruitProcess(new ArrayList<>());
|
||||
List<RecruitProcess> recruitProcessList = new ArrayList<>();
|
||||
// 若未发起反馈则不展示,若有且均为待反馈的,则显示待反馈,反馈人;若存在已反馈记录的,则显示,反馈结果,反馈人【取最新反馈的结果】;若存在多条则取最新的【创建时间】
|
||||
buildScreenProcess(id, rs, recruitProcessList);
|
||||
// 最近笔试:若未发起,则不显示,若有记录但是无分数和结果的,显示“暂无得分结果”;若有结果则显示“得分、结果”;若存在多条,则显示最新的数据;若存在多条则取最新的【笔试时间】
|
||||
buildWrittenProcess(id, rs, recruitProcessList);
|
||||
// 最近面试:若未发起,则不显示,若有记录但是是“待面试”,显示“面试时间、待面试、面试官”;若有结果则显示“面试时间、结果、面试官”;若存在多条,则显示最新的数据;若存在多条则取最新的【面试时间】
|
||||
buildInterviewProcess(id, rs, recruitProcessList);
|
||||
// 最近背调:若未发起,则不显示,若有记录但是无结果的,显示“暂无背调结果”;若有结果则显示“背调日期,结果”;若存在多条,则显示最新的数据;若存在多条则取最新的【背调时间】
|
||||
buildBackProcess(id, rs, recruitProcessList);
|
||||
// 最近薪酬谈判:若未发起,则不显示,若有记录但是无结果的,显示“暂无薪酬谈判结果”;若有结果则显示“谈判日期,结果”;若存在多条,则显示最新的数据;若存在多条则取最新的【谈判时间】
|
||||
buildSalaryProcess(id, rs, recruitProcessList);
|
||||
// offer状态:若未产生数据则不显示,若有数据了,则显示offer状态,若反馈时间有数值,则显示,没数值则不现实
|
||||
buildOfferProcess(id, rs, recruitProcessList);
|
||||
resumeCardInfo.setRecruitProcess(recruitProcessList);
|
||||
|
||||
|
||||
resumeCardInfos.add(resumeCardInfo);
|
||||
|
|
@ -479,6 +490,115 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 若未发起反馈则不展示,若有且均为待反馈的,则显示待反馈,反馈人;若存在已反馈记录的,则显示,反馈结果,反馈人【取最新反馈的结果】;若存在多条则取最新的【创建时间】
|
||||
*
|
||||
* @param id
|
||||
* @param rs
|
||||
* @param recruitProcessList
|
||||
*/
|
||||
private void buildScreenProcess(String id, RecordSet rs, List<RecruitProcess> recruitProcessList) {
|
||||
rs.executeQuery("select zt,fkr,jg,modedatacreatedate,modedatacreatetime from uf_jcl_bmsxfk where ypz = ? order by modedatacreatedate desc,modedatacreatetime desc", id);
|
||||
if (rs.next()) {
|
||||
// 状态
|
||||
String zt = rs.getString("zt");
|
||||
// 反馈人
|
||||
String fkr = rs.getString("fkr");
|
||||
// 结果
|
||||
String jg = rs.getString("jg");
|
||||
String date = rs.getString("modedatacreatedate");
|
||||
String time = rs.getString("modedatacreatetime");
|
||||
|
||||
ScreenProcess screenProcess = new ScreenProcess();
|
||||
screenProcess.setZt(zt);
|
||||
screenProcess.setFkr(fkr);
|
||||
screenProcess.setJg(jg);
|
||||
RecruitProcess process = new RecruitProcess();
|
||||
process.setTitle(ScreenProcess.TITLE);
|
||||
process.setIcon(ScreenProcess.ICON_NAME);
|
||||
process.setValue(screenProcess.toString());
|
||||
process.setCreateDateTime(DateUtil.parseToDateTime(date + " " + time));
|
||||
recruitProcessList.add(process);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 最近笔试:若未发起,则不显示,若有记录但是无分数和结果的,显示“暂无得分结果”;若有结果则显示“得分、结果”;若存在多条,则显示最新的数据;若存在多条则取最新的【笔试时间】
|
||||
* @param id
|
||||
* @param rs
|
||||
* @param recruitProcessList
|
||||
*/
|
||||
private void buildWrittenProcess(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);
|
||||
if (rs.next()) {
|
||||
// 笔试名称
|
||||
String bsmc = rs.getString("bsmc");
|
||||
// 笔试成绩
|
||||
String bscj = rs.getString("bscj");
|
||||
// 笔试结果
|
||||
String bsjg = rs.getString("bsjg");
|
||||
String date = rs.getString("modedatacreatedate");
|
||||
String time = rs.getString("modedatacreatetime");
|
||||
|
||||
WrittenProcess writtenProcess = new WrittenProcess();
|
||||
writtenProcess.setBsmc(bsmc);
|
||||
writtenProcess.setBscj(bscj);
|
||||
writtenProcess.setBsjg(bsjg);
|
||||
|
||||
RecruitProcess process = new RecruitProcess();
|
||||
process.setTitle(WrittenProcess.TITLE);
|
||||
process.setIcon(WrittenProcess.ICON_NAME);
|
||||
process.setValue(writtenProcess.toString());
|
||||
process.setCreateDateTime(DateUtil.parseToDateTime(date + " " + time));
|
||||
recruitProcessList.add(process);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 最近面试:若未发起,则不显示,若有记录但是是“待面试”,显示“面试时间、待面试、面试官”;若有结果则显示“面试时间、结果、面试官”;若存在多条,则显示最新的数据;若存在多条则取最新的【面试时间】
|
||||
* @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);
|
||||
if (rs.next()) {
|
||||
// 笔试名称
|
||||
String bsmc = rs.getString("bsmc");
|
||||
// 笔试成绩
|
||||
String bscj = rs.getString("bscj");
|
||||
// 笔试结果
|
||||
String bsjg = rs.getString("bsjg");
|
||||
String date = rs.getString("modedatacreatedate");
|
||||
String time = rs.getString("modedatacreatetime");
|
||||
|
||||
WrittenProcess writtenProcess = new WrittenProcess();
|
||||
writtenProcess.setBsmc(bsmc);
|
||||
writtenProcess.setBscj(bscj);
|
||||
writtenProcess.setBsjg(bsjg);
|
||||
|
||||
RecruitProcess process = new RecruitProcess();
|
||||
process.setTitle(WrittenProcess.TITLE);
|
||||
process.setIcon(WrittenProcess.ICON_NAME);
|
||||
process.setValue(writtenProcess.toString());
|
||||
process.setCreateDateTime(DateUtil.parseToDateTime(date + " " + time));
|
||||
recruitProcessList.add(process);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void buildBackProcess(String id, RecordSet rs, List<RecruitProcess> recruitProcessList) {
|
||||
|
||||
}
|
||||
|
||||
private void buildSalaryProcess(String id, RecordSet rs, List<RecruitProcess> recruitProcessList) {
|
||||
|
||||
}
|
||||
|
||||
private void buildOfferProcess(String id, RecordSet rs, List<RecruitProcess> recruitProcessList) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建普通数据格式
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue