From a162c3711202b947125f8092a09db805317808cd Mon Sep 17 00:00:00 2001 From: wtt <1872109740@qq.com> Date: Fri, 8 Jan 2021 14:58:28 +0800 Subject: [PATCH] update --- .../common/enums/BabyAutoDiagnoseEnums.java | 3 +- .../lyms/platform/pojo/MaternalDeliverModel.java | 9 ++ .../controller/BabyAutoDiagnoseRiskController.java | 12 +- .../web/facade/BabyAutoDiagnoseRiskFacade.java | 86 +++++++++- .../operate/web/facade/BabyCheckFacade.java | 1 + .../operate/web/request/LisResultModelRequest.java | 176 +++++++++++++++++++++ .../operate/web/request/MatDeliverAddRequest.java | 10 ++ 7 files changed, 291 insertions(+), 6 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/LisResultModelRequest.java diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/BabyAutoDiagnoseEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/BabyAutoDiagnoseEnums.java index b5c63b3..59c487a 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/BabyAutoDiagnoseEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/BabyAutoDiagnoseEnums.java @@ -22,7 +22,8 @@ public class BabyAutoDiagnoseEnums { pf(8, "Apgar评分"), zxfz(9, "窒息分钟"), ts(10, "胎数"), - tz(11, "体重"); + tz(11, "体重"), + xhdb(12, "血红蛋白"); private int id; private String title; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java index e24b81c..b72faa6 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java @@ -540,6 +540,8 @@ public class MaternalDeliverModel extends BaseModel { private String babyGender; //新生儿重量 private String babyWeight; + //新生儿血红蛋白,自动诊断使用 + private String babyXhdb; //新生儿生长 private String babyHeight; //畸形 0非畸形 1畸形 @@ -722,6 +724,13 @@ public class MaternalDeliverModel extends BaseModel { public Baby() { } + public String getBabyXhdb() { + return babyXhdb; + } + + public void setBabyXhdb(String babyXhdb) { + this.babyXhdb = babyXhdb; + } public String getBabyQX() { return babyQX; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyAutoDiagnoseRiskController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyAutoDiagnoseRiskController.java index 707fccd..965fa70 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyAutoDiagnoseRiskController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyAutoDiagnoseRiskController.java @@ -7,6 +7,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.facade.BabyAutoDiagnoseRiskFacade; import com.lyms.platform.operate.web.request.AntExManagerQueryRequest; import com.lyms.platform.operate.web.request.BabyAutoRiskInfoRequest; +import com.lyms.platform.operate.web.request.LisResultModelRequest; import com.lyms.platform.pojo.AutoBabyRiskRecord; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; +import java.util.List; /** * 儿童自动诊断 控制层 @@ -84,5 +86,13 @@ public class BabyAutoDiagnoseRiskController extends BaseController { } - + /** + * 对接系统:血红蛋白自动诊断高危因素 + */ + @RequestMapping(method = RequestMethod.POST, value = "/saveLisBabyData") + @ResponseBody + public BaseResponse saveLisBabyData(@Valid @RequestBody List lisResultModelRequests) { + BaseResponse baseResponse = autoDiagnoseRiskFacade.saveLisBabyData(lisResultModelRequests); + return baseResponse; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java index 12c093f..d602090 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java @@ -12,10 +12,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.JsonUtil; -import com.lyms.platform.operate.web.request.AntExManagerQueryRequest; -import com.lyms.platform.operate.web.request.BabyAutoRiskInfoRequest; -import com.lyms.platform.operate.web.request.BabyAutoRiskRequest; -import com.lyms.platform.operate.web.request.MatDeliverAddRequest; +import com.lyms.platform.operate.web.request.*; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import net.sf.json.JSONArray; @@ -167,6 +164,7 @@ public class BabyAutoDiagnoseRiskFacade { if (type == 0) { MatDeliverQuery deliverQuery = new MatDeliverQuery(); deliverQuery.setParentId(babyAutoRiskRequest.getParentId()); + deliverQuery.setYn(YnEnums.YES.getId()); List maternalDeliverModels = matDeliverService.query(deliverQuery); if (CollectionUtils.isNotEmpty(maternalDeliverModels)) { maternalDeliverModel = maternalDeliverModels.get(0); @@ -434,6 +432,30 @@ public class BabyAutoDiagnoseRiskFacade { } } + /*血红蛋白 12 */ + if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId()) && maternalDeliverModel.getBaby() != null) { + List baby = maternalDeliverModel.getBaby(); + if (CollectionUtils.isNotEmpty(baby)) { + MaternalDeliverModel.Baby baby1 = baby.get(ii); + if (baby1 != null) { + //配置是g,儿童建档和检查是kg + String babyXhdb = baby1.getBabyXhdb(); + if (type == 2 && StringUtils.isNotEmpty(baby1.getBabyXhdb())) { + Double bXhdb = Double.parseDouble(baby1.getBabyXhdb()); + babyXhdb = bXhdb.toString(); + } + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId()); + if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(babyXhdb)) { + for (DiagnoseItemModel item : items) { + if (compare(item, babyXhdb) && CollectionUtils.isNotEmpty(item.getRiskIds())) { + list.addAll(item.getRiskIds()); + } + } + } + } + } + } + } @@ -890,4 +912,60 @@ public class BabyAutoDiagnoseRiskFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + /** + * 1 根据传入的list 信息查询对应的儿保检查 + * + * 2 判断是否有血红蛋白值,如果有就不执行 + * + * 3 没有值,根据血红蛋白值获取,高危因素 + * + * 4 没有值,更新儿保检查高危因素(累加高危) + * + */ + public BaseResponse saveLisBabyData( List lisResultModelRequests) { + + for (LisResultModelRequest modelRequest: lisResultModelRequests) { + + if(StringUtils.isEmpty(modelRequest.getHospitalId()) || StringUtils.isEmpty(modelRequest.getVcCardNo())){ + continue; + } + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setHospitalId(modelRequest.getHospitalId());//查询上传医院儿童档案 + babyQuery.setVcCardNo(modelRequest.getVcCardNo()); + List builds = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(builds)) { + BabyModel babyModel = builds.get(0); + if(babyModel ==null && StringUtils.isEmpty(babyModel.getId())){ + continue; + } + //获取最新的儿保检查 + BabyCheckModelQuery query = new BabyCheckModelQuery(); + query.setYn(YnEnums.YES.getId()); + query.setBuildId(babyModel.getId()); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(query); + if (CollectionUtils.isNotEmpty(babyCheckModels)) { + BabyCheckModel babyCheckModel = babyCheckModels.get(0); + if(babyCheckModel ==null && StringUtils.isEmpty(babyCheckModel.getId())){ + continue; + } + //获取当前儿保检查,诊断或高危因素 + Set setbabyModel = new HashSet <>(); + List babyModelList = JsonUtil.toList(babyCheckModel.getDiagnose(), String.class); + // 血红蛋白值,根据自动诊断规则,生成高危因素。并且将血红蛋白赋值儿保检查 + //待续。。。。。 + babyModelList.add(""); + + setbabyModel.addAll(babyModelList); + JSONArray jsonArray = JSONArray.fromObject(setbabyModel); + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk",1), BabyModel.class); + + } + } + + } + + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + } 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 a6170fa..86a1762 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 @@ -665,6 +665,7 @@ public class BabyCheckFacade extends BaseServiceImpl { List babys = new ArrayList(); MatDeliverAddRequest.Baby baby = new MatDeliverAddRequest.Baby(); baby.setBabyWeight(model.getWeight()); + baby.setBabyXhdb(model.getHemoglobin());//血红蛋白 babys.add(baby); babyAutoRiskRequest.setBabies(babys); babyAutoRiskRequest.setHospitalId(model.getHospitalId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/LisResultModelRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/LisResultModelRequest.java new file mode 100644 index 0000000..0028dc3 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/LisResultModelRequest.java @@ -0,0 +1,176 @@ +package com.lyms.platform.operate.web.request; + +/** + * lis检查结果返回实体类 + * + */ +public class LisResultModelRequest { + + // 血红蛋白 + private String xhdb; + private String lisId; + private String title; + private String type; + private String vcCardNo; + private String name; + + private String publish_Time; + private String sex; + private String age; + + + // 单位 + private String unit; + //检验时间 + private String CHECK_TIME; + //报告发布时间 + private String PUBLISH_TIME; + + //身份证 + private String cardNo; + //手机号 + private String phone; + //机构id + private String hospitalId; + + public String getXhdb() { + return xhdb; + } + + public void setXhdb(String xhdb) { + this.xhdb = xhdb; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getCHECK_TIME() { + return CHECK_TIME; + } + + public void setCHECK_TIME(String CHECK_TIME) { + this.CHECK_TIME = CHECK_TIME; + } + + public String getPUBLISH_TIME() { + return PUBLISH_TIME; + } + + public void setPUBLISH_TIME(String PUBLISH_TIME) { + this.PUBLISH_TIME = PUBLISH_TIME; + } + + public String getVcCardNo() { + return vcCardNo; + } + + public void setVcCardNo(String vcCardNo) { + this.vcCardNo = vcCardNo; + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getLisId() { + return lisId; + } + + public void setLisId(String lisId) { + this.lisId = lisId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPublish_Time() { + return publish_Time; + } + + public void setPublish_Time(String publish_Time) { + this.publish_Time = publish_Time; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getAge() { + return age; + } + + public void setAge(String age) { + this.age = age; + } + + @Override + public String toString() { + return "LisResultModel{" + + "xhdb='" + xhdb + '\'' + + ", lisId='" + lisId + '\'' + + ", title='" + title + '\'' + + ", type='" + type + '\'' + + ", vcCardNo='" + vcCardNo + '\'' + + ", name='" + name + '\'' + + ", publish_Time='" + publish_Time + '\'' + + ", sex='" + sex + '\'' + + ", age='" + age + '\'' + + ", unit='" + unit + '\'' + + ", CHECK_TIME='" + CHECK_TIME + '\'' + + ", PUBLISH_TIME='" + PUBLISH_TIME + '\'' + + ", cardNo='" + cardNo + '\'' + + ", phone='" + phone + '\'' + + ", hospitalId='" + hospitalId + '\'' + + '}'; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java index d8fd3d1..5cafd93 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java @@ -1207,6 +1207,8 @@ public class MatDeliverAddRequest implements IBasicRequestConvert