diff --git a/src/main/java/com/docus/server/report/job/ReportJob.java b/src/main/java/com/docus/server/report/job/ReportJob.java index af5e7dd..3c479d2 100644 --- a/src/main/java/com/docus/server/report/job/ReportJob.java +++ b/src/main/java/com/docus/server/report/job/ReportJob.java @@ -635,8 +635,7 @@ public class ReportJob { ReportDto reportDto = new ReportDto(); reportDto.setAdmisstimes(tBasic.getAdmissTimes()); reportDto.setInpatientNo(tBasic.getInpatientNo()); - // 确定报告唯一 报告单号+申请单号 - reportDto.setSerialnum(examReportSn + requestSn); + reportDto.setFileTitle(reportName); reportDto.setVisitSn(visitSn); reportDto.setPatientSn(patientSn); @@ -649,6 +648,8 @@ public class ReportJob { if (Func.isBlank(base64)) { continue; } + // 确定报告唯一 报告单号+申请单号 + reportDto.setSerialnum(split[0]); String url = saveBase64(base64); reportDto.setDownUrl(url); reportDto.setDowntype(5); diff --git a/src/main/java/com/docus/server/report/webservice/impl/HIP1008InspectionReportAdditionHandler.java b/src/main/java/com/docus/server/report/webservice/impl/HIP1008InspectionReportAdditionHandler.java index 1ae51d7..2edd2bb 100644 --- a/src/main/java/com/docus/server/report/webservice/impl/HIP1008InspectionReportAdditionHandler.java +++ b/src/main/java/com/docus/server/report/webservice/impl/HIP1008InspectionReportAdditionHandler.java @@ -66,7 +66,7 @@ public class HIP1008InspectionReportAdditionHandler implements WebserviceReceive } if (sdRyReportHandledConfig.isFetchBase64(sender)) { // 过程很长,保存队列,job慢慢消费 - redisOps.lPush(FetchPacsBase64Job.FETCH_PACS_BASE64_QUEUE_HIP1008,receiveMessage); + redisOps.lPush(FetchPacsBase64Job.FETCH_PACS_BASE64_QUEUE_HIP1008, receiveMessage); return insertSuccess(msgId, sender, receiver); } reportService.report(reportDto); @@ -114,8 +114,8 @@ public class HIP1008InspectionReportAdditionHandler implements WebserviceReceive ReportDto reportDto = new ReportDto(); reportDto.setAdmisstimes(admissTimes); reportDto.setInpatientNo(inpatientNo); - // 确定报告唯一 报告单号+申请单号 - reportDto.setSerialnum(examReportSn + requestSn); + // 确定报告唯一 报告单号+申请单号,如果报告单号带下划线是合并报告,取报告单号下划线前的 + String serialnum = examReportSn + requestSn; reportDto.setFileTitle(reportName); reportDto.setVisitSn(visitSn); reportDto.setPatientSn(patientSn); @@ -128,6 +128,11 @@ public class HIP1008InspectionReportAdditionHandler implements WebserviceReceive if (Func.isBlank(base64)) { return null; } + // 如果报告单号带下划线是合并报告,取报告单号下划线前的 + if (examReportSn.contains("_")) { + serialnum = split[0]; + } + reportDto.setSerialnum(serialnum); String url = reportJob.saveBase64(base64); reportDto.setDownUrl(url); reportDto.setDowntype(5); @@ -160,6 +165,11 @@ public class HIP1008InspectionReportAdditionHandler implements WebserviceReceive Node eafNoNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/controlActProcess/subject/recordTarget/patientRole/id[@root='2.16.156.10011.1.24']/@extension"); String eafNo = eafNoNode.getNodeValue(); String serialnum = reportFlag + "@" + eafNo; + // 如果报告单号带下划线是合并报告,取报告单号下划线前的 + if (reportFlag.contains("_")) { + String[] split = reportFlag.split("_"); + serialnum = split[0]; + } // Node assortIdNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1008/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName"); // String assortId = assortIdNode.getNodeValue(); diff --git a/src/main/java/com/docus/server/report/webservice/impl/HIP1009InspectionReportUpdatesHandler.java b/src/main/java/com/docus/server/report/webservice/impl/HIP1009InspectionReportUpdatesHandler.java index 6520e8a..ffc9b5c 100644 --- a/src/main/java/com/docus/server/report/webservice/impl/HIP1009InspectionReportUpdatesHandler.java +++ b/src/main/java/com/docus/server/report/webservice/impl/HIP1009InspectionReportUpdatesHandler.java @@ -66,7 +66,7 @@ public class HIP1009InspectionReportUpdatesHandler implements WebserviceReceiveS } if (sdRyReportHandledConfig.isFetchBase64(sender)) { // 过程很长,保存队列,job慢慢消费 - redisOps.lPush(FetchPacsBase64Job.FETCH_PACS_BASE64_QUEUE_HIP1009,receiveMessage); + redisOps.lPush(FetchPacsBase64Job.FETCH_PACS_BASE64_QUEUE_HIP1009, receiveMessage); return updateSuccess(msgId, sender, receiver); } reportService.report(reportDto); @@ -81,7 +81,6 @@ public class HIP1009InspectionReportUpdatesHandler implements WebserviceReceiveS } - public ReportDto fetchBase64Parse(XmlUtil inspectionInsertXmlUtil) { Node senderNode = inspectionInsertXmlUtil.getNode("/POOR_HIP1009/sender/device/id/item/@extension"); String updateBy = senderNode.getNodeValue(); @@ -115,8 +114,9 @@ public class HIP1009InspectionReportUpdatesHandler implements WebserviceReceiveS ReportDto reportDto = new ReportDto(); reportDto.setAdmisstimes(admissTimes); reportDto.setInpatientNo(inpatientNo); - // 确定报告唯一 报告单号+申请单号 - reportDto.setSerialnum(examReportSn + requestSn); + // 确定报告唯一 报告单号+申请单号,如果报告单号带下划线是合并报告,取报告单号下划线前的 + String serialnum = examReportSn + requestSn; + reportDto.setFileTitle(reportName); reportDto.setVisitSn(visitSn); reportDto.setPatientSn(patientSn); @@ -129,6 +129,10 @@ public class HIP1009InspectionReportUpdatesHandler implements WebserviceReceiveS if (Func.isBlank(base64)) { return null; } + if (examReportSn.contains("_")) { + serialnum = split[0]; + } + reportDto.setSerialnum(serialnum); String url = reportJob.saveBase64(base64); reportDto.setDownUrl(url); reportDto.setDowntype(5); @@ -161,6 +165,11 @@ public class HIP1009InspectionReportUpdatesHandler implements WebserviceReceiveS Node eafNoNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/controlActProcess/subject/recordTarget/patientRole/id[@root='2.16.156.10011.1.24']/@extension"); String eafNo = eafNoNode.getNodeValue(); String serialnum = reportFlag + "@" + eafNo; + // 如果报告单号带下划线是合并报告,取报告单号下划线前的 + if (reportFlag.contains("_")) { + String[] split = reportFlag.split("_"); + serialnum = split[0]; + } // Node assortIdNode = inspectionUpdateXmlUtil.getNode("/POOR_HIP1009/controlActProcess/subject/component/structuredBody/component[@displayName='检查报告']/section/entry[@displayName='检查类型']/observation/code/@displayName"); // String assortId = assortIdNode.getNodeValue();