diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/IBaseService.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/IBaseService.java index b138870..a8f18a6 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/IBaseService.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/IBaseService.java @@ -1,6 +1,7 @@ package com.lyms.platform.msg.service; import com.lyms.platform.pojo.SmsConfigModel; +import com.lyms.platform.pojo.SmsTemplateModel; import java.util.Date; import java.util.List; @@ -35,4 +36,8 @@ public interface IBaseService { public String getServiceDoctorId(String patientId,boolean isJz); public String getBabyServiceDoctorId(String babyId,boolean isJz); + + public String getBabySmsPrefix(SmsConfigModel config,String babyId,String mainPrefix,SmsTemplateModel template); + + public String getPregnantSmsPrefix(SmsConfigModel config,String pid,String mainPrefix,SmsTemplateModel template); } diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/BaseServiceImpl.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/BaseServiceImpl.java index 84d35a9..0b612c3 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/BaseServiceImpl.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/BaseServiceImpl.java @@ -1,10 +1,7 @@ package com.lyms.platform.msg.service.impl; import com.lyms.platform.biz.service.*; -import com.lyms.platform.common.enums.HospitalStatusEnums; -import com.lyms.platform.common.enums.PatientSerEnums; -import com.lyms.platform.common.enums.ServiceObjEnums; -import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.enums.*; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.msg.model.HighScoreResult; @@ -19,6 +16,9 @@ import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import java.util.*; @@ -32,7 +32,8 @@ public class BaseServiceImpl implements IBaseService { @Autowired private SmsConfigService smsConfigService; - + @Autowired + private AntExRecordService recordService; @Autowired private UsersService usersService; @@ -47,8 +48,15 @@ public class BaseServiceImpl implements IBaseService { @Autowired private PatientsService patientsService; + @Autowired + private BabyCheckService babyCheckService; @Autowired + private BabyService babyService; + + @Autowired + private MongoTemplate mongoTemplate; + @Autowired private OrganizationService organizationService; @Autowired @@ -284,6 +292,89 @@ public class BaseServiceImpl implements IBaseService { /** + * 获取儿童 前缀 + * @param config + * @param babyId + * @return + */ + public String getBabySmsPrefix(SmsConfigModel config,String babyId,String mainPrefix,SmsTemplateModel template) + { + String prefix = mainPrefix; + if (config.getBabyType() != null && config.getBabyType() == 1) + { + prefix = config.getHospitalPrefix(); + //儿保程序提醒 + if (template.getSmsType() == SmsServiceEnums.EBCXTX.getId() || template.getSmsType() == SmsServiceEnums.EBYYTX.getId() || template.getSmsType() == SmsServiceEnums.EBGQTX.getId()) + { + BabyCheckModelQuery babyCheckModelQuery = new BabyCheckModelQuery(); + babyCheckModelQuery.setYn(YnEnums.YES.getId()); + babyCheckModelQuery.setBuildId(babyId); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(babyCheckModelQuery); + if (CollectionUtils.isNotEmpty(babyCheckModels)) + { + prefix +="-" +getDoctorName(babyCheckModels.get(0).getCheckDoctor()); + } + else + { + BabyModel babyModel = babyService.getOneBabyById(babyId); + prefix += "-" +getDoctorName(babyModel.getBuildDoctor()); + } + } + else if (template.getSmsType() == SmsServiceEnums.YBYYTX.getId()) + { + List checkModels = mongoTemplate.find(Query.query(Criteria.where("babyId").is(babyId).and("yn").is("1")), BabyEyeCheck.class); + if (CollectionUtils.isNotEmpty(checkModels)) { + prefix +="-" +getDoctorName(checkModels.get(0).getDoctor()); + } + else + { + BabyModel babyModel = babyService.getOneBabyById(babyId); + prefix +="-" +getDoctorName(babyModel.getBuildDoctor()); + } + } + + } + return prefix; + } + + /** + * 获取孕妇前缀 + * @param config + * @return + */ + public String getPregnantSmsPrefix(SmsConfigModel config,String pid,String mainPrefix,SmsTemplateModel template) + { + String prefix = mainPrefix; + if (config.getBabyType() != null && config.getBabyType() == 1) { + prefix = config.getHospitalPrefix(); + + if (template.getSmsType() == SmsServiceEnums.CJCXTX.getId() || template.getSmsType() == SmsServiceEnums.CJYYTX.getId() || + template.getSmsType() == SmsServiceEnums.CJGQTX.getId()) + { + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + antExRecordQuery.setPid(pid); + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); + if (CollectionUtils.isNotEmpty(antExRecordModelList)) + { + prefix +="-" +getDoctorName(antExRecordModelList.get(0).getCheckDoctor()); + } + else + { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setPid(pid); + patientsQuery.setYn(YnEnums.YES.getId()); + List patientses = patientsService.queryPatient1(patientsQuery, "created"); + if (CollectionUtils.isNotEmpty(patientses)) + { + prefix +="-" +getDoctorName(patientses.get(0).getBookbuildingDoctor()); + } + } + } + } + return prefix; + } + + /** * 获取发送短信的前缀 如果配置为发送科室前缀 就通过医生查询到医生所在科室 * 然后取对应科室前缀 如果为空就取医院前缀 * @return @@ -414,6 +505,18 @@ public class BaseServiceImpl implements IBaseService { return ""; } + private String getDoctorName(String doctorId) + { + try { + //通过建档医生查询用户信息 + Users user = usersService.getUsers(Integer.valueOf(doctorId)); + return user != null ? user.getName() : ""; + }catch (Exception e) + { + return ""; + } + } + /** 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 a509c65..f796160 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 @@ -376,8 +376,7 @@ public class TempleteMsgGenerateWorker implements Runnable { babyModelQuery.setBirthEnd(endDate); if (serviceType == com.lyms.platform.common.enums.ServiceTypeEnums.ALL_SERVICE.getId() - && serviceStatus == ServiceStatusEnums.ADD_ALL.getId()){ - + && (serviceStatus == ServiceStatusEnums.ADD_ALL.getId() || serviceStatus == ServiceStatusEnums.ALL.getId())){ // 全部 List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); for (BabyModel babyModel: babyModels){ @@ -576,6 +575,32 @@ public class TempleteMsgGenerateWorker implements Runnable { list.setMessages(messages); HelperUtils.sendMsg(list); } + + //儿保检查过期提醒 + else if (smsType == SmsServiceEnums.EBGQTX.getId()) { + //发送短信集合 + MsgListRequest list = new MsgListRequest(); + List messages = new ArrayList<>(); + + + Date yuYueDate = DateUtils.addDay(new Date(), sendTimeType); + yuYueDate = DateUtils.formatDate(yuYueDate, DateUtils.Y_M_D); + List checkModels = babyBookbuildingService.queryBabyYuYueRecord(yuYueDate, tempHid); + + if (CollectionUtils.isNotEmpty(checkModels)) { + for (BabyCheckModel checkModel : checkModels) { + List checkModels1 = mongoTemplate.find(Query.query(Criteria.where("created").gte(yuYueDate) + .and("yn").is(1).and("buildId").is(checkModel.getId())), BabyCheckModel.class); + if (!CollectionUtils.isNotEmpty(checkModels1)) + { + babyCare(template, config, service, messages, yuYueDate, checkModel.getId()); + } + } + } + + list.setMessages(messages); + HelperUtils.sendMsg(list); + } // 无服务 else if (smsType == SmsServiceEnums.NOSERVICE.getId()){ //发送短信集合 @@ -615,12 +640,12 @@ public class TempleteMsgGenerateWorker implements Runnable { } //查询符合条件儿童 - List babyModels = babyBookbuildingService.queryBabyBuildByCond(query); if (CollectionUtils.isNotEmpty(babyModels)) { for (BabyModel model : babyModels) { //短信前缀 String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId()); + messagePrefix = baseService.getBabySmsPrefix(config,model.getId(),messagePrefix,template); String messageContent = "【" + messagePrefix + "】" + template.getContent(); messageContent = HelperUtils.replaceEL(model.getName(), orderDate, messageContent); @@ -710,9 +735,11 @@ public class TempleteMsgGenerateWorker implements Runnable { //短信前缀 String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId()); + messagePrefix = baseService.getBabySmsPrefix(config,model.getId(),messagePrefix,template); String messageContent = "【" + messagePrefix + "】" + template.getContent(); messageContent = HelperUtils.replaceName(model.getName(), messageContent); + //接种时间 String vaccineTime = start + ( isDay ? "天" : "月龄"); //疫苗名称 @@ -765,6 +792,7 @@ public class TempleteMsgGenerateWorker implements Runnable { //短信前缀 String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId()); + messagePrefix = baseService.getBabySmsPrefix(config,model.getId(),messagePrefix,template); String messageContent = "【" + messagePrefix + "】" + template.getContent(); messageContent = HelperUtils.replaceName(model.getName(), messageContent); String itemName = "儿童保健"; @@ -814,6 +842,7 @@ public class TempleteMsgGenerateWorker implements Runnable { //短信前缀 String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId()); + messagePrefix = baseService.getBabySmsPrefix(config,model.getId(),messagePrefix,template); String messageContent = "【" + messagePrefix + "】" + template.getContent(); messageContent = HelperUtils.replaceName(model.getName(), messageContent); @@ -864,6 +893,7 @@ public class TempleteMsgGenerateWorker implements Runnable { //短信前缀 String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(), ServiceObjEnums.BABYOBJ.getId()); + messagePrefix = baseService.getBabySmsPrefix(config,model.getId(),messagePrefix,template); String messageContent = "【" + messagePrefix + "】" + template.getContent(); messageContent = HelperUtils.replaceEL(model.getName(), yuYueDate, messageContent); @@ -1473,6 +1503,7 @@ public class TempleteMsgGenerateWorker implements Runnable { private void addYunOverdueMessages(SmsTemplateModel template, SmsConfigModel config, Integer service, List messages, Date yuYueDate, Patients pat) { //短信前缀 String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor(), ServiceObjEnums.YUNOBJ.getId()); + messagePrefix = baseService.getPregnantSmsPrefix(config,pat.getPid(),messagePrefix,template); String messageContent = "【" + messagePrefix + "】" + template.getContent(); //替换的变量值 messageContent = HelperUtils.replaceEL(pat.getUsername(), yuYueDate, messageContent); @@ -1547,6 +1578,7 @@ public class TempleteMsgGenerateWorker implements Runnable { //短信前缀 String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor(), ServiceObjEnums.YUNOBJ.getId()); + messagePrefix = baseService.getPregnantSmsPrefix(config,pat.getPid(),messagePrefix,template); String messageContent = "【" + messagePrefix + "】" + template.getContent(); String checkWeekName = HelperUtils.getCheckTimeStr(start, end); @@ -1584,6 +1616,7 @@ public class TempleteMsgGenerateWorker implements Runnable { //短信前缀 String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor(), ServiceObjEnums.YUNOBJ.getId()); + messagePrefix = baseService.getPregnantSmsPrefix(config,pat.getPid(),messagePrefix,template); String messageContent = "【" + messagePrefix + "】" + template.getContent(); //messageContent = HelperUtils.replaceEL(pat.getUsername(), yuYueDate, messageContent); messageContent = HelperUtils.replaceELD(pat.getUsername(), yuYueDate, remark, messageContent); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 9b96975..9da0880 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -312,13 +312,13 @@ public class AntenatalExaminationFacade { public BaseResponse addOneAntEx(AntExAddRequest antExAddRequest, Integer userId) { String hospitalId = autoMatchFacade.getHospitalId(userId); - //秦皇岛市山海关人民医院 零时处理 - if (StringUtils.isNotEmpty(antExAddRequest.getCheckDate()) && "1000000004".equals(hospitalId)) { - if (!antExAddRequest.getCheckDate().equals(DateUtil.getyyyy_MM_dd(new Date()))) - { - return new BaseResponse().setErrormsg("检查日期不是当天不能保存").setErrorcode(ErrorCodeConstants.DATA_EXIST); - } - } +// //秦皇岛市山海关人民医院 零时处理 +// if (StringUtils.isNotEmpty(antExAddRequest.getCheckDate()) && "1000000004".equals(hospitalId)) { +// if (!antExAddRequest.getCheckDate().equals(DateUtil.getyyyy_MM_dd(new Date()))) +// { +// return new BaseResponse().setErrormsg("检查日期不是当天不能保存").setErrorcode(ErrorCodeConstants.DATA_EXIST); +// } +// } AntenatalExaminationModel model = antExAddRequest.convertToDataModel(); //表示区域的 @@ -634,13 +634,13 @@ public class AntenatalExaminationFacade { //秦皇岛市山海关人民医院 零时处理 - if (StringUtils.isNotEmpty(excAddRequest.getCheckTime()) && "1000000004".equals(hospitalId)) { - if (!excAddRequest.getCheckTime().equals(DateUtil.getyyyy_MM_dd(new Date()))) - { - return new BaseResponse().setErrormsg("检查日期不是当天不能保存").setErrorcode(ErrorCodeConstants.DATA_EXIST); - } - - } +// if (StringUtils.isNotEmpty(excAddRequest.getCheckTime()) && "1000000004".equals(hospitalId)) { +// if (!excAddRequest.getCheckTime().equals(DateUtil.getyyyy_MM_dd(new Date()))) +// { +// return new BaseResponse().setErrormsg("检查日期不是当天不能保存").setErrorcode(ErrorCodeConstants.DATA_EXIST); +// } +// +// } /** 验证产检券是否可用 可用就改为已使用状态 */ diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 81a8ae1..4514efc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -216,18 +216,18 @@ public class MatDeliverFacade { String hospitalId = autoMatchFacade.getHospitalId(userId); //秦皇岛市山海关人民医院 零时处理 - if (CollectionUtils.isNotEmpty(deliverAddRequest.getBabies()) && "1000000004".equals(hospitalId)) { - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(deliverAddRequest.getBabies().get(0).getDueTime())) - { - Date birth = DateUtil.parseYMDHM(deliverAddRequest.getBabies().get(0).getDueTime()); - String birtStr = DateUtil.getyyyy_MM_dd(birth); - if (!birtStr.equals(DateUtil.getyyyy_MM_dd(new Date()))) - { - return new BaseResponse().setErrormsg("儿童分娩日期不是当天不能保存").setErrorcode(ErrorCodeConstants.DATA_EXIST); - } - } - - } +// if (CollectionUtils.isNotEmpty(deliverAddRequest.getBabies()) && "1000000004".equals(hospitalId)) { +// if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(deliverAddRequest.getBabies().get(0).getDueTime())) +// { +// Date birth = DateUtil.parseYMDHM(deliverAddRequest.getBabies().get(0).getDueTime()); +// String birtStr = DateUtil.getyyyy_MM_dd(birth); +// if (!birtStr.equals(DateUtil.getyyyy_MM_dd(new Date()))) +// { +// return new BaseResponse().setErrormsg("儿童分娩日期不是当天不能保存").setErrorcode(ErrorCodeConstants.DATA_EXIST); +// } +// } +// +// } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index df6a3e0..af6d8a7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -6768,7 +6768,7 @@ public class ViewFacade { PersonModel personModel = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(idCard).and("type").ne(2)), PersonModel.class); if (personModel != null) { String personModelId = personModel.getId(); - List models = mongoTemplate.find(Query.query(Criteria.where("pid").is(personModelId)). + List models = mongoTemplate.find(Query.query(Criteria.where("pid").is(personModelId).and("yn").is(YnEnums.YES.getId())). with(new Sort(Sort.Direction.DESC, "created")), MaternalDeliverModel.class); if (CollectionUtils.isNotEmpty(models)) { MaternalDeliverModel deliverModel = models.get(0);