2023-10-27 09:27:47 +08:00
package com.engine.recruit.conn ;
2023-09-27 13:35:02 +08:00
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 ;
2023-09-27 13:35:02 +08:00
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-09-27 13:35:02 +08:00
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
2023-09-27 13:35:02 +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
* 获取表单下拉框展示文本
2023-09-27 13:35:02 +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 ;
}
2023-09-27 13:35:02 +08:00
}