From d84b1ed2bd0beaf4b7857aac6efa148c8271e49a Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 1 Feb 2019 16:23:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E7=AB=A5=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/BabyNutritionFacade.java | 131 ++++++++++++++------- .../web/service/impl/BloodSugarServiceImpl.java | 66 ++++++----- .../web/service/impl/PatientWeightServiceImpl.java | 2 +- 3 files changed, 129 insertions(+), 70 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java index cc2c1cb..0e21655 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java @@ -328,12 +328,13 @@ public class BabyNutritionFacade { String bmi = patientWeightService.getBmi(String.valueOf(model.getWeight()),String.valueOf(model.getHeight())); String kaupEvaluate = getBabyStatus(month, baby.getSex(), model.getHeight(), model.getWeight(), bmi); - double kaul = getKal(month, model.getHeight(), model.getWeight(), baby.getSex(), kaupEvaluate); + double kaul = getKal(month, model.getWeight(), model.getHeight(), baby.getSex(), kaupEvaluate); + double valueKaul = getBasicKaul(month, model.getWeight(), model.getHeight(), baby.getSex()); map.put("kaupEvaluate", kaupEvaluate); map.put("month", month); map.put("bmi", bmi); - map.put("kaul", kaul); + map.put("kaul", valueKaul); data.put("baseInfo", map); if (month < 12) @@ -345,14 +346,13 @@ public class BabyNutritionFacade { String feedType = WyTypeEnums.getNameById(Integer.parseInt(model.getFeedType())); ca.and("feedType").is(feedType); - BabyNutritionConfigModel babyNutritionConfig = mongoTemplate.findOne(Query.query(ca), - BabyNutritionConfigModel.class); - - //合理喂养 - data.put("hlFeed", babyNutritionConfig.getContentOne()); - } + BabyNutritionConfigModel babyNutritionConfig = mongoTemplate.findOne(Query.query(ca), + BabyNutritionConfigModel.class); + + //合理喂养 + data.put("hlFeed", babyNutritionConfig.getContentOne()); BabyNutritionConfigModel babyNutritionConfig1 = mongoTemplate.findOne( @@ -363,15 +363,20 @@ public class BabyNutritionFacade { if (month > 5) { + Double val = getMathRound(kaul); BabyNutritionConfigModel babyNutritionConfig2 = mongoTemplate.findOne( - Query.query(Criteria.where("monthAge").is(month).and("type").is(6)), BabyNutritionConfigModel.class); - - //食用须知 - data.put("syxz",babyNutritionConfig2.getContentOne()); - //辅食添加 - data.put("fstj",babyNutritionConfig2.getContentTwo()); - //辅食制作 - data.put("fszz",babyNutritionConfig2.getContentThree()); + Query.query(Criteria.where("monthAge").is(month).and("type").is(6).and("kcal").is(val)), BabyNutritionConfigModel.class); + + if (babyNutritionConfig2 != null) + { + //食用须知 + data.put("syxz",babyNutritionConfig2.getContentOne()); + //辅食添加 + data.put("fstj",babyNutritionConfig2.getContentTwo()); + //辅食制作 + data.put("fszz",babyNutritionConfig2.getContentThree()); + } + } } @@ -401,7 +406,7 @@ public class BabyNutritionFacade { } - List yys = getYys(month,kaul,model.getWeight()); + List yys = getYys(month); //每日所需营养素 data.put("yys",yys); @@ -688,47 +693,76 @@ public class BabyNutritionFacade { } - private List getYys(int month,Double nl,Double weight){ + private List getYys(int month){ List list = new ArrayList<>(); if (month < 36) { - //总能量的50-70% - list.add("碳水化合物:"+handleData( nl,0.5,0.7)); - //总能量的7-20% - list.add("蛋白质:"+handleData( nl,0.07,0.2)+",平均每日约0.96g/kg"); - //总能量的20-35% - list.add("脂肪:"+handleData( nl,0.2,0.35)); - //总能量的4-8% - list.add("n-6:"+handleData( nl,0.04,0.08)); - //总能量的1% - list.add("N-3:"+handleData( nl,0.01)); + list.add("碳水化合物:总能量的50-70%"); + list.add("蛋白质:总能量的7-20%,平均每日约0.96g/kg"); + list.add("脂肪:总能量的20-35%"); + list.add("n-6:总能量的4-8%"); + list.add("N-3:总能量的1%"); list.add("无机物:钙的推荐摄入量为500mg,磷的推荐摄入量为500mg,钠的充分摄入为0.7g,氯的充分摄入量为1.1g,钾的充分摄入量为1.7g,镁的推荐摄入量为75mg,铁的推荐摄入量为6mg,锌的推荐摄入量为3mg,铜的推荐摄入量为290 μg,氟的充分摄入量为0.6mg,猛的充分摄入量为1.4mg,碘的推荐摄入量为80 μg,硒的推荐摄入量为20 μg"); list.add("维生素:维生素A的推荐摄入量为300 μgRE,维生素D的充分摄入量为5 μg,维生素E的充分摄入量为5mg α-TE,维生素K的充分摄入量为25μg,维生素C的推荐摄入量为40mg,维生素B1的推荐摄入量为0.5mg,维生素B2(核黄素)的0.6mg,维生素B3烟酸的推荐摄入量为6mgNE,尼克酸的上限摄入量为10mg,尼克酰胺的上限摄入量为180mg,维生素B6的推荐摄入量0.6mg,叶酸的推荐摄入量为150μg DFE,维生素B12的推荐摄入量为0.9μg,泛酸的充分摄入量为2mg,维生素H的充分摄入量9μg"); - //1岁120-135ml/kg/day;2岁115-125ml/kg/day - list.add("水分:1岁"+handleData(weight,120,135)+"ml/day;2岁"+handleData(weight,115,125)+"ml/kg/day"); + list.add("水分:1岁120-135ml/kg/day;2岁115-125ml/kg/day"); } else { - //总能量的55-70% - list.add("碳水化合物:"+handleData( nl,0.55,0.7)); - //总能量的7-20% - list.add("蛋白质:"+handleData( nl,0.07,0.2)+",平均每日约0.88g/kg"); - //总能量的15-30% - list.add("脂肪:"+handleData( nl,0.15,0.3)); - //总能量的4-8% - list.add("n-6:"+handleData( nl,0.04,0.08)); - //总能量的1% - list.add("n-3:"+handleData( nl,0.01)); + list.add("碳水化合物:总能量的55-70%"); + list.add("蛋白质:总能量的7-20%,平均每日约0.88g/kg"); + list.add("脂肪:总能量的15-30%"); + list.add("n-6:总能量的4-8%"); + list.add("n-3:总能量的1%"); list.add("无机物:钙的推荐摄入量为600mg,磷的推荐摄入量为500mg,钠的充分摄入量为0.9g,氯的充分摄入量为1.4g,钾的充分摄入量为2.3g,镁的推荐摄入量为100mg,铁的推荐摄入量7mg,锌的推荐摄入量为4mg,铜的推荐摄入量为330 μg,氟的充分摄入量为0.8mg,猛的充分摄入量为2.0mg,碘的推荐摄入量为90 μg,硒的推荐摄入量为25 μg"); list.add("维生素:维生素A的推荐摄入量为300 μgRE,维生素D的充分摄入量为5 μg,维生素E的充分摄入量为6mg α-TE,维生素K的充分摄入量为30μg,维生素C的推荐摄入量为40mg,维生素B1的推荐摄入量为0.5mg,维生素B2(核黄素)的0.7mg,维生素B3烟酸的推荐摄入量为7mgNE,尼克酸的上限摄入量为10mg,尼克酰胺的上限摄入量为250mg,维生素B6的推荐摄入量0.7mg,叶酸的推荐摄入量为180μg DFE,维生素B12的推荐摄入量为1.1μg,泛酸的充分摄入量为3mg,维生素H的充分摄入量11μg"); - //90-100ml/kg/day - list.add("水分:"+handleData(weight,90,100)+"ml/day"); + list.add("水分:90-100ml/kg/day"); } return list; } +// private List getYys(int month,Double nl,Double weight){ +// List list = new ArrayList<>(); +// +// if (month < 36) +// { +// //总能量的50-70% +// list.add("碳水化合物:"+handleData( nl,0.5,0.7)); +// //总能量的7-20% +// list.add("蛋白质:"+handleData( nl,0.07,0.2)+",平均每日约0.96g/kg"); +// //总能量的20-35% +// list.add("脂肪:"+handleData( nl,0.2,0.35)); +// //总能量的4-8% +// list.add("n-6:"+handleData( nl,0.04,0.08)); +// //总能量的1% +// list.add("N-3:"+handleData( nl,0.01)); +// list.add("无机物:钙的推荐摄入量为500mg,磷的推荐摄入量为500mg,钠的充分摄入为0.7g,氯的充分摄入量为1.1g,钾的充分摄入量为1.7g,镁的推荐摄入量为75mg,铁的推荐摄入量为6mg,锌的推荐摄入量为3mg,铜的推荐摄入量为290 μg,氟的充分摄入量为0.6mg,猛的充分摄入量为1.4mg,碘的推荐摄入量为80 μg,硒的推荐摄入量为20 μg"); +// list.add("维生素:维生素A的推荐摄入量为300 μgRE,维生素D的充分摄入量为5 μg,维生素E的充分摄入量为5mg α-TE,维生素K的充分摄入量为25μg,维生素C的推荐摄入量为40mg,维生素B1的推荐摄入量为0.5mg,维生素B2(核黄素)的0.6mg,维生素B3烟酸的推荐摄入量为6mgNE,尼克酸的上限摄入量为10mg,尼克酰胺的上限摄入量为180mg,维生素B6的推荐摄入量0.6mg,叶酸的推荐摄入量为150μg DFE,维生素B12的推荐摄入量为0.9μg,泛酸的充分摄入量为2mg,维生素H的充分摄入量9μg"); +// //1岁120-135ml/kg/day;2岁115-125ml/kg/day +// list.add("水分:1岁"+handleData(weight,120,135)+"ml/day;2岁"+handleData(weight,115,125)+"ml/kg/day"); +// } +// else +// { +// //总能量的55-70% +// list.add("碳水化合物:"+handleData( nl,0.55,0.7)); +// //总能量的7-20% +// list.add("蛋白质:"+handleData( nl,0.07,0.2)+",平均每日约0.88g/kg"); +// //总能量的15-30% +// list.add("脂肪:"+handleData( nl,0.15,0.3)); +// //总能量的4-8% +// list.add("n-6:"+handleData( nl,0.04,0.08)); +// //总能量的1% +// list.add("n-3:"+handleData( nl,0.01)); +// list.add("无机物:钙的推荐摄入量为600mg,磷的推荐摄入量为500mg,钠的充分摄入量为0.9g,氯的充分摄入量为1.4g,钾的充分摄入量为2.3g,镁的推荐摄入量为100mg,铁的推荐摄入量7mg,锌的推荐摄入量为4mg,铜的推荐摄入量为330 μg,氟的充分摄入量为0.8mg,猛的充分摄入量为2.0mg,碘的推荐摄入量为90 μg,硒的推荐摄入量为25 μg"); +// list.add("维生素:维生素A的推荐摄入量为300 μgRE,维生素D的充分摄入量为5 μg,维生素E的充分摄入量为6mg α-TE,维生素K的充分摄入量为30μg,维生素C的推荐摄入量为40mg,维生素B1的推荐摄入量为0.5mg,维生素B2(核黄素)的0.7mg,维生素B3烟酸的推荐摄入量为7mgNE,尼克酸的上限摄入量为10mg,尼克酰胺的上限摄入量为250mg,维生素B6的推荐摄入量0.7mg,叶酸的推荐摄入量为180μg DFE,维生素B12的推荐摄入量为1.1μg,泛酸的充分摄入量为3mg,维生素H的充分摄入量11μg"); +// //90-100ml/kg/day +// list.add("水分:"+handleData(weight,90,100)+"ml/day"); +// } + +// return list; +// } + private String handleData(Double nl,double up,double down) { return String.format("%.2f",(nl * down))+"-"+String.format("%.2f",(nl * up)); @@ -857,6 +891,19 @@ public class BabyNutritionFacade { } } + private Double getMathRound(Double kcal) { + if ((kcal) % 100 == 0) + { + return kcal; + } + else + { + kcal+=50; + } + return kcal; + } + + /** * 0-11分为正常、消瘦、超重及以上三种情况:-2SD ≤ BMI ≤ 1SD正常;BMI<-2SD消瘦;BMI>+1SD超重 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java index 9ff3737..6d71c1c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java @@ -517,7 +517,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga Map> temp = new TreeMap<>(new Comparator() { @Override public int compare(String o1, String o2) { - return o2.compareTo(o1); + return DateUtil.parseYMD(o2).compareTo(DateUtil.parseYMD(o1)); } }); for (Map.Entry> entry : datas.entrySet()) { @@ -584,7 +584,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga private Map> doHandle(Map> maps,String lastDate) { - Map> result = new HashMap<>(); + Map> result = new LinkedHashMap<>(); if (maps.size() > 0 && maps.size() >= 3) { int index = 0; for (String key : maps.keySet()) { @@ -1488,8 +1488,6 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga BloodSugar bloodSugar1 = sugarList.get(0); if (type == 3) { - - boolean isContinue = false; Map> maps = new HashMap<>(); if (CollectionUtils.isNotEmpty(sugarList)) { @@ -1507,30 +1505,12 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga maps = sortMapByKey(maps); maps = doHandle(maps, bloodSugars.get(0).getCreatYmdDate()); if (maps.size() > 0 && maps.size() >= 3) { - int count = 0; - for (String key1 : maps.keySet()) { - List bss = maps.get(key1); - if (CollectionUtils.isNotEmpty(bss)) - { - for (BloodSugar bs : bss) - { - int result = getBloodSugarStatus(bs.getBloodSugarType(),Float.parseFloat(bs.getBloodSugar())); - if (result != 0) - { - count++; - break; - } - } - } - if (count >= 3) - { - isContinue = true; - break; - } - } + if (isContinuc(maps) < 3) + { + continue; + } } - - if (!isContinue) + else { continue; } @@ -1563,4 +1543,36 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); } + + private int isContinuc(Map> maps) + { + boolean isContinue = true; + int count = 0; + for (String key1 : maps.keySet()) { + List bss = maps.get(key1); + if (CollectionUtils.isNotEmpty(bss)) + { + for (BloodSugar bs : bss) + { + int result = getBloodSugarStatus(bs.getBloodSugarType(),Float.parseFloat(bs.getBloodSugar())); + if (result != 0) + { + count++; + break; + } + else + { + isContinue = false; + break; + } + } + if (!isContinue) + { + return 0; + } + } + } + return count; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index b2c3f9a..37efd56 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -304,7 +304,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient java.text.DecimalFormat df = new java.text.DecimalFormat("#.#"); df.setRoundingMode(RoundingMode.FLOOR); double db = Math.pow(Double.parseDouble(height) / 100, 2); - db = Double.valueOf(String.format("%.2f", db)); + db = Double.valueOf(String.format("%.4f", db)); double tzzs = Double.parseDouble(weight) / db; return df.format(tzzs); } -- 1.8.3.1