From b88fa2ad6dec53e8a81ed315ebdb99c669e6f851 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 8 Oct 2018 16:52:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E7=AB=A5=E8=90=A5=E5=85=BB=E6=8A=A5?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/BasicConfigServiceTest.java | 346 +++++++++++++++++++-- .../platform/biz/service/BabyCheckService.java | 7 + .../main/java/com/lyms/platform/pojo/AwModel.java | 22 +- .../com/lyms/platform/pojo/BabyConfigModel.java | 105 +++++++ .../operate/web/facade/BabyCheckFacade.java | 234 +++++++++++++- 5 files changed, 679 insertions(+), 35 deletions(-) create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/BabyConfigModel.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 25270f2..04b82e5 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -846,6 +846,82 @@ public class BasicConfigServiceTest { + //儿童bmi + public static void addBabyBmiHealthConfig(String fileName) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if(rows > 0){ + //遍历每行 + for(int i = 1 ;i < rows ; i++){ + System.out.println("rows=" + i); + AwModel model = new AwModel(); + model.setType(5); + + Cell[] cells = s.getRow(i); + if(cells.length > 0){ + //遍历每行中的每列 + for (int j = 0 ; j < cells.length ; j ++) + { + String str = cells[j].getContents().trim(); + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str)) + { + continue; + } + switch (j) + { + case 0: + model.setAge(Integer.parseInt(str)); + continue; + case 1: + model.setRthreeDs(Double.valueOf(str)); + continue; + case 2: + model.setRtwoDs(Double.valueOf(str)); + continue; + case 3: + model.setRoneDs(Double.valueOf(str)); + continue; + case 4: + model.setMiddleDs(Double.valueOf(str)); + continue; + case 5: + model.setPoneDs(Double.valueOf(str)); + continue; + case 6: + model.setPtwoDs(Double.valueOf(str)); + continue; + case 7: + model.setPthreeDs(Double.valueOf(str)); + continue; + case 8: + model.setSex(Integer.parseInt(str)); + continue; + } + } + } + System.out.println(model); + mongoTemplate.save(model); + } + } + } catch (IOException e) { + e.printStackTrace(); + } catch (BiffException e) { + e.printStackTrace(); + } + + } + + + public static void weightMange(String fileName) { @@ -1455,6 +1531,250 @@ public class BasicConfigServiceTest { } + + public static void babyConfig(String fileName) + { + + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if(rows > 0){ + //遍历每行 + for(int i = 1 ;i < rows ; i++){ + System.out.println("rows="+i); + BabyConfigModel model = new BabyConfigModel(); + //0 0-11月龄 1 0-11月热量计算 2 12-36月龄 3 12-36月热量计算 + model.setType(0); + Cell[] cells = s.getRow(i); + if(cells.length > 0){ + //遍历每行中的每列 + for (int j = 0 ; j < cells.length ; j ++) + { + String str = cells[j].getContents().trim(); + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str)) + { + continue; + } + switch (j) + { + case 0: + model.setMonthAge(Integer.parseInt(str)); + continue; + case 1: + List list1 = Arrays.asList(str.split("\n")); + model.setContentOne(list1); + continue; + case 2: + List list2 = Arrays.asList(str.split("\n")); + model.setContentTwo(list2); + continue; + case 3: + List list3 = Arrays.asList(str.split("\n")); + model.setContentThree(list3); + continue; + case 4: + List list4 = Arrays.asList(str.split("\n")); + model.setContentFour(list4); + continue; + case 5: + model.setStatus(str); + continue; + } + } + + } + mongoTemplate.save(model); + } + } + + Sheet s1 = wb.getSheet(1); + System.out.println(s1.getName() + " : "); + + int rows1 = s1.getRows(); + if(rows1 > 0){ + //遍历每行 + for(int i = 1 ;i < rows1 ; i++){ + System.out.println("rows="+i); + BabyConfigModel model = new BabyConfigModel(); + //0 0-11月龄 1 0-11月热量计算 2 12-36月龄 3 12-36月热量计算 + model.setType(1); + Cell[] cells = s1.getRow(i); + if(cells.length > 0){ + //遍历每行中的每列 + for (int j = 0 ; j < cells.length ; j ++) + { + String str = cells[j].getContents().trim(); + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str)) + { + continue; + } + switch (j) + { + case 0: + model.setMonthAge(Integer.parseInt(str)); + continue; + case 1: + model.setKcal(Double.parseDouble(str)); + continue; + case 2: + List list1 = Arrays.asList(str.split("\n")); + model.setContentOne(list1); + continue; + } + } + + } + mongoTemplate.save(model); + } + } + + + + Sheet s2 = wb.getSheet(2); + System.out.println(s2.getName() + " : "); + + int rows2 = s2.getRows(); + if(rows2 > 0){ + //遍历每行 + for(int i = 1 ;i < rows2 ; i++){ + System.out.println("rows="+i); + BabyConfigModel model = new BabyConfigModel(); + //0 0-11月龄 1 0-11月热量计算 2 12-36月龄 3 12-36月热量计算 + model.setType(2); + Cell[] cells = s2.getRow(i); + if(cells.length > 0){ + //遍历每行中的每列 + for (int j = 0 ; j < cells.length ; j ++) + { + String str = cells[j].getContents().trim(); + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str)) + { + continue; + } + switch (j) + { + case 0: + model.setMonthAge(Integer.parseInt(str)); + continue; + case 1: + model.setTitle(str); + continue; + case 2: + List list1 = Arrays.asList(str.split("\n")); + model.setContentOne(list1); + continue; + } + } + + } + mongoTemplate.save(model); + } + } + + + Sheet s3 = wb.getSheet(3); + System.out.println(s3.getName() + " : "); + int rows3 = s3.getRows(); + if(rows3 > 0){ + //遍历每行 + for(int i = 1 ;i < rows3 ; i++){ + System.out.println("rows="+i); + BabyConfigModel model = new BabyConfigModel(); + //0 0-11月龄 1 0-11月热量计算 2 12-36月龄 3 12-36月热量计算 + model.setType(3); + Cell[] cells = s3.getRow(i); + if(cells.length > 0){ + //遍历每行中的每列 + for (int j = 0 ; j < cells.length ; j ++) + { + String str = cells[j].getContents().trim(); + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str)) + { + continue; + } + switch (j) + { + case 0: + model.setKcal(Double.parseDouble(str)); + continue; + case 1: + model.setTitle(str); + continue; + case 2: + List list2 = Arrays.asList(str.split("\n")); + model.setContentOne(list2); + continue; + case 3: + model.setStatus(str); + continue; + } + } + } + mongoTemplate.save(model); + } + } + + + Sheet s4 = wb.getSheet(4); + System.out.println(s4.getName() + " : "); + int rows4 = s4.getRows(); + if(rows3 > 0){ + //遍历每行 + for(int i = 1 ;i < rows4 ; i++){ + System.out.println("rows="+i); + BabyConfigModel model = new BabyConfigModel(); + //0 0-11月龄 1 0-11月热量计算 2 12-36月龄 3 12-36月热量计算 4.12--36喂养指南 + model.setType(4); + Cell[] cells = s4.getRow(i); + if(cells.length > 0){ + //遍历每行中的每列 + for (int j = 0 ; j < cells.length ; j ++) + { + String str = cells[j].getContents().trim(); + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str)) + { + continue; + } + switch (j) + { + case 0: + model.setMonthAge(Integer.parseInt(str)); + continue; + case 1: + model.setTitle(str); + continue; + case 2: + List list2 = Arrays.asList(str.split("\n")); + model.setContentOne(list2); + continue; + case 3: + model.setStatus(str); + continue; + } + } + } + mongoTemplate.save(model); + } + } + + + } catch (IOException e) { + e.printStackTrace(); + } catch (BiffException e) { + e.printStackTrace(); + } + + } + + public static void main(String[] args) { // weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); // weightMange("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); @@ -1462,31 +1782,11 @@ public class BasicConfigServiceTest { // bloodSugar("F:\\血糖报告\\血糖报告\\血糖报告基础数据格式(2).xls"); // zcet("D:\\doc\\高血压报告20180813模板.xls"); - zcet("D:\\doc\\1.xls",false); +// zcet("D:\\doc\\1.xls",false); +// addBabyBmiHealthConfig("F:\\儿童营养报告\\婴幼儿bmi.xls"); - /* ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); - MongoTemplate mongoTemplate - = (MongoTemplate) applicationContext.getBean("mongoTemplate"); - mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); - - QueryBuilder queryBuilder = new QueryBuilder(); - BasicDBObject fieldsObject=new BasicDBObject(); - fieldsObject.put("_id", 1); - fieldsObject.put("category", 1); - BasicQuery query=new BasicQuery(queryBuilder.get(),fieldsObject); - System.out.println(mongoTemplate.find(query, Guidelines.class).get(0));*/ + babyConfig("F:\\儿童营养报告\\儿童营养报告模板.xls"); } - public static void addBaby(ApplicationContext applicationContext) { -// BabyModel babyModel = new BabyModel(); -// babyModel.setBirth(new Date()); -// babyModel.setName("小孩的名字"); -// babyModel.setSex(1); -// babyModel.setVisitstatus(1); -// babyModel.setParentId("56ebbff424fdd5ddf5dd2070"); -// BabyService babyService = applicationContext.getBean(BabyService.class); -// babyService.addOneBaby(babyModel); - ; - } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java index 5436162..4e96d92 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java @@ -67,6 +67,13 @@ public class BabyCheckService { return babyHwDao.queryHWByHeight(condition.toMongoQuery()); } + public List queryBabyHealthConfig(Integer sex,Integer type) { + MongoCondition condition = MongoCondition.newInstance(); + condition = condition.and("sex", sex, MongoOper.IS); + condition = condition.and("type", type, MongoOper.IS); + return babyAwDao.queryAwByHeight(condition.toMongoQuery()); + } + public List queryBabyHealthConfig(Integer age, Integer sex,Integer type) { MongoCondition condition = MongoCondition.newInstance(); condition = condition.and("age", age, MongoOper.IS); diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AwModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AwModel.java index c304a75..892a76c 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AwModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AwModel.java @@ -23,7 +23,7 @@ public class AwModel extends BaseModel { private Double poneDs; private Double ptwoDs; private Double pthreeDs; - //0 体重标准差数值表 1 身长/身高标准差数值表 2 头围标准差数值表 3身高别体重 4 早产儿体重百分位数值表(男、女) + //0 体重标准差数值表 1 身长/身高标准差数值表 2 头围标准差数值表 3身高别体重 4 早产儿体重百分位数值表(男、女) 5.儿童bmi值 private Integer type; private Double height; @@ -144,4 +144,24 @@ public class AwModel extends BaseModel { public void setPthreeDs(Double pthreeDs) { this.pthreeDs = pthreeDs; } + + @Override + public String toString() { + return "AwModel{" + + "id='" + id + '\'' + + ", sex=" + sex + + ", age=" + age + + ", rthreeDs=" + rthreeDs + + ", rtwoDs=" + rtwoDs + + ", roneDs=" + roneDs + + ", middleDs=" + middleDs + + ", poneDs=" + poneDs + + ", ptwoDs=" + ptwoDs + + ", pthreeDs=" + pthreeDs + + ", type=" + type + + ", height=" + height + + ", ageType=" + ageType + + ", week=" + week + + '}'; + } } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyConfigModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyConfigModel.java new file mode 100644 index 0000000..838a7d1 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyConfigModel.java @@ -0,0 +1,105 @@ +package com.lyms.platform.pojo; + +import org.springframework.data.mongodb.core.mapping.Document; + +import java.io.Serializable; +import java.util.List; + +/** + * 儿童营养报告内容配置 + * Created by Administrator on 2018-06-04. + */ +@Document(collection = "lyms_baby_config") +public class BabyConfigModel { + private String id; + private String title; + private Integer monthAge;//月龄 + private List contentOne;// + private List contentTwo;// + private List contentThree;// + private List contentFour;// + private Double kcal; //热量 + private Integer type; //0 0-11月龄 1 0-11月热量计算 2 12-36月龄 3 12-36月热量计算 4.12--36喂养指南 + + private String status; // 消瘦、正常、超重 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public Integer getMonthAge() { + return monthAge; + } + + public void setMonthAge(Integer monthAge) { + this.monthAge = monthAge; + } + + public List getContentOne() { + return contentOne; + } + + public void setContentOne(List contentOne) { + this.contentOne = contentOne; + } + + public List getContentTwo() { + return contentTwo; + } + + public void setContentTwo(List contentTwo) { + this.contentTwo = contentTwo; + } + + public List getContentThree() { + return contentThree; + } + + public void setContentThree(List contentThree) { + this.contentThree = contentThree; + } + + public List getContentFour() { + return contentFour; + } + + public void setContentFour(List contentFour) { + this.contentFour = contentFour; + } + + public Double getKcal() { + return kcal; + } + + public void setKcal(Double kcal) { + this.kcal = kcal; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 0929fc9..bb2f31c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -7,8 +7,10 @@ import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.BabyCheckRequest; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.utils.MongoUtil; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.model.Organization; @@ -19,8 +21,12 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Component; import java.util.*; @@ -34,12 +40,17 @@ public class BabyCheckFacade { @Autowired private BabyBookbuildingService babyBookbuildingService; - + @Autowired + private PatientWeightService patientWeightService; @Autowired private BabyService babyService; @Autowired + private MongoTemplate mongoTemplate; + + + @Autowired private BasicConfigService basicConfigService; @Autowired @@ -2063,21 +2074,222 @@ public class BabyCheckFacade { Map data = new HashMap(); - String hospitalId = autoMatchFacade.getHospitalId(userId); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setId(babyId); + babyQuery.setYn(YnEnums.YES.getId()); - BabyModelQuery babyModelQuery = new BabyModelQuery(); - babyModelQuery.setYn(YnEnums.YES.getId()); - babyModelQuery.setId(babyId); - babyModelQuery.setHospitalId(hospitalId); + Map baseInfo = new HashMap(); - List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); - if (CollectionUtils.isEmpty(babyModels)) + //查询儿童的基本信息 + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (!CollectionUtils.isNotEmpty(models)) + { + return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有儿童档案信息"); + } + + BabyModel model = models.get(0); + + + + BabyCheckModelQuery query = new BabyCheckModelQuery(); + query.setYn(YnEnums.YES.getId()); + query.setBuildId(babyId); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(query); + if (CollectionUtils.isEmpty(babyCheckModels)) + { + return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有检查记录"); + } + + BabyCheckModel checkModel = babyCheckModels.get(0); + + int month = DateUtil.getMonth(model.getBirth(), checkModel.getCheckDate()); + if (month == 0 || month > 36) + { + return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("月龄范围没有报告"); + } + + if (!(StringUtils.isNotEmpty(checkModel.getWeight()) && StringUtils.isNotEmpty(checkModel.getHeight()))) + { + return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("检查报告没有体重和身长不能生成报告"); + } + + + baseInfo.put("weight", checkModel.getWeight()); + baseInfo.put("weightEvaluate", checkModel.getWeightEvaluate()); + + baseInfo.put("height", checkModel.getHeight()); + baseInfo.put("heightEvaluate", checkModel.getHeightEvaluate()); + baseInfo.put("month", month); + + + String kaupEvaluate = ""; + if (StringUtils.isNotEmpty(checkModel.getWeight()) && StringUtils.isNotEmpty(checkModel.getHeight())) { - return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有数据"); + String bmi = patientWeightService.getBmi(checkModel.getWeight(), checkModel.getHeight()); + baseInfo.put("kaup", bmi); + if (StringUtils.isNotEmpty(bmi)) + { + Double bbmi = Double.parseDouble(bmi); + //查询该月龄的年龄别体重值 + // 正常 :-2SD ≤ A ≤ +1SD + // 消瘦 : A < -2SD + //偏重 : A > +1SD + List list = babyCheckService.queryBabyHealthConfig(month, model.getSex(), 5); + if (CollectionUtils.isNotEmpty(list)) { + AwModel awModel = list.get(0); + if (awModel.getPoneDs() < bbmi) + { + kaupEvaluate = "超重"; + } + else if (awModel.getPoneDs() >= bbmi && awModel.getRtwoDs() <= bbmi) + { + kaupEvaluate = "正常"; + } + else if (awModel.getRtwoDs() > bbmi) + { + kaupEvaluate = "消瘦"; + } + } + } + baseInfo.put("kaupEvaluate", kaupEvaluate); } - BabyModel babyModel = babyModels.get(0); + baseInfo.put("name",model.getName()); + baseInfo.put("sex",SexEnum.getTextById(model.getSex())); + baseInfo.put("monthAge", DateUtil.getBabyMonthAge(model.getBirth(), new Date())); - return null; + String feedType = ""; + if (month < 12) + { + String feedTypeId = checkModel.getFeedType(); + if (StringUtils.isNotEmpty(feedTypeId)) + { + feedType = "喂养方式:"+WyTypeEnums.getNameById(Integer.parseInt(feedTypeId)); + } + } + baseInfo.put("feedType",feedType); + + data.put("baseInfo",baseInfo); + + if (StringUtils.isNotEmpty(kaupEvaluate)) + { + BabyConfigModel babyConfigModel = mongoTemplate.findOne(Query.query(Criteria.where("monthAge").is(month).and("status").is(kaupEvaluate).and("type").is(0)), BabyConfigModel.class); + if (month < 6) + { + //喂养方式 + data.put("wyfs",babyConfigModel.getContentOne()); + //营养需求 + data.put("yyxq",babyConfigModel.getContentFour()); + } + else if (month < 12) + { + //指导意见 + data.put("zdyj",babyConfigModel.getContentOne()); + //辅食添加 + data.put("fstj",babyConfigModel.getContentTwo()); + //辅食制作 + data.put("fszz",babyConfigModel.getContentThree()); + + if (StringUtils.isNotEmpty(checkModel.getWeight())) + { + Double kaul = Double.parseDouble(checkModel.getWeight()) * 100; + BabyConfigModel babyConfigModel1 = mongoTemplate.findOne(Query.query(Criteria.where("kcal").is(kaul).and("monthAge").is(month).and("type").is(1)), BabyConfigModel.class); + //6-11月热量 + data.put("rl",babyConfigModel1.getContentOne()); + } + //营养需求 + data.put("yyxq",babyConfigModel.getContentFour()); + } + else if (month < 37) + { + List> list = new ArrayList<>(); + double kcal = 0; + if (month < 36) + { + kcal = 89 * Double.parseDouble(checkModel.getWeight()) - 100 + 20; + } + else + { + //男童:88.5-61.9×年龄(岁)+PA[26.7×体重(kg)+903×身长(m)]+20kcal/day + // PA=1.26 + //女童:135.3-30.8×年龄(岁)+PA[10×体重(kg)+934×身长(m)]+20kcal/day + //PA=1.31 + if (model.getSex() == 1) + { + kcal = 88.5-61.9*3+1.26*(26.7*Double.parseDouble(checkModel.getWeight()) +903*(Double.parseDouble(checkModel.getHeight())/100))+20; + } + else { + kcal = 135.3-30.8*3+1.31*(10*Double.parseDouble(checkModel.getWeight()) +934*(Double.parseDouble(checkModel.getHeight())/100))+20; + } + } + kcal = getKaul(kcal); + List configModels = mongoTemplate.find(Query.query(Criteria.where("kcal").is(kcal).and("status").is(kaupEvaluate).and("type").is(3)), BabyConfigModel.class); + if (CollectionUtils.isNotEmpty(configModels) && configModels.size() == 3) + { + for (BabyConfigModel configModel : configModels) + { + Map map = new HashMap<>(); + map.put("title",configModel.getTitle()); + map.put("contents",configModel.getContentOne()); + list.add(map); + } + data.put("foods",list); + } + //type; //0 0-11月龄 1 0-11月热量计算 2 12-36月龄 3 12-36月热量计算 4.12--36喂养指南 + BabyConfigModel babyConfigModel1 = mongoTemplate.findOne(Query.query(Criteria.where("monthAge").is(month).and("type").is(2)), BabyConfigModel.class); + + //各月龄饮食指南[按月获取 12-36] + data.put("yszl",babyConfigModel1.getContentOne()); + + BabyConfigModel wyconfig = mongoTemplate.findOne(Query.query(Criteria.where("monthAge").is(month).and("status").is(kaupEvaluate).and("type").is(4)), BabyConfigModel.class); + //喂养指南 + data.put("yszl",wyconfig.getContentOne()); + + //每日所需营养素 + data.put("yys",getYys(month)); + } + } + + return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + private List getYys(int month){ + List list = new ArrayList<>(); + + if (month < 36) + { + 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"); + list.add("水分:1岁120-135ml/kg/day;2岁115-125ml/kg/day"); + } + else + { + 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"); + list.add("水分:90-100ml/kg/day"); + } + + return list; + } + + private Double getKaul(Double kcal) { + int k = (int)(kcal/100)*100; + Double d = Math.floor(k); + Double md = d + 50; + if (md > kcal) { + return d; + } else { + return md; + } } } \ No newline at end of file -- 1.8.3.1