1、新增接收电子病历文书或护理文件,在master表存入电子病历医生提交时间、电子病历护士提交时间

2、更改检验报告覆盖处理使用报告单号
3、新增检验报告 除了归档状态为已归档拦截,其他状态不拦截(等lis升级之后检验报告取消不拦截)
4、新增下载pdf格式文件,当文件大小小于<10进行删除
master
leijx 5 years ago
parent a6ff0a6723
commit 42ecb4e71f

@ -54,6 +54,11 @@ public class MessageDto<T> {
//20200609 0是老数据 1是新数据 //20200609 0是老数据 1是新数据
private String isOld; private String isOld;
/**
*
* */
private Date emrCommitTime;
public MessageDto() { public MessageDto() {
} }

@ -154,4 +154,16 @@ public class ArchiveMaster {
* */ * */
private String firstInstance; private String firstInstance;
/**
*
* */
private Date emrDoctorCommitTime;
/**
*
* */
private Date emrNurseCommitTime;
} }

@ -21,9 +21,15 @@ public interface ArchiveDetailRepository extends JpaRepository<ArchiveDetail, St
@Query("select count (o) from ArchiveDetail o where o.masterID = ?1 and o.assortID = ?2 and o.source=?3 and (o.applyId = ?4 and o.applyId is not null) and o.flag = 0") @Query("select count (o) from ArchiveDetail o where o.masterID = ?1 and o.assortID = ?2 and o.source=?3 and (o.applyId = ?4 and o.applyId is not null) and o.flag = 0")
Integer countByMasterIDAndAssortIDAndSourceAndApplyId(String masterId, String AssortID, String source, String applyId); Integer countByMasterIDAndAssortIDAndSourceAndApplyId(String masterId, String AssortID, String source, String applyId);
@Query("select count (o) from ArchiveDetail o where o.masterID = ?1 and o.assortID = ?2 and o.source=?3 and (o.checkReportId = ?4 and o.checkReportId is not null) and o.flag = 0")
Integer countByMasterIDAndAssortIDAndSourceAndCheckReportId(String masterId, String AssortID, String source, String CheckReportId);
public ArchiveDetail findByMasterIDAndAssortIDAndSourceAndApplyIdAndFlag(String masterId, String AssortID, String source, String applyId,String flag); public ArchiveDetail findByMasterIDAndAssortIDAndSourceAndApplyIdAndFlag(String masterId, String AssortID, String source, String applyId,String flag);
public ArchiveDetail findByMasterIDAndAssortIDAndSourceAndCheckReportIdAndFlag(String masterId, String AssortID, String source, String checkReportId,String flag);
// @Query(value = "SELECT stuff(" + // @Query(value = "SELECT stuff(" +
// " (SELECT ',' + CONVERT(VARCHAR,a.assort_name) " + // " (SELECT ',' + CONVERT(VARCHAR,a.assort_name) " +
// " FROM zd_assort a WHERE a.assort_id in ?1 " + // " FROM zd_assort a WHERE a.assort_id in ?1 " +

@ -32,6 +32,6 @@ public interface ArchiveMasterRepository extends JpaRepository<ArchiveMaster, St
@Query(value = "update ArchiveMaster o set o.sendTime = null where o.archiveState = '复审退回' and o.id = ?1 and o.isValid = 0 ") @Query(value = "update ArchiveMaster o set o.sendTime = null where o.archiveState = '复审退回' and o.id = ?1 and o.isValid = 0 ")
public Integer updateSendTimeBySendBack(String id); public Integer updateSendTimeBySendBack(String id);
@Query(value = "select o from ArchiveMaster o where o.archiveState = '复审退回' and o.sendTime is not null ") @Query(value = "select o from ArchiveMaster o where (o.archiveState = '复审退回' or o.archiveState = '主任退回' ) and o.sendTime is not null ")
List<ArchiveMaster> findArchiveMasterBySendBackAndSendTime(); List<ArchiveMaster> findArchiveMasterBySendBackAndSendTime();
} }

@ -17,6 +17,8 @@ public interface ArchiveDetailService {
public ArchiveDetail isExit(String id, String type, String source, String applyId) throws Exception; 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<String> type, String masterId); // public String getTypeNotExits(List<String> type, String masterId);
// public String checkExamApply(String masterId) throws Exception; // public String checkExamApply(String masterId) throws Exception;

@ -39,6 +39,13 @@ public class ArchiveDetailServiceImpl implements ArchiveDetailService {
return null; 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 // @Override
// public String getTypeNotExits(List<String> type, String masterId) { // public String getTypeNotExits(List<String> type, String masterId) {
// return archiveDetailRepository.getTypeNotExits(type, masterId); // return archiveDetailRepository.getTypeNotExits(type, masterId);

@ -64,14 +64,24 @@ public class QueueService {
ArchiveMaster archiveMaster = archiveMasterService.findByInpNoAndVisitIdAndIsValid(messageDto.getInpNo(), messageDto.getVisitId()); ArchiveMaster archiveMaster = archiveMasterService.findByInpNoAndVisitIdAndIsValid(messageDto.getInpNo(), messageDto.getVisitId());
Date date = new Date(); Date date = new Date();
if (archiveMaster != null) { if (archiveMaster != null) {
if (!Objects.equals(messageDto.getType(), AliasName.PATHOLOGY_REPORT) || !Objects.equals(messageDto.getType(), AliasName.MEDICAL_RECORD_HOMEPAGE)) { /**2021-1-26 等lis程序升级 去掉*/
if (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档")) { if (Objects.equals(messageDto.getType(), AliasName.INSPECTION_REPORT) && archiveMaster.getArchiveState().equals("已归档")){
messageSubordinate.setStatus(3); messageSubordinate.setStatus(3);
messageSubordinateService.save(messageSubordinate); messageSubordinateService.save(messageSubordinate);
continue; 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(); String address = messageDto.getReportAddress();
if (address != null && (!address.equals(""))) { if (address != null && (!address.equals(""))) {
// 如果是老数据 // 如果是老数据
@ -82,7 +92,7 @@ public class QueueService {
//如果是检验报告 单独处理 //如果是检验报告 单独处理
if(Objects.equals(messageDto.getType(),AliasName.INSPECTION_REPORT)){ 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) { 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()); messageDto.getDetailType());
@ -109,8 +119,22 @@ public class QueueService {
Integer pageNum = 1; Integer pageNum = 1;
if (messageDto.getSource().equals(InterfaceName.NURSE_DATA)) { 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) { if (archiveMaster.getEmrNurseCmt() == null) {
archiveMaster.setEmrNurseCmt("提交"); archiveMaster.setEmrNurseCmt("提交");
saveFlag = true;
}
if(saveFlag){
archiveMasterService.save(archiveMaster); archiveMasterService.save(archiveMaster);
} }
@ -134,8 +158,22 @@ public class QueueService {
} else if (messageDto.getSource().equals(InterfaceName.DOCTOR_DATA)) { } 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) { if (archiveMaster.getEmrDoctorCmt() == null) {
archiveMaster.setEmrDoctorCmt("提交"); archiveMaster.setEmrDoctorCmt("提交");
saveFlag = true;
}
if(saveFlag){
archiveMasterService.save(archiveMaster); archiveMasterService.save(archiveMaster);
} }
tempPath = messageDto.getType() + "~" + messageDto.getCaptionDateTime() + "~"; tempPath = messageDto.getType() + "~" + messageDto.getCaptionDateTime() + "~";
@ -218,11 +256,12 @@ public class QueueService {
messageSubordinate.setRemark("住院号为:" + messageDto.getInpNo() + "的ArchiveMaster为空。。。。"); messageSubordinate.setRemark("住院号为:" + messageDto.getInpNo() + "的ArchiveMaster为空。。。。");
} }
} }
} }
} }
} catch (Exception e) { } catch (Exception e) {
// 设置参数 // 设置参数
messageSubordinate.setRemark(e + ""); messageSubordinate.setRemark(e + ",问题发生时间:"+new Date());
// 报错删掉患者报告详情信息 // 报错删掉患者报告详情信息
if (archiveDetail != null) { if (archiveDetail != null) {
if (archiveDetail.getId() != null) { if (archiveDetail.getId() != null) {

@ -106,7 +106,7 @@ public class FTPUtil {
} }
closeFTPConnect(ftp); closeFTPConnect(ftp);
} }
if(file.length() == 0){ if(file.length() == 0 || file.length() < 10){
FileUtils.deleteImageFile(file); FileUtils.deleteImageFile(file);
}else{ }else{
result = true; result = true;

@ -1,25 +1,25 @@
spring: spring:
datasource: datasource:
url: jdbc:mysql://localhost:3306/test # url: jdbc:mysql://localhost:3306/test
# url: jdbc:mysql://10.6.1.127:3306/test # # url: jdbc:mysql://10.6.1.127:3306/test
username: root # username: root
password: 123456 # password: 123456
driver-class-name: com.mysql.jdbc.Driver # 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: jpa:
database: mysql database: sql_server
show-sql: false show-sql: false
hibernate: hibernate:
ddl-auto: update dialect: org.hibernate.dialect.SQLServer2008Dialect
# 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
thymeleaf: thymeleaf:
prefix: classpath:/templates/ prefix: classpath:/templates/
@ -50,8 +50,8 @@ file:
dischargeRecordPath: D:\\1\dischargeRecord.properties dischargeRecordPath: D:\\1\dischargeRecord.properties
transferRecordPath: D:\\1\transferRecord.properties transferRecordPath: D:\\1\transferRecord.properties
admissionRecordPath: D:\\1\admissionRecord.properties admissionRecordPath: D:\\1\admissionRecord.properties
pdfPath: D:/project_js pdfPath: Z:/project_js
imagePath: D:/images imagePath: Z:/images
signContent: <REQUEST> signContent: <REQUEST>
<patient_statu>0</patient_statu> <patient_statu>0</patient_statu>

Loading…
Cancel
Save