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/filing/dto/MessageDto.java b/src/main/java/com/ann/demo/entity/filing/dto/MessageDto.java index 0167f8f..dd29f33 100644 --- a/src/main/java/com/ann/demo/entity/filing/dto/MessageDto.java +++ b/src/main/java/com/ann/demo/entity/filing/dto/MessageDto.java @@ -54,7 +54,6 @@ public class MessageDto { // 2019-11-28 新增三级标题 private String detailType; - public MessageDto() { } 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 506078a..1af9fe9 100644 --- a/src/main/java/com/ann/demo/entity/interfaceEntity/MessageLog.java +++ b/src/main/java/com/ann/demo/entity/interfaceEntity/MessageLog.java @@ -84,24 +84,30 @@ public class MessageLog { * xml执行时间 */ private Long xmlExecutionTime; -// -// /* -// * 2020-3-20 新增masterId -// * */ -// 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; @@ -112,15 +118,15 @@ public class MessageLog { this.remark = remark; } - public void setValue(String outContent, Integer result, String outJson, Date xmlCreateTime, Long executionTime, Date endTime, String type) { - this.outContent = outContent; - this.result = result; - this.outJson = outJson; - this.xmlCreateTime = xmlCreateTime; - this.executionTime = executionTime; - this.endTime = endTime; - this.type = type; - } +// public void setValue(String outContent, Integer result, String outJson, Date xmlCreateTime, Long executionTime, Date endTime, String type) { +// this.outContent = outContent; +// this.result = result; +// this.outJson = outJson; +// this.xmlCreateTime = xmlCreateTime; +// this.executionTime = executionTime; +// this.endTime = endTime; +// this.type = type; +// } public void setValue1(String outContent, Integer result, Long executionTime, Date endTime) { this.outContent = outContent; 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 f881348..7b8ec56 100644 --- a/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java +++ b/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.serializer.SerializerFeature; import com.ann.demo.entity.constant.AliasName; import com.ann.demo.entity.constant.Identification; 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; @@ -50,84 +51,106 @@ public class HomepageDictionaryImpl implements HomepageDictionary { @Autowired private ArchiveDetailService archiveDetailService; + @Autowired + private ArchiveMasterService archiveMasterService; + + @Autowired ExamApplyService examApplyService; @Override public String HIPMessageServer(String action, String message) { - String result = ""; - try { - if (action != null && message != null && !(message.equals("") && action.equals(""))) { - switch (action) { - case InterfaceName.PARAMETER_ADMISSION: - // 入院 - result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_ADMISSION); - break; - case InterfaceName.PARAMETER_DISCHARGE: - // 出院 - result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_DISCHARGE); - break; - case InterfaceName.PARAMETER_TRANSFER: - // 转科 - result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_TRANSFER); - break; - case InterfaceName.PARAMETER_CANCELLATION_DISCHARGE: - // 取消入院 - result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_CANCELLATION_DISCHARGE); - break; - case InterfaceName.PARAMETER_PATIENT_UPDATE: - // 患者信息更新 - result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_PATIENT_UPDATE); - break; - } - } - }catch (Exception e){ - return ""; - } +// String result = ""; +// try { +// if (action != null && message != null && !(message.equals("") && action.equals(""))) { +// switch (action) { +// case InterfaceName.PARAMETER_ADMISSION: +// // 入院 +// result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_ADMISSION); +// break; +// case InterfaceName.PARAMETER_DISCHARGE: +// // 出院 +// result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_DISCHARGE); +// break; +// case InterfaceName.PARAMETER_TRANSFER: +// // 转科 +// result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_TRANSFER); +// break; +// case InterfaceName.PARAMETER_CANCELLATION_DISCHARGE: +// // 取消入院 +// result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_CANCELLATION_DISCHARGE); +// break; +// case InterfaceName.PARAMETER_PATIENT_UPDATE: +// // 患者信息更新 +// result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_PATIENT_UPDATE); +// break; +// } +// } +// }catch (Exception e){ +// return ""; +// } // ---------------------------------------这里捕捉 参数为空 - return result; +// return result; + return null; } @Override public String InpSummary(String xmlStr) { String outContent = "失败"; + String remark = null; + String masterId = null; try { // 1、定义变量 long startTime = System.currentTimeMillis(); boolean flag = false; Integer result = 0; Date xmlCreateTime = null; - MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.INP_SUMMARY, new Date()); + MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.INP_SUMMARY, new Date(),WebserviceId.INP_SUMMARY); MedicalRecordHomepageCache medicalRecordHomepageCache = null; - // if(messageService.countByInputContentAndInterfaceName(xmlStr,InterfaceName.INP_SUMMARY) == 0){ messageService.save(messageLog); // 2、 解析 MedicalRecordHomepage medicalRecordHomepage = XMLUtils.xmlStrToObject1(xmlStr, MedicalRecordHomepage.class); if (medicalRecordHomepage != null) { - medicalRecordHomepageCache = medicalRecordHomepageCacheService.handleMedicalRecordHomepageCache(medicalRecordHomepage); - if (medicalRecordHomepageCache != null) { - if (medicalRecordHomepageCacheService.save(medicalRecordHomepageCache)) { - flag = true; - result = 1; - } else { - messageLog.setRemark("已保存"); + 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); + if (medicalRecordHomepageCache != null) { + if (medicalRecordHomepageCacheService.save(medicalRecordHomepageCache)) { + flag = true; + result = 1; + } else { + remark = "病案首页缓存保存出错"; + } + } else { + remark = "构建病案首页缓存出错"; + } + }else{ + remark = "患者ID或者住院次数为空"; + } + }else{ + remark = "没有入院信息"; } }else{ - messageLog.setRemark("没有入院信息。。。"); + remark = "解析公共表失败"; } }else{ - messageLog.setRemark("消息解析错误。。。"); + remark = "消息解析错误"; } - outContent = AnalysisService.getReturnResult(flag); + messageLog.setRemark(remark); + outContent = AnalysisService.getReturnResult(flag,remark); // 更新日志表 long endTime = System.currentTimeMillis(); - messageLog.setValue(outContent, result, medicalRecordHomepageCache == null ? null : JSON.toJSONString(medicalRecordHomepageCache), xmlCreateTime, (endTime - startTime), new Date(), AliasName.MEDICAL_RECORD_HOMEPAGE); + 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){ try { - outContent = AnalysisService.getReturnResult(false); + outContent = AnalysisService.getReturnResult(false,remark); logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]); } catch (Exception ex) { logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,ex,ex.getStackTrace()[0]); @@ -139,6 +162,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary { @Override public String handNumbnessReport(String xmlStr) { String outContent = null; + String remark = null; try { // 手麻系统 判断消息是否传过 存入消息 然后解析消息 然后存到附属表 // 1、定义变量 @@ -147,7 +171,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary { String type = "", patientMainStr = null,archiveMasterId = null; long startTime = System.currentTimeMillis(); Date xmlCreateTime = null; - MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.HANDNUMBNESS_REPORT, new Date()); + MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.HANDNUMBNESS_REPORT, new Date(),WebserviceId.HANDNUMBNESS_REPORT); messageService.save(messageLog); // 2、 解析 @@ -155,30 +179,26 @@ public class HomepageDictionaryImpl implements HomepageDictionary { if (messageDto != null) { archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId()); if(archiveMasterId != null){ + messageLog.setMasterId(archiveMasterId); // 保存消息从属表 patientMainStr = JSON.toJSONString(new PatientMainDto(messageDto.getInpNo(), messageDto.getVisitId()), SerializerFeature.WriteMapNullValue); - //if (messageDto.getType().equals("麻醉单")) { - type = AliasName.HANDNUMBNESS_REPORT; - // } else { - // type = AliasName.OTHER; - // } - messageDto.setType(type); result = 1; flag = true; + type = messageDto.getType(); xmlCreateTime = messageDto.getXmlCreateTime(); }else{ - messageLog.setRemark("没有入院消息。。"); + remark = "没有入院消息"; } } else { - messageLog.setRemark("传过来的消息无法解析。。"); + remark = "传过来的消息无法解析"; } // 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(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))); @@ -186,7 +206,7 @@ public class HomepageDictionaryImpl implements HomepageDictionary { logger.info("-----------------------麻醉记录单总用时长:" + (endTime - startTime) + "-------------------------"); }catch (Exception e){ try { - outContent = AnalysisService.getReturnResult(false); + outContent = AnalysisService.getReturnResult(false,remark); logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]); } catch (Exception ex) { logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,ex,ex.getStackTrace()[0]); @@ -198,70 +218,71 @@ public class HomepageDictionaryImpl implements HomepageDictionary { @Override public String ICUReport(String xmlStr) { String outContent = "失败"; + 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,remark = null; + String type = "", patientMainStr = null,archiveMasterId = null; Date xmlCreateTime = null; - MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.ICU_REPORT, new Date()); 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){ + 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"; + } -// String addFlag = messageDto.getAddFlag(); -// //做增删改 增删新增从属 删除不新增 -// 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"; -// } - - // 保存消息从属表 - patientMainStr = JSON.toJSONString(new PatientMainDto(messageDto.getInpNo(), messageDto.getVisitId()), SerializerFeature.WriteMapNullValue); xmlCreateTime = messageDto.getXmlCreateTime(); - result = 1; type = messageDto.getType(); - flag = true; }else{ - messageLog.setRemark("没有入院消息。。"); + remark = "没有入院消息"; } } else { - messageLog.setRemark("传过来的消息无法解析。。"); + remark = "传过来的消息无法解析"; } - // 4、判断是否成功 失败 的原因 我们插入报错 然后无法解析xml 传入参数为null - outContent = AnalysisService.getReturnResult(flag); - // 更新日志表 + + 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(outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type); + messageLog.setValue(archiveMasterId,outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type,remark); + // 4、更新消息表 messageService.save(messageLog); - - if (flag) { + // 5、根据条件插入消息从属表 + if (remark == null && flag) { messageSubordinateService.save(new MessageSubordinate(messageLog.getId(), patientMainStr, JSON.toJSONString(messageLog))); } - logger.info("-----------------------ICU报告总用时长:" + (endTime - startTime) + "-------------------------"); }catch (Exception e){ try { - outContent = AnalysisService.getReturnResult(false); - logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]); + outContent = AnalysisService.getReturnResult(false,remark); + logger.error("出错咯!消息id为{},错误信息为{},以及错误行数为:{}" ,messageLog.getId(),e,e.getStackTrace()[0]); } catch (Exception ex) { - logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,ex,ex.getStackTrace()[0]); + logger.error("出错咯!消息id为{},错误信息为{},以及错误行数为:{}" ,messageLog.getId(),e,e.getStackTrace()[0]); } } return outContent; @@ -270,15 +291,16 @@ public class HomepageDictionaryImpl implements HomepageDictionary { @Override public String BloodTransfusionUrl(String xmlStr) { String outContent = "失败"; + String remark = null; try { // 1、定义变量 boolean flag = false; Integer result = 0; String type = ""; - String patientMainStr = null, remark = 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()); + MessageLog messageLog = new MessageLog(xmlStr, InterfaceName.BLOODAPPLY_REPORT, new Date(),WebserviceId.BLOODAPPLY_REPORT); messageService.save(messageLog); // 2、 解析 @@ -286,8 +308,6 @@ public class HomepageDictionaryImpl implements HomepageDictionary { if (messageDto != null) { archiveMasterId = messageService.getArchiveMasterId(messageDto.getInpNo(), messageDto.getVisitId()); if(archiveMasterId != null){ - - // 判断是否作废 if (Objects.equals(messageDto.getAddFlag(), "DELETE")) { remark = archiveDetailService.updateFlag(messageDto.getApplyId()); @@ -297,34 +317,31 @@ public class HomepageDictionaryImpl implements HomepageDictionary { patientMainStr = JSON.toJSONString(patientMainDto, SerializerFeature.WriteMapNullValue); } - if (remark != null) { - messageLog.setRemark(remark); - } else { + if (remark == null) { result = 1; flag = true; } }else{ - messageLog.setRemark("没有入院消息。。"); + remark = "没有入院消息"; } xmlCreateTime = messageDto.getXmlCreateTime(); type = messageDto.getType(); } else { - messageLog.setRemark("传过来的消息无法解析。。"); + remark = "传过来的消息无法解析"; } - 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(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){ try { logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]); - return AnalysisService.getReturnResult(false); + return AnalysisService.getReturnResult(false,remark); } catch (Exception e1) { logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e1,e1.getStackTrace()[0]); } diff --git a/src/main/java/com/ann/demo/repository/ArchiveDetailRepository.java b/src/main/java/com/ann/demo/repository/ArchiveDetailRepository.java index 4b16cd8..4d648b5 100644 --- a/src/main/java/com/ann/demo/repository/ArchiveDetailRepository.java +++ b/src/main/java/com/ann/demo/repository/ArchiveDetailRepository.java @@ -19,10 +19,17 @@ public interface ArchiveDetailRepository extends JpaRepository 0) { - if (Objects.equals(examApply.getResult(), "delete")) { - if (!examApplyService.updateExamApplyIsValid(examApply.getApplyId())) { - textContent = "检查申请单删除失败了"; - } - } else { - textContent = "已经存在申请单了"; - } - } else { - if (Objects.equals(examApply.getResult(), "new")) { - // 转换 - if (examApply.getReportType() != null) { - switch (examApply.getReportType()) { - case "病理": - examApply.setReportType(AliasName.PATHOLOGY_REPORT); - break; - case "超声": - examApply.setReportType(AliasName.ULTRASONIC_REPORT); - break; - case "心电": - examApply.setReportType(AliasName.EKG_REPORT); - break; - case "放射": - examApply.setReportType(AliasName.RADIATION_REPORT); - break; - } - } - - examApplyService.save(examApply); - } else { - textContent = "该申请单不存在:" + examApply.getApplyId(); - } - } - return textContent; - } - - private String changeApply(ExamApply examApply) { - String textContent = null; - ExamApply examApplyTemp = examApplyService.findExamApply(examApply.getApplyId()); - if(examApplyTemp != null){ - if (Objects.equals(examApply.getResult(), "delete")) { - if (!examApplyService.updateExamApplyIsValid(examApply.getApplyId())) { - textContent = "申请单删除失败了"; - } - }else if (Objects.equals(examApply.getIsOpen(), "F")) { - examApplyTemp.setIsValid(1); - examApplyTemp.setIsOpen("F"); - examApplyService.save(examApplyTemp); - }else { - textContent = "该申请单已存在"; - } - }else{ - if (Objects.equals(examApply.getResult(), "new")) { - if (examApply.getReportType() != null) { - switch (examApply.getReportType()) { - case "病理": - examApply.setReportType(AliasName.PATHOLOGY_REPORT); - break; - case "超声": - examApply.setReportType(AliasName.ULTRASONIC_REPORT); - break; - case "心电": - examApply.setReportType(AliasName.EKG_REPORT); - break; - case "放射": - examApply.setReportType(AliasName.RADIATION_REPORT); - break; - default: - examApply.setReportType(AliasName.INSPECTION_REPORT); - break; - } - } - examApplyService.save(examApply); - } else { - textContent = "该申请单不存在"; - } - } - return textContent; - } - - public static String getReturnResult(boolean resultCode) throws Exception{ + public static String getReturnResult(boolean resultCode,String remark) throws Exception{ OutPara outPara = new OutPara(); if (!resultCode) { outPara.setRESULT_CODE(false); - outPara.setRESULT_CONTENT("失败"); + outPara.setRESULT_CONTENT(remark); } else { outPara.setRESULT_CODE(true); outPara.setRESULT_CONTENT("成功"); @@ -228,27 +60,4 @@ public class AnalysisService { return XMLUtils.generateXmlStr(outPara); } - - public void delete() { - try { - String type = "", patientMainStr = "", json = ""; - MessageDto messageDto = null; - System.out.println("我开始查询数据了。。。。"); - List messageLogs = messageService.findAllMessage(); - for (MessageLog messageLog : messageLogs) { - MedicalRecordHomepage medicalRecordHomepage = XMLUtils.xmlStrToObject1(messageLog.getInputContent(), MedicalRecordHomepage.class); - if (medicalRecordHomepage != null) { - MedicalRecordHomepageCache medicalRecordHomepageCache = medicalRecordHomepageCacheService.handleMedicalRecordHomepageCache(medicalRecordHomepage); - if (medicalRecordHomepageCache != null) { - if (medicalRecordHomepageCacheService.save(medicalRecordHomepageCache)) { - } - } - } - } - }catch (Exception e){ - - } - } - - } diff --git a/src/main/java/com/ann/demo/service/ArchiveDetailService.java b/src/main/java/com/ann/demo/service/ArchiveDetailService.java index 779fcd3..3f3f301 100644 --- a/src/main/java/com/ann/demo/service/ArchiveDetailService.java +++ b/src/main/java/com/ann/demo/service/ArchiveDetailService.java @@ -11,6 +11,7 @@ public interface ArchiveDetailService { public String updateFlag(String applyId); + boolean delete(String id); - // ArchiveDetail isExit(String archiveMasterId, String type, String source, String applyId); + ArchiveDetail isExit(String archiveMasterId, String type, String source, String applyId); } diff --git a/src/main/java/com/ann/demo/service/MedicalRecordHomepageCacheService.java b/src/main/java/com/ann/demo/service/MedicalRecordHomepageCacheService.java index 318d4d1..47a9e5e 100644 --- a/src/main/java/com/ann/demo/service/MedicalRecordHomepageCacheService.java +++ b/src/main/java/com/ann/demo/service/MedicalRecordHomepageCacheService.java @@ -15,6 +15,6 @@ public interface MedicalRecordHomepageCacheService { void delete(String masterId) throws Exception; - public MedicalRecordHomepageCache handleMedicalRecordHomepageCache(MedicalRecordHomepage medicalRecordHomepage) throws Exception; + public MedicalRecordHomepageCache handleMedicalRecordHomepageCache(String masterId,MedicalRecordHomepage medicalRecordHomepage) throws Exception; } diff --git a/src/main/java/com/ann/demo/service/impl/ArchiveDetailServiceImpl.java b/src/main/java/com/ann/demo/service/impl/ArchiveDetailServiceImpl.java index 04b7ee7..7934943 100644 --- a/src/main/java/com/ann/demo/service/impl/ArchiveDetailServiceImpl.java +++ b/src/main/java/com/ann/demo/service/impl/ArchiveDetailServiceImpl.java @@ -1,5 +1,6 @@ package com.ann.demo.service.impl; +import com.ann.demo.entity.filing.ArchiveDetail; import com.ann.demo.entity.filing.dto.MessageDto; import com.ann.demo.entity.interfaceEntity.ArchiveMaster; import com.ann.demo.repository.ArchiveDetailRepository; @@ -37,4 +38,18 @@ public class ArchiveDetailServiceImpl implements ArchiveDetailService { return "applyId不存在。。。。"; } } + + @Override + public ArchiveDetail isExit(String id, String type, String source, String applyId) { + if (archiveDetailRepository.countByMasterIDAndAssortIDAndSourceAndApplyId(id, type, source, applyId) > 0) + return archiveDetailRepository.findByMasterIDAndAssortIDAndSourceAndApplyIdAndFlag(id, type, source, applyId,"0"); + return null; + } + + @Override + public boolean delete(String id) { + if(archiveDetailRepository.updateFlagById(id) > 0) + return true; + return false; + } } diff --git a/src/main/java/com/ann/demo/service/impl/MedicalRecordHomepageCacheServiceImpl.java b/src/main/java/com/ann/demo/service/impl/MedicalRecordHomepageCacheServiceImpl.java index 6ec823d..b820e8a 100644 --- a/src/main/java/com/ann/demo/service/impl/MedicalRecordHomepageCacheServiceImpl.java +++ b/src/main/java/com/ann/demo/service/impl/MedicalRecordHomepageCacheServiceImpl.java @@ -69,86 +69,77 @@ public class MedicalRecordHomepageCacheServiceImpl implements MedicalRecordHomep } @Override - public MedicalRecordHomepageCache handleMedicalRecordHomepageCache(MedicalRecordHomepage medicalRecordHomepage) throws Exception{ + public MedicalRecordHomepageCache handleMedicalRecordHomepageCache(String masterId,MedicalRecordHomepage medicalRecordHomepage) throws Exception{ // 查询主键 姓名简写 是否手术 是否过敏药物 - String masterId = null; MedicalRecordHomepageCache medicalRecordHomepageCache = null; CommonTable commonTable = medicalRecordHomepage.getCommonTable(); if (commonTable != null) { - if (commonTable.getYZY002() != null && commonTable.getYZY001() != null) { - ArchiveMaster archiveMaster = archiveMasterService.findByPatientIdAndVisitIdAndIsValid(commonTable.getYZY001(), commonTable.getYZY002()); - if (archiveMaster != null) { - masterId = archiveMaster.getId(); - if (masterId != null) { - List operDetails = medicalRecordHomepage.getOperDetails(); - List diagDetails = medicalRecordHomepage.getDiagDetails(); - CommonTable1 commonTable1 = medicalRecordHomepage.getCommonTable1(); - - if (commonTable1 != null) { - // 处理公共表 - commonTable.setMasterId(masterId); - // 将 患者id 赋值给 病案号 - commonTable.setInpatient_no(commonTable.getYZY001()); - if (operDetails != null) { - if (operDetails.size() > 0) { - commonTable.setIsOper("有"); - } else { - commonTable.setIsOper("没有"); - } - } else { - commonTable.setIsOper("没有"); - } - if (commonTable.getAAC003() != null) { - commonTable.setNameCym(PinYinUtils.getPingYin(commonTable.getAAC003())); - } - String akc023 = commonTable.getAKC023(); - if (akc023 != null) { - if (akc023.indexOf("岁") != -1) { - commonTable.setAge(Integer.parseInt(akc023.substring(0, akc023.indexOf("岁")))); - } else if (akc023.indexOf("月") != -1 && akc023.indexOf("岁") == -1) { - commonTable.setAge_month(Integer.parseInt(akc023.substring(0, akc023.indexOf("月")))); - } else if (akc023.indexOf("天") != -1 && akc023.indexOf("岁") == -1 && akc023.indexOf("月") == -1) { - commonTable.setAge_day(Integer.parseInt(akc023.substring(0, akc023.indexOf("天")))); - } - } - - // 处理公共表1 - if (commonTable1.getYZY046() != null) { - commonTable1.setIs_medicine("是"); - } else { - commonTable1.setIs_medicine("否"); - } - commonTable1.setMasterId(masterId); - - - // 保存手术表 - if (operDetails != null) { - for (OperDetail operDetail : operDetails) { - operDetail.setMasterId(masterId); - } - } - // 诊断表 - if (diagDetails != null) { - for (DiagDetail diagDetail : diagDetails) { - diagDetail.setMasterId(masterId); - // 20200528 取出院诊断的主要诊断 - if(Objects.equals(diagDetail.getYZY203(),"3") && Objects.equals(diagDetail.getYZY201(),1) ){ - medicalRecordHomepage.getOtherData().setMainDiagCode(diagDetail.getAKC196()); - commonTable.setMainDiagName(diagDetail.getAKC185()); - } - } - } - - medicalRecordHomepage.setCommonTable(commonTable); - medicalRecordHomepage.setCommonTable1(commonTable1); - medicalRecordHomepage.setDiagDetails(diagDetails); - medicalRecordHomepage.setOperDetails(operDetails); - - medicalRecordHomepageCache = new MedicalRecordHomepageCache(masterId, JSON.toJSONString(medicalRecordHomepage)); - return medicalRecordHomepageCache; + List operDetails = medicalRecordHomepage.getOperDetails(); + List diagDetails = medicalRecordHomepage.getDiagDetails(); + CommonTable1 commonTable1 = medicalRecordHomepage.getCommonTable1(); + + if (commonTable1 != null) { + // 处理公共表 + commonTable.setMasterId(masterId); + // 将 患者id 赋值给 病案号 + commonTable.setInpatient_no(commonTable.getYZY001()); + if (operDetails != null) { + if (operDetails.size() > 0) { + commonTable.setIsOper("有"); + } else { + commonTable.setIsOper("没有"); + } + } else { + commonTable.setIsOper("没有"); + } + if (commonTable.getAAC003() != null) { + commonTable.setNameCym(PinYinUtils.getPingYin(commonTable.getAAC003())); + } + String akc023 = commonTable.getAKC023(); + if (akc023 != null) { + if (akc023.indexOf("岁") != -1) { + commonTable.setAge(Integer.parseInt(akc023.substring(0, akc023.indexOf("岁")))); + } else if (akc023.indexOf("月") != -1 && akc023.indexOf("岁") == -1) { + commonTable.setAge_month(Integer.parseInt(akc023.substring(0, akc023.indexOf("月")))); + } else if (akc023.indexOf("天") != -1 && akc023.indexOf("岁") == -1 && akc023.indexOf("月") == -1) { + commonTable.setAge_day(Integer.parseInt(akc023.substring(0, akc023.indexOf("天")))); + } + } + + // 处理公共表1 + if (commonTable1.getYZY046() != null) { + commonTable1.setIs_medicine("是"); + } else { + commonTable1.setIs_medicine("否"); + } + commonTable1.setMasterId(masterId); + + + // 保存手术表 + if (operDetails != null) { + for (OperDetail operDetail : operDetails) { + operDetail.setMasterId(masterId); + } + } + // 诊断表 + if (diagDetails != null) { + for (DiagDetail diagDetail : diagDetails) { + diagDetail.setMasterId(masterId); + // 20200528 取出院诊断的主要诊断 + if(Objects.equals(diagDetail.getYZY203(),"3") && Objects.equals(diagDetail.getYZY201(),1) ){ + medicalRecordHomepage.getOtherData().setMainDiagCode(diagDetail.getAKC196()); + commonTable.setMainDiagName(diagDetail.getAKC185()); } } } + + medicalRecordHomepage.setCommonTable(commonTable); + medicalRecordHomepage.setCommonTable1(commonTable1); + medicalRecordHomepage.setDiagDetails(diagDetails); + medicalRecordHomepage.setOperDetails(operDetails); + + medicalRecordHomepageCache = new MedicalRecordHomepageCache(masterId, JSON.toJSONString(medicalRecordHomepage)); + return medicalRecordHomepageCache; } } return null;