新增对外接口根据身份证访问ecg信息
This commit is contained in:
parent
7de8821041
commit
33d16eb4b5
yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist
controller/admin
dal/dataobject
service
ecganalysisparas
patientexamlist
@ -97,7 +97,32 @@ public class EcganalysisparasController {
|
||||
ecganalysisparasService.updateEcganalysisparas(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/getIdCardEcgData")
|
||||
@Operation(summary = "通过身份证获取心电数据")
|
||||
public CommonResult<List<EcgidCardDataVO>> getIdCardEcgData(@RequestParam("idCard") String idCard)
|
||||
{
|
||||
List<EcgidCardDataVO> list1 = new ArrayList<>();
|
||||
List<EcganalysisparasDO> 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 = "保存心电分析数据")
|
||||
|
@ -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;
|
||||
|
||||
}
|
@ -144,5 +144,7 @@ public class EcganalysisparasRespVO {
|
||||
@Schema(description = "登记ID")
|
||||
@ExcelProperty("登记ID")
|
||||
private String regId;
|
||||
@Schema(description = "身份证")
|
||||
private String idcard;
|
||||
|
||||
}
|
@ -115,5 +115,7 @@ public class EcganalysisparasSaveReqVO {
|
||||
private String gender;
|
||||
private String age;
|
||||
private String diagtime;
|
||||
private String idcard;
|
||||
|
||||
|
||||
}
|
@ -75,5 +75,6 @@ public class EcganalysisparascreateReqVO {
|
||||
|
||||
@Schema(description = "分析参数的创建时间")
|
||||
private DateTime createDate;
|
||||
|
||||
@Schema(description = "身份证")
|
||||
private String idcard;
|
||||
}
|
@ -120,4 +120,7 @@ public class PatientexamlistPageReqVO extends PageParam {
|
||||
|
||||
private String warning;
|
||||
private String applyhighLevelname;
|
||||
|
||||
@Schema(description = "身份证")
|
||||
private String idcard;
|
||||
}
|
@ -136,4 +136,7 @@ public class PatientexamlistRespVO {
|
||||
private String pdfurl;
|
||||
private String warning;
|
||||
private String applyhighLevelname;
|
||||
|
||||
@Schema(description = "身份证")
|
||||
private String idcard;
|
||||
}
|
@ -113,4 +113,8 @@ public class PatientexamlistSaveReqVO {
|
||||
private String warning;
|
||||
private String applyhighLevelname;
|
||||
|
||||
@Schema(description = "身份证")
|
||||
private String idcard;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -188,4 +188,7 @@ public class PatientexamlistDO extends BaseDO {
|
||||
|
||||
@TableField(value = "warning")
|
||||
private String warning;
|
||||
|
||||
@TableField(value = "idcard")
|
||||
private String idcard;
|
||||
}
|
@ -73,6 +73,10 @@ public interface EcganalysisparasService extends IService<EcganalysisparasDO> {
|
||||
* @return 心电分析数据
|
||||
*/
|
||||
EcganalysisparasDO getexamIDdata(String examID, String orgId);
|
||||
/*
|
||||
* 根据身份证号获取心电分析数据
|
||||
* */
|
||||
List<EcganalysisparasDO> idCardEcgData(String idcard);
|
||||
|
||||
/**
|
||||
* 获取心电分析数据对应的pdf图像
|
||||
|
@ -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<EcganalysisparasMap
|
||||
queryWrapper.eq("orgId", orgId);
|
||||
return ecganalysisparasMapper.selectOne(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<EcganalysisparasDO> idCardEcgData(String idcard) {
|
||||
QueryWrapper<EcganalysisparasDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("idcard", idcard);
|
||||
return ecganalysisparasMapper.selectList(queryWrapper);
|
||||
}
|
||||
@Override
|
||||
public Map<String, Object> getEcgPdfImage(JSONObject params) {
|
||||
Map<String, Object> mapResult = new HashMap<>();
|
||||
|
@ -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<PatientexamlistMappe
|
||||
private Image getAcroField_Image(String url) {
|
||||
Image out = null;
|
||||
try {
|
||||
URL urlObj = new URL(safeString(url));
|
||||
if (urlObj != null)
|
||||
out = Image.getInstance(urlObj);
|
||||
HttpClient httpClient = HttpClients.custom()
|
||||
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
|
||||
.setSSLContext(SSLContextBuilder.create().loadTrustMaterial(null, (x509Certificates, s) -> 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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user