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 ac19441..1504554 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 @@ -152,8 +152,9 @@ public class BabyCheckController extends BaseController{ @RequestParam(required = true) Double weight, @RequestParam(required = true) Integer sex, @RequestParam(required = true) String birth, - @RequestParam(required = false) Integer correctAge){ - return babyCheckFacade.queryHWByHeight(height, weight, sex, birth, correctAge); + @RequestParam(required = false) String dueDate, + @RequestParam(required = false) String checkDate){ + return babyCheckFacade.queryHWByHeight(height, weight, sex, birth, dueDate,checkDate); } @@ -172,8 +173,9 @@ public class BabyCheckController extends BaseController{ @RequestParam(required = true) Integer type, @RequestParam(required = true) String birth, @RequestParam(required = false) String babyId, - @RequestParam(required = false) Integer correctAge){ - return babyCheckFacade.queryBabyHealthStatus(birth, value, sex, type, correctAge, babyId); + @RequestParam(required = false) String dueDate, + @RequestParam(required = false) String checkDate){ + return babyCheckFacade.queryBabyHealthStatus(birth, value, sex, type, dueDate, babyId,checkDate); } @@ -190,8 +192,9 @@ public class BabyCheckController extends BaseController{ @ResponseBody public BaseObjectResponse queryGrowthEvaluate(@RequestParam(required = true) Double height,@RequestParam(required = true) Integer sex ,@RequestParam(required = true) String birth,@RequestParam(required = true) Double weight, - @RequestParam(required = false) Integer correctAge){ - return babyCheckFacade.queryGrowthEvaluate(height, sex, birth, weight, correctAge); + @RequestParam(required = false) String dueDate, + @RequestParam(required = false) String checkDate){ + return babyCheckFacade.queryGrowthEvaluate(height, sex, birth, weight, dueDate,checkDate); } 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 9964a10..b3287f5 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 @@ -1393,10 +1393,10 @@ public class BabyCheckFacade { * @param sex * @return */ - public BaseObjectResponse queryHWByHeight(Double height, Double weight, Integer sex, String birth,Integer correctAge) { + public BaseObjectResponse queryHWByHeight(Double height, Double weight, Integer sex, String birth, String dueDate,String checkDate) { - String res = getBabyHW(height, weight, sex, birth,correctAge); + String res = getBabyHW(height, weight, sex, birth, dueDate,checkDate); BaseObjectResponse br = new BaseObjectResponse(); br.setData(res); br.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -1405,15 +1405,24 @@ public class BabyCheckFacade { } - public String getBabyHW(Double height, Double weight, Integer sex, String birth,Integer correctAge) { + public String getBabyHW(Double height, Double weight, Integer sex, String birth,String dueDate,String checkDate) { Double hw = getHw(height); + 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)); + } - Date birthday = DateUtil.addDay(DateUtil.parseYMD(birth), Math.abs(correctAge == null ? 0 : correctAge)); - //计算儿童的月龄 - int monthAge = DateUtil.getBabyAgeMonth(birthday, new Date()); -// int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date()); int ageType = 0; if (monthAge > 24) { ageType = 1; @@ -1487,9 +1496,9 @@ public class BabyCheckFacade { * @param birth * @return */ - public BaseObjectResponse queryGrowthEvaluate(Double height, Integer sex, String birth, Double weight,Integer correctAge) { + public BaseObjectResponse queryGrowthEvaluate(Double height, Integer sex, String birth, Double weight,String dueDate,String checkDate) { - List list = getBabyGrowthEvaluate(height, sex, birth, weight, correctAge); + List list = getBabyGrowthEvaluate(height, sex, birth, weight, dueDate, checkDate); BaseObjectResponse br = new BaseObjectResponse(); br.setData(list); br.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -1513,16 +1522,24 @@ public class BabyCheckFacade { * * @return */ - public List getBabyGrowthEvaluate(Double height, Integer sex, String birth, Double weight,Integer correctAge) { + public List getBabyGrowthEvaluate(Double height, Integer sex, String birth, Double weight,String dueDate,String checkDate) { List growthEvaluate = new ArrayList<>(); Double hw = getHw(height); - Date birthday = DateUtil.addDay(DateUtil.parseYMD(birth), Math.abs(correctAge == null ? 0 : correctAge)); - - //计算儿童的月龄 - int monthAge = DateUtil.getBabyAgeMonth(birthday, new Date()); + 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)); + } - //int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date()); int ageType = 0; if (monthAge > 24) { ageType = 1; @@ -1638,16 +1655,17 @@ public class BabyCheckFacade { return objectResponse; } - public BaseObjectResponse queryBabyHealthStatus(String birth, Double value, Integer sex, Integer type,Integer correctAge,String babyId) { + public BaseObjectResponse queryBabyHealthStatus(String birth, Double value, Integer sex, Integer type,String dueDate,String babyId, + String checkDate) { String res = ""; //体重 if (type == 0) { - res = getGrowthValue(birth, value, sex,correctAge,babyId); + res = getGrowthValue(birth, value, sex,dueDate,babyId,checkDate); } else { - res = getGrowthValue1(birth, value, sex, type, correctAge); + res = getGrowthValue1(birth, value, sex, type, dueDate,checkDate); } BaseObjectResponse objectResponse = new BaseObjectResponse(); @@ -1658,33 +1676,41 @@ public class BabyCheckFacade { } - public String getGrowthValue(String birth, Double value, Integer sex,Integer correctAge,String babyId) { + public String getGrowthValue(String birth, Double value, Integer sex,String dueDate,String babyId,String checkDate) { - BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setId(babyId); - babyQuery.setYn(YnEnums.YES.getId()); - //查询儿童的基本信息 - List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); +// BabyModelQuery babyQuery = new BabyModelQuery(); +// babyQuery.setId(babyId); +// babyQuery.setYn(YnEnums.YES.getId()); +// //查询儿童的基本信息 +// List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); List list = null; - if (CollectionUtils.isNotEmpty(models) && models.get(0).getDueWeek() != null && correctAge != null) + if (dueDate != null) { - Integer days = DateUtil.daysBetween(DateUtil.parseYMD(birth), new Date()); - if (models.get(0).getDueDay() != null) + Integer week = DateUtil.getWeek2(DateUtil.addDay(DateUtil.parseYMD(dueDate), -280),DateUtil.parseYMD(checkDate)); + if (week < 41) { - days+=models.get(0).getDueDay(); + //查询该月龄的年龄别体重值 + list = babyCheckService.queryBabyHealthConfigWeek(week, sex, 4); + } + else + { + //计算儿童的月龄 + int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(dueDate), DateUtil.parseYMD(checkDate)); + if (monthAge < 0) + { + monthAge = 0; + } + //查询该月龄的年龄别体重值 + list = babyCheckService.queryBabyHealthConfig(monthAge, sex, 0); } - Integer week = models.get(0).getDueWeek() + days/7; - //查询该月龄的年龄别体重值 - list = babyCheckService.queryBabyHealthConfigWeek(week, sex, 4); } else { - //Date birthday = DateUtil.addDay(DateUtil.parseYMD(birth),Math.abs(correctAge == null ? 0 : correctAge)); //计算儿童的月龄 - int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date()); + int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), DateUtil.parseYMD(checkDate)); //查询该月龄的年龄别体重值 list = babyCheckService.queryBabyHealthConfig(monthAge, sex, 0); } @@ -1716,10 +1742,22 @@ public class BabyCheckFacade { } - public String getGrowthValue1(String birth, Double value, Integer sex, Integer type,Integer correctAge) { - Date birthday = DateUtil.addDay(DateUtil.parseYMD(birth),Math.abs(correctAge == null ? 0 : correctAge)); + public String getGrowthValue1(String birth, Double value, Integer sex, + Integer type,String dueDate,String checkDate) { //计算儿童的月龄 - int monthAge = DateUtil.getBabyAgeMonth(birthday, new Date()); + 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)); + } //查询该月龄的年龄别体重值