Commit 4b94cab8a200f0d6873e24c0e7f43204fdeebd1b

Authored by jiangjiazhi
1 parent f568d85224

修改np 异常

Showing 1 changed file with 54 additions and 50 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RemoteFacade.java View file @ 4b94cab
... ... @@ -46,18 +46,18 @@
46 46 for (BloodPressure bloodPressure : bloodPressures) {
47 47 Map<String, Object> temp = new HashMap<>();
48 48 Patients patients = null;
49   - for (Map.Entry<String,Map<String,Object>> entry : bloodPressure.getInfos().entrySet()) {
50   - if(DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) {
  49 + for (Map.Entry<String, Map<String, Object>> entry : bloodPressure.getInfos().entrySet()) {
  50 + if (DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) {
51 51 String bpStatus = getBpStatus(entry.getValue().get("ssy").toString(), entry.getValue().get("szy").toString());
52   - if(StringUtils.isNotEmpty(bpStatus)) {
  52 + if (StringUtils.isNotEmpty(bpStatus)) {
53 53 patients = (patients == null ? mongoTemplate.findById(bloodPressure.getParentId(), Patients.class) : patients);
54   - if(patients == null) continue;
  54 + if (patients == null) continue;
55 55 setTempInfo(bloodPressure.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + bloodPressure.getModified().getTime(), temp, patients,
56 56 entry.getValue().get("ssy") + "/" + entry.getValue().get("szy"), bpStatus, "(收缩压:90-140 舒张压:60-90)", ErrorPatientEnums.BLOOD_PRESSURE, bloodPressure.getModified());
57 57 }
58 58 }
59 59 }
60   - if(MapUtils.isNotEmpty(temp)) {
  60 + if (MapUtils.isNotEmpty(temp)) {
61 61 restList.add(temp);
62 62 }
63 63 }
64 64  
65 65  
66 66  
67 67  
... ... @@ -68,25 +68,25 @@
68 68 Integer type = bloodSugar.getBloodSugarType();
69 69 Double min = 0D;
70 70 Double max = 0D;
71   - if(type == BloodSugarEnums.A.getId()) {
  71 + if (type == BloodSugarEnums.A.getId()) {
72 72 min = 3.3D;
73 73 max = 5.6D;
74   - } else if(type == BloodSugarEnums.B.getId() || type == BloodSugarEnums.D.getId() || type == BloodSugarEnums.F.getId() ) {
  74 + } else if (type == BloodSugarEnums.B.getId() || type == BloodSugarEnums.D.getId() || type == BloodSugarEnums.F.getId()) {
75 75 min = 3.3D;
76 76 max = 5.8D;
77   - } else if(type == BloodSugarEnums.I.getId()) {
  77 + } else if (type == BloodSugarEnums.I.getId()) {
78 78 min = 6.1D;
79 79 max = 7.8D;
80 80 } else {
81 81 min = 4.4D;
82 82 max = 6.7D;
83 83 }
84   - if(Double.parseDouble(bloodSugar.getBloodSugar()) > max || Double.parseDouble(bloodSugar.getBloodSugar()) < min) {
  84 + if (Double.parseDouble(bloodSugar.getBloodSugar()) > max || Double.parseDouble(bloodSugar.getBloodSugar()) < min) {
85 85 Map<String, Object> temp = new HashMap<>();
86 86 temp.put("name", BloodSugarEnums.getName(bloodSugar.getBloodSugarType()));
87 87 bloodSugarCache.put(bloodSugar.getId(), temp);
88 88 setTempInfo(bloodSugar.getId() + ID_SEPARATOR + bloodSugar.getModified().getTime(), temp, mongoTemplate.findById(bloodSugar.getParentId(), Patients.class), bloodSugar.getBloodSugar(), Double.parseDouble(bloodSugar.getBloodSugar()) > max ? "高血糖" : "低血糖",
89   - "(" + min +"-" + max + ")", ErrorPatientEnums.BLOOD_SUGAR, bloodSugar.getModified());
  89 + "(" + min + "-" + max + ")", ErrorPatientEnums.BLOOD_SUGAR, bloodSugar.getModified());
90 90 temp.put("typeId", bloodSugar.getBloodSugarType());
91 91 temp.put("typeName", BloodSugarEnums.getName(bloodSugar.getBloodSugarType()));
92 92 }
93 93  
94 94  
95 95  
96 96  
97 97  
... ... @@ -102,26 +102,28 @@
102 102 setMapInfo(highMap, lowMap, bmi);
103 103 Map<String, String> dayWeights = patientWeight.getDayWeights();
104 104 Map<String, Object> temp = new HashMap<>();
105   - if(MapUtils.isNotEmpty(dayWeights) && CollectionUtils.isNotEmpty(dayWeights.entrySet())) {
  105 + if (MapUtils.isNotEmpty(dayWeights) && CollectionUtils.isNotEmpty(dayWeights.entrySet())) {
106 106 for (Map.Entry<String, String> entry : dayWeights.entrySet()) {
107   - if(DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) {
  107 + if (DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) {
108 108 patients = (patients == null ? mongoTemplate.findById(patientWeight.getPatientId(), Patients.class) : patients);
109   - if(patients == null) continue;
  109 + if (patients == null) continue;
110 110 Integer week = DateUtil.getWeek2(patients.getLastMenses(), DateUtil.parseYMD(entry.getKey()));
111 111 Double addWeight = getAddWeight(patientWeight.getBeforeWeight(), entry.getValue());
112 112 Double low = lowMap.get(week);
113 113 Double high = highMap.get(week);
114   - if(addWeight < low || addWeight > high) {
115   - setTempInfo(patientWeight.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + patientWeight.getModified().getTime(), temp, patients, (patientWeight.getModified() == null ? "" : patientWeight.getModified().getTime() + ""), addWeight < low ? "增重过少" : "增重过多",
  114 + if (null != addWeight && null != low && null != high) {
  115 + if (addWeight < low || addWeight > high) {
  116 + setTempInfo(patientWeight.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + patientWeight.getModified().getTime(), temp, patients, (patientWeight.getModified() == null ? "" : patientWeight.getModified().getTime() + ""), addWeight < low ? "增重过少" : "增重过多",
116 117 // setTempInfo(patientWeight.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + patientWeight.getModified().getTime(), temp, patients, null, addWeight < low ? "增重过少" : "增重过多",
117   - "(" + lowMap.get(0) + "~" + highMap.get(0) + ")", ErrorPatientEnums.PATIENT_WEIGHT, patientWeight.getModified());
118   - temp.put("beforeWeight", patientWeight.getBeforeWeight());
119   - temp.put("nowWeight", patientWeight.getNowWeight());
120   - temp.put("addWeight", addWeight);
  118 + "(" + lowMap.get(0) + "~" + highMap.get(0) + ")", ErrorPatientEnums.PATIENT_WEIGHT, patientWeight.getModified());
  119 + temp.put("beforeWeight", patientWeight.getBeforeWeight());
  120 + temp.put("nowWeight", patientWeight.getNowWeight());
  121 + temp.put("addWeight", addWeight);
  122 + }
121 123 }
122 124 }
123 125 }
124   - if(MapUtils.isNotEmpty(temp)) {
  126 + if (MapUtils.isNotEmpty(temp)) {
125 127 restList.add(temp);
126 128 }
127 129 }
128 130  
129 131  
... ... @@ -133,17 +135,17 @@
133 135 LinkedHashMap<String, Double> tempList = tempModel.getTempList();
134 136 Patients patients = null;
135 137 for (Map.Entry<String, Double> entry : tempList.entrySet()) {
136   - if(DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) {
137   - if(entry.getValue() <= 36D || entry.getValue() >= 38.5D ) {
  138 + if (DateUtil.parseYMD(entry.getKey()).getTime() >= yesterday.getTime()) {
  139 + if (entry.getValue() <= 36D || entry.getValue() >= 38.5D) {
138 140 patients = (patients == null ? mongoTemplate.findById(tempModel.getParentId(), Patients.class) : patients);
139   - if(patients == null) continue;
  141 + if (patients == null) continue;
140 142 // setTempInfo(tempModel.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + tempModel.getModified().getTime(), temp, patients, entry.getValue() + "", entry.getValue() < 36D ? "低热" : "高热",
141 143 setTempInfo(tempModel.getId() + ID_SEPARATOR + entry.getKey() + ID_SEPARATOR + tempModel.getModified().getTime(), temp, patients, entry.getValue() + "", getTempDesc(entry.getValue()),
142 144 "(36-37.4)", ErrorPatientEnums.TEMP, tempModel.getModified());
143 145 }
144 146 }
145 147 }
146   - if(MapUtils.isNotEmpty(temp)) {
  148 + if (MapUtils.isNotEmpty(temp)) {
147 149 restList.add(temp);
148 150 }
149 151 }
150 152  
151 153  
152 154  
153 155  
154 156  
155 157  
156 158  
... ... @@ -152,33 +154,33 @@
152 154  
153 155 /**
154 156 * 低热:37.5~37.9℃;
155   - 中等度热:38.0~38.9℃;
156   - 高热:39.0~40.9℃;
157   - 超高热:41.0℃以上;
158   - 低于36°C 体温过低"
  157 + * 中等度热:38.0~38.9℃;
  158 + * 高热:39.0~40.9℃;
  159 + * 超高热:41.0℃以上;
  160 + * 低于36°C 体温过低"
159 161 */
160 162 private String getTempDesc(Double d) {
161   - if(d != null) {
162   - if(d >= 41D) {
  163 + if (d != null) {
  164 + if (d >= 41D) {
163 165 return "超高热";
164   - } else if(d >= 39D && d <= 40.9D) {
  166 + } else if (d >= 39D && d <= 40.9D) {
165 167 return "高热";
166   - } else if(d >= 38D && d <= 38.9D) {
  168 + } else if (d >= 38D && d <= 38.9D) {
167 169 return "高热";
168   - } else if(d >= 37.5D && d <= 37.9D) {
  170 + } else if (d >= 37.5D && d <= 37.9D) {
169 171 return "低热";
170   - } else if(d <= 36D) {
  172 + } else if (d <= 36D) {
171 173 return "体温过低";
172 174 }
173 175 }
174 176 return "";
175 177 }
176 178  
177   - private void setTempInfo(String id, Map<String, Object> temp, Patients patients, String value, String desc, String ckz, ErrorPatientEnums errorPatientEnums, Date modified) {
178   - if(patients == null) return;
  179 + private void setTempInfo(String id, Map<String, Object> temp, Patients patients, String value, String desc, String ckz, ErrorPatientEnums errorPatientEnums, Date modified) {
  180 + if (patients == null) return;
179 181 temp.put("id", id + ID_SEPARATOR);
180 182 temp.put("username", patients.getUsername());
181   - temp.put("lastMenses", patients.getLastMenses().getTime()/1000);
  183 + temp.put("lastMenses", patients.getLastMenses().getTime() / 1000);
182 184 temp.put("pid", patients.getPid());
183 185 temp.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), new Date()));
184 186 temp.put("parentId", patients.getId());
185 187  
186 188  
187 189  
... ... @@ -186,18 +188,20 @@
186 188 temp.put("desc", desc);
187 189 temp.put("ckz", ckz);
188 190 temp.put("type", errorPatientEnums.getId());
189   - temp.put("modified", modified.getTime()/1000);
  191 + temp.put("modified", modified.getTime() / 1000);
190 192 temp.put("patientId", null); // 小程序那边要这个key 不然解析不了
191 193 }
192 194  
193 195  
194   - /** 产品改了 说以收缩压为主 */
  196 + /**
  197 + * 产品改了 说以收缩压为主
  198 + */
195 199 private String getBpStatus(String ssy, String szy) {
196 200 String status = null;
197   - if(StringUtils.isNotEmpty(ssy)) {
198   - if(Double.parseDouble(ssy) < 90) {
  201 + if (StringUtils.isNotEmpty(ssy)) {
  202 + if (Double.parseDouble(ssy) < 90) {
199 203 status = "低血压";
200   - } else if(Double.parseDouble(ssy) > 140) {
  204 + } else if (Double.parseDouble(ssy) > 140) {
201 205 status = "高血压";
202 206 }/* else {
203 207 status = "正常";
... ... @@ -210,7 +214,7 @@
210 214 * 获取两个体重之间相差的数值
211 215 */
212 216 private Double getAddWeight(String before, String now) {
213   - if(StringUtils.isEmpty(before) || StringUtils.isEmpty(now)) {
  217 + if (StringUtils.isEmpty(before) || StringUtils.isEmpty(now)) {
214 218 return 0D;
215 219 }
216 220 Double b = Double.parseDouble(before);
217 221  
218 222  
219 223  
220 224  
... ... @@ -224,26 +228,26 @@
224 228 double high = 0D;
225 229 double high2 = 0D;
226 230 Double bmiD = 20D; // 小程序和app可能没有bmi 默认返回标准
227   - if(StringUtils.isNotEmpty(bmi)) {
  231 + if (StringUtils.isNotEmpty(bmi)) {
228 232 bmiD = Double.parseDouble(bmi);
229 233 }
230   - if(bmiD <= 18.5) {
  234 + if (bmiD <= 18.5) {
231 235 low = 1.2;
232 236 low2 = 11.9;
233 237 high = 3.8;
234 238 high2 = 18.1;
235   - } else if(bmiD > 18.5 && bmiD <= 24.9){
  239 + } else if (bmiD > 18.5 && bmiD <= 24.9) {
236 240 low = 1.4;
237 241 low2 = 11.9;
238 242 high = 3.2;
239 243 high2 = 15.9;
240   - } else if(bmiD > 24.9 && bmiD < 30){
241   - low = 1.1 ;
  244 + } else if (bmiD > 24.9 && bmiD < 30) {
  245 + low = 1.1;
242 246 low2 = 7.1;
243 247 high = 3.1;
244 248 high2 = 11.6;
245   - } else if(bmiD >= 30){
246   - low = 0.8 ;
  249 + } else if (bmiD >= 30) {
  250 + low = 0.8;
247 251 low2 = 4.9;
248 252 high = 2.1;
249 253 high2 = 8.9;