2024-03-12 10:30:04 +08:00
package weaver.interfaces.recruit.cronjob ;
import cn.hutool.core.convert.Convert ;
import com.api.cube.util.CubeCipherUitl ;
import com.engine.recruit.conn.ApplicantCommonInfo ;
import com.engine.recruit.conn.RecruitDataMap ;
import com.engine.recruit.conn.RecruitRecordSet ;
2024-03-14 11:02:09 +08:00
import com.engine.recruit.constant.ModeSearchCodeConstant ;
2024-03-12 10:30:04 +08:00
import com.engine.recruit.constant.RecruitConstant ;
import com.engine.recruit.exception.CustomizeRunTimeException ;
import org.apache.commons.lang3.StringUtils ;
import weaver.common.DateUtil ;
import weaver.conn.RecordSet ;
import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil ;
import weaver.formmode.service.RemindJobService ;
import weaver.formmode.task.TaskService ;
import weaver.formmode.virtualform.VirtualFormHandler ;
import weaver.general.BaseBean ;
import weaver.general.Util ;
import weaver.hrm.resource.ResourceComInfo ;
import weaver.interfaces.schedule.BaseCronJob ;
import java.util.* ;
import java.util.concurrent.ConcurrentHashMap ;
/ * *
* @author : dxfeng
* @createTime : 2024 / 03 / 07
* @version : 1 . 0
* /
public class ResumePushJob extends BaseCronJob {
private final RemindJobService remindJobService = new RemindJobService ( ) ;
private final String remindHistoryTable = " uf_jcl_jldy " ;
private String currentDate ;
private String uuid ;
private Map < Integer , Set < String > > checkRepeatMap ;
private int remindHistoryModeId ;
2024-03-14 11:02:09 +08:00
private String startDate ;
private String endDate ;
public ResumePushJob ( ) {
}
public ResumePushJob ( String startDate , String endDate ) {
this . startDate = startDate ;
this . endDate = endDate ;
}
2024-03-12 10:30:04 +08:00
@Override
public void execute ( ) {
BaseBean baseBean = new BaseBean ( ) ;
baseBean . writeLog ( " 简历订阅推送任务开始... " ) ;
currentDate = DateUtil . getFullDate ( ) ;
uuid = UUID . randomUUID ( ) . toString ( ) ;
checkRepeatMap = new HashMap < > ( ) ;
2024-03-14 11:02:09 +08:00
String sql = " " ;
if ( StringUtils . isNoneBlank ( startDate , endDate ) ) {
sql = " select t1.* from uf_jcl_yppc t1 where t1.tdsj >= ' " + startDate + " ' and t1.tdsj <=' " + endDate + " ' " ;
} else {
Calendar calendar = Calendar . getInstance ( Locale . CHINA ) ;
Calendar limitDate = DateUtil . addMonth ( calendar , - 1 ) ;
Date time = limitDate . getTime ( ) ;
String date = DateUtil . getDate ( time ) ;
// 推送规则,针对一条简历订阅,首次设置订阅规则且启用的,筛选投递时间为一个月内的简历(简历表),后续为增量推送
sql = " select t1.* from uf_jcl_yppc t1 where t1.tdsj >= ' " + date + " ' " ;
}
2024-03-12 10:30:04 +08:00
RecordSet rs = new RecordSet ( ) ;
2024-03-14 11:02:09 +08:00
2024-03-12 10:30:04 +08:00
remindHistoryModeId = ApplicantCommonInfo . getModeIdByTableName ( remindHistoryTable ) ;
// 建模ID
int modeId = ApplicantCommonInfo . getModeIdByTableName ( " uf_jcl_yppc " ) ;
// 简历订阅规则设置,页面拓展ID
String pageExpand = " " ;
rs . executeQuery ( " select id from mode_pageexpand where modeid = ? and expendname = ? " , modeId , " 简历订阅规则设置 " ) ;
if ( rs . next ( ) ) {
pageExpand = rs . getString ( " id " ) ;
}
if ( StringUtils . isBlank ( pageExpand ) ) {
throw new CustomizeRunTimeException ( " 未获取到对应的页面拓展配置信息 " ) ;
}
// 查询所有的消息提醒类型的页面拓展
String taskSql = " select id from mode_timedtask_detail where isenable='1' and id in (select taskdetailid from mode_pageexpanddetail where interfacetype='5' and mainid=?) " ;
rs . executeQuery ( taskSql , pageExpand ) ;
List < Map < String , Object > > taskDetailList = RecruitRecordSet . getRecordMapList ( rs ) ;
Map < Integer , Integer > remindCountJob = new ConcurrentHashMap < > ( ) ;
baseBean . writeLog ( " 简历订阅推送任务生成列表数据... " ) ;
for ( Map < String , Object > map : taskDetailList ) {
String taskDetailId = Util . null2String ( map . get ( " id " ) ) ;
Map < String , Object > taskDetailMap = remindJobService . getTaskDetailById ( Convert . toInt ( taskDetailId ) ) ;
String conditionsType = Util . null2String ( taskDetailMap . get ( " conditionstype " ) ) ;
String whereSql = " " ;
if ( " 1 " . equals ( conditionsType ) ) {
whereSql = Util . null2String ( taskDetailMap . get ( " conditionsfield " ) ) ;
} else if ( " 2 " . equals ( conditionsType ) ) {
whereSql = Util . null2String ( taskDetailMap . get ( " conditionssql " ) ) ;
}
rs . executeQuery ( sql + ( StringUtils . isNotBlank ( whereSql ) ? " and ( " + whereSql + " ) " : " " ) ) ;
List < Map < String , Object > > recordMapList = RecruitRecordSet . getRecordMapList ( rs ) ;
for ( Map < String , Object > recordMap : recordMapList ) {
String billId = Util . null2String ( recordMap . get ( " id " ) ) ;
// 判断当前规则,有无推送过这条数据,同一规则,不重复推送数据
boolean push = isPush ( billId , taskDetailId ) ;
if ( ! push ) {
continue ;
}
// 该规则推送的人员ID集合
Set < Integer > remindUserList = getRemindUserSet ( taskDetailMap , billId ) ;
// 统计每个人推送多少条数据
for ( Integer remindUserId : remindUserList ) {
// 插入订阅历史表数据
insertPushHistory ( recordMap , remindUserId , remindCountJob ) ;
}
}
}
// 简历订阅列表URL
2024-03-14 11:02:09 +08:00
String remindSearchLink = ApplicantCommonInfo . getCustomSearchLink ( ModeSearchCodeConstant . RESUME_SUBSCRIPTION , RecruitConstant . REMIND_SEARCH_LINK ) ;
2024-03-12 10:30:04 +08:00
if ( StringUtils . isNotBlank ( remindSearchLink ) ) {
remindSearchLink + = " &uuid= " + uuid ;
}
baseBean . writeLog ( " 简历订阅推送任务发送消息提醒... " ) ;
// 给每个人推送当前规则的代办
for ( Map . Entry < Integer , Integer > entry : remindCountJob . entrySet ( ) ) {
Integer key = entry . getKey ( ) ;
Integer value = entry . getValue ( ) ;
// 发送代办
Set < String > userIds = new HashSet < > ( 1 ) ;
userIds . add ( Integer . toString ( key ) ) ;
2024-03-14 11:02:09 +08:00
RecruitModeUtil . messagePush ( RecruitConstant . RECRUIT_MESSAGE_TYPE , " 简历订阅推送提醒 " , " 有{ " + value . toString ( ) + " }条简历推送给您,请查阅。 " , userIds , 1 , remindSearchLink , " " ) ;
2024-03-12 10:30:04 +08:00
}
baseBean . writeLog ( " 简历订阅推送任务结束... " ) ;
}
/ * *
* 插入订阅历史表数据
*
* @param recordMap
* @param remindUserId
* @param remindCountJob
* /
private void insertPushHistory ( Map < String , Object > recordMap , Integer remindUserId , Map < Integer , Integer > remindCountJob ) {
if ( recordMap = = null | | recordMap . isEmpty ( ) ) {
return ;
}
String billId = Util . null2String ( recordMap . get ( " id " ) ) ;
Set < String > hashSet = new HashSet < > ( ) ;
if ( checkRepeatMap . containsKey ( remindUserId ) ) {
Set < String > containsSet = checkRepeatMap . get ( remindUserId ) ;
if ( containsSet . contains ( billId ) ) {
return ;
}
hashSet . addAll ( containsSet ) ;
}
hashSet . add ( billId ) ;
checkRepeatMap . put ( remindUserId , hashSet ) ;
RecruitDataMap < Object > insertDataMap = new RecruitDataMap < > ( ) ;
String modeUuid = UUID . randomUUID ( ) . toString ( ) ;
insertDataMap . put ( " modeuuid " , modeUuid ) ;
insertDataMap . put ( " formmodeid " , remindHistoryModeId ) ;
RecruitRecordSet . buildModeInsertFields ( insertDataMap , 1 ) ;
// 姓名
insertDataMap . put ( " xm " , billId ) ;
// 最近投递职位
insertDataMap . put ( " zjtdzw " , recordMap . get ( " ypzw " ) ) ;
// 性别
insertDataMap . put ( " xb " , recordMap . get ( " xb " ) ) ;
// 最高学历
insertDataMap . put ( " zgxl " , recordMap . get ( " zgxl " ) ) ;
// 工作经验
insertDataMap . put ( " gzjy " , recordMap . get ( " gzjy " ) ) ;
// 简历来源
insertDataMap . put ( " jlly " , recordMap . get ( " jlly " ) ) ;
// 推送时间
insertDataMap . put ( " tssj " , currentDate ) ;
// 接收人
insertDataMap . put ( " jsr " , remindUserId ) ;
// UUID
insertDataMap . put ( " uuid " , uuid ) ;
// 插入推送历史表
RecruitRecordSet . insertData ( insertDataMap , remindHistoryTable ) ;
// 权限重构
int id = RecruitRecordSet . refreshRight ( modeUuid , remindHistoryTable , remindHistoryModeId , 1 ) ;
// 统计每个人推送多少条数据
if ( id ! = - 1 ) {
remindCountJob . merge ( remindUserId , 1 , Integer : : sum ) ;
}
}
/ * *
* 获取当前数据 , 配置的提醒对象的ID集合
*
* @param remindJob
* @param billid
* @return
* /
private Set < Integer > getRemindUserSet ( Map < String , Object > remindJob , String billid ) {
String formtype = Util . null2String ( remindJob . get ( " formtype " ) ) ;
//字段id
String id = Util . null2String ( remindJob . get ( " id " ) ) ;
String modeid = Util . null2String ( remindJob . get ( " modeid " ) ) ;
//表单id
String formid = Util . null2String ( remindJob . get ( " formid " ) ) ;
TaskService taskService = new TaskService ( ) ;
RecordSet rs = new RecordSet ( ) ;
RecordSet rs2 = new RecordSet ( ) ;
RecordSet rs3 = new RecordSet ( ) ;
RecordSet rs4 = new RecordSet ( ) ;
String tablename = " " ;
String sqlStr = " select b.tablename from modeinfo a,workflow_bill b where a.id= " + modeid + " and a.formid=b.id " ;
rs . executeQuery ( sqlStr ) ;
if ( rs . next ( ) ) {
tablename = rs . getString ( " tablename " ) ;
}
// 判断是否为 虚拟表单;
boolean isvirtualform = VirtualFormHandler . isVirtualForm ( formid ) ;
String vdatasource = " " ;
String vprimarykey = " " ;
if ( isvirtualform ) {
Map < String , Object > vFormInfo = VirtualFormHandler . getVFormInfo ( formid ) ;
vdatasource = Util . null2String ( vFormInfo . get ( " vdatasource " ) ) ;
vprimarykey = Util . null2String ( vFormInfo . get ( " vprimarykey " ) ) ;
tablename = VirtualFormHandler . getRealFromName ( tablename ) ;
String vformtype = Util . null2String ( vFormInfo . get ( " vformtype " ) ) ;
String vsql = Util . null2String ( vFormInfo . get ( " vsql " ) ) ;
if ( " 2 " . equals ( vformtype ) ) {
tablename = " ( " + vsql + " ) " ;
}
}
String sql ;
if ( ! " 0 " . equals ( formtype ) & & ! " " . equals ( formtype ) ) {
sql = " select t1.*,d1.id as subbillid from " + tablename + " t1 left join " + tablename + " _dt " + formtype + " d1 on t1.id = d1.mainid where t1.id= " + billid ;
} else {
sql = " select * from " + tablename + " t1 where t1.id= " + billid ;
if ( isvirtualform ) {
sql = " select * from " + tablename + " t1 where t1. " + vprimarykey + " =' " + billid + " ' " ;
}
}
//检验条件
String sqlwhere = " " ;
String conditionstype = Util . null2String ( remindJob . get ( " conditionstype " ) ) ;
if ( " 1 " . equals ( conditionstype ) ) {
//字段
String conditionsfield = Util . null2String ( remindJob . get ( " conditionsfield " ) ) ;
if ( ! " " . equals ( conditionsfield ) ) {
sqlwhere = " and ( " + conditionsfield + " ) " ;
}
} else if ( " 2 " . equals ( conditionstype ) ) {
//sql
String conditionssql = Util . null2String ( remindJob . get ( " conditionssql " ) ) ;
if ( ! " " . equals ( conditionssql ) ) {
sqlwhere = " and ( " + conditionssql + " ) " ;
}
}
if ( ! " " . equals ( sqlwhere ) ) {
sql = sql + sqlwhere ;
}
rs . isReturnDecryptData ( true ) ;
if ( isvirtualform ) {
rs . executeQuery ( sql , vdatasource ) ;
} else {
rs . executeQuery ( sql ) ;
}
Set < Integer > userSet = new HashSet < > ( ) ;
String remind_rule_sql = " select * from remind_multi_ruleinfo where taskdetailid=' " + id + " ' order by receivertype,id " ;
while ( rs . next ( ) ) {
String subbillid = rs . getString ( " subbillid " ) ;
List < Integer > userList = new ArrayList < > ( ) ;
rs3 . execute ( remind_rule_sql ) ;
while ( rs3 . next ( ) ) {
String receivertype = rs3 . getString ( " receivertype " ) ;
String receiverdetail = rs3 . getString ( " receiverdetail " ) ;
String receiverlevel = rs3 . getString ( " showlevel " ) ;
String receiverlevel2 = rs3 . getString ( " showlevel2 " ) ;
String receiverfieldtype = rs3 . getString ( " receiverfieldtype " ) ;
// 上级关系 1 当前人员, 2 直接上级, 3 所有上级, 4 本部门 , 5 本分部, 6 本岗位
int remindhigherlevel = Util . getIntValue ( rs3 . getString ( " higherlevel " ) , 1 ) ;
//1 :所有上级 2: 所有下级
int orgrelation = Util . getIntValue ( rs3 . getString ( " orgrelation " ) , 1 ) ;
//----------------处理提醒人员-------------------
if ( " 1 " . equals ( receivertype ) ) {
//人力资源
userList = taskService . getRemind_ruleUserList ( userList , Util . getIntValue ( receivertype ) , receiverdetail , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( " 2 " . equals ( receivertype ) ) {
//分部
userList = taskService . getRemind_ruleUserList ( userList , Util . getIntValue ( receivertype ) , receiverdetail , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( " 3 " . equals ( receivertype ) ) {
//部门
userList = taskService . getRemind_ruleUserList ( userList , Util . getIntValue ( receivertype ) , receiverdetail , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( " 4 " . equals ( receivertype ) ) {
//角色
userList = taskService . getRemind_ruleUserList ( userList , Util . getIntValue ( receivertype ) , receiverdetail , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( " 5 " . equals ( receivertype ) ) {
//所有人
userList = taskService . getRemind_ruleUserList ( userList , Util . getIntValue ( receivertype ) , receiverdetail , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( " 6 " . equals ( receivertype ) ) {
//模块创建人
int modedatacreater = rs . getInt ( " modedatacreater " ) ;
//考虑上级关系 1 当前人员, 2 直接上级, 3 所有上级, 4 本部门 , 5 本分部, 6 本岗位 remindhigherlevel
if ( remindhigherlevel = = 1 ) {
// 1 当前人员
userList . add ( modedatacreater ) ;
} else if ( remindhigherlevel = = 2 ) {
// 2 直接上级
try {
ResourceComInfo rc = new ResourceComInfo ( ) ;
int manager = Util . getIntValue ( rc . getManagerID ( " " + modedatacreater ) , 0 ) ;
userList . add ( manager ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
} else if ( remindhigherlevel = = 3 ) {
// 3 所有上级
try {
ResourceComInfo rc = new ResourceComInfo ( ) ;
String managers = rc . getAllManagerByUserId ( " " + modedatacreater ) ;
String [ ] ms = managers . split ( " , " ) ;
for ( String m : ms ) {
userList . add ( Integer . parseInt ( m ) ) ;
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
} else if ( remindhigherlevel = = 4 ) {
// 4 本部门
// 考虑安全级别
try {
ResourceComInfo rc = new ResourceComInfo ( ) ;
String departmentID = rc . getDepartmentID ( " " + modedatacreater ) ;
userList = taskService . getRemind_ruleUserList ( userList , 3 , departmentID , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
} else if ( remindhigherlevel = = 5 ) {
// 5 本分部
// 考虑安全级别
try {
ResourceComInfo rc = new ResourceComInfo ( ) ;
String subCompanyID = rc . getSubCompanyID ( " " + modedatacreater ) ;
userList = taskService . getRemind_ruleUserList ( userList , 2 , subCompanyID , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
} else if ( remindhigherlevel = = 6 ) {
// 6 本岗位
try {
ResourceComInfo rc = new ResourceComInfo ( ) ;
String jobTitle = rc . getJobTitle ( " " + modedatacreater ) ;
userList = taskService . getRemind_ruleUserList ( userList , 6 , jobTitle , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
}
} else if ( " 1000 " . equals ( receivertype ) ) {
//字段
String objids = " " ;
String sqlstr1 = " select id,fieldname,detailtable,viewtype from workflow_billfield where id in ( " + receiverdetail + " ) " ;
rs4 . executeQuery ( sqlstr1 ) ;
String tempFieldName ;
String viewtype ;
while ( rs4 . next ( ) ) {
tempFieldName = rs4 . getString ( " fieldname " ) . toLowerCase ( ) ;
viewtype = Util . null2String ( rs4 . getString ( " viewtype " ) ) ;
if ( " 0 " . equals ( viewtype ) ) {
String val = CubeCipherUitl . decrypt ( rs . getString ( tempFieldName ) ) ;
if ( StringUtils . isNotBlank ( val ) ) {
if ( " " . equals ( objids ) ) {
objids = val ;
} else {
objids = objids + " , " + val ;
}
}
} else if ( " 1 " . equals ( viewtype ) ) {
if ( subbillid ! = null & & ! " " . equals ( subbillid ) ) {
String psql = " select * from " + tablename + " _dt " + formtype + " where id= " + subbillid ;
rs2 . executeQuery ( psql ) ;
if ( rs2 . next ( ) ) {
String val1 = CubeCipherUitl . decrypt ( rs2 . getString ( tempFieldName ) ) ;
if ( ! " " . equals ( val1 ) ) {
if ( " " . equals ( objids ) ) {
objids = val1 ;
} else {
objids = objids + " , " + val1 ;
}
}
}
}
}
}
if ( " 1 " . equals ( receiverfieldtype ) ) {
//人力资源字段
if ( remindhigherlevel = = 1 ) {
//当前人员
userList = taskService . getRemind_ruleUserList ( userList , 1 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( remindhigherlevel = = 2 ) {
// 2 直接上级
userList = taskService . getRemind_ruleUserList ( userList , 7 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( remindhigherlevel = = 3 ) {
// 3 所有上级
userList = taskService . getRemind_ruleUserList ( userList , 8 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( remindhigherlevel = = 4 ) {
// 4 本部门
// 考虑安全级别
// 获取 当前字段的部门id
objids = taskService . getDeptOrCompany ( objids , " 1 " ) ;
userList = taskService . getRemind_ruleUserList ( userList , 3 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( remindhigherlevel = = 5 ) {
// 5 本分部
// 考虑安全级别
// 获取 当前字段的分部id
objids = taskService . getDeptOrCompany ( objids , " 2 " ) ;
userList = taskService . getRemind_ruleUserList ( userList , 2 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( remindhigherlevel = = 6 ) {
// 6 本岗位
// 获取 当前字段的岗位id
objids = taskService . getDeptOrCompany ( objids , " 3 " ) ;
userList = taskService . getRemind_ruleUserList ( userList , 6 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
}
} else if ( " 2 " . equals ( receiverfieldtype ) ) {
//部门
if ( orgrelation = = 0 ) {
userList = taskService . getRemind_ruleUserList ( userList , 3 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( orgrelation = = 1 ) {
//所有上级
userList = taskService . getRemind_ruleUserList ( userList , 9 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( orgrelation = = 2 ) {
//所有下级
userList = taskService . getRemind_ruleUserList ( userList , 10 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
}
} else if ( " 3 " . equals ( receiverfieldtype ) ) {
//分部
if ( orgrelation = = 0 ) {
userList = taskService . getRemind_ruleUserList ( userList , 2 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( orgrelation = = 1 ) {
//所有上级
userList = taskService . getRemind_ruleUserList ( userList , 11 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
} else if ( orgrelation = = 2 ) {
//所有下级
userList = taskService . getRemind_ruleUserList ( userList , 12 , objids , Util . getIntValue ( receiverlevel ) , Util . getIntValue ( receiverlevel2 , - 1 ) ) ;
}
}
}
}
userSet . addAll ( userList ) ;
}
return userSet ;
}
private boolean isPush ( String billId , String taskDetailId ) {
RecordSet recordSet = new RecordSet ( ) ;
recordSet . executeQuery ( " select dygz from uf_jcl_jltsjl where ypz = ? " , billId ) ;
if ( recordSet . next ( ) ) {
String dygz = recordSet . getString ( " dygz " ) ;
String [ ] split = dygz . split ( " , " ) ;
List < String > taskIdList = Arrays . asList ( split ) ;
if ( taskIdList . contains ( taskDetailId ) ) {
return false ;
} else {
// 更新简历推送记录表
Set < String > list = new HashSet < > ( taskIdList ) ;
list . add ( taskDetailId ) ;
String taskIds = StringUtils . join ( list , " , " ) ;
recordSet . executeUpdate ( " update uf_jcl_jltsjl set dygz = ? where ypz = ? " , taskIds , billId ) ;
}
} else {
// 插入简历推送记录表
recordSet . executeUpdate ( " insert into uf_jcl_jltsjl (ypz,dygz) values (?,?) " , billId , taskDetailId ) ;
}
return true ;
}
}