diff --git a/src/main/java/com/ann/demo/entity/constant/WebserviceId.java b/src/main/java/com/ann/demo/entity/constant/WebserviceId.java new file mode 100644 index 0000000..2c66195 --- /dev/null +++ b/src/main/java/com/ann/demo/entity/constant/WebserviceId.java @@ -0,0 +1,121 @@ +package com.ann.demo.entity.constant; + +import lombok.Data; + +@Data +public class WebserviceId { + + /** + * V3接口 + */ + public static final String HIP_MESSAGE_SERVER = "HIPMessageServer"; + + /** + * 检查报告参数 + */ + public static final String PARAMETER_REPORT = "1"; + + /** + * 检查申请单 + */ + public static final String PARAMETER_EXAMAPPLY = "2"; + + /** + * 2019-10-21 + * 检查申请单是否开立 + */ + public static final String PARAMETER_EXAMAPPLYSTATECHANGE = "3"; + + /** + * 2020-3-3 + * 检查申请单 是否核收 + */ + public static final String PARAMETER_VERIFICATIONEXAMAPPLY = "4"; + + /** + * 入院参数 + */ + public static final String PARAMETER_ADMISSION = "5"; + /** + * 出院参数 + */ + public static final String PARAMETER_DISCHARGE = "6"; + + /** + * 转科参数 + */ + public static final String PARAMETER_TRANSFER = "7"; + + /** + * 取消入院 + */ + public static final String PARAMETER_CANCELLATION_DISCHARGE = "8"; + + /** + * 患者更新 + */ + public static final String PARAMETER_PATIENT_UPDATE = "9"; + + /** + * lis系统 + */ + public static final String INSPECTION_REPORT_NAME = "10"; + + /** + * 2019-12-23 + * 检验申请单 + */ + public static final String PARAMETER_INSPECTIONAPPLY = "11"; + + /** + * 2020-2-28 + * 检体核收 + */ + public static final String PARAMETER_VERIFICATIONINSPECTIONAPPLY = "12"; + + /** + * 医生资料 病案首页 病历文书 + */ + public static final String DOCTOR_DATA = "13"; + + /** + * 护士资料 评估单 体温单 护理单2 + */ + public static final String NURSE_DATA = "14"; + + /** + * 病案首页 + */ + public static final String INP_SUMMARY = "15"; + + /** + * 手麻报告 + */ + public static final String HANDNUMBNESS_REPORT = "16"; + + /** + * 重症ICU报告 + */ + public static final String ICU_REPORT = "17"; + + /** + * 输血单 + */ + public static final String BLOODAPPLY_REPORT = "18"; + + /** + * 用户、科室接口 ReceiveDict + */ + public static final String RECEIVE_DICT = "19"; + + /** + * 20200609主管医生 + */ + public static final String BED_MANAGER = "20"; + + /** + * 20200609死亡信息 + */ + public static final String DIE_MEDICAL_ADVICE = "21"; + +} diff --git a/src/main/java/com/ann/demo/entity/interfaceEntity/MessageLog.java b/src/main/java/com/ann/demo/entity/interfaceEntity/MessageLog.java index 66cfb88..ec8fd31 100644 --- a/src/main/java/com/ann/demo/entity/interfaceEntity/MessageLog.java +++ b/src/main/java/com/ann/demo/entity/interfaceEntity/MessageLog.java @@ -85,24 +85,29 @@ public class MessageLog { */ private Long xmlExecutionTime; -// /* -// * 患者id -// * */ -// private String masterId; - + /* + * 患者id + * */ + private String masterId; + /* + * 2020-3-20 新增webserviceInfo + * */ + private String webserviceInfo; // ---------------------------时间怎么变成了毫秒数 - public MessageLog(String inputContent, String interfaceName, Date createTime) { + public MessageLog(String inputContent, String interfaceName, Date createTime,String webserviceInfo) { this.inputContent = inputContent; this.interfaceName = interfaceName; this.createTime = createTime; + this.webserviceInfo = webserviceInfo; } public MessageLog() { } - public void setValue(String outContent, Integer result, String outJson, Date xmlCreateTime, Long executionTime, Date endTime, String type,String remark) { + public void setValue(String masterId,String outContent, Integer result, String outJson, Date xmlCreateTime, Long executionTime, Date endTime, String type,String remark) { + this.masterId = masterId; this.outContent = outContent; this.result = result; this.outJson = outJson; @@ -113,10 +118,4 @@ public class MessageLog { this.remark = remark; } - public void setValue1(String outContent, Integer result, Long executionTime, Date endTime) { - this.outContent = outContent; - this.result = result; - this.executionTime = executionTime; - this.endTime = endTime; - } } 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 655ed42..0ea7fcf 100644 --- a/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java +++ b/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java @@ -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.constant.WebserviceId; import com.ann.demo.entity.filing.ArchiveDetail; import com.ann.demo.entity.filing.MessageSubordinate; import com.ann.demo.entity.filing.dto.MessageDto; @@ -53,18 +54,19 @@ public class HomepageDictionaryImpl implements HomepageDictionary { // 1、定义变量 boolean flag = false; Integer result = 0; - String type = "", patientMainStr = null,remark = null; + String type = "", patientMainStr = null,remark = null,masterId = null; ArchiveMaster archiveMaster ; long startTime = System.currentTimeMillis(); Date xmlCreateTime = null; - MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.NURSE_DATA, new Date()); + MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.NURSE_DATA, new Date(), WebserviceId.NURSE_DATA); messageService.save(messageLog); // 2、 解析 MessageDto messageDto = XMLUtils.xpathToBean(xmlStr, EMRData.class, InterfaceName.NURSE_DATA); if (messageDto != null) { archiveMaster = archiveMasterRepository.findByInpNoAndVisitIdAndIsValid(messageDto.getInpNo(),messageDto.getVisitId(),0); if(archiveMaster != null){ + masterId = archiveMaster.getId(); // 区分类型 String reportType = messageDto.getType(); if (reportType != null) { @@ -82,8 +84,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary { } messageDto.setType(type); } - if(! (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档") || - archiveMaster.getArchiveState().equals("复审退回") )){ + if(! (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档"))){ String addFlag = messageDto.getAddFlag(); if(Objects.equals(addFlag,"delete") || Objects.equals(addFlag,"update") || Objects.equals(addFlag,"insert")){ if(Objects.equals(messageDto.getIsOld(),"0")){ @@ -117,7 +118,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary { remark = "该病历已"+archiveMaster.getArchiveState()+",不再接收"; } } - // 保存消息从属表 + // 保存消息从属表xmlCreateTime xmlCreateTime = messageDto.getXmlCreateTime(); }else{ remark = "没有入院消息"; @@ -136,7 +137,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary { outContent = AnalysisService.getReturnResult(flag,remark); // 更新日志表 long endTime = System.currentTimeMillis(); - messageLog.setValue(outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type,remark); + messageLog.setValue(masterId,outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type,remark); messageService.save(messageLog); if( remark == null && flag){ messageSubordinateService.save(new MessageSubordinate(messageLog.getId(), patientMainStr, JSON.toJSONString(messageLog))); @@ -160,17 +161,18 @@ public class HomepageDictionaryImpl implements HomepageDictionary { // 1、定义变量 boolean flag = false; Integer result = 0; - String type = "", patientMainStr = null,remark = null; + String type = "", patientMainStr = null,remark = null,masterId = null; ArchiveMaster archiveMaster ; long startTime = System.currentTimeMillis(); Date xmlCreateTime = null; - MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.DOCTOR_DATA, new Date()); + MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.DOCTOR_DATA, new Date(),WebserviceId.DOCTOR_DATA); messageService.save(messageLog); // 2、 解析 MessageDto messageDto = XMLUtils.xpathToBean(xmlStr, EMRData.class, InterfaceName.DOCTOR_DATA); if (messageDto != null) { archiveMaster = archiveMasterRepository.findByInpNoAndVisitIdAndIsValid(messageDto.getInpNo(),messageDto.getVisitId(),0); if(archiveMaster != null) { + masterId = archiveMaster.getId(); // 区分类型 String reportType = messageDto.getType(); if (reportType != null) { @@ -190,8 +192,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary { messageDto.setType(type); } - if(! (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档") || - archiveMaster.getArchiveState().equals("复审退回") )){ + if(! (archiveMaster.getArchiveState().equals("初审") || archiveMaster.getArchiveState().equals("已归档") )){ String addFlag = messageDto.getAddFlag(); if(Objects.equals(addFlag,"delete") || Objects.equals(addFlag,"update") || Objects.equals(addFlag,"insert")){ if(Objects.equals(messageDto.getIsOld(),"0")){ @@ -258,7 +259,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary { outContent = AnalysisService.getReturnResult(flag,remark); // 更新日志表 long endTime = System.currentTimeMillis(); - messageLog.setValue(outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type,remark); + messageLog.setValue(masterId,outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type,remark); messageService.save(messageLog); if( remark == null && flag){ messageSubordinateService.save(new MessageSubordinate(messageLog.getId(), patientMainStr, JSON.toJSONString(messageLog))); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 36d3aec..6ac6710 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -11,7 +11,7 @@ spring: # hibernate: # ddl-auto: update # database-platform: org.hibernate.dialect.MySQL5InnoDBDialect - # url: jdbc:sqlserver://120.27.212.36:1433;DatabaseName=emr_record + # url: jdbc:sqlserver://120.27.212.36:1433;DatabaseName=emr_record url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY username: sa password: docus@702