package com.engine.recruit.conn; import com.engine.recruit.entity.record.ApplicantRecordPo; import com.engine.recruit.entity.recruitflow.po.RecruitStepPo; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.BaseBean; import java.util.*; /** * @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 ""; } /** * 获取表单下拉框展示文本 * * @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; } /** * 获取招聘通用浏览按钮展示内容 * * @param id 浏览按钮ID * @return 浏览按钮展示文本 */ public static String getRecruitCommonBrowserValue(String id) { if (StringUtils.isBlank(id)) { return ""; } List 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, ","); } /** * 根据建模表名,获取建模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 = ? ) order by id", modeTable); if (rs.next()) { formModeId = rs.getInt("id"); } return formModeId; } /** * 获取指定模块下的布局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; } /** * 根据表名,获取表单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; } public static int createOperateRecord(ApplicantRecordPo recordPo) { try { int operateId = recordPo.getUser().getUID(); String operateTableName = "uf_jcl_ypgc"; RecruitDataMap 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.isNotBlank(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; } /** * 获取流程开始阶段,阶段类型 * * @param flowId 流程ID * @return */ public static Map 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 map = new HashMap<>(); map.put("zpjd", rs.getString("id")); map.put("jdlx", rs.getString("jdlx")); return map; } return null; } /** * 获取ImageField * * @param docId * @return */ public static int getImageFieldByDocId(String docId) { RecordSet rs = new RecordSet(); rs.executeQuery("select imagefileid from docimagefile where docid = ? ", docId); if (rs.next()) { return rs.getInt("imagefileid"); } return -1; } }