|
@@ -3,11 +3,14 @@ package com.diagbot.facade;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.diagbot.client.KnowledgemanServiceClient;
|
|
|
import com.diagbot.client.UserServiceClient;
|
|
|
+import com.diagbot.dto.ConceptBaseDTO;
|
|
|
import com.diagbot.dto.LisMappingPageDTO;
|
|
|
import com.diagbot.dto.RespDTO;
|
|
|
import com.diagbot.entity.LisMapping;
|
|
|
import com.diagbot.entity.QuestionInfo;
|
|
|
+import com.diagbot.enums.ConceptTypeEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.enums.QuestionTypeEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
@@ -16,10 +19,13 @@ import com.diagbot.service.LisMappingService;
|
|
|
import com.diagbot.service.impl.LisMappingServiceImpl;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
+import com.diagbot.util.RespDTOUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
import com.diagbot.util.UserUtils;
|
|
|
import com.diagbot.vo.IdListVO;
|
|
|
import com.diagbot.vo.IdVO;
|
|
|
+import com.diagbot.vo.IndexLexiconVO;
|
|
|
+import com.diagbot.vo.IndexVO;
|
|
|
import com.diagbot.vo.LisMappingPageVO;
|
|
|
import com.diagbot.vo.LisMappingVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -47,6 +53,8 @@ public class LisMappingFacade extends LisMappingServiceImpl {
|
|
|
private CacheFacade cacheFacade;
|
|
|
@Autowired
|
|
|
private QuestionFacade questionFacade;
|
|
|
+ @Autowired
|
|
|
+ private KnowledgemanServiceClient knowledgemanServiceClient;
|
|
|
|
|
|
/**
|
|
|
* 化验公表映射分页信息
|
|
@@ -91,12 +99,40 @@ public class LisMappingFacade extends LisMappingServiceImpl {
|
|
|
}
|
|
|
lisMappingQueryWrapper.and(i -> i.isNull("item_name").or(j -> j.eq("item_name", "")));
|
|
|
} else {
|
|
|
+
|
|
|
String uniqueName = lisMappingVO.getMealName() + "--" + lisMappingVO.getItemName();
|
|
|
if (!uniqueName.equals(lisMappingVO.getUniqueName())) {
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验公表名称不匹配");
|
|
|
}
|
|
|
lisMappingQueryWrapper.eq("item_name", lisMappingVO.getItemName());
|
|
|
}
|
|
|
+
|
|
|
+ //验证医学术语是否存在
|
|
|
+ IndexVO indexVO = new IndexVO();
|
|
|
+ indexVO.setName(lisMappingVO.getMealName());
|
|
|
+ indexVO.setType(ConceptTypeEnum.Lis.getKey());
|
|
|
+ RespDTO<List<ConceptBaseDTO>> listRespDTO = knowledgemanServiceClient.index(indexVO);
|
|
|
+ RespDTOUtil.respNGDeal(listRespDTO, "获取医学术语失败");
|
|
|
+ if (ListUtil.isEmpty(listRespDTO.data)) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验套餐项【" + lisMappingVO.getMealName() + "】术语不存在");
|
|
|
+ }
|
|
|
+ if (StringUtil.isNotBlank(lisMappingVO.getItemName())) {
|
|
|
+ indexVO.setName(lisMappingVO.getItemName());
|
|
|
+ indexVO.setType(ConceptTypeEnum.LisDetail.getKey());
|
|
|
+ RespDTO<List<ConceptBaseDTO>> lisDetailRespDTO = knowledgemanServiceClient.index(indexVO);
|
|
|
+ RespDTOUtil.respNGDeal(lisDetailRespDTO, "获取医学术语失败");
|
|
|
+ if (ListUtil.isEmpty(lisDetailRespDTO.data)) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验明细项【" + lisMappingVO.getItemName() + "】术语不存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ indexVO.setName(lisMappingVO.getUniqueName());
|
|
|
+ indexVO.setType(ConceptTypeEnum.LIS_TABLES.getKey());
|
|
|
+ RespDTO<List<ConceptBaseDTO>> lisTablesRespDTO = knowledgemanServiceClient.index(indexVO);
|
|
|
+ RespDTOUtil.respNGDeal(lisTablesRespDTO, "获取医学术语失败");
|
|
|
+ if (ListUtil.isEmpty(lisTablesRespDTO.data)) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "化验公表项项【" + lisMappingVO.getUniqueName() + "】术语不存在");
|
|
|
+ }
|
|
|
+
|
|
|
List<LisMapping> lisMappingList = this.list(lisMappingQueryWrapper);
|
|
|
if (lisMappingList.size() > 1) {
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "存在多条映射关系,请删除重复映射");
|