Commit ac586f9a6af99aadfdb49a59867e70a2ff88528c
1 parent
d4e6ffcd39
Exists in
master
and in
6 other branches
体成分分析报告第二版
Showing 1 changed file with 31 additions and 161 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java
View file @
ac586f9
... | ... | @@ -247,92 +247,40 @@ |
247 | 247 | |
248 | 248 | //人体成分分析信息 |
249 | 249 | Map<String, Object> componentInfo = new HashMap<>(); |
250 | -// componentInfo.put("water", Double.valueOf(volumeComponentAnalysisModel.getIcw() + Double.valueOf(volumeComponentAnalysisModel.getEcw()))); | |
251 | - componentInfo.put("water",volumeComponentAnalysisModel.getWater());//身体总水分 | |
252 | - Map<String, String> sfMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), | |
253 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
254 | - "sf"); | |
255 | - componentInfo.put("waterMax",sfMap.get("max"));//身体总 水分正常范围的高值 | |
256 | - componentInfo.put("waterMin",sfMap.get("min"));//身体总 水分正常范围的低值 | |
257 | - componentInfo.put("icw", volumeComponentAnalysisModel.getIcw());//细胞内液 | |
258 | - Map<String, String> xbnyMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), | |
259 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
260 | - "xbny"); | |
261 | - componentInfo.put("icwMax", xbnyMap.get("max"));//细胞内液高值 | |
262 | - componentInfo.put("icwMin", xbnyMap.get("min"));//细胞内液低值 | |
263 | - componentInfo.put("ecw", volumeComponentAnalysisModel.getEcw());//细胞外液 | |
264 | - Map<String, String> xbwyMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), | |
265 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
266 | - "xbwy"); | |
267 | - componentInfo.put("ecwMax", xbwyMap.get("max"));//细胞外液高值 | |
268 | - componentInfo.put("ecwMin", xbwyMap.get("min"));//细胞外液低值 | |
250 | + componentInfo.put("protein", volumeComponentAnalysisModel.getProtein());//蛋白质 | |
251 | + componentInfo.put("proteinMax", volumeComponentAnalysisModel.getProteinMax());//蛋白质正常范围的高值 | |
252 | + componentInfo.put("proteinMin", volumeComponentAnalysisModel.getProteinMin());//蛋白质正常范围的低值 | |
269 | 253 | componentInfo.put("muscle", volumeComponentAnalysisModel.getMuscle());//肌肉 |
270 | - Map<String, String> jrMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), | |
271 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
272 | - "jr"); | |
273 | - componentInfo.put("muscleMax", jrMap.get("max"));//肌肉正常范围的高值 | |
274 | - componentInfo.put("muscleMin", jrMap.get("min"));//肌肉正常范围的低值 | |
275 | 254 | componentInfo.put("lbm", volumeComponentAnalysisModel.getLbm());//瘦体重(去脂体重) |
276 | 255 | componentInfo.put("weight", volumeComponentAnalysisModel.getWeight());//体重 |
277 | - componentInfo.put("protein", volumeComponentAnalysisModel.getProtein());//蛋白质 | |
278 | - Map<String, String> dbzMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), | |
279 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
280 | - "dbz"); | |
281 | - componentInfo.put("proteinMax", dbzMap.get("max"));//蛋白质正常范围的高值 | |
282 | - componentInfo.put("proteinMin", dbzMap.get("min"));//蛋白质正常范围的低值 | |
283 | 256 | componentInfo.put("bone", volumeComponentAnalysisModel.getBone());//骨质 |
284 | - componentInfo.put("boneMax", "2.5");//骨质正常范围的高值 | |
285 | - componentInfo.put("boneMin", "3.5");//骨质正常范围的低值 | |
257 | + componentInfo.put("boneMax", volumeComponentAnalysisModel.getBoneMax());//骨质正常范围的高值 | |
258 | + componentInfo.put("boneMin", volumeComponentAnalysisModel.getBoneMin());//骨质正常范围的低值 | |
286 | 259 | componentInfo.put("fat", volumeComponentAnalysisModel.getFat());//脂肪 |
287 | - Map<String, String> zfMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), | |
288 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
289 | - "zf"); | |
290 | - componentInfo.put("fatMax", zfMap.get("max"));//脂肪正常范围的高值 | |
291 | - componentInfo.put("fatMin", zfMap.get("min"));//脂肪正常范围的低值 | |
260 | + componentInfo.put("fatMax", volumeComponentAnalysisModel.getFatMax());//脂肪正常范围的高值 | |
261 | + componentInfo.put("fatMin", volumeComponentAnalysisModel.getFatMin());//脂肪正常范围的低值 | |
292 | 262 | data.add(componentInfo); |
293 | 263 | |
294 | - //体型判定(体型判定2赋值) | |
295 | - Map<String, Object> somatotype = new HashMap<>(); | |
296 | 264 | |
297 | 265 | //基本评估 |
298 | 266 | Map<String, Object> basicInfo = new HashMap<>(); |
299 | 267 | basicInfo.put("basicWeight", volumeComponentAnalysisModel.getWeight());//体重 |
300 | - Map<String, String> tzMap = rangeMaptz( DateUtil.getWeek2(patients.getLastMenses(), new Date()), | |
301 | - Double.valueOf(volumeComponentAnalysisModel.getBeforeWeight()), bmi, volumeComponentAnalysisModel.getBregmatic()); | |
302 | - basicInfo.put("basicWeightMax", tzMap.get("max"));//体重正常范围的高值 | |
303 | - basicInfo.put("basicWeightMin", tzMap.get("min"));//体重正常范围的低值 | |
268 | + basicInfo.put("basicWeightMax", volumeComponentAnalysisModel.getWeightMax());//体重正常范围的高值 | |
269 | + basicInfo.put("basicWeightMin", volumeComponentAnalysisModel.getWeightMin());//体重正常范围的低值 | |
304 | 270 | basicInfo.put("basicMuscle", volumeComponentAnalysisModel.getMuscle());//肌肉 |
305 | - basicInfo.put("basicMuscleMax", jrMap.get("max"));//肌肉正常范围的高值 | |
306 | - basicInfo.put("basicMuscleMin", jrMap.get("min"));//肌肉正常范围的低值 | |
271 | + basicInfo.put("basicMuscleMax", volumeComponentAnalysisModel.getMuscleMax());//肌肉正常范围的高值 | |
272 | + basicInfo.put("basicMuscleMin", volumeComponentAnalysisModel.getMuscleMin());//肌肉正常范围的低值 | |
307 | 273 | basicInfo.put("basicPbf", volumeComponentAnalysisModel.getPbf());//体脂百分比 |
308 | - basicInfo.put("basicPbfMax", zfMap.get("max"));//体脂率正常范围的高值 | |
309 | - basicInfo.put("basicPbfMin", zfMap.get("min"));//体脂率正常范围的低值 | |
274 | + basicInfo.put("basicPbfMax", volumeComponentAnalysisModel.getPbfMax());//体脂率正常范围的高值 | |
275 | + basicInfo.put("basicPbfMin", volumeComponentAnalysisModel.getPbfMin());//体脂率正常范围的低值 | |
310 | 276 | basicInfo.put("basicBone", volumeComponentAnalysisModel.getBone());//骨质 |
311 | - basicInfo.put("basicBoneMax", "3.5");//骨质正常范围的高值 | |
312 | - basicInfo.put("basicBoneMin", "2.5");//骨质正常范围的低值 | |
313 | - basicInfo.put("basicWater",volumeComponentAnalysisModel.getWater());//身体总水分 | |
314 | - | |
315 | - basicInfo.put("basicWaterMax",sfMap.get("max"));//身体总 水分正常范围的高值 | |
316 | - basicInfo.put("basicWaterMin",sfMap.get("min"));//身体总 水分正常范围的低值 | |
277 | + basicInfo.put("basicBoneMax", volumeComponentAnalysisModel.getBoneMax());//骨质正常范围的高值 | |
278 | + basicInfo.put("basicBoneMin", volumeComponentAnalysisModel.getBoneMin());//骨质正常范围的低值 | |
317 | 279 | basicInfo.put("basicSmm", volumeComponentAnalysisModel.getSmm());//骨骼肌 |
318 | 280 | basicInfo.put("basicSmmMax", volumeComponentAnalysisModel.getSmmMax());//骨骼肌正常范围的高值 |
319 | 281 | basicInfo.put("basicSmmMin", volumeComponentAnalysisModel.getSmmMin());//骨骼肌正常范围的低值 |
320 | - basicInfo.put("basicBmi", volumeComponentAnalysisModel.getBmi());//体质指数 | |
321 | - basicInfo.put("basicBmiMax", volumeComponentAnalysisModel.getBmiMax());//体质指数正常范围的高值 | |
322 | - basicInfo.put("basicBmiMin", volumeComponentAnalysisModel.getBmiMin());//体质指数正常范围的低值 | |
323 | -// basicInfo.put("basicWhr", volumeComponentAnalysisModel.getWhr());//腰臀比(2位小数) 泉渝说郝总说不用做 | |
324 | -// basicInfo.put("basicWhrMax", volumeComponentAnalysisModel.getWhrMax());//腰臀比正常范围的高值 | |
325 | -// basicInfo.put("basicWhrMin", volumeComponentAnalysisModel.getWhrMin());//腰臀比正常范围的低值 | |
326 | 282 | data.add(basicInfo); |
327 | 283 | |
328 | - //体重管理 | |
329 | - Map<String, Object> weightManagement = new HashMap<>(); | |
330 | - weightManagement.put("standardWeight",volumeComponentAnalysisModel.getStandardWeight());//标准体重 | |
331 | - weightManagement.put("weightControl",volumeComponentAnalysisModel.getWeightControl());//体重控制 | |
332 | - weightManagement.put("fatControl",volumeComponentAnalysisModel.getFatControl());//脂肪控制量 | |
333 | - weightManagement.put("muscleControl",volumeComponentAnalysisModel.getMuscleControl());//肌肉控制量 | |
334 | - data.add(weightManagement); | |
335 | - | |
336 | 284 | //内脏脂肪分析 |
337 | 285 | Map<String, Object> viscusInfo = new HashMap<>(); |
338 | 286 | viscusInfo.put("viscusTrFat", volumeComponentAnalysisModel.getTrFat());//躯干脂肪量 总量 |
339 | 287 | |
... | ... | @@ -347,55 +295,23 @@ |
347 | 295 | viscusInfo.put("viscusTrFatNumber", v);//内脏脂肪指数 |
348 | 296 | data.add(viscusInfo); |
349 | 297 | |
350 | - //水肿分析 | |
351 | - Map<String, Object> edemaAnalysis = new HashMap<>(); | |
352 | - if(!StringUtils.isEmpty(volumeComponentAnalysisModel.getWater()) && !StringUtils.isEmpty(volumeComponentAnalysisModel.getWeight()) ){ | |
353 | - String water = volumeComponentAnalysisModel.getWater();//水分 | |
354 | - String weight = volumeComponentAnalysisModel.getWeight();//体重 | |
355 | - double waterd = Double.parseDouble(water); | |
356 | - double weightd = Double.parseDouble(weight); | |
357 | - double moistureRate = weightd / waterd; | |
358 | - moistureRate = new BigDecimal(moistureRate).setScale(2, RoundingMode.DOWN).doubleValue(); | |
359 | - edemaAnalysis.put("moistureRate", moistureRate);//身体水分率 | |
360 | - } | |
361 | - edemaAnalysis.put("edema", volumeComponentAnalysisModel.getEdema());//水肿系数 | |
362 | - edemaAnalysis.put("edemaMax", volumeComponentAnalysisModel.getEdemaMax());//水肿系数正常范围的高值 | |
363 | - edemaAnalysis.put("edemaMin", volumeComponentAnalysisModel.getEdemaMin());//水肿系数正常范围的低值 | |
364 | - if(!StringUtils.isEmpty(volumeComponentAnalysisModel.getEdema()) | |
365 | - && !StringUtils.isEmpty(volumeComponentAnalysisModel.getEdemaMax()) | |
366 | - && !StringUtils.isEmpty(volumeComponentAnalysisModel.getEdemaMin()) ){ | |
367 | - String edema = volumeComponentAnalysisModel.getEdema(); | |
368 | - double edemad = Double.parseDouble(edema); | |
369 | - String edemaMax = volumeComponentAnalysisModel.getEdemaMax(); | |
370 | - double edemaMaxd = Double.parseDouble(edemaMax); | |
371 | - String edemaMin = volumeComponentAnalysisModel.getEdemaMin(); | |
372 | - double edemaMind = Double.parseDouble(edemaMin); | |
373 | - if(edemad < edemaMind){ | |
374 | - edemaAnalysis.put("gzf", 1);//1干燥 正常浮肿 | |
375 | - }else if(edemad < edemaMaxd){ | |
376 | - edemaAnalysis.put("gzf", 2);//2浮肿 干燥正常 | |
377 | - }else if((edemad > edemaMind) && edemad < edemaMaxd){ | |
378 | - edemaAnalysis.put("gzf", 0);//0正常 浮肿干燥 | |
379 | - }else { | |
380 | - edemaAnalysis.put("gzf", null); | |
381 | - } | |
382 | - } | |
383 | - edemaAnalysis.put("icw", volumeComponentAnalysisModel.getIcw());//细胞内液 | |
384 | - edemaAnalysis.put("ecw", volumeComponentAnalysisModel.getEcw());//细胞外液 | |
385 | - data.add(edemaAnalysis); | |
298 | + //营养评估 | |
299 | + Map<String, Object> nutritionalAssessment = new HashMap<>(); | |
300 | + nutritionalAssessment.put("nutritionalBmr", volumeComponentAnalysisModel.getBmr());//基础代谢 | |
301 | + nutritionalAssessment.put("protein", range(DateUtil.getWeek2(patients.getLastMenses(), new Date()), | |
302 | + Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
303 | + Double.valueOf(volumeComponentAnalysisModel.getProtein()), | |
304 | + "dbz")); | |
305 | + nutritionalAssessment.put("fat", range(DateUtil.getWeek(patients.getLastMenses(), new Date()), | |
306 | + Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
307 | + Double.valueOf(volumeComponentAnalysisModel.getFat()), | |
308 | + "zf")); | |
309 | + nutritionalAssessment.put("wjy", range(DateUtil.getWeek(patients.getLastMenses(), new Date()), | |
310 | + Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
311 | + Double.valueOf(volumeComponentAnalysisModel.getBone()), | |
312 | + "wjy")); | |
313 | + data.add(nutritionalAssessment); | |
386 | 314 | |
387 | - //肥胖分析 | |
388 | - Map<String, Object> obesityAnalysis = new HashMap<>(); | |
389 | - if(bmi <18.5 ){ | |
390 | - obesityAnalysis.put("obesity", 1);//体重较轻1 | |
391 | - }else if(bmi > 18.5 && bmi < 24.9){ | |
392 | - obesityAnalysis.put("obesity", 2);//正常2 | |
393 | - }else if(bmi > 25 && bmi < 29.9){ | |
394 | - obesityAnalysis.put("obesity", 3);//超重3 | |
395 | - }else if(bmi >= 30){ | |
396 | - obesityAnalysis.put("obesity", 4);//肥胖4 | |
397 | - } | |
398 | - | |
399 | 315 | //节段分析 |
400 | 316 | Map<String, Object> limbsInfo = new HashMap<>(); |
401 | 317 | limbsInfo.put("limbsTrWater", volumeComponentAnalysisModel.getTrWater());//躯干水分 |
... | ... | @@ -409,23 +325,6 @@ |
409 | 325 | limbsInfo.put("limbsLlFat", volumeComponentAnalysisModel.getLlFat());//左下肢脂肪 |
410 | 326 | limbsInfo.put("limbsRlFat", volumeComponentAnalysisModel.getRlFat());//右下肢脂肪 |
411 | 327 | data.add(limbsInfo); |
412 | - | |
413 | - //营养评估 | |
414 | - Map<String, Object> nutritionalAssessment = new HashMap<>(); | |
415 | - nutritionalAssessment.put("nutritionalBmr", volumeComponentAnalysisModel.getBmr());//基础代谢 | |
416 | - nutritionalAssessment.put("protein", range(DateUtil.getWeek2(patients.getLastMenses(), new Date()),//孕周 | |
417 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()),//体重 | |
418 | - Double.valueOf(volumeComponentAnalysisModel.getProtein()),//蛋白质 | |
419 | - "dbz")); | |
420 | - nutritionalAssessment.put("fat", range(DateUtil.getWeek(patients.getLastMenses(), new Date()), | |
421 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
422 | - Double.valueOf(volumeComponentAnalysisModel.getFat()), | |
423 | - "zf")); | |
424 | - nutritionalAssessment.put("wjy", range(DateUtil.getWeek(patients.getLastMenses(), new Date()), | |
425 | - Double.valueOf(volumeComponentAnalysisModel.getWeight()), | |
426 | - Double.valueOf(volumeComponentAnalysisModel.getBone()), | |
427 | - "wjy")); | |
428 | - data.add(nutritionalAssessment); | |
429 | 328 | //第一页结束 |
430 | 329 | |
431 | 330 | //第二、三页开始 |
... | ... | @@ -434,9 +333,6 @@ |
434 | 333 | Double.valueOf(volumeComponentAnalysisModel.getWeight()), |
435 | 334 | Double.valueOf(volumeComponentAnalysisModel.getProtein()), |
436 | 335 | "zf"); |
437 | - obesityAnalysis.put("tzPerCent", tz);//体脂百分比 | |
438 | - data.add(obesityAnalysis); | |
439 | - | |
440 | 336 | //肌肉的计算规则 |
441 | 337 | String jr = range(DateUtil.getWeek(patients.getLastMenses(), new Date()), |
442 | 338 | Double.valueOf(volumeComponentAnalysisModel.getWeight()), |
... | ... | @@ -487,28 +383,6 @@ |
487 | 383 | } else if ("不足".equals(wjy)) { |
488 | 384 | evaluationType[1] = "6"; |
489 | 385 | } |
490 | - //体型判定2 star | |
491 | - if ("过量".equals(tz) && "低肌肉".equals(jr) && (bmi>18.5 && bmi<24.9)) { | |
492 | - somatotype.put("somatotype","1");//隐形肥胖型 | |
493 | - } else if ("过量".equals(tz) && "正常".equals(jr) && (bmi>18.5 && bmi<24.9)) { | |
494 | - somatotype.put("somatotype","2");//脂肪过多型 | |
495 | - }else if (bmi>=30) { | |
496 | - somatotype.put("somatotype","3");//肥胖型 | |
497 | - }else if ("正常".equals(tz) && "低肌肉".equals(jr) && (bmi>18.5 && bmi<24.9)) { | |
498 | - somatotype.put("somatotype","4");//肌肉不足型 | |
499 | - }else if ("正常".equals(tz) && "正常".equals(jr) && (bmi>18.5 && bmi<24.9)) { | |
500 | - somatotype.put("somatotype","5");//健康匀称型 | |
501 | - }else if ("正常".equals(tz) && "肌肉过量".equals(jr) && (bmi>25 && bmi<29.9)) { | |
502 | - somatotype.put("somatotype","6");//超重肌肉型 | |
503 | - }else if (bmi < 18.5) { | |
504 | - somatotype.put("somatotype","7");//消瘦型 | |
505 | - }else if ("不足".equals(tz) && "正常".equals(jr) && (bmi>18.5 && bmi<24.9)) { | |
506 | - somatotype.put("somatotype","8");//低脂肪型 | |
507 | - }else if ("不足".equals(tz) && "肌肉过量".equals(jr) && (bmi>18.5 && bmi<24.9)) { | |
508 | - somatotype.put("somatotype","9");//运动员型 | |
509 | - } | |
510 | - data.add(somatotype); | |
511 | - //体型判定2 end | |
512 | 386 | |
513 | 387 | Integer week = DateUtil.getWeek(patients.getLastMenses()); |
514 | 388 | //计算孕期 |
... | ... | @@ -534,8 +408,6 @@ |
534 | 408 | recipesInfo.put("dinner", bodyMassAnalysisModel.getDinner());//晚餐 |
535 | 409 | recipesInfo.put("dinnerAdd", bodyMassAnalysisModel.getDinnerAdd());//晚加餐 |
536 | 410 | data.add(recipesInfo); |
537 | - | |
538 | - | |
539 | 411 | } |
540 | 412 | BodyMassAnalysisModel bodyMassAnalysisModel2 = mongoTemplate.findOne( |
541 | 413 | Query.query(Criteria.where("type").is(type).and("kcal").is(k1).and("pregnancy").is(null)), |
... | ... | @@ -578,8 +450,6 @@ |
578 | 450 | } |
579 | 451 | data.add(recipeRulesInfo); |
580 | 452 | } |
581 | - | |
582 | - | |
583 | 453 | //第二、三页结束 |
584 | 454 | |
585 | 455 | return data; |