package weaver.formmode.recruit.modeexpand.interview; import com.engine.recruit.enums.InterviewOperateTypeEnum; import com.engine.recruit.util.RecruitMessageUtils; 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 CreateInterviewModeExpand extends AbstractModeExpandJavaCodeNew { /** * 消息来源ID */ private String messageType; /** * 消息提醒标题 */ private String title; private final RecordSet recordSet = new RecordSet(); @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("RECRUIT_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()); } private void sendMessage(int billId) { String querySql = "select sjhm,dzyx,tzypz,yjnr from uf_jcl_ms where id = ?"; recordSet.executeQuery(querySql,billId); String tzypz = ""; String sjhm = ""; String yjnr = ""; String dzyx = ""; String yjtzmb = ""; while (recordSet.next()) { tzypz = Util.null2String(recordSet.getString("tzypz")); sjhm = Util.null2String(recordSet.getString("sjhm")); yjnr = Util.null2String(recordSet.getString("yjnr")); dzyx = Util.null2String(recordSet.getString("dzyx")); yjtzmb = Util.null2String(recordSet.getString("yjtzmb")); } Map params = new HashMap<>(); switch (tzypz) { case "0": // 邮件 params.put("sendTo",dzyx); params.put("emailTitle",getEmailTitle(yjtzmb)); params.put("emailContent",yjnr); RecruitMessageUtils.SendEmail(params); break; case "1": // 短信 params.put("receiver",sjhm); params.put("content",yjnr); RecruitMessageUtils.sendSMS(params); break; default: break; } } /** * 获取邮件模板主题 * @param id */ private String getEmailTitle (String id) { String emailTitle = ""; recordSet.executeQuery("select yjzt from uf_jcl_yjtzmb where id = "+ id); if (recordSet.next()) { emailTitle = recordSet.getString("yjzt"); } return emailTitle; } }