From 33d16eb4b533c9250e5e900d96f63dba9096192f Mon Sep 17 00:00:00 2001 From: lxd <1004405501@qq.com> Date: Fri, 7 Mar 2025 11:30:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AF=B9=E5=A4=96=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=A0=B9=E6=8D=AE=E8=BA=AB=E4=BB=BD=E8=AF=81=E8=AE=BF?= =?UTF-8?q?=E9=97=AEecg=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EcganalysisparasController.java | 27 ++++++++++++++++++- .../vo/EcganalysisparasPageReqVO.java | 3 +++ .../vo/EcganalysisparasRespVO.java | 2 ++ .../vo/EcganalysisparasSaveReqVO.java | 2 ++ .../vo/EcganalysisparascreateReqVO.java | 3 ++- .../vo/PatientexamlistPageReqVO.java | 3 +++ .../vo/PatientexamlistRespVO.java | 3 +++ .../vo/PatientexamlistSaveReqVO.java | 4 +++ .../ecganalysisparas/EcganalysisparasDO.java | 6 +++++ .../patientexamlist/PatientexamlistDO.java | 3 +++ .../EcganalysisparasService.java | 4 +++ .../EcganalysisparasServiceImpl.java | 9 ++++--- .../PatientexamlistServiceImpl.java | 20 +++++++++++--- 13 files changed, 81 insertions(+), 8 deletions(-) diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/EcganalysisparasController.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/EcganalysisparasController.java index 4f7d51d0e..d9ab9cee6 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/EcganalysisparasController.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/EcganalysisparasController.java @@ -97,7 +97,32 @@ public class EcganalysisparasController { ecganalysisparasService.updateEcganalysisparas(updateReqVO); return success(true); } - + @GetMapping("/getIdCardEcgData") + @Operation(summary = "通过身份证获取心电数据") + public CommonResult> getIdCardEcgData(@RequestParam("idCard") String idCard) + { + List list1 = new ArrayList<>(); + List list =ecganalysisparasService.idCardEcgData(idCard); + if (list!=null) + { + for (EcganalysisparasDO ecganalysisparasDO:list) + { + PatientexamlistDO patientexamlist = patientexamlistMapper.selectByExamIdKey(ecganalysisparasDO.getExamId(), ecganalysisparasDO.getOrgId()); + EcgidCardDataVO ecgidCardDataVO = new EcgidCardDataVO(); + ecgidCardDataVO.setExamId(ecganalysisparasDO.getExamId()); + ecgidCardDataVO.setDiagResult(ecganalysisparasDO.getDoctorDiagResult()); + ecgidCardDataVO.setEcgDataFilePath(patientexamlist.getPdfurl()); + ecgidCardDataVO.setHR(ecganalysisparasDO.getHr()); + ecgidCardDataVO.setDiagTime(ecganalysisparasDO.getDoctorDiagTime()); + String diagResult = ecganalysisparasDO.getDoctorDiagResult(); + // 判断是否包含“心率不齐” + int heartRateUneven = diagResult.contains("心率不齐") ? 1 : 0; + ecgidCardDataVO.setHeartRateUneven(heartRateUneven); + list1.add(ecgidCardDataVO); + } + } + return success(list1); + } @PutMapping("/save") @Operation(summary = "保存心电分析数据") diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasPageReqVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasPageReqVO.java index 64c61c8de..79c3efa02 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasPageReqVO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasPageReqVO.java @@ -114,4 +114,7 @@ public class EcganalysisparasPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createDate; + @Schema(description = "身份证") + private String idcard; + } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasRespVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasRespVO.java index c5ac4a882..b311e43ad 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasRespVO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasRespVO.java @@ -144,5 +144,7 @@ public class EcganalysisparasRespVO { @Schema(description = "登记ID") @ExcelProperty("登记ID") private String regId; + @Schema(description = "身份证") + private String idcard; } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasSaveReqVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasSaveReqVO.java index 606a6c34e..6fb47493a 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasSaveReqVO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparasSaveReqVO.java @@ -115,5 +115,7 @@ public class EcganalysisparasSaveReqVO { private String gender; private String age; private String diagtime; + private String idcard; + } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparascreateReqVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparascreateReqVO.java index 27198ee7b..60f3b5a90 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparascreateReqVO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/ecganalysisparas/vo/EcganalysisparascreateReqVO.java @@ -75,5 +75,6 @@ public class EcganalysisparascreateReqVO { @Schema(description = "分析参数的创建时间") private DateTime createDate; - + @Schema(description = "身份证") + private String idcard; } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistPageReqVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistPageReqVO.java index e3f71821c..e58c94810 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistPageReqVO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistPageReqVO.java @@ -120,4 +120,7 @@ public class PatientexamlistPageReqVO extends PageParam { private String warning; private String applyhighLevelname; + + @Schema(description = "身份证") + private String idcard; } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistRespVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistRespVO.java index d8f717773..ac1fc7261 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistRespVO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistRespVO.java @@ -136,4 +136,7 @@ public class PatientexamlistRespVO { private String pdfurl; private String warning; private String applyhighLevelname; + + @Schema(description = "身份证") + private String idcard; } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistSaveReqVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistSaveReqVO.java index 9b0225ba2..e1f1c972c 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistSaveReqVO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistSaveReqVO.java @@ -113,4 +113,8 @@ public class PatientexamlistSaveReqVO { private String warning; private String applyhighLevelname; + @Schema(description = "身份证") + private String idcard; + + } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/ecganalysisparas/EcganalysisparasDO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/ecganalysisparas/EcganalysisparasDO.java index f71d9dd47..14dfc416b 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/ecganalysisparas/EcganalysisparasDO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/ecganalysisparas/EcganalysisparasDO.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.tblist.dal.dataobject.ecganalysisparas; import cn.hutool.core.date.DateTime; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -190,5 +191,10 @@ public class EcganalysisparasDO { private LocalDateTime createDate; @TableField("regId") private String regId; + /* + * 身份证号 + * */ + @TableField("idcard") + private String idcard; } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/patientexamlist/PatientexamlistDO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/patientexamlist/PatientexamlistDO.java index 86c475be1..678f578c6 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/patientexamlist/PatientexamlistDO.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/patientexamlist/PatientexamlistDO.java @@ -188,4 +188,7 @@ public class PatientexamlistDO extends BaseDO { @TableField(value = "warning") private String warning; + + @TableField(value = "idcard") + private String idcard; } \ No newline at end of file diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/ecganalysisparas/EcganalysisparasService.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/ecganalysisparas/EcganalysisparasService.java index 2989a2a66..33847fec3 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/ecganalysisparas/EcganalysisparasService.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/ecganalysisparas/EcganalysisparasService.java @@ -73,6 +73,10 @@ public interface EcganalysisparasService extends IService { * @return 心电分析数据 */ EcganalysisparasDO getexamIDdata(String examID, String orgId); + /* + * 根据身份证号获取心电分析数据 + * */ + List idCardEcgData(String idcard); /** * 获取心电分析数据对应的pdf图像 diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/ecganalysisparas/EcganalysisparasServiceImpl.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/ecganalysisparas/EcganalysisparasServiceImpl.java index 413b43970..0581a5684 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/ecganalysisparas/EcganalysisparasServiceImpl.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/ecganalysisparas/EcganalysisparasServiceImpl.java @@ -22,14 +22,12 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import cn.iocoder.yudao.module.tblist.controller.admin.ecganalysisparas.vo.*; import cn.iocoder.yudao.module.tblist.dal.dataobject.ecganalysisparas.EcganalysisparasDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.tblist.dal.mysql.ecganalysisparas.EcganalysisparasMapper; @@ -131,7 +129,12 @@ public class EcganalysisparasServiceImpl extends ServiceImpl idCardEcgData(String idcard) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("idcard", idcard); + return ecganalysisparasMapper.selectList(queryWrapper); + } @Override public Map getEcgPdfImage(JSONObject params) { Map mapResult = new HashMap<>(); diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistServiceImpl.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistServiceImpl.java index d6978e15f..8d6e80c66 100644 --- a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistServiceImpl.java +++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistServiceImpl.java @@ -15,6 +15,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.itextpdf.text.Image; import com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.*; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.conn.ssl.NoopHostnameVerifier; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.ssl.SSLContextBuilder; +import org.apache.http.util.EntityUtils; import org.springframework.boot.system.ApplicationHome; import org.springframework.stereotype.Service; @@ -620,9 +627,16 @@ public class PatientexamlistServiceImpl extends ServiceImpl true).build()) + .build(); + HttpGet request = new HttpGet(safeString(url)); + try (CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(request)) { + byte[] imageData = EntityUtils.toByteArray(response.getEntity()); + if (imageData != null) + out = Image.getInstance(imageData); + } } catch (Exception ex) { out = null; }