检查报告分段问题

3.2.4.44
wyb 2 years ago
parent 703b8f8063
commit 4ff6177aa5

@ -0,0 +1,4 @@
{
"blocking": ["cs","yx","jc"],
"notHandled":["lis","bl","nh"]
}

@ -65,4 +65,10 @@ public class ReportDto {
* 1:url2:base643:url base644:5base64
*/
private Integer downtype=1;
/**
*
*/
private String reportSn;
}

@ -0,0 +1,56 @@
package com.docus.server.report.config;
import com.docus.server.report.util.TableJsonRead;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author wyb
*/
public class SdRyReportHandledConfig {
private final SdRyReportSystem sdRyReportSystem;
@Data
private static class SdRyReportSystem{
/**
*
*/
private List<String> blocking = new ArrayList<>();
/**
*
*/
private List<String> notHandled = new ArrayList<>();
}
public SdRyReportHandledConfig(){
TableJsonRead jsonRead = new TableJsonRead();
this.sdRyReportSystem= jsonRead.Read("data-config", "sdry-report-system.json", SdRyReportSystem.class);
}
public boolean isBlocking(String systemName){
if(this.sdRyReportSystem!=null){
List<String> blocking = this.sdRyReportSystem.getBlocking();
return blocking.contains(systemName);
}
return false;
}
public boolean isNotHandled(String systemName){
if(this.sdRyReportSystem!=null){
List<String> notHandled = this.sdRyReportSystem.getNotHandled();
return notHandled.contains(systemName);
}
return false;
}
public static void main(String[] args) {
SdRyReportHandledConfig sdRyReportHandledConfig = new SdRyReportHandledConfig();
System.out.println(sdRyReportHandledConfig.sdRyReportSystem);
System.out.println(sdRyReportHandledConfig.isNotHandled("lis"));
System.out.println(sdRyReportHandledConfig.isNotHandled("yx"));
System.out.println(sdRyReportHandledConfig.isBlocking("yx"));
System.out.println(sdRyReportHandledConfig.isBlocking("lis"));
}
}

@ -24,8 +24,6 @@ public class SdRyReportQueryConfig {
@Value("${sdry.report-query-url.lis.url:}")
private String reportQueryLisUrl;
@Value("${sdry.report-query-url.lis.assortId:}")
private String reportQueryLisAssortId;
@Value("${sdry.report-query-url.lis.action:}")
private String reportQueryLisAction;
@Value("${sdry.report-query-url.lis.accessKey:}")
@ -38,8 +36,6 @@ public class SdRyReportQueryConfig {
@Value("${sdry.report-query-url.inspect.url:}")
private String reportQueryInspectUrl;
@Value("${sdry.report-query-url.inspect.assortId:}")
private String reportQueryInspectAssortId;
@Value("${sdry.report-query-url.inspect.action:}")
private String reportQueryInspectAction;
@Value("${sdry.report-query-url.inspect.accessKey:}")

@ -0,0 +1,106 @@
package com.docus.server.report.entity;
import com.docus.server.report.api.dto.ReportDto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
*/
@Data
public class AfReportRecordBuffer implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
*
*/
private String inpatientNo;
/**
*
*/
private String jzh;
/**
*
*/
private Integer admissTimes;
/**
* 使 |
*/
private String downUrl;
/**
* 1:url2:base643:url base644:5base64
*/
private Integer downType;
/**
* 0 1
*/
private Integer state;
/**
* id
*/
private String serialnum;
/**
*
*/
private String sysflag;
/**
* id
*/
private String zdAssortId;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*
*/
private String fileName;
/**
*
*/
private String reportSn;
/**
* 0 1
*/
private Integer blocking;
public AfReportRecordBuffer() {
}
public AfReportRecordBuffer(ReportDto reportDto) {
this.jzh = reportDto.getJzh();
this.admissTimes = reportDto.getAdmisstimes();
this.inpatientNo = reportDto.getInpatientNo();
this.downUrl = reportDto.getDownUrl();
this.sysflag = reportDto.getSysFlag();
this.zdAssortId = reportDto.getAssortId();
this.serialnum = reportDto.getSerialnum();
this.fileName = reportDto.getFileTitle();
this.downType = reportDto.getDowntype();
this.reportSn=reportDto.getReportSn();
}
}

@ -409,10 +409,10 @@ public class ReportJob {
private List<ReportDto> getLisReportBySdRyJxId(String sdRyReportPatientId, TBasic tBasic) {
List<ReportDto> list = new ArrayList<>();
List<ReportDto> zyLisReportBySdRyJxId = getZyLisReportBySdRyJxId(sdRyReportPatientId, tBasic);
// List<ReportDto> zyLisReportBySdRyJxId = getZyLisReportBySdRyJxId(sdRyReportPatientId, tBasic);
List<ReportDto> mzLisReportBySdRyJxId = getMzLisReportBySdRyJxId(sdRyReportPatientId, tBasic);
list.addAll(mzLisReportBySdRyJxId);
list.addAll(zyLisReportBySdRyJxId);
// list.addAll(zyLisReportBySdRyJxId);
return list;
}

@ -60,6 +60,8 @@ public class ReportServiceImpl implements ReportService {
}
private void threePartyPushReports(ReportDto reportDto) {
String patientId = null;
try {
// 如果出现多条出错的情况,还是得保存收到的信息,人工干预处理
@ -131,8 +133,9 @@ public class ReportServiceImpl implements ReportService {
loop = false;
}
// 截取每一批
List<Long> makeupTaskIds = taskIds.subList(startIndex, toIndex);
makeupTaskIds = afReportRecordMapper.getHasPatientIdTaskIdsByTaskIds(makeupTaskIds);
List<Long> makeupTaskIdsSub = taskIds.subList(startIndex, toIndex);
List<Long> makeupTaskIds = afReportRecordMapper.getHasPatientIdTaskIdsByTaskIds(makeupTaskIdsSub);
makeupTaskIdsSub.clear();
if (Func.isNotEmpty(makeupTaskIds)) {
for (Long taskId : makeupTaskIds) {
// 发布下载事件

@ -289,6 +289,12 @@ public class SdryReportServerImpl implements IReportServer {
}
public ReportDto getReportDtoByInspectionInsert(XmlUtil inspectionInsertXmlUtil) {
Node senderNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/sender/device/id/item/@extension");
String sender = senderNode.getNodeValue();
String zdAssortId = ZdAssortConfig.getZdAssortId(sender);
if(Func.isBlank(zdAssortId)){
zdAssortId=ZdAssortConfig.getOtherAssortId();
}
Node inpatientNoNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/controlActProcess/subject/recordTarget/patientRole/id[@root='2.16.156.10011.1.12']/@extension");
String inpatientNo = inpatientNoNode.getNodeValue();
@ -304,11 +310,11 @@ public class SdryReportServerImpl implements IReportServer {
String eafNo = eafNoNode.getNodeValue();
String serialnum = reportFlag + "@" + eafNo;
Node assortIdNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName");
String assortId = assortIdNode.getNodeValue();
// Node assortIdNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName");
// String assortId = assortIdNode.getNodeValue();
Node sysFlagNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName");
String sysFlag = sysFlagNode.getNodeValue();
// Node sysFlagNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName");
// String sysFlag = sysFlagNode.getNodeValue();
Node fileTitleNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查报告类型']/observation/code/@displayName");
String fileTitle = fileTitleNode.getNodeValue();
@ -317,19 +323,27 @@ public class SdryReportServerImpl implements IReportServer {
String downUrl = downUrlNode.getTextContent();
ReportDto reportDto = new ReportDto();
reportDto.setReportSn(reportFlag);
reportDto.setAdmisstimes(admissTimes);
reportDto.setInpatientNo(inpatientNo);
reportDto.setSerialnum(serialnum);
reportDto.setFileTitle(fileTitle);
reportDto.setDownUrl(downUrl);
reportDto.setAssortId(assortId);
reportDto.setSysFlag(sysFlag);
reportDto.setAssortId(zdAssortId);
reportDto.setSysFlag(sender);
reportDto.setFileSource("1");
reportDto.setFilestoragetype("1");
return reportDto;
}
public ReportDto getReportDtoByInspectionUpdate(XmlUtil inspectionUpdateXmlUtil) {
Node senderNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/sender/device/id/item/@extension");
String sender = senderNode.getNodeValue();
String zdAssortId = ZdAssortConfig.getZdAssortId(sender);
if(Func.isBlank(zdAssortId)){
zdAssortId=ZdAssortConfig.getOtherAssortId();
}
Node inpatientNoNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/controlActProcess/subject/recordTarget/patientRole/id[@root='2.16.156.10011.1.12']/@extension");
String inpatientNo = inpatientNoNode.getNodeValue();
@ -344,11 +358,11 @@ public class SdryReportServerImpl implements IReportServer {
String eafNo = eafNoNode.getNodeValue();
String serialnum = reportFlag + "@" + eafNo;
Node assortIdNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName");
String assortId = assortIdNode.getNodeValue();
Node sysFlagNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName");
String sysFlag = sysFlagNode.getNodeValue();
// Node assortIdNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName");
// String assortId = assortIdNode.getNodeValue();
//
// Node sysFlagNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName");
// String sysFlag = sysFlagNode.getNodeValue();
Node fileTitleNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查报告类型']/observation/code/@displayName");
String fileTitle = fileTitleNode.getNodeValue();
@ -358,13 +372,14 @@ public class SdryReportServerImpl implements IReportServer {
ReportDto reportDto = new ReportDto();
reportDto.setReportSn(reportFlag);
reportDto.setAdmisstimes(admissTimes);
reportDto.setInpatientNo(inpatientNo);
reportDto.setSerialnum(serialnum);
reportDto.setFileTitle(fileTitle);
reportDto.setDownUrl(downUrl);
reportDto.setAssortId(assortId);
reportDto.setSysFlag(sysFlag);
reportDto.setAssortId(zdAssortId);
reportDto.setSysFlag(sender);
reportDto.setFileSource("1");
reportDto.setFilestoragetype("1");
return reportDto;

@ -55,7 +55,6 @@ sdry:
report-query-url:
# lis检验报告地址 和文件分段
lis:
assortId: lis
collectorId: 4
url: http://127.0.0.1:9311/report/makeup/lisTest
action: lisac
@ -63,7 +62,6 @@ sdry:
interval: 1000
# 检查报告地址
inspect:
assortId: inspect
collectorId: 3
url: http://127.0.0.1:9311/report/makeup/inspectTest
action: inspectac

Loading…
Cancel
Save