diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java index 38c9d24..45a2150 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java @@ -1,11 +1,9 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.beans.MsgRequest; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; -import com.lyms.platform.common.enums.OptActionEnums; -import com.lyms.platform.common.enums.SieveEnums; -import com.lyms.platform.common.enums.TrackDownDateEnums; -import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; @@ -21,6 +19,7 @@ import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.worker.SieveWorker; import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; @@ -61,6 +60,12 @@ public class SieveFacade { private PatientsService patientsService; @Autowired + private SmsTemplateService smsTemplateService; + + @Autowired + private SmsConfigFacade smsConfigFacade; + + @Autowired private UsersService usersService; @Autowired @@ -128,6 +133,64 @@ public class SieveFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + + + public void createSieveSms(String patientId) + { + Patients patient = patientsService.findOnePatientById(patientId); + //判断医院是否启动和对应的服务项是否启用 + SmsConfigModel configModel = new SmsConfigModel(); + int startType = smsConfigFacade.hospitalIsStart(patient.getHospitalId(), configModel, SmsServiceEnums.CSJGTZ.getId()); + if (startType == 0) { + return; + } + + //短信前缀 + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, patient.getLastCheckEmployeeId(), ServiceObjEnums.YUNOBJ.getId()); + + //发送推送类模板建档 + if (startType == 3) + { + return; + } + + List messages = new ArrayList<>(); + MsgRequest mr = new MsgRequest(); + + SieveApplyOrderQuery sieveApplyOrderQuery = new SieveApplyOrderQuery(); + sieveApplyOrderQuery.setParentId(patientId); + sieveApplyOrderQuery.setYn(YnEnums.YES.getId()); + List sieveApplyOrderModels = applyOrderService.querySieveApplyOrderWithQuery(sieveApplyOrderQuery); + if (CollectionUtils.isNotEmpty(sieveApplyOrderModels)) + { + SieveApplyOrderModel model = sieveApplyOrderModels.get(0); + mr.setKeyword1(CommonsHelper.getHospitalName(model.getHospitalId(),organizationService)); + mr.setKeyword2(CommonsHelper.getHospitalName(model.getSieveHospitalId(), organizationService)); + mr.setRemark(DateUtil.gety_m_dhm(new Date())); + } + + String content = "提醒您,您申请的产前筛产结果已得出。"; + mr.setFirst("【" + messagePrefix + "】" + content); + mr.setObjType(ServiceObjEnums.YUNOBJ.getId()); + mr.setPhone(patient.getPhone()); + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setSubTypeId(SmsServiceEnums.CSJGTZ.getId()); + mr.setStatus(SmsStatusEnums.WFS.getId()); + mr.setHospitalId(patient.getHospitalId()); + mr.setTempId(com.lyms.platform.common.utils.StringUtils.uuid()); + mr.setPatientId(patient.getId()); + mr.setSmsStatus(SmsStatusEnums.WFS.getId()); + mr.setServiceType(startType); //判断发送类型 + mr.setTypeId(ProjectTypeEnums.YNXT.getId()); + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setWxTempId(WxTempleteIdEnums.SHAI_CHA_TONG_ZHI.getId()); + messages.add(mr); + if (CollectionUtils.isNotEmpty(messages)) { + smsConfigFacade.saveMsg(messages, patient.getHospitalId()); + } + } + /** * 产筛添加或更新追访信息 * @@ -745,7 +808,7 @@ public class SieveFacade { result.put("bpd",sieveApply.getBpd()); result.put("bcCheckDate",DateUtil.getyyyy_MM_dd(sieveApply.getBcCheckDate())); result.put("historyBirth",sieveApply.getHistoryBirth()); - result.put("pastHistory",sieveApply.getPastHistory()); + result.put("pastHistory","yes".equals(sieveApply.getPastHistory()) ? "是" : "否"); result.put("sieveHospitalId",sieveApply.getSieveHospitalId()); result.put("sendDoctor",sieveApply.getSendDoctor()); result.put("sendTime",DateUtil.getyyyy_MM_dd(sieveApply.getSendTime())); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java index dbb14c7..e536ea4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java @@ -89,7 +89,7 @@ public class SieveApplyOrderAddRequest implements IBasicRequestConvert