diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RemoteFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RemoteFacade.java index 6013dcf..d38f282 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RemoteFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RemoteFacade.java @@ -46,18 +46,18 @@ public class RemoteFacade { for (BloodPressure bloodPressure : bloodPressures) { Map temp = new HashMap<>(); Patients patients = null; - for (Map.Entry> entry : bloodPressure.getInfos().entrySet()) { - if(DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) { + for (Map.Entry> entry : bloodPressure.getInfos().entrySet()) { + if (DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) { String bpStatus = getBpStatus(entry.getValue().get("ssy").toString(), entry.getValue().get("szy").toString()); - if(StringUtils.isNotEmpty(bpStatus)) { + if (StringUtils.isNotEmpty(bpStatus)) { patients = (patients == null ? mongoTemplate.findById(bloodPressure.getParentId(), Patients.class) : patients); - if(patients == null) continue; + if (patients == null) continue; setTempInfo(bloodPressure.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + bloodPressure.getModified().getTime(), temp, patients, entry.getValue().get("ssy") + "/" + entry.getValue().get("szy"), bpStatus, "(收缩压:90-140 舒张压:60-90)", ErrorPatientEnums.BLOOD_PRESSURE, bloodPressure.getModified()); } } } - if(MapUtils.isNotEmpty(temp)) { + if (MapUtils.isNotEmpty(temp)) { restList.add(temp); } } @@ -68,25 +68,25 @@ public class RemoteFacade { Integer type = bloodSugar.getBloodSugarType(); Double min = 0D; Double max = 0D; - if(type == BloodSugarEnums.A.getId()) { + if (type == BloodSugarEnums.A.getId()) { min = 3.3D; max = 5.6D; - } else if(type == BloodSugarEnums.B.getId() || type == BloodSugarEnums.D.getId() || type == BloodSugarEnums.F.getId() ) { + } else if (type == BloodSugarEnums.B.getId() || type == BloodSugarEnums.D.getId() || type == BloodSugarEnums.F.getId()) { min = 3.3D; max = 5.8D; - } else if(type == BloodSugarEnums.I.getId()) { + } else if (type == BloodSugarEnums.I.getId()) { min = 6.1D; max = 7.8D; } else { min = 4.4D; max = 6.7D; } - if(Double.parseDouble(bloodSugar.getBloodSugar()) > max || Double.parseDouble(bloodSugar.getBloodSugar()) < min) { + if (Double.parseDouble(bloodSugar.getBloodSugar()) > max || Double.parseDouble(bloodSugar.getBloodSugar()) < min) { Map temp = new HashMap<>(); temp.put("name", BloodSugarEnums.getName(bloodSugar.getBloodSugarType())); bloodSugarCache.put(bloodSugar.getId(), temp); setTempInfo(bloodSugar.getId() + ID_SEPARATOR + bloodSugar.getModified().getTime(), temp, mongoTemplate.findById(bloodSugar.getParentId(), Patients.class), bloodSugar.getBloodSugar(), Double.parseDouble(bloodSugar.getBloodSugar()) > max ? "高血糖" : "低血糖", - "(" + min +"-" + max + ")", ErrorPatientEnums.BLOOD_SUGAR, bloodSugar.getModified()); + "(" + min + "-" + max + ")", ErrorPatientEnums.BLOOD_SUGAR, bloodSugar.getModified()); temp.put("typeId", bloodSugar.getBloodSugarType()); temp.put("typeName", BloodSugarEnums.getName(bloodSugar.getBloodSugarType())); } @@ -102,26 +102,28 @@ public class RemoteFacade { setMapInfo(highMap, lowMap, bmi); Map dayWeights = patientWeight.getDayWeights(); Map temp = new HashMap<>(); - if(MapUtils.isNotEmpty(dayWeights) && CollectionUtils.isNotEmpty(dayWeights.entrySet())) { + if (MapUtils.isNotEmpty(dayWeights) && CollectionUtils.isNotEmpty(dayWeights.entrySet())) { for (Map.Entry entry : dayWeights.entrySet()) { - if(DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) { + if (DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) { patients = (patients == null ? mongoTemplate.findById(patientWeight.getPatientId(), Patients.class) : patients); - if(patients == null) continue; + if (patients == null) continue; Integer week = DateUtil.getWeek2(patients.getLastMenses(), DateUtil.parseYMD(entry.getKey())); Double addWeight = getAddWeight(patientWeight.getBeforeWeight(), entry.getValue()); Double low = lowMap.get(week); Double high = highMap.get(week); - if(addWeight < low || addWeight > high) { - setTempInfo(patientWeight.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + patientWeight.getModified().getTime(), temp, patients, (patientWeight.getModified() == null ? "" : patientWeight.getModified().getTime() + ""), addWeight < low ? "增重过少" : "增重过多", + if (null != addWeight && null != low && null != high) { + if (addWeight < low || addWeight > high) { + setTempInfo(patientWeight.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + patientWeight.getModified().getTime(), temp, patients, (patientWeight.getModified() == null ? "" : patientWeight.getModified().getTime() + ""), addWeight < low ? "增重过少" : "增重过多", // setTempInfo(patientWeight.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + patientWeight.getModified().getTime(), temp, patients, null, addWeight < low ? "增重过少" : "增重过多", - "(" + lowMap.get(0) + "~" + highMap.get(0) + ")", ErrorPatientEnums.PATIENT_WEIGHT, patientWeight.getModified()); - temp.put("beforeWeight", patientWeight.getBeforeWeight()); - temp.put("nowWeight", patientWeight.getNowWeight()); - temp.put("addWeight", addWeight); + "(" + lowMap.get(0) + "~" + highMap.get(0) + ")", ErrorPatientEnums.PATIENT_WEIGHT, patientWeight.getModified()); + temp.put("beforeWeight", patientWeight.getBeforeWeight()); + temp.put("nowWeight", patientWeight.getNowWeight()); + temp.put("addWeight", addWeight); + } } } } - if(MapUtils.isNotEmpty(temp)) { + if (MapUtils.isNotEmpty(temp)) { restList.add(temp); } } @@ -133,17 +135,17 @@ public class RemoteFacade { LinkedHashMap tempList = tempModel.getTempList(); Patients patients = null; for (Map.Entry entry : tempList.entrySet()) { - if(DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) { - if(entry.getValue() <= 36D || entry.getValue() >= 38.5D ) { + if (DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) { + if (entry.getValue() <= 36D || entry.getValue() >= 38.5D) { patients = (patients == null ? mongoTemplate.findById(tempModel.getParentId(), Patients.class) : patients); - if(patients == null) continue; + if (patients == null) continue; // setTempInfo(tempModel.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + tempModel.getModified().getTime(), temp, patients, entry.getValue() + "", entry.getValue() < 36D ? "低热" : "高热", setTempInfo(tempModel.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + tempModel.getModified().getTime(), temp, patients, entry.getValue() + "", getTempDesc(entry.getValue()), "(36-37.4)", ErrorPatientEnums.TEMP, tempModel.getModified()); } } } - if(MapUtils.isNotEmpty(temp)) { + if (MapUtils.isNotEmpty(temp)) { restList.add(temp); } } @@ -152,33 +154,33 @@ public class RemoteFacade { /** * 低热:37.5~37.9℃; - 中等度热:38.0~38.9℃; - 高热:39.0~40.9℃; - 超高热:41.0℃以上; - 低于36°C 体温过低" + * 中等度热:38.0~38.9℃; + * 高热:39.0~40.9℃; + * 超高热:41.0℃以上; + * 低于36°C 体温过低" */ private String getTempDesc(Double d) { - if(d != null) { - if(d >= 41D) { + if (d != null) { + if (d >= 41D) { return "超高热"; - } else if(d >= 39D && d <= 40.9D) { + } else if (d >= 39D && d <= 40.9D) { return "高热"; - } else if(d >= 38D && d <= 38.9D) { + } else if (d >= 38D && d <= 38.9D) { return "高热"; - } else if(d >= 37.5D && d <= 37.9D) { + } else if (d >= 37.5D && d <= 37.9D) { return "低热"; - } else if(d <= 36D) { + } else if (d <= 36D) { return "体温过低"; } } return ""; } - private void setTempInfo(String id, Map temp, Patients patients, String value, String desc, String ckz, ErrorPatientEnums errorPatientEnums, Date modified) { - if(patients == null) return; + private void setTempInfo(String id, Map temp, Patients patients, String value, String desc, String ckz, ErrorPatientEnums errorPatientEnums, Date modified) { + if (patients == null) return; temp.put("id", id + ID_SEPARATOR); temp.put("username", patients.getUsername()); - temp.put("lastMenses", patients.getLastMenses().getTime()/1000); + temp.put("lastMenses", patients.getLastMenses().getTime() / 1000); temp.put("pid", patients.getPid()); temp.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), new Date())); temp.put("parentId", patients.getId()); @@ -186,18 +188,20 @@ public class RemoteFacade { temp.put("desc", desc); temp.put("ckz", ckz); temp.put("type", errorPatientEnums.getId()); - temp.put("modified", modified.getTime()/1000); + temp.put("modified", modified.getTime() / 1000); temp.put("patientId", null); // 小程序那边要这个key 不然解析不了 } - /** 产品改了 说以收缩压为主 */ + /** + * 产品改了 说以收缩压为主 + */ private String getBpStatus(String ssy, String szy) { String status = null; - if(StringUtils.isNotEmpty(ssy)) { - if(Double.parseDouble(ssy) < 90) { + if (StringUtils.isNotEmpty(ssy)) { + if (Double.parseDouble(ssy) < 90) { status = "低血压"; - } else if(Double.parseDouble(ssy) > 140) { + } else if (Double.parseDouble(ssy) > 140) { status = "高血压"; }/* else { status = "正常"; @@ -210,7 +214,7 @@ public class RemoteFacade { * 获取两个体重之间相差的数值 */ private Double getAddWeight(String before, String now) { - if(StringUtils.isEmpty(before) || StringUtils.isEmpty(now)) { + if (StringUtils.isEmpty(before) || StringUtils.isEmpty(now)) { return 0D; } Double b = Double.parseDouble(before); @@ -224,26 +228,26 @@ public class RemoteFacade { double high = 0D; double high2 = 0D; Double bmiD = 20D; // 小程序和app可能没有bmi 默认返回标准 - if(StringUtils.isNotEmpty(bmi)) { + if (StringUtils.isNotEmpty(bmi)) { bmiD = Double.parseDouble(bmi); } - if(bmiD <= 18.5) { + if (bmiD <= 18.5) { low = 1.2; low2 = 11.9; high = 3.8; high2 = 18.1; - } else if(bmiD > 18.5 && bmiD <= 24.9){ + } else if (bmiD > 18.5 && bmiD <= 24.9) { low = 1.4; low2 = 11.9; high = 3.2; high2 = 15.9; - } else if(bmiD > 24.9 && bmiD < 30){ - low = 1.1 ; + } else if (bmiD > 24.9 && bmiD < 30) { + low = 1.1; low2 = 7.1; high = 3.1; high2 = 11.6; - } else if(bmiD >= 30){ - low = 0.8 ; + } else if (bmiD >= 30) { + low = 0.8; low2 = 4.9; high = 2.1; high2 = 8.9;