|
|
|
@ -18,6 +18,8 @@ import com.ann.demo.utils.XMLUtils;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
import javax.jws.WebService;
|
|
|
|
|
import java.util.Date;
|
|
|
|
@ -63,19 +65,19 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
|
|
|
|
|
boolean flag = false;
|
|
|
|
|
Integer result = 2;
|
|
|
|
|
Date xmlCreateTime = null;
|
|
|
|
|
MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.INP_SUMMARY, new Date(),WebserviceId.INP_SUMMARY);
|
|
|
|
|
MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.INP_SUMMARY, new Date(), WebserviceId.INP_SUMMARY);
|
|
|
|
|
MedicalRecordHomepageCache medicalRecordHomepageCache = null;
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
// 2、 解析
|
|
|
|
|
MedicalRecordHomepage medicalRecordHomepage = XMLUtils.xmlStrToObject1(xmlStr, MedicalRecordHomepage.class);
|
|
|
|
|
if (medicalRecordHomepage != null) {
|
|
|
|
|
if(medicalRecordHomepage.getCommonTable() != null ){
|
|
|
|
|
if(medicalRecordHomepage.getCommonTable().getYZY001() != null &&
|
|
|
|
|
medicalRecordHomepage.getCommonTable().getYZY002() != null){
|
|
|
|
|
ArchiveMaster archiveMaster = archiveMasterService.findByPatientIdAndVisitIdAndIsValid(medicalRecordHomepage.getCommonTable().getYZY001() , medicalRecordHomepage.getCommonTable().getYZY002() );
|
|
|
|
|
if(archiveMaster != null){
|
|
|
|
|
if (medicalRecordHomepage.getCommonTable() != null) {
|
|
|
|
|
if (medicalRecordHomepage.getCommonTable().getYZY001() != null &&
|
|
|
|
|
medicalRecordHomepage.getCommonTable().getYZY002() != null) {
|
|
|
|
|
ArchiveMaster archiveMaster = archiveMasterService.findByPatientIdAndVisitIdAndIsValid(medicalRecordHomepage.getCommonTable().getYZY001(), medicalRecordHomepage.getCommonTable().getYZY002());
|
|
|
|
|
if (archiveMaster != null) {
|
|
|
|
|
masterId = archiveMaster.getId();
|
|
|
|
|
medicalRecordHomepageCache = medicalRecordHomepageCacheService.handleMedicalRecordHomepageCache(archiveMaster.getId(),medicalRecordHomepage);
|
|
|
|
|
medicalRecordHomepageCache = medicalRecordHomepageCacheService.handleMedicalRecordHomepageCache(archiveMaster.getId(), medicalRecordHomepage);
|
|
|
|
|
if (medicalRecordHomepageCache != null) {
|
|
|
|
|
if (medicalRecordHomepageCacheService.save(medicalRecordHomepageCache)) {
|
|
|
|
|
flag = true;
|
|
|
|
@ -86,32 +88,32 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
|
|
|
|
|
} else {
|
|
|
|
|
remark = "构建病案首页缓存出错";
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "患者ID或者住院次数为空";
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "没有入院信息";
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "解析公共表失败";
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "消息解析错误";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
messageLog.setRemark(remark);
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag,remark);
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag, remark);
|
|
|
|
|
// 更新日志表
|
|
|
|
|
long endTime = System.currentTimeMillis();
|
|
|
|
|
messageLog.setValue(masterId,outContent, result, medicalRecordHomepageCache == null ? null : JSON.toJSONString(medicalRecordHomepageCache), xmlCreateTime, (endTime - startTime), new Date(), AliasName.MEDICAL_RECORD_HOMEPAGE,remark);
|
|
|
|
|
messageLog.setValue(masterId, outContent, result, medicalRecordHomepageCache == null ? null : JSON.toJSONString(medicalRecordHomepageCache), xmlCreateTime, (endTime - startTime), new Date(), AliasName.MEDICAL_RECORD_HOMEPAGE, remark);
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
logger.info("-----------------------病案首页总用时长:" + (endTime - startTime) + "-------------------------");
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
try {
|
|
|
|
|
outContent = AnalysisService.getReturnResult(false,e.getMessage());
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}","InpSummary",e.getMessage());
|
|
|
|
|
outContent = AnalysisService.getReturnResult(false, e.getMessage());
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "InpSummary", e.getMessage());
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}","InpSummary",ex.getMessage());
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "InpSummary", ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return outContent;
|
|
|
|
@ -126,37 +128,37 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
|
|
|
|
|
// 1、定义变量
|
|
|
|
|
boolean flag = false;
|
|
|
|
|
Integer result = 2;
|
|
|
|
|
String type = "", patientMainStr = null,archiveMasterId = null;
|
|
|
|
|
String type = "", patientMainStr = null, archiveMasterId = null;
|
|
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
|
|
Date xmlCreateTime = null;
|
|
|
|
|
MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.HANDNUMBNESS_REPORT, new Date(),WebserviceId.HANDNUMBNESS_REPORT);
|
|
|
|
|
MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.HANDNUMBNESS_REPORT, new Date(), WebserviceId.HANDNUMBNESS_REPORT);
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
|
|
|
|
|
// 2、 解析
|
|
|
|
|
MessageDto messageDto = XMLUtils.xpathToBean(xmlStr, HandNumbnessReport.class, InterfaceName.HANDNUMBNESS_REPORT);
|
|
|
|
|
if (messageDto != null) {
|
|
|
|
|
archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId());
|
|
|
|
|
if(archiveMasterId != null){
|
|
|
|
|
if (archiveMasterId != null) {
|
|
|
|
|
messageLog.setMasterId(archiveMasterId);
|
|
|
|
|
/*2021-2-1 等围手术期单接班者有了电子签名 就可以开始实行无纸化*/
|
|
|
|
|
//2021-07-08 已取消围手术期单限制
|
|
|
|
|
// 保存消息从属表
|
|
|
|
|
patientMainStr = JSON.toJSONString(new PatientMainDto(messageDto.getInpNo(), messageDto.getVisitId()), SerializerFeature.WriteMapNullValue);
|
|
|
|
|
result = 1;
|
|
|
|
|
flag = true;
|
|
|
|
|
// 保存消息从属表
|
|
|
|
|
patientMainStr = JSON.toJSONString(new PatientMainDto(messageDto.getInpNo(), messageDto.getVisitId()), SerializerFeature.WriteMapNullValue);
|
|
|
|
|
result = 1;
|
|
|
|
|
flag = true;
|
|
|
|
|
|
|
|
|
|
/*2021-2-1 等围手术期单接班者有了电子签名 就可以开始实行无纸化*/
|
|
|
|
|
|
|
|
|
|
// 2021-2-2 因为手麻不愿意处理,啊啊啊,只能由我处理
|
|
|
|
|
String operationCount = "1";
|
|
|
|
|
if(messageDto.getOperationCount() != null && !Objects.equals(messageDto.getOperationCount(),"")){
|
|
|
|
|
if (messageDto.getOperationCount() != null && !Objects.equals(messageDto.getOperationCount(), "")) {
|
|
|
|
|
operationCount = messageDto.getOperationCount();
|
|
|
|
|
}
|
|
|
|
|
messageDto.setApplyId(messageDto.getApplyId()+"_"+operationCount);
|
|
|
|
|
messageDto.setApplyId(messageDto.getApplyId() + "_" + operationCount);
|
|
|
|
|
|
|
|
|
|
type = messageDto.getType();
|
|
|
|
|
xmlCreateTime = messageDto.getXmlCreateTime();
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "没有入院消息";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -165,21 +167,21 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 4、判断是否成功 失败 的原因 我们插入报错 然后无法解析xml 传入参数为null
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag,remark);
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag, remark);
|
|
|
|
|
// 更新日志表
|
|
|
|
|
long endTime = System.currentTimeMillis();
|
|
|
|
|
messageLog.setValue(archiveMasterId,outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type,remark);
|
|
|
|
|
messageLog.setValue(archiveMasterId, outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type, remark);
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
if (flag) {
|
|
|
|
|
messageSubordinateService.save(new MessageSubordinate(messageLog.getId(), patientMainStr, JSON.toJSONString(messageLog)));
|
|
|
|
|
}
|
|
|
|
|
logger.info("-----------------------麻醉记录单总用时长:" + (endTime - startTime) + "-------------------------");
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
try {
|
|
|
|
|
outContent = AnalysisService.getReturnResult(false,remark);
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}","handNumbnessReport",e.getMessage());
|
|
|
|
|
outContent = AnalysisService.getReturnResult(false, remark);
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "handNumbnessReport", e.getMessage());
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}","handNumbnessReport",ex.getMessage());
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "handNumbnessReport", ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return outContent;
|
|
|
|
@ -188,71 +190,71 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
|
|
|
|
|
@Override
|
|
|
|
|
public String ICUReport(String xmlStr) {
|
|
|
|
|
String outContent = "失败";
|
|
|
|
|
String remark= null;
|
|
|
|
|
String remark = null;
|
|
|
|
|
MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.ICU_REPORT, new Date(), WebserviceId.ICU_REPORT);
|
|
|
|
|
try {
|
|
|
|
|
// 1、定义变量
|
|
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
|
|
boolean flag = false;
|
|
|
|
|
Integer result = 0;
|
|
|
|
|
String type = "", patientMainStr = null,archiveMasterId = null;
|
|
|
|
|
String type = "", patientMainStr = null, archiveMasterId = null;
|
|
|
|
|
Date xmlCreateTime = null;
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
// 2、 解析
|
|
|
|
|
MessageDto messageDto = XMLUtils.xpathToBean(xmlStr, ICUReport.class, InterfaceName.ICU_REPORT);
|
|
|
|
|
if (messageDto != null) {
|
|
|
|
|
archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId());
|
|
|
|
|
if(archiveMasterId != null){
|
|
|
|
|
if (archiveMasterId != null) {
|
|
|
|
|
String addFlag = messageDto.getAddFlag();
|
|
|
|
|
messageDto.setApplyId(messageDto.getDetailType()+"~"+messageDto.getApplyId());
|
|
|
|
|
messageDto.setApplyId(messageDto.getDetailType() + "~" + messageDto.getApplyId());
|
|
|
|
|
//3、做增删改 增删新增从属 删除不新增
|
|
|
|
|
if(Objects.equals(addFlag,"insert") || Objects.equals(addFlag,"update") || Objects.equals(addFlag,"delete")){
|
|
|
|
|
if (Objects.equals(addFlag, "insert") || Objects.equals(addFlag, "update") || Objects.equals(addFlag, "delete")) {
|
|
|
|
|
ArchiveDetail archiveDetail = archiveDetailService.isExit(archiveMasterId, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId());
|
|
|
|
|
if(archiveDetail == null && !Objects.equals(addFlag,"insert")){
|
|
|
|
|
remark = messageDto.getDetailType()+"没有生成对应的文件不能"+ addFlag;
|
|
|
|
|
}else{
|
|
|
|
|
if(Objects.equals(addFlag,"delete")){
|
|
|
|
|
if(!archiveDetailService.delete(archiveDetail.getId())){
|
|
|
|
|
remark = messageDto.getSubType()+"删除失败!";
|
|
|
|
|
}else{
|
|
|
|
|
if (archiveDetail == null && !Objects.equals(addFlag, "insert")) {
|
|
|
|
|
remark = messageDto.getDetailType() + "没有生成对应的文件不能" + addFlag;
|
|
|
|
|
} else {
|
|
|
|
|
if (Objects.equals(addFlag, "delete")) {
|
|
|
|
|
if (!archiveDetailService.delete(archiveDetail.getId())) {
|
|
|
|
|
remark = messageDto.getSubType() + "删除失败!";
|
|
|
|
|
} else {
|
|
|
|
|
remark = "ok";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "标识不包括insert/update/delete";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
xmlCreateTime = messageDto.getXmlCreateTime();
|
|
|
|
|
type = messageDto.getType();
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "没有入院消息";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
remark = "传过来的消息无法解析";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(remark == null || remark.equals("ok") ){
|
|
|
|
|
if (remark == null || remark.equals("ok")) {
|
|
|
|
|
result = 1;
|
|
|
|
|
flag = true;
|
|
|
|
|
patientMainStr = JSON.toJSONString(new PatientMainDto(messageDto.getInpNo(), messageDto.getVisitId()), SerializerFeature.WriteMapNullValue);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag,remark);
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag, remark);
|
|
|
|
|
long endTime = System.currentTimeMillis();
|
|
|
|
|
messageLog.setValue(archiveMasterId,outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type,remark);
|
|
|
|
|
messageLog.setValue(archiveMasterId, outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type, remark);
|
|
|
|
|
// 4、更新消息表
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
// 5、根据条件插入消息从属表
|
|
|
|
|
if (remark == null && flag) {
|
|
|
|
|
messageSubordinateService.save(new MessageSubordinate(messageLog.getId(), patientMainStr, JSON.toJSONString(messageLog)));
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
try {
|
|
|
|
|
outContent = AnalysisService.getReturnResult(false,remark);
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}","ICUReport",e.getMessage());
|
|
|
|
|
outContent = AnalysisService.getReturnResult(false, remark);
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "ICUReport", e.getMessage());
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}","ICUReport",ex.getMessage());
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "ICUReport", ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return outContent;
|
|
|
|
@ -267,17 +269,17 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
|
|
|
|
|
boolean flag = false;
|
|
|
|
|
Integer result = 0;
|
|
|
|
|
String type = "";
|
|
|
|
|
String patientMainStr = null,archiveMasterId = null;
|
|
|
|
|
String patientMainStr = null, archiveMasterId = null;
|
|
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
|
|
Date xmlCreateTime = null;
|
|
|
|
|
MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.BLOODAPPLY_REPORT, new Date(),WebserviceId.BLOODAPPLY_REPORT);
|
|
|
|
|
MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.BLOODAPPLY_REPORT, new Date(), WebserviceId.BLOODAPPLY_REPORT);
|
|
|
|
|
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
// 2、 解析
|
|
|
|
|
MessageDto messageDto = XMLUtils.xpathToBean(xmlStr, BloodApply.class, InterfaceName.BLOODAPPLY_REPORT);
|
|
|
|
|
if (messageDto != null) {
|
|
|
|
|
archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId());
|
|
|
|
|
if(archiveMasterId != null){
|
|
|
|
|
if (archiveMasterId != null) {
|
|
|
|
|
// 判断是否作废
|
|
|
|
|
if (Objects.equals(messageDto.getAddFlag(), "DELETE")) {
|
|
|
|
|
remark = archiveDetailService.updateFlag(messageDto.getApplyId());
|
|
|
|
@ -291,7 +293,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
|
|
|
|
|
result = 1;
|
|
|
|
|
flag = true;
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
remark = "没有入院消息";
|
|
|
|
|
}
|
|
|
|
|
xmlCreateTime = messageDto.getXmlCreateTime();
|
|
|
|
@ -299,21 +301,153 @@ public class HomepageDictionaryImpl implements HomepageDictionary {
|
|
|
|
|
} else {
|
|
|
|
|
remark = "传过来的消息无法解析";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag,remark);
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag, remark);
|
|
|
|
|
// 更新日志表
|
|
|
|
|
long endTime = System.currentTimeMillis();
|
|
|
|
|
messageLog.setValue(archiveMasterId,outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type,remark);
|
|
|
|
|
messageLog.setValue(archiveMasterId, outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type, remark);
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
if (flag) {
|
|
|
|
|
messageSubordinateService.save(new MessageSubordinate(messageLog.getId(), patientMainStr, JSON.toJSONString(messageLog)));
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
try {
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "BloodTransfusionUrl", e.getMessage());
|
|
|
|
|
return AnalysisService.getReturnResult(false, remark);
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "BloodTransfusionUrl", ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return outContent;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// @Override
|
|
|
|
|
// public String BloodSugar(String xmlStr) {
|
|
|
|
|
// String outContent = "失败";
|
|
|
|
|
// String remark = null;
|
|
|
|
|
// // 1、定义变量
|
|
|
|
|
// boolean flag = false;
|
|
|
|
|
// Integer result = 0;
|
|
|
|
|
// String type = "";
|
|
|
|
|
// String patientMainStr = null, archiveMasterId = null;
|
|
|
|
|
// long startTime = System.currentTimeMillis();
|
|
|
|
|
// Date xmlCreateTime = null;
|
|
|
|
|
// MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.Blood_Sugar, new Date(), WebserviceId.Blood_Sugar);
|
|
|
|
|
// messageService.save(messageLog);
|
|
|
|
|
// // 2、 解析
|
|
|
|
|
// try {
|
|
|
|
|
// MessageDto messageDto = XMLUtils.xpathToBean(xmlStr, BloodSugarVo.class, InterfaceName.Blood_Sugar);
|
|
|
|
|
// //判断是否解析成功
|
|
|
|
|
// if (!ObjectUtils.isEmpty(messageDto)) {
|
|
|
|
|
// archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId());
|
|
|
|
|
// //判断是否存在当前患者
|
|
|
|
|
// if (!StringUtils.isEmpty(archiveMasterId)) {
|
|
|
|
|
// messageDto.setApplyId(messageDto.getDetailType() + "~" + messageDto.getApplyId());
|
|
|
|
|
// // 保存消息从属表
|
|
|
|
|
// PatientMainDto patientMainDto = new PatientMainDto(messageDto.getInpNo(), messageDto.getVisitId());
|
|
|
|
|
// patientMainStr = JSON.toJSONString(patientMainDto, SerializerFeature.WriteMapNullValue);
|
|
|
|
|
// if (remark == null) {
|
|
|
|
|
// result = 1;
|
|
|
|
|
// flag = true;
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// remark = "没有入院消息";
|
|
|
|
|
// }
|
|
|
|
|
// xmlCreateTime = messageDto.getXmlCreateTime();
|
|
|
|
|
// type = messageDto.getType();
|
|
|
|
|
// } else {
|
|
|
|
|
// remark = "传过来的消息无法解析";
|
|
|
|
|
// }
|
|
|
|
|
// outContent = AnalysisService.getReturnResult(flag, remark);
|
|
|
|
|
// // 更新日志表
|
|
|
|
|
// long endTime = System.currentTimeMillis();
|
|
|
|
|
// messageLog.setValue(archiveMasterId, outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type, remark);
|
|
|
|
|
// messageService.save(messageLog);
|
|
|
|
|
// if (flag) {
|
|
|
|
|
// messageSubordinateService.save(new MessageSubordinate(messageLog.getId(), patientMainStr, JSON.toJSONString(messageLog)));
|
|
|
|
|
// }
|
|
|
|
|
// } catch (Exception e) {
|
|
|
|
|
// try {
|
|
|
|
|
// logger.error("当前参数:{},报错信息:{}", "BloodTransfusionUrl", e.getMessage());
|
|
|
|
|
// return AnalysisService.getReturnResult(false, remark);
|
|
|
|
|
// } catch (Exception ex) {
|
|
|
|
|
// logger.error("当前参数:{},报错信息:{}", "BloodTransfusionUrl", ex.getMessage());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// return outContent;
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String BloodSugar(String xmlStr) {
|
|
|
|
|
String outContent = "失败";
|
|
|
|
|
String remark = null;
|
|
|
|
|
MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.Blood_Sugar, new Date(), WebserviceId.Blood_Sugar);
|
|
|
|
|
try {
|
|
|
|
|
// 1、定义变量
|
|
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
|
|
boolean flag = false;
|
|
|
|
|
Integer result = 0;
|
|
|
|
|
String type = "", patientMainStr = null, archiveMasterId = null;
|
|
|
|
|
Date xmlCreateTime = null;
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
// 2、 解析
|
|
|
|
|
MessageDto messageDto = XMLUtils.xpathToBean(xmlStr, ICUReport.class, InterfaceName.Blood_Sugar);
|
|
|
|
|
if (messageDto != null) {
|
|
|
|
|
archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId());
|
|
|
|
|
if (archiveMasterId != null) {
|
|
|
|
|
String addFlag = messageDto.getAddFlag();
|
|
|
|
|
messageDto.setApplyId(messageDto.getDetailType() + "~" + messageDto.getApplyId());
|
|
|
|
|
//3、做增删改 增删新增从属 删除不新增
|
|
|
|
|
if (Objects.equals(addFlag, "insert") || Objects.equals(addFlag, "update") || Objects.equals(addFlag, "delete")) {
|
|
|
|
|
ArchiveDetail archiveDetail = archiveDetailService.isExit(archiveMasterId, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId());
|
|
|
|
|
if (archiveDetail == null && !Objects.equals(addFlag, "insert")) {
|
|
|
|
|
remark = messageDto.getDetailType() + "没有生成对应的文件不能" + addFlag;
|
|
|
|
|
} else {
|
|
|
|
|
if (Objects.equals(addFlag, "delete")) {
|
|
|
|
|
if (!archiveDetailService.delete(archiveDetail.getId())) {
|
|
|
|
|
remark = messageDto.getSubType() + "删除失败!";
|
|
|
|
|
} else {
|
|
|
|
|
remark = "ok";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
remark = "标识不包括insert/update/delete";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
xmlCreateTime = messageDto.getXmlCreateTime();
|
|
|
|
|
type = messageDto.getType();
|
|
|
|
|
} else {
|
|
|
|
|
remark = "没有入院消息";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
remark = "传过来的消息无法解析";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (remark == null || remark.equals("ok")) {
|
|
|
|
|
result = 1;
|
|
|
|
|
flag = true;
|
|
|
|
|
patientMainStr = JSON.toJSONString(new PatientMainDto(messageDto.getInpNo(), messageDto.getVisitId()), SerializerFeature.WriteMapNullValue);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
outContent = AnalysisService.getReturnResult(flag, remark);
|
|
|
|
|
long endTime = System.currentTimeMillis();
|
|
|
|
|
messageLog.setValue(archiveMasterId, outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type, remark);
|
|
|
|
|
// 4、更新消息表
|
|
|
|
|
messageService.save(messageLog);
|
|
|
|
|
// 5、根据条件插入消息从属表
|
|
|
|
|
if (remark == null && flag) {
|
|
|
|
|
messageSubordinateService.save(new MessageSubordinate(messageLog.getId(), patientMainStr, JSON.toJSONString(messageLog)));
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
try {
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}","BloodTransfusionUrl",e.getMessage());
|
|
|
|
|
return AnalysisService.getReturnResult(false,remark);
|
|
|
|
|
outContent = AnalysisService.getReturnResult(false, remark);
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "ICUReport", e.getMessage());
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}","BloodTransfusionUrl",ex.getMessage());
|
|
|
|
|
logger.error("当前参数:{},报错信息:{}", "ICUReport", ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return outContent;
|
|
|
|
|