diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java index 34d19e3..6c95309 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VolumeComponentAnalysisFacade.java @@ -247,92 +247,40 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { //人体成分分析信息 Map componentInfo = new HashMap<>(); -// componentInfo.put("water", Double.valueOf(volumeComponentAnalysisModel.getIcw() + Double.valueOf(volumeComponentAnalysisModel.getEcw()))); - componentInfo.put("water",volumeComponentAnalysisModel.getWater());//身体总水分 - Map sfMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - "sf"); - componentInfo.put("waterMax",sfMap.get("max"));//身体总 水分正常范围的高值 - componentInfo.put("waterMin",sfMap.get("min"));//身体总 水分正常范围的低值 - componentInfo.put("icw", volumeComponentAnalysisModel.getIcw());//细胞内液 - Map xbnyMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - "xbny"); - componentInfo.put("icwMax", xbnyMap.get("max"));//细胞内液高值 - componentInfo.put("icwMin", xbnyMap.get("min"));//细胞内液低值 - componentInfo.put("ecw", volumeComponentAnalysisModel.getEcw());//细胞外液 - Map xbwyMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - "xbwy"); - componentInfo.put("ecwMax", xbwyMap.get("max"));//细胞外液高值 - componentInfo.put("ecwMin", xbwyMap.get("min"));//细胞外液低值 + componentInfo.put("protein", volumeComponentAnalysisModel.getProtein());//蛋白质 + componentInfo.put("proteinMax", volumeComponentAnalysisModel.getProteinMax());//蛋白质正常范围的高值 + componentInfo.put("proteinMin", volumeComponentAnalysisModel.getProteinMin());//蛋白质正常范围的低值 componentInfo.put("muscle", volumeComponentAnalysisModel.getMuscle());//肌肉 - Map jrMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - "jr"); - componentInfo.put("muscleMax", jrMap.get("max"));//肌肉正常范围的高值 - componentInfo.put("muscleMin", jrMap.get("min"));//肌肉正常范围的低值 componentInfo.put("lbm", volumeComponentAnalysisModel.getLbm());//瘦体重(去脂体重) componentInfo.put("weight", volumeComponentAnalysisModel.getWeight());//体重 - componentInfo.put("protein", volumeComponentAnalysisModel.getProtein());//蛋白质 - Map dbzMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - "dbz"); - componentInfo.put("proteinMax", dbzMap.get("max"));//蛋白质正常范围的高值 - componentInfo.put("proteinMin", dbzMap.get("min"));//蛋白质正常范围的低值 componentInfo.put("bone", volumeComponentAnalysisModel.getBone());//骨质 - componentInfo.put("boneMax", "2.5");//骨质正常范围的高值 - componentInfo.put("boneMin", "3.5");//骨质正常范围的低值 + componentInfo.put("boneMax", volumeComponentAnalysisModel.getBoneMax());//骨质正常范围的高值 + componentInfo.put("boneMin", volumeComponentAnalysisModel.getBoneMin());//骨质正常范围的低值 componentInfo.put("fat", volumeComponentAnalysisModel.getFat());//脂肪 - Map zfMap = rangeMap(DateUtil.getWeek2(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - "zf"); - componentInfo.put("fatMax", zfMap.get("max"));//脂肪正常范围的高值 - componentInfo.put("fatMin", zfMap.get("min"));//脂肪正常范围的低值 + componentInfo.put("fatMax", volumeComponentAnalysisModel.getFatMax());//脂肪正常范围的高值 + componentInfo.put("fatMin", volumeComponentAnalysisModel.getFatMin());//脂肪正常范围的低值 data.add(componentInfo); - //体型判定(体型判定2赋值) - Map somatotype = new HashMap<>(); //基本评估 Map basicInfo = new HashMap<>(); basicInfo.put("basicWeight", volumeComponentAnalysisModel.getWeight());//体重 - Map tzMap = rangeMaptz( DateUtil.getWeek2(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getBeforeWeight()), bmi, volumeComponentAnalysisModel.getBregmatic()); - basicInfo.put("basicWeightMax", tzMap.get("max"));//体重正常范围的高值 - basicInfo.put("basicWeightMin", tzMap.get("min"));//体重正常范围的低值 + basicInfo.put("basicWeightMax", volumeComponentAnalysisModel.getWeightMax());//体重正常范围的高值 + basicInfo.put("basicWeightMin", volumeComponentAnalysisModel.getWeightMin());//体重正常范围的低值 basicInfo.put("basicMuscle", volumeComponentAnalysisModel.getMuscle());//肌肉 - basicInfo.put("basicMuscleMax", jrMap.get("max"));//肌肉正常范围的高值 - basicInfo.put("basicMuscleMin", jrMap.get("min"));//肌肉正常范围的低值 + basicInfo.put("basicMuscleMax", volumeComponentAnalysisModel.getMuscleMax());//肌肉正常范围的高值 + basicInfo.put("basicMuscleMin", volumeComponentAnalysisModel.getMuscleMin());//肌肉正常范围的低值 basicInfo.put("basicPbf", volumeComponentAnalysisModel.getPbf());//体脂百分比 - basicInfo.put("basicPbfMax", zfMap.get("max"));//体脂率正常范围的高值 - basicInfo.put("basicPbfMin", zfMap.get("min"));//体脂率正常范围的低值 + basicInfo.put("basicPbfMax", volumeComponentAnalysisModel.getPbfMax());//体脂率正常范围的高值 + basicInfo.put("basicPbfMin", volumeComponentAnalysisModel.getPbfMin());//体脂率正常范围的低值 basicInfo.put("basicBone", volumeComponentAnalysisModel.getBone());//骨质 - basicInfo.put("basicBoneMax", "3.5");//骨质正常范围的高值 - basicInfo.put("basicBoneMin", "2.5");//骨质正常范围的低值 - basicInfo.put("basicWater",volumeComponentAnalysisModel.getWater());//身体总水分 - - basicInfo.put("basicWaterMax",sfMap.get("max"));//身体总 水分正常范围的高值 - basicInfo.put("basicWaterMin",sfMap.get("min"));//身体总 水分正常范围的低值 + basicInfo.put("basicBoneMax", volumeComponentAnalysisModel.getBoneMax());//骨质正常范围的高值 + basicInfo.put("basicBoneMin", volumeComponentAnalysisModel.getBoneMin());//骨质正常范围的低值 basicInfo.put("basicSmm", volumeComponentAnalysisModel.getSmm());//骨骼肌 basicInfo.put("basicSmmMax", volumeComponentAnalysisModel.getSmmMax());//骨骼肌正常范围的高值 basicInfo.put("basicSmmMin", volumeComponentAnalysisModel.getSmmMin());//骨骼肌正常范围的低值 - basicInfo.put("basicBmi", volumeComponentAnalysisModel.getBmi());//体质指数 - basicInfo.put("basicBmiMax", volumeComponentAnalysisModel.getBmiMax());//体质指数正常范围的高值 - basicInfo.put("basicBmiMin", volumeComponentAnalysisModel.getBmiMin());//体质指数正常范围的低值 -// basicInfo.put("basicWhr", volumeComponentAnalysisModel.getWhr());//腰臀比(2位小数) 泉渝说郝总说不用做 -// basicInfo.put("basicWhrMax", volumeComponentAnalysisModel.getWhrMax());//腰臀比正常范围的高值 -// basicInfo.put("basicWhrMin", volumeComponentAnalysisModel.getWhrMin());//腰臀比正常范围的低值 data.add(basicInfo); - //体重管理 - Map weightManagement = new HashMap<>(); - weightManagement.put("standardWeight",volumeComponentAnalysisModel.getStandardWeight());//标准体重 - weightManagement.put("weightControl",volumeComponentAnalysisModel.getWeightControl());//体重控制 - weightManagement.put("fatControl",volumeComponentAnalysisModel.getFatControl());//脂肪控制量 - weightManagement.put("muscleControl",volumeComponentAnalysisModel.getMuscleControl());//肌肉控制量 - data.add(weightManagement); - //内脏脂肪分析 Map viscusInfo = new HashMap<>(); viscusInfo.put("viscusTrFat", volumeComponentAnalysisModel.getTrFat());//躯干脂肪量 总量 @@ -347,54 +295,22 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { viscusInfo.put("viscusTrFatNumber", v);//内脏脂肪指数 data.add(viscusInfo); - //水肿分析 - Map edemaAnalysis = new HashMap<>(); - if(!StringUtils.isEmpty(volumeComponentAnalysisModel.getWater()) && !StringUtils.isEmpty(volumeComponentAnalysisModel.getWeight()) ){ - String water = volumeComponentAnalysisModel.getWater();//水分 - String weight = volumeComponentAnalysisModel.getWeight();//体重 - double waterd = Double.parseDouble(water); - double weightd = Double.parseDouble(weight); - double moistureRate = weightd / waterd; - moistureRate = new BigDecimal(moistureRate).setScale(2, RoundingMode.DOWN).doubleValue(); - edemaAnalysis.put("moistureRate", moistureRate);//身体水分率 - } - edemaAnalysis.put("edema", volumeComponentAnalysisModel.getEdema());//水肿系数 - edemaAnalysis.put("edemaMax", volumeComponentAnalysisModel.getEdemaMax());//水肿系数正常范围的高值 - edemaAnalysis.put("edemaMin", volumeComponentAnalysisModel.getEdemaMin());//水肿系数正常范围的低值 - if(!StringUtils.isEmpty(volumeComponentAnalysisModel.getEdema()) - && !StringUtils.isEmpty(volumeComponentAnalysisModel.getEdemaMax()) - && !StringUtils.isEmpty(volumeComponentAnalysisModel.getEdemaMin()) ){ - String edema = volumeComponentAnalysisModel.getEdema(); - double edemad = Double.parseDouble(edema); - String edemaMax = volumeComponentAnalysisModel.getEdemaMax(); - double edemaMaxd = Double.parseDouble(edemaMax); - String edemaMin = volumeComponentAnalysisModel.getEdemaMin(); - double edemaMind = Double.parseDouble(edemaMin); - if(edemad < edemaMind){ - edemaAnalysis.put("gzf", 1);//1干燥 正常浮肿 - }else if(edemad < edemaMaxd){ - edemaAnalysis.put("gzf", 2);//2浮肿 干燥正常 - }else if((edemad > edemaMind) && edemad < edemaMaxd){ - edemaAnalysis.put("gzf", 0);//0正常 浮肿干燥 - }else { - edemaAnalysis.put("gzf", null); - } - } - edemaAnalysis.put("icw", volumeComponentAnalysisModel.getIcw());//细胞内液 - edemaAnalysis.put("ecw", volumeComponentAnalysisModel.getEcw());//细胞外液 - data.add(edemaAnalysis); - - //肥胖分析 - Map obesityAnalysis = new HashMap<>(); - if(bmi <18.5 ){ - obesityAnalysis.put("obesity", 1);//体重较轻1 - }else if(bmi > 18.5 && bmi < 24.9){ - obesityAnalysis.put("obesity", 2);//正常2 - }else if(bmi > 25 && bmi < 29.9){ - obesityAnalysis.put("obesity", 3);//超重3 - }else if(bmi >= 30){ - obesityAnalysis.put("obesity", 4);//肥胖4 - } + //营养评估 + Map nutritionalAssessment = new HashMap<>(); + nutritionalAssessment.put("nutritionalBmr", volumeComponentAnalysisModel.getBmr());//基础代谢 + nutritionalAssessment.put("protein", range(DateUtil.getWeek2(patients.getLastMenses(), new Date()), + Double.valueOf(volumeComponentAnalysisModel.getWeight()), + Double.valueOf(volumeComponentAnalysisModel.getProtein()), + "dbz")); + nutritionalAssessment.put("fat", range(DateUtil.getWeek(patients.getLastMenses(), new Date()), + Double.valueOf(volumeComponentAnalysisModel.getWeight()), + Double.valueOf(volumeComponentAnalysisModel.getFat()), + "zf")); + nutritionalAssessment.put("wjy", range(DateUtil.getWeek(patients.getLastMenses(), new Date()), + Double.valueOf(volumeComponentAnalysisModel.getWeight()), + Double.valueOf(volumeComponentAnalysisModel.getBone()), + "wjy")); + data.add(nutritionalAssessment); //节段分析 Map limbsInfo = new HashMap<>(); @@ -409,23 +325,6 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { limbsInfo.put("limbsLlFat", volumeComponentAnalysisModel.getLlFat());//左下肢脂肪 limbsInfo.put("limbsRlFat", volumeComponentAnalysisModel.getRlFat());//右下肢脂肪 data.add(limbsInfo); - - //营养评估 - Map nutritionalAssessment = new HashMap<>(); - nutritionalAssessment.put("nutritionalBmr", volumeComponentAnalysisModel.getBmr());//基础代谢 - nutritionalAssessment.put("protein", range(DateUtil.getWeek2(patients.getLastMenses(), new Date()),//孕周 - Double.valueOf(volumeComponentAnalysisModel.getWeight()),//体重 - Double.valueOf(volumeComponentAnalysisModel.getProtein()),//蛋白质 - "dbz")); - nutritionalAssessment.put("fat", range(DateUtil.getWeek(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - Double.valueOf(volumeComponentAnalysisModel.getFat()), - "zf")); - nutritionalAssessment.put("wjy", range(DateUtil.getWeek(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - Double.valueOf(volumeComponentAnalysisModel.getBone()), - "wjy")); - data.add(nutritionalAssessment); //第一页结束 //第二、三页开始 @@ -434,9 +333,6 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { Double.valueOf(volumeComponentAnalysisModel.getWeight()), Double.valueOf(volumeComponentAnalysisModel.getProtein()), "zf"); - obesityAnalysis.put("tzPerCent", tz);//体脂百分比 - data.add(obesityAnalysis); - //肌肉的计算规则 String jr = range(DateUtil.getWeek(patients.getLastMenses(), new Date()), Double.valueOf(volumeComponentAnalysisModel.getWeight()), @@ -487,28 +383,6 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { } else if ("不足".equals(wjy)) { evaluationType[1] = "6"; } - //体型判定2 star - if ("过量".equals(tz) && "低肌肉".equals(jr) && (bmi>18.5 && bmi<24.9)) { - somatotype.put("somatotype","1");//隐形肥胖型 - } else if ("过量".equals(tz) && "正常".equals(jr) && (bmi>18.5 && bmi<24.9)) { - somatotype.put("somatotype","2");//脂肪过多型 - }else if (bmi>=30) { - somatotype.put("somatotype","3");//肥胖型 - }else if ("正常".equals(tz) && "低肌肉".equals(jr) && (bmi>18.5 && bmi<24.9)) { - somatotype.put("somatotype","4");//肌肉不足型 - }else if ("正常".equals(tz) && "正常".equals(jr) && (bmi>18.5 && bmi<24.9)) { - somatotype.put("somatotype","5");//健康匀称型 - }else if ("正常".equals(tz) && "肌肉过量".equals(jr) && (bmi>25 && bmi<29.9)) { - somatotype.put("somatotype","6");//超重肌肉型 - }else if (bmi < 18.5) { - somatotype.put("somatotype","7");//消瘦型 - }else if ("不足".equals(tz) && "正常".equals(jr) && (bmi>18.5 && bmi<24.9)) { - somatotype.put("somatotype","8");//低脂肪型 - }else if ("不足".equals(tz) && "肌肉过量".equals(jr) && (bmi>18.5 && bmi<24.9)) { - somatotype.put("somatotype","9");//运动员型 - } - data.add(somatotype); - //体型判定2 end Integer week = DateUtil.getWeek(patients.getLastMenses()); //计算孕期 @@ -534,8 +408,6 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { recipesInfo.put("dinner", bodyMassAnalysisModel.getDinner());//晚餐 recipesInfo.put("dinnerAdd", bodyMassAnalysisModel.getDinnerAdd());//晚加餐 data.add(recipesInfo); - - } BodyMassAnalysisModel bodyMassAnalysisModel2 = mongoTemplate.findOne( Query.query(Criteria.where("type").is(type).and("kcal").is(k1).and("pregnancy").is(null)), @@ -578,8 +450,6 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { } data.add(recipeRulesInfo); } - - //第二、三页结束 return data;