|
|
|
@ -47,6 +47,7 @@ public class QueueService {
|
|
|
|
|
ArchiveDetailService archiveDetailService;
|
|
|
|
|
@Autowired
|
|
|
|
|
MessageService messageService;
|
|
|
|
|
|
|
|
|
|
//---------------------定时器
|
|
|
|
|
public void doSomething(List<MessageSubordinate> all) throws Exception {
|
|
|
|
|
if (all.size() > 0) {
|
|
|
|
@ -64,14 +65,14 @@ public class QueueService {
|
|
|
|
|
if (outJson != null) {
|
|
|
|
|
MessageDto messageDto = JSON.parseObject(outJson, MessageDto.class);
|
|
|
|
|
if (messageDto.getSource().equals(InterfaceName.NURSE_DATA) && (messageDto.getReportAddress().endsWith(".jpg")
|
|
|
|
|
|| messageDto.getReportAddress().endsWith(".JPG") )){
|
|
|
|
|
|| messageDto.getReportAddress().endsWith(".JPG"))) {
|
|
|
|
|
messageSubordinate.setRemark("住院号:" + messageDto.getInpNo() + "pdf路径为空(可能出现下载问题)。。。");
|
|
|
|
|
} else {
|
|
|
|
|
ArchiveMaster archiveMaster = archiveMasterService.findByInpNoAndVisitIdAndIsValid(messageDto.getInpNo(), messageDto.getVisitId());
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
if (archiveMaster != null) {
|
|
|
|
|
/**2021-1-26 等lis程序升级 去掉*/
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT) && archiveMaster.getArchiveState().equals("已归档")){
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT) && archiveMaster.getArchiveState().equals("已归档")) {
|
|
|
|
|
messageSubordinate.setStatus(3);
|
|
|
|
|
messageSubordinateService.save(messageSubordinate);
|
|
|
|
|
continue;
|
|
|
|
@ -79,33 +80,28 @@ public class QueueService {
|
|
|
|
|
/**2021-1-26 等lis程序升级 去掉*/
|
|
|
|
|
|
|
|
|
|
/**2021-4-25 等超声补传完 去掉*/
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.ULTRASONIC_REPORT) && archiveMaster.getArchiveState().equals("已归档")){
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.ULTRASONIC_REPORT) && archiveMaster.getArchiveState().equals("已归档")) {
|
|
|
|
|
messageSubordinate.setStatus(3);
|
|
|
|
|
messageSubordinateService.save(messageSubordinate);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
/**2021-4-25 等超声补传完 去掉*/
|
|
|
|
|
|
|
|
|
|
/**2021-4-25 等心电图补传完 去掉*/
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.EKG_REPORT) && archiveMaster.getArchiveState().equals("已归档")){
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.EKG_REPORT) && archiveMaster.getArchiveState().equals("已归档")) {
|
|
|
|
|
messageSubordinate.setStatus(3);
|
|
|
|
|
messageSubordinateService.save(messageSubordinate);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
/**2021-4-25 等心电图补传完 去掉*/
|
|
|
|
|
|
|
|
|
|
if ( !Objects.equals(messageDto.getType(), AliasName.PATHOLOGY_REPORT)
|
|
|
|
|
if (!Objects.equals(messageDto.getType(), AliasName.PATHOLOGY_REPORT)
|
|
|
|
|
/**2021-1-26 等lis程序升级 去掉*/
|
|
|
|
|
&& !Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT)
|
|
|
|
|
/**2021-1-26 等lis程序升级 去掉*/
|
|
|
|
|
/**2021-4-25 等超声补传完 去掉*/
|
|
|
|
|
&& !Objects.equals(messageDto.getType(), AliasName.ULTRASONIC_REPORT)
|
|
|
|
|
/**2021-4-25 等超声补传完 去掉*/
|
|
|
|
|
/**2021-4-25 等心电图补传完 去掉*/
|
|
|
|
|
&& !Objects.equals(messageDto.getType(), AliasName.EKG_REPORT)
|
|
|
|
|
/**2021-4-25 等心电图补传完 去掉*/
|
|
|
|
|
&& !Objects.equals(messageDto.getType(), AliasName.NEW_PATHOLOGY_REPORT)
|
|
|
|
|
&& (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档"))
|
|
|
|
|
){
|
|
|
|
|
) {
|
|
|
|
|
messageSubordinate.setStatus(3);
|
|
|
|
|
messageSubordinateService.save(messageSubordinate);
|
|
|
|
|
continue;
|
|
|
|
@ -119,40 +115,40 @@ public class QueueService {
|
|
|
|
|
archiveDetailService.save(archiveDetail);
|
|
|
|
|
} else {
|
|
|
|
|
//如果是检验报告 单独处理
|
|
|
|
|
if(Objects.equals(messageDto.getType(),AliasName.INSPECTION_REPORT)){
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT)) {
|
|
|
|
|
// 查询库中是否存在 如果存在就更新
|
|
|
|
|
archiveDetail = archiveDetailService.isExitCheckReportId(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(), messageDto.getCheckReportId());
|
|
|
|
|
if (archiveDetail == null) {
|
|
|
|
|
archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, messageDto.getType(), messageDto.getSource(),messageDto.getApplyId(), messageDto.getCheckReportId(),
|
|
|
|
|
archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(), messageDto.getCheckReportId(),
|
|
|
|
|
messageDto.getDetailType());
|
|
|
|
|
archiveDetailService.save(archiveDetail);
|
|
|
|
|
} else {
|
|
|
|
|
//更新时间
|
|
|
|
|
archiveDetail.setUpLoadDateTime(date);
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
//获取下载下载
|
|
|
|
|
if(Objects.equals(messageDto.getType(),AliasName.RADIATION_REPORT)) {
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.RADIATION_REPORT)) {
|
|
|
|
|
//PACS
|
|
|
|
|
//获取报告单号|申请单号 DR20210430233|97497407
|
|
|
|
|
String checkReportId = messageDto.getCheckReportId();
|
|
|
|
|
//定义是否走下载逻辑 第一次推送需要下载,报告单号为空或非第一次推送不需要下载
|
|
|
|
|
boolean downFlag = false;
|
|
|
|
|
if(StringUtils.isNotBlank(checkReportId)){
|
|
|
|
|
if (StringUtils.isNotBlank(checkReportId)) {
|
|
|
|
|
//获报告单号DR20210430233
|
|
|
|
|
String[] checkReportIdArr = checkReportId.split("\\|");
|
|
|
|
|
checkReportId = checkReportIdArr[0];
|
|
|
|
|
//判断报告单号是否存在
|
|
|
|
|
archiveDetail = archiveDetailService.isExitCheckReportId(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(),checkReportId);
|
|
|
|
|
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,
|
|
|
|
|
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])) {
|
|
|
|
|
if (!applyId.contains(checkReportIdArr[1])) {
|
|
|
|
|
archiveDetail.setApplyId(applyId + "-" + checkReportIdArr[1]);
|
|
|
|
|
//更新时间
|
|
|
|
|
archiveDetail.setUpLoadDateTime(date);
|
|
|
|
@ -160,16 +156,30 @@ public class QueueService {
|
|
|
|
|
}
|
|
|
|
|
status = 1;
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
messageSubordinate.setRemark("住院号为:" + messageDto.getInpNo() + "的checkReportId为空。。。。");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if(!downFlag) {
|
|
|
|
|
if (!downFlag) {
|
|
|
|
|
messageSubordinate.setStatus(status);
|
|
|
|
|
messageSubordinateService.save(messageSubordinate);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
}
|
|
|
|
|
//如果是新病历报告单独处理
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.NEW_PATHOLOGY_REPORT)) {
|
|
|
|
|
//获取报告单号|申请单号 如果存在更新不存在新增
|
|
|
|
|
String checkReportId = messageDto.getCheckReportId();
|
|
|
|
|
String applyId = messageDto.getApplyId();
|
|
|
|
|
archiveDetail = archiveDetailService.isExitCheckReportIdAndApplyId(archiveMaster.getId(), checkReportId, applyId);
|
|
|
|
|
if (archiveDetail == null) {
|
|
|
|
|
archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, "52", messageDto.getSource(), messageDto.getApplyId(), checkReportId,messageDto.getDetailType());
|
|
|
|
|
archiveDetailService.save(archiveDetail);
|
|
|
|
|
}else {
|
|
|
|
|
//更新时间
|
|
|
|
|
archiveDetail.setUpLoadDateTime(date);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
//非PACS
|
|
|
|
|
// 查询库中是否存在 如果存在就更新
|
|
|
|
|
archiveDetail = archiveDetailService.isExit(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(), messageDto.getApplyId());
|
|
|
|
@ -184,7 +194,7 @@ public class QueueService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
logger.error("保存文件数据耗时:"+(System.currentTimeMillis() - start1));
|
|
|
|
|
logger.error("保存文件数据耗时:" + (System.currentTimeMillis() - start1));
|
|
|
|
|
String pdfPath = null;
|
|
|
|
|
String tempPath = "";
|
|
|
|
|
Integer pageNum = 1;
|
|
|
|
@ -192,11 +202,11 @@ public class QueueService {
|
|
|
|
|
// 护理单独做处理
|
|
|
|
|
boolean saveFlag = false;
|
|
|
|
|
|
|
|
|
|
if(archiveMaster.getEmrNurseCommitTime() == null ){
|
|
|
|
|
if (archiveMaster.getEmrNurseCommitTime() == null) {
|
|
|
|
|
archiveMaster.setEmrNurseCommitTime(messageDto.getEmrCommitTime());
|
|
|
|
|
saveFlag = true;
|
|
|
|
|
}else if(messageDto.getEmrCommitTime() != null && archiveMaster.getEmrNurseCommitTime() !=null &&
|
|
|
|
|
!Objects.equals( messageDto.getEmrCommitTime().getTime(),archiveMaster.getEmrNurseCommitTime().getTime())){
|
|
|
|
|
} else if (messageDto.getEmrCommitTime() != null && archiveMaster.getEmrNurseCommitTime() != null &&
|
|
|
|
|
!Objects.equals(messageDto.getEmrCommitTime().getTime(), archiveMaster.getEmrNurseCommitTime().getTime())) {
|
|
|
|
|
archiveMaster.setEmrNurseCommitTime(messageDto.getEmrCommitTime());
|
|
|
|
|
saveFlag = true;
|
|
|
|
|
}
|
|
|
|
@ -205,23 +215,15 @@ public class QueueService {
|
|
|
|
|
archiveMaster.setEmrNurseCmt("提交");
|
|
|
|
|
saveFlag = true;
|
|
|
|
|
}
|
|
|
|
|
if(saveFlag){
|
|
|
|
|
if (saveFlag) {
|
|
|
|
|
archiveMasterService.save(archiveMaster);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String tempPageNum = "";
|
|
|
|
|
// if (messageDto.getApplyId().lastIndexOf("_") != -1 ) {
|
|
|
|
|
//apply_id 000562390700_1_000562390700_0_1_JHR06.00.02_34_2.pdf
|
|
|
|
|
// if(archiveMaster.getInpNo().lastIndexOf("_") != -1){
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
// tempPageNum = messageDto.getApplyId().substring(0, messageDto.getApplyId().indexOf(".pdf"));
|
|
|
|
|
// }else{
|
|
|
|
|
// address ftp://10.6.0.155/2020-08-04/000562390700_1_000562390700_0_1_JHR06.00.02_34_2_0.pdf
|
|
|
|
|
tempPageNum = address.substring(0, address.lastIndexOf("_"));
|
|
|
|
|
// }
|
|
|
|
|
tempPageNum = tempPageNum.substring(tempPageNum.lastIndexOf("_") + 1, tempPageNum.length() );
|
|
|
|
|
if(isInteger(tempPageNum)){
|
|
|
|
|
tempPageNum = tempPageNum.substring(tempPageNum.lastIndexOf("_") + 1, tempPageNum.length());
|
|
|
|
|
if (isInteger(tempPageNum)) {
|
|
|
|
|
pageNum = Integer.valueOf(tempPageNum);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -231,11 +233,11 @@ public class QueueService {
|
|
|
|
|
// 医生单独做处理
|
|
|
|
|
boolean saveFlag = false;
|
|
|
|
|
|
|
|
|
|
if(archiveMaster.getEmrDoctorCommitTime() == null ){
|
|
|
|
|
if (archiveMaster.getEmrDoctorCommitTime() == null) {
|
|
|
|
|
archiveMaster.setEmrDoctorCommitTime(messageDto.getEmrCommitTime());
|
|
|
|
|
saveFlag = true;
|
|
|
|
|
}else if(messageDto.getEmrCommitTime() != null && archiveMaster.getEmrDoctorCommitTime() !=null &&
|
|
|
|
|
!Objects.equals( messageDto.getEmrCommitTime().getTime(),archiveMaster.getEmrDoctorCommitTime().getTime())){
|
|
|
|
|
} else if (messageDto.getEmrCommitTime() != null && archiveMaster.getEmrDoctorCommitTime() != null &&
|
|
|
|
|
!Objects.equals(messageDto.getEmrCommitTime().getTime(), archiveMaster.getEmrDoctorCommitTime().getTime())) {
|
|
|
|
|
archiveMaster.setEmrDoctorCommitTime(messageDto.getEmrCommitTime());
|
|
|
|
|
saveFlag = true;
|
|
|
|
|
}
|
|
|
|
@ -244,14 +246,14 @@ public class QueueService {
|
|
|
|
|
archiveMaster.setEmrDoctorCmt("提交");
|
|
|
|
|
saveFlag = true;
|
|
|
|
|
}
|
|
|
|
|
if(saveFlag){
|
|
|
|
|
if (saveFlag) {
|
|
|
|
|
archiveMasterService.save(archiveMaster);
|
|
|
|
|
}
|
|
|
|
|
tempPath = messageDto.getType() + "~" + messageDto.getCaptionDateTime() + "~";
|
|
|
|
|
} else {
|
|
|
|
|
// 20200518 给重症系统的文件排序
|
|
|
|
|
if (messageDto.getType().equals(AliasName.ICU_REPORT)) {
|
|
|
|
|
if(isInteger(messageDto.getCaptionDateTime())){
|
|
|
|
|
if (isInteger(messageDto.getCaptionDateTime())) {
|
|
|
|
|
pageNum = Integer.valueOf(messageDto.getCaptionDateTime());
|
|
|
|
|
}
|
|
|
|
|
//重症如果是pdf
|
|
|
|
@ -288,12 +290,9 @@ public class QueueService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else if (address.contains("http")){//新心电以http协议传
|
|
|
|
|
logger.error("类型为:" + messageDto.getType());
|
|
|
|
|
} else if (address.contains("http")) {//新心电以http协议传
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.PETCT_REPORT)) {
|
|
|
|
|
HttpDownloader httpDownloader = new HttpDownloader(null);
|
|
|
|
|
logger.error("核医学下载地址为URL:" + address);
|
|
|
|
|
logger.error("核医学下载文件名:" + address);
|
|
|
|
|
httpDownloader.downLoadFromUrl(address, pdfFile.getName(), pdfFile.getParent());
|
|
|
|
|
pdfPath = pdfFile.getAbsolutePath();
|
|
|
|
|
} else {
|
|
|
|
@ -311,9 +310,9 @@ public class QueueService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//金域外送报告解析 2021-05-06
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT)){
|
|
|
|
|
PdfUtils.base64StringToPDF(address,pdfFile.getAbsolutePath());
|
|
|
|
|
pdfPath=pdfFile.getAbsolutePath();
|
|
|
|
|
if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT)) {
|
|
|
|
|
PdfUtils.base64StringToPDF(address, pdfFile.getAbsolutePath());
|
|
|
|
|
pdfPath = pdfFile.getAbsolutePath();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -322,11 +321,11 @@ public class QueueService {
|
|
|
|
|
// 转成格式
|
|
|
|
|
archiveDetail.setPageNumber(pageNum);
|
|
|
|
|
archiveDetail.setPdfPath(pdfPath);
|
|
|
|
|
int i=archiveDetailService.countByMasterIDAndAssortIDAndTitleAndFlag(archiveDetail.getMasterID(),archiveDetail.getAssortID(),archiveDetail.getTitle());
|
|
|
|
|
int i = archiveDetailService.countByMasterIDAndAssortIDAndTitleAndFlag(archiveDetail.getMasterID(), archiveDetail.getAssortID(), archiveDetail.getTitle());
|
|
|
|
|
//如果detail表有重复的分段数据,则把falg改为5(5为没人使用的自定义数字),同时修改修改完整性接口的sql
|
|
|
|
|
// if(archiveDetailService.countByMasterIDAndAssortIDAndTitleAndFlag(archiveDetail.getMasterID(),archiveDetail.getAssortID(),archiveDetail.getTitle())>1)
|
|
|
|
|
// {
|
|
|
|
|
// archiveDetail.setFlag("5");
|
|
|
|
|
// archiveDetail.setFlag("5");
|
|
|
|
|
//}
|
|
|
|
|
archiveDetailService.save(archiveDetail);
|
|
|
|
|
|
|
|
|
@ -346,11 +345,11 @@ public class QueueService {
|
|
|
|
|
archiveDetailService.delete(archiveDetail.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
logger.error("文件下载耗时:"+(System.currentTimeMillis() - start3));
|
|
|
|
|
logger.error("文件下载耗时:" + (System.currentTimeMillis() - start3));
|
|
|
|
|
} else {
|
|
|
|
|
messageSubordinate.setRemark("地址为空。。。。");
|
|
|
|
|
}
|
|
|
|
|
} else{
|
|
|
|
|
} else {
|
|
|
|
|
messageSubordinate.setRemark("住院号为:" + messageDto.getInpNo() + "的ArchiveMaster为空。。。。");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -358,14 +357,14 @@ public class QueueService {
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 设置参数
|
|
|
|
|
messageSubordinate.setRemark(e + ",问题发生时间:"+new Date());
|
|
|
|
|
messageSubordinate.setRemark(e + ",问题发生时间:" + new Date());
|
|
|
|
|
// 报错删掉患者报告详情信息
|
|
|
|
|
if (archiveDetail != null) {
|
|
|
|
|
if (archiveDetail.getId() != null) {
|
|
|
|
|
archiveDetailService.delete(archiveDetail.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
logger.error("messageId:"+messageId+"报错了:" ,e);
|
|
|
|
|
logger.error("messageId:" + messageId + "报错了:", e);
|
|
|
|
|
}
|
|
|
|
|
messageSubordinate.setStatus(status);
|
|
|
|
|
|
|
|
|
@ -390,38 +389,37 @@ public class QueueService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void doSomethingByHIS() {
|
|
|
|
|
try {
|
|
|
|
|
while (true) {
|
|
|
|
|
//循环开始处理 所有未处理的
|
|
|
|
|
List<InterfaceHisCacheDto> interfaceHisCaches = interfaceHisCacheService.findInterfaceHisCacheByState();
|
|
|
|
|
if(CollectionUtils.isEmpty(interfaceHisCaches)){
|
|
|
|
|
if (CollectionUtils.isEmpty(interfaceHisCaches)) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
doSomethingByHISMethod(interfaceHisCaches);
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
logger.error("出错咯!错误信息为{},以及错误行数为:{}", e, e.getStackTrace()[0]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void doSomethingByHISMethod(List<InterfaceHisCacheDto> interfaceHisCaches){
|
|
|
|
|
for (InterfaceHisCacheDto interfaceHisCacheDto: interfaceHisCaches) {
|
|
|
|
|
private void doSomethingByHISMethod(List<InterfaceHisCacheDto> interfaceHisCaches) {
|
|
|
|
|
for (InterfaceHisCacheDto interfaceHisCacheDto : interfaceHisCaches) {
|
|
|
|
|
InterfaceHisCache interfaceHisCache = new InterfaceHisCache();
|
|
|
|
|
BeanUtils.copyProperties(interfaceHisCacheDto,interfaceHisCache);
|
|
|
|
|
String type = null,remark = null,title = null,pdfPath = null,state = "2";
|
|
|
|
|
BeanUtils.copyProperties(interfaceHisCacheDto, interfaceHisCache);
|
|
|
|
|
String type = null, remark = null, title = null, pdfPath = null, state = "2";
|
|
|
|
|
ArchiveDetail archiveDetail = null;
|
|
|
|
|
try{
|
|
|
|
|
try {
|
|
|
|
|
ArchiveMaster archiveMaster = archiveMasterService.findByInpNoAndVisitIdAndIsValid(interfaceHisCache.getInpNo(), interfaceHisCache.getVisitId());
|
|
|
|
|
if(archiveMaster != null){
|
|
|
|
|
if(interfaceHisCache.getType() != null){
|
|
|
|
|
if (archiveMaster != null) {
|
|
|
|
|
if (interfaceHisCache.getType() != null) {
|
|
|
|
|
//给type 属性赋值
|
|
|
|
|
if(Objects.equals(interfaceHisCache.getType(),"0")){
|
|
|
|
|
if (Objects.equals(interfaceHisCache.getType(), "0")) {
|
|
|
|
|
type = AliasName.SOS;
|
|
|
|
|
title = "临时医嘱";
|
|
|
|
|
}else if(Objects.equals(interfaceHisCache.getType(),"1")){
|
|
|
|
|
} else if (Objects.equals(interfaceHisCache.getType(), "1")) {
|
|
|
|
|
type = AliasName.PRN;
|
|
|
|
|
title = "长期医嘱";
|
|
|
|
|
}
|
|
|
|
@ -431,9 +429,9 @@ public class QueueService {
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
if (archiveDetail == null) {
|
|
|
|
|
archiveDetail = new ArchiveDetail(archiveMaster.getId(), date, type, "HIS系统", title,
|
|
|
|
|
title ,1);
|
|
|
|
|
title, 1);
|
|
|
|
|
archiveDetailService.save(archiveDetail);
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
//更新时间
|
|
|
|
|
archiveDetail.setUpLoadDateTime(date);
|
|
|
|
|
}
|
|
|
|
@ -448,28 +446,28 @@ public class QueueService {
|
|
|
|
|
archiveDetail.setPdfPath(pdfPath);
|
|
|
|
|
archiveDetailService.save(archiveDetail);
|
|
|
|
|
//删除FTP文件
|
|
|
|
|
if(FTPUtil.deleteFile(interfaceHisCache.getPdfPath())){
|
|
|
|
|
if (FTPUtil.deleteFile(interfaceHisCache.getPdfPath())) {
|
|
|
|
|
// 成功
|
|
|
|
|
state = "1";
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
} else {
|
|
|
|
|
remark = "下载失败";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "文件创建失败";
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "类型为空";
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "没有入院信息";
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
remark = e.getMessage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(remark != null){
|
|
|
|
|
if (remark != null) {
|
|
|
|
|
// 报错删掉患者报告详情信息
|
|
|
|
|
if (archiveDetail != null) {
|
|
|
|
|
try {
|
|
|
|
@ -480,12 +478,12 @@ public class QueueService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//赋值
|
|
|
|
|
interfaceHisCache.setValue(state,remark,new Date());
|
|
|
|
|
interfaceHisCache.setValue(state, remark, new Date());
|
|
|
|
|
interfaceHisCacheService.save(interfaceHisCache);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean isInteger(String str) {
|
|
|
|
|
public boolean isInteger(String str) {
|
|
|
|
|
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
|
|
|
|
|
return pattern.matcher(str).matches();
|
|
|
|
|
}
|
|
|
|
|