Commit 10878f1e10ed6e9c0f66ecacd28c7b57a493609f

Authored by liquanyu
1 parent 48c0b30b37

血压

Showing 11 changed files with 190 additions and 10 deletions

platform-common/src/main/java/com/lyms/platform/common/enums/SmsServiceEnums.java View file @ 10878f1
... ... @@ -51,7 +51,9 @@
51 51 JSGWZD(37,"及时高危指导",1,""),
52 52 CSJGTZ(38,"产筛结果通知",21,"1"),
53 53 YFXXJSTX(39,"孕妇学校课程结束提醒",21,"1,3"),
54   - TZTX(40,"体重测量提醒",21,"1");
  54 + TZTX(40,"体重测量提醒",21,"1"),
  55 + XTTX(41,"血糖测量提醒",21,"1"),
  56 + XYTX(42,"血压测量提醒",21,"1");
55 57  
56 58 private SmsServiceEnums(int id,String name,int pid,String serviceObj){
57 59 this.id = id;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java View file @ 10878f1
... ... @@ -216,6 +216,7 @@
216 216 @RequestParam(value = "hospitalCityId",required = false) String hospitalCityId,
217 217 @RequestParam(value = "hospitalAreaId",required = false) String hospitalAreaId,
218 218 @RequestParam(value = "hospitalId",required = false) String hospitalId,
  219 + @RequestParam(value = "vcCardNo",required = false) String vcCardNo,
219 220 @RequestParam(value = "isArea",required = false) String isArea) {
220 221  
221 222 if (CollectionUtils.isNotEmpty(highRiskInfos)){
... ... @@ -227,6 +228,7 @@
227 228 }
228 229 LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext");
229 230 BabyManageRequest request = new BabyManageRequest();
  231 + request.setVcCardNo(vcCardNo);
230 232 request.setWeakSonInfos(weakSonInfos);
231 233 request.setHighRiskInfos(highRiskInfos);
232 234 request.setShowDetail(showDetail);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodPressureController.java View file @ 10878f1
... ... @@ -126,6 +126,20 @@
126 126 return bpReportFacade.checkUnReadReport(pid);
127 127 }
128 128  
  129 +
  130 + @ResponseBody
  131 + @RequestMapping(value = "/notify/{type}",method = RequestMethod.POST)
  132 + public BaseResponse notify(@RequestBody List<String> patientIds,@PathVariable Integer type, HttpServletRequest request) {
  133 + return bloodPressureService.notify(patientIds, type);
  134 + }
  135 +
  136 + @ResponseBody
  137 + @RequestMapping(value = "/getBloodSugars/{doctorId}/{type}/{status}", method = RequestMethod.GET)
  138 + public BaseResponse getBloodSugars(@PathVariable String doctorId,@PathVariable Integer type,@PathVariable Integer status,@RequestParam(required = false) String keyword) {
  139 + return bloodPressureService.getBloodSugars(doctorId, type, status, keyword);
  140 + }
  141 +
  142 +
129 143 @Autowired
130 144 private BpReportFacade bpReportFacade;
131 145 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BloodSugarController.java View file @ 10878f1
... ... @@ -12,6 +12,7 @@
12 12  
13 13 import javax.servlet.http.HttpServletRequest;
14 14 import java.util.Date;
  15 +import java.util.List;
15 16  
16 17 /**
17 18 * 血糖
... ... @@ -122,6 +123,12 @@
122 123 ,HttpServletRequest httpServletRequest) {
123 124 LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext");
124 125 return bloodSugarService.getSysBloodSugarReport(patientId, loginState.getId());
  126 + }
  127 +
  128 + @ResponseBody
  129 + @RequestMapping(value = "/notify/{type}",method = RequestMethod.POST)
  130 + public BaseResponse notify(@RequestBody List<String> patientIds,@PathVariable Integer type, HttpServletRequest request) {
  131 + return bloodSugarService.notify(patientIds, type);
125 132 }
126 133  
127 134 @ResponseBody
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ 10878f1
... ... @@ -2116,6 +2116,7 @@
2116 2116 }
2117 2117  
2118 2118 BabyModelQuery babyQuery = new BabyModelQuery();
  2119 + babyQuery.setVcCardNo(request.getVcCardNo());
2119 2120 babyQuery.setQueryNo(request.getQueryNo());
2120 2121 babyQuery.setDataStatus(true);//排除自动建档数据
2121 2122 //体弱儿详情
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java View file @ 10878f1
... ... @@ -81,6 +81,15 @@
81 81 //1-需要隐藏姓名、电话、地址
82 82 private int showDetail;
83 83  
  84 + private String vcCardNo;
  85 +
  86 + public String getVcCardNo() {
  87 + return vcCardNo;
  88 + }
  89 +
  90 + public void setVcCardNo(String vcCardNo) {
  91 + this.vcCardNo = vcCardNo;
  92 + }
84 93  
85 94 public String getbTime() {
86 95 return bTime;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodPressureService.java View file @ 10878f1
... ... @@ -24,5 +24,9 @@
24 24 BaseResponse initPatientWeight();
25 25  
26 26 void generateBpReport();
  27 +
  28 + BaseResponse notify(List<String> patientIds, Integer type);
  29 +
  30 + BaseResponse getBloodSugars(String doctorId, Integer type, Integer status, String keyword);
27 31 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IBloodSugarService.java View file @ 10878f1
... ... @@ -4,6 +4,7 @@
4 4 import com.lyms.platform.pojo.BloodSugar;
5 5  
6 6 import java.util.Date;
  7 +import java.util.List;
7 8 import java.util.Map;
8 9  
9 10 public interface IBloodSugarService extends IBaseService {
... ... @@ -33,5 +34,7 @@
33 34 BaseResponse getSysBloodSugarReport(String patientId,Integer userId);
34 35  
35 36 BaseResponse getBloodSugars(String doctorId, Integer type, Integer status, String keyword);
  37 +
  38 + public BaseResponse notify( List<String> patientIds, Integer type);
36 39 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java View file @ 10878f1
... ... @@ -419,5 +419,31 @@
419 419 }
420 420  
421 421  
  422 +
  423 + private int getPressureStatus(String ssy, String szy) {
  424 + int status = 0;
  425 + if (StringUtils.isNotEmpty(ssy)) {
  426 + if (Double.parseDouble(ssy) >= 140 || Double.parseDouble(szy) >= 90) {
  427 + status = 1;
  428 + } else if (Double.parseDouble(ssy) < 90 || Double.parseDouble(szy) < 60) {
  429 + status = -1;
  430 + }
  431 + }
  432 + return status;
  433 + }
  434 +
  435 +
  436 +
  437 + @Override
  438 + public BaseResponse notify(List<String> patientIds, Integer type) {
  439 + return null;
  440 + }
  441 +
  442 + @Override
  443 + public BaseResponse getBloodSugars(String doctorId, Integer type, Integer status, String keyword) {
  444 + return null;
  445 + }
  446 +
  447 +
422 448 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java View file @ 10878f1
... ... @@ -2,20 +2,15 @@
2 2  
3 3 import com.alibaba.fastjson.JSONArray;
4 4 import com.alibaba.fastjson.JSONObject;
  5 +import com.lyms.platform.beans.MsgRequest;
5 6 import com.lyms.platform.biz.service.*;
6 7 import com.lyms.platform.common.constants.ErrorCodeConstants;
7   -import com.lyms.platform.common.enums.BloodSugarEnums;
8   -import com.lyms.platform.common.enums.BloodSugarEnums2;
9   -import com.lyms.platform.common.enums.PatientSerEnums;
10   -import com.lyms.platform.common.enums.YnEnums;
  8 +import com.lyms.platform.common.enums.*;
11 9 import com.lyms.platform.common.result.*;
12 10 import com.lyms.platform.common.utils.DateUtil;
13 11 import com.lyms.platform.common.utils.EnumUtil;
14 12 import com.lyms.platform.common.utils.StringUtils;
15   -import com.lyms.platform.operate.web.facade.AccessPermissionFacade;
16   -import com.lyms.platform.operate.web.facade.AntExRecordFacade;
17   -import com.lyms.platform.operate.web.facade.AutoMatchFacade;
18   -import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade;
  13 +import com.lyms.platform.operate.web.facade.*;
19 14 import com.lyms.platform.operate.web.service.IBloodSugarService;
20 15 import com.lyms.platform.operate.web.service.PatientWeightService;
21 16 import com.lyms.platform.operate.web.utils.CollectionUtils;
22 17  
... ... @@ -25,8 +20,10 @@
25 20 import com.lyms.platform.permission.model.Organization;
26 21 import com.lyms.platform.permission.model.PatientService;
27 22 import com.lyms.platform.permission.model.PatientServiceQuery;
  23 +import com.lyms.platform.permission.model.Users;
28 24 import com.lyms.platform.permission.service.OrganizationService;
29 25 import com.lyms.platform.permission.service.PatientServiceService;
  26 +import com.lyms.platform.permission.service.UsersService;
30 27 import com.lyms.platform.pojo.*;
31 28 import com.lyms.platform.query.AntExChuQuery;
32 29 import com.lyms.platform.query.AntExRecordQuery;
... ... @@ -77,6 +74,13 @@
77 74 private PatientsService patientsService;
78 75  
79 76 @Autowired
  77 + private SmsConfigFacade smsConfigFacade;
  78 +
  79 +
  80 + @Autowired
  81 + private PatientWeightService2 patientWeightService2;
  82 +
  83 + @Autowired
80 84 private AntenatalExaminationService antenatalExaminationService;
81 85  
82 86 @Autowired
... ... @@ -88,6 +92,9 @@
88 92 @Autowired
89 93 private PatientWeightService patientWeightService;
90 94  
  95 + @Autowired
  96 + private UsersService usersService;
  97 +
91 98 public BaseResponse add(Integer userId, BloodSugar bloodSugar) {
92 99 // BloodSugar one = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(bloodSugar.getParentId()).and("created").gt(DateUtil.getYMDTime()).and("bloodSugarType").is(bloodSugar.getBloodSugarType())), BloodSugar.class);
93 100 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);
... ... @@ -1201,6 +1208,112 @@
1201 1208 private void setData(Map<String, Object> map, String key, String value) {
1202 1209 map.put("id", key);
1203 1210 map.put("name", value);
  1211 + }
  1212 +
  1213 +
  1214 + @Override
  1215 + public BaseResponse notify(final List<String> patientIds,final Integer type) {
  1216 +
  1217 + new Thread(new Runnable() {
  1218 + @Override
  1219 + public void run() {
  1220 + if (CollectionUtils.isNotEmpty(patientIds))
  1221 + {
  1222 + for (String patientId : patientIds)
  1223 + {
  1224 + Patients patient = patientsService.findOnePatientById(patientId);
  1225 + if (patient != null)
  1226 + {
  1227 + SmsConfigModel configModel = new SmsConfigModel();
  1228 + // 1 推送服务, 2 推送和短信服务 3短信服务,
  1229 + int startType = smsConfigFacade.hospitalIsStart(patient.getHospitalId(), configModel, SmsServiceEnums.XTTX.getId());
  1230 +
  1231 + if (startType == 0) {
  1232 + return;
  1233 + }
  1234 +
  1235 + //短信前缀
  1236 + String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, patient.getBookbuildingDoctor(), ServiceObjEnums.YUNOBJ.getId());
  1237 +
  1238 + List<MsgRequest> messages = new ArrayList<>();
  1239 + MsgRequest mr = new MsgRequest();
  1240 + String content = "";
  1241 +
  1242 + BloodSugarQuery bloodSugarQuery = new BloodSugarQuery();
  1243 + bloodSugarQuery.setParentId(patientId);
  1244 + List<BloodSugar> bloodSugars = bloodSugarService.queryBloodSugarList(bloodSugarQuery,Sort.Direction.DESC, "created");
  1245 + if (type == 2)
  1246 + {
  1247 + content = "亲爱的准妈妈您好,我是您的私人血糖管理医生,您目前已经很久没有记录您的血糖值了,为了您和您孩子的健康,请您务必每天记录一下自己的血糖,好让我们能随时关注到您和宝宝的健康状况,谢谢!";
  1248 + if (CollectionUtils.isNotEmpty(bloodSugars))
  1249 + {
  1250 + for (BloodSugar bloodSugar : bloodSugars)
  1251 + {
  1252 + bloodSugar.setSevenSend(1);
  1253 + bloodSugarService.update(bloodSugar);
  1254 + }
  1255 + }
  1256 + }
  1257 + else if (type == 3)
  1258 + {
  1259 + content = "亲爱的准妈妈您好,我是您的私人血糖管理医生,您目前的血糖数据十分不理想,请您迅速与我联系或来院进行复查身体情况。";
  1260 + if (CollectionUtils.isNotEmpty(bloodSugars))
  1261 + {
  1262 + for (BloodSugar bloodSugar : bloodSugars)
  1263 + {
  1264 + bloodSugar.setExceptionSend(1);
  1265 + bloodSugarService.update(bloodSugar);
  1266 + }
  1267 + }
  1268 + }
  1269 +
  1270 + mr.setFirst("【" + messagePrefix + "】" + content);
  1271 + mr.setObjType(ServiceObjEnums.YUNOBJ.getId());
  1272 + mr.setPhone(patient.getPhone());
  1273 + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId());
  1274 + mr.setTypeId(ProjectTypeEnums.YNXT.getId());
  1275 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date()));
  1276 + mr.setSubTypeId(SmsServiceEnums.XTTX.getId());
  1277 + mr.setStatus(SmsStatusEnums.WFS.getId());
  1278 + mr.setHospitalId(patient.getHospitalId());
  1279 + mr.setTempId("");
  1280 + mr.setPatientId(patient.getId());
  1281 + mr.setSmsStatus(SmsStatusEnums.WFS.getId());
  1282 + mr.setServiceType(startType); //判断发送类型
  1283 +
  1284 + PatientServiceQuery patientQuery = new PatientServiceQuery();
  1285 + patientQuery.setHospitalId(patient.getHospitalId());
  1286 + patientQuery.setParentid(patientId);
  1287 + patientQuery.setSerType(PatientSerEnums.SerTypeEnums.tz.getId());
  1288 +
  1289 + List<PatientService> patientServices = patientServiceService.queryPatientService(patientQuery);
  1290 +
  1291 + if (CollectionUtils.isNotEmpty(patientServices) && org.apache.commons.lang.StringUtils.isNotEmpty(patientServices.get(0).getSerDoct())) {
  1292 + try {
  1293 + Users users = usersService.getUsers(Integer.parseInt(patientServices.get(0).getSerDoct()));
  1294 + if (users != null) {
  1295 + mr.setKeyword1(users.getName());
  1296 + }
  1297 + } catch (Exception e) {
  1298 + mr.setKeyword1("产检医生");
  1299 + }
  1300 + }
  1301 +
  1302 + mr.setKeyword2(DateUtil.getyyyy_MM_dd(new Date()));
  1303 + mr.setRemark("");
  1304 + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date()));
  1305 + mr.setWxTempId(WxTempleteIdEnums.YI_SHENG_ZHI_DAO.getId());
  1306 + messages.add(mr);
  1307 + if (CollectionUtils.isNotEmpty(messages)) {
  1308 + smsConfigFacade.saveMsg(messages, patient.getHospitalId());
  1309 + }
  1310 +
  1311 + }
  1312 + }
  1313 + }
  1314 + }
  1315 + }).start();
  1316 + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
1204 1317 }
1205 1318  
1206 1319  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java View file @ 10878f1
... ... @@ -1871,7 +1871,6 @@
1871 1871 mr.setRemark("");
1872 1872 mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date()));
1873 1873 mr.setWxTempId(WxTempleteIdEnums.YI_SHENG_ZHI_DAO.getId());
1874   - System.out.println(mr);
1875 1874 messages.add(mr);
1876 1875 if (CollectionUtils.isNotEmpty(messages)) {
1877 1876 smsConfigFacade.saveMsg(messages, patient.getHospitalId());