weaver-hrm-recruit/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java

112 lines
4.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.*;
/**
* <p>聚才林招聘</p>
* 面试保存按钮拓展接口
*
* @author:dxfeng
* @createTime: 2023/09/27
* @version: 1.0
*/
public class CreateInterviewModeExpand extends AbstractModeExpandJavaCodeNew {
/**
* 消息来源ID
*/
private String messageType;
/**
* 消息提醒标题
*/
private String title;
@Override
public Map<String, String> doModeExpand(Map<String, Object> params) {
Map<String, String> 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<String, Object> 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<String, Object> mainDataMap) {
StringBuilder msgBuilder = new StringBuilder();
msgBuilder.append(RecruitModeUtil.getResourceNames(String.valueOf(user.getUID()))).append("安排了一场面试<br/>");
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("<br/>");
msgBuilder.append("面试时间:").append(msrq).append(";面试官:").append(RecruitModeUtil.getResourceNames(msg)).append("").append(RecruitModeUtil.getResourceNames(ptmsg)).append("<br/>");
msgBuilder.append("面试地址:").append(msdd);
// 消息发送
Set<String> userIdSet = new HashSet<>();
userIdSet.addAll(Arrays.asList(msg.split(",")));
userIdSet.addAll(Arrays.asList(ptmsg.split(",")));
RecruitModeUtil.messagePush(messageType, title, msgBuilder.toString(), userIdSet, user.getUID());
}
}