省中医lis采集,查询二次接口,有微生物

collector-LIS
wyb 2 years ago
parent fba6c0540c
commit fb208d6b94

@ -20,11 +20,12 @@ import java.util.List;
/**
*
*
* @author wyb
*/
@Component("LisSystemCollector")
@Slf4j
public class LisSystemCollector{
public class LisSystemCollector {
@Value("${docus.report.lis.url}")
private String url;
@Value("${docus.report.lis.assortId}")
@ -41,15 +42,20 @@ public class LisSystemCollector{
/**
*
* @param basic
*
* @param basic
* @param beginDateTime
* @param endDateTime
* @param endDateTime
*/
public void collect(TBasic basic, String beginDateTime, String endDateTime){
String collectData = collectData(basic, beginDateTime, endDateTime);
List<ReportFileInfoDTO> reportFileInfoDTOList = LisSystemCollectConverter.convert(collectData);
public void collect(TBasic basic, String beginDateTime, String endDateTime) {
// 普通的检验报告和 微生物检验报告
String collectDataNormal = collectData(basic, beginDateTime, endDateTime, 0);
String collectDataMtf = collectData(basic, beginDateTime, endDateTime, 1);
List<ReportFileInfoDTO> reportFileInfoDTOList = LisSystemCollectConverter.convert(collectDataNormal);
List<ReportFileInfoDTO> reportFileInfoDtoList2 = LisSystemCollectConverter.convert(collectDataMtf);
reportFileInfoDTOList.addAll(reportFileInfoDtoList2);
for (ReportFileInfoDTO reportFileInfoDTO : reportFileInfoDTOList) {
if(!isBelongToPatient(reportFileInfoDTO,basic)){
if (!isBelongToPatient(reportFileInfoDTO, basic)) {
continue;
}
reportFileInfoDTO.setPatientId(basic.getPatientId());
@ -64,9 +70,18 @@ public class LisSystemCollector{
return true;
}
public String collectData(TBasic basic,String beginDateTime,String endDateTime){
/**
*
*
* @param basic
* @param beginDateTime
* @param endDateTime
* @param microbeTestFlag 10
* @return
*/
public String collectData(TBasic basic, String beginDateTime, String endDateTime, int microbeTestFlag) {
String contextWorkId = Func.randomUUID();
Object[] params = createQrParams(basic, beginDateTime, endDateTime);
Object[] params = createQrParams(basic, beginDateTime, endDateTime, microbeTestFlag);
log.info("[{}]:LIS检验报告采集地址{},方法:{},命名空间:{},参数:{}", contextWorkId, url, method, namespaceUri, Func.toJson(params));
String result = JaxWsDynamicClientUtil.send(url, namespaceUri, method, params);
log.info("[{}]:LIS检验报告采集结果为:{}", contextWorkId, result);
@ -75,13 +90,15 @@ public class LisSystemCollector{
/**
* ws
* @param basic
* @param beginDateTime
* @param endDateTime
*
* @param basic
* @param beginDateTime
* @param endDateTime
* @param microbeTestFlag 10
* @return
*/
private Object[] createQrParams(TBasic basic,String beginDateTime,String endDateTime) {
String param1="<ESBEntry>" +
private Object[] createQrParams(TBasic basic, String beginDateTime, String endDateTime, int microbeTestFlag) {
String param1 = "<ESBEntry>" +
" <AccessControl>" +
" <SysFlag>1</SysFlag>" +
" <UserName>WZHBAGL</UserName>" +
@ -95,7 +112,7 @@ public class LisSystemCollector{
" <OrderNo>BS03102S51001</OrderNo>" +
" <SourceSysCode>S51</SourceSysCode>" +
" <TargetSysCode>S00</TargetSysCode>" +
" <MsgDate>"+Func.formatDateTime(LocalDateTime.now())+"</MsgDate>" +
" <MsgDate>" + Func.formatDateTime(LocalDateTime.now()) + "</MsgDate>" +
" </MessageHeader>" +
" <RequestOption>" +
" <triggerData>0</triggerData>" +
@ -114,12 +131,11 @@ public class LisSystemCollector{
" <OUTHOSP_NO/>" +
" <INHOSP_INDEX_NO/>" +
" <INHOSP_NO/>" +
" <EMPI_ID>"+basic.getEmpId()+"</EMPI_ID/>" +
" <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>" +
" <MICROBE_TEST_FLAG>" + microbeTestFlag + "</MICROBE_TEST_FLAG>" +
" <BEGIN_DATETIME>" + beginDateTime + "</BEGIN_DATETIME>" +
" <END_DATETIME>" + endDateTime + "</END_DATETIME>" +
" </Msg>" +
" </Request>" +
" </content>" +
@ -129,44 +145,45 @@ public class LisSystemCollector{
" <AS ID=\"\" linkField=\"\"/>" +
" </GroupInfo>" +
"</ESBEntry>";
return new Object[]{param1};
}
private static class LisSystemCollectConverter{
private static class LisSystemCollectConverter {
/**
*
*
* @param lisSystemCollectData
* @return
*/
public static List<ReportFileInfoDTO> convert(String lisSystemCollectData) {
XmlUtil xmlUtil = XmlUtil.of(lisSystemCollectData);
List<ReportFileInfoDTO> list= new ArrayList<>();
List<ReportFileInfoDTO> list = new ArrayList<>();
NodeList reportInfoNodeList = xmlUtil.getNodeList("/Response/MsgInfo/Msg/ReportInfo");
if(reportInfoNodeList!=null && reportInfoNodeList.getLength()>0){
if (reportInfoNodeList != null && reportInfoNodeList.getLength() > 0) {
int length = reportInfoNodeList.getLength();
for (int i = 0; i < length; i++) {
Node item = reportInfoNodeList.item(i);
NodeList childNodes = item.getChildNodes();
int childNodesLength = childNodes.getLength();
String fileTitle=null;
String serialNum=null;
String downUrl=null;
String fileTitle = null;
String serialNum = null;
String downUrl = null;
for (int j = 0; j < childNodesLength; j++) {
Node childNodeItem = childNodes.item(j);
if ("TEST_CATEG_NAME".equals(childNodeItem.getNodeName())) {
fileTitle=childNodeItem.getTextContent();
fileTitle = childNodeItem.getTextContent();
}
// if ("TEST_CATEG_NAME".equals(childNodeItem.getNodeName())) {
// fileTitle=childNodeItem.getTextContent();
// }
if ("SAMPLE_NO".equals(childNodeItem.getNodeName())) {
serialNum=childNodeItem.getTextContent();
serialNum = childNodeItem.getTextContent();
}
if ("REPORT_URL".equals(childNodeItem.getNodeName())) {
downUrl=childNodeItem.getTextContent();
downUrl = childNodeItem.getTextContent();
}
}
@ -187,5 +204,4 @@ public class LisSystemCollector{
}
}

@ -1,12 +1,9 @@
package com.docus.server.collect.controller.test;
import com.docus.infrastructure.web.api.CommonResult;
import com.docus.server.collect.collector.LisSystemCollector;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -21,9 +18,9 @@ public class TestCollectController {
@Autowired
private LisSystemCollector lisSystemCollector;
@ApiOperation("采集测试 LIS 采集接口")
@GetMapping("/lis")
public CommonResult<String> lisSystemCollect() {
return CommonResult.success(lisSystemCollector.collectData(null, null, null));
}
// @ApiOperation("采集测试 LIS 采集接口")
// @GetMapping("/lis")
// public CommonResult<String> lisSystemCollect() {
// return CommonResult.success(lisSystemCollector.collectData(null, null, null));
// }
}

Loading…
Cancel
Save