diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index b46d3f8..14cf754 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -9,8 +9,10 @@ import java.util.*; public class DateUtil { + public static SimpleDateFormat dd = new SimpleDateFormat("dd"); public static SimpleDateFormat ymd = new SimpleDateFormat("yyyyMMdd"); public static SimpleDateFormat y_m_d = new SimpleDateFormat("yyyy-MM-dd"); + public static SimpleDateFormat md = new SimpleDateFormat("MM-dd"); public static SimpleDateFormat m_d = new SimpleDateFormat("MM/dd"); public static SimpleDateFormat y_m_d_h_m_s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static SimpleDateFormat y_m_d_h_m = new SimpleDateFormat("yyyyMMddHHmm"); @@ -181,6 +183,17 @@ public class DateUtil { } } + public static String getMMdd(Date d) { + if (d == null) { + return null; + } + try { + return md.format(d); + } catch (Exception e) { + return null; + } + } + public static String getMM_dd(Date d) { if (d == null) { return null; @@ -192,6 +205,17 @@ public class DateUtil { } } + public static String getDD(Date d) { + if (d == null) { + return null; + } + try { + return dd.format(d); + } catch (Exception e) { + return null; + } + } + public static Date parseYMDHMS(String s) { if (s == null) { return null; diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/Lunar.java b/platform-common/src/main/java/com/lyms/platform/common/utils/Lunar.java index c2ac780..853bea2 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/Lunar.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/Lunar.java @@ -173,7 +173,7 @@ public class Lunar { return chineseTen[day / 10] + chineseNumber[n]; } - public String getString() { + public String getYMD() { String m = ""; if (month < 10 ) @@ -194,13 +194,41 @@ public class Lunar { d = day+""; } return year +"-"+ m +"-" + d; - } - + } + + public String getMD() { + + String m = ""; + if (month < 10) { + m = "0" + month; + } else { + m = month + ""; + } + String d = ""; + if (day < 10) { + d = "0" + day; + } else { + d = day + ""; + } + return m + "-" + d; + + } + + public String getD() { + String d = ""; + if (day < 10) { + d = "0" + day; + } else { + d = day + ""; + } + return d; + + } public static void main(String[] args) throws ParseException { Calendar today = Calendar.getInstance(); today.setTime(chineseDateFormat.parse("2011-07-14")); Lunar lunar = new Lunar(today); - System.out.println(lunar.getString()); + System.out.println(lunar.getMD()); } } \ No newline at end of file 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 51aef2c..ceda6d5 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 @@ -754,15 +754,33 @@ public class SmsServiceImpl implements SmsService{ //公历 if (sendDateType == SendDateEnums.GL.getId()) { - String currentDate = DateUtil.getyyyy_MM_dd(new Date()); + String currentDate = DateUtil.getMM_dd(new Date()); Date sendDate = template.getSendDate(); if (sendDate != null) { - Date planSendDate = DateUtil.addDay(sendDate,sendDateType); - String sendDateStr = DateUtil.getyyyy_MM_dd(planSendDate); + Date actualSendDate = DateUtil.addDay(sendDate,sendTimeType); + String sendDateStr = DateUtil.getMM_dd(actualSendDate); if (currentDate.equals(sendDateStr)) { + //查询符合条件的孕妇 + 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 = replaceName(pat.getUsername(), messageContent); + + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), + pat.getHospitalId(),template.getId(),pat.getId()); + + messages.add(request); + } + } } } } @@ -773,10 +791,245 @@ public class SmsServiceImpl implements SmsService{ today.setTime(new Date()); Lunar lunar = new Lunar(today); //当前时间农历日期 - String currentDate = lunar.getString(); + String currentDate = lunar.getMD(); + Date sendDate = template.getSendDate(); + if (sendDate != null) + { + Date actualSendDate = DateUtil.addDay(sendDate,sendTimeType); + String sendDateStr = DateUtil.getMM_dd(actualSendDate); + if (currentDate.equals(sendDateStr)) + { + //查询符合条件的孕妇 + 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 = 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 if (sendFreq == SendFrequencyEnums.MONTH.getId()) + { + Integer sendDateType = template.getSendDateType(); + + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + String currentDate = DateUtil.getDD(new Date()); + Date sendDate = template.getSendDate(); + if (sendDate != null) + { + Date actualSendDate = DateUtil.addDay(sendDate,sendTimeType); + String sendDateStr = DateUtil.getDD(actualSendDate); + if (currentDate.equals(sendDateStr)) + { + //查询符合条件的孕妇 + 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 = 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 if (sendDateType == SendDateEnums.NL.getId()) + { + Calendar today = Calendar.getInstance(); + today.setTime(new Date()); + Lunar lunar = new Lunar(today); + //当前时间农历日期 + String currentDate = lunar.getD(); + Date sendDate = template.getSendDate(); + if (sendDate != null) + { + Date actualSendDate = DateUtil.addDay(sendDate,sendTimeType); + String sendDateStr = DateUtil.getDD(actualSendDate); + if (currentDate.equals(sendDateStr)) + { + //查询符合条件的孕妇 + 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 = 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 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()) + { + + } + //孕妇建档在 孕妇建档生成 + else if (specialDateType == SpecialDateEnums.JD.getId()) + { + + + } + } + //特殊日期中的公历和农历 + else if (sendDateType == SendDateEnums.GL.getId() || sendDateType == SendDateEnums.NL.getId() ) + { + + //公历 + if (sendDateType == SendDateEnums.GL.getId()) + { + String currentDate = DateUtil.getyyyy_MM_dd(new Date()); + Date sendDate = template.getSendDate(); + if (sendDate != null) + { + Date actualSendDate = DateUtil.addDay(sendDate,sendTimeType); + String sendDateStr = DateUtil.getyyyy_MM_dd(actualSendDate); + if (currentDate.equals(sendDateStr)) + { + //查询符合条件的孕妇 + 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 = 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 if (sendDateType == SendDateEnums.NL.getId()) + { + Calendar today = Calendar.getInstance(); + today.setTime(new Date()); + Lunar lunar = new Lunar(today); + //当前时间农历日期 + String currentDate = lunar.getYMD(); + Date sendDate = template.getSendDate(); + if (sendDate != null) + { + Date actualSendDate = DateUtil.addDay(sendDate,sendTimeType); + String sendDateStr = DateUtil.getyyyy_MM_dd(actualSendDate); + if (currentDate.equals(sendDateStr)) + { + //查询符合条件的孕妇 + 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 = 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 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); + //查询符合条件的孕妇 + 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 = replaceName(pat.getUsername(), messageContent); + + + MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), template.getSmsType(), + pat.getHospitalId(),template.getId(),pat.getId()); + + messages.add(request); + } + } + } } + } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyCheckRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyCheckRequest.java index 4e60ff0..042edf6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyCheckRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyCheckRequest.java @@ -218,6 +218,15 @@ public class BabyCheckRequest { private String checkDate; + private String monthAge; + + public String getMonthAge() { + return monthAge; + } + + public void setMonthAge(String monthAge) { + this.monthAge = monthAge; + } public String getCheckDate() { return checkDate;