diff --git a/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java index ad4b736..25b7886 100644 --- a/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java @@ -133,6 +133,10 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod userIdSet.addAll(Arrays.asList(msg.split(","))); userIdSet.addAll(Arrays.asList(ptmsg.split(","))); RecruitModeUtil.messagePush(messageType, title, msgBuilder.toString(), userIdSet, user.getUID()); + + // 面试邮件、短信发送 + int billId = Util.getIntValue(requestInfo.getRequestid()); + sendMessage(billId); } } } catch (Exception e) { @@ -222,7 +226,7 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod private void sendMessage(int billId) { String querySql = RecruitModeUtil.getQuerySql("uf_jcl_plapms"); RecordSet rs = new RecordSet(); - rs.executeQuery(querySql); + rs.executeQuery(querySql,billId); String yjnr; String yjtzmb = ""; List interviewPersonList = new ArrayList<>(); diff --git a/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java b/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java index 541d2c6..cb4daad 100644 --- a/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java +++ b/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java @@ -241,7 +241,7 @@ public class RecruitModeUtil { } whereSql.append(" left join ").append(tableName).append("_dt").append(key).append(" ").append("t").append(key).append(" on t0.id=").append("t").append(key).append(".mainid"); } - return "select "+fieldSql+" from " + whereSql; + return "select "+fieldSql+" from " + whereSql + " where t0.id=?"; } /** diff --git a/src/weaver/formmode/recruit/modeexpand/written/BatchAddWrittenResultModeExpand.java b/src/weaver/formmode/recruit/modeexpand/written/BatchAddWrittenResultModeExpand.java index 473abe3..eac84d4 100644 --- a/src/weaver/formmode/recruit/modeexpand/written/BatchAddWrittenResultModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/written/BatchAddWrittenResultModeExpand.java @@ -1,9 +1,15 @@ package weaver.formmode.recruit.modeexpand.written; +import com.engine.recruit.util.RecruitMessageUtils; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; import org.apache.commons.collections.CollectionUtils; import weaver.common.DateUtil; import weaver.conn.RecordSet; import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; +import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; import weaver.formmode.setup.ModeRightInfo; import weaver.general.BaseBean; import weaver.general.Util; @@ -11,6 +17,8 @@ import weaver.hrm.User; import weaver.soa.workflow.request.*; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** *

聚才林招聘

@@ -22,6 +30,7 @@ import java.util.*; */ public class BatchAddWrittenResultModeExpand extends AbstractModeExpandJavaCodeNew { private static final String MODE_TABLE_NAME = "uf_jcl_bs"; + private static final RecordSet recordSet = new RecordSet(); @Override public Map doModeExpand(Map param) { @@ -81,6 +90,10 @@ public class BatchAddWrittenResultModeExpand extends AbstractModeExpandJavaCodeN } } } + + // 发送信息 + int billId = Util.getIntValue(requestInfo.getRequestid()); + sendMessage(billId); } } catch (Exception e) { new BaseBean().writeLog(e); @@ -147,4 +160,76 @@ public class BatchAddWrittenResultModeExpand extends AbstractModeExpandJavaCodeN } } + + private void sendMessage(int billId) { + String querySql = "select b.ypz,b.ypzw,b.sjh,b.yx,a.yjtzmb ,a.bssj ,a.bsdd,a.yjnr from uf_jcl_apbs a \n" + + "left join uf_jcl_apbs_dt1 b on a.id = b.mainid where a.id = ?"; + recordSet.executeQuery(querySql,billId); + String yjnr; + String yjtzmb = ""; + List writtenPersonList = new ArrayList<>(); + while (recordSet.next()) { + yjtzmb = Util.null2String(recordSet.getString("yjtzmb")); + yjnr = recordSet.getString("yjnr"); + + Pattern patten = Pattern.compile("\\$(.*?)\\$");//编译正则表达式 + Matcher matcher = patten.matcher(yjnr);// 指定要匹配的字符串 + StringBuffer sb = new StringBuffer(); + while (matcher.find()) { //此处find()每次被调用后,会偏移到下一个匹配 + matcher.appendReplacement(sb,Util.null2String(recordSet.getString(matcher.group().replace("$","")))); + } + matcher.appendTail(sb); + + writtenPersonList.add(WrittenPerson.builder() + .name(Util.null2String(recordSet.getString("ypz"))) + .jobName(Util.null2String(recordSet.getString("ypzw"))) + .time(Util.null2String(recordSet.getString("bssj"))) + .phone(Util.null2String(recordSet.getString("sjh"))) + .email(Util.null2String(recordSet.getString("yx"))) + .address(Util.null2String(recordSet.getString("bsdd"))) + .content(Util.null2String(sb)).build()); + } + + for (WrittenPerson writtenPerson : writtenPersonList) { + + Map params = new HashMap<>(); + String[] strings = yjtzmb.split(","); + for (String s : strings) { + switch (s) { + case "0": + // 邮件 + params.put("sendTo", writtenPerson.getEmail()); + params.put("emailTitle", RecruitModeUtil.getEmailTitle(s)); + params.put("emailContent", writtenPerson.getContent()); + RecruitMessageUtils.SendEmail(params); + break; + case "1": + // 短信 + params.put("receiver", writtenPerson.getPhone()); + params.put("content", writtenPerson.getContent()); + RecruitMessageUtils.sendSMS(params); + break; + default: + break; + } + } + + } + + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + private static class WrittenPerson { + String name; + String jobName; + String time; + String address; + String phone; + String email; + String content; + } + }