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 +