From 8bfdfc995c1faf719d6ea7b09e94a4bd57043328 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 27 Sep 2023 13:35:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=9D=A2=E8=AF=95=E8=AF=84?= =?UTF-8?q?=E4=BB=B7=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92=E9=9D=A2=E8=AF=95?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/InterviewOperateTypeEnum.java | 49 ++++++ .../BatchAddDeptScreeningModeExpand.java | 7 +- .../SingleAddDeptScreeningModeExpand.java | 7 +- .../BatchAddInterviewResultModeExpand.java | 8 +- .../CancelInterviewResultModeExpand.java | 137 --------------- .../interview/CreateInterviewModeExpand.java | 111 ++++++++++++ .../interview/UpdateInterviewModeExpand.java | 164 ++++++++++++++++++ .../process/RelatedStageModeExpand.java | 10 +- .../modeexpand/util/ApplicantCommonInfo.java | 59 +++++++ .../modeexpand/util/RecruitModeUtil.java | 12 +- .../BatchAddWrittenResultModeExpand.java | 6 +- 11 files changed, 411 insertions(+), 159 deletions(-) create mode 100644 src/com/engine/recruit/enums/InterviewOperateTypeEnum.java delete mode 100644 src/weaver/formmode/recruit/modeexpand/interview/CancelInterviewResultModeExpand.java create mode 100644 src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java create mode 100644 src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java create mode 100644 src/weaver/formmode/recruit/modeexpand/util/ApplicantCommonInfo.java diff --git a/src/com/engine/recruit/enums/InterviewOperateTypeEnum.java b/src/com/engine/recruit/enums/InterviewOperateTypeEnum.java new file mode 100644 index 0000000..226bd8e --- /dev/null +++ b/src/com/engine/recruit/enums/InterviewOperateTypeEnum.java @@ -0,0 +1,49 @@ +package com.engine.recruit.enums; + +/** + * @author:dxfeng + * @createTime: 2023/09/27 + * @version: 1.0 + */ +public enum InterviewOperateTypeEnum { + /** + * 面试操作类型 + */ + EVALUATE("evaluate", "面试评价"), + CANCEL("cancel", "取消面试"), + ARRANGE("arrange", "安排面试"), + ADJUSTMENT("adjustment", "调整面试"); + + InterviewOperateTypeEnum(String operateType, String operateDesc) { + this.operateType = operateType; + this.operateDesc = operateDesc; + } + + private String operateType; + private String operateDesc; + + public String getOperateType() { + return operateType; + } + + public void setOperateType(String operateType) { + this.operateType = operateType; + } + + public String getOperateDesc() { + return operateDesc; + } + + public void setOperateDesc(String operateDesc) { + this.operateDesc = operateDesc; + } + + public static InterviewOperateTypeEnum getOperateType(String operateType) { + for (InterviewOperateTypeEnum item : InterviewOperateTypeEnum.values()) { + if (item.operateType.equalsIgnoreCase(operateType)) { + return item; + } + } + throw new RuntimeException("不支持的操作类型"); + } +} diff --git a/src/weaver/formmode/recruit/modeexpand/departmentscreening/BatchAddDeptScreeningModeExpand.java b/src/weaver/formmode/recruit/modeexpand/departmentscreening/BatchAddDeptScreeningModeExpand.java index 182614e..3785d3f 100644 --- a/src/weaver/formmode/recruit/modeexpand/departmentscreening/BatchAddDeptScreeningModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/departmentscreening/BatchAddDeptScreeningModeExpand.java @@ -8,6 +8,7 @@ import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; import weaver.formmode.setup.ModeRightInfo; import weaver.general.BaseBean; import weaver.general.Util; +import weaver.hrm.User; import weaver.soa.workflow.request.*; import java.util.*; @@ -44,18 +45,20 @@ public class BatchAddDeptScreeningModeExpand extends AbstractModeExpandJavaCodeN for (Property property : properties) { mainDataMap.put(property.getName(), property.getValue()); } + User user = (User) param.get("user"); + // 部门筛选ID mainDataMap.put("bmsxid", requestInfo.getRequestid()); // 状态 mainDataMap.put("zt", "0"); // 填充建模数据基本信息 mainDataMap.put("formmodeid", formModeId); - mainDataMap.put("modedatacreater", requestInfo.getCreatorid()); + mainDataMap.put("modedatacreater", user.getUID()); String dateTime = DateUtil.getFullDate(); String[] split = dateTime.split(" "); mainDataMap.put("modedatacreatedate", split[0]); mainDataMap.put("modedatacreatetime", split[1]); - mainDataMap.put("modedatamodifier", requestInfo.getCreatorid()); + mainDataMap.put("modedatamodifier", user.getUID()); mainDataMap.put("modedatamodifydatetime", dateTime); mainDataMap.put("modedatacreatertype", "0"); diff --git a/src/weaver/formmode/recruit/modeexpand/departmentscreening/SingleAddDeptScreeningModeExpand.java b/src/weaver/formmode/recruit/modeexpand/departmentscreening/SingleAddDeptScreeningModeExpand.java index e68d672..2759b75 100644 --- a/src/weaver/formmode/recruit/modeexpand/departmentscreening/SingleAddDeptScreeningModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/departmentscreening/SingleAddDeptScreeningModeExpand.java @@ -8,6 +8,7 @@ import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; import weaver.formmode.setup.ModeRightInfo; import weaver.general.BaseBean; 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; @@ -48,19 +49,19 @@ public class SingleAddDeptScreeningModeExpand extends AbstractModeExpandJavaCode formModeId = rs.getInt("id"); } - + User user = (User) param.get("user"); // 部门筛选ID dataMap.put("bmsxid", requestInfo.getRequestid()); // 状态 dataMap.put("zt", "0"); // 填充建模数据基本信息 dataMap.put("formmodeid", formModeId); - dataMap.put("modedatacreater", requestInfo.getCreatorid()); + dataMap.put("modedatacreater", user.getUID()); String dateTime = DateUtil.getFullDate(); String[] split = dateTime.split(" "); dataMap.put("modedatacreatedate", split[0]); dataMap.put("modedatacreatetime", split[1]); - dataMap.put("modedatamodifier", requestInfo.getCreatorid()); + dataMap.put("modedatamodifier", user.getUID()); dataMap.put("modedatamodifydatetime", dateTime); dataMap.put("modedatacreatertype", "0"); diff --git a/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java index bc094f0..e814cdd 100644 --- a/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java @@ -9,6 +9,7 @@ import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; import weaver.formmode.setup.ModeRightInfo; import weaver.general.BaseBean; import weaver.general.Util; +import weaver.hrm.User; import weaver.soa.workflow.request.*; import java.io.UnsupportedEncodingException; @@ -64,14 +65,15 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod for (Property property : properties) { mainDataMap.put(property.getName(), RecruitModeUtil.parseBlankToNull(property.getValue())); } + User user = (User) param.get("user"); // 填充建模数据基本信息 mainDataMap.put("formmodeid", formModeId); - mainDataMap.put("modedatacreater", requestInfo.getCreatorid()); + mainDataMap.put("modedatacreater", user.getUID()); String dateTime = DateUtil.getFullDate(); String[] split = dateTime.split(" "); mainDataMap.put("modedatacreatedate", split[0]); mainDataMap.put("modedatacreatetime", split[1]); - mainDataMap.put("modedatamodifier", requestInfo.getCreatorid()); + mainDataMap.put("modedatamodifier", user.getUID()); mainDataMap.put("modedatamodifydatetime", dateTime); mainDataMap.put("modedatacreatertype", "0"); @@ -122,7 +124,7 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod Set userIdSet = new HashSet<>(); userIdSet.addAll(Arrays.asList(msg.split(","))); userIdSet.addAll(Arrays.asList(ptmsg.split(","))); - RecruitModeUtil.messagePush(messageType, title, msgBuilder.toString(), userIdSet, Integer.parseInt(requestInfo.getCreatorid())); + RecruitModeUtil.messagePush(messageType, title, msgBuilder.toString(), userIdSet, user.getUID()); } } } catch (Exception e) { diff --git a/src/weaver/formmode/recruit/modeexpand/interview/CancelInterviewResultModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/CancelInterviewResultModeExpand.java deleted file mode 100644 index f3c2623..0000000 --- a/src/weaver/formmode/recruit/modeexpand/interview/CancelInterviewResultModeExpand.java +++ /dev/null @@ -1,137 +0,0 @@ -package weaver.formmode.recruit.modeexpand.interview; - -import org.apache.commons.lang3.StringUtils; -import weaver.conn.RecordSet; -import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; -import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; -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.*; - -/** - * @author:dxfeng - * @createTime: 2023/09/26 - * @version: 1.0 - */ -public class CancelInterviewResultModeExpand extends AbstractModeExpandJavaCodeNew { - private static final String MODE_TABLE_NAME = "uf_jcl_ms"; - - /** - * 消息来源ID - */ - private final String messageType; - - /** - * 消息提醒标题 - */ - private final String title; - - public CancelInterviewResultModeExpand() { - super(); - messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE"); - title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_CANCEL_MESSAGE_TITLE"); - } - - @Override - public Map doModeExpand(Map param) { - Map result = new HashMap<>(); - String cancelInterview = Util.null2String(param.get("cancelInterview")); - if (!"true".equals(cancelInterview)) { - return result; - } - try { - //数据id - int billId; - //模块id - int modeId; - RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo"); - 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<>(); - for (Property property : properties) { - mainDataMap.put(property.getName(), property.getValue()); - } - - // 更新面试状态为“已取消” - RecordSet rs = new RecordSet(); - rs.executeUpdate("update " + MODE_TABLE_NAME + " set zt = 4 where id = ?", billId); - - // 发送消息 - StringBuilder msgBuilder = new StringBuilder(); - getApplicantsInfo(msgBuilder, Util.null2String(mainDataMap.get("ypz")), Util.null2String(mainDataMap.get("ypzw"))); - - - if (StringUtils.isNotBlank(msgBuilder)) { - String formId = Util.null2String(param.get("formId")); - msgBuilder.insert(0, RecruitModeUtil.getResourceNames(requestInfo.getCreatorid()) + "取消了面试,请知悉。取消原因:" + getCancelReason(formId, Util.null2String(mainDataMap.get("qxyy"))) + "
"); - String msrq = Util.null2String(mainDataMap.get("msrq")); - String msg = Util.null2String(mainDataMap.get("msg")); - String ptmsg = Util.null2String(mainDataMap.get("ptmsg")); - String msdd = Util.null2String(mainDataMap.get("msdd")); - msgBuilder.append("面试时间:").append(msrq).append(";面试官:").append(RecruitModeUtil.getResourceNames(msg)).append(",").append(RecruitModeUtil.getResourceNames(ptmsg)).append("
"); - msgBuilder.append("面试地址:").append(msdd); - - // 消息发送 - Set userIdSet = new HashSet<>(); - userIdSet.addAll(Arrays.asList(msg.split(","))); - userIdSet.addAll(Arrays.asList(ptmsg.split(","))); - RecruitModeUtil.messagePush(messageType, title, msgBuilder.toString(), userIdSet, Integer.parseInt(requestInfo.getCreatorid())); - } - - } - } - } catch (Exception e) { - result.put("errmsg", "自定义出错信息"); - result.put("flag", "false"); - } - return result; - } - - /** - * 获取应聘者信息 - * - * @param msgBuilder 消息内容 - * @param applicantId 应聘者ID - * @param positionId 应聘职位ID - */ - private void getApplicantsInfo(StringBuilder msgBuilder, String applicantId, String positionId) { - if (StringUtils.isAnyBlank(applicantId, positionId)) { - return; - } - RecordSet rs = new RecordSet(); - rs.executeQuery("select xm from uf_jcl_yppc where id = ?", applicantId); - if (rs.next()) { - msgBuilder.append("应聘者:").append(rs.getString("xm")); - } - rs.executeQuery("select zpzwmc from uf_jcl_zp_zpzw where id = ?", positionId); - if (rs.next()) { - msgBuilder.append(";应聘职位:").append(rs.getString("zpzwmc")); - } - msgBuilder.append("
"); - } - - /** - * 获取取消理由 - * - * @param formId 表单ID - * @param value 下拉框值 - * @return - */ - private String getCancelReason(String formId, 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 = 'qxyy' ) and selectvalue =?", formId, value); - if (rs.next()) { - cancelReason = rs.getString("selectname"); - } - return cancelReason; - } -} - diff --git a/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java new file mode 100644 index 0000000..d6cd277 --- /dev/null +++ b/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java @@ -0,0 +1,111 @@ +package weaver.formmode.recruit.modeexpand.interview; + +import com.engine.recruit.enums.InterviewOperateTypeEnum; +import org.apache.commons.lang3.StringUtils; +import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; +import weaver.formmode.recruit.modeexpand.util.ApplicantCommonInfo; +import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; +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.*; + +/** + *

聚才林招聘

+ * 面试保存按钮拓展接口 + * + * @author:dxfeng + * @createTime: 2023/09/27 + * @version: 1.0 + */ +public class CreateInterviewModeExpand extends AbstractModeExpandJavaCodeNew { + + /** + * 消息来源ID + */ + private String messageType; + + /** + * 消息提醒标题 + */ + private String title; + + @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(); + } + InterviewOperateTypeEnum operateTypeEnum = InterviewOperateTypeEnum.getOperateType(operateType); + switch (operateTypeEnum) { + case ARRANGE: + messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE"); + title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_ADD_MESSAGE_TITLE"); + arrangeInterview(user, mainDataMap); + default: + break; + } + + } + } + } catch (Exception e) { + result.put("errmsg", "自定义出错信息"); + result.put("flag", "false"); + } + + return result; + } + + + /** + * 安排面试拓展动作 + * + * @param user + * @param mainDataMap + */ + private void arrangeInterview(User user, Map mainDataMap) { + StringBuilder msgBuilder = new StringBuilder(); + msgBuilder.append(RecruitModeUtil.getResourceNames(String.valueOf(user.getUID()))).append("安排了一场面试
"); + + String ypz = Util.null2String(mainDataMap.get("ypz")); + String ypzw = Util.null2String(mainDataMap.get("ypzw")); + String msrq = Util.null2String(mainDataMap.get("msrq")); + String msg = Util.null2String(mainDataMap.get("msg")); + String ptmsg = Util.null2String(mainDataMap.get("ptmsg")); + String msdd = Util.null2String(mainDataMap.get("msdd")); + msgBuilder.append("应聘者:").append(ApplicantCommonInfo.getApplicantName(ypz)); + msgBuilder.append(";应聘职位:").append(ApplicantCommonInfo.getApplicantPosition(ypzw)); + msgBuilder.append("
"); + msgBuilder.append("面试时间:").append(msrq).append(";面试官:").append(RecruitModeUtil.getResourceNames(msg)).append(",").append(RecruitModeUtil.getResourceNames(ptmsg)).append("
"); + msgBuilder.append("面试地址:").append(msdd); + + // 消息发送 + Set userIdSet = new HashSet<>(); + userIdSet.addAll(Arrays.asList(msg.split(","))); + userIdSet.addAll(Arrays.asList(ptmsg.split(","))); + RecruitModeUtil.messagePush(messageType, title, msgBuilder.toString(), userIdSet, user.getUID()); + + } +} diff --git a/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java new file mode 100644 index 0000000..ba30731 --- /dev/null +++ b/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java @@ -0,0 +1,164 @@ +package weaver.formmode.recruit.modeexpand.interview; + +import com.engine.recruit.enums.InterviewOperateTypeEnum; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; +import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; +import weaver.formmode.recruit.modeexpand.util.ApplicantCommonInfo; +import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; +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.*; + +/** + * @author:dxfeng + * @createTime: 2023/09/27 + * @version: 1.0 + */ +public class UpdateInterviewModeExpand extends AbstractModeExpandJavaCodeNew { + + private static final String MODE_TABLE_NAME = "uf_jcl_ms"; + + /** + * 消息来源ID + */ + private String messageType; + + /** + * 消息提醒标题 + */ + private String title; + + @Override + public Map doModeExpand(Map params) { + Map result = new HashMap<>(); + try { + //数据id + int billId; + //模块id + int modeId; + RequestInfo requestInfo = (RequestInfo) params.get("RequestInfo"); + if (requestInfo != null) { + billId = Util.getIntValue(requestInfo.getRequestid()); + modeId = Util.getIntValue(requestInfo.getWorkflowid()); + if (billId > 0 && modeId > 0) { + User user = (User) params.get("user"); + MainTableInfo mainTableInfo = requestInfo.getMainTableInfo(); + Property[] properties = mainTableInfo.getProperty(); + Map mainDataMap = new HashMap<>(); + 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(); + } + InterviewOperateTypeEnum operateTypeEnum = InterviewOperateTypeEnum.getOperateType(operateType); + switch (operateTypeEnum) { + case EVALUATE: + // 面试评价 + messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE"); + title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_EVALUATE_MESSAGE_TITLE"); + evaluateInterview(params, requestInfo.getCreatorid(), mainDataMap); + break; + case CANCEL: + // 面试取消 + messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE"); + title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_CANCEL_MESSAGE_TITLE"); + cancelInterView(params, requestInfo, billId, mainDataMap); + break; + default: + break; + } + + } + } + } catch (Exception e) { + result.put("errmsg", "自定义出错信息"); + result.put("flag", "false"); + } + + return result; + } + + /** + * 面试评价操作拓展动作 + * + * @param params params + * @param creater creater + * @param mainDataMap mainDataMap + */ + private void evaluateInterview(Map params, String creater, Map mainDataMap) { + String ypz = Util.null2String(mainDataMap.get("ypz")); + String ypzw = Util.null2String(mainDataMap.get("ypzw")); + String msfkr = Util.null2String(mainDataMap.get("msfkr")); + String msrq = Util.null2String(mainDataMap.get("msrq")); + String msg = Util.null2String(mainDataMap.get("msg")); + String ptmsg = Util.null2String(mainDataMap.get("ptmsg")); + String jg = Util.null2String(mainDataMap.get("jg")); + String formId = Util.null2String(params.get("formId")); + + StringBuilder msgBuilder = new StringBuilder(); + msgBuilder.append(RecruitModeUtil.getResourceNames(msfkr)).append("已经提交了面试评价"); + msgBuilder.append("
"); + msgBuilder.append("应聘者:").append(ApplicantCommonInfo.getApplicantName(ypz)).append(";应聘职位:").append(ApplicantCommonInfo.getApplicantPosition(ypzw)); + msgBuilder.append("
"); + msgBuilder.append("面试时间:").append(msrq).append(";面试官:").append(RecruitModeUtil.getResourceNames(msg)).append(",").append(RecruitModeUtil.getResourceNames(ptmsg)); + msgBuilder.append("
"); + msgBuilder.append("面试结果:$jg$").append(ApplicantCommonInfo.getSelectName(formId, "jg", jg)); + + User user = (User) params.get("user"); + + // 消息发送,通知创建人 + Set userIdSet = new HashSet<>(); + userIdSet.add(creater); + RecruitModeUtil.messagePush(messageType, title, msgBuilder.toString(), userIdSet, user.getUID()); + } + + + /** + * 取消面试拓展动作 + * + * @param params params + * @param requestInfo requestInfo + * @param billId billId + * @param mainDataMap mainDataMap + */ + private void cancelInterView(Map params, RequestInfo requestInfo, int billId, Map mainDataMap) { + // 更新面试状态为“已取消” + RecordSet rs = new RecordSet(); + rs.executeUpdate("update " + MODE_TABLE_NAME + " set zt = 4 where id = ?", billId); + + // 发送消息 + String msrq = Util.null2String(mainDataMap.get("msrq")); + String msg = Util.null2String(mainDataMap.get("msg")); + String ptmsg = Util.null2String(mainDataMap.get("ptmsg")); + String msdd = Util.null2String(mainDataMap.get("msdd")); + String formId = Util.null2String(params.get("formId")); + + StringBuilder msgBuilder = new StringBuilder(); + msgBuilder.append(RecruitModeUtil.getResourceNames(requestInfo.getCreatorid())).append("取消了面试,请知悉。取消原因:").append(ApplicantCommonInfo.getSelectName(formId, "qxyy", Util.null2String(mainDataMap.get("qxyy")))).append("
"); + + msgBuilder.append("应聘者:").append(ApplicantCommonInfo.getApplicantName(Util.null2String(mainDataMap.get("ypz")))); + msgBuilder.append(";应聘职位:").append(ApplicantCommonInfo.getApplicantPosition(Util.null2String(mainDataMap.get("ypzw")))); + msgBuilder.append("
"); + + msgBuilder.append("面试时间:").append(msrq).append(";面试官:").append(RecruitModeUtil.getResourceNames(msg)).append(",").append(RecruitModeUtil.getResourceNames(ptmsg)).append("
"); + msgBuilder.append("面试地址:").append(msdd); + + // 消息发送 + Set userIdSet = new HashSet<>(); + userIdSet.addAll(Arrays.asList(msg.split(","))); + userIdSet.addAll(Arrays.asList(ptmsg.split(","))); + RecruitModeUtil.messagePush(messageType, title, msgBuilder.toString(), userIdSet, Integer.parseInt(requestInfo.getCreatorid())); + + } + + +} diff --git a/src/weaver/formmode/recruit/modeexpand/process/RelatedStageModeExpand.java b/src/weaver/formmode/recruit/modeexpand/process/RelatedStageModeExpand.java index 9ae018c..8c75874 100644 --- a/src/weaver/formmode/recruit/modeexpand/process/RelatedStageModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/process/RelatedStageModeExpand.java @@ -8,6 +8,7 @@ import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; import weaver.formmode.setup.ModeRightInfo; import weaver.general.BaseBean; 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; @@ -50,7 +51,8 @@ public class RelatedStageModeExpand extends AbstractModeExpandJavaCodeNew { // 结束阶段 String jsjd = mainDataMap.get("jsjd"); // 查询所有的操作阶段信息 - relatedStageData(requestInfo.getCreatorid(), billId, ksjd, gcjd, jsjd); + User user = (User) param.get("user"); + relatedStageData(user.getUID(), billId, ksjd, gcjd, jsjd); } } catch (Exception e) { new BaseBean().writeLog(e); @@ -68,11 +70,11 @@ public class RelatedStageModeExpand extends AbstractModeExpandJavaCodeNew { * @param billId 当前数据ID * @param processIds 路程表单所选阶段ID */ - private void relatedStageData(String creator, String billId, String... processIds) { + private void relatedStageData(int creator, String billId, String... processIds) { String dateTime = DateUtil.getFullDate(); String[] dateSplit = dateTime.split(" "); - List paramsList = new ArrayList<>(); + List paramsList = new ArrayList<>(); // modedatacreater paramsList.add(creator); // modedatacreatedate @@ -104,7 +106,7 @@ public class RelatedStageModeExpand extends AbstractModeExpandJavaCodeNew { * @param insertSql 插入SQL语句 * @param paramsList 待插入参数集合 */ - private void insertMainTableData(String billId, String processId, String insertSql, List paramsList) { + private void insertMainTableData(String billId, String processId, String insertSql, List paramsList) { String uuid = UUID.randomUUID().toString(); ArrayList insertList = new ArrayList<>(paramsList); insertList.add(0, uuid); diff --git a/src/weaver/formmode/recruit/modeexpand/util/ApplicantCommonInfo.java b/src/weaver/formmode/recruit/modeexpand/util/ApplicantCommonInfo.java new file mode 100644 index 0000000..daa0f41 --- /dev/null +++ b/src/weaver/formmode/recruit/modeexpand/util/ApplicantCommonInfo.java @@ -0,0 +1,59 @@ +package weaver.formmode.recruit.modeexpand.util; + +import weaver.conn.RecordSet; + +/** + * @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 ""; + } + + + /** + * 获取取消理由 + * + * @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; + } +} diff --git a/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java b/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java index 938b47e..687da4e 100644 --- a/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java +++ b/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java @@ -8,7 +8,7 @@ import weaver.general.BaseBean; import weaver.hrm.resource.ResourceComInfo; import java.io.IOException; -import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; import java.util.Set; /** @@ -56,16 +56,12 @@ public class RecruitModeUtil { /** * 获取聚才林招聘相关配置文件 * - * @param key - * @return + * @param key key + * @return value */ public static String getRecruitPropValue(String key) { String value = new BaseBean().getPropValue("jclRecruit", key); - try { - value = new String(value.getBytes("ISO-8859-1"), "utf-8"); - } catch (UnsupportedEncodingException e) { - new BaseBean().writeLog(e); - } + value = new String(value.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8); return value; } diff --git a/src/weaver/formmode/recruit/modeexpand/written/BatchAddWrittenResultModeExpand.java b/src/weaver/formmode/recruit/modeexpand/written/BatchAddWrittenResultModeExpand.java index 50cb237..473abe3 100644 --- a/src/weaver/formmode/recruit/modeexpand/written/BatchAddWrittenResultModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/written/BatchAddWrittenResultModeExpand.java @@ -7,6 +7,7 @@ import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; import weaver.formmode.setup.ModeRightInfo; import weaver.general.BaseBean; import weaver.general.Util; +import weaver.hrm.User; import weaver.soa.workflow.request.*; import java.util.*; @@ -41,13 +42,14 @@ public class BatchAddWrittenResultModeExpand extends AbstractModeExpandJavaCodeN mainDataMap.put(property.getName(), property.getValue()); } // 填充建模数据基本信息 + User user = (User) param.get("user"); mainDataMap.put("formmodeid", formModeId); - mainDataMap.put("modedatacreater", requestInfo.getCreatorid()); + mainDataMap.put("modedatacreater", user.getUID()); String dateTime = DateUtil.getFullDate(); String[] split = dateTime.split(" "); mainDataMap.put("modedatacreatedate", split[0]); mainDataMap.put("modedatacreatetime", split[1]); - mainDataMap.put("modedatamodifier", requestInfo.getCreatorid()); + mainDataMap.put("modedatamodifier", user.getUID()); mainDataMap.put("modedatamodifydatetime", dateTime); mainDataMap.put("modedatacreatertype", "0");