Commit a162c3711202b947125f8092a09db805317808cd
1 parent
8ce8f9a0e3
Exists in
master
and in
6 other branches
update
Showing 7 changed files with 291 additions and 6 deletions
- platform-common/src/main/java/com/lyms/platform/common/enums/BabyAutoDiagnoseEnums.java
- platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyAutoDiagnoseRiskController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/LisResultModelRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java
platform-common/src/main/java/com/lyms/platform/common/enums/BabyAutoDiagnoseEnums.java
View file @
a162c37
platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java
View file @
a162c37
| ... | ... | @@ -540,6 +540,8 @@ |
| 540 | 540 | private String babyGender; |
| 541 | 541 | //新生儿重量 |
| 542 | 542 | private String babyWeight; |
| 543 | + //新生儿血红蛋白,自动诊断使用 | |
| 544 | + private String babyXhdb; | |
| 543 | 545 | //新生儿生长 |
| 544 | 546 | private String babyHeight; |
| 545 | 547 | //畸形 0非畸形 1畸形 |
| ... | ... | @@ -721,6 +723,13 @@ |
| 721 | 723 | |
| 722 | 724 | public Baby() { |
| 723 | 725 | |
| 726 | + } | |
| 727 | + public String getBabyXhdb() { | |
| 728 | + return babyXhdb; | |
| 729 | + } | |
| 730 | + | |
| 731 | + public void setBabyXhdb(String babyXhdb) { | |
| 732 | + this.babyXhdb = babyXhdb; | |
| 724 | 733 | } |
| 725 | 734 | |
| 726 | 735 | public String getBabyQX() { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyAutoDiagnoseRiskController.java
View file @
a162c37
| ... | ... | @@ -7,6 +7,7 @@ |
| 7 | 7 | import com.lyms.platform.operate.web.facade.BabyAutoDiagnoseRiskFacade; |
| 8 | 8 | import com.lyms.platform.operate.web.request.AntExManagerQueryRequest; |
| 9 | 9 | import com.lyms.platform.operate.web.request.BabyAutoRiskInfoRequest; |
| 10 | +import com.lyms.platform.operate.web.request.LisResultModelRequest; | |
| 10 | 11 | import com.lyms.platform.pojo.AutoBabyRiskRecord; |
| 11 | 12 | import org.apache.commons.lang.StringUtils; |
| 12 | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -18,6 +19,7 @@ |
| 18 | 19 | |
| 19 | 20 | import javax.servlet.http.HttpServletRequest; |
| 20 | 21 | import javax.validation.Valid; |
| 22 | +import java.util.List; | |
| 21 | 23 | |
| 22 | 24 | /** |
| 23 | 25 | * 儿童自动诊断 控制层 |
| ... | ... | @@ -84,6 +86,14 @@ |
| 84 | 86 | } |
| 85 | 87 | |
| 86 | 88 | |
| 87 | - | |
| 89 | + /** | |
| 90 | + * 对接系统:血红蛋白自动诊断高危因素 | |
| 91 | + */ | |
| 92 | + @RequestMapping(method = RequestMethod.POST, value = "/saveLisBabyData") | |
| 93 | + @ResponseBody | |
| 94 | + public BaseResponse saveLisBabyData(@Valid @RequestBody List<LisResultModelRequest> lisResultModelRequests) { | |
| 95 | + BaseResponse baseResponse = autoDiagnoseRiskFacade.saveLisBabyData(lisResultModelRequests); | |
| 96 | + return baseResponse; | |
| 97 | + } | |
| 88 | 98 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java
View file @
a162c37
| ... | ... | @@ -12,10 +12,7 @@ |
| 12 | 12 | import com.lyms.platform.common.utils.DateUtil; |
| 13 | 13 | import com.lyms.platform.common.utils.ExceptionUtils; |
| 14 | 14 | import com.lyms.platform.common.utils.JsonUtil; |
| 15 | -import com.lyms.platform.operate.web.request.AntExManagerQueryRequest; | |
| 16 | -import com.lyms.platform.operate.web.request.BabyAutoRiskInfoRequest; | |
| 17 | -import com.lyms.platform.operate.web.request.BabyAutoRiskRequest; | |
| 18 | -import com.lyms.platform.operate.web.request.MatDeliverAddRequest; | |
| 15 | +import com.lyms.platform.operate.web.request.*; | |
| 19 | 16 | import com.lyms.platform.pojo.*; |
| 20 | 17 | import com.lyms.platform.query.*; |
| 21 | 18 | import net.sf.json.JSONArray; |
| ... | ... | @@ -167,6 +164,7 @@ |
| 167 | 164 | if (type == 0) { |
| 168 | 165 | MatDeliverQuery deliverQuery = new MatDeliverQuery(); |
| 169 | 166 | deliverQuery.setParentId(babyAutoRiskRequest.getParentId()); |
| 167 | + deliverQuery.setYn(YnEnums.YES.getId()); | |
| 170 | 168 | List <MaternalDeliverModel> maternalDeliverModels = matDeliverService.query(deliverQuery); |
| 171 | 169 | if (CollectionUtils.isNotEmpty(maternalDeliverModels)) { |
| 172 | 170 | maternalDeliverModel = maternalDeliverModels.get(0); |
| 173 | 171 | |
| ... | ... | @@ -434,7 +432,31 @@ |
| 434 | 432 | } |
| 435 | 433 | } |
| 436 | 434 | |
| 435 | + /*血红蛋白 12 */ | |
| 436 | + if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId()) && maternalDeliverModel.getBaby() != null) { | |
| 437 | + List <MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby(); | |
| 438 | + if (CollectionUtils.isNotEmpty(baby)) { | |
| 439 | + MaternalDeliverModel.Baby baby1 = baby.get(ii); | |
| 440 | + if (baby1 != null) { | |
| 441 | + //配置是g,儿童建档和检查是kg | |
| 442 | + String babyXhdb = baby1.getBabyXhdb(); | |
| 443 | + if (type == 2 && StringUtils.isNotEmpty(baby1.getBabyXhdb())) { | |
| 444 | + Double bXhdb = Double.parseDouble(baby1.getBabyXhdb()); | |
| 445 | + babyXhdb = bXhdb.toString(); | |
| 446 | + } | |
| 447 | + List <DiagnoseItemModel> items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId()); | |
| 448 | + if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(babyXhdb)) { | |
| 449 | + for (DiagnoseItemModel item : items) { | |
| 450 | + if (compare(item, babyXhdb) && CollectionUtils.isNotEmpty(item.getRiskIds())) { | |
| 451 | + list.addAll(item.getRiskIds()); | |
| 452 | + } | |
| 453 | + } | |
| 454 | + } | |
| 455 | + } | |
| 456 | + } | |
| 457 | + } | |
| 437 | 458 | |
| 459 | + | |
| 438 | 460 | } |
| 439 | 461 | |
| 440 | 462 | if (list.size() > 0) { |
| ... | ... | @@ -887,6 +909,62 @@ |
| 887 | 909 | } |
| 888 | 910 | } |
| 889 | 911 | } |
| 912 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 913 | + } | |
| 914 | + | |
| 915 | + /** | |
| 916 | + * 1 根据传入的list 信息查询对应的儿保检查 | |
| 917 | + * | |
| 918 | + * 2 判断是否有血红蛋白值,如果有就不执行 | |
| 919 | + * | |
| 920 | + * 3 没有值,根据血红蛋白值获取,高危因素 | |
| 921 | + * | |
| 922 | + * 4 没有值,更新儿保检查高危因素(累加高危) | |
| 923 | + * | |
| 924 | + */ | |
| 925 | + public BaseResponse saveLisBabyData( List<LisResultModelRequest> lisResultModelRequests) { | |
| 926 | + | |
| 927 | + for (LisResultModelRequest modelRequest: lisResultModelRequests) { | |
| 928 | + | |
| 929 | + if(StringUtils.isEmpty(modelRequest.getHospitalId()) || StringUtils.isEmpty(modelRequest.getVcCardNo())){ | |
| 930 | + continue; | |
| 931 | + } | |
| 932 | + BabyModelQuery babyQuery = new BabyModelQuery(); | |
| 933 | + babyQuery.setYn(YnEnums.YES.getId()); | |
| 934 | + babyQuery.setHospitalId(modelRequest.getHospitalId());//查询上传医院儿童档案 | |
| 935 | + babyQuery.setVcCardNo(modelRequest.getVcCardNo()); | |
| 936 | + List <BabyModel> builds = babyBookbuildingService.queryBabyBuildByCond(babyQuery); | |
| 937 | + if (CollectionUtils.isNotEmpty(builds)) { | |
| 938 | + BabyModel babyModel = builds.get(0); | |
| 939 | + if(babyModel ==null && StringUtils.isEmpty(babyModel.getId())){ | |
| 940 | + continue; | |
| 941 | + } | |
| 942 | + //获取最新的儿保检查 | |
| 943 | + BabyCheckModelQuery query = new BabyCheckModelQuery(); | |
| 944 | + query.setYn(YnEnums.YES.getId()); | |
| 945 | + query.setBuildId(babyModel.getId()); | |
| 946 | + List <BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(query); | |
| 947 | + if (CollectionUtils.isNotEmpty(babyCheckModels)) { | |
| 948 | + BabyCheckModel babyCheckModel = babyCheckModels.get(0); | |
| 949 | + if(babyCheckModel ==null && StringUtils.isEmpty(babyCheckModel.getId())){ | |
| 950 | + continue; | |
| 951 | + } | |
| 952 | + //获取当前儿保检查,诊断或高危因素 | |
| 953 | + Set <String> setbabyModel = new HashSet <>(); | |
| 954 | + List <String> babyModelList = JsonUtil.toList(babyCheckModel.getDiagnose(), String.class); | |
| 955 | + // 血红蛋白值,根据自动诊断规则,生成高危因素。并且将血红蛋白赋值儿保检查 | |
| 956 | + //待续。。。。。 | |
| 957 | + babyModelList.add(""); | |
| 958 | + | |
| 959 | + setbabyModel.addAll(babyModelList); | |
| 960 | + JSONArray jsonArray = JSONArray.fromObject(setbabyModel); | |
| 961 | + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk",1), BabyModel.class); | |
| 962 | + | |
| 963 | + } | |
| 964 | + } | |
| 965 | + | |
| 966 | + } | |
| 967 | + | |
| 890 | 968 | return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); |
| 891 | 969 | } |
| 892 | 970 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
View file @
a162c37
| ... | ... | @@ -665,6 +665,7 @@ |
| 665 | 665 | List babys = new ArrayList(); |
| 666 | 666 | MatDeliverAddRequest.Baby baby = new MatDeliverAddRequest.Baby(); |
| 667 | 667 | baby.setBabyWeight(model.getWeight()); |
| 668 | + baby.setBabyXhdb(model.getHemoglobin());//血红蛋白 | |
| 668 | 669 | babys.add(baby); |
| 669 | 670 | babyAutoRiskRequest.setBabies(babys); |
| 670 | 671 | babyAutoRiskRequest.setHospitalId(model.getHospitalId()); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/LisResultModelRequest.java
View file @
a162c37
| 1 | +package com.lyms.platform.operate.web.request; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * lis检查结果返回实体类 | |
| 5 | + * | |
| 6 | + */ | |
| 7 | +public class LisResultModelRequest { | |
| 8 | + | |
| 9 | + // 血红蛋白 | |
| 10 | + private String xhdb; | |
| 11 | + private String lisId; | |
| 12 | + private String title; | |
| 13 | + private String type; | |
| 14 | + private String vcCardNo; | |
| 15 | + private String name; | |
| 16 | + | |
| 17 | + private String publish_Time; | |
| 18 | + private String sex; | |
| 19 | + private String age; | |
| 20 | + | |
| 21 | + | |
| 22 | + // 单位 | |
| 23 | + private String unit; | |
| 24 | + //检验时间 | |
| 25 | + private String CHECK_TIME; | |
| 26 | + //报告发布时间 | |
| 27 | + private String PUBLISH_TIME; | |
| 28 | + | |
| 29 | + //身份证 | |
| 30 | + private String cardNo; | |
| 31 | + //手机号 | |
| 32 | + private String phone; | |
| 33 | + //机构id | |
| 34 | + private String hospitalId; | |
| 35 | + | |
| 36 | + public String getXhdb() { | |
| 37 | + return xhdb; | |
| 38 | + } | |
| 39 | + | |
| 40 | + public void setXhdb(String xhdb) { | |
| 41 | + this.xhdb = xhdb; | |
| 42 | + } | |
| 43 | + | |
| 44 | + public String getUnit() { | |
| 45 | + return unit; | |
| 46 | + } | |
| 47 | + | |
| 48 | + public void setUnit(String unit) { | |
| 49 | + this.unit = unit; | |
| 50 | + } | |
| 51 | + | |
| 52 | + public String getCHECK_TIME() { | |
| 53 | + return CHECK_TIME; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public void setCHECK_TIME(String CHECK_TIME) { | |
| 57 | + this.CHECK_TIME = CHECK_TIME; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public String getPUBLISH_TIME() { | |
| 61 | + return PUBLISH_TIME; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public void setPUBLISH_TIME(String PUBLISH_TIME) { | |
| 65 | + this.PUBLISH_TIME = PUBLISH_TIME; | |
| 66 | + } | |
| 67 | + | |
| 68 | + public String getVcCardNo() { | |
| 69 | + return vcCardNo; | |
| 70 | + } | |
| 71 | + | |
| 72 | + public void setVcCardNo(String vcCardNo) { | |
| 73 | + this.vcCardNo = vcCardNo; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public String getCardNo() { | |
| 77 | + return cardNo; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public void setCardNo(String cardNo) { | |
| 81 | + this.cardNo = cardNo; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public String getPhone() { | |
| 85 | + return phone; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public void setPhone(String phone) { | |
| 89 | + this.phone = phone; | |
| 90 | + } | |
| 91 | + | |
| 92 | + public String getHospitalId() { | |
| 93 | + return hospitalId; | |
| 94 | + } | |
| 95 | + | |
| 96 | + public void setHospitalId(String hospitalId) { | |
| 97 | + this.hospitalId = hospitalId; | |
| 98 | + } | |
| 99 | + | |
| 100 | + public String getLisId() { | |
| 101 | + return lisId; | |
| 102 | + } | |
| 103 | + | |
| 104 | + public void setLisId(String lisId) { | |
| 105 | + this.lisId = lisId; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public String getTitle() { | |
| 109 | + return title; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public void setTitle(String title) { | |
| 113 | + this.title = title; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public String getType() { | |
| 117 | + return type; | |
| 118 | + } | |
| 119 | + | |
| 120 | + public void setType(String type) { | |
| 121 | + this.type = type; | |
| 122 | + } | |
| 123 | + | |
| 124 | + public String getName() { | |
| 125 | + return name; | |
| 126 | + } | |
| 127 | + | |
| 128 | + public void setName(String name) { | |
| 129 | + this.name = name; | |
| 130 | + } | |
| 131 | + | |
| 132 | + public String getPublish_Time() { | |
| 133 | + return publish_Time; | |
| 134 | + } | |
| 135 | + | |
| 136 | + public void setPublish_Time(String publish_Time) { | |
| 137 | + this.publish_Time = publish_Time; | |
| 138 | + } | |
| 139 | + | |
| 140 | + public String getSex() { | |
| 141 | + return sex; | |
| 142 | + } | |
| 143 | + | |
| 144 | + public void setSex(String sex) { | |
| 145 | + this.sex = sex; | |
| 146 | + } | |
| 147 | + | |
| 148 | + public String getAge() { | |
| 149 | + return age; | |
| 150 | + } | |
| 151 | + | |
| 152 | + public void setAge(String age) { | |
| 153 | + this.age = age; | |
| 154 | + } | |
| 155 | + | |
| 156 | + @Override | |
| 157 | + public String toString() { | |
| 158 | + return "LisResultModel{" + | |
| 159 | + "xhdb='" + xhdb + '\'' + | |
| 160 | + ", lisId='" + lisId + '\'' + | |
| 161 | + ", title='" + title + '\'' + | |
| 162 | + ", type='" + type + '\'' + | |
| 163 | + ", vcCardNo='" + vcCardNo + '\'' + | |
| 164 | + ", name='" + name + '\'' + | |
| 165 | + ", publish_Time='" + publish_Time + '\'' + | |
| 166 | + ", sex='" + sex + '\'' + | |
| 167 | + ", age='" + age + '\'' + | |
| 168 | + ", unit='" + unit + '\'' + | |
| 169 | + ", CHECK_TIME='" + CHECK_TIME + '\'' + | |
| 170 | + ", PUBLISH_TIME='" + PUBLISH_TIME + '\'' + | |
| 171 | + ", cardNo='" + cardNo + '\'' + | |
| 172 | + ", phone='" + phone + '\'' + | |
| 173 | + ", hospitalId='" + hospitalId + '\'' + | |
| 174 | + '}'; | |
| 175 | + } | |
| 176 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java
View file @
a162c37
| ... | ... | @@ -1207,6 +1207,8 @@ |
| 1207 | 1207 | private String babyGender; |
| 1208 | 1208 | //新生儿重量 |
| 1209 | 1209 | private String babyWeight; |
| 1210 | + //新生儿血红蛋白,自动诊断使用 | |
| 1211 | + private String babyXhdb; | |
| 1210 | 1212 | //新生儿生长 |
| 1211 | 1213 | private String babyHeight; |
| 1212 | 1214 | //畸形 0非畸形 1畸形 |
| 1213 | 1215 | |
| ... | ... | @@ -1400,7 +1402,14 @@ |
| 1400 | 1402 | this.otherInfo = otherInfo; |
| 1401 | 1403 | } |
| 1402 | 1404 | |
| 1405 | + public String getBabyXhdb() { | |
| 1406 | + return babyXhdb; | |
| 1407 | + } | |
| 1403 | 1408 | |
| 1409 | + public void setBabyXhdb(String babyXhdb) { | |
| 1410 | + this.babyXhdb = babyXhdb; | |
| 1411 | + } | |
| 1412 | + | |
| 1404 | 1413 | @Override |
| 1405 | 1414 | public MaternalDeliverModel.Baby convertToDataModel() { |
| 1406 | 1415 | MaternalDeliverModel.Baby baby = new MaternalDeliverModel.Baby(); |
| ... | ... | @@ -1414,6 +1423,7 @@ |
| 1414 | 1423 | } |
| 1415 | 1424 | baby.setBabyHealthy(babyHealthy); |
| 1416 | 1425 | baby.setBabyWeight(babyWeight); |
| 1426 | + baby.setBabyXhdb(babyXhdb); | |
| 1417 | 1427 | baby.setBabyHeight(babyHeight); |
| 1418 | 1428 | baby.setDeformity(deformity); |
| 1419 | 1429 | baby.setPregnancyOut(pregnancyOut); |