diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java index d3e7935..b10d8fe 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java @@ -2,6 +2,7 @@ package com.lyms.platform.pojo; import java.util.Date; import java.util.List; +import java.util.Objects; import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; @@ -934,4 +935,17 @@ public class Patients extends BaseModel { public void setStreetRegisterId(String streetRegisterId) { this.streetRegisterId = streetRegisterId; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Patients patients = (Patients) o; + return Objects.equals(id, patients.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } } \ 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 de628e5..cfd93c1 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 @@ -155,9 +155,49 @@ public class SmsServiceImpl implements SmsService{ patientsQuery.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); patientsQuery.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); - //查询符合条件的孕妇 List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + + patientsQuery.setServiceType(null); + patientsQuery.setServiceStatus(null); + patientsQuery.setExpVip(1); + //查询符合条件的体验会员的用户孕妇 + List vipPatients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (CollectionUtils.isNotEmpty(patients) && CollectionUtils.isNotEmpty(vipPatients)) + { + for(Patients vip : vipPatients) + { + if (vip == null || vip.getExpType() == null || vip.getLastMenses() == null) + { + continue; + } + if (ExpYunEnums.SGY.getId() == vip.getExpType()) + { + Date expDate = DateUtil.addMonth(vip.getLastMenses(),3); + if (expDate.getTime() > new Date().getTime()) + { + int count = Collections.frequency(patients,vip); + if (count == 0) + { + patients.add(vip); + } + } + } + else if (ExpYunEnums.ETFW.getId() == vip.getExpType()) + { + Date expDate = DateUtil.addWeek(vip.getLastMenses(), 42); + if (expDate.getTime() > new Date().getTime()) + { + int count = Collections.frequency(patients,vip); + if (count == 0) + { + patients.add(vip); + } + } + } + } + } + if (CollectionUtils.isNotEmpty(patients)) { @@ -260,12 +300,12 @@ public class SmsServiceImpl implements SmsService{ { for(MessageContent message : messageContents) { - //判断当前短信是否已经发送 通过短信ID和孕妇ID - boolean isExist = SaveMessageService.isExistSms(pat.getId(), message.getId()); - if (isExist) - { - continue; - } +// //判断当前短信是否已经发送 通过短信ID和孕妇ID +// boolean isExist = SaveMessageService.isExistSms(pat.getId(), message.getId()); +// if (isExist) +// { +// continue; +// } String messageContent = "【"+messagePrefix+"】" + message.getContent(); MessageRequest request = getMessageRequest( messageContent,pat.getPhone(),ServiceObjEnums.YUNOBJ.getId(), SmsServiceEnums.YBZD.getId(), diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 2529255..81fb39f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -131,6 +131,8 @@ public class BookbuildingFacade { } Integer type = 1; //1孕妇 2儿童 3产妇 + //建档类型 0 未分娩建档 1儿童建档时建档 2 自动分娩类型 3 转诊自动建档 + Integer buildType = 0; Date date = null; if (yunRequest.getLastMenstrualPeriod() != null) { @@ -139,6 +141,7 @@ public class BookbuildingFacade { if (date.getTime() <= currentDate.getTime()) { type = 3; + buildType = 2; } } @@ -186,7 +189,7 @@ public class BookbuildingFacade { patient.setDueStatus(0); //1孕妇 3 产妇 patient.setType(type); - patient.setBuildType(0); + patient.setBuildType(buildType); if (type == 3 && date != null) { patient.setFmDate(date);