From f907b099dc9c739faea2e5e8c6f78cf2c55e1e42 Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Tue, 27 Jun 2023 12:26:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=BA=E5=BE=B7=E7=A7=BB=E5=8A=A8=E6=8A=A4?= =?UTF-8?q?=E7=90=86=E6=8A=A5=E5=91=8A=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/api/ShunDePeopleService.java | 9 +++ .../api/dto/SdNurseInsertSugarRequest.java | 27 +++++++ .../api/dto/SdNurseInsertSugarResponse.java | 73 +++++++++++++++++++ .../api/impl/ShunDePeopleServiceImpl.java | 22 +++++- .../report/config/SdRyReportQueryConfig.java | 8 ++ .../docus/server/report/job/ReportJob.java | 11 +++ src/main/resources/bootstrap.yml | 6 ++ 7 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarRequest.java create mode 100644 src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarResponse.java diff --git a/src/main/java/com/docus/server/report/api/ShunDePeopleService.java b/src/main/java/com/docus/server/report/api/ShunDePeopleService.java index c6d3d28..f15c2ba 100644 --- a/src/main/java/com/docus/server/report/api/ShunDePeopleService.java +++ b/src/main/java/com/docus/server/report/api/ShunDePeopleService.java @@ -1,6 +1,8 @@ package com.docus.server.report.api; import com.docus.server.report.api.dto.SdJxReportDto; +import com.docus.server.report.api.dto.SdNurseInsertSugarRequest; +import com.docus.server.report.api.dto.SdNurseInsertSugarResponse; import java.util.List; @@ -47,4 +49,11 @@ public interface ShunDePeopleService { * @return pdfBase64 */ String getBase64PdfFromPacs(String examNo,String reportNo); + + /** + * 顺德人医,查询移动护理报告 + * @param request 查询参数 + * @return 移动护理报告 + */ + SdNurseInsertSugarResponse getNurseInsertSugarReport(SdNurseInsertSugarRequest request); } diff --git a/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarRequest.java b/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarRequest.java new file mode 100644 index 0000000..72b6d54 --- /dev/null +++ b/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarRequest.java @@ -0,0 +1,27 @@ +package com.docus.server.report.api.dto; + +/** + * 顺德人医 移动护理请求参数 + * + * @author jiashi + */ +public class SdNurseInsertSugarRequest { + /** + * 接口名称,默认值:nurse_print_doc + */ + private final String tradeCode; + /** + * 住院号 + */ + private final String zyh; + /** + * 住院次数 + */ + private final String visit_id; + + public SdNurseInsertSugarRequest(String zyh, String visit_id, String tradeCode) { + this.tradeCode = tradeCode; + this.zyh = zyh; + this.visit_id = visit_id; + } +} diff --git a/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarResponse.java b/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarResponse.java new file mode 100644 index 0000000..e12bdb9 --- /dev/null +++ b/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarResponse.java @@ -0,0 +1,73 @@ +package com.docus.server.report.api.dto; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * 顺德人医 移动护理响应参数 + * + * @author jiashi + */ +@Data +public class SdNurseInsertSugarResponse { + + /** + * 返回体 + */ + private List data = new ArrayList<>(); + + /** + * 顺德人医 移动护理 返回体参数 + * + * @author jiashi + */ + @Data + public static class NisData { + /** + * 文件类型:eval 为评估单\sugar为血糖\record为护理记录单 \bodyTemperature为体温单 \authorization为知情同意书 + */ + private String form_type; + /** + * 主键ID + */ + private String form_id; + /** + * 创建时间 yyyy-MM-dd HH:mm:ss + */ + private String create_time; + /** + * 创建人 + */ + private String creator_name; + /** + * 表单名称 + */ + private String form_name; + /** + * 患者ID + */ + private String patient_id; + /** + * 住院次数 + */ + private String visit_id; + /** + * 住院号 + */ + private String zyh; + /** + * 更新时间 yyyy-MM-dd HH:mm:ss + */ + private String update_time; + /** + * 更新者姓名 + */ + private String updater_name; + /** + * PDF存放地址 + */ + private String url; + } +} diff --git a/src/main/java/com/docus/server/report/api/impl/ShunDePeopleServiceImpl.java b/src/main/java/com/docus/server/report/api/impl/ShunDePeopleServiceImpl.java index 7263b19..41fd7d7 100644 --- a/src/main/java/com/docus/server/report/api/impl/ShunDePeopleServiceImpl.java +++ b/src/main/java/com/docus/server/report/api/impl/ShunDePeopleServiceImpl.java @@ -7,6 +7,8 @@ import com.docus.core.util.DateUtil; import com.docus.core.util.Func; import com.docus.server.report.api.ShunDePeopleService; import com.docus.server.report.api.dto.SdJxReportDto; +import com.docus.server.report.api.dto.SdNurseInsertSugarRequest; +import com.docus.server.report.api.dto.SdNurseInsertSugarResponse; import com.docus.server.report.api.dto.SdPacsServerConfig; import com.docus.server.report.client.JaxWsDynamicClient; import com.docus.server.report.config.SdRyReportQueryConfig; @@ -39,6 +41,7 @@ public class ShunDePeopleServiceImpl implements ShunDePeopleService { private static final Lock PACS_PDF_LOCK = new ReentrantLock(); private static final Lock INSPECT_REPORT_LOCK = new ReentrantLock(); private static final Lock LIS_REPORT_LOCK = new ReentrantLock(); + private static final Lock NURSE_INSERT_SUGAR_LOCK = new ReentrantLock(); @Resource private SdRyReportQueryConfig sdRyReportQueryConfig; @@ -151,7 +154,24 @@ public class ShunDePeopleServiceImpl implements ShunDePeopleService { } } - + @Override + public SdNurseInsertSugarResponse getNurseInsertSugarReport(SdNurseInsertSugarRequest request) { + String randomUuid = Func.randomUUID(); + NURSE_INSERT_SUGAR_LOCK.lock(); + try { + String requestParam = Func.toJson(request); + log.info("[{}]查询移动护理 请求参数:{}", randomUuid, requestParam); + String respBody = sendPost(sdRyReportQueryConfig.getReportQueryNurseInsertSugarUrl(), requestParam); + log.info("[{}]查询移动护理 响应:{}", randomUuid, respBody); + TimeUnit.MILLISECONDS.sleep(sdRyReportQueryConfig.getReportQueryNurseInsertSugarInterval()); + return Func.readJson(respBody, SdNurseInsertSugarResponse.class); + } catch (Exception ex) { + log.error("["+randomUuid+"]"+"查询移动护理出错了:" + ex.getMessage(), ex); + return new SdNurseInsertSugarResponse(); + } finally { + NURSE_INSERT_SUGAR_LOCK.unlock(); + } + } private String organizationQuerySdRyInspectReportUrl(String reportQueryLisUrl) { return reportQueryLisUrl + "/query?uuid=" + IdUtil.standardUUID() + "&action=" + sdRyReportQueryConfig.getReportQueryInspectAction() + diff --git a/src/main/java/com/docus/server/report/config/SdRyReportQueryConfig.java b/src/main/java/com/docus/server/report/config/SdRyReportQueryConfig.java index 1ad82e2..43a7412 100644 --- a/src/main/java/com/docus/server/report/config/SdRyReportQueryConfig.java +++ b/src/main/java/com/docus/server/report/config/SdRyReportQueryConfig.java @@ -47,4 +47,12 @@ public class SdRyReportQueryConfig { private String reportQueryMzInspectCollectorId; @Value("${sdry.report-query-url.inspect.zy-collectorId}") private String reportQueryZyInspectCollectorId; + + + @Value("${sdry.report-query-url.nurseInsertSugar.url:}") + private String reportQueryNurseInsertSugarUrl; + @Value("${sdry.report-query-url.nurseInsertSugar.interval:1000}") + private int reportQueryNurseInsertSugarInterval; + @Value("${sdry.report-query-url.nurseInsertSugar.collectorId}") + private String reportQueryNurseInsertSugarCollectorId; } diff --git a/src/main/java/com/docus/server/report/job/ReportJob.java b/src/main/java/com/docus/server/report/job/ReportJob.java index 80e7d36..523976e 100644 --- a/src/main/java/com/docus/server/report/job/ReportJob.java +++ b/src/main/java/com/docus/server/report/job/ReportJob.java @@ -132,6 +132,17 @@ public class ReportJob { } + /** + * 顺德人医移动护理报告采集任务 + */ + @XxlJob("SdRyNurseInsertSugarCollectJob") + public void sdRyNurseInsertSugarCollectJob(){ + String reportQueryZyInspectCollectorId = sdRyReportQueryConfig.getReportQueryZyInspectCollectorId(); + ReportDownTwoDto reportDownTwoDto = taskDistributeService.getNoviewTaskByCollectorId(reportQueryZyInspectCollectorId); + //todo 移动护理报告采集未完成 文永斌 2023年6月27日12:25:43 + } + + public List collectLisReport(TBasic tBasic) { List reportDtoList = getLisReportList(tBasic); if (reportDtoList.isEmpty()) { diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index 2375ecf..12c8e77 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -71,6 +71,12 @@ sdry: accessKey: inspectaskey interval: 1000 + # 门急诊lis检验报告地址 + nurseInsertSugar: + collectorId: -100 + url: http://192.168.0.200:8688/crHesb/hospital/common + interval: 1000 +