diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java index 7f33e9e..dbfe1b3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java @@ -271,7 +271,18 @@ public class BabyCheckController extends BaseController { return babyCheckFacade.queryBabyHealthStatusMap(birth, value, sex, type, dueDate, babyId, checkDate); } + @RequestMapping(value = "/queryBabyHealthStatusMapNew", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse queryBabyHealthStatusMapNew(@RequestParam(required = true) Double value, + @RequestParam(required = true) Integer sex, + @RequestParam(required = true) Integer type, + @RequestParam(required = true) String birth, + @RequestParam(required = false) String babyId, + @RequestParam(required = false) String dueDate, + @RequestParam(required = false) String checkDate) { + return babyCheckFacade.queryBabyHealthStatusMapNew(birth, value, sex, type, dueDate, babyId, checkDate); + } /** * 获取bim值 * 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 1d8b91b..17d68ea 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 @@ -2487,6 +2487,23 @@ public class BabyCheckFacade extends BaseServiceImpl { objectResponse.setErrormsg("成功"); return objectResponse; } + public BaseObjectResponse queryBabyHealthStatusMapNew(String birth, Double value, Integer sex, Integer type, String dueDate, String babyId, + String checkDate) { + Map res = new HashMap(); + + //体重 + if (type == 0) { + res = getGrowthValueMapNew(birth, value, sex, dueDate, babyId, checkDate); + } else { + res = getGrowthValue1MapNew(birth, value, sex, type, dueDate, checkDate); + } + + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setData(res); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } public String getGrowthValue(String birth, Double value, Integer sex, String dueDate, String babyId, String checkDate) { @@ -2659,6 +2676,97 @@ public class BabyCheckFacade extends BaseServiceImpl { return map; } + public Map getGrowthValueMapNew(String birth, Double value, Integer sex, String dueDate, String babyId, String checkDate) { + Map map = new HashMap <>(); + + +// BabyModelQuery babyQuery = new BabyModelQuery(); +// babyQuery.setId(babyId); +// babyQuery.setYn(YnEnums.YES.getId()); +// //查询儿童的基本信息 +// List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); + + String res = ""; + + List list = null; + if (dueDate != null) { + Integer week = DateUtil.getWeek2(DateUtil.addDay(DateUtil.parseYMD(dueDate), -280), DateUtil.parseYMD(checkDate)); + if (week < 41) { + //查询该月龄的年龄别体重值 + list = babyCheckService.queryBabyHealthConfigWeek(week, sex, 4); + + + if (CollectionUtils.isNotEmpty(list)) { + try { + AwModel model = list.get(0); + if (value != null) { + + if (value > model.getPtwoDs()) { + res = "上"; + }else if (value > model.getPoneDs() && value <= model.getPtwoDs()) { + res = "中上"; + }else if (value > model.getMiddleDs() && value <= model.getPoneDs()) { + res = "中+"; + }else if (model.getMiddleDs().equals( value )) { + res = "正常"; + }else if (value < model.getMiddleDs() && value >= model.getRoneDs()) { + res = "中-"; + }else if (value < model.getRoneDs() && value >= model.getRtwoDs()) { + res = "中下"; + }else if (value < model.getRtwoDs()) { + res = "下"; + } + } + + map.put("res", res); + map.put("value", model.getMiddleDs().toString()); + } catch (Exception e) { + e.printStackTrace(); + } + } + return map; + } else { + //计算儿童的月龄 + int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(dueDate), DateUtil.parseYMD(checkDate)); + if (monthAge < 0) { + monthAge = 0; + } + //查询该月龄的年龄别体重值 + list = babyCheckService.queryBabyHealthConfig(monthAge, sex, 0); + } + } else { + //计算儿童的月龄 + int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), DateUtil.parseYMD(checkDate)); + //查询该月龄的年龄别体重值 + list = babyCheckService.queryBabyHealthConfig(monthAge, sex, 0); + } + + if (CollectionUtils.isNotEmpty(list)) { + AwModel model = list.get(0); + if (value != null) { + if (model.getPthreeDs() < value) { + res = "上"; + } else if (model.getPthreeDs() >= value && value > model.getPtwoDs()) { + res = "中上"; + } else if (model.getPtwoDs() >= value && value > model.getPoneDs()) { + res = "中+"; + } else if (model.getPoneDs() >= value && value >= model.getRoneDs()) { + res = "正常"; + } else if (model.getRoneDs() > value && value >= model.getRtwoDs()) { + res = "中-"; + } else if (model.getRtwoDs() > value && value >= model.getRthreeDs()) { + res = "中下"; + } else if (model.getRtwoDs() > value) { + res = "下"; + } + } + map.put("res", res); + map.put("value", model.getMiddleDs().toString()); + } + + return map; + + } public Map getGrowthValue1Map(String birth, Double value, Integer sex, Integer type, String dueDate, String checkDate) { @@ -2709,6 +2817,57 @@ public class BabyCheckFacade extends BaseServiceImpl { return map; } + public Map getGrowthValue1MapNew(String birth, Double value, Integer sex, + Integer type, String dueDate, String checkDate) { + Map map = new HashMap <>(); + //计算儿童的月龄 + int monthAge = 0; + if (StringUtils.isNotEmpty(dueDate)) { + monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(dueDate), DateUtil.parseYMD(checkDate)); + if (monthAge < 0) { + monthAge = 0; + } + } else { + monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), DateUtil.parseYMD(checkDate)); + } + + + //查询该月龄的年龄别体重值 + List list = babyCheckService.queryBabyHealthConfig(monthAge, sex, type); + String res = ""; + if (CollectionUtils.isNotEmpty(list)) { + try { + AwModel model = list.get(0); + if (value != null) { + + if (value > model.getPtwoDs()) { + res = "上"; + }else if (value > model.getPoneDs() && value <= model.getPtwoDs()) { + res = "中上"; + }else if (value > model.getMiddleDs() && value <= model.getPoneDs()) { + res = "中+"; + }else if (model.getMiddleDs().equals( value )) { + res = "正常"; + }else if (value < model.getMiddleDs() && value >= model.getRoneDs()) { + res = "中-"; + }else if (value < model.getRoneDs() && value >= model.getRtwoDs()) { + res = "中下"; + }else if (value < model.getRtwoDs()) { + res = "下"; + } + + } + + map.put("res", res); + map.put("value", model.getMiddleDs().toString()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + return map; + + } public String getGrowthValue1(String birth, Double value, Integer sex, Integer type, String dueDate, String checkDate) {