Commit 13ff6d46009950a586cdfd7aa2c9b5e06b8035ba

Authored by hujiaqi
Exists in master

Merge remote-tracking branch 'origin/master'

Showing 11 changed files

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java View file @ 13ff6d4
... ... @@ -31,6 +31,7 @@
31 31 import org.springframework.context.support.ClassPathXmlApplicationContext;
32 32  
33 33 import org.springframework.data.mongodb.core.MongoTemplate;
  34 +import org.springframework.data.mongodb.core.query.Criteria;
34 35 import org.springframework.data.mongodb.core.query.Query;
35 36 import org.springframework.data.mongodb.core.query.Update;
36 37  
... ... @@ -43,7 +44,31 @@
43 44 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
44 45 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml");
45 46 // queryRisk(applicationContext);
46   - changeLong2Time(applicationContext);
  47 + removeDoubleBaby(applicationContext);
  48 + }
  49 +
  50 + public static void removeDoubleBaby(ApplicationContext applicationContext) {
  51 + MongoTemplate mongoTemplate
  52 + =(MongoTemplate)applicationContext.getBean("mongoTemplate");
  53 + mongoTemplate.getDb().slaveOk();
  54 + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray());
  55 + List<BabyModel> list = mongoTemplate.find(new Query(new Criteria()), BabyModel.class);
  56 + Map<String, BabyModel> localMap = new HashMap<>();
  57 + Map<String, BabyModel> remoteMap = new HashMap<>();
  58 + for (BabyModel model:list) {
  59 + if (model.getId().length() == 24) {
  60 + localMap.put(model.getMphone(),model);
  61 + } else if (model.getId().length() == 32) {
  62 + remoteMap.put(model.getMphone(),model);
  63 + } else {
  64 + System.out.println("other:"+JsonUtil.obj2JsonString(model));
  65 + }
  66 + }
  67 + for (String phone:remoteMap.keySet()) {
  68 + if (localMap.containsKey(phone)) {
  69 + System.out.println("double:"+JsonUtil.obj2JsonString(remoteMap.get(phone)));
  70 + }
  71 + }
47 72 }
48 73  
49 74 public static void changeLong2Time(ApplicationContext applicationContext) {
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyBookBuildingDao.java View file @ 13ff6d4
... ... @@ -23,5 +23,7 @@
23 23 List<BabyCheckModel> queryBabyOrder(Date startDate, String tempHid, String pid);
24 24  
25 25 List<String> getBirthBabies(String dateStr);
  26 +
  27 + void updateBabyLastGrowth(BabyCheckModel model);
26 28 }
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyBookbuildingDaoImpl.java View file @ 13ff6d4
1 1 package com.lyms.platform.biz.dal.impl;
2 2  
3 3 import com.lyms.platform.common.utils.StringUtils;
  4 +import com.lyms.platform.pojo.AntExChuModel;
4 5 import com.lyms.platform.pojo.BabyCheckModel;
5 6 import com.mongodb.DBCollection;
6 7 import com.mongodb.DBObject;
... ... @@ -10,6 +11,8 @@
10 11 import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
11 12 import org.springframework.data.mongodb.core.aggregation.AggregationResults;
12 13 import org.springframework.data.mongodb.core.query.Criteria;
  14 +import org.springframework.data.mongodb.core.query.Query;
  15 +import org.springframework.data.mongodb.core.query.Update;
13 16 import org.springframework.stereotype.Repository;
14 17  
15 18 import com.lyms.platform.biz.dal.IBabyBookBuildingDao;
... ... @@ -103,6 +106,14 @@
103 106 }
104 107 }
105 108 return ids;
  109 + }
  110 +
  111 +
  112 + @Override
  113 + public void updateBabyLastGrowth(BabyCheckModel model) {
  114 + this.mongoTemplate.updateFirst(new Query(Criteria.where("id").is(model.getBuildId())),
  115 + Update.update("weightEvaluate", model.getWeightEvaluate()).set("heightEvaluate",
  116 + model.getHeadEvaluate()).set("headEvaluate",model.getHeadEvaluate()).set("heightWeight",model.getHeightWeight()), BabyModel.class);
106 117 }
107 118  
108 119 }
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyBookbuildingService.java View file @ 13ff6d4
... ... @@ -73,5 +73,9 @@
73 73 public List<String> getBirthBabies(String dateStr) {
74 74 return babyBookBuildingDao.getBirthBabies(dateStr);
75 75 }
  76 +
  77 + public void updateBabyLastGrowth(BabyCheckModel model) {
  78 + babyBookBuildingDao.updateBabyLastGrowth(model);
  79 + }
76 80 }
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MongoSyncService.java View file @ 13ff6d4
... ... @@ -11,6 +11,7 @@
11 11 import org.apache.commons.lang.StringUtils;
12 12 import org.springframework.beans.factory.annotation.Autowired;
13 13 import org.springframework.data.mongodb.core.MongoTemplate;
  14 +import org.springframework.data.mongodb.core.query.Criteria;
14 15 import org.springframework.data.mongodb.core.query.Query;
15 16 import org.springframework.data.mongodb.core.query.Update;
16 17 import org.springframework.stereotype.Service;
... ... @@ -58,8 +59,14 @@
58 59 }
59 60 if (obj instanceof UpdateMultiData) {
60 61 UpdateMultiData data = (UpdateMultiData) obj;
61   - if (data.getMongoQuery() != null && data.getMongoUpdate() != null) {
62   - mongoTemplate.updateMulti(data.getMongoQuery(), data.getMongoUpdate(), updateClass);
  62 + if (data.getQuery() != null && data.getUpdate() != null) {
  63 + Update update = MongoConvertHelper
  64 + .convertToNativeUpdate(data.getUpdate());
  65 + MongoCondition condition = new MongoCondition();
  66 + for (String key:data.getQuery().keySet()) {
  67 + condition = condition.and(key,data.getQuery().get(key),MongoOper.IS);
  68 + }
  69 + mongoTemplate.updateMulti(condition.toMongoQuery().convertToMongoQuery(), update, updateClass);
63 70 return true;
64 71 } else if (data.getQuery() != null && data.getUpdate() != null) {
65 72 MongoCondition c = null;
platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java View file @ 13ff6d4
1 1 package com.lyms.platform.common.dao;
2 2  
  3 +import com.lyms.platform.common.dao.operator.MongoCondition;
  4 +import com.lyms.platform.common.dao.operator.MongoOper;
  5 +import com.lyms.platform.common.dao.operator.MongoQuery;
3 6 import com.lyms.platform.common.dao.operator.Page;
4 7 import com.lyms.platform.common.pojo.SyncDataModel;
5 8 import com.lyms.platform.common.pojo.UpdateMultiData;
... ... @@ -8,6 +11,7 @@
8 11 import org.apache.commons.collections.CollectionUtils;
9 12 import org.springframework.beans.factory.annotation.Autowired;
10 13 import org.springframework.data.mongodb.core.MongoTemplate;
  14 +import org.springframework.data.mongodb.core.query.Criteria;
11 15 import org.springframework.data.mongodb.core.query.Query;
12 16 import org.springframework.data.mongodb.core.query.Update;
13 17 import org.springframework.util.Assert;
... ... @@ -144,7 +148,6 @@
144 148 // 数据上传
145 149 UpdateMultiData data = new UpdateMultiData();
146 150 data.setMongoQuery(query);
147   - data.setMongoUpdate(update);
148 151 data.setUpdate(ReflectionUtils.getUpdateField(obj));
149 152 // 批量修改的情况下,ID字段是要修改的CLASS
150 153 addSyncData("UPDATEMULTI", data, obj.getClass().getName());
platform-common/src/main/java/com/lyms/platform/common/pojo/SyncDataModel.java View file @ 13ff6d4
1 1 package com.lyms.platform.common.pojo;
2 2  
  3 +import com.lyms.platform.common.dao.operator.MongoCondition;
  4 +import com.lyms.platform.common.dao.operator.MongoOper;
  5 +import com.lyms.platform.common.dao.operator.MongoQuery;
3 6 import com.lyms.platform.common.result.BaseModel;
  7 +import com.lyms.platform.common.utils.MongoConvertHelper;
  8 +import com.lyms.platform.common.utils.ReflectionUtils;
  9 +import com.lyms.platform.common.utils.SerializUtils;
  10 +import org.apache.commons.codec.binary.Base64;
4 11 import org.springframework.data.mongodb.core.mapping.Document;
  12 +import org.springframework.data.mongodb.core.query.Query;
  13 +import org.springframework.data.mongodb.core.query.Update;
  14 +import org.springframework.util.Assert;
5 15  
  16 +import java.io.Serializable;
6 17 import java.util.Date;
7 18  
8 19 /**
... ... @@ -10,6 +21,21 @@
10 21 */
11 22 @Document(collection = "lyms_sync_data")
12 23 public class SyncDataModel extends BaseModel {
  24 +
  25 + public static void main(String[] a) {
  26 + Query query = new MongoQuery(new MongoCondition("yn", 1, MongoOper.IS)).convertToMongoQuery();
  27 + SyncDataModel model = new SyncDataModel();
  28 + model.setDataId("fuck");
  29 + Assert.notNull(model, "execute findAndModify method must not null.");
  30 + Update update = MongoConvertHelper
  31 + .convertToNativeUpdate(ReflectionUtils.getUpdateField(model));
  32 + Assert.notNull(update, "execute findAndModify method must not null.update:" + update);
  33 + // 数据上传
  34 + UpdateMultiData data = new UpdateMultiData();
  35 + data.setMongoQuery(query);
  36 + data.setUpdate(ReflectionUtils.getUpdateField(model));
  37 + System.out.println(Base64.encodeBase64String(SerializUtils.objToByte((Serializable) data)));
  38 + }
13 39  
14 40 private static final long serialVersionUID = 97531300010L;
15 41  
platform-common/src/main/java/com/lyms/platform/common/pojo/UpdateMultiData.java View file @ 13ff6d4
... ... @@ -21,21 +21,6 @@
21 21 private Map<String, Object> query;
22 22 private Map<String, Object> update;
23 23  
24   - private Query mongoQuery;
25   - private Update mongoUpdate;
26   -
27   - public Update getMongoUpdate() {
28   - return mongoUpdate;
29   - }
30   -
31   - public void setMongoUpdate(Update mongoUpdate) {
32   - this.mongoUpdate = mongoUpdate;
33   - }
34   -
35   - public Query getMongoQuery() {
36   - return mongoQuery;
37   - }
38   -
39 24 public void setQuery(Map<String, Object> query) {
40 25 this.query = query;
41 26 }
... ... @@ -45,7 +30,6 @@
45 30 }
46 31  
47 32 public void setMongoQuery(Query query) {
48   - this.mongoQuery = query;
49 33 DBObject dbObject = query.getQueryObject();
50 34 this.query = new HashMap<>();
51 35 for (String key:dbObject.keySet()) {
platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java View file @ 13ff6d4
... ... @@ -341,13 +341,14 @@
341 341 for (PregPatientinfo info:list) {
342 342 Map<String,Object> map = new HashMap<>();
343 343 map.put("bhnum", info.getP_BHNUM());
344   - if ("1".equals(info.getP_SEX())) {
  344 + if ("".equals(info.getP_SEX())) {
345 345 map.put("sex", "男");
346   - } else if ("2".equals(info.getP_SEX())) {
  346 + } else if ("".equals(info.getP_SEX())) {
347 347 map.put("sex", "女");
348 348 }
349 349 map.put("name", info.getP_NAME());
350   - map.put("cardNo", info.getP_CARDNO());
  350 + map.put("idCardNo", info.getP_CARDNO()); //身份证号码
  351 + map.put("cardNo", cardNo);//就诊卡号
351 352 map.put("phone", info.getP_MOBILEPHONE());
352 353 map.put("birth", DateUtil.getyyyy_MM_dd(parseYmd(info.getBIRTH())));
353 354 result.add(map);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java View file @ 13ff6d4
... ... @@ -7,10 +7,14 @@
7 7 import com.lyms.platform.common.utils.DateUtil;
8 8 import com.lyms.platform.common.utils.JsonUtil;
9 9 import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade;
  10 +import com.lyms.platform.operate.web.facade.BabyCheckFacade;
10 11 import com.lyms.platform.operate.web.result.HighScoreResult;
11 12 import com.lyms.platform.operate.web.service.SyncDataTaskService;
12 13 import com.lyms.platform.permission.service.OrganizationService;
13 14 import com.lyms.platform.pojo.*;
  15 +import com.lyms.platform.query.*;
  16 +import javafx.scene.shape.LineTo;
  17 +import com.lyms.platform.pojo.*;
14 18 import com.lyms.platform.query.AntExChuQuery;
15 19 import com.lyms.platform.query.AntExQuery;
16 20 import com.lyms.platform.query.MatDeliverQuery;
... ... @@ -65,6 +69,16 @@
65 69 @Autowired
66 70 private MatDeliverService matDeliverService;
67 71  
  72 + @Autowired
  73 + private BabyBookbuildingService babyBookbuildingService;
  74 +
  75 + @Autowired
  76 + private BabyCheckService babyCheckService;
  77 +
  78 +
  79 + @Autowired
  80 + private BabyCheckFacade babyCheckFacade;
  81 +
68 82 /**
69 83 * 获取科室
70 84 */
... ... @@ -677,7 +691,7 @@
677 691 Date max = pat.getFmDate();
678 692 if (min != null && max != null)
679 693 {
680   - HighScoreResult highScoreResult = antenatalExaminationFacade.getPatLastRiskByDate(pat.getPid(),true,min,max);
  694 + HighScoreResult highScoreResult = antenatalExaminationFacade.getPatLastRiskByDate(pat.getPid(), true, min, max);
681 695 PatientsQuery patientsQuery1 = new PatientsQuery();
682 696 patientsQuery1.setId(pat.getId());
683 697 patientsQuery1.setYn(YnEnums.YES.getId());
... ... @@ -701,6 +715,99 @@
701 715 return "updateChanLaskRisk finish";
702 716 }
703 717  
  718 + /**
  719 + * 更新儿童检查表中的生长发育评价
  720 + * @param hid
  721 + * @return
  722 + */
  723 + @RequestMapping(value = "/updateBabyGrowth", method = RequestMethod.GET)
  724 + @ResponseBody
  725 + public String updateBabyGrowth(@RequestParam(required = true) String hid) {
  726 +
  727 + BabyModelQuery babyModelQuery = new BabyModelQuery();
  728 + babyModelQuery.setYn(YnEnums.YES.getId());
  729 + babyModelQuery.setHospitalId(hid);
  730 +
  731 + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery);
  732 + if (CollectionUtils.isNotEmpty(models))
  733 + {
  734 + int batchSize = 200;
  735 + int end = 0;
  736 + for (int i = 0; i < models.size(); i += batchSize) {
  737 + end = (end + batchSize);
  738 + if (end > models.size()) {
  739 + end = models.size();
  740 + }
  741 + System.out.println("start:" + i + ",end:" + end);
  742 + final List<BabyModel> tempList = models.subList(i, end);
  743 + new Thread(new Runnable() {
  744 + @Override
  745 + public void run() {
  746 + if (CollectionUtils.isNotEmpty(tempList))
  747 + {
  748 + for (BabyModel babyModel : tempList) {
  749 + if (babyModel != null)
  750 + {
  751 + BabyCheckModelQuery query = new BabyCheckModelQuery();
  752 + query.setYn(YnEnums.YES.getId());
  753 + query.setBuildId(babyModel.getId());
  754 +
  755 + List<BabyCheckModel> checkModels = babyCheckService.queryBabyCheckRecord(query);
  756 + if (CollectionUtils.isNotEmpty(checkModels))
  757 + {
  758 + for (BabyCheckModel checkModel : checkModels)
  759 + {
  760 + String height = checkModel.getHeight();
  761 + String birth = DateUtil.getyyyy_MM_dd(babyModel.getBirth());
  762 + // type 0 体重标准差数值表 1 身长/身高标准差数值表 2 头围标准差数值表 3身高别体重
  763 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(height))
  764 + {
  765 + String value = babyCheckFacade.getGrowthValue(birth,Double.parseDouble(height),babyModel.getSex(),1);
  766 + checkModel.setHeadEvaluate(value);
  767 +
  768 + }
  769 + String head = checkModel.getHead();
  770 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(head)) {
  771 + String value = babyCheckFacade.getGrowthValue(birth,Double.parseDouble(head),babyModel.getSex(),1);
  772 + checkModel.setHeadEvaluate(value);
  773 + }
  774 +
  775 + String weight = checkModel.getWeight();
  776 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(weight)) {
  777 + String value = babyCheckFacade.getGrowthValue(birth,Double.parseDouble(weight),babyModel.getSex(),1);
  778 + checkModel.setHeadEvaluate(value);
  779 + }
  780 +
  781 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(height) &&
  782 + com.lyms.platform.common.utils.StringUtils.isNotEmpty(weight))
  783 + {
  784 + //发育评价
  785 + List<String> growthEvaluate = babyCheckFacade.getBabyGrowthEvaluate(Double.parseDouble(height), babyModel.getSex(), birth, Double.parseDouble(weight));
  786 + if (CollectionUtils.isNotEmpty(growthEvaluate))
  787 + {
  788 + checkModel.setGrowthEvaluate(JsonUtil.array2JsonString(growthEvaluate));
  789 + }
  790 +
  791 + String hw = babyCheckFacade.getBabyHW(Double.parseDouble(height),Double.parseDouble(weight),babyModel.getSex(),birth);
  792 + checkModel.setHeightWeight(hw);
  793 +
  794 + }
  795 +
  796 + babyCheckService.updateBabyCheck(checkModel,checkModel.getId());
  797 + }
  798 + }
  799 + }
  800 + }
  801 + }
  802 + }
  803 + }).start();
  804 + }
  805 +
  806 + }
  807 +
  808 +
  809 + return "updateBabyGrowth finish";
  810 + }
704 811  
705 812 public static void main(String[] a) {
706 813 try {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java View file @ 13ff6d4
... ... @@ -94,6 +94,8 @@
94 94 bm.setLastDiagnose(diagnoseNames);
95 95 }
96 96 babyBookbuildingService.updateBabyBuild(bm, request.getBuildId());
  97 + updateLastGrowth(model);
  98 +
97 99 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
98 100 }
99 101  
100 102  
101 103  
102 104  
... ... @@ -294,19 +296,47 @@
294 296 applyOrderService.updateByParentId(referralApplyOrderQuery2, model1);
295 297 }
296 298 }
  299 +
  300 + updateLastGrowth(model);
  301 +
297 302 br.setErrorcode(ErrorCodeConstants.SUCCESS);
298 303 br.setErrormsg("成功");
299 304 br.setData(model.getId());
300 305 return br;
301 306 }
302 307  
  308 +
  309 + public void updateLastGrowth(BabyCheckModel model)
  310 + {
  311 + babyBookbuildingService.updateBabyLastGrowth(model);
  312 + }
  313 +
  314 +
303 315 /**
304 316 * 删除儿保检查
305 317 *
306 318 * @param id
307 319 */
308 320 public void deleteBabyCheckById(String id) {
  321 + BabyCheckModelQuery query = new BabyCheckModelQuery();
  322 + query.setYn(YnEnums.YES.getId());
  323 + query.setId(id);
  324 + //查询儿童的检查记录
  325 + List<BabyCheckModel> checkModels = babyCheckService.queryBabyCheckRecord(query,"checkDate", Sort.Direction.DESC);
  326 +
309 327 babyCheckService.deleteBabyCheckById(id);
  328 + if (CollectionUtils.isNotEmpty(checkModels))
  329 + {
  330 + query.setId(null);
  331 + query.setBuildId(checkModels.get(0).getBuildId());
  332 + checkModels = babyCheckService.queryBabyCheckRecord(query,"checkDate", Sort.Direction.DESC);
  333 + if (CollectionUtils.isNotEmpty(checkModels))
  334 + {
  335 + updateLastGrowth(checkModels.get(0));
  336 + }
  337 + }
  338 +
  339 +
310 340 }
311 341  
312 342 /**
313 343  
... ... @@ -877,8 +907,20 @@
877 907 * @param sex
878 908 * @return
879 909 */
880   - public BaseObjectResponse queryHWByHeight(Double height,Double value, Integer sex,String birth) {
  910 + public BaseObjectResponse queryHWByHeight(Double height,Double weight, Integer sex,String birth) {
881 911  
  912 +
  913 + String res = getBabyHW(height,weight,sex,birth);
  914 + BaseObjectResponse br = new BaseObjectResponse();
  915 + br.setData(res);
  916 + br.setErrorcode(ErrorCodeConstants.SUCCESS);
  917 + br.setErrormsg("成功");
  918 + return br;
  919 + }
  920 +
  921 +
  922 + public String getBabyHW(Double height,Double weight, Integer sex,String birth)
  923 + {
882 924 Double hw = getHw(height);
883 925  
884 926 //计算儿童的月龄
885 927  
886 928  
887 929  
888 930  
889 931  
890 932  
891 933  
... ... @@ -896,41 +938,36 @@
896 938 if (CollectionUtils.isNotEmpty(list)) {
897 939 AwModel model = list.get(0);
898 940  
899   - if (model.getPthreeDs() < value)
  941 + if (model.getPthreeDs() < weight)
900 942 {
901 943 res = "上";
902 944 }
903   - else if (model.getPthreeDs() >=value && value > model.getPtwoDs())
  945 + else if (model.getPthreeDs() >=weight && weight > model.getPtwoDs())
904 946 {
905 947 res = "中上";
906 948 }
907   - else if (model.getPtwoDs() >=value && value > model.getPoneDs())
  949 + else if (model.getPtwoDs() >=weight && weight > model.getPoneDs())
908 950 {
909 951 res = "中+";
910 952 }
911   - else if (model.getPoneDs() >=value && value >= model.getRoneDs())
  953 + else if (model.getPoneDs() >=weight && weight >= model.getRoneDs())
912 954 {
913 955 res = "中";
914 956 }
915   - else if (model.getRoneDs() >value && value >= model.getRtwoDs())
  957 + else if (model.getRoneDs() >weight && weight >= model.getRtwoDs())
916 958 {
917 959 res = "中-";
918 960 }
919   - else if (model.getRtwoDs() >value && value >= model.getRthreeDs())
  961 + else if (model.getRtwoDs() >weight && weight >= model.getRthreeDs())
920 962 {
921 963 res = "中下";
922 964 }
923   - else if (model.getRtwoDs() >value)
  965 + else if (model.getRtwoDs() >weight)
924 966 {
925 967 res = "下";
926 968 }
927 969 }
928   -
929   - BaseObjectResponse br = new BaseObjectResponse();
930   - br.setData(res);
931   - br.setErrorcode(ErrorCodeConstants.SUCCESS);
932   - br.setErrormsg("成功");
933   - return br;
  970 + return res;
934 971 }
935 972  
936 973 /**
... ... @@ -980,6 +1017,16 @@
980 1017 */
981 1018 public BaseObjectResponse queryGrowthEvaluate(Double height, Integer sex, String birth,Double weight) {
982 1019  
  1020 + List<String> list = getBabyGrowthEvaluate(height, sex, birth, weight);
  1021 + BaseObjectResponse br = new BaseObjectResponse();
  1022 + br.setData(list);
  1023 + br.setErrorcode(ErrorCodeConstants.SUCCESS);
  1024 + br.setErrormsg("成功");
  1025 + return br;
  1026 + }
  1027 +
  1028 + public List<String> getBabyGrowthEvaluate(Double height, Integer sex, String birth,Double weight)
  1029 + {
983 1030 List<String> growthEvaluate = new ArrayList<>();
984 1031 Double hw = getHw(height);
985 1032  
986 1033  
... ... @@ -1027,32 +1074,28 @@
1027 1074  
1028 1075 if (value != null)
1029 1076 {
1030   - //中位数百分比
1031   - Double mp = weight/value;
1032   - if (mp < 0.8)
1033   - {
1034   - growthEvaluate.add("重度消瘦");
1035   - }
1036   - else if (0.8 <= mp && mp < 0.9)
1037   - {
1038   - growthEvaluate.add("轻度消瘦");
1039   - }
1040   - else if (1.1 < mp && mp <= 1.2)
1041   - {
1042   - growthEvaluate.add("超重");
1043   - }
1044   - else if ( mp > 1.2)
1045   - {
1046   - growthEvaluate.add("肥胖");
1047   - }
  1077 + //中位数百分比
  1078 + Double mp = weight/value;
  1079 + if (mp < 0.8)
  1080 + {
  1081 + growthEvaluate.add("重度消瘦");
  1082 + }
  1083 + else if (0.8 <= mp && mp < 0.9)
  1084 + {
  1085 + growthEvaluate.add("轻度消瘦");
  1086 + }
  1087 + else if (1.1 < mp && mp <= 1.2)
  1088 + {
  1089 + growthEvaluate.add("超重");
  1090 + }
  1091 + else if ( mp > 1.2)
  1092 + {
  1093 + growthEvaluate.add("肥胖");
  1094 + }
1048 1095 }
1049 1096  
1050 1097 }
1051   - BaseObjectResponse br = new BaseObjectResponse();
1052   - br.setData(growthEvaluate);
1053   - br.setErrorcode(ErrorCodeConstants.SUCCESS);
1054   - br.setErrormsg("成功");
1055   - return br;
  1098 + return growthEvaluate;
1056 1099 }
1057 1100  
1058 1101 public BaseObjectResponse getBaseConfig() {
1059 1102  
... ... @@ -1095,7 +1138,17 @@
1095 1138 }
1096 1139  
1097 1140 public BaseObjectResponse queryBabyHealthStatus(String birth,Double value, Integer sex, Integer type) {
  1141 + String res = getGrowthValue(birth,value,sex,type);
  1142 + BaseObjectResponse objectResponse = new BaseObjectResponse();
  1143 + objectResponse.setData(res);
  1144 + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
  1145 + objectResponse.setErrormsg("成功");
  1146 + return objectResponse;
  1147 + }
1098 1148  
  1149 +
  1150 + public String getGrowthValue(String birth,Double value, Integer sex, Integer type)
  1151 + {
1099 1152 //计算儿童的月龄
1100 1153 int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date());
1101 1154  
1102 1155  
... ... @@ -1106,40 +1159,38 @@
1106 1159 if (CollectionUtils.isNotEmpty(list)) {
1107 1160 AwModel model = list.get(0);
1108 1161  
1109   - if (model.getPthreeDs() < value)
1110   - {
1111   - res = "上";
1112   - }
1113   - else if (model.getPthreeDs() >=value && value > model.getPtwoDs())
1114   - {
1115   - res = "中上";
1116   - }
1117   - else if (model.getPtwoDs() >=value && value > model.getPoneDs())
1118   - {
1119   - res = "中+";
1120   - }
1121   - else if (model.getPoneDs() >=value && value >= model.getRoneDs())
1122   - {
1123   - res = "中";
1124   - }
1125   - else if (model.getRoneDs() >value && value >= model.getRtwoDs())
1126   - {
1127   - res = "中-";
1128   - }
1129   - else if (model.getRtwoDs() >value && value >= model.getRthreeDs())
1130   - {
1131   - res = "中下";
1132   - }
1133   - else if (model.getRtwoDs() >value)
1134   - {
1135   - res = "下";
1136   - }
  1162 + if (model.getPthreeDs() < value)
  1163 + {
  1164 + res = "上";
  1165 + }
  1166 + else if (model.getPthreeDs() >=value && value > model.getPtwoDs())
  1167 + {
  1168 + res = "中上";
  1169 + }
  1170 + else if (model.getPtwoDs() >=value && value > model.getPoneDs())
  1171 + {
  1172 + res = "中+";
  1173 + }
  1174 + else if (model.getPoneDs() >=value && value >= model.getRoneDs())
  1175 + {
  1176 + res = "中";
  1177 + }
  1178 + else if (model.getRoneDs() >value && value >= model.getRtwoDs())
  1179 + {
  1180 + res = "中-";
  1181 + }
  1182 + else if (model.getRtwoDs() >value && value >= model.getRthreeDs())
  1183 + {
  1184 + res = "中下";
  1185 + }
  1186 + else if (model.getRtwoDs() >value)
  1187 + {
  1188 + res = "下";
  1189 + }
1137 1190 }
1138   - BaseObjectResponse objectResponse = new BaseObjectResponse();
1139   - objectResponse.setData(res);
1140   - objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
1141   - objectResponse.setErrormsg("成功");
1142   - return objectResponse;
  1191 +
  1192 + return res;
  1193 +
1143 1194 }
1144 1195 }