From 10878f1e10ed6e9c0f66ecacd28c7b57a493609f Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 17 Jan 2019 18:12:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=80=E5=8E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/common/enums/SmsServiceEnums.java | 4 +- .../web/controller/BabyBuildController.java | 2 + .../web/controller/BloodPressureController.java | 14 +++ .../web/controller/BloodSugarController.java | 7 ++ .../operate/web/facade/BabyBookbuildingFacade.java | 1 + .../operate/web/request/BabyManageRequest.java | 9 ++ .../operate/web/service/IBloodPressureService.java | 4 + .../operate/web/service/IBloodSugarService.java | 3 + .../web/service/impl/BloodPressureServiceImpl.java | 26 +++++ .../web/service/impl/BloodSugarServiceImpl.java | 129 +++++++++++++++++++-- .../web/service/impl/PatientWeightServiceImpl.java | 1 - 11 files changed, 190 insertions(+), 10 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/SmsServiceEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/SmsServiceEnums.java index ac9d34e..ab4451b 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/SmsServiceEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/SmsServiceEnums.java @@ -51,7 +51,9 @@ public enum SmsServiceEnums { JSGWZD(37,"及时高危指导",1,""), CSJGTZ(38,"产筛结果通知",21,"1"), YFXXJSTX(39,"孕妇学校课程结束提醒",21,"1,3"), - TZTX(40,"体重测量提醒",21,"1"); + TZTX(40,"体重测量提醒",21,"1"), + XTTX(41,"血糖测量提醒",21,"1"), + XYTX(42,"血压测量提醒",21,"1"); private SmsServiceEnums(int id,String name,int pid,String serviceObj){ this.id = id; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index 774cb68..f67b452 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -216,6 +216,7 @@ public class BabyBuildController extends BaseController { @RequestParam(value = "hospitalCityId",required = false) String hospitalCityId, @RequestParam(value = "hospitalAreaId",required = false) String hospitalAreaId, @RequestParam(value = "hospitalId",required = false) String hospitalId, + @RequestParam(value = "vcCardNo",required = false) String vcCardNo, @RequestParam(value = "isArea",required = false) String isArea) { if (CollectionUtils.isNotEmpty(highRiskInfos)){ @@ -227,6 +228,7 @@ public class BabyBuildController extends BaseController { } LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); BabyManageRequest request = new BabyManageRequest(); + request.setVcCardNo(vcCardNo); request.setWeakSonInfos(weakSonInfos); request.setHighRiskInfos(highRiskInfos); request.setShowDetail(showDetail); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodPressureController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodPressureController.java index c3bee71..1bdd90c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodPressureController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodPressureController.java @@ -126,6 +126,20 @@ public class BloodPressureController extends BaseController { return bpReportFacade.checkUnReadReport(pid); } + + @ResponseBody + @RequestMapping(value = "/notify/{type}",method = RequestMethod.POST) + public BaseResponse notify(@RequestBody List patientIds,@PathVariable Integer type, HttpServletRequest request) { + return bloodPressureService.notify(patientIds, type); + } + + @ResponseBody + @RequestMapping(value = "/getBloodSugars/{doctorId}/{type}/{status}", method = RequestMethod.GET) + public BaseResponse getBloodSugars(@PathVariable String doctorId,@PathVariable Integer type,@PathVariable Integer status,@RequestParam(required = false) String keyword) { + return bloodPressureService.getBloodSugars(doctorId, type, status, keyword); + } + + @Autowired private BpReportFacade bpReportFacade; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodSugarController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodSugarController.java index 29ea206..a440cd1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodSugarController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodSugarController.java @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Date; +import java.util.List; /** * 血糖 @@ -125,6 +126,12 @@ public class BloodSugarController extends BaseController { } @ResponseBody + @RequestMapping(value = "/notify/{type}",method = RequestMethod.POST) + public BaseResponse notify(@RequestBody List patientIds,@PathVariable Integer type, HttpServletRequest request) { + return bloodSugarService.notify(patientIds, type); + } + + @ResponseBody @RequestMapping(value = "/getBloodSugars/{doctorId}/{type}/{status}", method = RequestMethod.GET) public BaseResponse getBloodSugars(@PathVariable String doctorId,@PathVariable Integer type,@PathVariable Integer status,@RequestParam(required = false) String keyword) { return bloodSugarService.getBloodSugars(doctorId, type, status, keyword); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 3887cc2..e36961b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -2116,6 +2116,7 @@ public class BabyBookbuildingFacade { } BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setVcCardNo(request.getVcCardNo()); babyQuery.setQueryNo(request.getQueryNo()); babyQuery.setDataStatus(true);//排除自动建档数据 //体弱儿详情 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java index 2f9ebfb..ad8217a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java @@ -81,6 +81,15 @@ public class BabyManageRequest extends BaseQuery { //1-需要隐藏姓名、电话、地址 private int showDetail; + private String vcCardNo; + + public String getVcCardNo() { + return vcCardNo; + } + + public void setVcCardNo(String vcCardNo) { + this.vcCardNo = vcCardNo; + } public String getbTime() { return bTime; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodPressureService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodPressureService.java index 9918682..aa5fe10 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodPressureService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodPressureService.java @@ -24,4 +24,8 @@ public interface IBloodPressureService extends IBaseService { BaseResponse initPatientWeight(); void generateBpReport(); + + BaseResponse notify(List patientIds, Integer type); + + BaseResponse getBloodSugars(String doctorId, Integer type, Integer status, String keyword); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodSugarService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodSugarService.java index 3565dd1..1362694 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodSugarService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodSugarService.java @@ -4,6 +4,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.pojo.BloodSugar; import java.util.Date; +import java.util.List; import java.util.Map; public interface IBloodSugarService extends IBaseService { @@ -33,4 +34,6 @@ public interface IBloodSugarService extends IBaseService { BaseResponse getSysBloodSugarReport(String patientId,Integer userId); BaseResponse getBloodSugars(String doctorId, Integer type, Integer status, String keyword); + + public BaseResponse notify( List patientIds, Integer type); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java index bb4fc45..370970f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java @@ -419,4 +419,30 @@ public class BloodPressureServiceImpl extends BaseServiceImpl implements IBloodP } + + private int getPressureStatus(String ssy, String szy) { + int status = 0; + if (StringUtils.isNotEmpty(ssy)) { + if (Double.parseDouble(ssy) >= 140 || Double.parseDouble(szy) >= 90) { + status = 1; + } else if (Double.parseDouble(ssy) < 90 || Double.parseDouble(szy) < 60) { + status = -1; + } + } + return status; + } + + + + @Override + public BaseResponse notify(List patientIds, Integer type) { + return null; + } + + @Override + public BaseResponse getBloodSugars(String doctorId, Integer type, Integer status, String keyword) { + return null; + } + + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java index 523c614..118da9d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java @@ -2,20 +2,15 @@ package com.lyms.platform.operate.web.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +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.BloodSugarEnums; -import com.lyms.platform.common.enums.BloodSugarEnums2; -import com.lyms.platform.common.enums.PatientSerEnums; -import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.*; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.EnumUtil; import com.lyms.platform.common.utils.StringUtils; -import com.lyms.platform.operate.web.facade.AccessPermissionFacade; -import com.lyms.platform.operate.web.facade.AntExRecordFacade; -import com.lyms.platform.operate.web.facade.AutoMatchFacade; -import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; +import com.lyms.platform.operate.web.facade.*; import com.lyms.platform.operate.web.service.IBloodSugarService; import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.utils.CollectionUtils; @@ -25,8 +20,10 @@ import com.lyms.platform.operate.web.utils.ReportConfig; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.PatientService; import com.lyms.platform.permission.model.PatientServiceQuery; +import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.PatientServiceService; +import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.AntExChuQuery; import com.lyms.platform.query.AntExRecordQuery; @@ -77,6 +74,13 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga private PatientsService patientsService; @Autowired + private SmsConfigFacade smsConfigFacade; + + + @Autowired + private PatientWeightService2 patientWeightService2; + + @Autowired private AntenatalExaminationService antenatalExaminationService; @Autowired @@ -88,6 +92,9 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga @Autowired private PatientWeightService patientWeightService; + @Autowired + private UsersService usersService; + public BaseResponse add(Integer userId, BloodSugar bloodSugar) { // BloodSugar one = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(bloodSugar.getParentId()).and("created").gt(DateUtil.getYMDTime()).and("bloodSugarType").is(bloodSugar.getBloodSugarType())), BloodSugar.class); BloodSugar one = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(mongoUtil.getPid(bloodSugar.getParentId())).and("created").gt(DateUtil.getYMDTime()).and("bloodSugarType").is(bloodSugar.getBloodSugarType())), BloodSugar.class); @@ -1205,6 +1212,112 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga @Override + public BaseResponse notify(final List patientIds,final Integer type) { + + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(patientIds)) + { + for (String patientId : patientIds) + { + Patients patient = patientsService.findOnePatientById(patientId); + if (patient != null) + { + SmsConfigModel configModel = new SmsConfigModel(); + // 1 推送服务, 2 推送和短信服务 3短信服务, + int startType = smsConfigFacade.hospitalIsStart(patient.getHospitalId(), configModel, SmsServiceEnums.XTTX.getId()); + + if (startType == 0) { + return; + } + + //短信前缀 + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, patient.getBookbuildingDoctor(), ServiceObjEnums.YUNOBJ.getId()); + + List messages = new ArrayList<>(); + MsgRequest mr = new MsgRequest(); + String content = ""; + + BloodSugarQuery bloodSugarQuery = new BloodSugarQuery(); + bloodSugarQuery.setParentId(patientId); + List bloodSugars = bloodSugarService.queryBloodSugarList(bloodSugarQuery,Sort.Direction.DESC, "created"); + if (type == 2) + { + content = "亲爱的准妈妈您好,我是您的私人血糖管理医生,您目前已经很久没有记录您的血糖值了,为了您和您孩子的健康,请您务必每天记录一下自己的血糖,好让我们能随时关注到您和宝宝的健康状况,谢谢!"; + if (CollectionUtils.isNotEmpty(bloodSugars)) + { + for (BloodSugar bloodSugar : bloodSugars) + { + bloodSugar.setSevenSend(1); + bloodSugarService.update(bloodSugar); + } + } + } + else if (type == 3) + { + content = "亲爱的准妈妈您好,我是您的私人血糖管理医生,您目前的血糖数据十分不理想,请您迅速与我联系或来院进行复查身体情况。"; + if (CollectionUtils.isNotEmpty(bloodSugars)) + { + for (BloodSugar bloodSugar : bloodSugars) + { + bloodSugar.setExceptionSend(1); + bloodSugarService.update(bloodSugar); + } + } + } + + mr.setFirst("【" + messagePrefix + "】" + content); + mr.setObjType(ServiceObjEnums.YUNOBJ.getId()); + mr.setPhone(patient.getPhone()); + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); + mr.setTypeId(ProjectTypeEnums.YNXT.getId()); + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setSubTypeId(SmsServiceEnums.XTTX.getId()); + mr.setStatus(SmsStatusEnums.WFS.getId()); + mr.setHospitalId(patient.getHospitalId()); + mr.setTempId(""); + mr.setPatientId(patient.getId()); + mr.setSmsStatus(SmsStatusEnums.WFS.getId()); + mr.setServiceType(startType); //判断发送类型 + + PatientServiceQuery patientQuery = new PatientServiceQuery(); + patientQuery.setHospitalId(patient.getHospitalId()); + patientQuery.setParentid(patientId); + patientQuery.setSerType(PatientSerEnums.SerTypeEnums.tz.getId()); + + List patientServices = patientServiceService.queryPatientService(patientQuery); + + if (CollectionUtils.isNotEmpty(patientServices) && org.apache.commons.lang.StringUtils.isNotEmpty(patientServices.get(0).getSerDoct())) { + try { + Users users = usersService.getUsers(Integer.parseInt(patientServices.get(0).getSerDoct())); + if (users != null) { + mr.setKeyword1(users.getName()); + } + } catch (Exception e) { + mr.setKeyword1("产检医生"); + } + } + + mr.setKeyword2(DateUtil.getyyyy_MM_dd(new Date())); + mr.setRemark(""); + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setWxTempId(WxTempleteIdEnums.YI_SHENG_ZHI_DAO.getId()); + messages.add(mr); + if (CollectionUtils.isNotEmpty(messages)) { + smsConfigFacade.saveMsg(messages, patient.getHospitalId()); + } + + } + } + } + } + }).start(); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + + @Override public BaseResponse getBloodSugars(String doctorId, Integer type, Integer status, String keyword) { List datas = new ArrayList<>(); List pids = new ArrayList<>(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index 5ac4c73..c98ee29 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -1871,7 +1871,6 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient mr.setRemark(""); mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); mr.setWxTempId(WxTempleteIdEnums.YI_SHENG_ZHI_DAO.getId()); - System.out.println(mr); messages.add(mr); if (CollectionUtils.isNotEmpty(messages)) { smsConfigFacade.saveMsg(messages, patient.getHospitalId()); -- 1.8.3.1