|
|
|
@ -20,6 +20,7 @@ import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 检验报告采集
|
|
|
|
|
*
|
|
|
|
|
* @author wyb
|
|
|
|
|
*/
|
|
|
|
|
@Component("LisSystemCollector")
|
|
|
|
@ -41,13 +42,18 @@ public class LisSystemCollector{
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 采集检验报告的参数
|
|
|
|
|
*
|
|
|
|
|
* @param basic 患者信息
|
|
|
|
|
* @param beginDateTime 报告开始时间
|
|
|
|
|
* @param endDateTime 报告结束时间
|
|
|
|
|
*/
|
|
|
|
|
public void collect(TBasic basic, String beginDateTime, String endDateTime) {
|
|
|
|
|
String collectData = collectData(basic, beginDateTime, endDateTime);
|
|
|
|
|
List<ReportFileInfoDTO> reportFileInfoDTOList = LisSystemCollectConverter.convert(collectData);
|
|
|
|
|
// 普通的检验报告和 微生物检验报告
|
|
|
|
|
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)) {
|
|
|
|
|
continue;
|
|
|
|
@ -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 查细菌等微生物检验报告 1,空和0 是普通
|
|
|
|
|
* @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,12 +90,14 @@ public class LisSystemCollector{
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询检验报告的ws参数
|
|
|
|
|
*
|
|
|
|
|
* @param basic 患者信息
|
|
|
|
|
* @param beginDateTime 报告开始时间
|
|
|
|
|
* @param endDateTime 报告结束时间
|
|
|
|
|
* @param microbeTestFlag 查细菌等微生物检验报告 1,空和0 是普通
|
|
|
|
|
* @return 检验报告
|
|
|
|
|
*/
|
|
|
|
|
private Object[] createQrParams(TBasic basic,String beginDateTime,String endDateTime) {
|
|
|
|
|
private Object[] createQrParams(TBasic basic, String beginDateTime, String endDateTime, int microbeTestFlag) {
|
|
|
|
|
String param1 = "<ESBEntry>" +
|
|
|
|
|
" <AccessControl>" +
|
|
|
|
|
" <SysFlag>1</SysFlag>" +
|
|
|
|
@ -116,8 +133,7 @@ public class LisSystemCollector{
|
|
|
|
|
" <INHOSP_NO/>" +
|
|
|
|
|
" <EMPI_ID>" + basic.getEmpId() + "</EMPI_ID/>" +
|
|
|
|
|
" <TEST_PAT_SOURCE_CODE/>" +
|
|
|
|
|
" <MICROBE_TEST_FLAG>" +
|
|
|
|
|
" </MICROBE_TEST_FLAG>" +
|
|
|
|
|
" <MICROBE_TEST_FLAG>" + microbeTestFlag + "</MICROBE_TEST_FLAG>" +
|
|
|
|
|
" <BEGIN_DATETIME>" + beginDateTime + "</BEGIN_DATETIME>" +
|
|
|
|
|
" <END_DATETIME>" + endDateTime + "</END_DATETIME>" +
|
|
|
|
|
" </Msg>" +
|
|
|
|
@ -138,6 +154,7 @@ public class LisSystemCollector{
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 检验系统报告采集数据转换文件上报信息
|
|
|
|
|
*
|
|
|
|
|
* @param lisSystemCollectData 验系统报告采集数据
|
|
|
|
|
* @return 文件上报信息
|
|
|
|
|
*/
|
|
|
|
@ -187,5 +204,4 @@ public class LisSystemCollector{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|