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 20a1a3a..71cd1da 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 @@ -4210,7 +4210,7 @@ public class BasicConfigServiceTest { continue; case 2: List list2 = Arrays.asList(str.split("\n")); - babyDiet.setWeeklyRecipes(list2); + babyDiet.setOneDayRecipes(list2); continue; case 3: List list3 = Arrays.asList(str.split("\n")); @@ -4225,7 +4225,7 @@ public class BasicConfigServiceTest { } Sheet s1 = wb.getSheet(1); - System.out.println(s.getName() + " : "); + System.out.println(s1.getName() + " : "); int rows1 = s1.getRows(); if (rows1 > 0) { for (int i = 1; i < rows1; i++) { @@ -4243,7 +4243,7 @@ public class BasicConfigServiceTest { babyDiet.setMonthAge(Integer.parseInt(str)); continue; case 1: - babyDiet.setKcal(str); + babyDiet.setKcal(Integer.parseInt(str)); continue; case 2: List list1 = Arrays.asList(str.split("\n")); @@ -4300,7 +4300,195 @@ public class BasicConfigServiceTest { } } + 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); + BabyDietReportModel babyDiet = new BabyDietReportModel(); + Cell[] cells = s3.getRow(i); + if (cells.length > 0) { + //遍历每行中的每列 + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + babyDiet.setStartMonthAge(Integer.parseInt(str)); + continue; + case 1: + babyDiet.setEndMonthAge(Integer.parseInt(str)); + continue; + case 2: + babyDiet.setKcal(Integer.parseInt(str)); + continue; + case 3: + babyDiet.setShape(Integer.parseInt(str)); + continue; + case 4: + List list2 = Arrays.asList(str.split("\n")); + babyDiet.setDietStructure(list2); + continue; + case 5: + List list3 = Arrays.asList(str.split("\n")); + babyDiet.setOneDayRecipes(list3); + continue; + case 6: + List list4 = Arrays.asList(str.split("\n")); + babyDiet.setRecommendRecipes(list4); + continue; + } + } + + } + mongoTemplate.save(babyDiet); + } + } + + + Sheet s4 = wb.getSheet(4); + System.out.println(s4.getName() + " : "); + int rows4 = s4.getRows(); + if (rows4 > 0) { + //遍历每行 + for (int i = 1; i < rows4; i++) { + System.out.println("rows=" + i); + BabyDietReportModel babyDiet = new BabyDietReportModel(); + Cell[] cells = s4.getRow(i); + if (cells.length > 0) { + //遍历每行中的每列 + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + babyDiet.setKcal(Integer.parseInt(str)); + continue; + case 1: + babyDiet.setMonthAge(Integer.parseInt(str)); + continue; + case 2: + babyDiet.setShape(Integer.parseInt(str)); + continue; + case 3: + List list2 = Arrays.asList(str.split("\n")); + babyDiet.setDietStructure(list2); + continue; + case 4: + List list3 = Arrays.asList(str.split("\n")); + babyDiet.setOneDayRecipes(list3); + continue; + case 5: + List list4 = Arrays.asList(str.split("\n")); + babyDiet.setRecommendRecipes(list4); + continue; + } + } + + } + mongoTemplate.save(babyDiet); + } + } + + Sheet s5 = wb.getSheet(5); + System.out.println(s5.getName() + " : "); + int rows5 = s5.getRows(); + if (rows5 > 0) { + //遍历每行 + for (int i = 1; i < rows5; i++) { + System.out.println("rows=" + i); + BabyDietReportModel babyDiet = new BabyDietReportModel(); + Cell[] cells = s5.getRow(i); + if (cells.length > 0) { + //遍历每行中的每列 + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + babyDiet.setStartMonthAge(Integer.parseInt(str)); + continue; + case 1: + babyDiet.setEndMonthAge(Integer.parseInt(str)); + continue; + case 2: + List list4 = Arrays.asList(str.split("\n")); + babyDiet.setFeedingGuide(list4); + continue; + } + } + + } + mongoTemplate.save(babyDiet); + } + } + + Sheet s6 = wb.getSheet(6); + System.out.println(s6.getName() + " : "); + int rows6 = s6.getRows(); + if (rows6 > 0) { + //遍历每行 + for (int i = 1; i < rows6; i++) { + System.out.println("rows=" + i); + BabyDietReportModel babyDiet = new BabyDietReportModel(); + Cell[] cells = s6.getRow(i); + if (cells.length > 0) { + //遍历每行中的每列 + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + babyDiet.setShape(Integer.parseInt(str)); + + continue; + case 1: + babyDiet.setStartMonthAge(Integer.parseInt(str)); + continue; + case 2: + babyDiet.setEndMonthAge(Integer.parseInt(str)); + continue; + case 3: + List list1 = Arrays.asList(str.split("\n")); + babyDiet.setDietStructure(list1); + continue; + case 4: + List list2 = Arrays.asList(str.split("\n")); + babyDiet.setRecommendRecipes(list2); + continue; + case 5: + List list3 = Arrays.asList(str.split("\n")); + babyDiet.setMonday(list3); + continue; + case 6: + List list4 = Arrays.asList(str.split("\n")); + babyDiet.setTuesday(list4); + continue; + case 7: + List list5 = Arrays.asList(str.split("\n")); + babyDiet.setWednesday(list5); + continue; + case 8: + List list6 = Arrays.asList(str.split("\n")); + babyDiet.setThursday(list6); + continue; + case 9: + List list7 = Arrays.asList(str.split("\n")); + babyDiet.setFriday(list7); + continue; + case 10: + List list8 = Arrays.asList(str.split("\n")); + babyDiet.setSaturday(list8); + continue; + case 11: + List list9 = Arrays.asList(str.split("\n")); + babyDiet.setSunday(list9); + continue; + } + } + } + mongoTemplate.save(babyDiet); + } + } } catch (IOException e) { e.printStackTrace(); diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietReportModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietReportModel.java index fec7a8f..e03217a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietReportModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietReportModel.java @@ -12,29 +12,116 @@ public class BabyDietReportModel extends BaseModel { private Integer monthAge; //热量值 - private String kcal; + private Integer kcal; //膳食结构 private List dietStructure; - //一周参考食谱 - private List weeklyRecipes; - //推荐食谱 private List recommendRecipes; //超重消瘦一日喂养指南 private List oneDayRecipes; - //6-11月膳食结构正常消瘦超重类型 0 正常 1超重消瘦 private Integer weightType; - //喂养方式 0 母乳喂养 1.混合喂养 2 人工喂养 private Integer feedingPattern; //体型 0 消瘦 1.正常 2.超重 private Integer shape; - //喂养方式 + //喂养指南 private List feedingGuide; + private Integer startMonthAge; + + private Integer endMonthAge; + + //周一 + private List monday; + //周二 + private List tuesday; + //周三 + private List wednesday; + //周四 + private List thursday; + //周五 + private List friday; + //周六 + private List saturday; + //周日 + private List sunday; + + + public List getMonday() { + return monday; + } + + public void setMonday(List monday) { + this.monday = monday; + } + + public List getTuesday() { + return tuesday; + } + + public void setTuesday(List tuesday) { + this.tuesday = tuesday; + } + + public List getWednesday() { + return wednesday; + } + + public void setWednesday(List wednesday) { + this.wednesday = wednesday; + } + + public List getThursday() { + return thursday; + } + + public void setThursday(List thursday) { + this.thursday = thursday; + } + + public List getFriday() { + return friday; + } + + public void setFriday(List friday) { + this.friday = friday; + } + + public List getSaturday() { + return saturday; + } + + public void setSaturday(List saturday) { + this.saturday = saturday; + } + + public List getSunday() { + return sunday; + } + + public void setSunday(List sunday) { + this.sunday = sunday; + } + + public Integer getStartMonthAge() { + return startMonthAge; + } + + public void setStartMonthAge(Integer startMonthAge) { + this.startMonthAge = startMonthAge; + } + + public Integer getEndMonthAge() { + return endMonthAge; + } + + public void setEndMonthAge(Integer endMonthAge) { + this.endMonthAge = endMonthAge; + } + public String getId() { return id; } @@ -59,11 +146,11 @@ public class BabyDietReportModel extends BaseModel { this.recommendRecipes = recommendRecipes; } - public String getKcal() { + public Integer getKcal() { return kcal; } - public void setKcal(String kcal) { + public void setKcal(Integer kcal) { this.kcal = kcal; } @@ -75,15 +162,6 @@ public class BabyDietReportModel extends BaseModel { this.dietStructure = dietStructure; } - public List getWeeklyRecipes() { - return weeklyRecipes; - } - - public void setWeeklyRecipes(List weeklyRecipes) { - this.weeklyRecipes = weeklyRecipes; - } - - public List getOneDayRecipes() { return oneDayRecipes; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java index 5d64f5e..02618b1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyNutritionController.java @@ -126,8 +126,10 @@ public class BabyNutritionController extends BaseController { * 秦皇岛儿童膳食报告模板 */ @RequestMapping(value = "/queryBabyDietReport/{id}", method = RequestMethod.GET) + @ResponseBody + @TokenRequired public BaseObjectResponse queryBabyDietReport(@PathVariable("id") String id, HttpServletRequest request) { - return null; + return babyNutritionFacade.queryBabyDietReport(id, getUserId(request)); } /** 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 c2e18d8..c6e1358 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 @@ -419,6 +419,8 @@ public class BabyCheckFacade { //新加字段 + + return model; } 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 c46d661..c72341e 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 @@ -94,16 +94,14 @@ public class BabyNutritionFacade { BabyNutritionQuery babyQuery = new BabyNutritionQuery(); babyQuery.setBabyId(babyId); - List models = babyNutritionService.queryBabyNutritions(babyQuery,"nutritiTime", Sort.Direction.ASC); - if (CollectionUtils.isNotEmpty(models)) - { - for (BabyNutritionModel model : models) - { + List models = babyNutritionService.queryBabyNutritions(babyQuery, "nutritiTime", Sort.Direction.ASC); + if (CollectionUtils.isNotEmpty(models)) { + for (BabyNutritionModel model : models) { Map map = new HashMap<>(); - map.put("id",model.getId()); - map.put("babyId",model.getBabyId()); - map.put("recordTime",DateUtil.getyyyy_MM_dd(model.getNutritiTime())); - map.put("hospitalId",model.getHospitalId()); + map.put("id", model.getId()); + map.put("babyId", model.getBabyId()); + map.put("recordTime", DateUtil.getyyyy_MM_dd(model.getNutritiTime())); + map.put("hospitalId", model.getHospitalId()); list.add(map); } } @@ -119,15 +117,13 @@ public class BabyNutritionFacade { return br; } - private Map getBabyMeasureInfo(String babyId) - { + private Map getBabyMeasureInfo(String babyId) { Map map = new HashMap(); MeasureBabyDataInfoQuery query = new MeasureBabyDataInfoQuery(); query.setBabyId(babyId); query.setSort(" modified desc "); - List models = mysqlMeasureDataInfoService.queryMeasureBabyInfoList(query); - if (CollectionUtils.isNotEmpty(models)) - { + List models = mysqlMeasureDataInfoService.queryMeasureBabyInfoList(query); + if (CollectionUtils.isNotEmpty(models)) { MeasureBabyInfoModel model = models.get(0); map.put("weight", model.getValueTwo()); map.put("hegiht", model.getValueOne()); @@ -136,18 +132,15 @@ public class BabyNutritionFacade { return map; } - public BaseResponse addOrUpBabyNutrition(BabyNutritionRequest request,Integer userId) { + public BaseResponse addOrUpBabyNutrition(BabyNutritionRequest request, Integer userId) { String hospitalId = autoMatchFacade.getHospitalId(userId); BabyNutritionModel model = request.convertToDataModel(); - if (StringUtils.isNotEmpty(model.getId())) - { + if (StringUtils.isNotEmpty(model.getId())) { model.setModified(new Date()); - babyNutritionService.updateBabyNutrition(model,model.getId()); - } - else - { + babyNutritionService.updateBabyNutrition(model, model.getId()); + } else { model.setHospitalId(hospitalId); model.setModified(new Date()); model.setCreated(new Date()); @@ -163,9 +156,8 @@ public class BabyNutritionFacade { BabyNutritionQuery babyQuery = new BabyNutritionQuery(); babyQuery.setId(id); - List models = babyNutritionService.queryBabyNutritions(babyQuery); - if (CollectionUtils.isNotEmpty(models)) - { + List models = babyNutritionService.queryBabyNutritions(babyQuery); + if (CollectionUtils.isNotEmpty(models)) { BabyNutritionResult result = new BabyNutritionResult(); result.convertToResult(models.get(0)); Organization org = organizationService.getOrganization(Integer.parseInt(result.getHospitalId())); @@ -180,7 +172,7 @@ public class BabyNutritionFacade { public BaseObjectResponse queryBabyNutritionFood() { BaseObjectResponse objectResponse = new BaseObjectResponse(); - Map map = new HashMap(); + Map map = new HashMap(); String data = HttpClientUtil.doGet(amsUrl + "/v1/getPlatfromCategoryFoods", map, "utf-8", "3d19960bf3e81e7d816c4f26051c49ba"); NutritionFoodResult result = JsonUtil.jkstr2Obj(data, NutritionFoodResult.class); objectResponse.setData(result); @@ -191,7 +183,7 @@ public class BabyNutritionFacade { public List getFoods(String ids) { - Map map = new HashMap(); + Map map = new HashMap(); map.put("ids", ids); String data = HttpClientUtil.doGet(amsUrl + "/v1/getFoodsByIds", map, "utf-8", "3d19960bf3e81e7d816c4f26051c49ba"); FoodBaseResult foodBaseResult = JsonUtil.jkstr2Obj(data, FoodBaseResult.class); @@ -219,24 +211,20 @@ public class BabyNutritionFacade { List babyIds = new ArrayList<>(); BaseListResponse objectResponse = new BaseListResponse(); - if (StringUtils.isNotEmpty(queryNo) || StringUtils.isNotEmpty(vcCardNo) || StringUtils.isNotEmpty(babyName)) - { + if (StringUtils.isNotEmpty(queryNo) || StringUtils.isNotEmpty(vcCardNo) || StringUtils.isNotEmpty(babyName)) { BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setName(babyName); babyQuery.setQueryNo(queryNo); babyQuery.setVcCardNo(vcCardNo); babyQuery.setYn(YnEnums.YES.getId()); List babies = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - if (CollectionUtils.isNotEmpty(babies)) - { - for (BabyModel babyModel : babies) - { + if (CollectionUtils.isNotEmpty(babies)) { + for (BabyModel babyModel : babies) { babyIds.add(babyModel.getId()); } } - if (CollectionUtils.isEmpty(babyIds)) - { + if (CollectionUtils.isEmpty(babyIds)) { objectResponse.setData(list); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); @@ -260,29 +248,25 @@ public class BabyNutritionFacade { } } babyQuery.setNeed("true"); - List models = babyNutritionService.queryBabyNutritions(babyQuery,"nutritiTime", Sort.Direction.DESC); - - if (CollectionUtils.isNotEmpty(models)) - { - for (BabyNutritionModel model : models) - { - Integer currentSettleStatus = getSettleStatus(model); - if (settleStatus != null){ - if (currentSettleStatus != null && (currentSettleStatus == Integer.parseInt(settleStatus))){ - Map map = new HashMap(); - map.put("id",model.getId()); - map.put("babyId",model.getBabyId()); - - BabyModel baby = babyBookbuildingService.queryBabyBuildById(model.getBabyId()); - map.put("babyName",baby.getName()); - map.put("babySex", SexEnum.getTextById(baby.getSex())); - map.put("monthAge",StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), new Date()))); - map.put("motherName", baby.getMname()); - map.put("phone", baby.getMphone()); - map.put("vcCardNo", baby.getVcCardNo()); - - String highRiskInfos = basicConfigFacade.queryBaseInfoByStr(baby.getHighRiskInfo()); - map.put("highRiskInfos",highRiskInfos); + List models = babyNutritionService.queryBabyNutritions(babyQuery, "nutritiTime", Sort.Direction.DESC); + + if (CollectionUtils.isNotEmpty(models)) { + for (BabyNutritionModel model : models) { + Map map = new HashMap(); + + map.put("id", model.getId()); + map.put("babyId", model.getBabyId()); + + BabyModel baby = babyBookbuildingService.queryBabyBuildById(model.getBabyId()); + map.put("babyName", baby.getName()); + map.put("babySex", SexEnum.getTextById(baby.getSex())); + map.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), new Date()))); + map.put("motherName", baby.getMname()); + map.put("phone", baby.getMphone()); + map.put("vcCardNo", baby.getVcCardNo()); + + String highRiskInfos = basicConfigFacade.queryBaseInfoByStr(baby.getHighRiskInfo()); + map.put("highRiskInfos", highRiskInfos); String diagnose = ""; if (StringUtils.isNotEmpty(baby.getPid())) { @@ -323,7 +307,6 @@ public class BabyNutritionFacade { } - objectResponse.setData(list); objectResponse.setPageInfo(babyQuery.getPageInfo()); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -331,6 +314,7 @@ public class BabyNutritionFacade { return objectResponse; } + public BaseObjectResponse queryBabyNutritionReport(String id, Integer userId) { /** * 获取结算状态 * @@ -358,18 +342,17 @@ public class BabyNutritionFacade { babyQuery.setHospitalId(hospitalId); babyQuery.setId(id); - List models = babyNutritionService.queryBabyNutritions(babyQuery); - if (CollectionUtils.isNotEmpty(models)) - { - BabyNutritionModel model = models.get(0); + List models = babyNutritionService.queryBabyNutritions(babyQuery); + if (CollectionUtils.isNotEmpty(models)) { + BabyNutritionModel model = models.get(0); BabyModel baby = babyBookbuildingService.queryBabyBuildById(model.getBabyId()); Map map = new HashMap(); - map.put("id",model.getId()); - map.put("babyId",model.getBabyId()); - map.put("babyName",baby.getName()); + map.put("id", model.getId()); + map.put("babyId", model.getBabyId()); + map.put("babyName", baby.getName()); map.put("babySex", SexEnum.getTextById(baby.getSex())); - map.put("monthAge",StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), new Date()))); + map.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), new Date()))); map.put("motherName", baby.getMname()); map.put("phone", baby.getMphone()); map.put("vcCardNo", baby.getVcCardNo()); @@ -377,16 +360,15 @@ public class BabyNutritionFacade { map.put("height", model.getHeight()); Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId)); map.put("hospitalName", org.getName()); - map.put("reportMonthAge",StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), model.getNutritiTime()))); + map.put("reportMonthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), model.getNutritiTime()))); int month = DateUtil.getMonth(baby.getBirth(), model.getNutritiTime()); - if (month > 36) - { + if (month > 36) { return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("月龄范围没有报告"); } - String bmi = patientWeightService.getBmi(String.valueOf(model.getWeight()),String.valueOf(model.getHeight())); + 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.getWeight(), model.getHeight(), baby.getSex(), kaupEvaluate); @@ -395,15 +377,13 @@ public class BabyNutritionFacade { map.put("kaupEvaluate", kaupEvaluate); map.put("month", month); map.put("bmi", bmi); - map.put("kaul", String.format("%.1f",valueKaul)); + map.put("kaul", String.format("%.1f", valueKaul)); data.put("baseInfo", map); - if (month < 12) - { + if (month < 12) { //根据喂养方式获取 合理喂养 Criteria ca = Criteria.where("monthAge").is(month).and("type").is(0).and("status").is(kaupEvaluate); - if (month < 7 && StringUtils.isNotEmpty(model.getFeedType())) - { + if (month < 7 && StringUtils.isNotEmpty(model.getFeedType())) { String feedType = WyTypeEnums.getNameById(Integer.parseInt(model.getFeedType())); ca.and("feedType").is(feedType); @@ -420,56 +400,50 @@ public class BabyNutritionFacade { Query.query(Criteria.where("monthAge").is(month).and("type").is(1)), BabyNutritionConfigModel.class); //每月营养素需求 - data.put("yysxq",babyNutritionConfig1.getContentOne()); + data.put("yysxq", babyNutritionConfig1.getContentOne()); - if (month > 5) - { + if (month > 5) { Double val = getMathRound(kaul); BabyNutritionConfigModel babyNutritionConfig2 = mongoTemplate.findOne( Query.query(Criteria.where("monthAge").is(month).and("type").is(6).and("kcal").is(val)), BabyNutritionConfigModel.class); - if (babyNutritionConfig2 != null) - { + if (babyNutritionConfig2 != null) { //食用须知 - data.put("syxz",babyNutritionConfig2.getContentOne()); + data.put("syxz", babyNutritionConfig2.getContentOne()); //辅食添加 - data.put("fstj",babyNutritionConfig2.getContentTwo()); + data.put("fstj", babyNutritionConfig2.getContentTwo()); //辅食制作 - data.put("fszz",babyNutritionConfig2.getContentThree()); + data.put("fszz", babyNutritionConfig2.getContentThree()); } } - } - else - { + } else { BabyNutritionConfigModel babyNutritionConfig1 = mongoTemplate.findOne( Query.query(Criteria.where("monthAge").is(month).and("type").is(2)), BabyNutritionConfigModel.class); //各月龄饮食指南 - data.put("yszl",babyNutritionConfig1.getContentOne()); + data.put("yszl", babyNutritionConfig1.getContentOne()); int tempMonth = month < 36 ? 12 : 36; List configModels = mongoTemplate.find(Query.query( Criteria.where("kcal").is(kaul).and("status").is(kaupEvaluate).and("type").is(3).and("monthAge").is(tempMonth)), BabyNutritionConfigModel.class); - if (CollectionUtils.isNotEmpty(configModels) && configModels.size() == 3) - { - List> list = new ArrayList<>(); - for (BabyNutritionConfigModel configModel : configModels) - { - Map map1 = new HashMap<>(); - map1.put("title",configModel.getTitle()); - map1.put("contents",configModel.getContentOne()); + if (CollectionUtils.isNotEmpty(configModels) && configModels.size() == 3) { + List> list = new ArrayList<>(); + for (BabyNutritionConfigModel configModel : configModels) { + Map map1 = new HashMap<>(); + map1.put("title", configModel.getTitle()); + map1.put("contents", configModel.getContentOne()); list.add(map1); } //热量计算 - data.put("foods",list); + data.put("foods", list); } List yys = getYys(month); //每日所需营养素 - data.put("yys",yys); + data.put("yys", yys); } @@ -478,119 +452,108 @@ public class BabyNutritionFacade { List wlysMapList = new ArrayList<>(); - Map elements = new HashMap(); + Map elements = new HashMap(); List mainFoods = model.getMainFood(); - getFoodElements(elements,mainFoods); + getFoodElements(elements, mainFoods); List vegYj = model.getVegYj(); - getFoodElements(elements,vegYj); + getFoodElements(elements, vegYj); List vegGj = model.getVegGj(); - getFoodElements(elements,vegGj); + getFoodElements(elements, vegGj); List vegGq = model.getVegGq(); - getFoodElements(elements,vegGq); + getFoodElements(elements, vegGq); List vegHc = model.getVegHc(); - getFoodElements(elements,vegHc); + getFoodElements(elements, vegHc); List vegJl = model.getVegJl(); - getFoodElements(elements,vegJl); + getFoodElements(elements, vegJl); List meatC = model.getMeatC(); - getFoodElements(elements,meatC); + getFoodElements(elements, meatC); List meatQ = model.getMeatQ(); - getFoodElements(elements,meatQ); + getFoodElements(elements, meatQ); List meatD = model.getMeatD(); - getFoodElements(elements,meatD); + getFoodElements(elements, meatD); List meatX = model.getMeatX(); - getFoodElements(elements,meatX); + getFoodElements(elements, meatX); List meatH = model.getMeatH(); - getFoodElements(elements,meatH); + getFoodElements(elements, meatH); List meatY = model.getMeatY(); - getFoodElements(elements,meatY); + getFoodElements(elements, meatY); List meatYz = model.getMeatYz(); - getFoodElements(elements,meatYz); + getFoodElements(elements, meatYz); List milk = model.getMilk(); - getFoodElements(elements,milk); + getFoodElements(elements, milk); List oilGg = model.getOilGg(); - getFoodElements(elements,oilGg); + getFoodElements(elements, oilGg); List beansGd = model.getBeansGd(); - getFoodElements(elements,beansGd); + getFoodElements(elements, beansGd); List beansDl = model.getBeansDl(); - getFoodElements(elements,beansDl); + getFoodElements(elements, beansDl); List fruits = model.getFruits(); - getFoodElements(elements,fruits); + getFoodElements(elements, fruits); List vegXd = model.getVegXd(); - getFoodElements(elements,vegXd); - + getFoodElements(elements, vegXd); //能量计算 - double nl = getBasicKaul( month, model.getWeight(),model.getHeight(),baby.getSex()); + double nl = getBasicKaul(month, model.getWeight(), model.getHeight(), baby.getSex()); Double nlCurrent = elements.get("能量") == null ? 0 : elements.get("能量"); getNl(yysMapList, nl, nlCurrent); Double tsCurrent = elements.get("碳素化合物") == null ? 0 : elements.get("碳素化合物");//碳素化合物 Double dbzCurrent = elements.get("蛋白质") == null ? 0 : elements.get("蛋白质");//蛋白质 Double zfCurrent = elements.get("脂肪") == null ? 0 : elements.get("脂肪");//脂肪 - if (month < 5) - { + if (month < 5) { getYysItems(yysMapList, nl, tsCurrent, "碳水化合物", 0.55, 0.65); getYysItems(yysMapList, nl, dbzCurrent, "蛋白质", 0.07, 0.09); getYysItems(yysMapList, nl, zfCurrent, "脂肪", 0.4, 0.5); - } - else if (month < 12) - { + } else if (month < 12) { getYysItems(yysMapList, nl, tsCurrent, "碳水化合物", 0.55, 0.65); getYysItems(yysMapList, nl, dbzCurrent, "蛋白质", 0.05, 0.07); getYysItems(yysMapList, nl, zfCurrent, "脂肪", 0.4, 0.5); - } - else if (month < 36) - { + } else if (month < 36) { getYysItems(yysMapList, nl, tsCurrent, "碳水化合物", 0.5, 0.7); getYysItems(yysMapList, nl, dbzCurrent, "蛋白质", 0.07, 0.2); getYysItems(yysMapList, nl, zfCurrent, "脂肪", 0.2, 0.35); - } - else - { + } else { getYysItems(yysMapList, nl, tsCurrent, "碳水化合物", 0.55, 0.7); getYysItems(yysMapList, nl, dbzCurrent, "蛋白质", 0.07, 0.2); getYysItems(yysMapList, nl, zfCurrent, "脂肪", 0.15, 0.3); } - if (elements.size() > 0) - { + if (elements.size() > 0) { int tempMonth = month < 6 ? 0 : (month < 12 ? 6 : 12); - for (String key : elements.keySet()) - { + for (String key : elements.keySet()) { BabyNutritionConfigModel babyNutritionConfig1 = mongoTemplate.findOne( Query.query(Criteria.where("type").is(5).and("monthAge").is(tempMonth).and("title").is(key)), BabyNutritionConfigModel.class); - if (babyNutritionConfig1 == null) - { + if (babyNutritionConfig1 == null) { continue; } Double value = elements.get(key); @@ -599,55 +562,46 @@ public class BabyNutritionFacade { String downValue = babyNutritionConfig1.getDownValue(); int status = 0; - if (StringUtils.isNotEmpty(upValue) && StringUtils.isNotEmpty(normalValue)) - { + if (StringUtils.isNotEmpty(upValue) && StringUtils.isNotEmpty(normalValue)) { status = Double.parseDouble(upValue) < value ? 1 : (Double.parseDouble(normalValue) > value ? -1 : 0); - }else if (StringUtils.isNotEmpty(downValue) && StringUtils.isNotEmpty(normalValue)) - { + } else if (StringUtils.isNotEmpty(downValue) && StringUtils.isNotEmpty(normalValue)) { status = Double.parseDouble(normalValue) < value ? 1 : (Double.parseDouble(downValue) > value ? -1 : 0); - } - else if (StringUtils.isNotEmpty(normalValue)) - { + } else if (StringUtils.isNotEmpty(normalValue)) { status = Double.parseDouble(normalValue) > value ? -1 : 0; } Map wly = new HashMap(); - wly.put("name",key); + wly.put("name", key); wly.put("normalValue", normalValue); - wly.put("currentValue", String.format("%.2f",value)); - wly.put("status", status); + wly.put("currentValue", String.format("%.2f", value)); + wly.put("status", status); wlysMapList.add(wly); } } - data.put("yysMapList",yysMapList); + data.put("yysMapList", yysMapList); data.put("wlysMapList", wlysMapList); List items = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(yysMapList)) - { - for (Map map1 : yysMapList) - { - if (map1 == null) - { + if (CollectionUtils.isNotEmpty(yysMapList)) { + for (Map map1 : yysMapList) { + if (map1 == null) { continue; } Integer status = Integer.valueOf(String.valueOf(map1.get("status"))); - if (status != 0) - { + if (status != 0) { String str = status == -1 ? "摄入不足" : "摄入过量"; BabyNutritionConfigModel babyNutritionConfig1 = mongoTemplate.findOne( Query.query(Criteria.where("type").is(7).and("status").is(str).and("title").is(String.valueOf(map1.get("name")))), BabyNutritionConfigModel.class); - if (babyNutritionConfig1 == null) - { + if (babyNutritionConfig1 == null) { continue; } Map item = new HashMap(); - item.put("title",babyNutritionConfig1.getTitle()+str); - item.put("content",babyNutritionConfig1.getContentOne()); + item.put("title", babyNutritionConfig1.getTitle() + str); + item.put("content", babyNutritionConfig1.getContentOne()); items.add(item); } } @@ -655,23 +609,19 @@ public class BabyNutritionFacade { data.put("yysitems", items); List wlysitems = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(wlysMapList)) - { - for (Map map1 : wlysMapList) - { + if (CollectionUtils.isNotEmpty(wlysMapList)) { + for (Map map1 : wlysMapList) { Integer status = Integer.valueOf(String.valueOf(map1.get("status"))); - if (status != 0) - { + if (status != 0) { String str = status == -1 ? "摄入不足" : "摄入过量"; BabyNutritionConfigModel babyNutritionConfig1 = mongoTemplate.findOne( Query.query(Criteria.where("type").is(7).and("status").is(str).and("title").is(String.valueOf(map1.get("name")))), BabyNutritionConfigModel.class); - if (babyNutritionConfig1 == null) - { + if (babyNutritionConfig1 == null) { continue; } Map item = new HashMap(); - item.put("title",babyNutritionConfig1.getTitle()+str); - item.put("content",babyNutritionConfig1.getContentOne()); + item.put("title", babyNutritionConfig1.getTitle() + str); + item.put("content", babyNutritionConfig1.getContentOne()); wlysitems.add(item); } } @@ -688,35 +638,26 @@ public class BabyNutritionFacade { return objectResponse; } - private void getFoodElements(Map elements,List foods) - { - if (CollectionUtils.isNotEmpty(foods)) - { - for (Map map1 : foods) - { - if (map1.get("val") == null || map1.get("ids") == null) - { + private void getFoodElements(Map elements, List foods) { + if (CollectionUtils.isNotEmpty(foods)) { + for (Map map1 : foods) { + if (map1.get("val") == null || map1.get("ids") == null) { continue; } String ids = String.valueOf(map1.get("ids")); String val = String.valueOf(map1.get("val")); - if (StringUtils.isEmpty(ids) || StringUtils.isEmpty(val)) - { + if (StringUtils.isEmpty(ids) || StringUtils.isEmpty(val)) { continue; } - if (StringUtils.isNotEmpty(ids) && StringUtils.isNotEmpty(val)) - { + if (StringUtils.isNotEmpty(ids) && StringUtils.isNotEmpty(val)) { List foodResults = getFoods(ids); - if (CollectionUtils.isNotEmpty(foodResults)) - { - for (FoodResult food : foodResults) - { + if (CollectionUtils.isNotEmpty(foodResults)) { + for (FoodResult food : foodResults) { Double protein = (elements.get(food.getNutritionName()) == null ? 0 : elements.get(food.getNutritionName())); - if (food.getProtein() != null) - { - elements.put(food.getNutritionName(),protein == null ? food.getProtein() : protein+(food.getProtein()*Double.parseDouble(val)/100)); + if (food.getProtein() != null) { + elements.put(food.getNutritionName(), protein == null ? food.getProtein() : protein + (food.getProtein() * Double.parseDouble(val) / 100)); } } @@ -726,40 +667,35 @@ public class BabyNutritionFacade { } } - private void getYysItems(List yysMapList,double nl,Double current,String title,double down,double up) - { - if (current == null || current == 0) - { + private void getYysItems(List yysMapList, double nl, Double current, String title, double down, double up) { + if (current == null || current == 0) { return; } Map map = new HashMap(); - map.put("name",title); - map.put("normalValue", String.format("%.2f",(nl * down)) + "-" + String.format("%.2f",(nl * up))); + map.put("name", title); + map.put("normalValue", String.format("%.2f", (nl * down)) + "-" + String.format("%.2f", (nl * up))); map.put("currentValue", String.format("%.2f", current)); map.put("status", (nl * up) < current ? 1 : (nl * down > current ? -1 : 0)); yysMapList.add(map); } - private void getNl(List yysMapList,double nl,Double current) - { - if (current == null || current == 0) - { + private void getNl(List yysMapList, double nl, Double current) { + if (current == null || current == 0) { return; } Map nlMap = new HashMap(); - nlMap.put("name","能量"); - nlMap.put("normalValue",String.format("%.2f",(nl-50))+"-" +String.format("%.2f",(nl+50))); - nlMap.put("currentValue",String.format("%.2f",current)); + nlMap.put("name", "能量"); + nlMap.put("normalValue", String.format("%.2f", (nl - 50)) + "-" + String.format("%.2f", (nl + 50))); + nlMap.put("currentValue", String.format("%.2f", current)); nlMap.put("status", nl + 50 < current ? 1 : (nl - 50 > current ? -1 : 0)); yysMapList.add(nlMap); } - private List getYys(int month){ + private List getYys(int month) { List list = new ArrayList<>(); - if (month < 36) - { + if (month < 36) { list.add("碳水化合物:总能量的50-70%"); list.add("蛋白质:总能量的7-20%,平均每日约0.96g/kg"); list.add("脂肪:总能量的20-35%"); @@ -768,9 +704,7 @@ public class BabyNutritionFacade { list.add("无机物:钙的推荐摄入量为600mg,磷的推荐摄入量为300mg,钠的充分摄入为700mg,钾的充分摄入量为900mg,镁的推荐摄入量为140mg,铁的推荐摄入量为9mg,锌的推荐摄入量为4mg,铜的推荐摄入量为0.3mg,氟的充分摄入量为0.6mg,猛的充分摄入量为1.4mg,碘的推荐摄入量为90μg,硒的推荐摄入量为25μg"); list.add("维生素:维生素A的推荐摄入量为310μgRE,维生素D的充分摄入量为10μg,维生素E的充分摄入量为6mg α-TE,维生素C的推荐摄入量为40mg,维生素B1的推荐摄入量为0.6mg,维生素B2(核黄素)的0.6mg,维生素B3烟酸的推荐摄入量为6mgNE,维生素B6的推荐摄入量0.6mg,叶酸的推荐摄入量为160μg DFE,维生素B12的推荐摄入量为1.0μg,泛酸的充分摄入量为2.1mg,维生素H(生物素)的充分摄入量17μg"); list.add("水分:1岁120-135ml/kg/day;2岁115-125ml/kg/day"); - } - else - { + } else { list.add("碳水化合物:总能量的55-70%"); list.add("蛋白质:总能量的7-20%,平均每日约0.88g/kg"); list.add("脂肪:总能量的15-30%"); @@ -825,13 +759,12 @@ public class BabyNutritionFacade { // return list; // } - private String handleData(Double nl,double up,double down) - { - return String.format("%.2f",(nl * down))+"-"+String.format("%.2f",(nl * up)); + private String handleData(Double nl, double up, double down) { + return String.format("%.2f", (nl * down)) + "-" + String.format("%.2f", (nl * up)); } - private String handleData(Double nl,double value) - { - return String.format("%.2f",(nl * value)); + + private String handleData(Double nl, double value) { + return String.format("%.2f", (nl * value)); } /** @@ -841,98 +774,61 @@ public class BabyNutritionFacade { * 36月龄 男童:88.5-61.9×年龄(岁)+PA[26.7×体重(kg)+903×身长(m)]+20kcal/day PA=1.26 * 36月龄 女童:135.3-30.8×年龄(岁)+PA[10×体重(kg)+934×身长(m)]+20kcal/day PA=1.31 * 获取热量 + * * @return */ - private double getBasicKaul(int month,Double weight,Double height,int sex) - { + private double getBasicKaul(int month, Double weight, Double height, int sex) { double kaul = 0; - if (month < 12) - { + if (month < 12) { kaul = weight * (month < 6 ? 90 : 80); - } - else if (month < 36) - { + } else if (month < 36) { kaul = 89 * weight - 100 + 20; - } - else - { - if (sex == 1) - { - kaul = 88.5-61.9*3+1.26*(26.7*weight +903*(height/100))+20; - } - else { - kaul = 135.3-30.8*3+1.31*(10*weight +934*(height/100))+20; + } else { + if (sex == 1) { + kaul = 88.5 - 61.9 * 3 + 1.26 * (26.7 * weight + 903 * (height / 100)) + 20; + } else { + kaul = 135.3 - 30.8 * 3 + 1.31 * (10 * weight + 934 * (height / 100)) + 20; } } return kaul; } - - private double getKal(int month,Double weight,Double height,int sex,String kaupEvaluate) - { + private double getKal(int month, Double weight, Double height, int sex, String kaupEvaluate) { double kaul = getBasicKaul(month, weight, height, sex); kaul = getMathAbs(kaul); - if (month < 12) - { - if (kaul < 400) - { + if (month < 12) { + if (kaul < 400) { kaul = 400; - } - else if (kaul > 1000) - { + } else if (kaul > 1000) { kaul = 1000; } - } - else if (month < 36) - { - if (kaul < 600 && "正常".equals(kaupEvaluate)) - { + } else if (month < 36) { + if (kaul < 600 && "正常".equals(kaupEvaluate)) { kaul = 600; - } - else if (kaul > 1550 && "正常".equals(kaupEvaluate)) - { + } else if (kaul > 1550 && "正常".equals(kaupEvaluate)) { kaul = 1550; - }else if (kaul < 500 && "消瘦".equals(kaupEvaluate)) - { + } else if (kaul < 500 && "消瘦".equals(kaupEvaluate)) { kaul = 500; - } - else if (kaul > 1100 && "消瘦".equals(kaupEvaluate)) - { + } else if (kaul > 1100 && "消瘦".equals(kaupEvaluate)) { kaul = 1100; - } - else if (kaul < 800 && "超重".equals(kaupEvaluate)) - { + } else if (kaul < 800 && "超重".equals(kaupEvaluate)) { kaul = 800; - } - else if (kaul > 1750 && "超重".equals(kaupEvaluate)) - { + } else if (kaul > 1750 && "超重".equals(kaupEvaluate)) { kaul = 1750; } - } - else if (month == 36) - { - if (kaul < 1300 && "正常".equals(kaupEvaluate)) - { + } else if (month == 36) { + if (kaul < 1300 && "正常".equals(kaupEvaluate)) { kaul = 1300; - } - else if (kaul > 1750 && "正常".equals(kaupEvaluate)) - { + } else if (kaul > 1750 && "正常".equals(kaupEvaluate)) { kaul = 1750; - }else if (kaul < 1200 && "消瘦".equals(kaupEvaluate)) - { + } else if (kaul < 1200 && "消瘦".equals(kaupEvaluate)) { kaul = 1200; - } - else if (kaul > 1450 && "消瘦".equals(kaupEvaluate)) - { + } else if (kaul > 1450 && "消瘦".equals(kaupEvaluate)) { kaul = 1450; - } - else if (kaul < 1500 && "超重".equals(kaupEvaluate)) - { + } else if (kaul < 1500 && "超重".equals(kaupEvaluate)) { kaul = 1500; - } - else if (kaul > 1850 && "超重".equals(kaupEvaluate)) - { + } else if (kaul > 1850 && "超重".equals(kaupEvaluate)) { kaul = 1850; } } @@ -943,7 +839,7 @@ public class BabyNutritionFacade { private Double getMathAbs(Double kcal) { - int k = (int)(kcal/100)*100; + int k = (int) (kcal / 100) * 100; Double d = Math.floor(k); Double md = d + 50; if (md > kcal) { @@ -954,28 +850,24 @@ public class BabyNutritionFacade { } private Double getMathRound(Double kcal) { - if (kcal % 100 != 0) - { - kcal+=50; - } + if (kcal % 100 != 0) { + kcal += 50; + } return kcal > 1000 ? 1000 : (kcal < 400 ? 400 : kcal); } - /** * 0-11分为正常、消瘦、超重及以上三种情况:-2SD ≤ BMI ≤ 1SD正常;BMI<-2SD消瘦;BMI>+1SD超重 * 12-26分为正常、消瘦、超重及以上三种情况:-2SD ≤ BMI ≤ 1SD正常;BMI<-2SD消瘦;BMI>+1SD超重 + * * @return */ - private String getBabyStatus(int month,int sex,Double weight,Double hegiht,String bmi) - { + private String getBabyStatus(int month, int sex, Double weight, Double hegiht, String bmi) { String kaupEvaluate = ""; - if (weight != null && hegiht != null) - { + if (weight != null && hegiht != null) { - if (StringUtils.isNotEmpty(bmi)) - { + if (StringUtils.isNotEmpty(bmi)) { Double bbmi = Double.parseDouble(bmi); //查询该月龄的年龄别体重值 // 正常 :-2SD ≤ A ≤ +1SD @@ -984,16 +876,11 @@ public class BabyNutritionFacade { List list = babyCheckService.queryBabyHealthConfig(month, sex, 5); if (CollectionUtils.isNotEmpty(list)) { AwModel awModel = list.get(0); - if (awModel.getPoneDs() < bbmi) - { + if (awModel.getPoneDs() < bbmi) { kaupEvaluate = "超重"; - } - else if (awModel.getPoneDs() >= bbmi && awModel.getRtwoDs() <= bbmi) - { + } else if (awModel.getPoneDs() >= bbmi && awModel.getRtwoDs() <= bbmi) { kaupEvaluate = "正常"; - } - else if (awModel.getRtwoDs() > bbmi) - { + } else if (awModel.getRtwoDs() > bbmi) { kaupEvaluate = "消瘦"; } } @@ -1002,6 +889,42 @@ public class BabyNutritionFacade { return kaupEvaluate; } + public BaseObjectResponse queryBabyDietReport(String id, Integer userId) { + Map data = new HashMap(); + + BabyNutritionQuery babyQuery = new BabyNutritionQuery(); + String hospitalId = autoMatchFacade.getHospitalId(userId); + babyQuery.setHospitalId(hospitalId); + babyQuery.setId(id); + + List models = babyNutritionService.queryBabyNutritions(babyQuery); + if (CollectionUtils.isNotEmpty(models)) { + BabyNutritionModel model = models.get(0); + BabyModel baby = babyBookbuildingService.queryBabyBuildById(model.getBabyId()); + + Map map = new HashMap(); + map.put("id", model.getId()); + map.put("babyId", model.getBabyId()); + map.put("babyName", baby.getName()); + map.put("babySex", SexEnum.getTextById(baby.getSex())); + map.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), new Date()))); + map.put("motherName", baby.getMname()); + map.put("phone", baby.getMphone()); + map.put("vcCardNo", baby.getVcCardNo()); + map.put("weight", model.getWeight()); + map.put("height", model.getHeight()); + Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId)); + map.put("hospitalName", org.getName()); + map.put("reportMonthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), model.getNutritiTime()))); + data.put("userInfo", map); + } + + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setData(data); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } /** * 未结算列表