diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 4ce14a4..387a9a1 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -583,12 +583,12 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { MongoCondition con1 = MongoCondition.newInstance("phone", queryNo, MongoOper.IS); MongoCondition con2 = MongoCondition.newInstance("username", "^" + queryNo, MongoOper.LIKE); MongoCondition con3 = MongoCondition.newInstance("cardNo", queryNo, MongoOper.IS); - MongoCondition con4 = MongoCondition.newInstance("fileCode", queryNo, MongoOper.IS); + //MongoCondition con4 = MongoCondition.newInstance("fileCode", queryNo, MongoOper.IS); MongoCondition con5 = MongoCondition.newInstance("vcCardNo", queryNo, MongoOper.IS); if (c1 != null) { - c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2, con3, con4, con5}).getCriteria()); + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2, con3, con5}).getCriteria()); } else { - c1 = c.orCondition(new MongoCondition[]{con1, con2, con3, con4, con5}).getCriteria(); + c1 = c.orCondition(new MongoCondition[]{con1, con2, con3, con5}).getCriteria(); } } 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 96673e3..0e87c90 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 @@ -680,12 +680,12 @@ public class TempleteMsgGenerateWorker implements Runnable { * @param model */ private void addBabyVaccineDayOrMonthMessages(SmsTemplateModel template, - SmsConfigModel config, - Integer service, - List messages, - Integer start, - BabyModel model, - Boolean isDay) { + SmsConfigModel config, + Integer service, + List messages, + Integer start, + BabyModel model, + Boolean isDay) { if (model.getBirth() == null) { return; } @@ -1255,9 +1255,9 @@ public class TempleteMsgGenerateWorker implements Runnable { return null; } boolean isBabyDayType = template.getSpecialDateType() == SpecialDateEnums.ETTS.getId(); - String typeStr = isBabyDayType ? "天" : "月"; - int num; - if (isStartDate){ + String typeStr = isBabyDayType ? "天" : "月"; + int num; + if (isStartDate){ num = isBabyDayType ? -end : -end - 1; Date startDate = DateUtils.getNewDate(new Date(), num, typeStr, sendTimeType); startDate = DateUtils.formatDate(startDate, DateUtils.Y_M_D); @@ -1284,7 +1284,7 @@ public class TempleteMsgGenerateWorker implements Runnable { * @param remark */ private void makeSmsDataByPatients(SmsTemplateModel template, SmsConfigModel config, Integer service, - List messages, Patients p, String keyword1, String keyword2, String remark) { + List messages, Patients p, String keyword1, String keyword2, String remark) { boolean existMsg = HelperUtils.isExistMsg(p.getId(), template.getId()); if (existMsg){ return; @@ -1313,7 +1313,7 @@ public class TempleteMsgGenerateWorker implements Runnable { * @param remark */ private void makeSmsDataByBabyModel(SmsTemplateModel template, SmsConfigModel config, Integer service, - List messages, BabyModel p, String keyword1, String keyword2, String remark) { + List messages, BabyModel p, String keyword1, String keyword2, String remark) { if (HelperUtils.isExistMsg(p.getId(), template.getId())){ return; } @@ -1546,145 +1546,145 @@ public class TempleteMsgGenerateWorker implements Runnable { } /** - * 产妇模板消息生成 - * - * @param template - * @param config - */ - private void generateChanTempMsg (SmsTemplateModel template, SmsConfigModel config, Integer service){ - - //模板属于的医院id - String tempHid = template.getHospitalId(); - - //服务类型 - Integer serviceType = template.getServiceType(); - //服务状态 - Integer serviceStatus = template.getServiceStatus(); - //消息类型 - Integer smsType = template.getSmsType(); - - //发送时间 SendTimeEnums DT(0,"当天"),QYT(1,"前一天"),QLT(2,"前两天"),QST(3,"前三天"); - Integer sendTimeType = template.getSendTimeType(); - - logger.info("generateYunTempMsg info : serviceType = " + serviceType + ";templateId=" + template.getId() + ";smsType=" + smsType); - - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(YnEnums.YES.getId()); - patientsQuery.setHospitalId(tempHid); - - List buildType = new ArrayList(); - buildType.add(0); - buildType.add(2); - patientsQuery.setSmsBuildTypeList(buildType); - //1孕妇 3产妇 - patientsQuery.setType(3); - //0未终止妊娠的产妇 - patientsQuery.setDueStatus(0); - - HelperUtils.getServicePatientQuery(serviceType, serviceStatus, patientsQuery); - - //产妇预约短信 - if (smsType == SmsServiceEnums.CHFCYUTX.getId()) { - //发送短信集合 - MsgListRequest list = new MsgListRequest(); - List messages = new ArrayList<>(); - - //把时间格式成yyyy_MM_dd - Date actualSendDate = DateUtils.formatDate(DateUtils.addDay(new Date(), sendTimeType), DateUtils.Y_M_D); - - //查询出产妇预约 - List orderModels = postReviewService.queryPostOrder(actualSendDate, tempHid); - - if (CollectionUtils.isNotEmpty(orderModels)) { - for (PostReviewModel orderModel : orderModels) { - PatientsQuery query = new PatientsQuery(); - query.setYn(YnEnums.YES.getId()); - query.setId(orderModel.getId()); //id就是parentId + * 产妇模板消息生成 + * + * @param template + * @param config + */ + private void generateChanTempMsg (SmsTemplateModel template, SmsConfigModel config, Integer service){ - boolean existMsg = HelperUtils.isExistMsg(orderModel.getId(), template.getId()); - if (existMsg){ - continue; - } + //模板属于的医院id + String tempHid = template.getHospitalId(); - //查询符合条件的产妇 - - List patients = yunBookbuildingService.queryPregnantWithQuery(query); - if (CollectionUtils.isNotEmpty(patients)) { - for (Patients pat : patients) { - //短信前缀 - String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor(), ServiceObjEnums.CHANOBJ.getId()); - String messageContent = "【" + messagePrefix + "】" + template.getContent(); - String title = "产后复查"; - messageContent = HelperUtils.replaceEL(pat.getUsername(), actualSendDate, messageContent); - MsgRequest request = HelperUtils.getMessageRequest(messageContent, pat.getPhone(), - ServiceObjEnums.CHANOBJ.getId(), template.getSmsType(), - pat.getHospitalId(), template.getId(), pat.getId(), title, DateUtils.getDateStr(actualSendDate, DateUtils.Y_M_D), "", - WxTempleteIdEnums.CHAN_HOU_FU_CHA.getId(), service); - - messages.add(request); - } + //服务类型 + Integer serviceType = template.getServiceType(); + //服务状态 + Integer serviceStatus = template.getServiceStatus(); + //消息类型 + Integer smsType = template.getSmsType(); + + //发送时间 SendTimeEnums DT(0,"当天"),QYT(1,"前一天"),QLT(2,"前两天"),QST(3,"前三天"); + Integer sendTimeType = template.getSendTimeType(); + + logger.info("generateYunTempMsg info : serviceType = " + serviceType + ";templateId=" + template.getId() + ";smsType=" + smsType); + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setHospitalId(tempHid); + + List buildType = new ArrayList(); + buildType.add(0); + buildType.add(2); + patientsQuery.setSmsBuildTypeList(buildType); + //1孕妇 3产妇 + patientsQuery.setType(3); + //0未终止妊娠的产妇 + patientsQuery.setDueStatus(0); + + HelperUtils.getServicePatientQuery(serviceType, serviceStatus, patientsQuery); + + //产妇预约短信 + if (smsType == SmsServiceEnums.CHFCYUTX.getId()) { + //发送短信集合 + MsgListRequest list = new MsgListRequest(); + List messages = new ArrayList<>(); + + //把时间格式成yyyy_MM_dd + Date actualSendDate = DateUtils.formatDate(DateUtils.addDay(new Date(), sendTimeType), DateUtils.Y_M_D); + + //查询出产妇预约 + List orderModels = postReviewService.queryPostOrder(actualSendDate, tempHid); + + if (CollectionUtils.isNotEmpty(orderModels)) { + for (PostReviewModel orderModel : orderModels) { + PatientsQuery query = new PatientsQuery(); + query.setYn(YnEnums.YES.getId()); + query.setId(orderModel.getId()); //id就是parentId + + boolean existMsg = HelperUtils.isExistMsg(orderModel.getId(), template.getId()); + if (existMsg){ + continue; + } + + //查询符合条件的产妇 + + List patients = yunBookbuildingService.queryPregnantWithQuery(query); + if (CollectionUtils.isNotEmpty(patients)) { + for (Patients pat : patients) { + //短信前缀 + String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor(), ServiceObjEnums.CHANOBJ.getId()); + String messageContent = "【" + messagePrefix + "】" + template.getContent(); + String title = "产后复查"; + messageContent = HelperUtils.replaceEL(pat.getUsername(), actualSendDate, messageContent); + MsgRequest request = HelperUtils.getMessageRequest(messageContent, pat.getPhone(), + ServiceObjEnums.CHANOBJ.getId(), template.getSmsType(), + pat.getHospitalId(), template.getId(), pat.getId(), title, DateUtils.getDateStr(actualSendDate, DateUtils.Y_M_D), "", + WxTempleteIdEnums.CHAN_HOU_FU_CHA.getId(), service); + + messages.add(request); } } } - - list.setMessages(messages); - HelperUtils.sendMsg(list); } - //产后复查程序提醒 - else if (smsType == SmsServiceEnums.CHFCCXTX.getId()) { - - //发送短信集合 - MsgListRequest list = new MsgListRequest(); - List messages = new ArrayList<>(); - - //发送频次 - 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 = DateUtils.getNewDate(new Date(), -end, "天", sendTimeType); - Date endDate = DateUtils.getNewDate(new Date(), -start, "天", sendTimeType); - startDate = DateUtils.formatDate(startDate, DateUtils.Y_M_D); - endDate = DateUtils.formatDate(endDate, DateUtils.Y_M_D); - patientsQuery.setFmDateStart(startDate); - patientsQuery.setFmDateEnd(endDate); - - if (serviceType == com.lyms.platform.common.enums.ServiceTypeEnums.ALL_SERVICE.getId() - && serviceStatus == ServiceStatusEnums.ADD_ALL.getId()){ - addPuerperaMessages(template, config, service, tempHid, sendTimeType, patientsQuery, messages, start, end); - } else { - PatientsQuery query = getPatientsQuery(template, false); - addPuerperaMessages(template, config, service, tempHid, sendTimeType, query, messages, start, end); - } + + list.setMessages(messages); + HelperUtils.sendMsg(list); + } + //产后复查程序提醒 + else if (smsType == SmsServiceEnums.CHFCCXTX.getId()) { + + //发送短信集合 + MsgListRequest list = new MsgListRequest(); + List messages = new ArrayList<>(); + + //发送频次 + 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 = DateUtils.getNewDate(new Date(), -end, "天", sendTimeType); + Date endDate = DateUtils.getNewDate(new Date(), -start, "天", sendTimeType); + startDate = DateUtils.formatDate(startDate, DateUtils.Y_M_D); + endDate = DateUtils.formatDate(endDate, DateUtils.Y_M_D); + patientsQuery.setFmDateStart(startDate); + patientsQuery.setFmDateEnd(endDate); + + if (serviceType == com.lyms.platform.common.enums.ServiceTypeEnums.ALL_SERVICE.getId() + && serviceStatus == ServiceStatusEnums.ADD_ALL.getId()){ + addPuerperaMessages(template, config, service, tempHid, sendTimeType, patientsQuery, messages, start, end); + } else { + PatientsQuery query = getPatientsQuery(template, false); + addPuerperaMessages(template, config, service, tempHid, sendTimeType, query, messages, start, end); } } - //产妇服务结束 - else if (specialDateType == SpecialDateEnums.FWJS.getId()) { + } + //产妇服务结束 + else if (specialDateType == SpecialDateEnums.FWJS.getId()) { - } } } - - list.setMessages(messages); - HelperUtils.sendMsg(list); } - // TODO 无服务 - + list.setMessages(messages); + HelperUtils.sendMsg(list); } + // TODO 无服务 + + } + /** * 产妇消息 * @@ -1738,25 +1738,25 @@ public class TempleteMsgGenerateWorker implements Runnable { /** - * 查询出产妇有效的下次预约时间 - * - * @param tempHid - * @return - */ - private boolean queryPostOrder (Date dueDate, Integer start, String tempHid, Integer sendTimeType, String pid){ - Set idset = new HashSet<>(); - Date startDate = DateUtils.getNewDate(dueDate, start, "周", -sendTimeType); - if (startDate != null) { - //把时间格式化成 yyyy_MM_dd 的日期 - startDate = DateUtils.formatDate(startDate, DateUtils.Y_M_D); - } - List models = postReviewService.queryPostOrder(startDate, tempHid, pid); - if (CollectionUtils.isNotEmpty(models)) { - for (PostReviewModel model : models) { - idset.add(model.getId()); //这里的id就是parentid - } + * 查询出产妇有效的下次预约时间 + * + * @param tempHid + * @return + */ + private boolean queryPostOrder (Date dueDate, Integer start, String tempHid, Integer sendTimeType, String pid){ + Set idset = new HashSet<>(); + Date startDate = DateUtils.getNewDate(dueDate, start, "周", -sendTimeType); + if (startDate != null) { + //把时间格式化成 yyyy_MM_dd 的日期 + startDate = DateUtils.formatDate(startDate, DateUtils.Y_M_D); + } + 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; } + + return idset.size() > 0; } +}