From c931abee6f110b8857eb7881fcb598a3cce5bae0 Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Tue, 16 Apr 2024 14:23:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=80=E7=B3=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ann/demo/entity/constant/AliasName.java | 5 + .../demo/entity/constant/InterfaceName.java | 4 + .../demo/entity/constant/WebserviceId.java | 4 + .../entity/interfaceEntity/BloodSugarVo.java | 57 ++++ .../demo/interfaces/HomepageDictionary.java | 2 +- .../impl/HomepageDictionaryImpl.java | 264 +++++++++++++----- .../com/ann/demo/job/SchedulerAllJob.java | 2 +- .../java/com/ann/demo/utils/XMLUtils.java | 12 + src/main/resources/application.yml | 4 +- 9 files changed, 285 insertions(+), 69 deletions(-) create mode 100644 src/main/java/com/ann/demo/entity/interfaceEntity/BloodSugarVo.java diff --git a/src/main/java/com/ann/demo/entity/constant/AliasName.java b/src/main/java/com/ann/demo/entity/constant/AliasName.java index 064c530..5029629 100644 --- a/src/main/java/com/ann/demo/entity/constant/AliasName.java +++ b/src/main/java/com/ann/demo/entity/constant/AliasName.java @@ -47,6 +47,11 @@ public class AliasName { // ICU报告 public static final String ICU_REPORT = "121"; + + + // 血糖报告 + public static final String BloodSugar = "140"; + // 其他类型 目前来说 是手麻系统的其他三个 // public static final String OTHER = "18"; diff --git a/src/main/java/com/ann/demo/entity/constant/InterfaceName.java b/src/main/java/com/ann/demo/entity/constant/InterfaceName.java index 48d1793..adb9dd8 100644 --- a/src/main/java/com/ann/demo/entity/constant/InterfaceName.java +++ b/src/main/java/com/ann/demo/entity/constant/InterfaceName.java @@ -107,6 +107,10 @@ public class InterfaceName { * 护士资料 评估单 体温单 护理单2 */ public static final String NURSE_DATA = "NurseData"; + /** + * 血糖系统 + */ + public static final String Blood_Sugar="血糖系统"; /** * lis系统 diff --git a/src/main/java/com/ann/demo/entity/constant/WebserviceId.java b/src/main/java/com/ann/demo/entity/constant/WebserviceId.java index 2c66195..752a799 100644 --- a/src/main/java/com/ann/demo/entity/constant/WebserviceId.java +++ b/src/main/java/com/ann/demo/entity/constant/WebserviceId.java @@ -102,6 +102,10 @@ public class WebserviceId { * 输血单 */ public static final String BLOODAPPLY_REPORT = "18"; + /** + * 血糖 + */ + public static final String Blood_Sugar="13"; /** * 用户、科室接口 ReceiveDict diff --git a/src/main/java/com/ann/demo/entity/interfaceEntity/BloodSugarVo.java b/src/main/java/com/ann/demo/entity/interfaceEntity/BloodSugarVo.java new file mode 100644 index 0000000..c947136 --- /dev/null +++ b/src/main/java/com/ann/demo/entity/interfaceEntity/BloodSugarVo.java @@ -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; + + +} diff --git a/src/main/java/com/ann/demo/interfaces/HomepageDictionary.java b/src/main/java/com/ann/demo/interfaces/HomepageDictionary.java index 30bea0c..7a1c6ab 100644 --- a/src/main/java/com/ann/demo/interfaces/HomepageDictionary.java +++ b/src/main/java/com/ann/demo/interfaces/HomepageDictionary.java @@ -19,7 +19,7 @@ public interface HomepageDictionary { @WebMethod String BloodTransfusionUrl(@WebParam(name = "xmlStr") String xmlStr); - + String BloodSugar(@WebParam(name = "xmlStr") String xmlStr); // @WebMethod // String NurseData(@WebParam(name = "xmlStr") String xmlStr); // diff --git a/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java b/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java index 888ee89..0a5ba68 100644 --- a/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java +++ b/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java @@ -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; diff --git a/src/main/java/com/ann/demo/job/SchedulerAllJob.java b/src/main/java/com/ann/demo/job/SchedulerAllJob.java index a970f88..5da7648 100644 --- a/src/main/java/com/ann/demo/job/SchedulerAllJob.java +++ b/src/main/java/com/ann/demo/job/SchedulerAllJob.java @@ -30,7 +30,7 @@ public class SchedulerAllJob { private void scheduleJob3(Scheduler scheduler) throws SchedulerException { JobDetail jobDetail = JobBuilder.newJob(ScheduledJob3.class).withIdentity("job3", "group1").build(); - CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/15 * * * * ?"); + CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0 0 0 * * ?"); // 每5分钟执行一次 CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("job3", "group1").withSchedule(scheduleBuilder).build(); scheduler.scheduleJob(jobDetail, cronTrigger); diff --git a/src/main/java/com/ann/demo/utils/XMLUtils.java b/src/main/java/com/ann/demo/utils/XMLUtils.java index 247ac7a..f0e265f 100644 --- a/src/main/java/com/ann/demo/utils/XMLUtils.java +++ b/src/main/java/com/ann/demo/utils/XMLUtils.java @@ -60,6 +60,14 @@ public class XMLUtils { @Value("${file.ICUReportPath}") private String ICUReportPathTemp; + + + @Value("${file.ICUReportPath}") + private String BloodSugarPathTemp; + + //血糖 + public static String BloodSugarPath; + // 输血单 public static String bloodApplyPath; @Value("${file.bloodApplyPath}") @@ -71,6 +79,7 @@ public class XMLUtils { handNumbnessReportPath = handNumbnessReportPathTemp; ICUReportPath = ICUReportPathTemp; bloodApplyPath = bloodApplyPathTemp; + BloodSugarPath=BloodSugarPathTemp; } private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss"); @@ -209,6 +218,9 @@ public class XMLUtils { case InterfaceName.BLOODAPPLY_REPORT: // 输血单 messageDto = new MessageDto(BloodApply.class.getName(), new BloodApply(), AliasName.BLOODAPPLY_REPORT, bloodApplyPath, source); break; + case InterfaceName.Blood_Sugar: //血糖Blood_Sugar + messageDto = new MessageDto(BloodApply.class.getName(), new BloodApply(), AliasName.BloodSugar, BloodSugarPath, source); + break; } return messageDto; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 0b2ef43..a0eb3ab 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -11,9 +11,9 @@ spring: # hibernate: # ddl-auto: update # 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 - password: docus@702 + password: admin123 driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver jpa: database: sql_server