血糖接口

master
linjj 1 year ago
parent dcd74a8ee0
commit c931abee6f

@ -47,6 +47,11 @@ public class AliasName {
// ICU报告 // ICU报告
public static final String ICU_REPORT = "121"; public static final String ICU_REPORT = "121";
// 血糖报告
public static final String BloodSugar = "140";
// 其他类型 目前来说 是手麻系统的其他三个 // 其他类型 目前来说 是手麻系统的其他三个
// public static final String OTHER = "18"; // public static final String OTHER = "18";

@ -107,6 +107,10 @@ public class InterfaceName {
* 2 * 2
*/ */
public static final String NURSE_DATA = "NurseData"; public static final String NURSE_DATA = "NurseData";
/**
*
*/
public static final String Blood_Sugar="血糖系统";
/** /**
* lis * lis

@ -102,6 +102,10 @@ public class WebserviceId {
* *
*/ */
public static final String BLOODAPPLY_REPORT = "18"; public static final String BLOODAPPLY_REPORT = "18";
/**
*
*/
public static final String Blood_Sugar="13";
/** /**
* ReceiveDict * ReceiveDict

@ -0,0 +1,57 @@
package com.ann.demo.entity.interfaceEntity;
import lombok.Data;
import java.util.Date;
/**
* @ClassName BloodSugarVo
* @Description
* @Author linjj
* @Date 2024/2/18 16:41
* @Version 1.0
*/
@Data
public class BloodSugarVo {
// private String inpNo;
//
// private String visitId;
//
// private String patientId;
//
// private String deptCode;
//
// private String deptName;
//
// private String repotr;
//
// private String pdfUrl;
//
// private String specialorderDate;
//
// private String pushTime;
//
// private String status;
//
// private String sort;
private Date xmlCreateTime;
private String inpNo;
private String visitId;
private String patientId;
private String deptNo;
private String deptName;
private String reportType;
private String reportAddress;
}

@ -19,7 +19,7 @@ public interface HomepageDictionary {
@WebMethod @WebMethod
String BloodTransfusionUrl(@WebParam(name = "xmlStr") String xmlStr); String BloodTransfusionUrl(@WebParam(name = "xmlStr") String xmlStr);
String BloodSugar(@WebParam(name = "xmlStr") String xmlStr);
// @WebMethod // @WebMethod
// String NurseData(@WebParam(name = "xmlStr") String xmlStr); // String NurseData(@WebParam(name = "xmlStr") String xmlStr);
// //

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

@ -30,7 +30,7 @@ public class SchedulerAllJob {
private void scheduleJob3(Scheduler scheduler) throws SchedulerException { private void scheduleJob3(Scheduler scheduler) throws SchedulerException {
JobDetail jobDetail = JobBuilder.newJob(ScheduledJob3.class).withIdentity("job3", "group1").build(); JobDetail jobDetail = JobBuilder.newJob(ScheduledJob3.class).withIdentity("job3", "group1").build();
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/15 * * * * ?"); CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0 0 0 * * ?");
// 每5分钟执行一次 // 每5分钟执行一次
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("job3", "group1").withSchedule(scheduleBuilder).build(); CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("job3", "group1").withSchedule(scheduleBuilder).build();
scheduler.scheduleJob(jobDetail, cronTrigger); scheduler.scheduleJob(jobDetail, cronTrigger);

@ -60,6 +60,14 @@ public class XMLUtils {
@Value("${file.ICUReportPath}") @Value("${file.ICUReportPath}")
private String ICUReportPathTemp; private String ICUReportPathTemp;
@Value("${file.ICUReportPath}")
private String BloodSugarPathTemp;
//血糖
public static String BloodSugarPath;
// 输血单 // 输血单
public static String bloodApplyPath; public static String bloodApplyPath;
@Value("${file.bloodApplyPath}") @Value("${file.bloodApplyPath}")
@ -71,6 +79,7 @@ public class XMLUtils {
handNumbnessReportPath = handNumbnessReportPathTemp; handNumbnessReportPath = handNumbnessReportPathTemp;
ICUReportPath = ICUReportPathTemp; ICUReportPath = ICUReportPathTemp;
bloodApplyPath = bloodApplyPathTemp; bloodApplyPath = bloodApplyPathTemp;
BloodSugarPath=BloodSugarPathTemp;
} }
private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss"); private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
@ -209,6 +218,9 @@ public class XMLUtils {
case InterfaceName.BLOODAPPLY_REPORT: // 输血单 case InterfaceName.BLOODAPPLY_REPORT: // 输血单
messageDto = new MessageDto(BloodApply.class.getName(), new BloodApply(), AliasName.BLOODAPPLY_REPORT, bloodApplyPath, source); messageDto = new MessageDto(BloodApply.class.getName(), new BloodApply(), AliasName.BLOODAPPLY_REPORT, bloodApplyPath, source);
break; break;
case InterfaceName.Blood_Sugar: //血糖Blood_Sugar
messageDto = new MessageDto(BloodApply.class.getName(), new BloodApply(), AliasName.BloodSugar, BloodSugarPath, source);
break;
} }
return messageDto; return messageDto;
} }

@ -11,9 +11,9 @@ spring:
# hibernate: # hibernate:
# ddl-auto: update # ddl-auto: update
# database-platform: org.hibernate.dialect.MySQL5InnoDBDialect # database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY url: jdbc:sqlserver://localhost:1433;DatabaseName=zj_record_new
username: sa username: sa
password: docus@702 password: admin123
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
jpa: jpa:
database: sql_server database: sql_server

Loading…
Cancel
Save