下载PACS增加存储文件表的check_report_id报告单号,下次相同报告单号,则用-拼接申请单号,不做下载和添加文件数据

master
zengwh 3 years ago
parent b9e7344890
commit b4fa323cc8

@ -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地址

Loading…
Cancel
Save