generated from dxfeng/secondev-chapanda-feishu
分配职位、归档人才库接口开发
This commit is contained in:
parent
59f7fe1125
commit
d2ee88918f
|
|
@ -12,7 +12,10 @@ public enum ApplicantOperateEnum {
|
|||
*/
|
||||
ELIMINATE("eliminate", "淘汰"),
|
||||
REFERRAL("referral", "转推其他职位"),
|
||||
TRANSFER("transfer", "转移阶段");
|
||||
TRANSFER("transfer", "转移阶段"),
|
||||
ASSIGN("assign", "分配职位"),
|
||||
ARCHIVE("archive", "归档人才库"),
|
||||
;
|
||||
|
||||
ApplicantOperateEnum(String operateType, String operateDesc) {
|
||||
this.operateType = operateType;
|
||||
|
|
|
|||
|
|
@ -6,15 +6,14 @@ import com.engine.recruit.enums.ApplicantOperateEnum;
|
|||
import com.engine.recruit.enums.ApplicationStatusEnum;
|
||||
import com.engine.recruit.service.ApplicantResumeService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.common.DateUtil;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.resource.ResourceComInfo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
|
|
@ -148,15 +147,38 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
|
|||
String operateType = Util.null2String(params.get("operateType"));
|
||||
RecordSet rs = new RecordSet();
|
||||
if (ApplicantOperateEnum.ELIMINATE.getOperateType().equals(operateType)) {
|
||||
// 淘汰
|
||||
String ids = Util.null2String(params.get("ids"));
|
||||
rs.executeUpdate("update uf_jcl_yppc set zt = ? where id in (" + ids + ")", ApplicationStatusEnum.OBSOLETE.getValue());
|
||||
}
|
||||
if (ApplicantOperateEnum.TRANSFER.getOperateType().equals(operateType)) {
|
||||
// TODO
|
||||
returnMap.put("msg", "操作成功");
|
||||
} else if (ApplicantOperateEnum.TRANSFER.getOperateType().equals(operateType)) {
|
||||
// 转移阶段
|
||||
String dqypjd = Util.null2String(params.get("dqypjd"));
|
||||
String billid = Util.null2String(params.get("billid"));
|
||||
// rs.executeUpdate("update uf_jcl_yppc set dqypjd = ? where id = ?", dqypjd, billid);
|
||||
rs.executeUpdate("update uf_jcl_yppc set zpjd = ? where id = ?", dqypjd, billid);
|
||||
returnMap.put("msg", "操作成功");
|
||||
} else if (ApplicantOperateEnum.ASSIGN.getOperateType().equals(operateType)) {
|
||||
// 分配职位
|
||||
String billid = Util.null2String(params.get("billid"));
|
||||
String ypzw = Util.null2String(params.get("ypzw"));
|
||||
rs.executeUpdate("update uf_jcl_yppc set ypzw = ? where id = ?", ypzw, billid);
|
||||
returnMap.put("msg", "操作成功");
|
||||
} else if (ApplicantOperateEnum.ARCHIVE.getOperateType().equals(operateType)) {
|
||||
// 归档人才库
|
||||
String gdyy = Util.null2String(params.get("gdyy"));
|
||||
String gdxxyy = Util.null2String(params.get("gdxxyy"));
|
||||
String ids = Util.null2String(params.get("ids"));
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
String[] split = ids.split(",");
|
||||
for (String id : split) {
|
||||
rs.executeUpdate("update uf_jcl_yppc set gdyy = ?,gdxxyy = ? where id = ? ", gdyy, gdxxyy, id);
|
||||
// 建模推送建模
|
||||
archiveTalentPool(id, false);
|
||||
|
||||
}
|
||||
} else {
|
||||
returnMap.put("msg", "请至少选择一条数据");
|
||||
}
|
||||
}
|
||||
return returnMap;
|
||||
}
|
||||
|
|
@ -270,4 +292,201 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
|
|||
return browserMap;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 归档人才库
|
||||
*
|
||||
* @param applicantId 应聘者ID
|
||||
* @param joinBlacklist 是否加入黑名单
|
||||
*/
|
||||
private void archiveTalentPool(String applicantId, boolean joinBlacklist) {
|
||||
RecordSet rs = new RecordSet();
|
||||
String name = "";
|
||||
String mobile = "";
|
||||
String talentPoolId = "";
|
||||
rs.executeQuery("select xm,sjhm from uf_jcl_yppc");
|
||||
if (rs.next()) {
|
||||
name = rs.getString("xm");
|
||||
mobile = rs.getString("sjhm");
|
||||
}
|
||||
|
||||
rs.executeQuery("select id from uf_jcl_rck where xm = ? and sjhm = ?", name, mobile);
|
||||
if (rs.next()) {
|
||||
talentPoolId = rs.getString("id");
|
||||
}
|
||||
|
||||
// 推送建模主表数据
|
||||
String insertSql = "insert into uf_jcl_rck (modeuuid, formmodeid, modedatacreater, modedatacreatedate, modedatacreatetime, modedatamodifier, modedatamodifydatetime, modedatacreatertype," +
|
||||
"sfz,jlzp,zhypzw,ysjl,jlly,xm,xb,sjhm,dzyx,csrq,nl,zgxl,zgxw,byyx,zy,hyzk,gzjy,zzzt,dqszd,zhtdsj,cjr,zwpj,mz,jg,zzmm,sgcm,tzkg,gdjd,gdyy,gdxxyy,lstdcs,sfjrhmd)" +
|
||||
" values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
||||
rs.executeQuery("select * from uf_jcl_yppc where id = ?", applicantId);
|
||||
List<Object> mainDataList = new ArrayList<>();
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
mainDataList.add(uuid);
|
||||
int formModeId = -1;
|
||||
rs.executeQuery("select id from modeinfo where formid =( select id from workflow_bill where tablename = 'uf_jcl_rck' )");
|
||||
if (rs.next()) {
|
||||
formModeId = rs.getInt("id");
|
||||
}
|
||||
mainDataList.add(formModeId);
|
||||
// 构建建模表基本数据
|
||||
buildBaseFields(mainDataList);
|
||||
if (rs.next()) {
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sfz")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jlzp")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("ypzw")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("ysjl")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jlly")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("xm")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("xb")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sjhm")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("dzyx")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("csrq")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("nl")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zgxl")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zgxw")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("byyx")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zy")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("hyzk")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gzjy")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zzzt")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("dqszd")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("tdsj")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("cjr")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zwpj")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("mz")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jg")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zzmm")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sgcm")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("tzkg")));
|
||||
// 归档阶段
|
||||
mainDataList.add(null);
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gdyy")));
|
||||
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gdxxyy")));
|
||||
}
|
||||
// 历史投递次数
|
||||
rs.executeQuery("select count(id) as num from uf_jcl_yppc where xm=? and sjhm =?", rs.getString("xm"), rs.getString("sjhm"));
|
||||
if (rs.next()) {
|
||||
mainDataList.add(rs.getInt("num"));
|
||||
}
|
||||
// 是否加入黑名单
|
||||
mainDataList.add(joinBlacklist ? 0 : 1);
|
||||
|
||||
rs.executeUpdate(insertSql, mainDataList);
|
||||
refreshRight(uuid, formModeId, applicantId);
|
||||
|
||||
|
||||
// 删除人才库原来的数据
|
||||
rs.executeUpdate("delete from uf_jcl_rck where id = ? ", talentPoolId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建建模表基本数据
|
||||
*
|
||||
* @param mainDataList 参数集合
|
||||
*/
|
||||
private void buildBaseFields(List<Object> mainDataList) {
|
||||
String dateTime = DateUtil.getFullDate();
|
||||
String[] dateSplit = dateTime.split(" ");
|
||||
// modedatacreater
|
||||
mainDataList.add(user.getUID());
|
||||
// modedatacreatedate
|
||||
mainDataList.add(dateSplit[0]);
|
||||
// modedatacreatetime
|
||||
mainDataList.add(dateSplit[1]);
|
||||
// modedatamodifier
|
||||
mainDataList.add(user.getUID());
|
||||
// modedatamodifydatetime
|
||||
mainDataList.add(dateTime);
|
||||
// modedatacreatertype
|
||||
mainDataList.add("0");
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限重构
|
||||
*
|
||||
* @param uuid UUID
|
||||
* @param formModeId 建模ID
|
||||
* @param applicantId 应聘者ID
|
||||
*/
|
||||
private void refreshRight(String uuid, int formModeId, String applicantId) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select id from uf_jcl_rck 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);
|
||||
|
||||
// 插入明细表数据
|
||||
rs.executeQuery("select * from uf_jcl_yppc_dt1 where mainid = ? ", applicantId);
|
||||
List<List<Object>> insertList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
List<Object> paramList = new ArrayList<>();
|
||||
// mainid
|
||||
paramList.add(bid);
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("xxmc")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("xl")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zy")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("kssj")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jssj")));
|
||||
insertList.add(paramList);
|
||||
}
|
||||
for (List<Object> list : insertList) {
|
||||
rs.executeUpdate("insert into uf_jcl_rck_dt1 (mainid, xxmc, xl, zy, kssj, jssj) values (?, ?, ?, ?, ?, ?)", list);
|
||||
}
|
||||
|
||||
rs.executeQuery("select * from uf_jcl_yppc_dt2 where mainid = ? ", applicantId);
|
||||
insertList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
List<Object> paramList = new ArrayList<>();
|
||||
// mainid
|
||||
paramList.add(bid);
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gsmc")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("kssj")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jssj")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gw")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gzzz")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sqyxk")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("lzyy")));
|
||||
insertList.add(paramList);
|
||||
}
|
||||
for (List<Object> list : insertList) {
|
||||
rs.executeUpdate("insert into uf_jcl_rck_dt2 (mainid, gsmc, kssj, jssj, gw, gzzz, sqyxk, lzyy) values (?, ?, ?, ?, ?, ?, ?, ?)", list);
|
||||
}
|
||||
|
||||
rs.executeQuery("select * from uf_jcl_yppc_dt3 where mainid = ? ", applicantId);
|
||||
insertList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
List<Object> paramList = new ArrayList<>();
|
||||
// mainid
|
||||
paramList.add(bid);
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("xmmc")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("kssj")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jssj")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("drjs")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("xmms")));
|
||||
insertList.add(paramList);
|
||||
}
|
||||
for (List<Object> list : insertList) {
|
||||
rs.executeUpdate("insert into uf_jcl_rck_dt3 (mainid, xmmc, kssj, jssj, drjs, xmms) values (?, ?, ?, ?, ?, ?)", list);
|
||||
}
|
||||
|
||||
rs.executeQuery("select * from uf_jcl_yppc_dt4 where mainid = ? ", applicantId);
|
||||
insertList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
List<Object> paramList = new ArrayList<>();
|
||||
// mainid
|
||||
paramList.add(bid);
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("yylx")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zwcd")));
|
||||
insertList.add(paramList);
|
||||
}
|
||||
for (List<Object> list : insertList) {
|
||||
rs.executeUpdate("insert into uf_jcl_rck_dt4 (mainid, yylx, zwcd) values (?, ?, ?)", list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue