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 { |