采集逻辑定义

collector-LIS
wyb 2 years ago
parent 2a8fa0dcb8
commit 198a9a0a82

@ -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="<ESBEntry>" +
" <AccessControl>" +
" <SysFlag>1</SysFlag>" +
" <UserName>WZHBAGL</UserName>" +
" <Password>WZHBAGL_1127</Password>" +
" <Fid>BS03102</Fid>" +
" <OrderNo>BS03102S51001</OrderNo>" +
" <SUBOR_HOSPITAL_DISTRICT>GZ</SUBOR_HOSPITAL_DISTRICT>" +
" </AccessControl>" +
" <MessageHeader>" +
" <Fid>BS03102</Fid>" +
" <OrderNo>BS03102S51001</OrderNo>" +
" <SourceSysCode>S51</SourceSysCode>" +
" <TargetSysCode>S00</TargetSysCode>" +
" <MsgDate>"+Func.formatDateTime(LocalDateTime.now())+"</MsgDate>" +
" </MessageHeader>" +
" <RequestOption>" +
" <triggerData>0</triggerData>" +
" <dataAmount>500</dataAmount>" +
" </RequestOption>" +
" <MsgInfo flag=\"1\">" +
" <Msg/>" +
" <distinct value=\"0\"/>" +
" <query item=\"WS_INPUT\" compy=\" = \" value=\" 1 \" splice=\"AND\"/>" +
" <query_ws action=\"Q_WS_JYBGLBCX\">" +
" <content>" +
" <Request>" +
" <Msg>" +
" <VUID/>" +
" <OUTHOSP_INDEX_NO/>" +
" <OUTHOSP_NO/>" +
" <INHOSP_INDEX_NO/>" +
" <INHOSP_NO/>" +
" <EMPI_ID>"+basic.getEmpId()+"</EMPI_ID/>" +
" <TEST_PAT_SOURCE_CODE/>" +
" <MICROBE_TEST_FLAG>" +
" </MICROBE_TEST_FLAG>" +
" <BEGIN_DATETIME>"+beginDateTime+"</BEGIN_DATETIME>" +
" <END_DATETIME>"+endDateTime+"</END_DATETIME>" +
" </Msg>" +
" </Request>" +
" </content>" +
" </query_ws>" +
" </MsgInfo>" +
" <GroupInfo flag=\"0\">" +
" <AS ID=\"\" linkField=\"\"/>" +
" </GroupInfo>" +
"</ESBEntry>";
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;
}
}
}

@ -1,6 +1,5 @@
package com.docus.server.collect.entity;
import com.docus.server.collect.service.dto.ReportFileInfoDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@ -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);
}
}

@ -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:

Loading…
Cancel
Save