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

212 lines
7.3 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-10-17 15:18:53 +08:00
import weaver.formmode.setup.ModeRightInfo;
2023-11-02 14:26:03 +08:00
import weaver.general.BaseBean;
2023-10-17 15:18:53 +08:00
import weaver.general.Util;
2023-10-09 10:31:12 +08:00
import java.util.ArrayList;
import java.util.List;
2023-11-02 14:26:03 +08:00
import java.util.UUID;
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();
rs.executeQuery("select id from modeinfo where formid =( select id from workflow_bill where tablename = ? )", modeTable);
if (rs.next()) {
formModeId = rs.getInt("id");
}
return formModeId;
}
/**
* 建模表数据权限重构
*
* @param rs
* @param uuid
* @param modeTable
* @param formModeId
*/
public static int refreshRight(RecordSet rs, String uuid, String modeTable, int formModeId) {
rs.executeQuery("select id from " + modeTable + " where modeuuid='" + uuid + "'");
if (rs.next()) {
//建模数据的id
int bid = Util.getIntValue(rs.getString("id"));
ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.setNewRight(true);
//新建的时候添加共享
modeRightInfo.editModeDataShare(1, formModeId, bid);
return bid;
}
return -1;
}
2023-11-02 14:26:03 +08:00
/**
* 创建操作记录数据
*
* @param operateName 操作业务
* @param operateTime 操作时间
* @param content 操作内容
* @param operateId 操作者ID
* @param linkUrl 操作链接地址
* @return 操作记录数据ID
*/
public static int createOperateRecord(String operateName, String operateTime, String content, int operateId, String linkUrl) {
try {
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", operateName);
dataMap.put("czsj", operateTime);
dataMap.put("jlnr", content);
dataMap.put("xqnr", linkUrl);
RecruitRecordSet.insertData(dataMap, operateTableName);
return RecruitRecordSet.refreshRight(uuid, operateTableName, formModeId, operateId);
} catch (Exception e) {
new BaseBean().writeLog("应聘过程记录数据插入失败", e);
}
return -1;
}
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;
}
if (StringUtils.isBlank(stageId)) {
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;
}
}