diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java index a91058e..45cb7b6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java @@ -231,19 +231,19 @@ public class PatientWeightController extends BaseController { * @return */ @ResponseBody - @RequestMapping(value = "/notify",method = RequestMethod.POST) - public BaseResponse notify(List patientIds, HttpServletRequest request) { - return patientWeightService.notify(getUserId(request), patientIds); + @RequestMapping(value = "/notify/{type}",method = RequestMethod.POST) + public BaseResponse notify(List patientIds,@PathVariable Integer type, HttpServletRequest request) { + return patientWeightService.notify(getUserId(request), patientIds,type); } /** - * 医生下面其他没有测量记录的用户 + * 医生端体重管理列表 * @param doctorId * @return */ @ResponseBody - @RequestMapping(value = "/getSevenNotWeights/{doctorId}", method = RequestMethod.GET) - public BaseResponse getSevenNotWeights(@PathVariable String doctorId) { - return patientWeightService.getSevenNotWeights(doctorId); + @RequestMapping(value = "/getWeights/{doctorId}/{type}", method = RequestMethod.GET) + public BaseResponse getWeights(@PathVariable String doctorId,@PathVariable Integer type,@PathVariable Integer status) { + return patientWeightService.getWeights(doctorId,type,status); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java index 62571bf..6843869 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java @@ -43,7 +43,7 @@ public interface PatientWeightService extends IBaseService { WeightConfigModel getWeightConfigBykcal(Map map, String northSouth, String risk); - BaseResponse notify(Integer userId, List patientIds); + BaseResponse notify(Integer userId, List patientIds,Integer type); - BaseResponse getSevenNotWeights(String doctorId); + BaseResponse getWeights(String doctorId,Integer type,Integer status); } 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 3d5c9ab..900e1b5 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 @@ -1747,7 +1747,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient } @Override - public BaseResponse notify(Integer userId, final List patientIds) { + public BaseResponse notify(Integer userId, final List patientIds,final Integer type) { new Thread(new Runnable() { @Override @@ -1759,6 +1759,20 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient Patients patient = patientsService.findOnePatientById(patientId); if (patient != null) { + + PatientWeight patientWeight = mongoTemplate.findOne(Query.query(Criteria.where("patientId").is(patient.getId()).and("yn").ne("1")), PatientWeight.class); + if (type == 1 && patientWeight != null) + { + Date currentDate = new Date(); + DateUtil.formatYmd(currentDate); + if (!(patientWeight.getModified().getTime() < new Date().getTime() + && patientWeight.getModified().getTime() > currentDate.getTime())) + { + continue; + } + } + + SmsConfigModel configModel = new SmsConfigModel(); // 1 推送服务, 2 推送和短信服务 3短信服务, int startType = smsConfigFacade.hospitalIsStart(patient.getHospitalId(), configModel, SmsServiceEnums.TZTX.getId()); @@ -1772,8 +1786,19 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient List messages = new ArrayList<>(); MsgRequest mr = new MsgRequest(); - String content = "您好,您设置的体重记录时间到了,请尽快打开小程序记录您今天的体重信息吧。"; - + String content = ""; + if (type == 1) + { + content = "您好,您设置的体重记录时间到了,请尽快打开小程序记录您今天的体重信息吧。"; + } + else if (type == 2) + { + content = "亲爱的准妈妈您好,我是您的私人体重管理医生,您目前已经很久没有记录您的体重值了,为了您和您孩子的健康,请您务必每天记录一下自己的体重,好让我们能随时关注到您和宝宝的健康状况,谢谢!"; + } + else if (type == 3) + { + content = "亲爱的准妈妈您好,我是您的私人体重管理医生,您目前的体重数据十分不理想,请您迅速与我联系或来院进行复查身体情况。"; + } mr.setFirst("【" + messagePrefix + "】" + content); mr.setObjType(ServiceObjEnums.YUNOBJ.getId()); mr.setPhone(patient.getPhone()); @@ -1814,6 +1839,12 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient if (CollectionUtils.isNotEmpty(messages)) { smsConfigFacade.saveMsg(messages, patient.getHospitalId()); } + + if (patientWeight != null) + { + patientWeightService2.update(Query.query(Criteria.where("id").is(patientWeight.getId())), patientWeight); + } + } } } @@ -1823,10 +1854,11 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient } @Override - public BaseResponse getSevenNotWeights(String doctorId) { + public BaseResponse getWeights(String doctorId,Integer type,Integer status) { PatientServiceQuery patientQuery = new PatientServiceQuery(); patientQuery.setSerDoct(doctorId); patientQuery.setSerType(PatientSerEnums.SerTypeEnums.tz.getId()); + patientQuery.setSerStatus(1); List list = patientServiceService.queryPatientService(patientQuery); List patientIds = new ArrayList<>(); List datas = new ArrayList<>(); @@ -1837,6 +1869,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient patientIds.add(ps.getParentid()); } } + if (CollectionUtils.isNotEmpty(patientIds)) { List weights = mongoTemplate.find(Query.query(Criteria.where("patientId").in(patientIds).and("modified").lte(DateUtil.addDay(new Date(),-7))), PatientWeight.class); @@ -1849,8 +1882,10 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient map.put("name",patients != null ? patients.getUsername() : ""); map.put("age",patients != null ? DateUtil.getAge(patients.getBirth(), weight.getModified()): ""); map.put("week",patients != null ? DateUtil.getWeekDesc(patients.getLastMenses(), weight.getModified()): ""); - map.put("weight",weight.getNowWeight()); - map.put("days",DateUtil.getDays(weight.getModified(),new Date())); + map.put("nowWeight",weight.getNowWeight()); + map.put("days",DateUtil.getDays(weight.getModified(), new Date())); + map.put("phone",patients.getPhone()); + map.put("cumulWeight",getDiff(weight.getBeforeWeight(),weight.getNowWeight())); } } }