From 077edadc2c1d242cada27eb432d233b4f6325e58 Mon Sep 17 00:00:00 2001 From: wtt Date: Fri, 4 Sep 2020 08:42:18 +0800 Subject: [PATCH] update --- .../com/lyms/platform/pojo/AutoBabyRiskRecord.java | 9 + .../controller/BabyAutoDiagnoseRiskController.java | 13 + .../web/facade/BabyAutoDiagnoseRiskFacade.java | 32 +- .../web/request/BabyAutoRiskInfoRequest.java | 367 +++++++++++++++++++++ 4 files changed, 417 insertions(+), 4 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAutoRiskInfoRequest.java diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AutoBabyRiskRecord.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AutoBabyRiskRecord.java index 1be757a..7bf164a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AutoBabyRiskRecord.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AutoBabyRiskRecord.java @@ -42,6 +42,7 @@ public class AutoBabyRiskRecord extends BaseModel { private String diagnosisMonth; //自动诊断结果risks private List > diagnosis; + private List diagnosislist; //自动诊断时间 private Date diagnosisDate; //状态 0 未确认 1已经确认 @@ -50,6 +51,14 @@ public class AutoBabyRiskRecord extends BaseModel { private Integer type; + public List getDiagnosislist() { + return diagnosislist; + } + + public void setDiagnosislist(List diagnosislist) { + this.diagnosislist = diagnosislist; + } + public Integer getYn() { return yn; } 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 b8b26ea..c08ca64 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 @@ -6,6 +6,7 @@ import com.lyms.platform.common.base.LoginContext; 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.pojo.AutoBabyRiskRecord; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -69,6 +70,18 @@ public class BabyAutoDiagnoseRiskController extends BaseController { + /** + 儿童建档,儿童检查自动诊断 + * @Author: 武涛涛 + * @Date: 2020/9/3 21:00 + */ + @RequestMapping(method = RequestMethod.POST, value = "/autoBabyInfoRisk") + @ResponseBody + @TokenRequired + public BaseResponse autoBabyInfoRisk(@RequestBody BabyAutoRiskInfoRequest babyAutoRiskInfoRequest, HttpServletRequest request) throws Exception{ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return autoDiagnoseRiskFacade.autoBabyInfoRisk(babyAutoRiskInfoRequest); + } 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 ae62d5e..0f16b74 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 @@ -13,6 +13,7 @@ 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.pojo.*; @@ -95,6 +96,9 @@ public class BabyAutoDiagnoseRiskFacade { //自动诊断高危 List > riskList = autoRisk(babyAutoRiskRequest, babyAutoRiskRequest.getHospitalId(), type); autoBabyRiskRecord.setDiagnosis(riskList); + List list = new ArrayList <>(); + getDiagnosisId(autoBabyRiskRecord,list); + autoBabyRiskRecord.setDiagnosislist(list); /*保存自动诊断数据*/ @@ -102,6 +106,23 @@ public class BabyAutoDiagnoseRiskFacade { } /** + * 儿童建档,儿童检查自动诊断 + * + * @param babyAutoRiskInfoRequest + * @Author: 武涛涛 + * @Date: 2020/9/3 20:54 + */ + public BaseResponse autoBabyInfoRisk(BabyAutoRiskInfoRequest babyAutoRiskInfoRequest) throws NoSuchFieldException, IllegalAccessException { + BabyAutoRiskRequest babyAutoRiskRequest = babyAutoRiskInfoRequest.convertToDataModel(); + + //自动诊断高危 + List > riskList = autoRisk(babyAutoRiskRequest, babyAutoRiskRequest.getHospitalId(), babyAutoRiskInfoRequest.getType()); + + return new BaseListResponse().setData(riskList).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + + } + + /** * 儿童,自动判定高危因素 * * @param hospitalId @@ -686,15 +707,18 @@ public class BabyAutoDiagnoseRiskFacade { Criteria c1 = null; if (null != antExManagerQueryRequest.getQueryNo()) { MongoCondition c = MongoCondition.newInstance(); - MongoCondition con1 = MongoCondition.newInstance("phone", antExManagerQueryRequest.getQueryNo(), MongoOper.IS); - MongoCondition con2 = MongoCondition.newInstance("username", "^" + antExManagerQueryRequest.getQueryNo(), MongoOper.LIKE); + MongoCondition con1 = MongoCondition.newInstance("mphone", antExManagerQueryRequest.getQueryNo(), MongoOper.IS); + MongoCondition con2 = MongoCondition.newInstance("name", "^" + antExManagerQueryRequest.getQueryNo(), MongoOper.LIKE); MongoCondition con3 = MongoCondition.newInstance("cardNo", antExManagerQueryRequest.getQueryNo(), MongoOper.IS); + MongoCondition con4 = MongoCondition.newInstance("mcertNo", antExManagerQueryRequest.getQueryNo(), MongoOper.IS); //MongoCondition con4 = MongoCondition.newInstance("fileCode", queryNo, MongoOper.IS); MongoCondition con5 = MongoCondition.newInstance("vcCardNo", antExManagerQueryRequest.getQueryNo(), MongoOper.IS); if (c1 != null) { - c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2, con3, con5}).getCriteria()); + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2, con3, con4,con5}).getCriteria()); + query.addCriteria(c1); } else { - c1 = c.orCondition(new MongoCondition[]{con1, con2, con3, con5}).getCriteria(); + c1 = c.orCondition(new MongoCondition[]{con1, con2, con3, con4, con5}).getCriteria(); + query.addCriteria(c1); } } if (StringUtils.isNotEmpty(antExManagerQueryRequest.getAutoTime())) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAutoRiskInfoRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAutoRiskInfoRequest.java new file mode 100644 index 0000000..35caf2d --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAutoRiskInfoRequest.java @@ -0,0 +1,367 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.base.IBasicRequestConvert; +import com.lyms.platform.common.core.annotation.form.Form; +import org.hibernate.validator.constraints.NotEmpty; +import org.springframework.data.mongodb.core.mapping.Document; + +import javax.validation.constraints.NotNull; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * 儿童检查,自动高危页面入参类 + */ +@Form +@Document +public class BabyAutoRiskInfoRequest implements IBasicRequestConvert { + + + //新生儿重量 getBaby + private String babyWeight; + //apgar评分 + private Map apgarScore; + //分娩孕周 + private String dueWeek; + //分娩方式 + private Map deliveryMode; + //1 儿童建档,2儿童检查使用自动诊断 + @NotNull(message = "type不能为空") + @NotEmpty(message = "type不能为空") + private Integer type; + + + /***畸形详情 getBaby ****/ + //无脑畸形 + private boolean jxWn; + //脊柱裂 + private boolean jxJzl; + //脑彭出 + private boolean jxNpc; + //先天性脑积水 + private boolean jxNjs; + //腭裂 + private boolean jxEl; + //唇裂 + private boolean jxCl; + //唇裂合并腭裂 + private boolean jxClhb; + //小耳(包括无耳) + private boolean jxXe; + //外耳其他畸形(小耳、无耳除外) + private boolean jxWe; + //食道闭锁或狭窄 + private boolean jxSdbs; + //直肠肛门闭锁或狭窄(包括无肛) + private boolean jxZcgm; + //尿道下裂 + private boolean jxNdxl; + //膀胱外翻 + private boolean jxPwwf; + //马蹄内翻足 + private boolean jxMtn; + //多指 + private boolean jxDz; + //多趾 + private boolean jxDc; + //并指 + private boolean jxBz; + //并趾 + private boolean jxBc; + //肢体短缩包括缺指(趾)、裂手(足)] + private boolean jxZtds; + //先天性隔疝 + private boolean jxXtxe; + //脐膨出 + private boolean jxQpc; + //腹裂 + private boolean jxFl; + //联体双胎 + private boolean jxLtst; + //唐氏综合征(21-三体综合征) + private boolean jxTszh; + //先天性心脏病 + private boolean jxXtx; + + @Override + public BabyAutoRiskRequest convertToDataModel() { + BabyAutoRiskRequest babyAutoRiskRequest = new BabyAutoRiskRequest(); + babyAutoRiskRequest.setDueWeek(dueWeek); + babyAutoRiskRequest.setDeliveryMode(deliveryMode); + List babies = new ArrayList <>(); + MatDeliverAddRequest.Baby baby = new MatDeliverAddRequest.Baby(); + baby.setBabyWeight(babyWeight); + baby.setApgarScore(apgarScore); + baby.setJxWn(jxWn); + baby.setJxJzl(jxJzl); + baby.setJxNpc(jxNpc); + baby.setJxNjs(jxNjs); + baby.setJxEl(jxEl); + baby.setJxCl(jxCl); + baby.setJxClhb(jxClhb); + baby.setJxXe(jxXe); + baby.setJxWe(jxWe); + baby.setJxSdbs(jxSdbs); + baby.setJxZcgm(jxZcgm); + baby.setJxNdxl(jxNdxl); + baby.setJxPwwf(jxPwwf); + baby.setJxMtn(jxMtn); + baby.setJxDz(jxDz); + baby.setJxDc(jxDc); + baby.setJxBz(jxBz); + baby.setJxBc(jxBc); + baby.setJxZtds(jxZtds); + baby.setJxXtxe(jxXtxe); + baby.setJxQpc(jxQpc); + baby.setJxFl(jxFl); + baby.setJxLtst(jxLtst); + baby.setJxTszh(jxTszh); + baby.setJxXtx(jxXtx); + babies.add(baby); + babyAutoRiskRequest.setBabies(babies); + return babyAutoRiskRequest; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public String getBabyWeight() { + return babyWeight; + } + + public void setBabyWeight(String babyWeight) { + this.babyWeight = babyWeight; + } + + public Map getApgarScore() { + return apgarScore; + } + + public void setApgarScore(Map apgarScore) { + this.apgarScore = apgarScore; + } + + public String getDueWeek() { + return dueWeek; + } + + public void setDueWeek(String dueWeek) { + this.dueWeek = dueWeek; + } + + public Map getDeliveryMode() { + return deliveryMode; + } + + public void setDeliveryMode(Map deliveryMode) { + this.deliveryMode = deliveryMode; + } + + public boolean isJxWn() { + return jxWn; + } + + public void setJxWn(boolean jxWn) { + this.jxWn = jxWn; + } + + public boolean isJxJzl() { + return jxJzl; + } + + public void setJxJzl(boolean jxJzl) { + this.jxJzl = jxJzl; + } + + public boolean isJxNpc() { + return jxNpc; + } + + public void setJxNpc(boolean jxNpc) { + this.jxNpc = jxNpc; + } + + public boolean isJxNjs() { + return jxNjs; + } + + public void setJxNjs(boolean jxNjs) { + this.jxNjs = jxNjs; + } + + public boolean isJxEl() { + return jxEl; + } + + public void setJxEl(boolean jxEl) { + this.jxEl = jxEl; + } + + public boolean isJxCl() { + return jxCl; + } + + public void setJxCl(boolean jxCl) { + this.jxCl = jxCl; + } + + public boolean isJxClhb() { + return jxClhb; + } + + public void setJxClhb(boolean jxClhb) { + this.jxClhb = jxClhb; + } + + public boolean isJxXe() { + return jxXe; + } + + public void setJxXe(boolean jxXe) { + this.jxXe = jxXe; + } + + public boolean isJxWe() { + return jxWe; + } + + public void setJxWe(boolean jxWe) { + this.jxWe = jxWe; + } + + public boolean isJxSdbs() { + return jxSdbs; + } + + public void setJxSdbs(boolean jxSdbs) { + this.jxSdbs = jxSdbs; + } + + public boolean isJxZcgm() { + return jxZcgm; + } + + public void setJxZcgm(boolean jxZcgm) { + this.jxZcgm = jxZcgm; + } + + public boolean isJxNdxl() { + return jxNdxl; + } + + public void setJxNdxl(boolean jxNdxl) { + this.jxNdxl = jxNdxl; + } + + public boolean isJxPwwf() { + return jxPwwf; + } + + public void setJxPwwf(boolean jxPwwf) { + this.jxPwwf = jxPwwf; + } + + public boolean isJxMtn() { + return jxMtn; + } + + public void setJxMtn(boolean jxMtn) { + this.jxMtn = jxMtn; + } + + public boolean isJxDz() { + return jxDz; + } + + public void setJxDz(boolean jxDz) { + this.jxDz = jxDz; + } + + public boolean isJxDc() { + return jxDc; + } + + public void setJxDc(boolean jxDc) { + this.jxDc = jxDc; + } + + public boolean isJxBz() { + return jxBz; + } + + public void setJxBz(boolean jxBz) { + this.jxBz = jxBz; + } + + public boolean isJxBc() { + return jxBc; + } + + public void setJxBc(boolean jxBc) { + this.jxBc = jxBc; + } + + public boolean isJxZtds() { + return jxZtds; + } + + public void setJxZtds(boolean jxZtds) { + this.jxZtds = jxZtds; + } + + public boolean isJxXtxe() { + return jxXtxe; + } + + public void setJxXtxe(boolean jxXtxe) { + this.jxXtxe = jxXtxe; + } + + public boolean isJxQpc() { + return jxQpc; + } + + public void setJxQpc(boolean jxQpc) { + this.jxQpc = jxQpc; + } + + public boolean isJxFl() { + return jxFl; + } + + public void setJxFl(boolean jxFl) { + this.jxFl = jxFl; + } + + public boolean isJxLtst() { + return jxLtst; + } + + public void setJxLtst(boolean jxLtst) { + this.jxLtst = jxLtst; + } + + public boolean isJxTszh() { + return jxTszh; + } + + public void setJxTszh(boolean jxTszh) { + this.jxTszh = jxTszh; + } + + public boolean isJxXtx() { + return jxXtx; + } + + public void setJxXtx(boolean jxXtx) { + this.jxXtx = jxXtx; + } + + +} -- 1.8.3.1