diff --git a/src/main/java/com/docus/server/collect/collector/LisSystemCollector.java b/src/main/java/com/docus/server/collect/collector/LisSystemCollector.java new file mode 100644 index 0000000..b178926 --- /dev/null +++ b/src/main/java/com/docus/server/collect/collector/LisSystemCollector.java @@ -0,0 +1,128 @@ +package com.docus.server.collect.collector; + +import com.docus.core.util.Func; +import com.docus.server.collect.entity.TBasic; +import com.docus.server.collect.service.FileReportService; +import com.docus.server.collect.service.dto.ReportFileInfoDTO; +import com.docus.server.collect.util.JaxWsDynamicClientUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; + +/** + * 检验报告采集 + * @author wyb + */ +@Component("LisSystemCollector") +@Slf4j +public class LisSystemCollector{ + @Value("${docus.report.lis.url}") + private String url; + @Value("${docus.report.lis.method}") + private String method; + @Value("${docus.report.lis.namespaceUri:}") + private String namespaceUri; + + @Autowired + private FileReportService fileReportService; + + /** + * 采集检验报告的参数 + * @param basic 患者信息 + * @param beginDateTime 报告开始时间 + * @param endDateTime 报告结束时间 + */ + public void collect(TBasic basic, String beginDateTime, String endDateTime){ + String collectData = collectData(basic, beginDateTime, endDateTime); + ReportFileInfoDTO reportFileInfoDTO = LisSystemCollectConverter.convert(collectData); + fileReportService.saveDownloadTaskAndReport(reportFileInfoDTO); + } + + public String collectData(TBasic basic,String beginDateTime,String endDateTime){ + String contextWorkId = Func.randomUUID(); + Object[] params = createQrParams(basic, beginDateTime, endDateTime); + log.info("[{}]:LIS检验报告采集地址:{},方法:{},命名空间:{},参数:{}", contextWorkId, url, method, namespaceUri, Func.toJson(params)); + String result = JaxWsDynamicClientUtil.send(url, namespaceUri, method, params); + log.info("[{}]:LIS检验报告采集结果为:{}", contextWorkId, result); + return result; + } + + /** + * 查询检验报告的ws参数 + * @param basic 患者信息 + * @param beginDateTime 报告开始时间 + * @param endDateTime 报告结束时间 + * @return 检验报告 + */ + private Object[] createQrParams(TBasic basic,String beginDateTime,String endDateTime) { + String param1="" + + " " + + " 1" + + " WZHBAGL" + + " WZHBAGL_1127" + + " BS03102" + + " BS03102S51001" + + " GZ" + + " " + + " " + + " BS03102" + + " BS03102S51001" + + " S51" + + " S00" + + " "+Func.formatDateTime(LocalDateTime.now())+"" + + " " + + " " + + " 0" + + " 500" + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " "+basic.getEmpId()+"" + + " " + + " " + + " " + + " "+beginDateTime+"" + + " "+endDateTime+"" + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + ""; + + return new Object[]{param1}; + } + + + private static class LisSystemCollectConverter{ + + /** + * 检验系统报告采集数据转换文件上报信息 + * @param lisSystemCollectData 验系统报告采集数据 + * @return 文件上报信息 + */ + public static ReportFileInfoDTO convert(String lisSystemCollectData) { + //todo 转换未实现 2023年9月1日15:49:45 2023-9-4 + return null; + } + } + + +} diff --git a/src/main/java/com/docus/server/collect/entity/TBasic.java b/src/main/java/com/docus/server/collect/entity/TBasic.java index 4052f19..0d44bc8 100644 --- a/src/main/java/com/docus/server/collect/entity/TBasic.java +++ b/src/main/java/com/docus/server/collect/entity/TBasic.java @@ -32,4 +32,6 @@ public class TBasic { private String name; @ApiModelProperty(value = "住院id") private String admissId; + @ApiModelProperty(value = "省中医患者主索引号") + private String empId; } diff --git a/src/main/java/com/docus/server/collect/job/LisSystemCollectJob.java b/src/main/java/com/docus/server/collect/job/LisSystemCollectJob.java new file mode 100644 index 0000000..59b50eb --- /dev/null +++ b/src/main/java/com/docus/server/collect/job/LisSystemCollectJob.java @@ -0,0 +1,20 @@ +package com.docus.server.collect.job; + +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 检验报告采集 + * @author wyb + */ +@Component +@Slf4j +public class LisSystemCollectJob { + @XxlJob("LisSystemCollectJob") + public void lisSystemCollectJob(){ + +// lisSystemCollector.collect(null,null,null); + } + +} diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index 01ceeb0..86f96cf 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -49,6 +49,12 @@ docus: url: # 下载平台服务地址 downloadPlatform: http://192.168.16.85:9291 + report: + lis: + url: http://192.168.198.101:7827/Ewell_WS_S51?wsdl + method: OperationA + namespaceUri: + mybatis-plus: configuration: