Commit b543548c5207fa1f75b9b91b553cc0f7d1972a6d
1 parent
dc87ee9909
Exists in
master
and in
6 other branches
体成分分析报告修改
Showing 1 changed file with 36 additions and 25 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java
View file @
b543548
... | ... | @@ -27,6 +27,8 @@ |
27 | 27 | import org.springframework.data.mongodb.core.query.Update; |
28 | 28 | import org.springframework.stereotype.Component; |
29 | 29 | |
30 | +import java.math.BigDecimal; | |
31 | +import java.math.RoundingMode; | |
30 | 32 | import java.text.ParseException; |
31 | 33 | import java.text.SimpleDateFormat; |
32 | 34 | import java.util.*; |
33 | 35 | |
... | ... | @@ -265,11 +267,11 @@ |
265 | 267 | componentInfo.put("lbm", volumeComponentAnalysisModel.getLbm());//瘦体重(去脂体重) |
266 | 268 | componentInfo.put("weight", volumeComponentAnalysisModel.getWeight());//体重 |
267 | 269 | componentInfo.put("protein", volumeComponentAnalysisModel.getProtein());//蛋白质 |
268 | - componentInfo.put("proteinMax", volumeComponentAnalysisModel.getProtein());//蛋白质正常范围的高值 | |
269 | - componentInfo.put("proteinMin", volumeComponentAnalysisModel.getProtein());//蛋白质正常范围的低值 | |
270 | + componentInfo.put("proteinMax", volumeComponentAnalysisModel.getProteinMax());//蛋白质正常范围的高值 | |
271 | + componentInfo.put("proteinMin", volumeComponentAnalysisModel.getProteinMin());//蛋白质正常范围的低值 | |
270 | 272 | componentInfo.put("bone", volumeComponentAnalysisModel.getBone());//骨质 |
271 | - componentInfo.put("boneMax", volumeComponentAnalysisModel.getBone());//骨质正常范围的高值 | |
272 | - componentInfo.put("boneMin", volumeComponentAnalysisModel.getBone());//骨质正常范围的低值 | |
273 | + componentInfo.put("boneMax", volumeComponentAnalysisModel.getBoneMax());//骨质正常范围的高值 | |
274 | + componentInfo.put("boneMin", volumeComponentAnalysisModel.getBoneMin());//骨质正常范围的低值 | |
273 | 275 | componentInfo.put("fat", volumeComponentAnalysisModel.getFat());//脂肪 |
274 | 276 | componentInfo.put("fatMax", volumeComponentAnalysisModel.getFatMax());//脂肪正常范围的高值 |
275 | 277 | componentInfo.put("fatMin", volumeComponentAnalysisModel.getFatMin());//脂肪正常范围的低值 |
276 | 278 | |
277 | 279 | |
... | ... | @@ -287,14 +289,14 @@ |
287 | 289 | basicInfo.put("basicMuscleMax", volumeComponentAnalysisModel.getMuscleMax());//肌肉正常范围的高值 |
288 | 290 | basicInfo.put("basicMuscleMin", volumeComponentAnalysisModel.getMuscleMin());//肌肉正常范围的低值 |
289 | 291 | basicInfo.put("basicPbf", volumeComponentAnalysisModel.getPbf());//体脂百分比 |
290 | - basicInfo.put("basicPbfMax", volumeComponentAnalysisModel.getPbf());//体脂率正常范围的高值 | |
291 | - basicInfo.put("basicPbfMin", volumeComponentAnalysisModel.getPbf());//体脂率正常范围的低值 | |
292 | + basicInfo.put("basicPbfMax", volumeComponentAnalysisModel.getPbfMax());//体脂率正常范围的高值 | |
293 | + basicInfo.put("basicPbfMin", volumeComponentAnalysisModel.getPbfMin());//体脂率正常范围的低值 | |
292 | 294 | basicInfo.put("basicBone", volumeComponentAnalysisModel.getBone());//骨质 |
293 | - basicInfo.put("basicBoneMax", volumeComponentAnalysisModel.getBone());//骨质正常范围的高值 | |
294 | - basicInfo.put("basicBoneMin", volumeComponentAnalysisModel.getBone());//骨质正常范围的低值 | |
295 | + basicInfo.put("basicBoneMax", volumeComponentAnalysisModel.getBoneMax());//骨质正常范围的高值 | |
296 | + basicInfo.put("basicBoneMin", volumeComponentAnalysisModel.getBoneMin());//骨质正常范围的低值 | |
295 | 297 | basicInfo.put("basicWater",volumeComponentAnalysisModel.getWater());//身体总水分 |
296 | 298 | basicInfo.put("basicWaterMax",volumeComponentAnalysisModel.getWaterMax());//身体总 水分正常范围的高值 |
297 | - basicInfo.put("basicWaterMin",volumeComponentAnalysisModel.getWaterMax());//身体总 水分正常范围的低值 | |
299 | + basicInfo.put("basicWaterMin",volumeComponentAnalysisModel.getWaterMin());//身体总 水分正常范围的低值 | |
298 | 300 | basicInfo.put("basicSmm", volumeComponentAnalysisModel.getSmm());//骨骼肌 |
299 | 301 | basicInfo.put("basicSmmMax", volumeComponentAnalysisModel.getSmmMax());//骨骼肌正常范围的高值 |
300 | 302 | basicInfo.put("basicSmmMin", volumeComponentAnalysisModel.getSmmMin());//骨骼肌正常范围的低值 |
... | ... | @@ -328,6 +330,7 @@ |
328 | 330 | double waterd = Double.parseDouble(water); |
329 | 331 | double weightd = Double.parseDouble(weight); |
330 | 332 | double moistureRate = weightd / waterd; |
333 | + moistureRate = new BigDecimal(moistureRate).setScale(2, RoundingMode.DOWN).doubleValue(); | |
331 | 334 | edemaAnalysis.put("moistureRate", moistureRate);//身体水分率 |
332 | 335 | } |
333 | 336 | edemaAnalysis.put("edema", volumeComponentAnalysisModel.getEdema());//水肿系数 |
334 | 337 | |
335 | 338 | |
336 | 339 | |
337 | 340 | |
338 | 341 | |
339 | 342 | |
340 | 343 | |
341 | 344 | |
... | ... | @@ -432,30 +435,30 @@ |
432 | 435 | k1 = 3300; |
433 | 436 | } |
434 | 437 | String type = null; |
435 | - String evaluationType = null; | |
438 | + String[] evaluationType = new String[2]; | |
436 | 439 | if ("不足".equals(tz) && "低肌肉".equals(jr)) {//低体脂低肌肉(3、体脂不足肌肉不足:) |
437 | 440 | type = "5"; |
438 | - evaluationType = "3"; | |
441 | + evaluationType[0] = "3"; | |
439 | 442 | } else if ("过量".equals(tz) && "低肌肉".equals(jr)) {//超体制底肌肉(4、体脂过量肌肉不足:) |
440 | 443 | type = "3"; |
441 | - evaluationType = "4"; | |
444 | + evaluationType[0] = "4"; | |
442 | 445 | } else if ("低肌肉".equals(jr)) {//低肌肉(5、肌肉不足:) |
443 | 446 | type = "2"; |
444 | - evaluationType = "5"; | |
447 | + evaluationType[0] = "5"; | |
445 | 448 | } else if ("不足".equals(tz)) {//低体脂(2、体脂不足:) |
446 | 449 | type = "4"; |
447 | - evaluationType = "2"; | |
450 | + evaluationType[0] = "2"; | |
448 | 451 | } else if ("过量".equals(tz)) {//超体制(1、体脂过量:) |
449 | 452 | type = "1"; |
450 | - evaluationType = "1"; | |
453 | + evaluationType[0] = "1"; | |
451 | 454 | } else {//正常 |
452 | 455 | type = "6"; |
453 | - evaluationType = "8"; | |
456 | + evaluationType[0] = "8"; | |
454 | 457 | } |
455 | 458 | if ("过量".equals(wjy)) { |
456 | - evaluationType = "7"; | |
459 | + evaluationType[1] = "7"; | |
457 | 460 | } else if ("不足".equals(wjy)) { |
458 | - evaluationType = "6"; | |
461 | + evaluationType[1] = "6"; | |
459 | 462 | } |
460 | 463 | //体型判定2 star |
461 | 464 | if ("过量".equals(tz) && "低肌肉".equals(jr) && (bmi>18.5 && bmi<24.9)) { |
462 | 465 | |
463 | 466 | |
464 | 467 | |
465 | 468 | |
... | ... | @@ -505,17 +508,25 @@ |
505 | 508 | recipesInfo.put("dinnerAdd", bodyMassAnalysisModel.getDinnerAdd());//晚加餐 |
506 | 509 | data.add(recipesInfo); |
507 | 510 | |
511 | + | |
512 | + } | |
513 | + BodyMassAnalysisModel bodyMassAnalysisModel2 = mongoTemplate.findOne( | |
514 | + Query.query(Criteria.where("type").is(type).and("kcal").is(k1).and("pregnancy").is(null)), | |
515 | + BodyMassAnalysisModel.class); | |
516 | + if(null != bodyMassAnalysisModel2){ | |
508 | 517 | //膳食结构 |
509 | 518 | Map<String, Object> dietInfo = new HashMap<>(); |
510 | 519 | if (week <= 12) { |
511 | - dietInfo.put("diet", bodyMassAnalysisModel.getEarlySuggests());//膳食 | |
520 | + dietInfo.put("diet", bodyMassAnalysisModel2.getEarlySuggests());//膳食 | |
512 | 521 | } else if (week >= 13 && week <= 28) { |
513 | - dietInfo.put("diet", bodyMassAnalysisModel.getMiddleSuggests()); | |
522 | + dietInfo.put("diet", bodyMassAnalysisModel2.getMiddleSuggests()); | |
514 | 523 | } else if (week >= 28 && week <= 40) { |
515 | - dietInfo.put("diet", bodyMassAnalysisModel.getLaterSuggests()); | |
524 | + dietInfo.put("diet", bodyMassAnalysisModel2.getLaterSuggests()); | |
516 | 525 | } |
517 | 526 | data.add(dietInfo); |
518 | 527 | } |
528 | + | |
529 | + | |
519 | 530 | BodyMassAnalysisModel nutrition = mongoTemplate.findOne(Query.query(Criteria.where("evaluationType").is(evaluationType)), BodyMassAnalysisModel.class); |
520 | 531 | if (null != nutrition) { |
521 | 532 | //人体成分营养评价 |
... | ... | @@ -552,7 +563,7 @@ |
552 | 563 | return "正常"; |
553 | 564 | } |
554 | 565 | } else if ("zf".equals(type)) {//脂肪 |
555 | - double b = weight * 21.4; | |
566 | + double b = weight * 0.214; | |
556 | 567 | double c = weight * 0.35; |
557 | 568 | if (value < b) { |
558 | 569 | return "不足";//体成分分析体型判定--体脂不足 |
... | ... | @@ -594,7 +605,7 @@ |
594 | 605 | return "正常"; |
595 | 606 | } |
596 | 607 | } else if ("zf".equals(type)) {//脂肪 |
597 | - double b = weight * 21.4; | |
608 | + double b = weight * 0.214; | |
598 | 609 | double c = weight * 0.35; |
599 | 610 | if (value < b) { |
600 | 611 | return "不足"; |
... | ... | @@ -625,8 +636,8 @@ |
625 | 636 | //孕晚期 |
626 | 637 | } else if (week >= 29 && week <= 40) {//蛋白质 |
627 | 638 | if ("dbz".equals(type)) { |
628 | - double b = weight * 15.78; | |
629 | - double c = weight * 19.2; | |
639 | + double b = weight * 0.1578; | |
640 | + double c = weight * 0.192; | |
630 | 641 | if (value < b) { |
631 | 642 | return "不足"; |
632 | 643 | } else { |