Commit b543548c5207fa1f75b9b91b553cc0f7d1972a6d

Authored by wtt
1 parent dc87ee9909

体成分分析报告修改

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 {