|
@@ -8,6 +8,7 @@ import com.diagbot.dto.RetrievalDTO;
|
|
|
import com.diagbot.entity.QuestionInfo;
|
|
|
import com.diagbot.enums.ConceptTypeEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.enums.StaticSearchTypeEnum;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.RespDTOUtil;
|
|
@@ -126,13 +127,10 @@ public class RetrievalFacade {
|
|
|
public List<RetrievalDTO> getStaticKnowledge(GetStaticVO getStaticVO) {
|
|
|
GetStaticKnowledgeVO getStaticKnowledgeVO = new GetStaticKnowledgeVO();
|
|
|
BeanUtil.copyProperties(getStaticVO, getStaticKnowledgeVO);
|
|
|
- //标签类型
|
|
|
- List<Integer> typeList = new ArrayList<>();//规定标签类型,只取诊断,化验,辅检,药品类型
|
|
|
- typeList.add(ConceptTypeEnum.Disease.getKey());
|
|
|
- typeList.add(ConceptTypeEnum.Drug.getKey());
|
|
|
- typeList.add(ConceptTypeEnum.Lis.getKey());
|
|
|
- typeList.add(ConceptTypeEnum.Pacs.getKey());
|
|
|
- getStaticKnowledgeVO.setTypes(typeList);
|
|
|
+ //标签类型,只有症状和化验
|
|
|
+ List<Integer> typeList = new ArrayList<>();
|
|
|
+
|
|
|
+ searchTypeToTagType(typeList, getStaticKnowledgeVO);
|
|
|
//调用aipt-service获取有静态知识的标签
|
|
|
RespDTO<List<RetrievalDTO>> retrievalDTOList = aiptServiceClient.getStaticKnowledge(getStaticKnowledgeVO);
|
|
|
RespDTOUtil.respNGDeal(retrievalDTOList, "获取静态知识失败");
|
|
@@ -163,4 +161,36 @@ public class RetrievalFacade {
|
|
|
}
|
|
|
return retrievalDTOList.data;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将词库搜索类型转换成标签类型;如果搜索词库类型为空,添加默认的搜索类型:诊断、药品、症状、化验、辅检、手术
|
|
|
+ *
|
|
|
+ * @param typeList 标签类型
|
|
|
+ * @param getStaticKnowledgeVO 词库搜索对象
|
|
|
+ */
|
|
|
+ public void searchTypeToTagType(List<Integer> typeList, GetStaticKnowledgeVO getStaticKnowledgeVO) {
|
|
|
+ List<Integer> types = getStaticKnowledgeVO.getTypes();
|
|
|
+ if (ListUtil.isEmpty(types)) {
|
|
|
+ // 添加标签类型
|
|
|
+ typeList.add(ConceptTypeEnum.Symptom.getKey());
|
|
|
+ typeList.add(ConceptTypeEnum.Lis.getKey());
|
|
|
+
|
|
|
+ // 添加词库搜索类型
|
|
|
+ types.add(StaticSearchTypeEnum.DIAGNOSIS.getKey());
|
|
|
+ types.add(StaticSearchTypeEnum.DRUGS.getKey());
|
|
|
+ types.add(StaticSearchTypeEnum.SYMPTOM.getKey());
|
|
|
+ types.add(StaticSearchTypeEnum.LIS_PACKAGE.getKey());
|
|
|
+ types.add(StaticSearchTypeEnum.PACS_ITEMS.getKey());
|
|
|
+ types.add(StaticSearchTypeEnum.OPERATION.getKey());
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ for (Integer t : types) {
|
|
|
+ if (StaticSearchTypeEnum.SYMPTOM.getKey() == t.intValue()) {
|
|
|
+ typeList.add(ConceptTypeEnum.Symptom.getKey());
|
|
|
+ } else if (StaticSearchTypeEnum.LIS_PACKAGE.getKey() == t.intValue()) {
|
|
|
+ typeList.add(ConceptTypeEnum.Lis.getKey());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|