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