diff --git a/src/main/java/com/ann/entity/filing/dto/MessageDto.java b/src/main/java/com/ann/entity/filing/dto/MessageDto.java index 4fca018..12898a4 100644 --- a/src/main/java/com/ann/entity/filing/dto/MessageDto.java +++ b/src/main/java/com/ann/entity/filing/dto/MessageDto.java @@ -54,6 +54,11 @@ public class MessageDto { //20200609 0是老数据 1是新数据 private String isOld; + /** + * 电子病历最后提交时间 + * */ + private Date emrCommitTime; + public MessageDto() { } diff --git a/src/main/java/com/ann/entity/interfaceEntity/ArchiveMaster.java b/src/main/java/com/ann/entity/interfaceEntity/ArchiveMaster.java index 30631df..d0947f9 100644 --- a/src/main/java/com/ann/entity/interfaceEntity/ArchiveMaster.java +++ b/src/main/java/com/ann/entity/interfaceEntity/ArchiveMaster.java @@ -154,4 +154,16 @@ public class ArchiveMaster { * */ private String firstInstance; + + /** + * 医生最后提交时间 + * */ + private Date emrDoctorCommitTime; + + /** + * 护士最后提交时间 + * */ + private Date emrNurseCommitTime; + + } diff --git a/src/main/java/com/ann/repository/ArchiveDetailRepository.java b/src/main/java/com/ann/repository/ArchiveDetailRepository.java index c3159c0..b050a9e 100644 --- a/src/main/java/com/ann/repository/ArchiveDetailRepository.java +++ b/src/main/java/com/ann/repository/ArchiveDetailRepository.java @@ -21,9 +21,15 @@ public interface ArchiveDetailRepository extends JpaRepository findArchiveMasterBySendBackAndSendTime(); } diff --git a/src/main/java/com/ann/service/ArchiveDetailService.java b/src/main/java/com/ann/service/ArchiveDetailService.java index a0c36c6..918c1e8 100644 --- a/src/main/java/com/ann/service/ArchiveDetailService.java +++ b/src/main/java/com/ann/service/ArchiveDetailService.java @@ -17,6 +17,8 @@ public interface ArchiveDetailService { public ArchiveDetail isExit(String id, String type, String source, String applyId) throws Exception; + public ArchiveDetail isExitCheckReportId(String id, String type, String source, String checkReportId) throws Exception; + // public String getTypeNotExits(List type, String masterId); // public String checkExamApply(String masterId) throws Exception; diff --git a/src/main/java/com/ann/service/impl/ArchiveDetailServiceImpl.java b/src/main/java/com/ann/service/impl/ArchiveDetailServiceImpl.java index bda007f..d5bcf56 100644 --- a/src/main/java/com/ann/service/impl/ArchiveDetailServiceImpl.java +++ b/src/main/java/com/ann/service/impl/ArchiveDetailServiceImpl.java @@ -39,6 +39,13 @@ public class ArchiveDetailServiceImpl implements ArchiveDetailService { return null; } + @Override + public ArchiveDetail isExitCheckReportId(String id, String type, String source, String checkReportId) throws Exception { + if (archiveDetailRepository.countByMasterIDAndAssortIDAndSourceAndCheckReportId(id, type, source, checkReportId) > 0) + return archiveDetailRepository.findByMasterIDAndAssortIDAndSourceAndCheckReportIdAndFlag(id, type, source, checkReportId,"0"); + return null; + } + // @Override // public String getTypeNotExits(List type, String masterId) { // return archiveDetailRepository.getTypeNotExits(type, masterId); diff --git a/src/main/java/com/ann/service/impl/QueueService.java b/src/main/java/com/ann/service/impl/QueueService.java index bb9ff4d..78751e9 100644 --- a/src/main/java/com/ann/service/impl/QueueService.java +++ b/src/main/java/com/ann/service/impl/QueueService.java @@ -64,14 +64,24 @@ public class QueueService { ArchiveMaster archiveMaster = archiveMasterService.findByInpNoAndVisitIdAndIsValid(messageDto.getInpNo(), messageDto.getVisitId()); Date date = new Date(); if (archiveMaster != null) { - if (!Objects.equals(messageDto.getType(), AliasName.PATHOLOGY_REPORT) || !Objects.equals(messageDto.getType(), AliasName.MEDICAL_RECORD_HOMEPAGE)) { - if (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档")) { - messageSubordinate.setStatus(3); - messageSubordinateService.save(messageSubordinate); - continue; - } + /**2021-1-26 等lis程序升级 去掉*/ + if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT) && archiveMaster.getArchiveState().equals("已归档")){ + messageSubordinate.setStatus(3); + messageSubordinateService.save(messageSubordinate); + continue; } + /**2021-1-26 等lis程序升级 去掉*/ + if ( !Objects.equals(messageDto.getType(), AliasName.PATHOLOGY_REPORT) + /**2021-1-26 等lis程序升级 去掉*/ + && !Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT) + /**2021-1-26 等lis程序升级 去掉*/ + && (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档")) + ){ + messageSubordinate.setStatus(3); + messageSubordinateService.save(messageSubordinate); + continue; + } String address = messageDto.getReportAddress(); if (address != null && (!address.equals(""))) { // 如果是老数据 @@ -82,7 +92,7 @@ public class QueueService { //如果是检验报告 单独处理 if(Objects.equals(messageDto.getType(),AliasName.INSPECTION_REPORT)){ // 查询库中是否存在 如果存在就更新 - archiveDetail = archiveDetailService.isExit(archiveMaster.getId(), messageDto.getType(), messageDto.getSource(), messageDto.getCheckReportId()); + 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(), messageDto.getDetailType()); @@ -109,8 +119,22 @@ public class QueueService { Integer pageNum = 1; if (messageDto.getSource().equals(InterfaceName.NURSE_DATA)) { // 护理单独做处理 + boolean saveFlag = false; + + 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())){ + archiveMaster.setEmrNurseCommitTime(messageDto.getEmrCommitTime()); + saveFlag = true; + } + if (archiveMaster.getEmrNurseCmt() == null) { archiveMaster.setEmrNurseCmt("提交"); + saveFlag = true; + } + if(saveFlag){ archiveMasterService.save(archiveMaster); } @@ -134,8 +158,22 @@ public class QueueService { } else if (messageDto.getSource().equals(InterfaceName.DOCTOR_DATA)) { // 医生单独做处理 + boolean saveFlag = false; + + 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())){ + archiveMaster.setEmrDoctorCommitTime(messageDto.getEmrCommitTime()); + saveFlag = true; + } + if (archiveMaster.getEmrDoctorCmt() == null) { archiveMaster.setEmrDoctorCmt("提交"); + saveFlag = true; + } + if(saveFlag){ archiveMasterService.save(archiveMaster); } tempPath = messageDto.getType() + "~" + messageDto.getCaptionDateTime() + "~"; @@ -218,11 +256,12 @@ public class QueueService { messageSubordinate.setRemark("住院号为:" + messageDto.getInpNo() + "的ArchiveMaster为空。。。。"); } } + } } } catch (Exception e) { // 设置参数 - messageSubordinate.setRemark(e + ""); + messageSubordinate.setRemark(e + ",问题发生时间:"+new Date()); // 报错删掉患者报告详情信息 if (archiveDetail != null) { if (archiveDetail.getId() != null) { diff --git a/src/main/java/com/ann/utils/FTPUtil.java b/src/main/java/com/ann/utils/FTPUtil.java index 880be2f..4155cbb 100644 --- a/src/main/java/com/ann/utils/FTPUtil.java +++ b/src/main/java/com/ann/utils/FTPUtil.java @@ -106,7 +106,7 @@ public class FTPUtil { } closeFTPConnect(ftp); } - if(file.length() == 0){ + if(file.length() == 0 || file.length() < 10){ FileUtils.deleteImageFile(file); }else{ result = true; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 5949f10..14a7805 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,25 +1,25 @@ spring: datasource: - url: jdbc:mysql://localhost:3306/test - # url: jdbc:mysql://10.6.1.127:3306/test - username: root - password: 123456 - driver-class-name: com.mysql.jdbc.Driver + # url: jdbc:mysql://localhost:3306/test + # # url: jdbc:mysql://10.6.1.127:3306/test + # username: root + # password: 123456 + # driver-class-name: com.mysql.jdbc.Driver + # jpa: + # database: mysql + # show-sql: false + # hibernate: + # ddl-auto: update + url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY + # url: jdbc:sqlserver://120.27.212.36:1433;DatabaseName=emr_record + username: sa + password: docus@702 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver jpa: - database: mysql + database: sql_server show-sql: false hibernate: - ddl-auto: update - # url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY - # # url: jdbc:sqlserver://120.27.212.36:1433;DatabaseName=emr_record - # username: sa - # password: docus@702 - # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - # jpa: - # database: sql_server - # show-sql: false - # hibernate: - # dialect: org.hibernate.dialect.SQLServer2008Dialect + dialect: org.hibernate.dialect.SQLServer2008Dialect thymeleaf: prefix: classpath:/templates/ @@ -50,8 +50,8 @@ file: dischargeRecordPath: D:\\1\dischargeRecord.properties transferRecordPath: D:\\1\transferRecord.properties admissionRecordPath: D:\\1\admissionRecord.properties - pdfPath: D:/project_js - imagePath: D:/images + pdfPath: Z:/project_js + imagePath: Z:/images signContent: 0