weaver-hrm-recruit/src/com/engine/recruit/conn/ApplicantCommonInfo.java

242 lines
7.5 KiB
Java
Raw Normal View History

2023-10-27 09:27:47 +08:00
package com.engine.recruit.conn;
2023-11-02 14:26:03 +08:00
import com.engine.recruit.entity.record.ApplicantRecordPo;
import com.engine.recruit.entity.recruitflow.po.RecruitStepPo;
2023-10-09 10:31:12 +08:00
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
2023-11-02 14:26:03 +08:00
import weaver.general.BaseBean;
import java.util.*;
2023-10-09 10:31:12 +08:00
/**
* @author:dxfeng
* @createTime: 2023/09/27
* @version: 1.0
*/
public class ApplicantCommonInfo {
/**
* 获取应聘者姓名
*
* @param applicantId 应聘者ID
* @return 应聘者姓名
*/
public static String getApplicantName(String applicantId) {
RecordSet rs = new RecordSet();
rs.executeQuery("select xm from uf_jcl_yppc where id = ?", applicantId);
if (rs.next()) {
return rs.getString("xm");
}
return "";
}
/**
* 获取应聘职位名称
*
* @param positionId 职位ID
* @return 职位名称
*/
public static String getApplicantPosition(String positionId) {
RecordSet rs = new RecordSet();
rs.executeQuery("select zpzwmc from uf_jcl_zp_zpzw where id = ?", positionId);
if (rs.next()) {
return rs.getString("zpzwmc");
}
return "";
}
/**
2023-10-09 10:31:12 +08:00
* 获取表单下拉框展示文本
*
* @param formId 表单ID
* @param fieldName 字段明湖曾
* @param value 下拉框值
* @return
*/
public static String getSelectName(String formId, String fieldName, String value) {
String cancelReason = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select selectname from workflow_selectitem where fieldid =( select id from workflow_billfield where billid = ? and fieldname = ? ) and selectvalue = ?", formId, fieldName, value);
if (rs.next()) {
cancelReason = rs.getString("selectname");
}
return cancelReason;
}
2023-10-09 10:31:12 +08:00
/**
* 获取招聘通用浏览按钮展示内容
*
* @param id 浏览按钮ID
* @return 浏览按钮展示文本
*/
public static String getRecruitCommonBrowserValue(String id) {
if (StringUtils.isBlank(id)) {
return "";
}
List<String> value = new ArrayList<>();
RecordSet rs = new RecordSet();
String[] split = id.split(",");
for (String s : split) {
rs.executeQuery("select xxnr from uf_sjzd where id = ?", id);
if (rs.next()) {
value.add(rs.getString("xxnr"));
}
}
return StringUtils.join(value, ",");
}
2023-10-17 15:18:53 +08:00
/**
* 根据建模表名,获取建模ID
*
* @param modeTable
* @return
*/
public static int getModeIdByTableName(String modeTable) {
int formModeId = -1;
RecordSet rs = new RecordSet();
2023-12-04 09:24:34 +08:00
rs.executeQuery("select id from modeinfo where formid =( select id from workflow_bill where tablename = ? ) order by id", modeTable);
2023-10-17 15:18:53 +08:00
if (rs.next()) {
formModeId = rs.getInt("id");
}
return formModeId;
}
2023-11-24 15:44:26 +08:00
/**
* 获取指定模块下的布局ID
*
* @param modeId
* @param layoutName
* @return
*/
public static int getLayoutId(int modeId, String layoutName) {
int layoutId = -1;
RecordSet rs = new RecordSet();
rs.executeQuery("select id from modehtmllayout where modeid = ? and layoutname =?", modeId, layoutName);
if (rs.next()) {
layoutId = rs.getInt("id");
}
return layoutId;
}
/**
* 获取字段ID
*
* @param billId
* @param fieldName
* @return
*/
public static int getFieldId(int billId, String fieldName) {
int fieldId = -1;
RecordSet rs = new RecordSet();
rs.executeQuery("select id from workflow_billfield where billid =? and fieldname = ?", billId, fieldName);
if (rs.next()) {
fieldId = rs.getInt("id");
}
return fieldId;
}
/**
* 获取查询ID
*
* @param modeId
* @param customName
* @return
*/
public static int getCustomId(int modeId, String customName) {
int customId = -1;
RecordSet rs = new RecordSet();
rs.executeQuery("select id from mode_customsearch where modeid = ? and customname = ? ", modeId, customName);
if (rs.next()) {
customId = rs.getInt("id");
}
return customId;
}
2023-11-03 14:22:47 +08:00
/**
* 根据表名获取表单ID
*
* @param modeTable
* @return
*/
public static int getFormIdByTableName(String modeTable) {
int formId = -1;
RecordSet rs = new RecordSet();
rs.executeQuery("select id from workflow_bill where tablename = ? ", modeTable);
if (rs.next()) {
formId = rs.getInt("id");
}
return formId;
}
2023-11-02 14:26:03 +08:00
public static int createOperateRecord(ApplicantRecordPo recordPo) {
try {
int operateId = recordPo.getUser().getUID();
String operateTableName = "uf_jcl_ypgc";
RecruitDataMap<Object> dataMap = new RecruitDataMap<>();
String uuid = UUID.randomUUID().toString();
dataMap.put("modeuuid", uuid);
int formModeId = getModeIdByTableName(operateTableName);
dataMap.put("formmodeid", formModeId);
RecruitRecordSet.buildModeInsertFields(dataMap, operateId);
dataMap.put("czyw", recordPo.getRecordOperateType().getShowName());
dataMap.put("czsj", recordPo.getOperateTime());
dataMap.put("jlnr", recordPo.getContent());
dataMap.put("xqnr", recordPo.getLinkUrl());
dataMap.put("ypz", recordPo.getPcId());
RecruitRecordSet.insertData(dataMap, operateTableName);
return RecruitRecordSet.refreshRight(uuid, operateTableName, formModeId, operateId);
} catch (Exception e) {
new BaseBean().writeLog("应聘过程记录数据插入失败", e);
}
return -1;
}
public static RecruitStepPo getCurrentStep(String billId) {
RecruitStepPo stepPo = new RecruitStepPo();
RecordSet rs = new RecordSet();
// 招聘阶段ID
String stageId = null;
// 招聘流程ID
int recruitFlowId = -1;
rs.executeQuery("select zplc,zpjd from uf_jcl_yppc where id = ?", billId);
if (rs.next()) {
recruitFlowId = rs.getInt("zplc");
stageId = rs.getString("zpjd");
}
if (-1 == recruitFlowId) {
return stepPo;
}
2023-11-03 14:22:47 +08:00
if (StringUtils.isNotBlank(stageId)) {
2023-11-02 14:26:03 +08:00
rs.executeQuery("select id,jdmc,hj from uf_jcl_zpjdsz where sfqy = 0 and id = ? ", stageId);
} else {
rs.executeQuery("select id,jdmc,hj from uf_jcl_zpjdsz where sfqy = 0 and zplc = ? and hj = 0", recruitFlowId);
}
if (rs.next()) {
stepPo = RecruitStepPo.builder().key(rs.getInt("id")).description(rs.getString("jdmc")).type(rs.getString("hj")).build();
}
return stepPo;
}
/**
* 获取流程开始阶段阶段类型
*
* @param flowId 流程ID
* @return
*/
public static Map<String, String> getInitialStage(String flowId) {
RecordSet rs = new RecordSet();
rs.executeQuery("select id,jdlx from uf_jcl_zpjdsz where sfqy = 0 and zplc = ? and hj = 0", flowId);
if (rs.next()) {
Map<String, String> map = new HashMap<>();
map.put("zpjd", rs.getString("id"));
map.put("jdlx", rs.getString("jdlx"));
return map;
}
return null;
}
}