diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java index b6f3d38..b738c7b 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java @@ -623,5 +623,93 @@ public class TempleteMsgGenerateWorker implements Runnable { } } } + //产后复查程序提醒 + else if (smsType == SmsServiceEnums.CHFCCXTX.getId()) + { + //发送频次 + Integer sendFreq = template.getSendFrequency(); + + if (sendFreq == SendFrequencyEnums.ONCE.getId()) { + + //GL(0,"公历","0,1,2","0,1,2,3"),NL(1,"农历","0,1,2","0,1,2,3"),TSRQ(2,"特殊日期","0,2","1,2,3"),SLRQ(3,"生理日期","0","1,2,3"); + Integer sendDateType = template.getSendDateType(); + if (sendDateType == SendDateEnums.SLRQ.getId()) { + // + Integer specialDateType = template.getSpecialDateType(); + + //产后天数 + if (specialDateType == SpecialDateEnums.CHTS.getId()) { + Integer start = template.getStart(); + Integer end = template.getEnd(); + + if (start != null && end != null) { + Date startDate = DateUtil.getNewDate(-end, "天", sendTimeType); + Date endDate = DateUtil.getNewDate(-start, "天", sendTimeType); + startDate = DateUtil.formatDate(startDate); + endDate = DateUtil.formatDate(endDate); + patientsQuery.setFmDateStart(startDate); + patientsQuery.setFmDateEnd(endDate); + List patientses = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + for(Patients pat : patientses) + { + if (pat.getDueDate() == null) + { + continue; + } + if (queryPostOrder(pat.getDueDate(),start,tempHid,sendTimeType,pat.getId())) + { + continue; + } + //短信前缀 + String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor()); + String messageContent = "【"+messagePrefix+"】"+template.getContent(); + messageContent = HelperUtils.replaceName(pat.getUsername(), messageContent); + + String days = DateUtils.daysBetween(pat.getFmDate(), new Date()) + "天"; + String title = "产后复查"; + MessageRequest request = HelperUtils.getMessageRequest(messageContent, pat.getPhone(), + ServiceObjEnums.CHANOBJ.getId(), template.getSmsType(), + pat.getHospitalId(), template.getId(), pat.getId(), title, days, "", WxTempleteIdEnums.CHAN_JIAN_TI_XING.getId()); + messages.add(request); + } + } + } + //产妇服务结束 + else if (specialDateType == SpecialDateEnums.FWJS.getId()) + { + + } + } + } + list.setMessages(messages); + HelperUtils.sendMsg(list); + } + } + + + /** + * 查询出产妇有效的下次预约时间 + * @param tempHid + * @return + */ + private boolean queryPostOrder(Date dueDate,Integer start,String tempHid,Integer sendTimeType,String pid) + { + Set idset = new HashSet<>(); + Date startDate = DateUtil.getRangeDate(dueDate, start, "周", -sendTimeType); + if (startDate != null) + { + //把时间格式化成 yyyy_MM_dd 的日期 + startDate = DateUtil.formatDate(startDate); + } + List models = postReviewService.queryPostOrder(startDate, tempHid, pid); + if (CollectionUtils.isNotEmpty(models)) + { + for (PostReviewModel model : models) + { + idset.add(model.getId()); //这里的id就是parentid + } + } + + return idset.size() > 0; } }