From 996ea858840e27e8c80fc26ae2d346438d55d20b Mon Sep 17 00:00:00 2001 From: wtt <1872109740@qq.com> Date: Fri, 14 Feb 2020 10:35:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=93=E6=88=90=E5=88=86=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=8Cadd=E4=BD=93=E6=88=90=E5=88=86?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/HealthChargeFacade.java | 2 +- .../web/facade/VolumeComponentAnalysisFacade.java | 459 +++++++++++---------- .../resources/spring/applicationContext-quartz.xml | 8 +- 3 files changed, 239 insertions(+), 230 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java index 7406f31..1c9516a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java @@ -57,7 +57,7 @@ public class HealthChargeFacade { * 新增字段:报表解读人 孕妇/儿童 * * @param hospitalId 医院id - * @param healthType 打印类型 1体重 2 血糖 3 血压 4妊高症 4-儿童膳食 + * @param healthType 打印类型 1体重 2 血糖 3 血压 4妊高症 4-儿童膳食 6体成分分析 * @param foreignId 档案id (院内建档或者临时档案id)孕妇/儿童 * @param type 打印报告类别 1普通报告 2高危报告(暂时不用) * @param source 档案来源类型 1院内建档 2零时建档 (暂时不用) 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 fe03c44..25228c2 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 @@ -51,6 +51,9 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { @Autowired private PatientWeightService patientWeightService; + @Autowired + private HealthChargeFacade healthChargeFacade; + public BaseObjectResponse addComponentAnalysis(VolumeComponentAnalysisModel volume) { //20200204 李泉渝 @涛涛 同一天多次测量就是修改 VolumeComponentAnalysisModel vc= mongoTemplate.findOne(Query.query(Criteria.where("patientId").is(volume.getPatientId()) @@ -188,7 +191,7 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { if (volumeComponentAnalysisModel != null) { Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(volumeComponentAnalysisModel.getPatientId()).and("yn").is(YnEnums.YES.getId()).and("hospitalId").is(hospitalId)), Patients.class); if (patients != null) { - data = setData(patients, volumeComponentAnalysisModel); + data = setData(patients, volumeComponentAnalysisModel,userId); } } BaseObjectResponse objectResponse = new BaseObjectResponse(); @@ -216,242 +219,248 @@ public class VolumeComponentAnalysisFacade extends BaseServiceImpl { } */ - public List> setData(Patients patients, VolumeComponentAnalysisModel volumeComponentAnalysisModel) { - - //第一页开始 - List> data = new ArrayList<>(); - //用户基本信息 - Map userMap = new HashMap<>(); - userMap.put("username", patients.getUsername()); - userMap.put("age", patients.getAge()); - userMap.put("height", volumeComponentAnalysisModel.getHeight()); - userMap.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), new Date()));//孕周 - //获取bmi值 - double bmi = Double.valueOf(patientWeightService.getBmi( - volumeComponentAnalysisModel.getBeforeWeight(),//孕前体重 - volumeComponentAnalysisModel.getHeight()));//当前身高^ - //计算热量值 - Map kmap = computeKulServiceManager.getComputeKulByRisk("").getComputeKul( - Double.parseDouble(volumeComponentAnalysisModel.getBeforeWeight()),//孕前体重 - Double.parseDouble(volumeComponentAnalysisModel.getWeight()),//当前体重 - DateUtil.getWeek(patients.getLastMenses(), new Date()),//孕周 - bmi,//bmi - "1",//1单胎 - volumeComponentAnalysisModel.getHeight(),//孕前身高(当前身高^) - "0");//默认0 - userMap.put("kacl", kmap.get("kulStart"));//能量值 - userMap.put("bmi",volumeComponentAnalysisModel.getBmi());//bmi值 - userMap.put("yqWeight", volumeComponentAnalysisModel.getBeforeWeight());//孕前体重 - userMap.put("currentWeight", volumeComponentAnalysisModel.getWeight());//当前体重 - data.add(userMap); - - //人体成分分析信息 - Map componentInfo = new HashMap<>(); - componentInfo.put("protein", volumeComponentAnalysisModel.getProtein());//蛋白质 - componentInfo.put("proteinMax", volumeComponentAnalysisModel.getProteinMax());//蛋白质正常范围的高值 - componentInfo.put("proteinMin", volumeComponentAnalysisModel.getProteinMin());//蛋白质正常范围的低值 - componentInfo.put("muscle", volumeComponentAnalysisModel.getMuscle());//肌肉 - componentInfo.put("lbm", volumeComponentAnalysisModel.getLbm());//瘦体重(去脂体重) - componentInfo.put("weight", volumeComponentAnalysisModel.getWeight());//体重 - componentInfo.put("bone", volumeComponentAnalysisModel.getBone());//骨质 - componentInfo.put("boneMax", volumeComponentAnalysisModel.getBoneMax());//骨质正常范围的高值 - componentInfo.put("boneMin", volumeComponentAnalysisModel.getBoneMin());//骨质正常范围的低值 - componentInfo.put("fat", volumeComponentAnalysisModel.getFat());//脂肪 - componentInfo.put("fatMax", volumeComponentAnalysisModel.getFatMax());//脂肪正常范围的高值 - componentInfo.put("fatMin", volumeComponentAnalysisModel.getFatMin());//脂肪正常范围的低值 - data.add(componentInfo); - - - //基本评估 - Map basicInfo = new HashMap<>(); - basicInfo.put("basicWeight", volumeComponentAnalysisModel.getWeight());//体重 - basicInfo.put("basicWeightMax", volumeComponentAnalysisModel.getWeightMax());//体重正常范围的高值 - basicInfo.put("basicWeightMin", volumeComponentAnalysisModel.getWeightMin());//体重正常范围的低值 - basicInfo.put("basicMuscle", volumeComponentAnalysisModel.getMuscle());//肌肉 - basicInfo.put("basicMuscleMax", volumeComponentAnalysisModel.getMuscleMax());//肌肉正常范围的高值 - basicInfo.put("basicMuscleMin", volumeComponentAnalysisModel.getMuscleMin());//肌肉正常范围的低值 - basicInfo.put("basicPbf", volumeComponentAnalysisModel.getPbf());//体脂百分比 - basicInfo.put("basicPbfMax", volumeComponentAnalysisModel.getPbfMax());//体脂率正常范围的高值 - basicInfo.put("basicPbfMin", volumeComponentAnalysisModel.getPbfMin());//体脂率正常范围的低值 - basicInfo.put("basicBone", volumeComponentAnalysisModel.getBone());//骨质 - 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());//骨骼肌正常范围的低值 - data.add(basicInfo); - - //内脏脂肪分析 - Map viscusInfo = new HashMap<>(); - viscusInfo.put("viscusTrFat", volumeComponentAnalysisModel.getTrFat());//躯干脂肪量 总量 - double v = Double.parseDouble(volumeComponentAnalysisModel.getVfi()); - if(v < 9){ - viscusInfo.put("viscusVfi",0 );//内脏脂肪指数 0正常 1超标 2 高 - }else if(v >10 && v<14){ - viscusInfo.put("viscusVfi",1 ); - }else if(v >15){ - viscusInfo.put("viscusVfi",2 ); - } - viscusInfo.put("viscusTrFatNumber", v);//内脏脂肪指数 - data.add(viscusInfo); - - //营养评估 - 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<>(); - limbsInfo.put("limbsTrWater", volumeComponentAnalysisModel.getTrWater());//躯干水分 - limbsInfo.put("limbsLaWater", volumeComponentAnalysisModel.getLaWater());//左上肢水分 - limbsInfo.put("limbsRaWater", volumeComponentAnalysisModel.getRaWater());//右上肢水分 - limbsInfo.put("limbsLlWater", volumeComponentAnalysisModel.getLlWater());//左下肢水分 - limbsInfo.put("limbsRlWater", volumeComponentAnalysisModel.getRlWater());//右下肢水分 - limbsInfo.put("limbsTrFat", volumeComponentAnalysisModel.getTrFat());//躯干脂肪 - limbsInfo.put("limbsLaFat", volumeComponentAnalysisModel.getLaFat());//左上肢脂肪 - limbsInfo.put("limbsRaFat", volumeComponentAnalysisModel.getRaFat());//右上肢脂肪 - limbsInfo.put("limbsLlFat", volumeComponentAnalysisModel.getLlFat());//左下肢脂肪 - limbsInfo.put("limbsRlFat", volumeComponentAnalysisModel.getRlFat());//右下肢脂肪 - data.add(limbsInfo); - //第一页结束 - - //第二、三页开始 - //获取体质 - String tz = range(DateUtil.getWeek(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - Double.valueOf(volumeComponentAnalysisModel.getProtein()), - "zf"); - //肌肉的计算规则 - String jr = range(DateUtil.getWeek(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - Double.valueOf(volumeComponentAnalysisModel.getProtein()), - "jr"); - //无机盐 - String wjy = range(DateUtil.getWeek(patients.getLastMenses(), new Date()), - Double.valueOf(volumeComponentAnalysisModel.getWeight()), - Double.valueOf(volumeComponentAnalysisModel.getBone()), - "wjy"); - - double kulStart = Double.valueOf(kmap.get("kulStart")); - System.out.println("kulStart: "+kulStart); - int k1 = ((int) kulStart / 100) * 100; - double k2 = kulStart - k1; - if (k2 > 50) { - k1 += 100; - } + public List> setData(Patients patients, VolumeComponentAnalysisModel volumeComponentAnalysisModel,Integer userId) { + List> data = null; + try { + //第一页开始 + data = new ArrayList<>(); + //用户基本信息 + Map userMap = new HashMap<>(); + userMap.put("username", patients.getUsername()); + userMap.put("age", patients.getAge()); + userMap.put("height", volumeComponentAnalysisModel.getHeight()); + userMap.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), new Date()));//孕周 + //获取bmi值 + double bmi = Double.valueOf(patientWeightService.getBmi( + volumeComponentAnalysisModel.getBeforeWeight(),//孕前体重 + volumeComponentAnalysisModel.getHeight()));//当前身高^ + //计算热量值 + Map kmap = computeKulServiceManager.getComputeKulByRisk("").getComputeKul( + Double.parseDouble(volumeComponentAnalysisModel.getBeforeWeight()),//孕前体重 + Double.parseDouble(volumeComponentAnalysisModel.getWeight()),//当前体重 + DateUtil.getWeek(patients.getLastMenses(), new Date()),//孕周 + bmi,//bmi + "1",//1单胎 + volumeComponentAnalysisModel.getHeight(),//孕前身高(当前身高^) + "0");//默认0 + userMap.put("kacl", kmap.get("kulStart"));//能量值 + userMap.put("bmi",volumeComponentAnalysisModel.getBmi());//bmi值 + userMap.put("yqWeight", volumeComponentAnalysisModel.getBeforeWeight());//孕前体重 + userMap.put("currentWeight", volumeComponentAnalysisModel.getWeight());//当前体重 + data.add(userMap); + + //人体成分分析信息 + Map componentInfo = new HashMap<>(); + componentInfo.put("protein", volumeComponentAnalysisModel.getProtein());//蛋白质 + componentInfo.put("proteinMax", volumeComponentAnalysisModel.getProteinMax());//蛋白质正常范围的高值 + componentInfo.put("proteinMin", volumeComponentAnalysisModel.getProteinMin());//蛋白质正常范围的低值 + componentInfo.put("muscle", volumeComponentAnalysisModel.getMuscle());//肌肉 + componentInfo.put("lbm", volumeComponentAnalysisModel.getLbm());//瘦体重(去脂体重) + componentInfo.put("weight", volumeComponentAnalysisModel.getWeight());//体重 + componentInfo.put("bone", volumeComponentAnalysisModel.getBone());//骨质 + componentInfo.put("boneMax", volumeComponentAnalysisModel.getBoneMax());//骨质正常范围的高值 + componentInfo.put("boneMin", volumeComponentAnalysisModel.getBoneMin());//骨质正常范围的低值 + componentInfo.put("fat", volumeComponentAnalysisModel.getFat());//脂肪 + componentInfo.put("fatMax", volumeComponentAnalysisModel.getFatMax());//脂肪正常范围的高值 + componentInfo.put("fatMin", volumeComponentAnalysisModel.getFatMin());//脂肪正常范围的低值 + data.add(componentInfo); + + + //基本评估 + Map basicInfo = new HashMap<>(); + basicInfo.put("basicWeight", volumeComponentAnalysisModel.getWeight());//体重 + basicInfo.put("basicWeightMax", volumeComponentAnalysisModel.getWeightMax());//体重正常范围的高值 + basicInfo.put("basicWeightMin", volumeComponentAnalysisModel.getWeightMin());//体重正常范围的低值 + basicInfo.put("basicMuscle", volumeComponentAnalysisModel.getMuscle());//肌肉 + basicInfo.put("basicMuscleMax", volumeComponentAnalysisModel.getMuscleMax());//肌肉正常范围的高值 + basicInfo.put("basicMuscleMin", volumeComponentAnalysisModel.getMuscleMin());//肌肉正常范围的低值 + basicInfo.put("basicPbf", volumeComponentAnalysisModel.getPbf());//体脂百分比 + basicInfo.put("basicPbfMax", volumeComponentAnalysisModel.getPbfMax());//体脂率正常范围的高值 + basicInfo.put("basicPbfMin", volumeComponentAnalysisModel.getPbfMin());//体脂率正常范围的低值 + basicInfo.put("basicBone", volumeComponentAnalysisModel.getBone());//骨质 + 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());//骨骼肌正常范围的低值 + data.add(basicInfo); + + //内脏脂肪分析 + Map viscusInfo = new HashMap<>(); + viscusInfo.put("viscusTrFat", volumeComponentAnalysisModel.getTrFat());//躯干脂肪量 总量 + double v = Double.parseDouble(volumeComponentAnalysisModel.getVfi()); + if(v < 9){ + viscusInfo.put("viscusVfi",0 );//内脏脂肪指数 0正常 1超标 2 高 + }else if(v >10 && v<14){ + viscusInfo.put("viscusVfi",1 ); + }else if(v >15){ + viscusInfo.put("viscusVfi",2 ); + } + viscusInfo.put("viscusTrFatNumber", v);//内脏脂肪指数 + data.add(viscusInfo); + + //营养评估 + 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<>(); + limbsInfo.put("limbsTrWater", volumeComponentAnalysisModel.getTrWater());//躯干水分 + limbsInfo.put("limbsLaWater", volumeComponentAnalysisModel.getLaWater());//左上肢水分 + limbsInfo.put("limbsRaWater", volumeComponentAnalysisModel.getRaWater());//右上肢水分 + limbsInfo.put("limbsLlWater", volumeComponentAnalysisModel.getLlWater());//左下肢水分 + limbsInfo.put("limbsRlWater", volumeComponentAnalysisModel.getRlWater());//右下肢水分 + limbsInfo.put("limbsTrFat", volumeComponentAnalysisModel.getTrFat());//躯干脂肪 + limbsInfo.put("limbsLaFat", volumeComponentAnalysisModel.getLaFat());//左上肢脂肪 + limbsInfo.put("limbsRaFat", volumeComponentAnalysisModel.getRaFat());//右上肢脂肪 + limbsInfo.put("limbsLlFat", volumeComponentAnalysisModel.getLlFat());//左下肢脂肪 + limbsInfo.put("limbsRlFat", volumeComponentAnalysisModel.getRlFat());//右下肢脂肪 + data.add(limbsInfo); + //第一页结束 + + //第二、三页开始 + //获取体质 + String tz = range(DateUtil.getWeek(patients.getLastMenses(), new Date()), + Double.valueOf(volumeComponentAnalysisModel.getWeight()), + Double.valueOf(volumeComponentAnalysisModel.getProtein()), + "zf"); + //肌肉的计算规则 + String jr = range(DateUtil.getWeek(patients.getLastMenses(), new Date()), + Double.valueOf(volumeComponentAnalysisModel.getWeight()), + Double.valueOf(volumeComponentAnalysisModel.getProtein()), + "jr"); + //无机盐 + String wjy = range(DateUtil.getWeek(patients.getLastMenses(), new Date()), + Double.valueOf(volumeComponentAnalysisModel.getWeight()), + Double.valueOf(volumeComponentAnalysisModel.getBone()), + "wjy"); + + double kulStart = Double.valueOf(kmap.get("kulStart")); + System.out.println("kulStart: "+kulStart); + int k1 = ((int) kulStart / 100) * 100; + double k2 = kulStart - k1; + if (k2 > 50) { + k1 += 100; + } - if (k1 < 1100) { - k1 = 1100; - } else if (k1 > 3000) { - k1 = 3000; - } - String type = null; - String[] evaluationType = new String[2]; - if ("不足".equals(tz) && "低肌肉".equals(jr)) {//低体脂低肌肉(3、体脂不足肌肉不足:) - type = "5"; - evaluationType[0] = "3"; - } else if ("过量".equals(tz) && "低肌肉".equals(jr)) {//超体制底肌肉(4、体脂过量肌肉不足:) - type = "3"; - evaluationType[0] = "4"; - } else if ("低肌肉".equals(jr)) {//低肌肉(5、肌肉不足:) - type = "2"; - evaluationType[0] = "5"; - } else if ("不足".equals(tz)) {//低体脂(2、体脂不足:) - type = "4"; - evaluationType[0] = "2"; - } else if ("过量".equals(tz)) {//超体制(1、体脂过量:) - type = "1"; - evaluationType[0] = "1"; - } else {//正常 - type = "6"; - evaluationType[0] = "8"; - } - if ("过量".equals(wjy)) { - evaluationType[1] = "7"; - } else if ("不足".equals(wjy)) { - evaluationType[1] = "6"; - } + if (k1 < 1100) { + k1 = 1100; + } else if (k1 > 3000) { + k1 = 3000; + } + String type = null; + String[] evaluationType = new String[2]; + if ("不足".equals(tz) && "低肌肉".equals(jr)) {//低体脂低肌肉(3、体脂不足肌肉不足:) + type = "5"; + evaluationType[0] = "3"; + } else if ("过量".equals(tz) && "低肌肉".equals(jr)) {//超体制底肌肉(4、体脂过量肌肉不足:) + type = "3"; + evaluationType[0] = "4"; + } else if ("低肌肉".equals(jr)) {//低肌肉(5、肌肉不足:) + type = "2"; + evaluationType[0] = "5"; + } else if ("不足".equals(tz)) {//低体脂(2、体脂不足:) + type = "4"; + evaluationType[0] = "2"; + } else if ("过量".equals(tz)) {//超体制(1、体脂过量:) + type = "1"; + evaluationType[0] = "1"; + } else {//正常 + type = "6"; + evaluationType[0] = "8"; + } + if ("过量".equals(wjy)) { + evaluationType[1] = "7"; + } else if ("不足".equals(wjy)) { + evaluationType[1] = "6"; + } - Integer week = DateUtil.getWeek(patients.getLastMenses()); - //计算孕期 - Integer pregnancy=0; - if (week <= 12) { - pregnancy = 0; - } else if (week >= 13 && week <= 28) { - pregnancy = 1; - } else if (week >= 28 && week <= 40) { - pregnancy = 2; - } - //报告内容 - BodyMassAnalysisModel bodyMassAnalysisModel = mongoTemplate.findOne( - Query.query(Criteria.where("type").is(type).and("kcal").is(k1).and("pregnancy").is(pregnancy)), - BodyMassAnalysisModel.class); - //列举食谱 - if (null != bodyMassAnalysisModel) { - Map recipesInfo = new HashMap<>(); - recipesInfo.put("breakfast", bodyMassAnalysisModel.getBreakfast());//早餐 - recipesInfo.put("breakfastAdd", bodyMassAnalysisModel.getBreakfastAdd());//上午加餐 - recipesInfo.put("lunch", bodyMassAnalysisModel.getLunch());//午餐 - recipesInfo.put("lunchAdd", bodyMassAnalysisModel.getLunchAdd());//下午加餐 - 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)), - BodyMassAnalysisModel.class); - if(null != bodyMassAnalysisModel2){ - //膳食结构 - Map dietInfo = new HashMap<>(); + Integer week = DateUtil.getWeek(patients.getLastMenses()); + //计算孕期 + Integer pregnancy=0; if (week <= 12) { - dietInfo.put("diet", bodyMassAnalysisModel2.getEarlySuggests());//膳食 - dietInfo.put("stage", "1");//1 孕早期 2 孕中期 3 孕晚期 + pregnancy = 0; } else if (week >= 13 && week <= 28) { - dietInfo.put("diet", bodyMassAnalysisModel2.getMiddleSuggests()); - dietInfo.put("stage", "2");//2 孕中期 + pregnancy = 1; } else if (week >= 28 && week <= 40) { - dietInfo.put("diet", bodyMassAnalysisModel2.getLaterSuggests()); - dietInfo.put("stage", "3");//3 孕晚期 + pregnancy = 2; } - data.add(dietInfo); - } - if(evaluationType.length != 0 ){ - Map recipeRulesInfo = new HashMap<>(); - if(evaluationType[0]!=null){ - BodyMassAnalysisModel nutrition = mongoTemplate.findOne(Query.query(Criteria.where("evaluationType").is(evaluationType[0])), BodyMassAnalysisModel.class); - if (null != nutrition) { - //人体成分营养评价 - Map nutritionInfo = new HashMap<>(); - nutritionInfo.put("nutritionalEvaluation", nutrition.getNutritionalEvaluationInfo()); - data.add(nutritionInfo); - //食谱规则 - recipeRulesInfo.put("recipesRule", nutrition.getRecipesRule()); + //报告内容 + BodyMassAnalysisModel bodyMassAnalysisModel = mongoTemplate.findOne( + Query.query(Criteria.where("type").is(type).and("kcal").is(k1).and("pregnancy").is(pregnancy)), + BodyMassAnalysisModel.class); + //列举食谱 + if (null != bodyMassAnalysisModel) { + Map recipesInfo = new HashMap<>(); + recipesInfo.put("breakfast", bodyMassAnalysisModel.getBreakfast());//早餐 + recipesInfo.put("breakfastAdd", bodyMassAnalysisModel.getBreakfastAdd());//上午加餐 + recipesInfo.put("lunch", bodyMassAnalysisModel.getLunch());//午餐 + recipesInfo.put("lunchAdd", bodyMassAnalysisModel.getLunchAdd());//下午加餐 + 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)), + BodyMassAnalysisModel.class); + if(null != bodyMassAnalysisModel2){ + //膳食结构 + Map dietInfo = new HashMap<>(); + if (week <= 12) { + dietInfo.put("diet", bodyMassAnalysisModel2.getEarlySuggests());//膳食 + dietInfo.put("stage", "1");//1 孕早期 2 孕中期 3 孕晚期 + } else if (week >= 13 && week <= 28) { + dietInfo.put("diet", bodyMassAnalysisModel2.getMiddleSuggests()); + dietInfo.put("stage", "2");//2 孕中期 + } else if (week >= 28 && week <= 40) { + dietInfo.put("diet", bodyMassAnalysisModel2.getLaterSuggests()); + dietInfo.put("stage", "3");//3 孕晚期 } + data.add(dietInfo); } - if(evaluationType[1]!=null){ - BodyMassAnalysisModel nutrition = mongoTemplate.findOne(Query.query(Criteria.where("evaluationType").is(evaluationType[1])), BodyMassAnalysisModel.class); - if (null != nutrition) { - //食谱规则,后加上无机盐内容 - recipeRulesInfo.put("recipesRuleWjy", nutrition.getRecipesRule()); + if(evaluationType.length != 0 ){ + Map recipeRulesInfo = new HashMap<>(); + if(evaluationType[0]!=null){ + BodyMassAnalysisModel nutrition = mongoTemplate.findOne(Query.query(Criteria.where("evaluationType").is(evaluationType[0])), BodyMassAnalysisModel.class); + if (null != nutrition) { + //人体成分营养评价 + Map nutritionInfo = new HashMap<>(); + nutritionInfo.put("nutritionalEvaluation", nutrition.getNutritionalEvaluationInfo()); + data.add(nutritionInfo); + //食谱规则 + recipeRulesInfo.put("recipesRule", nutrition.getRecipesRule()); + } + } + if(evaluationType[1]!=null){ + BodyMassAnalysisModel nutrition = mongoTemplate.findOne(Query.query(Criteria.where("evaluationType").is(evaluationType[1])), BodyMassAnalysisModel.class); + if (null != nutrition) { + //食谱规则,后加上无机盐内容 + recipeRulesInfo.put("recipesRuleWjy", nutrition.getRecipesRule()); + } } + data.add(recipeRulesInfo); } - data.add(recipeRulesInfo); + //第二、三页结束 + } catch (NumberFormatException e) { + e.printStackTrace(); + return data; } - //第二、三页结束 - + //添加到体成分结算列表。参数说明:healthType 6体成分分析 + healthChargeFacade.addHealthCharge(volumeComponentAnalysisModel.getHospitalId(), 6,patients.getId(), 1, 1, userId, userId.toString(), false); return data; } diff --git a/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml b/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml index eedf6a9..1366095 100644 --- a/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml +++ b/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml @@ -353,8 +353,8 @@ - - + + @@ -466,8 +466,8 @@ - - + -- 1.8.3.1