浏览代码

术语集合维护-批量基础术语校验

zhaops 3 年之前
父节点
当前提交
7a2bc35f3c

+ 1 - 0
cdssman-service/src/main/java/com/diagbot/dto/ConceptCollectionMatchDTO.java

@@ -14,4 +14,5 @@ import java.util.List;
 public class ConceptCollectionMatchDTO {
     List<ConceptCollectionBaseVO> matchList;
     List<ConceptCollectionBaseVO> unMatchList;
+    List<ConceptCollectionBaseVO> disableList;
 }

+ 20 - 6
cdssman-service/src/main/java/com/diagbot/facade/KlConceptCollectionFacade.java

@@ -162,12 +162,19 @@ public class KlConceptCollectionFacade {
                 .collect(Collectors.toList());
         List<KlConcept> concepts = klConceptFacade.list(new QueryWrapper<KlConcept>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("status", StatusEnum.Enable.getKey())
+                //.eq("status", StatusEnum.Enable.getKey())
                 .in("id", conceptIds));
 
         if (ListUtil.isEmpty(concepts)) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "基础术语不存在或已禁用");
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "保存失败,基础术语不存在");
+        }
+
+        for (KlConcept concept : concepts) {
+            if (concept.getStatus().equals(StatusEnum.Disable.getKey())) {
+                throw new CommonException(CommonErrorCode.NOT_EXISTS, "保存失败,存在已禁用基础术语");
+            }
         }
+
         List<Long> saveConceptIds = concepts.stream().map(KlConcept::getId).collect(Collectors.toList());
 
         //删除已有记录
@@ -363,27 +370,34 @@ public class KlConceptCollectionFacade {
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("lib_type", conceptCollectionVO.getConceptLibType())
                 .in("lib_name", conceptNames));
-        Map<String, Long> klConceptMap = new HashMap<>();
+        Map<String, KlConcept> klConceptMap = new HashMap<>();
 
         if (ListUtil.isNotEmpty(klConceptList)) {
-            klConceptMap = klConceptList.stream().collect(Collectors.toMap(KlConcept::getLibName, KlConcept::getId));
+            klConceptMap = klConceptList.stream().collect(Collectors.toMap(KlConcept::getLibName, v -> v));
         }
 
         List<ConceptCollectionBaseVO> matchList = Lists.newLinkedList();
         List<ConceptCollectionBaseVO> unMatchList = Lists.newLinkedList();
+        List<ConceptCollectionBaseVO> disableList = Lists.newLinkedList();
         for (String name : conceptNames) {
             ConceptCollectionBaseVO baseVO = new ConceptCollectionBaseVO();
             baseVO.setConceptLibName(name);
             baseVO.setConceptLibType(conceptCollectionVO.getConceptLibType());
             if (klConceptMap.containsKey(name)) {
-                baseVO.setConceptId(klConceptMap.get(name));
-                matchList.add(baseVO);
+                KlConcept baseConcept = klConceptMap.get(name);
+                baseVO.setConceptId(baseConcept.getId());
+                if (baseConcept.getStatus().equals(StatusEnum.Enable.getKey())) {
+                    matchList.add(baseVO);
+                } else {
+                    disableList.add(baseVO);
+                }
             } else {
                 unMatchList.add(baseVO);
             }
         }
         retDTO.setMatchList(matchList);
         retDTO.setUnMatchList(unMatchList);
+        retDTO.setDisableList(disableList);
 
         return retDTO;
     }