From 3d016c7bef2e2f7801ea38d224ecdb3667883075 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 24 Aug 2021 17:40:46 +0800 Subject: [PATCH] update --- .../hospitalapi/qhdfy/QhdfyHighRiskService.java | 268 +++++++++++++++++++++ .../com/lyms/hospitalapi/qhdfy/RiskBaseInfo.java | 61 +++++ .../java/com/lyms/hospitalapi/qhdfy/RiskItem.java | 124 ++++++++++ .../web/controller/BabyBuildController.java | 2 +- .../operate/web/controller/CommonController.java | 10 + .../com/lyms/platform/conn/inf/BaseConnection.java | 16 +- .../lyms/platform/worker/BoneTransferWorker.java | 2 +- 7 files changed, 473 insertions(+), 10 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/RiskBaseInfo.java create mode 100644 platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/RiskItem.java diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHighRiskService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHighRiskService.java index 1776dc4..0175f39 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHighRiskService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHighRiskService.java @@ -1,8 +1,276 @@ package com.lyms.hospitalapi.qhdfy; +import com.lyms.platform.biz.service.AntenatalExaminationService; +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade; +import com.lyms.platform.operate.web.request.AntExAddRequest; +import com.lyms.platform.operate.web.request.AntExcAddRequest; +import com.lyms.platform.pojo.AntExChuModel; +import com.lyms.platform.pojo.AntenatalExaminationModel; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.query.AntExChuQuery; +import com.lyms.platform.query.AntExQuery; +import com.lyms.platform.query.PatientsQuery; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.dbutils.DbUtils; +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.handlers.BeanListHandler; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Connection; +import java.text.SimpleDateFormat; +import java.util.*; + /** + * + * 秦皇岛诊断与孕产系统的高危对应关系 + * + 1.重度子痫前期、慢性高血压合并子痫前期 + 重度子痫前期 + 子痫前期重度 + 子痫前期 + 妊娠期高血压疾病-子痫前期 + 慢性高血压合并子痫前期 + + + 2.瘢痕子宫伴中央性前置胎盘或伴有可疑胎盘植入 + 中央性前置胎盘 + 中央型前置胎盘 + 前置胎盘(中央性) + 前置胎盘(中央型) + 前置胎盘 + 胎盘植入 + 胎盘植入(粘连型) + + 3.心功能II级,轻度左心功能障碍或者EF40%~50% + 左心衰 + 心衰 + 右心衰 + 心力衰竭 + 心功能三、四级(III、IV) + + 4. 妊娠期高血压性心脏病 + 妊娠期高血压型心脏病 + + 5.各种原因引起的肺动脉高压(≥50mmHg),如房缺、室缺、动脉导管未闭等 + 重度肺动脉高压 + 肺动脉高压(重度) + 肺动脉高压(轻度) + 轻度肺动脉高压 + + 6.凶险性前置胎盘、胎盘早剥 + 凶险性前置胎盘 + 胎盘早剥 + 胎盘早剥(三级) + + 7.脑血管畸形及手术史 + 脑出血 + 脑血管畸形 + + * * Created by Administrator on 2021-08-18. */ +@Service public class QhdfyHighRiskService { + private static Map RISK_MAP = new HashMap<>(); + static { + RISK_MAP.put("重度子痫前期","4ad55348-eb85-4546-8712-ccf21bc88f7b"); + RISK_MAP.put("子痫前期重度","4ad55348-eb85-4546-8712-ccf21bc88f7b"); + RISK_MAP.put("子痫前期","4ad55348-eb85-4546-8712-ccf21bc88f7b"); + RISK_MAP.put("妊娠期高血压疾病-子痫前期","4ad55348-eb85-4546-8712-ccf21bc88f7b"); + RISK_MAP.put("慢性高血压合并子痫前期","4ad55348-eb85-4546-8712-ccf21bc88f7b"); + + RISK_MAP.put("中央性前置胎盘","5a41f07c422b03d4ad2bf7e2"); + RISK_MAP.put("中央型前置胎盘","5a41f07c422b03d4ad2bf7e2"); + RISK_MAP.put("前置胎盘(中央性)","5a41f07c422b03d4ad2bf7e2"); + RISK_MAP.put("前置胎盘(中央型)","5a41f07c422b03d4ad2bf7e2"); + RISK_MAP.put("前置胎盘","5a41f07c422b03d4ad2bf7e2"); + RISK_MAP.put("胎盘植入","5a41f07c422b03d4ad2bf7e2"); + RISK_MAP.put("胎盘植入(粘连型)","5a41f07c422b03d4ad2bf7e2"); + + + RISK_MAP.put("左心衰","5a41f83b422b03d4ad2bf7fa"); + RISK_MAP.put("心衰","5a41f83b422b03d4ad2bf7fa"); + RISK_MAP.put("右心衰","5a41f83b422b03d4ad2bf7fa"); + RISK_MAP.put("心力衰竭","5a41f83b422b03d4ad2bf7fa"); + RISK_MAP.put("心功能三、四级(III、IV)","5a41f83b422b03d4ad2bf7fa"); + + RISK_MAP.put("妊娠期高血压性心脏病","5a41f9f0422b03d4ad2bf80d"); + + RISK_MAP.put("重度肺动脉高压","b3c12aa2-e7fa-4958-9933-ca952ce4c5e8"); + RISK_MAP.put("肺动脉高压(重度)","b3c12aa2-e7fa-4958-9933-ca952ce4c5e8"); + RISK_MAP.put("肺动脉高压(轻度)","b3c12aa2-e7fa-4958-9933-ca952ce4c5e8"); + RISK_MAP.put("轻度肺动脉高压","b3c12aa2-e7fa-4958-9933-ca952ce4c5e8"); + + RISK_MAP.put("凶险性前置胎盘","4540fa80-b1f5-46e4-ae09-52df04760735"); + RISK_MAP.put("胎盘早剥","4540fa80-b1f5-46e4-ae09-52df04760735"); + RISK_MAP.put("胎盘早剥(三级)","4540fa80-b1f5-46e4-ae09-52df04760735"); + + + RISK_MAP.put("脑出血","5a41fa24422b03d4ad2bf81a"); + RISK_MAP.put("脑血管畸形","5a41fa24422b03d4ad2bf81a"); + } + + @Autowired + private PatientsService patientsService; + @Autowired + private AntenatalExaminationFacade antenatalExaminationFacade; + @Autowired + private AntenatalExaminationService antenatalExaminationService; + + + public void autoAddRiskWork() { + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date start = new Date(new Date().getTime()-1000*60*60); + String startStr = fmt.format(start); + getRiskItems(startStr); + } + + public void getRiskItems(String start) + { + Connection conn = ConnTools.makeFmConnection(); + Connection connHis =ConnTools.makeHisConnection(); + QueryRunner queryRunner = new QueryRunner(); + try { + //String sql = "select top 100 SYXH as syxh,ZYHM as zyhm,BRXM as brxm,CYKS as cyks,CYBQ,ZDYS,ZDYSDM,ZDRQ,ZDXH,ZDMC,ZDLX,ZDBM,RYBQ from JHMK_BRZDQK where CONVERT(DATETIME,ZDRQ) > CONVERT(DATETIME,'2021-08-01 00:00:00', 120)" ; + String sql = "select top 100 SYXH as syxh,ZYHM as zyhm,BRXM as brxm,ZDXH as zdxh,ZDMC as zdmc from JHMK_BRZDQK where CONVERT(DATETIME,ZDRQ) > CONVERT(DATETIME,'"+start+"', 120)" ; + ExceptionUtils.catchException("risk sql "+sql); + //查询这个时间段的诊断数据 + List list = queryRunner.query(conn, sql, new BeanListHandler(RiskItem.class)); + +// List list = new ArrayList<>(); +// RiskItem item1 = new RiskItem(); +// item1.setZdmc("重度子痫前期"); +// list.add(item1); + + + if (CollectionUtils.isNotEmpty(list)) + { + for (RiskItem item : list) + { + String riskId = RISK_MAP.get(item.getZdmc()); + if (StringUtils.isEmpty(item.getZdmc()) || riskId == null) + { + continue; + } + //根据每一项诊断查询对应患者的信息 + String sqlHis = "select syxh,patid, blh,mzh,hzxm,sfzh from ZY_BRSYK z where z.syxh="+ item.getSyxh(); + List infos = queryRunner.query(connHis, sqlHis, new BeanListHandler(RiskBaseInfo.class)); +// List infos = new ArrayList<>(); +// RiskBaseInfo riskBaseInfo = new RiskBaseInfo(); +// riskBaseInfo.setSfzh("fadfasfa"); +// infos.add(riskBaseInfo); + if (CollectionUtils.isNotEmpty(infos)) + { + RiskBaseInfo baseInfo = infos.get(0); + if (StringUtils.isNotEmpty(baseInfo.getSfzh())) + { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setCardNo(baseInfo.getSfzh()); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setType(1); + //patientsQuery.setHospitalId("216"); + + List patientses = patientsService.queryPatient1(patientsQuery,"created"); + if (CollectionUtils.isNotEmpty(patientses)) + { + String pid = patientses.get(0).getPid(); + + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setPid(pid); + antExQuery.setYn(YnEnums.YES.getId()); + List antenatalExaminationModels = antenatalExaminationService.queryLastAntenatalExamination(antExQuery.convertToQuery()); + if (CollectionUtils.isNotEmpty(antenatalExaminationModels)) + { + AntenatalExaminationModel model = antenatalExaminationModels.get(0); + String riskFactor = model.getRiskFactor(); + if (StringUtils.isNotEmpty(riskFactor) && !"[]".equals(riskFactor) && !"[null]".equals(riskFactor)) + { + List list1 = JsonUtil.toList(model.getRiskFactor(), List.class); + if (CollectionUtils.isNotEmpty(list1) && list1.contains(riskId)) + { + continue; + } + else if (CollectionUtils.isNotEmpty(list1) && list1.contains("d42eec03-aa86-45b8-a4e0-78a0ff365fb6")) + { + List reqRisk = new ArrayList<>(); + reqRisk.add(riskId); + AntExAddRequest antExAddRequest = new AntExAddRequest(); + antExAddRequest.setId(model.getId()); + antExAddRequest.setRiskFactor(reqRisk); + antExAddRequest.setPid(model.getPid()); + + antenatalExaminationFacade.addOneAntEx(antExAddRequest, Integer.parseInt(model.getCheckDoctor())); + } + else if (CollectionUtils.isNotEmpty(list1) ) + { + list1.add(riskId); + AntExAddRequest antExAddRequest = new AntExAddRequest(); + antExAddRequest.setId(model.getId()); + antExAddRequest.setRiskFactor(list1); + antExAddRequest.setPid(model.getPid()); + antenatalExaminationFacade.addOneAntEx(antExAddRequest, Integer.parseInt(model.getCheckDoctor())); + } + } + }else + { + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setPid(pid); + antExChuQuery.setYn(YnEnums.YES.getId()); + List antExChu = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(antExChu)) + { + AntExChuModel model = antExChu.get(0); + String riskFactor = model.getHighrisk(); + if (StringUtils.isNotEmpty(riskFactor) && !"[]".equals(riskFactor)) + { + List list1 = JsonUtil.toList(riskFactor, List.class); + if (CollectionUtils.isNotEmpty(list1) && list1.contains(riskId)) + { + continue; + } + else if (CollectionUtils.isNotEmpty(list1) && list1.contains("d42eec03-aa86-45b8-a4e0-78a0ff365fb6")) + { + List reqRisk = new ArrayList<>(); + reqRisk.add(riskId); + AntExcAddRequest antExcAddRequest = new AntExcAddRequest(); + antExcAddRequest.setId(model.getId()); + antExcAddRequest.setHighrisk(reqRisk); + antExcAddRequest.setPid(model.getPid()); + + antenatalExaminationFacade.addOneAnetExChu(antExcAddRequest, Integer.parseInt(model.getProdDoctor())); + } + else if (CollectionUtils.isNotEmpty(list1) ) + { + list1.add(riskId); + AntExcAddRequest antExcAddRequest = new AntExcAddRequest(); + antExcAddRequest.setId(model.getId()); + antExcAddRequest.setHighrisk(list1); + antExcAddRequest.setPid(model.getPid()); + antenatalExaminationFacade.addOneAnetExChu(antExcAddRequest, Integer.parseInt(model.getProdDoctor())); + } + } + } + } + } + } + } + } + } + + + }catch (Exception e) + { + ExceptionUtils.catchException(e,"qhd risk error."); + }finally { +// DbUtils.closeQuietly(connHis); +// DbUtils.closeQuietly(conn); + } + } } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/RiskBaseInfo.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/RiskBaseInfo.java new file mode 100644 index 0000000..6d610b7 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/RiskBaseInfo.java @@ -0,0 +1,61 @@ +package com.lyms.hospitalapi.qhdfy; + +/** + * Created by Administrator on 2021-08-23. + */ +public class RiskBaseInfo { + private String syxh; + private String patid; + private String blh; + private String mzh; + private String hzxm; + private String sfzh; + + public String getSyxh() { + return syxh; + } + + public void setSyxh(String syxh) { + this.syxh = syxh; + } + + public String getPatid() { + return patid; + } + + public void setPatid(String patid) { + this.patid = patid; + } + + public String getBlh() { + return blh; + } + + public void setBlh(String blh) { + this.blh = blh; + } + + public String getMzh() { + return mzh; + } + + public void setMzh(String mzh) { + this.mzh = mzh; + } + + public String getHzxm() { + return hzxm; + } + + public void setHzxm(String hzxm) { + this.hzxm = hzxm; + } + + public String getSfzh() { + return sfzh; + } + + public void setSfzh(String sfzh) { + this.sfzh = sfzh; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/RiskItem.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/RiskItem.java new file mode 100644 index 0000000..8599044 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/RiskItem.java @@ -0,0 +1,124 @@ +package com.lyms.hospitalapi.qhdfy; + +/** + * Created by Administrator on 2021-08-23. + */ +public class RiskItem { + private String syxh; + private String zyhm; + private String brxm; + private String cyks; + private String cybq; + private String zdys; + private String zdysdm; + private String zdrq; + private String zdxh; + private String zdmc; + private String zdlx; + private String zdbm; + private String rybq; + + public String getSyxh() { + return syxh; + } + + public void setSyxh(String syxh) { + this.syxh = syxh; + } + + public String getZyhm() { + return zyhm; + } + + public void setZyhm(String zyhm) { + this.zyhm = zyhm; + } + + public String getBrxm() { + return brxm; + } + + public void setBrxm(String brxm) { + this.brxm = brxm; + } + + public String getCyks() { + return cyks; + } + + public void setCyks(String cyks) { + this.cyks = cyks; + } + + public String getCybq() { + return cybq; + } + + public void setCybq(String cybq) { + this.cybq = cybq; + } + + public String getZdys() { + return zdys; + } + + public void setZdys(String zdys) { + this.zdys = zdys; + } + + public String getZdysdm() { + return zdysdm; + } + + public void setZdysdm(String zdysdm) { + this.zdysdm = zdysdm; + } + + public String getZdrq() { + return zdrq; + } + + public void setZdrq(String zdrq) { + this.zdrq = zdrq; + } + + public String getZdxh() { + return zdxh; + } + + public void setZdxh(String zdxh) { + this.zdxh = zdxh; + } + + public String getZdmc() { + return zdmc; + } + + public void setZdmc(String zdmc) { + this.zdmc = zdmc; + } + + public String getZdlx() { + return zdlx; + } + + public void setZdlx(String zdlx) { + this.zdlx = zdlx; + } + + public String getZdbm() { + return zdbm; + } + + public void setZdbm(String zdbm) { + this.zdbm = zdbm; + } + + public String getRybq() { + return rybq; + } + + public void setRybq(String rybq) { + this.rybq = rybq; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index d0a1f9c..00b7d7b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -246,7 +246,7 @@ public class BabyBuildController extends BaseController { @RequestParam("page") Integer page, @RequestParam("limit") Integer limit, @RequestParam(value = "showDetail", defaultValue = "0") Integer showDetail, - @RequestParam(value = "isShowPhone") Integer isShowPhone, + @RequestParam(value = "isShowPhone",required = false) Integer isShowPhone, @RequestParam(value = "buildDoctor", required = false) String buildDoctor, @RequestParam(value = "provinceId", required = false) String provinceId, @RequestParam(value = "cityId", required = false) String cityId, diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommonController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommonController.java index 99cd4fb..64b9a2f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommonController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommonController.java @@ -1,6 +1,7 @@ package com.lyms.platform.operate.web.controller; import com.lyms.hospitalapi.hs.HsfyFmService; +import com.lyms.hospitalapi.qhdfy.QhdfyHighRiskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -25,6 +26,8 @@ import com.lyms.platform.operate.web.service.ICommonServer; public class CommonController extends BaseController { @Autowired private HsfyFmService hsfyFmService; + @Autowired + private QhdfyHighRiskService qhdfyHighRiskService; @RequestMapping(method = RequestMethod.GET, value = "/hsfy") @ResponseBody @@ -33,6 +36,13 @@ public class CommonController extends BaseController { } + @RequestMapping(method = RequestMethod.GET, value = "/qhdfyRisk") + @ResponseBody + public void qhdfyRisk(@RequestParam(required = false) String start) { + qhdfyHighRiskService.getRiskItems(start); + } + + @Autowired private ICommonServer commonServer; diff --git a/platform-transfer/src/main/java/com/lyms/platform/conn/inf/BaseConnection.java b/platform-transfer/src/main/java/com/lyms/platform/conn/inf/BaseConnection.java index 181a3e3..88be4da 100644 --- a/platform-transfer/src/main/java/com/lyms/platform/conn/inf/BaseConnection.java +++ b/platform-transfer/src/main/java/com/lyms/platform/conn/inf/BaseConnection.java @@ -19,14 +19,14 @@ public abstract class BaseConnection implements IConnection{ public void close(Connection conn, Statement sta, ResultSet rst) { try { - if (rst != null) - { - rst.close(); - } - if (sta != null) - { - sta.close(); - } +// if (sta != null) +// { +// sta.close(); +// } +// if (rst != null) +// { +// rst.close(); +// } if (conn != null) { conn.close(); diff --git a/platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java b/platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java index 5af0569..1b8194f 100644 --- a/platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java +++ b/platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java @@ -85,7 +85,7 @@ public class BoneTransferWorker extends TransferAbstract implements ITransfer{ String response = send(map, properties.getUrl() + "/saveBone"); if (response.contains("0")) { - sta.executeUpdate("update PatientInfo set status='1' where PatientID='"+PatientID+"'"); + sta.executeUpdate("update PatientInfo set status='1' where PatientID='" + PatientID + "'"); conn.commit(); } } -- 1.8.3.1