From bb2d09a64029375ad7d6ef1f181227e1d5655c5f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 8 Nov 2024 09:26:31 +0800 Subject: [PATCH] =?UTF-8?q?#3338307=20=E9=80=B8=E5=AE=89=E5=90=AF=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/hrm/cmd/jobset/AddJobTitleCmd.java | 15 +-- .../hrm/cmd/jobset/EditJobTitleCmd.java | 15 +-- .../hrm/cmd/jobset/GetJobDetailCmd.java | 4 + .../hrm/cmd/jobset/GetJobTitleFormCmd.java | 2 +- .../service/impl/RecruitFlowServiceImpl.java | 17 +++- .../interview/CreateInterviewModeExpand.java | 4 + .../interview/UpdateInterviewModeExpand.java | 6 ++ .../SubmitScreenExpand.java | 51 ++++++++++ .../yaq/modeexpand/util/AutoNextStepUtil.java | 94 +++++++++++++++++++ 9 files changed, 194 insertions(+), 14 deletions(-) create mode 100644 src/weaver/formmode/yaq/modeexpand/departmentscreening/SubmitScreenExpand.java create mode 100644 src/weaver/formmode/yaq/modeexpand/util/AutoNextStepUtil.java diff --git a/src/com/engine/hrm/cmd/jobset/AddJobTitleCmd.java b/src/com/engine/hrm/cmd/jobset/AddJobTitleCmd.java index 623afa3..228f44f 100644 --- a/src/com/engine/hrm/cmd/jobset/AddJobTitleCmd.java +++ b/src/com/engine/hrm/cmd/jobset/AddJobTitleCmd.java @@ -1,9 +1,5 @@ package com.engine.hrm.cmd.jobset; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.SimpleBizLogger; import com.engine.common.constant.BizLogSmallType4Hrm; @@ -15,7 +11,6 @@ import com.engine.hrm.util.CodeRuleManager; import com.engine.hrm.util.face.HrmFaceCheckManager; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; -import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -23,9 +18,12 @@ import weaver.hrm.common.DbFunctionUtil; import weaver.hrm.common.database.dialect.DialectUtil; import weaver.hrm.job.JobTitlesComInfo; import weaver.interfaces.hrm.HrmServiceManager; -import weaver.systeminfo.SysMaintenanceLog; import weaver.systeminfo.SystemEnv; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + public class AddJobTitleCmd extends AbstractCommonCommand> { @@ -68,6 +66,7 @@ public class AddJobTitleCmd extends AbstractCommonCommand> { String jobtitleremark = Util.null2String(params.get("jobtitleremark")); String jobdoc = Util.null2String(params.get("jobdoc")); String jobtitlecode = Util.null2String(params.get("jobtitlecode")); + String englishname = Util.null2String(params.get("englishname")); String[] strObj = {jobtitlemark, jobtitlename, jobactivityid, Util.null2String(params.get("jobresponsibility")), Util.null2String(params.get("jobcompetency")), @@ -129,6 +128,10 @@ public class AddJobTitleCmd extends AbstractCommonCommand> { String sql = "update HrmJobTitles set " + DbFunctionUtil.getInsertUpdateSetSql(RecordSet.getDBType(), user.getUID()) + " where id=" + id; RecordSet.executeUpdate(sql); + // 更新英文名称 + sql = "update HrmJobTitles set englishname = ? where id= ?"; + RecordSet.executeUpdate(sql,englishname,id); + HrmServiceManager HrmServiceManager = new HrmServiceManager(); HrmServiceManager.SynInstantJobtitle("" + id, "1"); diff --git a/src/com/engine/hrm/cmd/jobset/EditJobTitleCmd.java b/src/com/engine/hrm/cmd/jobset/EditJobTitleCmd.java index 82bfb61..60171a3 100644 --- a/src/com/engine/hrm/cmd/jobset/EditJobTitleCmd.java +++ b/src/com/engine/hrm/cmd/jobset/EditJobTitleCmd.java @@ -1,9 +1,5 @@ package com.engine.hrm.cmd.jobset; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.SimpleBizLogger; import com.engine.common.constant.BizLogSmallType4Hrm; @@ -15,7 +11,6 @@ import com.engine.hrm.util.CodeRuleManager; import com.engine.hrm.util.face.HrmFaceCheckManager; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; -import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -23,9 +18,12 @@ import weaver.hrm.common.DbFunctionUtil; import weaver.hrm.common.database.dialect.DialectUtil; import weaver.hrm.job.JobTitlesComInfo; import weaver.interfaces.hrm.HrmServiceManager; -import weaver.systeminfo.SysMaintenanceLog; import weaver.systeminfo.SystemEnv; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + public class EditJobTitleCmd extends AbstractCommonCommand> { @@ -68,6 +66,7 @@ public class EditJobTitleCmd extends AbstractCommonCommand> String jobdoc = Util.null2String(params.get("jobdoc")); String id = Util.null2String(params.get("id")); String jobtitlecode = Util.null2String(params.get("jobtitlecode")); + String englishname = Util.null2String(params.get("englishname")); try { // jobtitlecode = CodeRuleManager.getCodeRuleManager().generateRuleCode(RuleCodeType.JOBTITLES, jobtitlecode); if (StringUtils.isNotEmpty(jobtitlecode)) { @@ -128,6 +127,10 @@ public class EditJobTitleCmd extends AbstractCommonCommand> String sql = "update HrmJobTitles set "+ DbFunctionUtil.getUpdateSetSql(RecordSet.getDBType(),user.getUID())+" where id="+id; RecordSet.executeUpdate(sql); + // 更新英文名称 + sql = "update HrmJobTitles set englishname = ? where id= ?"; + RecordSet.executeUpdate(sql,englishname,id); + HrmServiceManager HrmServiceManager = new HrmServiceManager(); JobTitlesComInfo JobTitlesComInfo = new JobTitlesComInfo(); HrmServiceManager.SynInstantJobtitle("" + id, "2"); diff --git a/src/com/engine/hrm/cmd/jobset/GetJobDetailCmd.java b/src/com/engine/hrm/cmd/jobset/GetJobDetailCmd.java index 3de8ee6..cddde19 100644 --- a/src/com/engine/hrm/cmd/jobset/GetJobDetailCmd.java +++ b/src/com/engine/hrm/cmd/jobset/GetJobDetailCmd.java @@ -107,6 +107,10 @@ public class GetJobDetailCmd extends AbstractCommonCommand> datas.put("value", rs.getString(3)); list.add(datas); + datas = new HashMap(); + datas.put("label", SystemEnv.getHtmlLabelName(548239, Util.getIntValue(user.getLanguage()))); + datas.put("value", rs.getString("englishname")); + list.add(datas); datas = new HashMap(); datas.put("label", SystemEnv.getHtmlLabelName(524944, Util.getIntValue(user.getLanguage()))); datas.put("value", rs.getString("jobtitlecode")); diff --git a/src/com/engine/hrm/cmd/jobset/GetJobTitleFormCmd.java b/src/com/engine/hrm/cmd/jobset/GetJobTitleFormCmd.java index 492899d..7b05c7b 100644 --- a/src/com/engine/hrm/cmd/jobset/GetJobTitleFormCmd.java +++ b/src/com/engine/hrm/cmd/jobset/GetJobTitleFormCmd.java @@ -125,7 +125,7 @@ public class GetJobTitleFormCmd extends AbstractCommonCommand offerFilterButton = new ArrayList<>(); + offerFilterButton.add("创建offer"); + offerFilterButton.add("转推其他职位"); + + boolean offerFilter = false; + if ("6".equals(dqypjd)) { + rs.executeQuery("select id from uf_jcl_offer where xm = ?", billId); + offerFilter = rs.next(); + } if (StringUtils.isBlank(stageId)) { // 查询开始环节 @@ -76,12 +87,16 @@ public class RecruitFlowServiceImpl extends Service implements RecruitFlowServic List buttonList = new ArrayList<>(); List tabList = new ArrayList<>(); + rs.writeLog("offerFilter==" + offerFilter + ",dqypjd==" + dqypjd); while (rs.next()) { String anmc = rs.getString("anmc"); if (!isCandidate && !filterButton.contains(anmc)) { // 非候选中,隐藏按钮 continue; } + if(offerFilter && offerFilterButton.contains(anmc)){ + continue; + } buttonList.add(RecruitButton.builder() .key(rs.getString("id")) .buttonName(rs.getString("buttonName")) diff --git a/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java index 90cb231..8f0f47c 100644 --- a/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java @@ -6,6 +6,7 @@ import com.engine.recruit.enums.InterviewOperateTypeEnum; import org.apache.commons.lang3.StringUtils; import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; +import weaver.formmode.yaq.modeexpand.util.AutoNextStepUtil; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; @@ -71,6 +72,9 @@ public class CreateInterviewModeExpand extends AbstractModeExpandJavaCodeNew { boolean needFeedback = "1".equals(Util.null2String(mainDataMap.get("sfxyfk"))); // 发送邮件、短信 InterviewMsgUtil.sendEmailAndMsg(user, mainDataMap, billId, needFeedback); + String ypz = Util.null2String(mainDataMap.get("ypz")); + // 更新到面试阶段 + AutoNextStepUtil.currentStep(ypz, "2"); } } diff --git a/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java index dc33b9f..b24c612 100644 --- a/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java @@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; +import weaver.formmode.yaq.modeexpand.util.AutoNextStepUtil; import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; @@ -70,6 +71,11 @@ public class UpdateInterviewModeExpand extends AbstractModeExpandJavaCodeNew { messageType = RecruitConstant.INTERVIEW_MESSAGE_TYPE; title = RecruitConstant.INTERVIEW_EVALUATE_MESSAGE_TITLE; evaluateInterview(params, requestInfo.getCreatorid(), mainDataMap); + String jg = Util.null2String(mainDataMap.get("jg")); + if ("0".equals(jg)) { + String ypz = Util.null2String(mainDataMap.get("ypz")); + AutoNextStepUtil.nextStep(ypz, "2"); + } break; case CANCEL: // 面试取消 diff --git a/src/weaver/formmode/yaq/modeexpand/departmentscreening/SubmitScreenExpand.java b/src/weaver/formmode/yaq/modeexpand/departmentscreening/SubmitScreenExpand.java new file mode 100644 index 0000000..969594a --- /dev/null +++ b/src/weaver/formmode/yaq/modeexpand/departmentscreening/SubmitScreenExpand.java @@ -0,0 +1,51 @@ +package weaver.formmode.yaq.modeexpand.departmentscreening; + +import weaver.conn.RecordSet; +import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; +import weaver.formmode.yaq.modeexpand.util.AutoNextStepUtil; +import weaver.general.Util; +import weaver.soa.workflow.request.MainTableInfo; +import weaver.soa.workflow.request.Property; +import weaver.soa.workflow.request.RequestInfo; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2024/11/04 + * @version: 1.0 + */ +public class SubmitScreenExpand extends AbstractModeExpandJavaCodeNew { + @Override + public Map doModeExpand(Map param) { + Map result = new HashMap<>(); + RecordSet rs = new RecordSet(); + try { + RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo"); + if (requestInfo != null) { + MainTableInfo mainTableInfo = requestInfo.getMainTableInfo(); + Property[] properties = mainTableInfo.getProperty(); + Map mainDataMap = new HashMap<>(); + for (Property property : properties) { + mainDataMap.put(property.getName(), property.getValue()); + } + + String jg = Util.null2String(mainDataMap.get("jg")); + rs.writeLog("SubmitScreenExpand---jg", jg); + if ("0".equals(jg)) { + String ypz = Util.null2String(mainDataMap.get("ypz")); + rs.writeLog("SubmitScreenExpand---ypz", ypz); + AutoNextStepUtil.nextStep(ypz, "0"); + + + } + } + } catch (Exception e) { + rs.writeLog("SubmitScreenExpand---Exception", e.getMessage()); + result.put("errmsg", "自定义出错信息"); + result.put("flag", "false"); + } + return result; + } +} diff --git a/src/weaver/formmode/yaq/modeexpand/util/AutoNextStepUtil.java b/src/weaver/formmode/yaq/modeexpand/util/AutoNextStepUtil.java new file mode 100644 index 0000000..cb4cb81 --- /dev/null +++ b/src/weaver/formmode/yaq/modeexpand/util/AutoNextStepUtil.java @@ -0,0 +1,94 @@ +package weaver.formmode.yaq.modeexpand.util; + +import com.engine.recruit.entity.recruitflow.po.RecruitStepPo; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author:dxfeng + * @createTime: 2024/11/04 + * @version: 1.0 + */ +public class AutoNextStepUtil { + + /** + * @param pcid + * @param stepType 0初筛 1笔试 2面试 3测评 4薪酬谈判 5背调 6offer + */ + public static void nextStep(String pcid, String stepType) { + RecordSet rs = new RecordSet(); + // 筛选反馈通过 阶段更新为下一阶段 + String sql = "select a.id,a.zplc from uf_jcl_zpjdsz a " + + "inner join uf_jcl_zplc b on a.zplc = b.id " + + "inner join uf_jcl_yppc c on c.zplc = b.id " + + " where c.id = ? and a.jdlx = ?"; + rs.writeLog("sql--" + sql + ",pcid--" + pcid + ",stepType--" + stepType); + rs.executeQuery(sql, pcid, stepType); + if (rs.next()) { + String stageId = rs.getString("id"); + String recruitFlowId = rs.getString("zplc"); + rs.writeLog("stageId--" + stageId + ",recruitFlowId--" + recruitFlowId); + rs.executeQuery("select id,jdmc,hj from uf_jcl_zpjdsz where sfqy = 0 and zplc = ? order by hj,zssx", recruitFlowId); + List stepList = new ArrayList<>(); + while (rs.next()) { + stepList.add(RecruitStepPo.builder().key(rs.getInt("id")).description(rs.getString("jdmc")).type(rs.getString("hj")).build()); + } + boolean found = false; + Integer target = null; + if (StringUtils.isBlank(stageId)) { + stageId = String.valueOf(stepList.get(0).getKey()); + } + for (RecruitStepPo recruitStepPo : stepList) { + if (found) { + target = recruitStepPo.getKey(); + break; + } + + if (recruitStepPo.getKey() == Integer.parseInt(stageId)) { + found = true; + // 结束环节 + if ("2".equals(recruitStepPo.getType())) { + target = -1; + } + } + } + rs.writeLog("target--" + target); + rs.executeQuery("select jdlx from uf_jcl_zpjdsz where id = ?", target); + if (rs.next()) { + String jdlx = rs.getString("jdlx"); + rs.writeLog("jdlx--" + jdlx); + // 更新应聘者简历为下一阶段 + rs.executeUpdate("update uf_jcl_yppc set zpjd = ?,dqypjd = ? where id = ?", target, jdlx, pcid); + } + } + + + } + + /** + * 0初筛 1笔试 2面试 3测评 4薪酬谈判 5背调 6offer + * + * @param pcid + * @param stepType + */ + public static void currentStep(String pcid, String stepType) { + { + RecordSet rs = new RecordSet(); + // 筛选反馈通过 阶段更新为下一阶段 + String sql = "select a.id from uf_jcl_zpjdsz a " + + "inner join uf_jcl_zplc b on a.zplc = b.id " + + "inner join uf_jcl_yppc c on c.zplc = b.id " + + "where c.id = ? and jdlx = ?"; + rs.executeQuery(sql, pcid, stepType); + rs.writeLog("sql--" + sql + ",pcid--" + pcid + ",stepType--" + stepType); + if (rs.next()) { + String stageId = rs.getString("id"); + rs.writeLog("stageId--" + stageId); + rs.executeUpdate("update uf_jcl_yppc set zpjd = ?,dqypjd = ? where id = ?", stageId, stepType, pcid); + } + } + } +}