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 0c2ec41..ac19441 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 @@ -153,7 +153,7 @@ public class BabyCheckController extends BaseController{ @RequestParam(required = true) Integer sex, @RequestParam(required = true) String birth, @RequestParam(required = false) Integer correctAge){ - return babyCheckFacade.queryHWByHeight(height, weight, sex, birth,correctAge); + return babyCheckFacade.queryHWByHeight(height, weight, sex, birth, correctAge); } @@ -173,7 +173,7 @@ public class BabyCheckController extends BaseController{ @RequestParam(required = true) String birth, @RequestParam(required = false) String babyId, @RequestParam(required = false) Integer correctAge){ - return babyCheckFacade.queryBabyHealthStatus(birth, value, sex, type,correctAge,babyId); + return babyCheckFacade.queryBabyHealthStatus(birth, value, sex, type, correctAge, babyId); } @@ -217,6 +217,16 @@ public class BabyCheckController extends BaseController{ } + @RequestMapping(value = "/getHighBabyMonthAge", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse getHighBabyMonthAge( + @RequestParam(required = true) String babyId, + @RequestParam(required = true) String checkDate, + @RequestParam(required = true) Boolean isHighRisk){ + return babyCheckFacade.getHighBabyMonthAge(babyId,checkDate,isHighRisk); + + } + /** *儿童检查曲线图 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 75edfba..9964a10 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 @@ -788,6 +788,12 @@ public class BabyCheckFacade { if (model.getDueDate() == null || ymdBirth.getTime() == model.getDueDate().getTime()) {//预产期为空或者预产期与生日一致进行计算真实预产期 //根据出生孕周计算末次月经 Date LastMens = DateUtil.addWeek(model.getBirth(), -model.getDueWeek()); + + if (model.getDueDay() != null) + { + LastMens = DateUtil.addDay(LastMens,-model.getDueDay()); + } + //根据末次月经计算预产期 // Date dueDate = DateUtil.addMonth(LastMens, 9); // dueDate = DateUtil.addDay(dueDate, 7); @@ -797,28 +803,6 @@ public class BabyCheckFacade { } else { base.setDueDate(DateUtil.getyyyy_MM_dd(model.getDueDate())); } -// -// String c = ""; -// if (model.getDueWeek() != null) -// { -// Integer days = model.getDueWeek()*7 + (model.getDueDay() == null ? 0 : model.getDueDay()); -// if ((DateUtil.daysBetween(model.getBirth(),new Date())+days) < 280) -// { -// base.setIsCorrectMonthAge(1); -// //纠正胎龄 -// c = "孕"+(days/7)+"周"+(days%7 == 0 ? "" : days%7+"天"); -// } -// else -// { -// //纠正月龄 -// if (StringUtils.isNotEmpty(base.getDueDate())) -// { -// base.setIsCorrectMonthAge(2); -// DateUtil.getMonthDesc(DateUtil.parseYMD(base.getDueDate()),new Date()); -// } -// } -// } -// base.setCorrectValue(c); } @@ -1936,4 +1920,62 @@ public class BabyCheckFacade { return new BaseObjectResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + public BaseObjectResponse getHighBabyMonthAge(String babyId, String checkDate, Boolean isHighRisk) { + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setId(babyId); + babyQuery.setDataStatus(false); + + Map result = new HashMap(); + //查询儿童的基本信息 + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(models)) { + BabyModel model = models.get(0); + //计算儿童的预产期 + //早产儿,根据出生孕周计算末次月经,在根据末次月经计算预产期 + if (model.getBirth() != null && model.getDueWeek() != null) { + //Date ymdBirth =DateUtil.formatDate(model.getBirth()); + + //根据出生孕周计算末次月经 + Date lastMens = DateUtil.addWeek(model.getBirth(), -model.getDueWeek()); + if (model.getDueDay() != null) { + lastMens = DateUtil.addDay(lastMens, -model.getDueDay()); + } + + Date dueDate = DateUtil.addDay(lastMens, 280); + String correctValue = ""; + + if (model.getDueWeek() < 37) + { + + Integer days = model.getDueWeek()*7 + (model.getDueDay() == null ? 0 : model.getDueDay()); + if ((DateUtil.daysBetween(model.getBirth(),DateUtil.parseYMD(checkDate))+days) < 280) + { + result.put("isCorrectMonthAge", 1); + //纠正胎龄 + correctValue = "孕"+(days/7)+"周"+(days%7 == 0 ? "" : days%7+"天"); + } + else + { + //纠正月龄 + if (dueDate != null) + { + result.put("isCorrectMonthAge",2); + correctValue = DateUtil.getMonthDesc(dueDate,DateUtil.parseYMD(checkDate)); + } + } + } + else if (isHighRisk) + { + //纠正月龄 + if (dueDate != null) + { + result.put("isCorrectMonthAge",2); + correctValue = DateUtil.getMonthDesc(dueDate,DateUtil.parseYMD(checkDate)); + } + } + result.put("correctValue",correctValue); + } + } + return new BaseObjectResponse().setData(result).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } } \ No newline at end of file