From 5448ec84d4ac9f20f8324d0ebc665a0f7d05b8f7 Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Mon, 7 Aug 2023 15:50:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=BC=82=E5=B8=B8=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E8=B4=A8=E6=8E=A7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/api/MedicalRecordService.java | 18 +++++++++ .../api/impl/MedicalRecordServiceImpl.java | 37 +++++++++++++++++++ .../config/ApplicationBusinessConfig.java | 3 ++ .../NisReportDownloadWaitHandler.java | 12 +++++- src/main/resources/bootstrap.yml | 3 ++ 5 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/docus/server/report/api/MedicalRecordService.java create mode 100644 src/main/java/com/docus/server/report/api/impl/MedicalRecordServiceImpl.java diff --git a/src/main/java/com/docus/server/report/api/MedicalRecordService.java b/src/main/java/com/docus/server/report/api/MedicalRecordService.java new file mode 100644 index 0000000..5a6b4b0 --- /dev/null +++ b/src/main/java/com/docus/server/report/api/MedicalRecordService.java @@ -0,0 +1,18 @@ +package com.docus.server.report.api; + +import com.docus.infrastructure.web.api.CommonResult; + +/** + * 病案基础服务 + * + * @author wyb + */ +public interface MedicalRecordService { + /** + * 根据病案主键和配置自动质控 + * + * @param patientId 案主键 + * @return 质控接口返回参数 + */ + CommonResult cqcAudit(String patientId); +} diff --git a/src/main/java/com/docus/server/report/api/impl/MedicalRecordServiceImpl.java b/src/main/java/com/docus/server/report/api/impl/MedicalRecordServiceImpl.java new file mode 100644 index 0000000..8040fdd --- /dev/null +++ b/src/main/java/com/docus/server/report/api/impl/MedicalRecordServiceImpl.java @@ -0,0 +1,37 @@ +package com.docus.server.report.api.impl; + +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import com.docus.core.util.Func; +import com.docus.infrastructure.core.exception.BaseException; +import com.docus.infrastructure.web.api.CommonResult; +import com.docus.server.report.api.MedicalRecordService; +import com.docus.server.report.config.ApplicationBusinessConfig; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class MedicalRecordServiceImpl implements MedicalRecordService { + @Autowired + private ApplicationBusinessConfig businessConfig; + + @Override + public CommonResult cqcAudit(String patientId) { + String nisApproveUrl = businessConfig.getNisApproveUrl(); + if(Func.isBlank(nisApproveUrl)){ + throw new BaseException("未配置质控地址!"); + } + // 地址是否已经自带参数了 + if (nisApproveUrl.contains("?")) { + nisApproveUrl=nisApproveUrl+"&"; + }else { + nisApproveUrl=nisApproveUrl+"?"; + } + nisApproveUrl=nisApproveUrl+"patientId="+patientId; + String reusltStr = HttpUtil.get(nisApproveUrl); + return JSON.parseObject(reusltStr,new TypeReference>(){}); + } +} diff --git a/src/main/java/com/docus/server/report/config/ApplicationBusinessConfig.java b/src/main/java/com/docus/server/report/config/ApplicationBusinessConfig.java index 67bc262..c2ab96b 100644 --- a/src/main/java/com/docus/server/report/config/ApplicationBusinessConfig.java +++ b/src/main/java/com/docus/server/report/config/ApplicationBusinessConfig.java @@ -7,6 +7,7 @@ import org.springframework.stereotype.Component; /** * 应用业务配置 + * * @author wyb */ @Component @@ -19,4 +20,6 @@ public class ApplicationBusinessConfig { private String getTaskUrl; @Value("${docus.task.taskCancelUrl:}") private String getTaskCancelUrl; + @Value("${docus.basic.nisApproveUrl:}") + private String nisApproveUrl; } diff --git a/src/main/java/com/docus/server/report/listener/NisReportDownloadWaitHandler.java b/src/main/java/com/docus/server/report/listener/NisReportDownloadWaitHandler.java index b5e47ed..75daf17 100644 --- a/src/main/java/com/docus/server/report/listener/NisReportDownloadWaitHandler.java +++ b/src/main/java/com/docus/server/report/listener/NisReportDownloadWaitHandler.java @@ -1,10 +1,14 @@ package com.docus.server.report.listener; +import com.docus.infrastructure.core.exception.BaseException; import com.docus.infrastructure.redis.service.RedisOps; +import com.docus.infrastructure.web.api.CommonResult; +import com.docus.infrastructure.web.api.ResultCode; import com.docus.server.collection.entity.TBasic; import com.docus.server.collection.mapper.TBasicMapper; import com.docus.server.common.util.RedisKeyExpirationHandler; import com.docus.server.common.util.RedisKeyExpirationListener; +import com.docus.server.report.api.MedicalRecordService; import com.docus.server.report.config.SdRyReportQueryConfig; import com.docus.server.report.consts.ReportDownloadWait; import com.docus.server.report.mapper.AfScanAssortMapper; @@ -34,6 +38,8 @@ public class NisReportDownloadWaitHandler extends RedisKeyExpirationHandler { private AfScanAssortMapper scanAssortMapper; @Resource private ShunDePeopleBusinessService shunDePeopleBusinessService; + @Resource + private MedicalRecordService medicalRecordService; @PostConstruct public void registerRedisKeyExpireListener() { @@ -88,8 +94,12 @@ public class NisReportDownloadWaitHandler extends RedisKeyExpirationHandler { } private void nisQualityControl(String patientId) { - // todo 调用护理质控接口等待 质控那边开发 log.info("调用护理质控:{}", patientId); + CommonResult result = medicalRecordService.cqcAudit(patientId); + log.info("{} 护理质控结果:{}", patientId, result); + if (!ResultCode.SUCCESS.getCode().equals(result.getCode())) { + throw new BaseException(result.getMsg()); + } } diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index b44c88f..b455271 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -95,6 +95,9 @@ docus: task: getTaskUrl: http://localhost:9296/api/noviewtask/GetTask taskCancelUrl: http://localhost:9296/api/collector/task/cancel + basic: + # 护理审批 + nisApproveUrl: http://192.168.16.85:9102/qc/tBasicCqc/cqcAudit?hp=token1 mybatis-plus: configuration: map-underscore-to-camel-case: true