|
@@ -12,13 +12,19 @@ import com.diagbot.enums.LexiconTypeEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
import com.diagbot.service.impl.ConceptServiceImpl;
|
|
|
+import com.diagbot.util.IntegerUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.ParamConvertUtil;
|
|
|
import com.diagbot.vo.ConceptBaseVO;
|
|
|
+import com.diagbot.vo.ConceptSearchVO;
|
|
|
import com.diagbot.vo.ConceptUsualVO;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description:
|
|
@@ -46,13 +52,52 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
return concept;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据名称和词性获取概念Map
|
|
|
+ *
|
|
|
+ * @param conceptSearchVO 搜索参数
|
|
|
+ * @return 术语和术语id Map
|
|
|
+ */
|
|
|
+ public Map<String, Long> getConceptMap(ConceptSearchVO conceptSearchVO) {
|
|
|
+ //入参验证
|
|
|
+ if (ListUtil.isEmpty(conceptSearchVO.getNameList())) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "术语列表不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (IntegerUtil.isNull(conceptSearchVO.getType())) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "类型不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Integer> inputTyps = new ArrayList<>();
|
|
|
+ inputTyps.add(ConceptTypeEnum.Symptom.getKey());
|
|
|
+ inputTyps.add(ConceptTypeEnum.Vital.getKey());
|
|
|
+ inputTyps.add(ConceptTypeEnum.Lis.getKey());
|
|
|
+ inputTyps.add(ConceptTypeEnum.Pacs.getKey());
|
|
|
+
|
|
|
+ if (!inputTyps.contains(conceptSearchVO.getType())) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "类型超出范围");
|
|
|
+ }
|
|
|
+ //获取结构
|
|
|
+ List<Concept> concepts
|
|
|
+ = this.getListByNamesAndType(conceptSearchVO.getNameList(),
|
|
|
+ ParamConvertUtil.conceptConvert2Lib(conceptSearchVO.getType()));
|
|
|
+
|
|
|
+ //出参封装
|
|
|
+ Map<String, Long> map = new HashMap<>();
|
|
|
+ if (ListUtil.isNotEmpty(concepts)) {
|
|
|
+ map = concepts.stream().collect(Collectors.toMap(r -> r.getLibName(), r -> r.getId()));
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据名称和词性获取概念列表
|
|
|
+ *
|
|
|
* @param nameList
|
|
|
* @param libType
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Concept> getListByNamesAndType(List<String> nameList,Integer libType) {
|
|
|
+ public List<Concept> getListByNamesAndType(List<String> nameList, Integer libType) {
|
|
|
QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
|
|
|
conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.in("lib_name", nameList)
|
|
@@ -67,7 +112,7 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
* @param conceptUsualVO
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<ConceptBaseDTO> getConceptUsual(ConceptUsualVO conceptUsualVO){
|
|
|
+ public List<ConceptBaseDTO> getConceptUsual(ConceptUsualVO conceptUsualVO) {
|
|
|
//入参验证
|
|
|
List<Integer> inputTyps = new ArrayList<>();
|
|
|
inputTyps.add(ConceptTypeEnum.Symptom.getKey());
|
|
@@ -75,8 +120,8 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
inputTyps.add(ConceptTypeEnum.Lis.getKey());
|
|
|
inputTyps.add(ConceptTypeEnum.Pacs.getKey());
|
|
|
|
|
|
- if (!inputTyps.contains(conceptUsualVO.getType())){
|
|
|
- throw new CommonException(CommonErrorCode.NOT_EXISTS,"超出范围");
|
|
|
+ if (!inputTyps.contains(conceptUsualVO.getType())) {
|
|
|
+ throw new CommonException(CommonErrorCode.NOT_EXISTS, "超出范围");
|
|
|
}
|
|
|
|
|
|
//获取标签内容
|
|
@@ -92,7 +137,7 @@ public class ConceptFacade extends ConceptServiceImpl {
|
|
|
List<ConceptBaseDTO> list = new ArrayList();
|
|
|
//封装
|
|
|
ConceptBaseDTO conceptBaseDTO = new ConceptBaseDTO();
|
|
|
- for (ConceptWithOrderRes conceptWithOrderRes: concepts) {
|
|
|
+ for (ConceptWithOrderRes conceptWithOrderRes : concepts) {
|
|
|
conceptBaseDTO = new ConceptBaseDTO();
|
|
|
conceptBaseDTO.setConceptId(conceptWithOrderRes.getEndId());
|
|
|
conceptBaseDTO.setName(conceptWithOrderRes.getEndName());
|