From b4fa323cc8dcd5d86c9ac38ab65cb7b791bba406 Mon Sep 17 00:00:00 2001 From: zengwh Date: Sat, 5 Nov 2022 14:08:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E8=BD=BDPACS=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E6=96=87=E4=BB=B6=E8=A1=A8=E7=9A=84check=5Fr?= =?UTF-8?q?eport=5Fid=E6=8A=A5=E5=91=8A=E5=8D=95=E5=8F=B7=EF=BC=8C?= =?UTF-8?q?=E4=B8=8B=E6=AC=A1=E7=9B=B8=E5=90=8C=E6=8A=A5=E5=91=8A=E5=8D=95?= =?UTF-8?q?=E5=8F=B7=EF=BC=8C=E5=88=99=E7=94=A8-=E6=8B=BC=E6=8E=A5?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=8D=95=E5=8F=B7=EF=BC=8C=E4=B8=8D=E5=81=9A?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=92=8C=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ann/service/impl/QueueService.java | 64 +++++++++++++++---- 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/ann/service/impl/QueueService.java b/src/main/java/com/ann/service/impl/QueueService.java index 7ed4b43..b5959ea 100644 --- a/src/main/java/com/ann/service/impl/QueueService.java +++ b/src/main/java/com/ann/service/impl/QueueService.java @@ -12,6 +12,7 @@ import com.ann.entity.interfaceEntity.MessageLog; import com.ann.entity.interfaceEntity.ScanningFile; import com.ann.service.*; import com.ann.utils.*; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -124,15 +125,56 @@ public class QueueService { archiveDetail.setUpLoadDateTime(date); } }else{ - // 查询库中是否存在 如果存在就更新 - archiveDetail = archiveDetailService.isExit(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(), messageDto.getApplyId()); - if (archiveDetail == null) { - archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(), - messageDto.getDetailType(), 1); - archiveDetailService.save(archiveDetail); - } else { - //更新时间 - archiveDetail.setUpLoadDateTime(date); + //获取下载下载 + if(Objects.equals(messageDto.getType(),AliasName.RADIATION_REPORT)) { + //PACS + //获取报告单号|申请单号 DR20210430233|97497407 + String checkReportId = messageDto.getCheckReportId(); + //定义是否走下载逻辑 第一次推送需要下载,报告单号为空或非第一次推送不需要下载 + boolean downFlag = false; + if(StringUtils.isNotBlank(checkReportId)){ + //获报告单号DR20210430233 + String[] checkReportIdArr = checkReportId.split("\\|"); + checkReportId = checkReportIdArr[0]; + //判断报告单号是否存在 + archiveDetail = archiveDetailService.isExitCheckReportId(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(),checkReportId); + if (archiveDetail == null) { + archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(),checkReportId, + messageDto.getDetailType()); + archiveDetailService.save(archiveDetail); + downFlag = true; + } else { + //横杠拼接申请单号 + String applyId = archiveDetail.getApplyId(); + if(!applyId.contains(checkReportIdArr[1])) { + archiveDetail.setApplyId(applyId + "-" + checkReportIdArr[1]); + //更新时间 + archiveDetail.setUpLoadDateTime(date); + archiveDetailService.save(archiveDetail); + } + status = 1; + } + }else{ + messageSubordinate.setRemark("住院号为:" + messageDto.getInpNo() + "的checkReportId为空。。。。"); + + } + if(!downFlag) { + messageSubordinate.setStatus(status); + messageSubordinateService.save(messageSubordinate); + continue; + } + }else{ + //非PACS + // 查询库中是否存在 如果存在就更新 + archiveDetail = archiveDetailService.isExit(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(), messageDto.getApplyId()); + if (archiveDetail == null) { + archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(), + messageDto.getDetailType(), 1); + archiveDetailService.save(archiveDetail); + } else { + //更新时间 + archiveDetail.setUpLoadDateTime(date); + } } } } @@ -252,10 +294,10 @@ public class QueueService { } //金域外送报告解析 2021-05-06 - /*if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT)){ + if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT)){ PdfUtils.base64StringToPDF(address,pdfFile.getAbsolutePath()); pdfPath=pdfFile.getAbsolutePath(); - }*/ + } } } //存入pdf地址