From 9a908116f06b21e62064df60d75cd69477a41a13 Mon Sep 17 00:00:00 2001 From: Mlin Date: Mon, 23 Oct 2023 15:31:54 +0800 Subject: [PATCH] =?UTF-8?q?offer=E4=BF=9D=E5=AD=98=E5=8F=91=E9=80=81?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interview/CreateInterviewModeExpand.java | 37 +++--- .../offer/CreateOfferModeExpand.java | 112 ++++++++++++++++++ .../written/CreateWrittenModeExpand.java | 101 +++++++++++----- 3 files changed, 203 insertions(+), 47 deletions(-) create mode 100644 src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java diff --git a/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java index 0eeeec8..189a3a9 100644 --- a/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java @@ -131,22 +131,25 @@ public class CreateInterviewModeExpand extends AbstractModeExpandJavaCodeNew { } 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; + String[] ways = tzypz.split(","); + for (String way : ways) { + switch (way) { + 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; + } } } @@ -156,7 +159,7 @@ public class CreateInterviewModeExpand extends AbstractModeExpandJavaCodeNew { */ private String getEmailTitle (String id) { String emailTitle = ""; - recordSet.executeQuery("select yjzt from uf_jcl_yjtzmb where id = "+ id); + recordSet.executeQuery("select yjzt from uf_jcl_yjtzmb where id = ?", id); if (recordSet.next()) { emailTitle = recordSet.getString("yjzt"); } diff --git a/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java b/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java new file mode 100644 index 0000000..a788af2 --- /dev/null +++ b/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java @@ -0,0 +1,112 @@ +package weaver.formmode.recruit.modeexpand.offer; + +import com.engine.recruit.util.RecruitMessageUtils; +import weaver.conn.RecordSet; +import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; +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.HashMap; +import java.util.Map; + +public class CreateOfferModeExpand 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()); + } + // 发送信息 + sendMessage(billId); + } + } + } catch (Exception e) { + result.put("errmsg", "自定义出错信息"); + result.put("flag", "false"); + } + + return result; + } + + private void sendMessage(int billId) { + String querySql = "select sjhm,dzyx,yjtzmb,tznr,tzypz from uf_jcl_offer where id = ?"; + recordSet.executeQuery(querySql,billId); + String sjhm = ""; + String dzyx = ""; + String yjtzmb = ""; + String tznr = ""; + String tzypz = ""; + while (recordSet.next()) { + sjhm = Util.null2String(recordSet.getString("sjhm")); + dzyx = Util.null2String(recordSet.getString("dzyx")); + yjtzmb = Util.null2String(recordSet.getString("yjtzmb")); + tznr = Util.null2String(recordSet.getString("tznr")); + tzypz = Util.null2String(recordSet.getString("tzypz")); + } + + Map params = new HashMap<>(); + String[] ways = tzypz.split(","); + for (String way : ways) { + switch (way) { + case "0": + // 邮件 + params.put("sendTo", dzyx); + params.put("emailTitle", getEmailTitle(yjtzmb)); + params.put("emailContent", tznr); + RecruitMessageUtils.SendEmail(params); + break; + case "1": + // 短信 + params.put("receiver", sjhm); + params.put("content", tznr); + 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; + } +} diff --git a/src/weaver/formmode/recruit/modeexpand/written/CreateWrittenModeExpand.java b/src/weaver/formmode/recruit/modeexpand/written/CreateWrittenModeExpand.java index 8a63666..e25a200 100644 --- a/src/weaver/formmode/recruit/modeexpand/written/CreateWrittenModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/written/CreateWrittenModeExpand.java @@ -1,19 +1,24 @@ package weaver.formmode.recruit.modeexpand.written; -import com.engine.recruit.enums.InterviewOperateTypeEnum; import com.engine.recruit.util.RecruitMessageUtils; -import org.apache.commons.lang3.StringUtils; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; import weaver.conn.RecordSet; import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; -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.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * @Author ml @@ -55,7 +60,7 @@ public class CreateWrittenModeExpand extends AbstractModeExpandJavaCodeNew { mainDataMap.put(property.getName(), property.getValue()); } // 发送信息 - + sendMessage(billId); } } @@ -69,39 +74,60 @@ public class CreateWrittenModeExpand extends AbstractModeExpandJavaCodeNew { private void sendMessage(int billId) { - String querySql = "select sjhm,dzyx,tzypz,yjnr from uf_jcl_apbs a left join uf_jcl_apbs_dt1 b on a.id = b.mainid where id = ?"; + 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 id = ?"; recordSet.executeQuery(querySql,billId); - String tzypz = ""; - String sjhm = ""; - String yjnr = ""; - String dzyx = ""; + String yjnr; String yjtzmb = ""; + List writtenPersonList = new ArrayList<>(); 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")); + 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()); } - 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; + 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", 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; + } + } + } + } /** @@ -116,4 +142,19 @@ public class CreateWrittenModeExpand extends AbstractModeExpandJavaCodeNew { } return emailTitle; } + + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + private static class WrittenPerson { + String name; + String jobName; + String time; + String address; + String phone; + String email; + String content; + } }