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 41f79a2..6374b2c 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 @@ -117,7 +117,7 @@ public class BabyCheckFacade extends BaseServiceImpl { private BabyAfterVisitService babyAfterVisitService; public static final String HIS_VERSION = PropertiesUtils.getPropertyValue("his_version"); - + public static final String NORMAL= "正常"; /** * 更新检查 * @@ -848,8 +848,7 @@ public class BabyCheckFacade extends BaseServiceImpl { Map map = new HashMap<>(); if (StringUtils.isNotEmpty(babyCheckModel.getBuildId())) { BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(babyCheckModel.getBuildId())), BabyModel.class); - if (babyModel == null) - { + if (babyModel == null) { continue; } @@ -2051,13 +2050,16 @@ public class BabyCheckFacade extends BaseServiceImpl { public BaseObjectResponse queryBabyHealthStatus(String birth, Double value, Integer sex, Integer type, String dueDate, String babyId, String checkDate) { - String res = ""; +// String res = ""; + Map res = new HashMap(); //体重 if (type == 0) { - res = getGrowthValue(birth, value, sex, dueDate, babyId, checkDate); +// res = getGrowthValue(birth, value, sex, dueDate, babyId, checkDate); + res = getGrowthValueMap(birth, value, sex, dueDate, babyId, checkDate); } else { - res = getGrowthValue1(birth, value, sex, type, dueDate, checkDate); +// res = getGrowthValue1(birth, value, sex, type, dueDate, checkDate); + res = getGrowthValue1Map(birth, value, sex, type, dueDate, checkDate); } BaseObjectResponse objectResponse = new BaseObjectResponse(); @@ -2145,7 +2147,140 @@ public class BabyCheckFacade extends BaseServiceImpl { return res; } + public Map getGrowthValueMap(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 (model.getPthreeDs() <= value) { + res = "上"; + } else if (model.getPthreeDs() > value && value >= model.getPtwoDs()) { + res = NORMAL+"上"; + } else if (model.getPtwoDs() > value && value >= model.getPoneDs()) { + res = NORMAL+"+"; + } else if (model.getPoneDs() > value && value > model.getRoneDs()) { + res = "正常"; + } else if (model.getRoneDs() >= value && value > model.getRtwoDs()) { + res = NORMAL+"-"; + } else if (model.getRtwoDs() >= value && value > model.getRthreeDs()) { + res = NORMAL+"下"; + } else if (model.getRtwoDs() >= value) { + res = "下"; + } + map.put("res", res); + map.put("value", model.getRtwoDs().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 (model.getPthreeDs() < value) { + res = "上"; + } else if (model.getPthreeDs() >= value && value > model.getPtwoDs()) { + res = NORMAL+"上"; + } else if (model.getPtwoDs() >= value && value > model.getPoneDs()) { + res = NORMAL+"+"; + } else if (model.getPoneDs() >= value && value >= model.getRoneDs()) { + res = "正常"; + } else if (model.getRoneDs() > value && value >= model.getRtwoDs()) { + res = NORMAL+"-"; + } else if (model.getRtwoDs() > value && value >= model.getRthreeDs()) { + res = NORMAL+"下"; + } else if (model.getRtwoDs() > value) { + res = "下"; + } + map.put("res", res); + map.put("value", model.getRtwoDs().toString()); + } + + return map; + + } + public Map getGrowthValue1Map(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 (model.getPthreeDs() < value) { + res = "上"; + } else if (model.getPthreeDs() >= value && value > model.getPtwoDs()) { + res = NORMAL+"上"; + } else if (model.getPtwoDs() >= value && value > model.getPoneDs()) { + res = NORMAL+"+"; + } else if (model.getPoneDs() >= value && value >= model.getRoneDs()) { + res = NORMAL; + } else if (model.getRoneDs() > value && value >= model.getRtwoDs()) { + res = NORMAL+"-"; + } else if (model.getRtwoDs() > value && value >= model.getRthreeDs()) { + res = NORMAL+"下"; + } else if (model.getRtwoDs() > value) { + res = "下"; + } + map.put("res", res); + map.put("value", model.getPthreeDs().toString()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + return map; + + } public String getGrowthValue1(String birth, Double value, Integer sex, Integer type, String dueDate, String checkDate) {