diff --git a/src/com/engine/recruit/enums/ApplicantOperateEnum.java b/src/com/engine/recruit/enums/ApplicantOperateEnum.java index 21d32eb..6f8a843 100644 --- a/src/com/engine/recruit/enums/ApplicantOperateEnum.java +++ b/src/com/engine/recruit/enums/ApplicantOperateEnum.java @@ -10,7 +10,9 @@ public enum ApplicantOperateEnum { /** * 应聘者相关操作类型 */ - ELIMINATE("eliminate", "淘汰"); + ELIMINATE("eliminate", "淘汰"), + REFERRAL("referral", "转推其他职位"), + TRANSFER("transfer", "转移阶段"); ApplicantOperateEnum(String operateType, String operateDesc) { this.operateType = operateType; diff --git a/src/com/engine/recruit/enums/CurrentApplicationStageEnum.java b/src/com/engine/recruit/enums/CurrentApplicationStageEnum.java new file mode 100644 index 0000000..6b87563 --- /dev/null +++ b/src/com/engine/recruit/enums/CurrentApplicationStageEnum.java @@ -0,0 +1,55 @@ +package com.engine.recruit.enums; + +/** + * @author:dxfeng + * @createTime: 2023/09/28 + * @version: 1.0 + */ +public enum CurrentApplicationStageEnum { + + /** + * 当前操作阶段 + */ + SCREENING("初筛", "0"), + WRITTEN("笔试", "1"), + INTERVIEW("面试", "2"), + EVALUATION("测评", "3"), + SALARY("薪酬谈判", "4"), + BACK("背调", "5"), + offer("offer", "6"), + EMPLOYMENT("待入职", "8"), + ENTRY("入职", "9 "); + + CurrentApplicationStageEnum(String stageName, String stageValue) { + this.stageName = stageName; + this.stageValue = stageValue; + } + + private String stageName; + private String stageValue; + + public String getStageName() { + return stageName; + } + + public void setStageName(String stageName) { + this.stageName = stageName; + } + + public String getStageValue() { + return stageValue; + } + + public void setStageValue(String stageValue) { + this.stageValue = stageValue; + } + + public static CurrentApplicationStageEnum getOperateType(String operateType) { + for (CurrentApplicationStageEnum item : CurrentApplicationStageEnum.values()) { + if (item.stageValue.equalsIgnoreCase(operateType)) { + return item; + } + } + throw new RuntimeException("不支持的操作类型"); + } +} diff --git a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java index eb952a3..622c736 100644 --- a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java +++ b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java @@ -144,10 +144,15 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu public Map updateApplicantsInfo(Map params) { Map returnMap = new HashMap<>(); String operateType = Util.null2String(params.get("operateType")); - String ids = Util.null2String(params.get("ids")); RecordSet rs = new RecordSet(); if (ApplicantOperateEnum.ELIMINATE.getOperateType().equals(operateType)) { - rs.executeUpdate("update uf_jcl_yppc set zt = ? where id = (?)", ApplicationStatusEnum.OBSOLETE.getValue(), ids); + String ids = Util.null2String(params.get("ids")); + rs.executeUpdate("update uf_jcl_yppc set zt = ? where id in (?)", ApplicationStatusEnum.OBSOLETE.getValue(), ids); + } + 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); } return returnMap; } diff --git a/src/weaver/formmode/recruit/modeexpand/applicant/UpdateApplicantModeExpand.java b/src/weaver/formmode/recruit/modeexpand/applicant/UpdateApplicantModeExpand.java new file mode 100644 index 0000000..8a5f4f6 --- /dev/null +++ b/src/weaver/formmode/recruit/modeexpand/applicant/UpdateApplicantModeExpand.java @@ -0,0 +1,134 @@ +package weaver.formmode.recruit.modeexpand.applicant; + +import com.engine.recruit.enums.ApplicantOperateEnum; +import com.engine.recruit.enums.CurrentApplicationStageEnum; +import com.engine.recruit.enums.InterviewOperateTypeEnum; +import org.apache.commons.lang3.StringUtils; +import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; +import weaver.general.Util; +import weaver.hrm.User; +import weaver.soa.workflow.request.MainTableInfo; +import weaver.soa.workflow.request.Property; +import weaver.soa.workflow.request.RequestInfo; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2023/09/28 + * @version: 1.0 + */ +public class UpdateApplicantModeExpand extends AbstractModeExpandJavaCodeNew { + @Override + public Map doModeExpand(Map params) { + Map result = new HashMap<>(); + try { + //数据id + int billId; + //模块id + int modeId; + RequestInfo requestInfo = (RequestInfo) params.get("RequestInfo"); + User user = (User) params.get("user"); + if (requestInfo != null) { + billId = Util.getIntValue(requestInfo.getRequestid()); + modeId = Util.getIntValue(requestInfo.getWorkflowid()); + if (billId > 0 && modeId > 0) { + MainTableInfo mainTableInfo = requestInfo.getMainTableInfo(); + Property[] properties = mainTableInfo.getProperty(); + Map mainDataMap = new HashMap<>(16); + for (Property property : properties) { + mainDataMap.put(property.getName(), property.getValue()); + } + + String operateType = Util.null2String(params.get("operateType")); + if (StringUtils.isBlank(operateType)) { + operateType = InterviewOperateTypeEnum.ARRANGE.getOperateType(); + } + ApplicantOperateEnum operateTypeEnum = ApplicantOperateEnum.getOperateType(operateType); + switch (operateTypeEnum) { + // 转移阶段 + case TRANSFER: + + default: + break; + } + + } + } + } catch (Exception e) { + result.put("errmsg", "自定义出错信息"); + result.put("flag", "false"); + } + + return result; + } + + private void transferApplicant(Map mainDataMap) { + // 当前应聘阶段 + String currentApplicationStage = Util.null2String(mainDataMap.get("dqypjd")); + // 待入职、入职状态,数据推入职管理建模 + if (CurrentApplicationStageEnum.EMPLOYMENT.getStageValue().equals(currentApplicationStage) || CurrentApplicationStageEnum.ENTRY.getStageValue().equals(currentApplicationStage)) { + String modeTableName = "uf_jcl_rzgl"; + String insertSql = "insert into " + modeTableName + " () values ()"; + + } + } + + private List buildParamList(Map map) { + List param = new ArrayList<>(); + // 填充建模表相关字段 + param.add(map.get("modedatacreatertype")); + param.add(map.get("formmodeid")); + param.add(map.get("modedatacreater")); + param.add(map.get("modedatacreatedate")); + param.add(map.get("modedatacreatetime")); + param.add(map.get("modedatamodifier")); + param.add(map.get("modedatamodifydatetime")); + + // 表单字段 + // 信息采集ID + // param.add(map.get("")); + // 姓名 + param.add(map.get("xm")); + // 身份证号 + param.add(map.get("sfz")); + // 年龄 + param.add(map.get("nl")); + // 性别 + param.add(map.get("xb")); + // 手机号码 + param.add(map.get("sjhm")); + // 电子邮箱 + param.add(map.get("dzyx")); + // 入职公司 + param.add(map.get("rzgs")); + + //// 入职部门 + //param.add(map.get("rzbm")); + //// 直接上级 + //param.add(map.get("zjsj")); + //// 岗位 + //param.add(map.get("gw")); + // 预计入职日期 + param.add(map.get("yjrzrq")); + // 关联招聘需求 + param.add(map.get("glzpxq")); + // 入职状态 + param.add(map.get("rzzt")); + // 信息采集 + param.add(map.get("xxcj")); + // 入职流程 + param.add(map.get("rzlc")); + // 入职流程状态 + param.add(map.get("rzlczt")); + // 批次ID + param.add(map.get("pcid")); + // 取消原因 + param.add(map.get("qxyy")); + + return param; + } +}