From 10a4f72937aa91472551940e378193447cdb88f4 Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Wed, 6 Dec 2023 09:48:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E6=8A=A5=E5=91=8A=EF=BC=8C?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E5=90=88=E5=B9=B6=E6=96=87=E4=BB=B6=E6=A0=87?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/report/api/dto/ReportDto.java | 5 +++ .../docus/server/report/job/ReportJob.java | 1 + .../service/impl/ReportServiceImpl.java | 32 ++++++++++++++++--- ...IP1008InspectionReportAdditionHandler.java | 2 ++ ...HIP1009InspectionReportUpdatesHandler.java | 2 ++ 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/docus/server/report/api/dto/ReportDto.java b/src/main/java/com/docus/server/report/api/dto/ReportDto.java index 485f5bc..40dd593 100644 --- a/src/main/java/com/docus/server/report/api/dto/ReportDto.java +++ b/src/main/java/com/docus/server/report/api/dto/ReportDto.java @@ -84,6 +84,11 @@ public class ReportDto { */ private String reportSn; + /** + * 如果多次上传是否合并文件标题 + */ + private boolean mergeFileTitle; + public ReportDto() { 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 3c479d2..d8229ae 100644 --- a/src/main/java/com/docus/server/report/job/ReportJob.java +++ b/src/main/java/com/docus/server/report/job/ReportJob.java @@ -658,6 +658,7 @@ public class ReportJob { reportDto.setSysFlag(updateBy); reportDto.setFileSource("1"); reportDto.setFilestoragetype("1"); + reportDto.setMergeFileTitle(true); reportDtoList.add(reportDto); } } diff --git a/src/main/java/com/docus/server/report/service/impl/ReportServiceImpl.java b/src/main/java/com/docus/server/report/service/impl/ReportServiceImpl.java index 1430b39..7aeeae5 100644 --- a/src/main/java/com/docus/server/report/service/impl/ReportServiceImpl.java +++ b/src/main/java/com/docus/server/report/service/impl/ReportServiceImpl.java @@ -17,8 +17,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -78,7 +77,7 @@ public class ReportServiceImpl implements ReportService { } String bufferDownUrl = bufferInfo.getDownUrl(); String serialnum = bufferInfo.getSerialnum(); - // 设置地址或者文件信息 + // 设置地址或者文件信息 if (isSaveOrUpdateDownloadUrl) { bufferInfo.setFileUrl(reportDto); } else { @@ -90,6 +89,7 @@ public class ReportServiceImpl implements ReportService { if (canReport) { afReportRecordMapper.cancelBlocking(bufferInfo.getId()); ReportDto dto = new ReportDto(bufferInfo); + dto.setMergeFileTitle(true); report(dto); } } finally { @@ -106,6 +106,17 @@ public class ReportServiceImpl implements ReportService { } } + public static void main(String[] args) { + String fileTitleSeparator = "|"; + String fileTitle = "a1"; + String lastFileName = "a0|a2"; + String[] fileTitles = lastFileName.split("\\|"); + HashSet fileTitleSet = new LinkedHashSet<>(); + Collections.addAll(fileTitleSet, fileTitles); + fileTitleSet.add(fileTitle); + System.out.println(String.join("|", fileTitleSet)); + } + private void threePartyPushReports(ReportDto reportDto) { @@ -114,7 +125,7 @@ public class ReportServiceImpl implements ReportService { // 如果出现多条出错的情况,还是得保存收到的信息,人工干预处理 patientId = tBasicMapper.getPatientIdByInpatientNoAndAdminssTimes(reportDto.getInpatientNo(), reportDto.getAdmisstimes()); } catch (Exception ex) { - log.error("查询病案主键出错了,病案号:"+reportDto.getInpatientNo()+" ,住院次数:"+reportDto.getAdmisstimes(), ex); + log.error("查询病案主键出错了,病案号:" + reportDto.getInpatientNo() + " ,住院次数:" + reportDto.getAdmisstimes(), ex); } // 不验证数据,始终保存收到的信息 AfReportRecord afReportRecord = afReportRecordMapper.getRecordBySerialnumAndInpatientNoAndSysFlag(reportDto.getSerialnum(), reportDto.getInpatientNo(), reportDto.getAdmisstimes(), reportDto.getSysFlag()); @@ -125,10 +136,21 @@ public class ReportServiceImpl implements ReportService { afReportRecord.setPatientId(patientId); afReportRecordMapper.saveRecord(afReportRecord); } else { + // 如果要合并文件标题 + String fileTitle = reportDto.getFileTitle(); + if (reportDto.isMergeFileTitle()) { + String lastFileName = afReportRecord.getFileName(); + String[] fileTitles = lastFileName.split("\\|"); + HashSet fileTitleSet = new LinkedHashSet<>(); + Collections.addAll(fileTitleSet, fileTitles); + fileTitleSet.add(fileTitle); + fileTitle = String.join("|", fileTitleSet); + } + // 更新 主要更新 url afReportRecord.setDownUrl(reportDto.getDownUrl()); afReportRecord.setDownType(reportDto.getDowntype()); - afReportRecord.setFileName(reportDto.getFileTitle()); + afReportRecord.setFileName(fileTitle); afReportRecord.setPatientId(patientId); afReportRecord.setZdAssortId(reportDto.getAssortId()); afReportRecordMapper.updateRecordByTaskId(afReportRecord); 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 2edd2bb..43cd49c 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 @@ -141,6 +141,7 @@ public class HIP1008InspectionReportAdditionHandler implements WebserviceReceive reportDto.setSysFlag(updateBy); reportDto.setFileSource("1"); reportDto.setFilestoragetype("1"); + reportDto.setMergeFileTitle(true); return reportDto; } @@ -194,6 +195,7 @@ public class HIP1008InspectionReportAdditionHandler implements WebserviceReceive reportDto.setSysFlag(sender); reportDto.setFileSource("1"); reportDto.setFilestoragetype("1"); + reportDto.setMergeFileTitle(true); return reportDto; } 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 ffc9b5c..cf6e5f7 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 @@ -141,6 +141,7 @@ public class HIP1009InspectionReportUpdatesHandler implements WebserviceReceiveS reportDto.setSysFlag(updateBy); reportDto.setFileSource("1"); reportDto.setFilestoragetype("1"); + reportDto.setMergeFileTitle(true); return reportDto; } @@ -196,6 +197,7 @@ public class HIP1009InspectionReportUpdatesHandler implements WebserviceReceiveS reportDto.setSysFlag(sender); reportDto.setFileSource("1"); reportDto.setFilestoragetype("1"); + reportDto.setMergeFileTitle(true); return reportDto; }