@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature ;
import com.ann.demo.entity.constant.AliasName ;
import com.ann.demo.entity.constant.InterfaceName ;
import com.ann.demo.entity.filing.ArchiveDetail ;
import com.ann.demo.entity.filing.MessageSubordinate ;
import com.ann.demo.entity.filing.dto.MessageDto ;
import com.ann.demo.entity.filing.dto.PatientMainDto ;
@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import javax.jws.WebService ;
import java.util.Date ;
import java.util.Objects ;
/ * *
* @Author : LeiJiaXin
@ -51,7 +53,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
// 1、定义变量
boolean flag = false ;
Integer result = 0 ;
String type = "" , patientMainStr = null ;
String type = "" , patientMainStr = null ,remark = null ;
ArchiveMaster archiveMaster ;
long startTime = System . currentTimeMillis ( ) ;
Date xmlCreateTime = null ;
@ -63,7 +65,6 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
if ( messageDto ! = null ) {
archiveMaster = archiveMasterRepository . findByInpNoAndVisitIdAndIsValid ( messageDto . getInpNo ( ) , messageDto . getVisitId ( ) , 0 ) ;
if ( archiveMaster ! = null ) {
// 区分类型
String reportType = messageDto . getType ( ) ;
if ( reportType ! = null ) {
@ -81,46 +82,69 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
}
messageDto . setType ( type ) ;
}
// 根据住院次数 患者id 查询是否存在记录 如果存在 那么就作废
messageDto . setApplyId ( messageDto . getInpNo ( ) + "-" + messageDto . getVisitId ( ) + "-nurse-" + messageDto . getCommitTime ( ) ) ;
if ( ! ( archiveMaster . getArchiveState ( ) . equals ( "初审" ) | | archiveMaster . getArchiveState ( ) . equals ( "已归档" ) | |
if ( ! ( archiveMaster . getArchiveState ( ) . equals ( "初审" ) | | archiveMaster . getArchiveState ( ) . equals ( "已归档" ) | |
archiveMaster . getArchiveState ( ) . equals ( "复审退回" ) ) ) {
String temp = archiveDetailService . updateAllFlag ( messageDto . getApplyId ( ) , messageDto . getSource ( ) ) ;
if ( temp ! = null ) {
messageLog . setRemark ( temp ) ;
String addFlag = messageDto . getAddFlag ( ) ;
if ( Objects . equals ( addFlag , "delete" ) | | Objects . equals ( addFlag , "update" ) | | Objects . equals ( addFlag , "insert" ) ) {
if ( Objects . equals ( messageDto . getIsOld ( ) , "0" ) ) {
if ( messageDto . getType ( ) . equals ( "20" ) ) {
messageDto . setType ( "8" ) ;
}
messageDto . setApplyId ( messageDto . getInpNo ( ) + "-" + messageDto . getVisitId ( ) + "-nurse-" + messageDto . getCommitTime ( ) ) ;
remark = archiveDetailService . updateAllFlag ( messageDto . getApplyId ( ) , messageDto . getSource ( ) ) ;
} else if ( Objects . equals ( messageDto . getIsOld ( ) , "1" ) ) {
ArchiveDetail archiveDetail = archiveDetailService . isExit ( archiveMaster . getId ( ) , messageDto . getType ( ) , messageDto . getSource ( ) , messageDto . getApplyId ( ) ) ;
if ( archiveDetail = = null & & ! Objects . equals ( addFlag , "insert" ) ) {
remark = messageDto . getSubType ( ) + "没有生成对应的文件不能" + addFlag ;
} else {
if ( Objects . equals ( addFlag , "delete" ) ) {
if ( ! archiveDetailService . delete ( archiveDetail . getId ( ) ) ) {
remark = messageDto . getSubType ( ) + "删除失败!" ;
} else {
remark = "ok" ;
}
}
}
} else {
remark = "数据有问题" ;
}
} else {
patientMainStr = JSON . toJSONString ( new PatientMainDto ( messageDto . getInpNo ( ) , messageDto . getVisitId ( ) ) , SerializerFeature . WriteMapNullValue ) ;
result = 1 ;
flag = true ;
remark = "标识不包括insert/update/delete" ;
}
} else {
messageLog . setRemark ( "该病历已" + archiveMaster . getArchiveState ( ) + ",不再接收" ) ;
remark = "该病历已" + archiveMaster . getArchiveState ( ) + ",不再接收" ;
}
}
// 保存消息从属表
xmlCreateTime = messageDto . getXmlCreateTime ( ) ;
} else {
messageLog . setRemark ( "没有入院消息。。" ) ;
remark = "没有入院消息" ;
}
} else {
messageLog . setRemark ( "传过来的消息无法解析。。" ) ;
remark = "传过来的消息无法解析" ;
}
if ( remark = = null | | remark . equals ( "ok" ) ) {
result = 1 ;
flag = true ;
patientMainStr = JSON . toJSONString ( new PatientMainDto ( messageDto . getInpNo ( ) , messageDto . getVisitId ( ) ) , SerializerFeature . WriteMapNullValue ) ;
}
// 4、判断是否成功 失败 的原因 我们插入报错 然后无法解析xml 传入参数为null
outContent = AnalysisService . getReturnResult ( flag ) ;
outContent = AnalysisService . getReturnResult ( flag ,remark );
// 更新日志表
long endTime = System . currentTimeMillis ( ) ;
messageLog . setValue ( outContent , result , messageDto = = null ? "" : JSON . toJSONString ( messageDto ) , xmlCreateTime , ( endTime - startTime ) , new Date ( ) , type );
messageLog . setValue ( outContent , result , messageDto = = null ? "" : JSON . toJSONString ( messageDto ) , xmlCreateTime , ( endTime - startTime ) , new Date ( ) , type ,remark );
messageService . save ( messageLog ) ;
if ( flag ) {
if ( remark = = null & & flag ) {
messageSubordinateService . save ( new MessageSubordinate ( messageLog . getId ( ) , patientMainStr , JSON . toJSONString ( messageLog ) ) ) ;
}
logger . info ( "-----------------------护理总时长:" + ( endTime - startTime ) + "-------------------------" ) ;
} catch ( Exception e ) {
try {
logger . error ( "出错咯!错误信息为{},以及错误行数为:{}" , e , e . getStackTrace ( ) [ 0 ] ) ;
return AnalysisService . getReturnResult ( false );
return AnalysisService . getReturnResult ( false ,e . toString ( ) );
} catch ( Exception e1 ) {
logger . error ( "出错咯!错误信息为{},以及错误行数为:{}" , e1 , e1 . getStackTrace ( ) [ 0 ] ) ;
return outContent ;
@ -136,7 +160,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
// 1、定义变量
boolean flag = false ;
Integer result = 0 ;
String type = "" , patientMainStr = null ;
String type = "" , patientMainStr = null ,remark = null ;
ArchiveMaster archiveMaster ;
long startTime = System . currentTimeMillis ( ) ;
Date xmlCreateTime = null ;
@ -165,44 +189,84 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
}
messageDto . setType ( type ) ;
}
// 根据住院次数 患者id 查询是否存在记录 如果存在 那么就作废
messageDto . setApplyId ( messageDto . getInpNo ( ) + "-" + messageDto . getVisitId ( ) + "-doctor-" + messageDto . getCommitTime ( ) ) ;
if ( ! ( archiveMaster . getArchiveState ( ) . equals ( "初审" ) | | archiveMaster . getArchiveState ( ) . equals ( "已归档" ) | |
if ( ! ( archiveMaster . getArchiveState ( ) . equals ( "初审" ) | | archiveMaster . getArchiveState ( ) . equals ( "已归档" ) | |
archiveMaster . getArchiveState ( ) . equals ( "复审退回" ) ) ) {
String temp = archiveDetailService . updateAllFlag ( messageDto . getApplyId ( ) , messageDto . getSource ( ) ) ;
if ( temp ! = null ) {
messageLog . setRemark ( temp ) ;
} else {
result = 1 ;
flag = true ;
patientMainStr = JSON . toJSONString ( new PatientMainDto ( messageDto . getInpNo ( ) , messageDto . getVisitId ( ) ) , SerializerFeature . WriteMapNullValue ) ;
String addFlag = messageDto . getAddFlag ( ) ;
if ( Objects . equals ( addFlag , "delete" ) | | Objects . equals ( addFlag , "update" ) | | Objects . equals ( addFlag , "insert" ) ) {
if ( Objects . equals ( messageDto . getIsOld ( ) , "0" ) ) {
messageDto . setApplyId ( messageDto . getInpNo ( ) + "-" + messageDto . getVisitId ( ) + "-doctor-" + messageDto . getCommitTime ( ) ) ;
remark = archiveDetailService . updateAllFlag ( messageDto . getApplyId ( ) , messageDto . getSource ( ) ) ;
} else if ( Objects . equals ( messageDto . getIsOld ( ) , "1" ) ) {
ArchiveDetail archiveDetail = archiveDetailService . isExit ( archiveMaster . getId ( ) , messageDto . getType ( ) , messageDto . getSource ( ) , messageDto . getApplyId ( ) ) ;
if ( archiveDetail = = null & & ! Objects . equals ( addFlag , "insert" ) ) {
remark = messageDto . getSubType ( ) + "没有生成对应的文件不能" + addFlag ;
} else {
if ( Objects . equals ( addFlag , "delete" ) ) {
if ( ! archiveDetailService . delete ( archiveDetail . getId ( ) ) ) {
remark = messageDto . getSubType ( ) + "删除失败!" ;
} else {
remark = "ok" ;
}
}
}
} else {
remark = "数据有问题" ;
}
} else {
remark = "标识不包括insert/update/delete" ;
}
} else {
messageLog . setRemark ( "该病历已" + archiveMaster . getArchiveState ( ) + ",不再接收" ) ;
remark = "该病历已" + archiveMaster . getArchiveState ( ) + ",不再接收" ;
}
// 根据住院次数 患者id 查询是否存在记录 如果存在 那么就作废
// messageDto.setApplyId(messageDto.getInpNo() + "-" + messageDto.getVisitId() + "-doctor-" + messageDto.getCommitTime());
// if((archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档") ||
// archiveMaster.getArchiveState().equals("复审退回") )){
// String temp = archiveDetailService.updateAllFlag(messageDto.getApplyId(), messageDto.getSource());
// if (temp != null) {
// messageLog.setRemark(temp);
// } else {
// result = 1;
// flag = true;
// patientMainStr = JSON.toJSONString(new PatientMainDto(messageDto.getInpNo(), messageDto.getVisitId()), SerializerFeature.WriteMapNullValue);
// }
// messageLog.setRemark("该病历已"+archiveMaster.getArchiveState()+",不再接收");
// }
// else{
//
// }
}
xmlCreateTime = messageDto . getXmlCreateTime ( ) ;
} else {
messageLog . setRemark ( "没有入院消息。。" ) ;
remark = "没有入院消息。。" ;
}
} else {
messageLog . setRemark ( "传过来的消息无法解析。。" ) ;
remark = "传过来的消息无法解析。。" ;
}
if ( remark = = null | | remark . equals ( "ok" ) ) {
result = 1 ;
flag = true ;
patientMainStr = JSON . toJSONString ( new PatientMainDto ( messageDto . getInpNo ( ) , messageDto . getVisitId ( ) ) , SerializerFeature . WriteMapNullValue ) ;
}
// 4、判断是否成功 失败 的原因 我们插入报错 然后无法解析xml 传入参数为null
outContent = AnalysisService . getReturnResult ( flag ) ;
outContent = AnalysisService . getReturnResult ( flag ,remark );
// 更新日志表
long endTime = System . currentTimeMillis ( ) ;
messageLog . setValue ( outContent , result , messageDto = = null ? "" : JSON . toJSONString ( messageDto ) , xmlCreateTime , ( endTime - startTime ) , new Date ( ) , type ) ;
messageLog . setValue ( outContent , result , messageDto = = null ? "" : JSON . toJSONString ( messageDto ) , xmlCreateTime , ( endTime - startTime ) , new Date ( ) , type ,remark );
messageService . save ( messageLog ) ;
if ( flag ) {
if ( remark = = null & & flag ) {
messageSubordinateService . save ( new MessageSubordinate ( messageLog . getId ( ) , patientMainStr , JSON . toJSONString ( messageLog ) ) ) ;
}
logger . info ( "-----------------------医生总时长:" + ( endTime - startTime ) + "-------------------------" ) ;
} catch ( Exception e ) {
try {
logger . error ( "出错咯!错误信息为{},以及错误行数为:{}" , e , e . getStackTrace ( ) [ 0 ] ) ;
return AnalysisService . getReturnResult ( false );
return AnalysisService . getReturnResult ( false ,e . toString ( ) );
} catch ( Exception e1 ) {
logger . error ( "出错咯!错误信息为{},以及错误行数为:{}" , e1 , e1 . getStackTrace ( ) [ 0 ] ) ;
}