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