From 21447c837b0ba1a67bbb72bba728bdf370938d79 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 5 Sep 2016 14:47:57 +0800 Subject: [PATCH] code update --- .../com/lyms/platform/query/SmsConfigQuery.java | 15 + .../platform/data/service/impl/SmsServiceImpl.java | 1788 ++++++++++---------- .../operate/web/facade/BabyCheckFacade.java | 29 +- 3 files changed, 940 insertions(+), 892 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/SmsConfigQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/SmsConfigQuery.java index 0c505e8..c55d6df 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/SmsConfigQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/SmsConfigQuery.java @@ -10,6 +10,7 @@ import org.bson.types.ObjectId; import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.query.Criteria; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; @@ -37,6 +38,7 @@ public class SmsConfigQuery extends BaseQuery implements IConvertToNativeQuery { //指导发送时间 周几发送 private String guideTime; + private Integer[] prefixTypes; @Override public MongoQuery convertToQuery() { @@ -54,9 +56,22 @@ public class SmsConfigQuery extends BaseQuery implements IConvertToNativeQuery { if (null != guideTime) { condition = condition.and("guideTime", guideTime, MongoOper.LIKE); } + + if (null != prefixTypes && prefixTypes.length > 0) { + Criteria c = Criteria.where("prefixType").in(Arrays.asList(prefixTypes)); + condition.andCondition(new MongoCondition(c)); + } + return condition.toMongoQuery(); } + public Integer[] getPrefixTypes() { + return prefixTypes; + } + + public void setPrefixTypes(Integer[] prefixTypes) { + this.prefixTypes = prefixTypes; + } public String getGuideTime() { return guideTime; diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java index 6676f5b..41dad07 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java @@ -619,290 +619,304 @@ public class SmsServiceImpl implements SmsService{ */ @Override public void productTemplateSms() { - - //查询短信模板 - SmsTemplateQuery tempQuery = new SmsTemplateQuery(); - tempQuery.setYn(YnEnums.YES.getId()); - //启用状态 0未启用 1启用 - tempQuery.setStatus(1); - List templates = smsTemplateService.querySmsTemplates(tempQuery); - if (!CollectionUtils.isNotEmpty(templates)) - { - return; - } - SmsConfigQuery configQuery = new SmsConfigQuery(); configQuery.setYn(YnEnums.YES.getId()); + configQuery.setPrefixTypes(new Integer[]{0,1}); + //查询出对应医院配置 List configs = smsConfigService.querySmsConfig(configQuery); - - for (SmsTemplateModel template : templates) + if (CollectionUtils.isNotEmpty(configs)) { - //模板属于的医院id - String tempHid = template.getHospitalId(); + //查询短信模板 + SmsTemplateQuery tempQuery = new SmsTemplateQuery(); + tempQuery.setYn(YnEnums.YES.getId()); + //启用状态 0未启用 1启用 + tempQuery.setStatus(1); + for(SmsConfigModel config : configs) + { - //服务对象1孕妇 2儿童 3产妇 - Integer serviceObj = template.getServiceObj(); - //服务类型 - Integer serviceType = template.getServiceType(); - //服务状态 - Integer serviceStatus = template.getServiceStatus(); - //消息类型 - Integer smsType = template.getSmsType(); + String hospitalId = config.getHospitalId(); + if (StringUtils.isEmpty(hospitalId)) + { + continue; + } + //判断医院是否运行 + if (!isRunning(hospitalId)) + { + continue; + } - //发送时间 SendTimeEnums DT(0,"当天"),QYT(1,"前一天"),QLT(2,"前两天"),QST(3,"前三天"); - Integer sendTimeType = template.getSendTimeType(); - String hospitalId = template.getHospitalId(); + //查询到当前配置的医院的所有模板 可用状态的模板 + tempQuery.setHospitalId(hospitalId); + List templates = smsTemplateService.querySmsTemplates(tempQuery); - if (hospitalId == null || serviceObj == null) { - continue; - } + if (!CollectionUtils.isNotEmpty(templates)) + { + return; + } - //判断医院是否运行 - if (!isRunning(hospitalId)) - { - continue; - } + //循环每一个模板,根据模板条件查询到用户 发送短信 + for (SmsTemplateModel template : templates) + { - SmsConfigModel config = getSmsConfig(configs,hospitalId); + //模板属于的医院id + String tempHid = template.getHospitalId(); - //false 表示该服务没有启动 smsType为消息类型 - boolean isStart = isStartTemplate(config, smsType); - if (!isStart) - { - continue; - } + //服务对象1孕妇 2儿童 3产妇 + Integer serviceObj = template.getServiceObj(); + //服务类型 + Integer serviceType = template.getServiceType(); + //服务状态 + Integer serviceStatus = template.getServiceStatus(); + //消息类型 + Integer smsType = template.getSmsType(); - //孕妇 - if (serviceObj == ServiceObjEnums.YUNOBJ.getId()) - { - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(YnEnums.YES.getId()); - //1孕妇 - patientsQuery.setType(1); - // 0未终止妊娠 1终止妊娠 - patientsQuery.setDueStatus(0); + //发送时间 SendTimeEnums DT(0,"当天"),QYT(1,"前一天"),QLT(2,"前两天"),QST(3,"前三天"); + Integer sendTimeType = template.getSendTimeType(); - patientsQuery = getServicePatientQuery(serviceType, serviceStatus, patientsQuery); + if (tempHid == null || serviceObj == null) { + continue; + } - //发送短信集合 - MessageListRequest list = new MessageListRequest(); - List messages = new ArrayList<>(); - //孕妇预约短信 - if (smsType == SmsServiceEnums.CJYYTX.getId()) - { - Date yuYueDate = DateUtil.addDay(new Date(),sendTimeType); - //得到孕妇的id - Set idset = getYuYuePatient(sendTimeType, tempHid); + //false 表示该服务没有启动 smsType为消息类型 + boolean isStart = isStartTemplate(config, smsType); + if (!isStart) + { + continue; + } - for (String pid : idset) - { - //查询符合条件的产妇 - patientsQuery.setId(pid); - List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); - if (CollectionUtils.isNotEmpty(patients)) - { - for (Patients pat : patients) - { - //短信前缀 - String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor()); - String messageContent = "【"+messagePrefix+"】"+template.getContent(); - messageContent = replaceEL(pat.getUsername(),yuYueDate,messageContent); + //孕妇 + if (serviceObj == ServiceObjEnums.YUNOBJ.getId()) + { - MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), - pat.getHospitalId(),template.getId(),pat.getId()); + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + //1孕妇 + patientsQuery.setType(1); + // 0未终止妊娠 1终止妊娠 + patientsQuery.setDueStatus(0); - messages.add(request); - } - } - } + getServicePatientQuery(serviceType, serviceStatus, patientsQuery); - } - //产检程序提醒 - else if (smsType == SmsServiceEnums.CJCXTX.getId()) - { - //发送频次 - Integer sendFreq = template.getSendFrequency(); + //发送短信集合 + MessageListRequest list = new MessageListRequest(); + List messages = new ArrayList<>(); - if (sendFreq == SendFrequencyEnums.ONCE.getId()) - { + //孕妇预约短信 + if (smsType == SmsServiceEnums.CJYYTX.getId()) + { + Date yuYueDate = DateUtil.addDay(new Date(),sendTimeType); + //得到孕妇的id + Set idset = getYuYuePatient(sendTimeType, tempHid); - //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(); + for (String pid : idset) + { + //查询符合条件的产妇 + patientsQuery.setId(pid); + List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (CollectionUtils.isNotEmpty(patients)) + { + for (Patients pat : patients) + { + //短信前缀 + String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor()); + String messageContent = "【"+messagePrefix+"】"+template.getContent(); + messageContent = replaceEL(pat.getUsername(),yuYueDate,messageContent); - if (specialDateType == SpecialDateEnums.YZ.getId()) - { - Integer start = template.getStart(); - Integer end = template.getEnd(); + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), + pat.getHospitalId(),template.getId(),pat.getId()); - if (start != null && end != null) - { - Date startDate = DateUtil.getNewDate(-end,"周",sendTimeType); - Date endDate = DateUtil.getNewDate(-start,"周",sendTimeType); - patientsQuery.setLastMensesStart(startDate); - patientsQuery.setLastMensesEnd(endDate); - //查询符合条件的孕妇 - List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); - if (CollectionUtils.isNotEmpty(patients)) - { - for (Patients pat : patients) - { - - //如果有有效的预约短信就不发送产检程序提醒 - boolean isOrder = queryYunIsOrder(sendTimeType, tempHid,pat.getId(),pat.getLastMenses(),start); - if (isOrder) - { - continue; - } - //短信前缀 - String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor()); - String messageContent = "【"+messagePrefix+"】"+template.getContent(); - messageContent = replaceName(pat.getUsername(), messageContent); - - MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), - pat.getHospitalId(),template.getId(),pat.getId()); - messages.add(request); - } - } - } + messages.add(request); + } + } + } - } - } - } - } - else - { - //发送频次 - Integer sendFreq = template.getSendFrequency(); - if (sendFreq == SendFrequencyEnums.YEAR.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.TSRQ.getId()) { - //孕妇 下面的 孕妇生日 丈夫生日 - Integer specialDateType = template.getSpecialDateType(); - //丈夫生日 - if (specialDateType == SpecialDateEnums.ZFSR.getId()) - { - Date birthday = DateUtil.addDay(new Date(),sendTimeType); - List ids = yunBookbuildingService.getBirthHusbands(DateUtil.formatSimpleDate(birthday)); - if(CollectionUtils.isNotEmpty(ids)) - { - for(String id : ids) - { - patientsQuery.setId(id); - //查询符合条件丈夫信息 - List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); - if (CollectionUtils.isNotEmpty(patients)) - { - for (Patients pat : patients) - { - if (pat != null && StringUtils.isEmpty(pat.getPhone())) - { - continue; - } - - //短信前缀 - String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor()); - String messageContent = "【"+messagePrefix+"】"+template.getContent(); - messageContent = replaceName(pat.getHusbandName(), messageContent); - MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), - pat.getHospitalId(),template.getId(),pat.getId()); - - messages.add(request); - } - } - } - } + } + //产检程序提醒 + else if (smsType == SmsServiceEnums.CJCXTX.getId()) + { + //发送频次 + Integer sendFreq = template.getSendFrequency(); + if (sendFreq == SendFrequencyEnums.ONCE.getId()) + { - } - //孕妇生日 - else if(specialDateType == SpecialDateEnums.MMSR.getId()) - { - Date birthday = DateUtil.addDay(new Date(), sendTimeType); - String dateStr = DateUtil.formatSimpleDate(birthday); - List ids = yunBookbuildingService.getBirthPatients(dateStr); - if (CollectionUtils.isNotEmpty(ids)) - { - for(String id : ids) - { - patientsQuery.setId(id); - messages.addAll(getYunMessageRequestList(patientsQuery, config, template)); - } - } + //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(); - } - } - //特殊日期中的公历和农历 每年的公历/农历 - else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() ) - { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLYear(sendDate,sendTimeType)) - { - messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLYear(sendDate,sendTimeType)) - { - messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); - } - } - } - } - //每月发送 - else if (sendFreq == SendFrequencyEnums.MONTH.getId()) - { - Integer sendDateType = template.getSendDateType(); + if (specialDateType == SpecialDateEnums.YZ.getId()) + { + Integer start = template.getStart(); + Integer end = template.getEnd(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - Date sendDate = template.getSendDate(); - if (sendDate != null) - { - if (isGLMonth(sendDate,sendTimeType)) - { - messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); - } - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - Date sendDate = template.getSendDate(); - if (isNLMonth(sendDate,sendTimeType)) - { - messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); - } - } - } - //发送一次 - else 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.TSRQ.getId()) { - //孕妇的建档 和服务结束 - Integer specialDateType = template.getSpecialDateType(); - //服务结束 - if (specialDateType == SpecialDateEnums.FWJS.getId()) - { + if (start != null && end != null) + { + Date startDate = DateUtil.getNewDate(-end,"周",sendTimeType); + Date endDate = DateUtil.getNewDate(-start,"周",sendTimeType); + patientsQuery.setLastMensesStart(startDate); + patientsQuery.setLastMensesEnd(endDate); + //查询符合条件的孕妇 + List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (CollectionUtils.isNotEmpty(patients)) + { + for (Patients pat : patients) + { + + //如果有有效的预约短信就不发送产检程序提醒 + boolean isOrder = queryYunIsOrder(sendTimeType, tempHid,pat.getId(),pat.getLastMenses(),start); + if (isOrder) + { + continue; + } + //短信前缀 + String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor()); + String messageContent = "【"+messagePrefix+"】"+template.getContent(); + messageContent = replaceName(pat.getUsername(), messageContent); + + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), + pat.getHospitalId(),template.getId(),pat.getId()); + messages.add(request); + } + } + } + + } + } + } + } + else + { + //发送频次 + Integer sendFreq = template.getSendFrequency(); + if (sendFreq == SendFrequencyEnums.YEAR.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.TSRQ.getId()) { + //孕妇 下面的 孕妇生日 丈夫生日 + Integer specialDateType = template.getSpecialDateType(); + //丈夫生日 + if (specialDateType == SpecialDateEnums.ZFSR.getId()) + { + Date birthday = DateUtil.addDay(new Date(),sendTimeType); + List ids = yunBookbuildingService.getBirthHusbands(DateUtil.formatSimpleDate(birthday)); + if(CollectionUtils.isNotEmpty(ids)) + { + for(String id : ids) + { + patientsQuery.setId(id); + //查询符合条件丈夫信息 + List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (CollectionUtils.isNotEmpty(patients)) + { + for (Patients pat : patients) + { + if (pat != null && StringUtils.isEmpty(pat.getPhone())) + { + continue; + } + + //短信前缀 + String messagePrefix = getSmsPrefix(config,pat.getBookbuildingDoctor()); + String messageContent = "【"+messagePrefix+"】"+template.getContent(); + messageContent = replaceName(pat.getHusbandName(), messageContent); + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), + pat.getHospitalId(),template.getId(),pat.getId()); + + messages.add(request); + } + } + } + } + + + } + //孕妇生日 + else if(specialDateType == SpecialDateEnums.MMSR.getId()) + { + Date birthday = DateUtil.addDay(new Date(), sendTimeType); + String dateStr = DateUtil.formatSimpleDate(birthday); + List ids = yunBookbuildingService.getBirthPatients(dateStr); + if (CollectionUtils.isNotEmpty(ids)) + { + for(String id : ids) + { + patientsQuery.setId(id); + messages.addAll(getYunMessageRequestList(patientsQuery, config, template)); + } + } + + } + } + //特殊日期中的公历和农历 每年的公历/农历 + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() ) + { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLYear(sendDate,sendTimeType)) + { + messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLYear(sendDate,sendTimeType)) + { + messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); + } + } + } + } + //每月发送 + else if (sendFreq == SendFrequencyEnums.MONTH.getId()) + { + Integer sendDateType = template.getSendDateType(); + + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + Date sendDate = template.getSendDate(); + if (sendDate != null) + { + if (isGLMonth(sendDate,sendTimeType)) + { + messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); + } + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + Date sendDate = template.getSendDate(); + if (isNLMonth(sendDate,sendTimeType)) + { + messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); + } + } + } + //发送一次 + else 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.TSRQ.getId()) { + //孕妇的建档 和服务结束 + Integer specialDateType = template.getSpecialDateType(); + //服务结束 + if (specialDateType == SpecialDateEnums.FWJS.getId()) + { // Date endDate = DateUtil.formatDate(new Date()); // @@ -969,681 +983,686 @@ public class SmsServiceImpl implements SmsService{ // } // // } - } - //孕妇建档在 孕妇建档生成 - - } - //特殊日期中的公历和农历 - else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() ) - { - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - Date sendDate = template.getSendDate(); - if (isGLPoint(sendDate,sendTimeType)) - { - messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - Date sendDate = template.getSendDate(); - if (isNLPoint(sendDate, sendTimeType)) - { - messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); - } - } - } - else if (sendDateType == SendDateEnums.SLRQ.getId()) - { - //孕妇特殊日期 孕周 - Integer specialDateType = template.getSpecialDateType(); - if (specialDateType == SpecialDateEnums.YZ.getId()) - { - Integer start = template.getStart(); - Integer end = template.getEnd(); - if (end != null && start != null) - { - - Date startDate = DateUtil.getNewDate(-end,"周",sendTimeType); - Date endDate = DateUtil.getNewDate(-start,"周",sendTimeType); - patientsQuery.setLastMensesStart(startDate); - patientsQuery.setLastMensesEnd(endDate); + } + //孕妇建档在 孕妇建档生成 - messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); + } + //特殊日期中的公历和农历 + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() ) + { + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + Date sendDate = template.getSendDate(); + if (isGLPoint(sendDate,sendTimeType)) + { + messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + Date sendDate = template.getSendDate(); + if (isNLPoint(sendDate, sendTimeType)) + { + messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); + } + } + } + else if (sendDateType == SendDateEnums.SLRQ.getId()) + { + //孕妇特殊日期 孕周 + Integer specialDateType = template.getSpecialDateType(); + if (specialDateType == SpecialDateEnums.YZ.getId()) + { + Integer start = template.getStart(); + Integer end = template.getEnd(); + if (end != null && start != null) + { - } - } - } - } - } - list.setMessages(messages); - sendSms(list); - } - //发送对象为儿童 - else if (serviceObj == ServiceObjEnums.BABYOBJ.getId()) - { - BabyModelQuery babyModelQuery = new BabyModelQuery(); - babyModelQuery.setYn(YnEnums.YES.getId()); + Date startDate = DateUtil.getNewDate(-end,"周",sendTimeType); + Date endDate = DateUtil.getNewDate(-start,"周",sendTimeType); + patientsQuery.setLastMensesStart(startDate); + patientsQuery.setLastMensesEnd(endDate); - babyModelQuery = getServiceBabyQuery( serviceType, serviceStatus, babyModelQuery); + messages.addAll(getYunMessageRequestList(patientsQuery,config,template)); - //发送短信集合 - MessageListRequest list = new MessageListRequest(); - List messages = new ArrayList<>(); + } + } + } + } + } + list.setMessages(messages); + sendSms(list); + } + //发送对象为儿童 + else if (serviceObj == ServiceObjEnums.BABYOBJ.getId()) + { + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setYn(YnEnums.YES.getId()); - //儿保预约提醒 - if (smsType == SmsServiceEnums.EBYYTX.getId()) - { - Date yuYueDate = DateUtil.addDay(new Date(), sendTimeType); - List checkModels = babyBookbuildingService.queryBabyYuYueRecord(yuYueDate, tempHid); - if (CollectionUtils.isNotEmpty(checkModels)) - { - for(BabyCheckModel checkModel : checkModels) - { + babyModelQuery = getServiceBabyQuery( serviceType, serviceStatus, babyModelQuery); - BabyModelQuery query = new BabyModelQuery(); - query.setYn(YnEnums.YES.getId()); - query.setId(checkModel.getBuildId()); - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); - } - } - } - //儿保程序提醒 - else if (smsType == SmsServiceEnums.EBCXTX.getId()) - { + //发送短信集合 + MessageListRequest list = new MessageListRequest(); + List messages = new ArrayList<>(); - //发送频次 - Integer sendFreq = template.getSendFrequency(); + //儿保预约提醒 + if (smsType == SmsServiceEnums.EBYYTX.getId()) + { + Date yuYueDate = DateUtil.addDay(new Date(), sendTimeType); + List checkModels = babyBookbuildingService.queryBabyYuYueRecord(yuYueDate, tempHid); + if (CollectionUtils.isNotEmpty(checkModels)) + { + for(BabyCheckModel checkModel : checkModels) + { - if (sendFreq == SendFrequencyEnums.ONCE.getId()) - { + BabyModelQuery query = new BabyModelQuery(); + query.setYn(YnEnums.YES.getId()); + query.setId(checkModel.getBuildId()); + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); + } + } + } + //儿保程序提醒 + else if (smsType == SmsServiceEnums.EBCXTX.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(); + //发送频次 + Integer sendFreq = template.getSendFrequency(); - if (specialDateType == SpecialDateEnums.ETTS.getId()) - { - Integer start = template.getStart(); - Integer end = template.getEnd(); + if (sendFreq == SendFrequencyEnums.ONCE.getId()) + { - if (start != null && end != null) - { - Date startDate = DateUtil.getNewDate(-end, "天", sendTimeType); - Date endDate = DateUtil.getNewDate(-start,"天",sendTimeType); - babyModelQuery.setBirthStart(startDate); - babyModelQuery.setBirthEnd(endDate); + //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(); - List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); - if (CollectionUtils.isNotEmpty(babyModels)) - { - for (BabyModel model : babyModels) - { - if (model.getBirth() == null) - { - continue; - } - - //如果有有效的预约短信就不发送 儿保检查提醒 - if (queryBabyOrder(model.getBirth(), start, tempHid, sendTimeType, model.getId(),"天")) - { - continue; - } - - //短信前缀 - String messagePrefix = getSmsPrefix(config, model.getBuildDoctor()); - String messageContent = "【"+messagePrefix+"】"+template.getContent(); - messageContent = replaceName(model.getName(), messageContent); - MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), - model.getHospitalId(),template.getId(),model.getId()); - messages.add(request); - - } - } - } - } - //儿童月龄 - else if (specialDateType == SpecialDateEnums.ETYL.getId()) - { - Integer start = template.getStart(); - Integer end = template.getEnd(); + if (specialDateType == SpecialDateEnums.ETTS.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); - babyModelQuery.setBirthStart(startDate); - babyModelQuery.setBirthEnd(endDate); + if (start != null && end != null) + { + Date startDate = DateUtil.getNewDate(-end, "天", sendTimeType); + Date endDate = DateUtil.getNewDate(-start,"天",sendTimeType); + babyModelQuery.setBirthStart(startDate); + babyModelQuery.setBirthEnd(endDate); + + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isNotEmpty(babyModels)) + { + for (BabyModel model : babyModels) + { + if (model.getBirth() == null) + { + continue; + } + + //如果有有效的预约短信就不发送 儿保检查提醒 + if (queryBabyOrder(model.getBirth(), start, tempHid, sendTimeType, model.getId(),"天")) + { + continue; + } + + //短信前缀 + String messagePrefix = getSmsPrefix(config, model.getBuildDoctor()); + String messageContent = "【"+messagePrefix+"】"+template.getContent(); + messageContent = replaceName(model.getName(), messageContent); + MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), + model.getHospitalId(),template.getId(),model.getId()); + messages.add(request); + + } + } + } + } + //儿童月龄 + else if (specialDateType == SpecialDateEnums.ETYL.getId()) + { + Integer start = template.getStart(); + Integer end = template.getEnd(); - List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); - if (CollectionUtils.isNotEmpty(babyModels)) - { - for (BabyModel model : babyModels) - { - if (model.getBirth() == null) - { - continue; - } - - //如果有有效的预约短信就不发送 儿保检查提醒 - if (queryBabyOrder(model.getBirth(), start, tempHid, sendTimeType, model.getId(),"月")) - { - continue; - } - - //短信前缀 - String messagePrefix = getSmsPrefix(config, model.getBuildDoctor()); - String messageContent = "【"+messagePrefix+"】"+template.getContent(); - messageContent = replaceName(model.getName(), messageContent); - MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), - model.getHospitalId(),template.getId(),model.getId()); - messages.add(request); - - } - } - } - } - } - } - } - else - { - //发送频次 - Integer sendFreq = template.getSendFrequency(); - Integer sendDateType = template.getSendDateType(); - if (sendFreq == SendFrequencyEnums.YEAR.getId()) { - //特殊日期 - if (sendDateType == SendDateEnums.TSRQ.getId()) - { - Integer specialDateType = template.getSpecialDateType(); - //儿童生日 - if (specialDateType == SpecialDateEnums.ETSR.getId()) { - - Date birthday = DateUtil.addDay(new Date(), sendTimeType); - String dateStr = DateUtil.formatSimpleDate(birthday); - List ids = babyBookbuildingService.getBirthBabies(dateStr); - if (CollectionUtils.isNotEmpty(ids)) - { - for(String id : ids) - { - babyModelQuery.setId(id); - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } + if (start != null && end != null) + { + Date startDate = DateUtil.getNewDate(-end, "月", sendTimeType); + Date endDate = DateUtil.getNewDate(-start,"月",sendTimeType); + babyModelQuery.setBirthStart(startDate); + babyModelQuery.setBirthEnd(endDate); + + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isNotEmpty(babyModels)) + { + for (BabyModel model : babyModels) + { + if (model.getBirth() == null) + { + continue; + } + + //如果有有效的预约短信就不发送 儿保检查提醒 + if (queryBabyOrder(model.getBirth(), start, tempHid, sendTimeType, model.getId(),"月")) + { + continue; + } + + //短信前缀 + String messagePrefix = getSmsPrefix(config, model.getBuildDoctor()); + String messageContent = "【"+messagePrefix+"】"+template.getContent(); + messageContent = replaceName(model.getName(), messageContent); + MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), + model.getHospitalId(),template.getId(),model.getId()); + messages.add(request); + + } + } + } + } + } + } + } + else + { + //发送频次 + Integer sendFreq = template.getSendFrequency(); + Integer sendDateType = template.getSendDateType(); + if (sendFreq == SendFrequencyEnums.YEAR.getId()) { + //特殊日期 + if (sendDateType == SendDateEnums.TSRQ.getId()) + { + Integer specialDateType = template.getSpecialDateType(); + //儿童生日 + if (specialDateType == SpecialDateEnums.ETSR.getId()) { + + Date birthday = DateUtil.addDay(new Date(), sendTimeType); + String dateStr = DateUtil.formatSimpleDate(birthday); + List ids = babyBookbuildingService.getBirthBabies(dateStr); + if (CollectionUtils.isNotEmpty(ids)) + { + for(String id : ids) + { + babyModelQuery.setId(id); + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } - } - } //儿童 每年的公历和农历 - else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) - { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLYear(sendDate,sendTimeType)) - { - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLYear(sendDate,sendTimeType)) - { - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - } - } - else if (sendFreq == SendFrequencyEnums.MONTH.getId()) - { - //儿童 每年的公历和农历 - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) - { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLMonth(sendDate, sendTimeType)) - { - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLMonth(sendDate, sendTimeType)) - { - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); - } - } - } - } - else if (sendFreq == SendFrequencyEnums.ONCE.getId()) - { - //生理日期 - if (sendDateType == SendDateEnums.SLRQ.getId()) - { - Integer specialDateType = template.getSpecialDateType(); - //儿童天数 - if (specialDateType == SpecialDateEnums.ETTS.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); - babyModelQuery.setBirthStart(startDate); - babyModelQuery.setBirthEnd(endDate); - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); - } - } - //儿童月龄 - else if (specialDateType == SpecialDateEnums.ETYL.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); - babyModelQuery.setBirthStart(startDate); - babyModelQuery.setBirthEnd(endDate); - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); - } - } - } - //特殊日期 - else if (sendDateType == SendDateEnums.TSRQ.getId()) - { - Integer specialDateType = template.getSpecialDateType(); - //儿童满月 - if (specialDateType == SpecialDateEnums.ETMY.getId()) - { - Date birthday = DateUtil.getNewDate(-1, "月", -sendTimeType); - babyModelQuery.setBirthStart(birthday); - babyModelQuery.setBirthEnd(birthday); - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); - } - //儿童百岁 - else if(specialDateType == SpecialDateEnums.ETBS.getId()) - { - Date birthday = DateUtil.getNewDate(-100, "天", -sendTimeType); - babyModelQuery.setBirthStart(birthday); - babyModelQuery.setBirthEnd(birthday); - messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); - } + } + } //儿童 每年的公历和农历 + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) + { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLYear(sendDate,sendTimeType)) + { + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLYear(sendDate,sendTimeType)) + { + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + } + } + else if (sendFreq == SendFrequencyEnums.MONTH.getId()) + { + //儿童 每年的公历和农历 + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) + { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLMonth(sendDate, sendTimeType)) + { + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLMonth(sendDate, sendTimeType)) + { + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); + } + } + } + } + else if (sendFreq == SendFrequencyEnums.ONCE.getId()) + { + //生理日期 + if (sendDateType == SendDateEnums.SLRQ.getId()) + { + Integer specialDateType = template.getSpecialDateType(); + //儿童天数 + if (specialDateType == SpecialDateEnums.ETTS.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); + babyModelQuery.setBirthStart(startDate); + babyModelQuery.setBirthEnd(endDate); + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); + } + } + //儿童月龄 + else if (specialDateType == SpecialDateEnums.ETYL.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); + babyModelQuery.setBirthStart(startDate); + babyModelQuery.setBirthEnd(endDate); + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); + } + } + } + //特殊日期 + else if (sendDateType == SendDateEnums.TSRQ.getId()) + { + Integer specialDateType = template.getSpecialDateType(); + //儿童满月 + if (specialDateType == SpecialDateEnums.ETMY.getId()) + { + Date birthday = DateUtil.getNewDate(-1, "月", -sendTimeType); + babyModelQuery.setBirthStart(birthday); + babyModelQuery.setBirthEnd(birthday); + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); + } + //儿童百岁 + else if(specialDateType == SpecialDateEnums.ETBS.getId()) + { + Date birthday = DateUtil.getNewDate(-100, "天", -sendTimeType); + babyModelQuery.setBirthStart(birthday); + babyModelQuery.setBirthEnd(birthday); + messages.addAll(getBabyMessageRequestList( babyModelQuery, config, template)); + } - //儿童服务结束 - else if (specialDateType == SpecialDateEnums.FWJS.getId()) - { + //儿童服务结束 + else if (specialDateType == SpecialDateEnums.FWJS.getId()) + { - /** - * 儿童服务结束 - */ - babyModelQuery.setYn(YnEnums.YES.getId()); - Date babyEndDate = DateUtil.getNewDate(-36, "月", 0); - //把时间格式化成 yyyy_MM_dd 的日期 - babyEndDate = DateUtil.formatDate(babyEndDate); + /** + * 儿童服务结束 + */ + babyModelQuery.setYn(YnEnums.YES.getId()); + Date babyEndDate = DateUtil.getNewDate(-36, "月", 0); + //把时间格式化成 yyyy_MM_dd 的日期 + babyEndDate = DateUtil.formatDate(babyEndDate); - babyModelQuery.setBirthStart(babyEndDate); - babyModelQuery.setBirthEnd(babyEndDate); + babyModelQuery.setBirthStart(babyEndDate); + babyModelQuery.setBirthEnd(babyEndDate); - List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); - if (CollectionUtils.isNotEmpty(babyModels)) - { - for(BabyModel model : babyModels) - { - //短信前缀 - String messagePrefix = getSmsPrefix(config, model.getBuildDoctor()); - String messageContent = "【"+messagePrefix+"】"+template.getContent(); - messageContent = replaceName(model.getName(), messageContent); - MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), - model.getHospitalId(),template.getId(),model.getId()); - messages.add(request); - - //更新状态为过期 - //判断其为增值服务还是 标准服务 - if (model.getServiceType() == ServiceTypeEnums.STANDARD_SERVICE.getId()) - { - model.setServiceStatus(ServiceStatusEnums.STANDARD_OVERDUE.getId()); - } - else if (model.getServiceType() == ServiceTypeEnums.ADD_SERVICE.getId()) - { - model.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId()); - } - babyBookbuildingService.updateBabyBuild(model,model.getId()); - } - } - } - //儿童建档 在儿童建档时候生成 及时短信 - } - else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) - { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLPoint(sendDate, sendTimeType)) - { - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLPoint(sendDate, sendTimeType)) - { - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - } - } + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isNotEmpty(babyModels)) + { + for(BabyModel model : babyModels) + { + //短信前缀 + String messagePrefix = getSmsPrefix(config, model.getBuildDoctor()); + String messageContent = "【"+messagePrefix+"】"+template.getContent(); + messageContent = replaceName(model.getName(), messageContent); + MessageRequest request = getMessageRequest(messageContent,model.getMphone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), + model.getHospitalId(),template.getId(),model.getId()); + messages.add(request); + + //更新状态为过期 + //判断其为增值服务还是 标准服务 + if (model.getServiceType() == ServiceTypeEnums.STANDARD_SERVICE.getId()) + { + model.setServiceStatus(ServiceStatusEnums.STANDARD_OVERDUE.getId()); + } + else if (model.getServiceType() == ServiceTypeEnums.ADD_SERVICE.getId()) + { + model.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId()); + } + babyBookbuildingService.updateBabyBuild(model,model.getId()); + } + } + } + //儿童建档 在儿童建档时候生成 及时短信 + } + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) + { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLPoint(sendDate, sendTimeType)) + { + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLPoint(sendDate, sendTimeType)) + { + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + } + } - } + } - list.setMessages(messages); - sendSms(list); - } - //产妇 - else if (serviceObj == ServiceObjEnums.CHANOBJ.getId()) - { - PatientsQuery patientsQuery = new PatientsQuery(); - patientsQuery.setYn(YnEnums.YES.getId()); - //1孕妇 3产妇 - patientsQuery.setType(3); + list.setMessages(messages); + sendSms(list); + } + //产妇 + else if (serviceObj == ServiceObjEnums.CHANOBJ.getId()) + { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + //1孕妇 3产妇 + patientsQuery.setType(3); - patientsQuery = getServicePatientQuery(serviceType, serviceStatus, patientsQuery); + getServicePatientQuery(serviceType, serviceStatus, patientsQuery); - //发送短信集合 - MessageListRequest list = new MessageListRequest(); - List messages = new ArrayList<>(); + //发送短信集合 + MessageListRequest list = new MessageListRequest(); + List messages = new ArrayList<>(); - //产妇预约短信 - if (smsType == SmsServiceEnums.CHFCYUTX.getId()) - { - //把时间格式成yyyy_MM_dd - String currentDate = DateUtil.getyyyy_MM_dd(new Date()); - Date actualSendDate = DateUtil.addDay(DateUtil.parseYMD(currentDate), sendTimeType); + //产妇预约短信 + if (smsType == SmsServiceEnums.CHFCYUTX.getId()) + { + //把时间格式成yyyy_MM_dd + String currentDate = DateUtil.getyyyy_MM_dd(new Date()); + Date actualSendDate = DateUtil.addDay(DateUtil.parseYMD(currentDate), sendTimeType); - //查询出产妇预约 - 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.getParentId()); + //查询出产妇预约 + 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.getParentId()); - messages.addAll(getChanMessageRequestList(patientsQuery,config,template)); - } - } - } - 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); - patientsQuery.setBirthStart(startDate); - patientsQuery.setBirthEnd(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 = getSmsPrefix(config,pat.getBookbuildingDoctor()); - String messageContent = "【"+messagePrefix+"】"+template.getContent(); - messageContent = replaceName(pat.getUsername(), messageContent); - MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.CHANOBJ.getId(), template.getSmsType(), - pat.getHospitalId(),template.getId(),pat.getId()); - messages.add(request); - } - } - } - } - } - } - else - { - //发送频次 - Integer sendFreq = template.getSendFrequency(); + messages.addAll(getChanMessageRequestList(patientsQuery,config,template)); + } + } + } + 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); + patientsQuery.setBirthStart(startDate); + patientsQuery.setBirthEnd(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 = getSmsPrefix(config,pat.getBookbuildingDoctor()); + String messageContent = "【"+messagePrefix+"】"+template.getContent(); + messageContent = replaceName(pat.getUsername(), messageContent); + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.CHANOBJ.getId(), template.getSmsType(), + pat.getHospitalId(),template.getId(),pat.getId()); + messages.add(request); + } + } + } + } + } + } + else + { + //发送频次 + Integer sendFreq = template.getSendFrequency(); - if (sendFreq == SendFrequencyEnums.YEAR.getId()) { + if (sendFreq == SendFrequencyEnums.YEAR.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.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLYear(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLYear(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); - } - } - } + //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.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLYear(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLYear(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); + } + } + } - } - else if (sendFreq == SendFrequencyEnums.MONTH.getId()) - { - Integer sendDateType = template.getSendDateType(); - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLMonth(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLMonth(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); - } - } - } - } - else if (sendFreq == SendFrequencyEnums.ONCE.getId()) - { - Integer sendDateType = template.getSendDateType(); - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLPoint(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLPoint(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); - } - } - } - //产妇为分娩日期 - else if (sendDateType == SendDateEnums.TSRQ.getId()) - { - Integer specialDateType = template.getSpecialDateType(); - if (specialDateType == SpecialDateEnums.FM.getId()) - { - //分娩都为分娩后第二天发送短信 - Date dueDate = DateUtil.addDay(new Date(),-1); - //把时间格式化成 yyyy_MM_dd 的日期 - dueDate = DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(dueDate)); + } + else if (sendFreq == SendFrequencyEnums.MONTH.getId()) + { + Integer sendDateType = template.getSendDateType(); + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLMonth(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLMonth(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); + } + } + } + } + else if (sendFreq == SendFrequencyEnums.ONCE.getId()) + { + Integer sendDateType = template.getSendDateType(); + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLPoint(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLPoint(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); + } + } + } + //产妇为分娩日期 + else if (sendDateType == SendDateEnums.TSRQ.getId()) + { + Integer specialDateType = template.getSpecialDateType(); + if (specialDateType == SpecialDateEnums.FM.getId()) + { + //分娩都为分娩后第二天发送短信 + Date dueDate = DateUtil.addDay(new Date(),-1); + //把时间格式化成 yyyy_MM_dd 的日期 + dueDate = DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(dueDate)); - patientsQuery.setDueDateStart(dueDate); - patientsQuery.setDueDateEnd(dueDate); + patientsQuery.setDueDateStart(dueDate); + patientsQuery.setDueDateEnd(dueDate); - messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); - } + messages.addAll(getChanMessageRequestList(patientsQuery, config, template)); + } - } + } - } - } + } + } - list.setMessages(messages); - sendSms(list); - } - //全部发送对象 - else if (serviceObj == ServiceObjEnums.ALLOBJ.getId()) - { - PatientsQuery chanPatientsQuery = new PatientsQuery(); - chanPatientsQuery.setYn(YnEnums.YES.getId()); - //3产妇 - chanPatientsQuery.setType(3); - chanPatientsQuery = getServicePatientQuery(serviceType, serviceStatus, chanPatientsQuery); + list.setMessages(messages); + sendSms(list); + } + //全部发送对象 + else if (serviceObj == ServiceObjEnums.ALLOBJ.getId()) + { + PatientsQuery chanPatientsQuery = new PatientsQuery(); + chanPatientsQuery.setYn(YnEnums.YES.getId()); + //3产妇 + chanPatientsQuery.setType(3); + getServicePatientQuery(serviceType, serviceStatus, chanPatientsQuery); - PatientsQuery yunPatientsQuery = new PatientsQuery(); - yunPatientsQuery.setYn(YnEnums.YES.getId()); - //1孕妇 - yunPatientsQuery.setType(1); - yunPatientsQuery = getServicePatientQuery(serviceType, serviceStatus, yunPatientsQuery); + PatientsQuery yunPatientsQuery = new PatientsQuery(); + yunPatientsQuery.setYn(YnEnums.YES.getId()); + //1孕妇 + yunPatientsQuery.setType(1); + getServicePatientQuery(serviceType, serviceStatus, yunPatientsQuery); - BabyModelQuery babyModelQuery = new BabyModelQuery(); - babyModelQuery.setYn(YnEnums.YES.getId()); - babyModelQuery = getServiceBabyQuery(serviceType, serviceStatus, babyModelQuery); + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setYn(YnEnums.YES.getId()); + babyModelQuery = getServiceBabyQuery(serviceType, serviceStatus, babyModelQuery); - //发送短信集合 - MessageListRequest list = new MessageListRequest(); - List messages = new ArrayList<>(); + //发送短信集合 + MessageListRequest list = new MessageListRequest(); + List messages = new ArrayList<>(); - Integer sendFreq = template.getSendFrequency(); + Integer sendFreq = template.getSendFrequency(); - if (sendFreq == SendFrequencyEnums.YEAR.getId()) { - Integer sendDateType = template.getSendDateType(); - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLYear(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLYear(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - } - } - else if (sendFreq == SendFrequencyEnums.MONTH.getId()) - { - Integer sendDateType = template.getSendDateType(); - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLMonth(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLMonth(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - } - } - else if (sendFreq == SendFrequencyEnums.ONCE.getId()) - { - Integer sendDateType = template.getSendDateType(); - if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { - Date sendDate = template.getSendDate(); - //公历 - if (sendDateType == SendDateEnums.GL.getId()) - { - if (isGLPoint(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - //农历 - else if (sendDateType == SendDateEnums.NL.getId()) - { - if (isNLPoint(sendDate, sendTimeType)) - { - messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); - messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); - messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); - } - } - } - } - list.setMessages(messages); - sendSms(list); - } + if (sendFreq == SendFrequencyEnums.YEAR.getId()) { + Integer sendDateType = template.getSendDateType(); + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLYear(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLYear(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + } + } + else if (sendFreq == SendFrequencyEnums.MONTH.getId()) + { + Integer sendDateType = template.getSendDateType(); + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLMonth(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLMonth(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + } + } + else if (sendFreq == SendFrequencyEnums.ONCE.getId()) + { + Integer sendDateType = template.getSendDateType(); + if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId()) { + Date sendDate = template.getSendDate(); + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + if (isGLPoint(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + //农历 + else if (sendDateType == SendDateEnums.NL.getId()) + { + if (isNLPoint(sendDate, sendTimeType)) + { + messages.addAll(getChanMessageRequestList(chanPatientsQuery, config, template)); + messages.addAll(getYunMessageRequestList(yunPatientsQuery, config, template)); + messages.addAll(getBabyMessageRequestList(babyModelQuery, config, template)); + } + } + } + } + list.setMessages(messages); + sendSms(list); + } + } + + } } + + for (MessageRequest msg :allMsgs) { System.out.println("=======" + msg.getContent()); @@ -1710,7 +1729,7 @@ public class SmsServiceImpl implements SmsService{ * @param patientsQuery * @return */ - private PatientsQuery getServicePatientQuery(Integer serviceType,Integer serviceStatus,PatientsQuery patientsQuery) + private void getServicePatientQuery(Integer serviceType,Integer serviceStatus,PatientsQuery patientsQuery) { //所有服务类型 if (serviceType == ServiceTypeEnums.ALL_SERVICE.getId()) @@ -1749,7 +1768,6 @@ public class SmsServiceImpl implements SmsService{ patientsQuery.setServiceStatus(serviceStatus); } } - return patientsQuery; } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index e575ba7..5094a53 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -287,6 +287,13 @@ public class BabyCheckFacade { List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); if (CollectionUtils.isNotEmpty(models)) { + + PersonModelQuery personModelQuery = new PersonModelQuery(); + personModelQuery.setYn(YnEnums.YES.getId()); + personModelQuery.setId(model.getPid()); + + List personModels = personService.queryPersons(personModelQuery); + int len = models.size(); String[] buildIds = new String[len]; for(int i = 0;i < len ; i++) @@ -294,10 +301,9 @@ public class BabyCheckFacade { buildIds[i] = models.get(i).getId(); } - getBabyCheckList(buildIds, model, list); + getBabyCheckList(buildIds, personModels.get(0), list); } - resMap.put("baseInfo", base); resMap.put("checkList", list); br.setData(resMap); @@ -307,19 +313,28 @@ public class BabyCheckFacade { return br; } - public void getBabyCheckList(String[] ids, BabyModel model, List> list) { + public void getBabyCheckList(String[] ids, PersonModel personModel, List> list) { List checkModels; - if (model != null) { + if (personModel != null) { BabyCheckModelQuery query = new BabyCheckModelQuery(); query.setYn(YnEnums.YES.getId()); query.setBuildIds(ids); //查询儿童的检查记录 checkModels = babyCheckService.queryBabyCheckRecord(query,"checkDate", Sort.Direction.DESC); - Date babyBirth = model.getBirth(); + Date babyBirth = personModel.getBirth(); if (CollectionUtils.isNotEmpty(checkModels)) { for (BabyCheckModel cmodel : checkModels) { + + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setId(cmodel.getBuildId()); + babyQuery.setYn(YnEnums.YES.getId()); + + //查询儿童的基本信息 + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + + Map checkRecord = new HashMap<>(); Date checkDate = cmodel.getCheckDate(); String monthAge = ""; @@ -334,9 +349,9 @@ public class BabyCheckFacade { checkRecord.put("buildId", cmodel.getBuildId()); checkRecord.put("type","2"); - checkRecord.put("hospitalId",model.getHospitalId()); + checkRecord.put("hospitalId", models.get(0).getHospitalId()); //查询建档医院 - Organization org = organizationService.getOrganization(Integer.valueOf(model.getHospitalId())); + Organization org = organizationService.getOrganization(Integer.valueOf(models.get(0).getHospitalId())); if (org != null) { checkRecord.put("hospitalName", org.getName()); } else { -- 1.8.3.1