|
@@ -7,11 +7,16 @@ package com.diagbot.facade.str;
|
|
**/
|
|
**/
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.diagbot.dto.RespDTO;
|
|
import com.diagbot.dto.RespDTO;
|
|
|
|
+import com.diagbot.entity.MedicalRecord;
|
|
|
|
+import com.diagbot.entity.ModelHospital;
|
|
import com.diagbot.enums.ModeIdEnum;
|
|
import com.diagbot.enums.ModeIdEnum;
|
|
|
|
+import com.diagbot.facade.ModelHospitalFacade;
|
|
import com.diagbot.facade.data.AMedAbnormalInfoFacade;
|
|
import com.diagbot.facade.data.AMedAbnormalInfoFacade;
|
|
import com.diagbot.facade.data.ColumnFacade;
|
|
import com.diagbot.facade.data.ColumnFacade;
|
|
import com.diagbot.vo.str.StrContentVO;
|
|
import com.diagbot.vo.str.StrContentVO;
|
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
@@ -25,6 +30,9 @@ public class BStrContentFacade {
|
|
@Autowired
|
|
@Autowired
|
|
private ColumnFacade columnFacade;
|
|
private ColumnFacade columnFacade;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private ModelHospitalFacade modelHospitalFacade;
|
|
|
|
+
|
|
@Value("${log_switch.enable}")
|
|
@Value("${log_switch.enable}")
|
|
private boolean logSwitch;
|
|
private boolean logSwitch;
|
|
|
|
|
|
@@ -35,6 +43,8 @@ public class BStrContentFacade {
|
|
try{
|
|
try{
|
|
if("".equals(strContentVO.getModelId())){
|
|
if("".equals(strContentVO.getModelId())){
|
|
return RespDTO.onError("请输入模板类型ID!");
|
|
return RespDTO.onError("请输入模板类型ID!");
|
|
|
|
+ }else if(StringUtils.isEmpty(strContentVO.getModelName())){
|
|
|
|
+ return RespDTO.onError("请输入模板类型名称!");
|
|
}else if("".equals(strContentVO.getRecId())) {
|
|
}else if("".equals(strContentVO.getRecId())) {
|
|
return RespDTO.onError("请输入记录编号!");
|
|
return RespDTO.onError("请输入记录编号!");
|
|
}else if(strContentVO.getHospitalId()==null){
|
|
}else if(strContentVO.getHospitalId()==null){
|
|
@@ -42,13 +52,20 @@ public class BStrContentFacade {
|
|
}else if("".equals(strContentVO.getBehospitalCode())){
|
|
}else if("".equals(strContentVO.getBehospitalCode())){
|
|
return RespDTO.onError("请输入病人住院编码!");
|
|
return RespDTO.onError("请输入病人住院编码!");
|
|
}else{
|
|
}else{
|
|
- //是否进行xml、html、json解析为标准结构化
|
|
|
|
- if(xmlAnalyse){
|
|
|
|
- //解析时,调用解析接口
|
|
|
|
- columnFacade.analyseWholeData(strContentVO);
|
|
|
|
|
|
+ //根据医院模板类型ID+名称,初始化modelId,用于区分存到哪张表
|
|
|
|
+ Long modelId=initModeId(strContentVO);
|
|
|
|
+ if(modelId!=0L){
|
|
|
|
+ //是否进行xml、html、json解析为标准结构化
|
|
|
|
+ if(xmlAnalyse){
|
|
|
|
+ //解析时,调用解析接口
|
|
|
|
+ columnFacade.analyseWholeData(strContentVO);
|
|
|
|
+ }else{
|
|
|
|
+ //不解析时,只存储入库
|
|
|
|
+ columnFacade.addWholeData(strContentVO);
|
|
|
|
+ }
|
|
}else{
|
|
}else{
|
|
- //不解析时,只存储入库
|
|
|
|
- columnFacade.addWholeData(strContentVO);
|
|
|
|
|
|
+ //无对应的modelId时,存入对应表中,方便后面追述
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
if(logSwitch){
|
|
if(logSwitch){
|
|
@@ -61,4 +78,30 @@ public class BStrContentFacade {
|
|
return RespDTO.onError("数据处理异常,详情查看日志表");
|
|
return RespDTO.onError("数据处理异常,详情查看日志表");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 初始化模型ID,根据医院模板类型ID及名称,具体逻辑已项目为主
|
|
|
|
+ * @param strContentVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private Long initModeId(StrContentVO strContentVO) {
|
|
|
|
+ Long modelId=0L;
|
|
|
|
+ try{
|
|
|
|
+ QueryWrapper<ModelHospital> wrapper = new QueryWrapper<>();
|
|
|
|
+ wrapper.eq("hospital_id", strContentVO.getHospitalId())
|
|
|
|
+ .eq("hospital_model_name", strContentVO.getModelName())
|
|
|
|
+ .eq("remark", strContentVO.getModelId());
|
|
|
|
+ ModelHospital mode = modelHospitalFacade.getOne(wrapper, false);
|
|
|
|
+ if (mode != null) {
|
|
|
|
+ modelId = mode.getStandModelId();
|
|
|
|
+ } else {
|
|
|
|
+ modelId=0L;
|
|
|
|
+ }
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ modelId=0L;
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return modelId;
|
|
|
|
+ }
|
|
}
|
|
}
|