From 452f20c82b72bba3cd65098bd9ed6d3aa5c83134 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 9 Sep 2016 18:31:25 +0800 Subject: [PATCH] code update --- .../platform/biz/service/BabyCheckService.java | 9 ++ .../web/controller/BabyCheckController.java | 6 +- .../operate/web/facade/BabyCheckFacade.java | 147 +++++++++++++-------- 3 files changed, 105 insertions(+), 57 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java index 768ef65..71d04c2 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java @@ -69,6 +69,15 @@ public class BabyCheckService { return babyAwDao.queryAwByHeight(condition.toMongoQuery()); } + public List queryBabyHealthConfig(Integer agetType, Integer sex,Integer type,Double height) { + MongoCondition condition = MongoCondition.newInstance(); + condition = condition.and("agetType", agetType, MongoOper.IS); + condition = condition.and("sex", sex, MongoOper.IS); + condition = condition.and("type", type, MongoOper.IS); + condition = condition.and("height", height, MongoOper.IS); + return babyAwDao.queryAwByHeight(condition.toMongoQuery()); + } + public List queryLastCheck(List ids) { return babyCheckDao.queryLastCheck(ids); } 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 c816e6e..518e1b1 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 @@ -122,8 +122,10 @@ public class BabyCheckController extends BaseController{ @ResponseBody public BaseObjectResponse queryHWByHeight( @RequestParam(required = true) Double height, - @RequestParam(required = true) Integer sex){ - return babyCheckFacade.queryHWByHeight(height, sex); + @RequestParam(required = true) Double weight, + @RequestParam(required = true) Integer sex, + @RequestParam(required = true) String birth){ + return babyCheckFacade.queryHWByHeight(height,weight, sex,birth); } 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 32b5e1f..5d69cf3 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 @@ -854,18 +854,57 @@ public class BabyCheckFacade { * @param sex * @return */ - public BaseObjectResponse queryHWByHeight(Double height, Integer sex) { + public BaseObjectResponse queryHWByHeight(Double height,Double value, Integer sex,String birth) { Double hw = getHw(height); - String value = ""; - List hws = babyCheckService.queryHWByHeight(hw,sex); - if(CollectionUtils.isNotEmpty(hws)) + + //计算儿童的月龄 + int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date()); + int ageType = 0; + if (monthAge > 24) { - value = String.valueOf(hws.get(0).getMiddleSd()); + ageType = 1; + } + + //查询该月龄的年龄别体重值 + List list = babyCheckService.queryBabyHealthConfig(ageType,sex,3,hw); + + String res = ""; + if (CollectionUtils.isNotEmpty(list)) { + AwModel model = list.get(0); + + 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 = "下"; + } } BaseObjectResponse br = new BaseObjectResponse(); - br.setData(value); + br.setData(res); br.setErrorcode(ErrorCodeConstants.SUCCESS); br.setErrormsg("成功"); return br; @@ -919,75 +958,73 @@ public class BabyCheckFacade { public BaseObjectResponse queryGrowthEvaluate(Double height, Integer sex, String birth,Double weight) { List growthEvaluate = new ArrayList<>(); - - Double hw = getHw(height); - Double value = null; - HwModel hmodel = null; - - //身长别体重 - List hws = babyCheckService.queryHWByHeight(hw, sex); - if(CollectionUtils.isNotEmpty(hws)) - { - hmodel = hws.get(0); - value = hmodel.getMiddleSd(); - } - //计算儿童的月龄 int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date()); - + int ageType = 0; + if (monthAge > 24) + { + ageType = 1; + } //查询该月龄的年龄别体重值 - List aws = babyCheckService.queryBabyHealthConfig(monthAge, sex,0); - if (CollectionUtils.isNotEmpty(aws) && aws.size() > 1) + List list = babyCheckService.queryBabyHealthConfig(ageType, sex, 3, hw); + + if(CollectionUtils.isNotEmpty(list)) { - AwModel model = aws.get(0); - AwModel model1 = aws.get(1); + Double value = list.get(0).getMiddleDs(); - if(model.getType() == 1) + //查询该月龄的年龄别体重值 + List aws = babyCheckService.queryBabyHealthConfig(monthAge, sex,0); + if (CollectionUtils.isNotEmpty(aws) && aws.size() > 1) { - model = aws.get(1); - model1 = aws.get(0); - } + AwModel model = aws.get(0); + AwModel model1 = aws.get(1); - //低于参考人群的年龄别体重的M -2s - if (model.getRtwoDs() > weight) - { - growthEvaluate.add("低体重"); - } - if (value != null) - { - //中位数百分比 - Double mp = weight/value; - if (mp < 0.8) + if(model.getType() == 1) { - growthEvaluate.add("重度消瘦"); + model = aws.get(1); + model1 = aws.get(0); } - else if (0.8 <= mp && mp < 0.9) + + //低于参考人群的年龄别体重的M -2s + if (model.getRtwoDs() > weight) { - growthEvaluate.add("轻度消瘦"); + growthEvaluate.add("低体重"); + } + if (value != null) + { + //中位数百分比 + Double mp = weight/value; + if (mp < 0.8) + { + growthEvaluate.add("重度消瘦"); + } + else if (0.8 <= mp && mp < 0.9) + { + growthEvaluate.add("轻度消瘦"); + } + else if (1.1 < mp && mp <= 1.2) + { + growthEvaluate.add("超重"); + } + else if ( mp > 1.2) + { + growthEvaluate.add("肥胖"); + } } - else if (1.1 < mp && mp <= 1.2) + + if (weight > list.get(0).getPtwoDs() && height < model1.getRtwoDs()) { - growthEvaluate.add("超重"); + growthEvaluate.add("生长迟缓"); } - else if ( mp > 1.2) + if (weight < list.get(0).getPtwoDs() && height < model1.getRtwoDs()) { - growthEvaluate.add("肥胖"); + growthEvaluate.add("慢性严重营养不良"); } } - - if (weight > hmodel.getPlusSd() && height < model1.getRtwoDs()) - { - growthEvaluate.add("生长迟缓"); - } - if (weight < hmodel.getPlusSd() && height < model1.getRtwoDs()) - { - growthEvaluate.add("慢性严重营养不良"); - } } - BaseObjectResponse br = new BaseObjectResponse(); br.setData(growthEvaluate); br.setErrorcode(ErrorCodeConstants.SUCCESS); -- 1.8.3.1